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

> SHAPE_PCM_CONTEXT

# SHAPE\_PCM\_CONTEXT

PCM 컨텍스트 구조체입니다.

## Syntax

```cpp theme={null}
typedef struct SHAPE_PCM_CONTEXT {
    UINT32 bufferStart : 32;  
    UINT32 bufferLength : 21;  
    UINT32 reserved0 : 11;  
    UINT32 loopCount : 8;  
    UINT32 reserved1 : 8;  
    UINT32 full : 1;  
    UINT32 reserved2 : 15;  
    UINT32 readPointer : 21;  
    UINT32 reserved3 : 11;  
    UINT32 loopStartWritePointer : 21;  
    UINT32 reserved4 : 11;  
    UINT32 loopEnd : 21;  
    UINT32 reserved5 : 11;  
    UINT32 mode : 1;  
    UINT32 reserved6 : 15;  
    UINT32 format : 2;  
    UINT32 reserved7 : 14;  
    UINT32 reserved[1];  
} SHAPE_PCM_CONTEXT  
```

### Members

*bufferStart*\
Type: UINT32

Write: 오디오 버퍼입니다.

*bufferLength*\
Type: UINT32

Write: 오디오 버퍼의 길이(샘플 단위)입니다.

*reserved0*\
Type: UINT32

예약됨.

*loopCount*\
Type: UINT32

Read/Write: 반복 횟수입니다.

*reserved1*\
Type: UINT32

예약됨.

*full*\
Type: UINT32

Write: 순환 버퍼의 경우, *readPointer*가 *loopStartWritePointer*와 같을 때: 1 == 가득 찬 버퍼, 0 == 비어 있는 버퍼.

*reserved2*\
Type: UINT32

예약됨.

*readPointer*\
Type: UINT32

Read/Write: 오디오 버퍼 시작부터의 프레임 정렬된 128 샘플 오프셋(샘플 단위)입니다. 하위 7비트는 무시됩니다.

*reserved3*\
Type: UINT32

예약됨.

*loopStartWritePointer*\
Type: UINT32

Write: 오디오 버퍼 시작부터의 프레임 정렬이 아닌(non-frame–aligned) 샘플 오프셋입니다. 선형 버퍼의 경우 루프 시작 지점을, 순환 버퍼의 경우 쓰기 포인터를 나타냅니다.

*reserved4*\
Type: UINT32

예약됨.

*loopEnd*\
Type: UINT32

Write: 오디오 버퍼 시작부터의 프레임 정렬이 아닌(non-frame–aligned) 샘플 오프셋입니다. 루프 종료 지점을 나타냅니다. 최소 루프 크기는 128 샘플입니다.

*reserved5*\
Type: UINT32

예약됨.

*mode*\
Type: UINT32

Write: SHAPE\_PCM\_MODE

*reserved6*\
Type: UINT32

예약됨.

*format*\
Type: UINT32

Write: SHAPE\_PCM\_FORMAT

*reserved7*\
Type: UINT32

예약됨.

*reserved*\
Type: UINT32\[1]

예약됨.

## Remarks

**Write**로 표시된 필드는 애플리케이션에서 설정하며 Audio Control Processor(ACP) 라이브러리가 변경하지 않습니다. **Read/Write**로 표시된 필드는 애플리케이션에서 설정하지만 ACP 라이브러리에 의해 변경될 수 있습니다.

Pulse Code Modulation(PCM) 버퍼의 크기는 버퍼의 형식에 따라 달라집니다. [SHAPE\_PCM\_FORMAT](/reference/audio/shapepcmcontext/enums/shape_pcm_format)의 설명을 참조하세요.

## Requirements

**Header:** shapepcmcontext.h

**Supported platforms:** XBOX One 제품군 콘솔 및 XBOX Series 콘솔

## Conceptual documentation

* [ACP 개요](/build/console-features/audio/overviews/acp-overview)

## 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)
- [GetShapePcmFormat](/ko/reference/audio/shapepcmcontext/functions/getshapepcmformat.md)
- [GetShapePcmMode](/ko/reference/audio/shapepcmcontext/functions/getshapepcmmode.md)
- [SetShapePcmMode](/ko/reference/audio/shapepcmcontext/functions/setshapepcmmode.md)
- [SetShapePcmFormat](/ko/reference/audio/shapepcmcontext/functions/setshapepcmformat.md)
