> ## 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.

# AcpHalCreate

> AcpHalCreate

# AcpHalCreate

Creates an instance of the Audio Control Processor (ACP) interface.

## Syntax

```cpp theme={null}
HRESULT AcpHalCreate(  
         IAcpHal** acp  
)  
```

### Parameters

*acp*   \_Outptr\_\
Type: IAcpHal\*\*

An instance of the ACP interface.

### Return value

Type: HRESULT

If the method succeeds, it returns `S_OK`. If the method fails, it returns one of the following codes (partial list):

| Return code    | Description                   |
| -------------- | ----------------------------- |
| E\_OUTOFMEMORY | Memory allocation has failed. |

## Remarks

This call creates an ACP client, which can process one flowgraph at a time. If multiple flowgraphs are to be processed simultaneously, create multiple clients.

Any contexts to be used with an ACP client must be allocated with [AcpHalAllocateShapeContexts](/reference/audio/acphal/functions/acphalallocateshapecontexts) before calling [AcpHalCreate](/reference/audio/acphal/functions/acphalcreate).

## Requirements

**Header:** acphal.h

**Library:** acphal.lib

**Supported platforms:** XBOX One family consoles and XBOX Series consoles

## See also

[AcpHal](/reference/audio/acphal/acphal_members)


## Related topics

- [IAcpHal](/reference/audio/acphal/interfaces/IAcpHal/iacphal.md)
- [AcpHal](/reference/audio/acphal/acphal_members.md)
- [AcpHalAllocateShapeContexts](/reference/audio/acphal/functions/acphalallocateshapecontexts.md)
- [IAcpHal::Connect](/reference/audio/acphal/interfaces/IAcpHal/methods/iacphal_connect.md)
- [ACP_MESSAGE_ERROR](/reference/audio/acphal/structs/acp_message_error.md)
