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

# SHAPE_DMA_CONTEXT

> SHAPE_DMA_CONTEXT

# SHAPE\_DMA\_CONTEXT

直接記憶體存取 (DMA) 內容結構。

## 語法

```cpp theme={null}
typedef struct SHAPE_DMA_CONTEXT {  
    UINT32 timestamp : 21;
    UINT32 reserved0 : 3;
    UINT32 mixBufPeakMag : 4;
    UINT32 peakMag : 4;
    UINT32 readPointer : 5;
    UINT32 reserved1 : 3;
    UINT32 writePointer : 5;
    UINT32 reserved2 : 3;
    UINT32 full : 1;
    UINT32 reserved3 : 15;
    UINT32 reserved4 : 9;
    UINT32 address : 23;
    UINT32 numFrames : 5;
    UINT32 reserved5 : 3;
    UINT32 floatConvert : 1;
    UINT32 reserved6 : 7;
    UINT32 numChannels : 3;
    UINT32 reserved7 : 5;
    UINT32 channel : 3;
    UINT32 reserved8 : 5;
} SHAPE_DMA_CONTEXT  
```

### 成員

*timestamp*\
類型: UINT32

讀取: 內容處理完成的時間戳記。

*reserved0*\
類型: UINT32

保留。

*mixBufPeakMag*\
類型: UINT32

讀取: 輸出混音緩衝區的峰值大小。

*peakMag*\
類型: UINT32

讀取: 輸出的峰值大小。

*readPointer*\
類型: UINT32

讀取/寫入: 從緩衝區開頭算起的讀取指標，以每個聲道的框架數或框架交錯群組為單位。

*reserved1*\
類型: UINT32

保留。

*writePointer*\
類型: UINT32

讀取/寫入: 從緩衝區開頭算起的寫入指標，以每個聲道的框架數或框架交錯群組為單位。

*reserved2*\
類型: UINT32

保留。

*full*\
類型: UINT32

讀取/寫入: 當讀取指標與寫入指標相等時，*full* 會指出緩衝區是空的還是已滿 (0 == 空的，1 == 已滿)。

*reserved3*\
類型: UINT32

保留。

*reserved4*\
類型: UINT32

保留。

*address*\
類型: UINT32

寫入: 緩衝區位址，對齊 128 個樣本。

*numFrames*\
類型: UINT32

寫入: *numFrames* + 1 等於每個聲道的框架數，或系統記憶體 DMA 緩衝區中框架交錯群組的數目。值為零表示一個框架。DMA 區塊可以從這項資訊推導出 DMA 循環緩衝區的大小。此欄位會在定義內容和緩衝區時設定。

*reserved5*\
類型: UINT32

保留。

*floatConvert*\
類型: UINT32

寫入: 如果資料要轉換為浮點數或從浮點數轉換，則為 1。如果資料是 32 位元整數，則為 0。

*reserved6*\
類型: UINT32

保留。

*numChannels*\
類型: UINT32

寫入: *numChannels* + 1 是緩衝區中音訊的聲道數目。值為零表示一個聲道。

*reserved7*\
類型: UINT32

保留。

*channel*\
類型: UINT32

寫入: 要讀取/寫入的聲道。

*reserved8*\
類型: UINT32

保留。

## 備註

標示為 **Read** (讀取) 的成員由 ACP 程式庫寫入，您的應用程式只應讀取這些成員。標示為 **Write** (寫入) 的成員由您的應用程式設定，ACP 程式庫不會變更。標示為 **Read/Write** (讀取/寫入) 的成員由您的應用程式設定，但可由 ACP 程式庫變更。

如需流程圖的相關資訊，請參閱 [ACP 概觀中的流程圖剖析](/zh-TW/build/console-features/audio/overviews/acp-overview#ID4EHF)。

## 需求

**標頭:** shapedmacontext.h

**支援的平台:** XBOX One 系列主機和 XBOX Series 主機

## 概念文件

* [ACP 概觀](/zh-TW/build/console-features/audio/overviews/acp-overview)

## 另請參閱

[ShapeDmaContext](/zh-TW/reference/audio/shapedmacontext/shapedmacontext_members)


## Related topics

- [SHAPE_DMA_CONTEXT](/reference/audio/shapedmacontext/structs/shape_dma_context.md)
- [ShapeDmaContext](/reference/audio/shapedmacontext/shapedmacontext_members.md)
- [GetShapeDmaTimestamp](/reference/audio/shapedmacontext/functions/getshapedmatimestamp.md)
- [GetShapeDmaChannel](/reference/audio/shapedmacontext/functions/getshapedmachannel.md)
