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

# AcpHal

> AcpHal

## Interfaces

| Interface | Description |
| - | - |
| [IAcpHal](https://docs.xbox.com/reference/audio/acphal/interfaces/IAcpHal/iacphal.md) | Allows interaction with the ACP. |

## Functions

| Function | Description |
| - | - |
| [AcpHalAllocateShapeContexts](https://docs.xbox.com/reference/audio/acphal/functions/acphalallocateshapecontexts.md) | Allocates context arrays for SHAPE and XMA. |
| [AcpHalCreate](https://docs.xbox.com/reference/audio/acphal/functions/acphalcreate.md) | Creates an instance of the ACP interface. |
| [AcpHalReleaseShapeContexts](https://docs.xbox.com/reference/audio/acphal/functions/acphalreleaseshapecontexts.md) | Releases SHAPE and XMA context arrays. |

## Structures

| Structure | Description |
| - | - |
| [ACP\_COMMAND\_ENABLE\_OR\_DISABLE\_XMA\_CONTEXT](https://docs.xbox.com/reference/audio/acphal/structs/acp_command_enable_or_disable_xma_context.md) | Command for enabling or disabling an XMA context. |
| [ACP\_COMMAND\_ENABLE\_OR\_DISABLE\_XMA\_CONTEXTS](https://docs.xbox.com/reference/audio/acphal/structs/acp_command_enable_or_disable_xma_contexts.md) | Command for enabling or disabling a series of XMA contexts. |
| [ACP\_COMMAND\_INCREMENT\_DMA\_POINTER](https://docs.xbox.com/reference/audio/acphal/structs/acp_command_increment_dma_pointer.md) | Command for updating a DMA read or write pointer. |
| [ACP\_COMMAND\_INCREMENT\_PCM\_WRITE\_POINTER](https://docs.xbox.com/reference/audio/acphal/structs/acp_command_increment_pcm_write_pointer.md) | Command for updating a PCM write pointer. |
| [ACP\_COMMAND\_INCREMENT\_XMA\_WRITE\_BUFFER\_OFFSET\_READ](https://docs.xbox.com/reference/audio/acphal/structs/acp_command_increment_xma_write_buffer_offset_read.md) | Increments the read offset of the output buffer of a SHAPE\_XMA\_CONTEXT structure. |
| [ACP\_COMMAND\_LOAD\_SHAPE\_FLOWGRAPH](https://docs.xbox.com/reference/audio/acphal/structs/acp_command_load_shape_flowgraph.md) | Command for loading a flowgraph. |
| [ACP\_COMMAND\_MESSAGE](https://docs.xbox.com/reference/audio/acphal/structs/acp_command_message.md) | Registers or unregisters one or more command messages. |
| [ACP\_COMMAND\_UPDATE\_ALL\_CONTEXTS](https://docs.xbox.com/reference/audio/acphal/structs/acp_command_update_all_contexts.md) | Command for updating arrays of all SHAPE context types. |
| [ACP\_COMMAND\_UPDATE\_CONTEXTS](https://docs.xbox.com/reference/audio/acphal/structs/acp_command_update_contexts.md) | Command for updating an array of a single SHAPE context type. |
| [ACP\_COMMAND\_UPDATE\_DMA\_CONTEXT](https://docs.xbox.com/reference/audio/acphal/structs/acp_command_update_dma_context.md) | Command for updating a DMA context. |
| [ACP\_COMMAND\_UPDATE\_DMA\_READ\_CONTEXT\_ENTRY](https://docs.xbox.com/reference/audio/acphal/structs/acp_command_update_dma_read_context_entry.md) | Entry for updating a SHAPE\_DMA\_CONTEXT that reads from a mix buffer. |
| [ACP\_COMMAND\_UPDATE\_DMA\_WRITE\_CONTEXT\_ENTRY](https://docs.xbox.com/reference/audio/acphal/structs/acp_command_update_dma_write_context_entry.md) | Entry for updating a SHAPE\_DMA\_CONTEXT that writes to a mix buffer. |
| [ACP\_COMMAND\_UPDATE\_EQCOMP\_CONTEXT](https://docs.xbox.com/reference/audio/acphal/structs/acp_command_update_eqcomp_context.md) | Command for updating an EQ/Comp context. |
| [ACP\_COMMAND\_UPDATE\_EQCOMP\_CONTEXT\_ENTRY](https://docs.xbox.com/reference/audio/acphal/structs/acp_command_update_eqcomp_context_entry.md) | Entry for updating SHAPE\_EQCOMP\_CONTEXT. |
| [ACP\_COMMAND\_UPDATE\_FILTVOL\_CONTEXT](https://docs.xbox.com/reference/audio/acphal/structs/acp_command_update_filtvol_context.md) | Command for updating a Filter/Volume context. |
| [ACP\_COMMAND\_UPDATE\_FILTVOL\_CONTEXT\_ENTRY](https://docs.xbox.com/reference/audio/acphal/structs/acp_command_update_filtvol_context_entry.md) | Entry for updating SHAPE\_FILTVOL\_CONTEXT. |
| [ACP\_COMMAND\_UPDATE\_PCM\_CONTEXT](https://docs.xbox.com/reference/audio/acphal/structs/acp_command_update_pcm_context.md) | Command for updating a PCM context. |
| [ACP\_COMMAND\_UPDATE\_PCM\_CONTEXT\_ENTRY](https://docs.xbox.com/reference/audio/acphal/structs/acp_command_update_pcm_context_entry.md) | Entry for updating a SHAPE\_PCM\_CONTEXT. |
| [ACP\_COMMAND\_UPDATE\_SRC\_CONTEXT](https://docs.xbox.com/reference/audio/acphal/structs/acp_command_update_src_context.md) | Command for updating an SRC context. |
| [ACP\_COMMAND\_UPDATE\_SRC\_CONTEXT\_ENTRY](https://docs.xbox.com/reference/audio/acphal/structs/acp_command_update_src_context_entry.md) | Entry for updating SHAPE\_SRC\_CONTEXT. |
| [ACP\_COMMAND\_UPDATE\_XMA\_CONTEXT](https://docs.xbox.com/reference/audio/acphal/structs/acp_command_update_xma_context.md) | Command for updating an XMA context. |
| [ACP\_COMMAND\_UPDATE\_XMA\_CONTEXT\_ENTRY](https://docs.xbox.com/reference/audio/acphal/structs/acp_command_update_xma_context_entry.md) | Entry for updating a SHAPE\_XMA\_CONTEXT. |
| [ACP\_COMMAND\_UPDATE\_XMA\_READ\_BUFFER](https://docs.xbox.com/reference/audio/acphal/structs/acp_command_update_xma_read_buffer.md) | Updates all the elements of a SHAPE\_XMA\_CONTEXT required for streaming encoded data. |
| [ACP\_MESSAGE](https://docs.xbox.com/reference/audio/acphal/structs/acp_message.md) | Message from the ACP. |
| [ACP\_MESSAGE\_AUDIO\_FRAME\_START](https://docs.xbox.com/reference/audio/acphal/structs/acp_message_audio_frame_start.md) | Audio frame start message. |
| [ACP\_MESSAGE\_COMMAND\_COMPLETED](https://docs.xbox.com/reference/audio/acphal/structs/acp_message_command_completed.md) | An ACP command has completed. |
| [ACP\_MESSAGE\_ERROR](https://docs.xbox.com/reference/audio/acphal/structs/acp_message_error.md) | Error message from the ACP. |
| [ACP\_MESSAGE\_FLOWGRAPH\_COMPLETED](https://docs.xbox.com/reference/audio/acphal/structs/acp_message_flowgraph_completed.md) | Flowgraph completed message. |
| [ACP\_MESSAGE\_FLOWGRAPH\_TERMINATED](https://docs.xbox.com/reference/audio/acphal/structs/acp_message_flowgraph_terminated.md) | Flowgraph terminated message. |
| [ACP\_MESSAGE\_SHAPE\_COMMAND\_BLOCKED](https://docs.xbox.com/reference/audio/acphal/structs/acp_message_shape_command_blocked.md) | SHAPE command (SRC or DMA) context is blocked. |
| [SHAPE\_CONTEXTS](https://docs.xbox.com/reference/audio/acphal/structs/shape_contexts.md) | SHAPE context data. |
| [SHARED\_SHAPE\_CONTEXTS](https://docs.xbox.com/reference/audio/acphal/structs/shared_shape_contexts.md) | This structure is used when sharing SHAPE and XMA resources with XAudio2. |

## Enumerations

| Enumeration | Description |
| - | - |
| [ACP\_COMMAND\_TYPE](https://docs.xbox.com/reference/audio/acphal/enums/acp_command_type.md) | Enumerates the ACP command types. |
| [ACP\_FLOWGRAPH\_TERMINATED\_REASON](https://docs.xbox.com/reference/audio/acphal/enums/acp_flowgraph_terminated_reason.md) | The reasons flowgraph processing was terminated. |
| [ACP\_MESSAGE\_TYPE](https://docs.xbox.com/reference/audio/acphal/enums/acp_message_type.md) | Enumerates the ACP message types. |
| [ACP\_SUBMIT\_COMMAND\_TYPE](https://docs.xbox.com/reference/audio/acphal/enums/acp_submit_command_type.md) | Indicates whether to check the command to be submitted and all past commands are completed before returning. |


## Related topics

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