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

# SetShapeDmaCommand

> SetShapeDmaCommand

# SetShapeDmaCommand

SHAPE DMA コマンドを初期化します。

## Syntax

```cpp theme={null}
HRESULT SetShapeDmaCommand(  
         SHAPE_FLOWGRAPH_COMMAND* command,  
         UINT32 contextId,  
         UINT32 mixBuffer,  
         bool writeToMixBuffer  
)  
```

### Parameters

*command*   \_Inout\_\
Type: SHAPE\_FLOWGRAPH\_COMMAND\*

初期化する [SHAPE\_FLOWGRAPH\_COMMAND](/reference/audio/shapeflowgraph/structs/shape_flowgraph_command) コマンド。

*contextId*   \
Type: UINT32

このコマンドが参照する DMA コンテキスト ID (すなわちインデックス)。

*mixBuffer*   \
Type: UINT32

*writeToMemory* フラグの設定に応じて、読み取り元または書き込み先となるミックスバッファー。

*writeToMixBuffer*   \
Type: bool

DMA コマンドが指定のミックスバッファーへ書き込み、メインメモリから読み取る場合は true。DMA コマンドが指定のミックスバッファーから読み取り、メインメモリへ書き込む場合は false。

### Return value

Type: HRESULT

関数が成功した場合は `S_OK` を返します。1 つ以上の引数が無効な場合は `E_INVALIDARG` を返します。

## Remarks

ダイレクトメモリアクセス (DMA) システムは、float から整数、および整数から float への自動変換を伴う読み取り/書き込み機能をサポートします。DMA システムは、128 サンプルブロック単位のデインターリーブされたサンプルを含むリングバッファーを使用します。

DMA プロセッサーにより、Scalable Hardware Audio Processing Engine (SHAPE) はミックスバッファーからメインシステムメモリにデータを送信したり、メインシステムメモリからミックスバッファーへデータを取得してさらなる処理を行ったりできます。DMA はブロック単位で行われ、1 度に 1 オーディオフレーム分のデータが転送されます。ブロックインターリーブされたデータを扱えるようにするため、スキップ値により、サンプルの読み取り/書き込み時にベースアドレスからスキップするシステムメモリ内のオーディオフレームブロック数を指定します。マルチチャンネルストリームには、チャンネルごとに 1 つの DMA コンテキストが必要です。オーディオデータサンプルは常に 32 ビット値として読み書きされ、整数または float のいずれになるかは DMA コンテキストの `floatConvert` フラグで指定されます。

<Note>DMA の方向 (読み取りまたは書き込み) は DMA コマンドで指定され、DMA コンテキストでは指定されません。これによりデータ帯域幅を削減できます。DMA エンジンには信号処理機能はありませんが、float から整数への変換、または整数から float への変換を実行できます。これにより、アプリケーション CPU は浮動小数点形式でデータサンプルを処理できます。</Note>

## Requirements

**Header:** shapeflowgraph.h

**Supported platforms:** XBOX One ファミリー本体および XBOX Series 本体

## See also

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

[SHAPE の概要](/build/console-features/audio/overviews/shape-overview)

[shapeflowgraph](/reference/audio/shapeflowgraph/shapeflowgraph_members)


## Related topics

- [ShapeFlowGraph](/ja-jp/reference/audio/shapeflowgraph/shapeflowgraph_members.md)
- [SHAPE_FLOWGRAPH_DMA_COMMAND](/ja-jp/reference/audio/shapeflowgraph/structs/shape_flowgraph_dma_command.md)
- [SetShapeDmaBufferFull](/ja-jp/reference/audio/shapedmacontext/functions/setshapedmabufferfull.md)
- [SetShapeDmaAudioBuffer](/ja-jp/reference/audio/shapedmacontext/functions/setshapedmaaudiobuffer_2.md)
- [SetShapeDmaAudioBuffer 関数](/ja-jp/reference/audio/shapedmacontext/functions/setshapedmaaudiobuffer.md)
