> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# AcpHal

> AcpHal

# AcpHal

## 接口

| 接口                                                            | 描述            |
| ------------------------------------------------------------- | ------------- |
| [IAcpHal](/reference/audio/acphal/interfaces/IAcpHal/iacphal) | 允许与 ACP 进行交互。 |

## 函数

| 函数                                                                                           | 描述                     |
| -------------------------------------------------------------------------------------------- | ---------------------- |
| [AcpHalAllocateShapeContexts](/reference/audio/acphal/functions/acphalallocateshapecontexts) | 为 SHAPE 和 XMA 分配上下文数组。 |
| [AcpHalCreate](/reference/audio/acphal/functions/acphalcreate)                               | 创建 ACP 接口的实例。          |
| [AcpHalReleaseShapeContexts](/reference/audio/acphal/functions/acphalreleaseshapecontexts)   | 释放 SHAPE 和 XMA 上下文数组。  |

## 结构体

| 结构体                                                                                                                                             | 描述                                       |
| ----------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------- |
| [ACP\_COMMAND\_ENABLE\_OR\_DISABLE\_XMA\_CONTEXT](/reference/audio/acphal/structs/acp_command_enable_or_disable_xma_context)                    | 启用或禁用某个 XMA 上下文的命令。                      |
| [ACP\_COMMAND\_ENABLE\_OR\_DISABLE\_XMA\_CONTEXTS](/reference/audio/acphal/structs/acp_command_enable_or_disable_xma_contexts)                  | 启用或禁用一系列 XMA 上下文的命令。                     |
| [ACP\_COMMAND\_INCREMENT\_DMA\_POINTER](/reference/audio/acphal/structs/acp_command_increment_dma_pointer)                                      | 更新 DMA 读或写指针的命令。                         |
| [ACP\_COMMAND\_INCREMENT\_PCM\_WRITE\_POINTER](/reference/audio/acphal/structs/acp_command_increment_pcm_write_pointer)                         | 更新 PCM 写指针的命令。                           |
| [ACP\_COMMAND\_INCREMENT\_XMA\_WRITE\_BUFFER\_OFFSET\_READ](/reference/audio/acphal/structs/acp_command_increment_xma_write_buffer_offset_read) | 递增 SHAPE\_XMA\_CONTEXT 结构体输出缓冲区的读取偏移量。   |
| [ACP\_COMMAND\_LOAD\_SHAPE\_FLOWGRAPH](/reference/audio/acphal/structs/acp_command_load_shape_flowgraph)                                        | 加载流程图(flowgraph)的命令。                     |
| [ACP\_COMMAND\_MESSAGE](/reference/audio/acphal/structs/acp_command_message)                                                                    | 注册或注销一个或多个命令消息。                          |
| [ACP\_COMMAND\_UPDATE\_ALL\_CONTEXTS](/reference/audio/acphal/structs/acp_command_update_all_contexts)                                          | 更新所有 SHAPE 上下文类型的数组的命令。                  |
| [ACP\_COMMAND\_UPDATE\_CONTEXTS](/reference/audio/acphal/structs/acp_command_update_contexts)                                                   | 更新单个 SHAPE 上下文类型数组的命令。                   |
| [ACP\_COMMAND\_UPDATE\_DMA\_CONTEXT](/reference/audio/acphal/structs/acp_command_update_dma_context)                                            | 更新 DMA 上下文的命令。                           |
| [ACP\_COMMAND\_UPDATE\_DMA\_READ\_CONTEXT\_ENTRY](/reference/audio/acphal/structs/acp_command_update_dma_read_context_entry)                    | 用于更新从混音缓冲区读取的 SHAPE\_DMA\_CONTEXT 的条目。   |
| [ACP\_COMMAND\_UPDATE\_DMA\_WRITE\_CONTEXT\_ENTRY](/reference/audio/acphal/structs/acp_command_update_dma_write_context_entry)                  | 用于更新写入混音缓冲区的 SHAPE\_DMA\_CONTEXT 的条目。    |
| [ACP\_COMMAND\_UPDATE\_EQCOMP\_CONTEXT](/reference/audio/acphal/structs/acp_command_update_eqcomp_context)                                      | 更新 EQ/Comp 上下文的命令。                       |
| [ACP\_COMMAND\_UPDATE\_EQCOMP\_CONTEXT\_ENTRY](/reference/audio/acphal/structs/acp_command_update_eqcomp_context_entry)                         | 用于更新 SHAPE\_EQCOMP\_CONTEXT 的条目。         |
| [ACP\_COMMAND\_UPDATE\_FILTVOL\_CONTEXT](/reference/audio/acphal/structs/acp_command_update_filtvol_context)                                    | 更新 Filter/Volume 上下文的命令。                 |
| [ACP\_COMMAND\_UPDATE\_FILTVOL\_CONTEXT\_ENTRY](/reference/audio/acphal/structs/acp_command_update_filtvol_context_entry)                       | 用于更新 SHAPE\_FILTVOL\_CONTEXT 的条目。        |
| [ACP\_COMMAND\_UPDATE\_PCM\_CONTEXT](/reference/audio/acphal/structs/acp_command_update_pcm_context)                                            | 更新 PCM 上下文的命令。                           |
| [ACP\_COMMAND\_UPDATE\_PCM\_CONTEXT\_ENTRY](/reference/audio/acphal/structs/acp_command_update_pcm_context_entry)                               | 用于更新 SHAPE\_PCM\_CONTEXT 的条目。            |
| [ACP\_COMMAND\_UPDATE\_SRC\_CONTEXT](/reference/audio/acphal/structs/acp_command_update_src_context)                                            | 更新 SRC 上下文的命令。                           |
| [ACP\_COMMAND\_UPDATE\_SRC\_CONTEXT\_ENTRY](/reference/audio/acphal/structs/acp_command_update_src_context_entry)                               | 用于更新 SHAPE\_SRC\_CONTEXT 的条目。            |
| [ACP\_COMMAND\_UPDATE\_XMA\_CONTEXT](/reference/audio/acphal/structs/acp_command_update_xma_context)                                            | 更新 XMA 上下文的命令。                           |
| [ACP\_COMMAND\_UPDATE\_XMA\_CONTEXT\_ENTRY](/reference/audio/acphal/structs/acp_command_update_xma_context_entry)                               | 用于更新 SHAPE\_XMA\_CONTEXT 的条目。            |
| [ACP\_COMMAND\_UPDATE\_XMA\_READ\_BUFFER](/reference/audio/acphal/structs/acp_command_update_xma_read_buffer)                                   | 更新 SHAPE\_XMA\_CONTEXT 中流式传输编码数据所需的所有元素。 |
| [ACP\_MESSAGE](/reference/audio/acphal/structs/acp_message)                                                                                     | 来自 ACP 的消息。                              |
| [ACP\_MESSAGE\_AUDIO\_FRAME\_START](/reference/audio/acphal/structs/acp_message_audio_frame_start)                                              | 音频帧起始消息。                                 |
| [ACP\_MESSAGE\_COMMAND\_COMPLETED](/reference/audio/acphal/structs/acp_message_command_completed)                                               | 某个 ACP 命令已完成。                            |
| [ACP\_MESSAGE\_ERROR](/reference/audio/acphal/structs/acp_message_error)                                                                        | 来自 ACP 的错误消息。                            |
| [ACP\_MESSAGE\_FLOWGRAPH\_COMPLETED](/reference/audio/acphal/structs/acp_message_flowgraph_completed)                                           | 流程图完成消息。                                 |
| [ACP\_MESSAGE\_FLOWGRAPH\_TERMINATED](/reference/audio/acphal/structs/acp_message_flowgraph_terminated)                                         | 流程图终止消息。                                 |
| [ACP\_MESSAGE\_SHAPE\_COMMAND\_BLOCKED](/reference/audio/acphal/structs/acp_message_shape_command_blocked)                                      | SHAPE 命令(SRC 或 DMA)上下文被阻塞。               |
| [SHAPE\_CONTEXTS](/reference/audio/acphal/structs/shape_contexts)                                                                               | SHAPE 上下文数据。                             |
| [SHARED\_SHAPE\_CONTEXTS](/reference/audio/acphal/structs/shared_shape_contexts)                                                                | 在与 XAudio2 共享 SHAPE 和 XMA 资源时使用此结构体。     |

## 枚举

| 枚举                                                                                                  | 描述                                 |
| --------------------------------------------------------------------------------------------------- | ---------------------------------- |
| [ACP\_COMMAND\_TYPE](/reference/audio/acphal/enums/acp_command_type)                                | 枚举 ACP 命令类型。                       |
| [ACP\_FLOWGRAPH\_TERMINATED\_REASON](/reference/audio/acphal/enums/acp_flowgraph_terminated_reason) | 流程图处理被终止的原因。                       |
| [ACP\_MESSAGE\_TYPE](/reference/audio/acphal/enums/acp_message_type)                                | 枚举 ACP 消息类型。                       |
| [ACP\_SUBMIT\_COMMAND\_TYPE](/reference/audio/acphal/enums/acp_submit_command_type)                 | 指示在返回之前是否检查将要提交的命令以及所有过去的命令是否都已完成。 |


## Related topics

- [AcpHalCreate](/zh-CN/reference/audio/acphal/functions/acphalcreate.md)
- [IAcpHal::Connect](/zh-CN/reference/audio/acphal/interfaces/IAcpHal/methods/iacphal_connect.md)
- [IAcpHal::Disconnect](/zh-CN/reference/audio/acphal/interfaces/IAcpHal/methods/iacphal_disconnect.md)
- [AcpHalAllocateShapeContexts](/zh-CN/reference/audio/acphal/functions/acphalallocateshapecontexts.md)
- [AcpHalReleaseShapeContexts](/zh-CN/reference/audio/acphal/functions/acphalreleaseshapecontexts.md)
