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

Direct Memory Access (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

Read: コンテキスト処理完了時のタイム スタンプ。

*reserved0*\
型: UINT32

予約済み。

*mixBufPeakMag*\
型: UINT32

Read: 出力ミックス バッファーのピーク マグニチュード。

*peakMag*\
型: UINT32

Read: 出力のピーク マグニチュード。

*readPointer*\
型: UINT32

Read/Write: バッファー先頭からの読み取りポインター。チャネルあたりのフレーム数、またはフレーム インターリーブ グループの単位で表されます。

*reserved1*\
型: UINT32

予約済み。

*writePointer*\
型: UINT32

Read/Write: バッファー先頭からの書き込みポインター。チャネルあたりのフレーム数、またはフレーム インターリーブ グループの単位で表されます。

*reserved2*\
型: UINT32

予約済み。

*full*\
型: UINT32

Read/Write: 読み取りポインターと書き込みポインターが等しい場合、*full* はバッファーが空か満杯かを示します (0 == 空、1 == 満杯)。

*reserved3*\
型: UINT32

予約済み。

*reserved4*\
型: UINT32

予約済み。

*address*\
型: UINT32

Write: 128 サンプルにアラインされたバッファー アドレス。

*numFrames*\
型: UINT32

Write: *numFrames* + 1 は、システム メモリ DMA バッファー内のチャネルあたりのフレーム数、またはフレーム インターリーブ グループの数と等しくなります。値ゼロは 1 フレームを示します。この情報から、DMA ブロックは DMA 循環バッファーのサイズを導出できます。このフィールドは、コンテキストとバッファーが定義されるときに設定されます。

*reserved5*\
型: UINT32

予約済み。

*floatConvert*\
型: UINT32

Write: データを float と相互変換する場合は 1。データが 32 ビット整数の場合は 0。

*reserved6*\
型: UINT32

予約済み。

*numChannels*\
型: UINT32

Write: *numChannels* + 1 は、バッファー内のオーディオのチャネル数です。値ゼロは 1 チャネルを示します。

*reserved7*\
型: UINT32

予約済み。

*channel*\
型: UINT32

Write: 読み書き対象のチャネル。

*reserved8*\
型: UINT32

予約済み。

## 解説

**Read** としてマークされたメンバーは、ACP ライブラリによって書き込まれ、アプリケーションからは読み取り専用として扱う必要があります。**Write** としてマークされたメンバーは、アプリケーションが設定し、ACP ライブラリによって変更されません。**Read/Write** としてマークされたメンバーは、アプリケーションが設定しますが、ACP ライブラリによって変更される可能性があります。

フローグラフの詳細については、[ACP の概要](/build/console-features/audio/overviews/acp-overview) の [フローグラフ解析](/build/console-features/audio/overviews/acp-overview#ID4EHF) を参照してください。

## 要件

**ヘッダー:** shapedmacontext.h

**サポートされるプラットフォーム:** XBOX One ファミリ本体および XBOX Series 本体

## 概念ドキュメント

* [ACP の概要](/build/console-features/audio/overviews/acp-overview)

## 関連項目

[ShapeDmaContext](/reference/audio/shapedmacontext/shapedmacontext_members)


## Related topics

- [ShapeDmaContext](/ja-jp/reference/audio/shapedmacontext/shapedmacontext_members.md)
- [GetShapeDmaTimestamp](/ja-jp/reference/audio/shapedmacontext/functions/getshapedmatimestamp.md)
- [GetShapeDmaChannel](/ja-jp/reference/audio/shapedmacontext/functions/getshapedmachannel.md)
- [SetShapeDmaChannel](/ja-jp/reference/audio/shapedmacontext/functions/setshapedmachannel.md)
- [SetShapeDmaNumChannels](/ja-jp/reference/audio/shapedmacontext/functions/setshapedmanumchannels.md)
