> ## 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`를 반환합니다. 하나 이상의 인수가 유효하지 않으면 `E_INVALIDARG`를 반환합니다.

## Remarks

Direct Memory Access(DMA) 시스템은 자동 float-정수 및 정수-float 변환을 포함한 읽기 및 쓰기 기능을 지원합니다. DMA 시스템은 128 샘플 블록 단위로 디인터리브된 샘플을 담는 순환 버퍼를 사용합니다.

DMA 프로세서는 Scalable Hardware Audio Processing Engine(SHAPE)이 믹스 버퍼의 데이터를 메인 시스템 메모리로 보내고, 추가 처리를 위해 메인 시스템의 데이터를 믹스 버퍼로 가져올 수 있도록 합니다. DMA는 블록 단위로 수행되며, 한 번에 오디오 프레임 하나 분량의 데이터를 전송합니다. 블록 인터리브 데이터를 사용할 수 있도록, 스킵 값은 샘플을 읽거나 쓸 때 기본 주소로부터 시스템 메모리에서 건너뛸 오디오 프레임 블록의 수를 지정합니다. 멀티 채널 스트림은 채널당 하나의 DMA 컨텍스트가 필요합니다. 오디오 데이터 샘플은 DMA 컨텍스트의 `floatConvert` 플래그에서 지정된 대로 정수 또는 float 중 하나의 32비트 값으로 항상 읽고 쓰여집니다.

<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](/ko/reference/audio/shapeflowgraph/shapeflowgraph_members.md)
- [SHAPE_FLOWGRAPH_DMA_COMMAND](/ko/reference/audio/shapeflowgraph/structs/shape_flowgraph_dma_command.md)
- [SetShapeDmaBufferFull](/ko/reference/audio/shapedmacontext/functions/setshapedmabufferfull.md)
- [SetShapeDmaAudioBuffer](/ko/reference/audio/shapedmacontext/functions/setshapedmaaudiobuffer_2.md)
- [SetShapeDmaAudioBuffer function](/ko/reference/audio/shapedmacontext/functions/setshapedmaaudiobuffer.md)
