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

# SetShapePcmReadPointer

> SetShapePcmReadPointer

# SetShapePcmReadPointer

읽기 포인터를 설정합니다.

## Syntax

```cpp theme={null}
HRESULT SetShapePcmReadPointer(  
         SHAPE_PCM_CONTEXT* context,  
         UINT32 readPointerInSamples  
)  
```

### Parameters

*context*   \_Inout\_\
Type: [SHAPE\_PCM\_CONTEXT\*](/reference/audio/shapepcmcontext/structs/shape_pcm_context)

[SHAPE\_PCM\_CONTEXT](/reference/audio/shapepcmcontext/structs/shape_pcm_context) 구조체에 대한 포인터입니다.

*readPointerInSamples*   \
Type: UINT32

샘플 단위의 읽기 포인터입니다. 이 포인터는 두 개의 16비트 스테레오 샘플을 단일 32비트 샘플로 취급합니다.

### Return value

Type: HRESULT

HRESULT 성공 또는 오류 코드입니다.

## Remarks

Direct Memory Access(DMA) 명령의 차단을 방지하려면 오디오 버퍼를 충분히 크게 만들고 버퍼 크기에 맞는 일정한 간격으로 데이터를 스트리밍해야 합니다. 예를 들어 한 번에 4개의 하드웨어 프레임을 스트리밍하는 경우, 하드웨어가 타이틀의 읽기 포인터보다 앞서서 쓸 수 있도록 그 프레임 수의 배수(적어도 이중 버퍼링이 되는 8개)가 버퍼에 있도록 해야 합니다. 또는 다음 플로우그래프를 제출하기 전에 버퍼를 반드시 비우도록 강제할 수 있습니다(소비 후 DMA 읽기 포인터 업데이트, 그런 다음 플로우그래프 제출).

SRC에 대해 `SHAPE_SRC_COMMAND_TYPE_START` 상수를 사용하여 보이스를 시작합니다. 중지할 때까지 PCM 컨텍스트의 쓰기 포인터를 업데이트하며 데이터를 계속 스트리밍합니다. `SHAPE_SRC_COMMAND_TYPE_STOP_END` 상수를 사용하여 SRC가 현재 PCM 쓰기 포인터 `loopStartWritePointer`까지 재생하도록 하거나, `SHAPE_SRC_COMMAND_TYPE_STOP_IMMEDIATE`를 사용해 즉시 중지합니다. 자세한 내용은 [SHAPE\_SRC\_COMMAND\_TYPE](/reference/audio/shapesrccontext/enums/shape_src_command_type) 열거형을 참조하세요.

## Requirements

**Header:** shapepcmcontext.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)\
[shapepcmcontext](/reference/audio/shapepcmcontext/shapepcmcontext_members)


## Related topics

- [ShapePcmContext](/ko/reference/audio/shapepcmcontext/shapepcmcontext_members.md)
- [GetShapePcmReadPointer](/ko/reference/audio/shapepcmcontext/functions/getshapepcmreadpointer.md)
- [SetShapePcmLoopStartOrWritePointer](/ko/reference/audio/shapepcmcontext/functions/setshapepcmloopstartorwritepointer.md)
- [SetShapeDmaReadPointer](/ko/reference/audio/shapedmacontext/functions/setshapedmareadpointer.md)
- [SHAPE_PCM_CONTEXT](/ko/reference/audio/shapepcmcontext/structs/shape_pcm_context.md)
