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

# ACP_COMMAND_ENABLE_OR_DISABLE_XMA_CONTEXTS

> ACP_COMMAND_ENABLE_OR_DISABLE_XMA_CONTEXTS

# ACP\_COMMAND\_ENABLE\_OR\_DISABLE\_XMA\_CONTEXTS

用于启用或禁用一系列 XMA 上下文的命令。

## 语法

```cpp theme={null}
typedef struct ACP_COMMAND_ENABLE_OR_DISABLE_XMA_CONTEXTS {  
    UINT32 context[SHAPE_NUM_XMA_CONTEXT_BITFIELDS];  
} ACP_COMMAND_ENABLE_OR_DISABLE_XMA_CONTEXTS  
```

### 成员

*context*\
类型：UINT32\[SHAPE\_NUM\_XMA\_CONTEXT\_BITFIELDS]

上下文的位域，其中数组元素 = context / 32，掩码 = 1 \<\< (context % 32)。

## 备注

如果发出命令 `ACP_COMMAND_TYPE_DISABLE_XMA_CONTEXTS`，则会在所有 XMA 上下文都被禁用且解码器不再处理任何上下文之后发送 `ACP_MESSAGE_TYPE_COMMAND_COMPLETED` 消息。这意味着在收到“命令已完成”消息时，游戏可以自由修改上下文结构。

之所以在解码器禁用上下文之后（而不是仅在上下文被标记为禁用之后）才发送“命令已完成”消息，是因为 XMA 解码器可能正在对该上下文执行无法中断的操作。此行为与 XBOX 360 上的行为相同。

如果整个上下文数组已初始化为零，请使用以下代码为每个上下文索引设置位：

`context[contextIndex >> SHAPE_XMA_CONTEXT_INDEX_SHIFT] |= 1 << (contextIndex & SHAPE_XMA_CONTEXT_BIT_MASK);`

## 要求

**标头：** acphal.h

**支持的平台：** XBOX One 系列主机和 XBOX Series 主机

## 另请参阅

[ACP\_COMMAND\_TYPE](/zh-CN/reference/audio/acphal/enums/acp_command_type)\
[SubmitCommand](/zh-CN/reference/audio/acphal/interfaces/IAcpHal/methods/iacphal_submitcommand)\
[AcpHal](/zh-CN/reference/audio/acphal/acphal_members)


## Related topics

- [ACP_COMMAND_ENABLE_OR_DISABLE_XMA_CONTEXT](/zh-CN/reference/audio/acphal/structs/acp_command_enable_or_disable_xma_context.md)
- [ACP_COMMAND_TYPE](/zh-CN/reference/audio/acphal/enums/acp_command_type.md)
- [AcpHal](/zh-CN/reference/audio/acphal/acphal_members.md)
- [ACP_COMMAND_UPDATE_XMA_CONTEXT](/zh-CN/reference/audio/acphal/structs/acp_command_update_xma_context.md)
- [ACP_COMMAND_UPDATE_XMA_CONTEXT_ENTRY](/zh-CN/reference/audio/acphal/structs/acp_command_update_xma_context_entry.md)
