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

# SHAPE_CONTEXTS

> SHAPE_CONTEXTS

# SHAPE\_CONTEXTS

可伸缩硬件音频处理引擎(Scalable Hardware Audio Processing Engine,SHAPE)的上下文数据。

## 语法

```cpp theme={null}
typedef struct SHAPE_CONTEXTS {  
    UINT32 numSrcContexts;  
    UINT32 numEqCompContexts;  
    UINT32 numFiltVolContexts;  
    UINT32 numDmaContexts;  
    UINT32 numXmaContexts;  
    UINT32 numPcmContexts;  
    SHAPE_SRC_CONTEXT* srcContextArray;  
    SHAPE_EQCOMP_CONTEXT* eqCompContextArray;  
    SHAPE_FILTVOL_CONTEXT* filtVolContextArray;  
    SHAPE_DMA_CONTEXT* dmaContextArray;  
    SHAPE_XMA_CONTEXT* xmaContextArray;  
    SHAPE_PCM_CONTEXT* pcmContextArray;  
    APU_ADDRESS apuSrcContextArray;  
    APU_ADDRESS apuEqCompContextArray;  
    APU_ADDRESS apuFiltVolContextArray;  
    APU_ADDRESS apuDmaContextArray;  
    APU_ADDRESS apuXmaContextArray;  
    APU_ADDRESS apuPcmContextArray;  
} SHAPE_CONTEXTS  
```

### 成员

*numSrcContexts*\
类型:UINT32

要分配的采样率转换器(Sample Rate Convertor,SRC)上下文的数量。

*numEqCompContexts*\
类型:UINT32

要分配的 EQ/Comp 上下文的数量。

*numFiltVolContexts*\
类型:UINT32

要分配的 Filter/Volume 上下文的数量。

*numDmaContexts*\
类型:UINT32

要分配的直接内存访问(Direct Memory Access,DMA)上下文的数量。

*numXmaContexts*\
类型:UINT32

要分配的 XBOX Media Audio(XMA)上下文的数量。

*numPcmContexts*\
类型:UINT32

要分配的脉冲编码调制(PCM)上下文的数量。

*srcContextArray*\
类型:SHAPE\_SRC\_CONTEXT\*

SRC 上下文数组。

*eqCompContextArray*\
类型:SHAPE\_EQCOMP\_CONTEXT\*

EQ/Comp 上下文数组。

*filtVolContextArray*\
类型:SHAPE\_FILTVOL\_CONTEXT\*

Filter/Volume 上下文数组。

*dmaContextArray*\
类型:SHAPE\_DMA\_CONTEXT\*

DMA 上下文数组。

*xmaContextArray*\
类型:SHAPE\_XMA\_CONTEXT\*

XMA 上下文数组。

*pcmContextArray*\
类型:SHAPE\_PCM\_CONTEXT\*

PCM 上下文数组。

*apuSrcContextArray*\
类型:APU\_ADDRESS

SRC 上下文数组的物理地址。

*apuEqCompContextArray*\
类型:APU\_ADDRESS

EQ/Comp 上下文数组的物理地址。

*apuFiltVolContextArray*\
类型:APU\_ADDRESS

Filter/Volume 上下文数组的物理地址。

*apuDmaContextArray*\
类型:APU\_ADDRESS

DMA 上下文数组的物理地址。

*apuXmaContextArray*\
类型:APU\_ADDRESS

XMA 上下文数组的物理地址。

*apuPcmContextArray*\
类型:APU\_ADDRESS

PCM 上下文数组的物理地址。

## 备注

此结构体由 [AcpHalAllocateShapeContexts](https://docs.xbox.com/zh-CN/reference/audio/acphal/functions/acphalallocateshapecontexts.md) 函数使用。该结构体指定新上下文数组的大小,并包含由该函数返回的已分配数组。

请参阅以下结构体:

* [SHAPE\_DMA\_CONTEXT](https://docs.xbox.com/zh-CN/reference/audio/shapedmacontext/structs/shape_dma_context.md)
* [SHAPE\_EQCOMP\_CONTEXT](https://docs.xbox.com/zh-CN/reference/audio/shapeeqcompcontext/structs/shape_eqcomp_context.md)
* [SHAPE\_FILTVOL\_CONTEXT](https://docs.xbox.com/zh-CN/reference/audio/shapefiltvolcontext/structs/shape_filtvol_context.md)
* [SHAPE\_PCM\_CONTEXT](https://docs.xbox.com/zh-CN/reference/audio/shapepcmcontext/structs/shape_pcm_context.md)
* [SHAPE\_SRC\_CONTEXT](https://docs.xbox.com/zh-CN/reference/audio/shapesrccontext/structs/shape_src_context.md)
* [SHAPE\_XMA\_CONTEXT](https://docs.xbox.com/zh-CN/reference/audio/shapexmacontext/structs/shape_xma_context.md)

## 要求

**头文件:** acphal.h

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

## 另请参阅

[AcpHalAllocateShapeContexts](https://docs.xbox.com/zh-CN/reference/audio/acphal/functions/acphalallocateshapecontexts.md)\
[AcpHal](https://docs.xbox.com/zh-CN/reference/audio/acphal/acphal_members.md)


## Related topics

- [SHARED_SHAPE_CONTEXTS](https://docs.xbox.com/zh-CN/reference/audio/acphal/structs/shared_shape_contexts.md)
- [AcpHalAllocateShapeContexts](https://docs.xbox.com/zh-CN/reference/audio/acphal/functions/acphalallocateshapecontexts.md)
- [AcpHal](https://docs.xbox.com/zh-CN/reference/audio/acphal/acphal_members.md)
- [ShapeContexts](https://docs.xbox.com/zh-CN/reference/audio/shapecontexts/shapecontexts_members.md)
- [ShapePeakMagnitudeToDecibel](https://docs.xbox.com/zh-CN/reference/audio/shapecontexts/functions/shapepeakmagnitudetodecibel.md)
