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

# ACP_MESSAGE

> ACP_MESSAGE

Message from the ACP.

## Syntax

```cpp theme={null}
typedef struct ACP_MESSAGE {  
    UINT32 type;  
    UINT32 droppedMessageCount;  
    UINT32 usec;  
    union  
    {  
        ACP_MESSAGE_AUDIO_FRAME_START audioFrameStart;  
        ACP_MESSAGE_FLOWGRAPH_COMPLETED flowgraphCompleted;  
        ACP_MESSAGE_SHAPE_COMMAND_BLOCKED shapeCommandBlocked;  
        ACP_MESSAGE_COMMAND_COMPLETED commandCompleted;  
        ACP_MESSAGE_FLOWGRAPH_TERMINATED flowgraphTerminated;  
        ACP_MESSAGE_ERROR error;  
    };  
} ACP_MESSAGE  
```

### Members

*type*\
Type: UINT32

Message type; see [ACP\_MESSAGE\_TYPE](https://docs.xbox.com/reference/audio/acphal/enums/acp_message_type.md).

*droppedMessageCount*\
Type: UINT32

Count of messages dropped prior to this message.

*usec*\
Type: UINT32

The time this message was constructed.

*audioFrameStart*\
Type: [ACP\_MESSAGE\_AUDIO\_FRAME\_START](https://docs.xbox.com/reference/audio/acphal/structs/acp_message_audio_frame_start.md)

An [ACP\_MESSAGE\_AUDIO\_FRAME\_START](https://docs.xbox.com/reference/audio/acphal/structs/acp_message_audio_frame_start.md) message.

*flowgraphCompleted*\
Type: [ACP\_MESSAGE\_FLOWGRAPH\_COMPLETED](https://docs.xbox.com/reference/audio/acphal/structs/acp_message_flowgraph_completed.md)

An [ACP\_MESSAGE\_FLOWGRAPH\_COMPLETED](https://docs.xbox.com/reference/audio/acphal/structs/acp_message_flowgraph_completed.md) message.

*shapeCommandBlocked*\
Type: [ACP\_MESSAGE\_SHAPE\_COMMAND\_BLOCKED](https://docs.xbox.com/reference/audio/acphal/structs/acp_message_shape_command_blocked.md)

An [ACP\_MESSAGE\_SHAPE\_COMMAND\_BLOCKED](https://docs.xbox.com/reference/audio/acphal/structs/acp_message_shape_command_blocked.md) message.

*commandCompleted*\
Type: [ACP\_MESSAGE\_COMMAND\_COMPLETED](https://docs.xbox.com/reference/audio/acphal/structs/acp_message_command_completed.md)

An [ACP\_MESSAGE\_COMMAND\_COMPLETED](https://docs.xbox.com/reference/audio/acphal/structs/acp_message_command_completed.md) message.

*flowgraphTerminated*\
Type: [ACP\_MESSAGE\_FLOWGRAPH\_TERMINATED](https://docs.xbox.com/reference/audio/acphal/structs/acp_message_flowgraph_terminated.md)

An [ACP\_MESSAGE\_FLOWGRAPH\_TERMINATED](https://docs.xbox.com/reference/audio/acphal/structs/acp_message_flowgraph_terminated.md) message.

*error*\
Type: [ACP\_MESSAGE\_ERROR](https://docs.xbox.com/reference/audio/acphal/structs/acp_message_error.md)

An [ACP\_MESSAGE\_ERROR](https://docs.xbox.com/reference/audio/acphal/structs/acp_message_error.md) message.

## Remarks

To determine the type of the message, examine the *type* member.

To determine the number of messages in the message queue, use the [GetNumMessages](https://docs.xbox.com/reference/audio/acphal/interfaces/IAcpHal/methods/iacphal_getnummessages.md) method. To obtain the oldest message from the queue, use the [PopMessage](https://docs.xbox.com/reference/audio/acphal/interfaces/IAcpHal/methods/iacphal_popmessage.md) method.

## Requirements

**Header:** acphal.h

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

## See also

[ACP\_MESSAGE\_TYPE](https://docs.xbox.com/reference/audio/acphal/enums/acp_message_type.md)\
[GetNumMessages](https://docs.xbox.com/reference/audio/acphal/interfaces/IAcpHal/methods/iacphal_getnummessages.md)\
[PopMessage](https://docs.xbox.com/reference/audio/acphal/interfaces/IAcpHal/methods/iacphal_popmessage.md)\
[AcpHal](https://docs.xbox.com/reference/audio/acphal/acphal_members.md)


## Related topics

- [ACP_MESSAGE_TYPE](https://docs.xbox.com/reference/audio/acphal/enums/acp_message_type.md)
- [IAcpHal::PopMessage](https://docs.xbox.com/reference/audio/acphal/interfaces/IAcpHal/methods/iacphal_popmessage.md)
- [Overview of SHAPE](https://docs.xbox.com/build/console-features/audio/overviews/shape-overview.md)
- [SHAPE audio flowgraph construction best practices](https://docs.xbox.com/build/console-features/audio/overviews/best-practices-audio-flowgraph-construction.md)
- [AcpHal](https://docs.xbox.com/reference/audio/acphal/acphal_members.md)
