> ## Documentation Index
> Fetch the complete documentation index at: https://docs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# XGameSaveCreateContainer

> XGameSaveCreateContainer

# XGameSaveCreateContainer

XGameSaveContainer 핸들을 만듭니다.

## 구문

```cpp theme={null}
HRESULT XGameSaveCreateContainer(  
         XGameSaveProviderHandle provider,  
         const char* containerName,  
         XGameSaveContainerHandle* containerContext  
)  
```

### 매개 변수

*provider*   \_In\_\
형식: XGameSaveProviderHandle

컨테이너를 만들 XGameSaveProvider에 대한 핸들입니다.

*containerName*   \_In\_z\_\
형식: char\*

만들 컨테이너의 이름입니다.

컨테이너 이름의 경로 부분(마지막 슬래시를 포함한 부분까지)에 대해 유효한 문자에는
대문자(A-Z), 소문자(a-z), 숫자(0-9), 밑줄(\_), 슬래시(/)가 포함됩니다. 경로
부분은 비어 있을 수 있습니다.

파일 이름 부분(마지막 슬래시 뒤의 모든 부분)에 대해 유효한 문자에는 대문자(A-Z),
소문자(a-z), 숫자(0-9), 밑줄(\_), 마침표(.), 하이픈(-)이 포함됩니다. 파일 이름은 비어 있거나
마침표로 끝나거나, 두 개의 연속된 마침표를 포함할 수 없습니다.

컨테이너 이름의 최대 길이는 256자입니다.

*containerContext*   \_Outptr\_result\_nullonfailure\_\
형식: XGameSaveContainerHandle\*

이 함수 호출에서 반환될 XGameSaveContainer에 대한 핸들입니다.

### 반환값

형식: HRESULT

함수 결과입니다. containerName이 유효하지 않은 경우 함수는 E\_GS\_INVALID\_CONTAINER\_NAME(0x80830001)을 반환합니다.

## 설명

> [!NOTE]
>
> 이 함수는 시간에 민감한 스레드에서 호출해도 안전하지 않습니다. 자세한 내용은 [시간에 민감한 스레드](https://learn.microsoft.com/gaming/gdk/docs/gdk-dev/console-dev/overviews/threads/time-sensitive-threads)를 참조하세요.

\[!NOTE] XGameSave API가 작동하려면 타이틀에 타이틀 ID와 서비스 구성 ID(SCID)가
올바르게 구성되어 있어야 합니다. 필수 ID에 대한 자세한 내용은 [XBOX Live 개발을 위한
샌드박스 설정](https://docs.xbox.com/ko/services/xbox-services/fundamentals/sandboxes/live-setting-up-sandboxes.md)을 참조하세요. 게임은 파트너 센터에서 XBOX Live에 대해 활성화되어 있어야 합니다.

SCID와 타이틀 ID를 올바르게 구성하지 않으면 XSaveGame API 호출은 다음 오류 코드와 함께 실패합니다.

E\_GS\_NO\_ACCESS - 0x80830002 - 타이틀이 컨테이너 저장소 공간에 액세스할 수 없어 작업이 실패했습니다.

XGameSaveCreateContainer는 새 컨테이너를 만드는 것과 이름을 식별자로 사용하여 이전에 만든 컨테이너에 액세스하는 데
모두 사용됩니다. 게임 저장 컨테이너는 [XGameSaveBlobs](https://docs.xbox.com/ko/reference/system/xgamesave/structs/xgamesaveblob.md) 형태로 플레이어에 대한 정보를 보유합니다.
Blob은 플레이어와 연결된 특정 데이터로, 해당 데이터에는 Blob 데이터를 읽는 데 도움이 되는 다른 정보와 함께
이름 및 값이 포함됩니다. **XGameSaveContainer** 의 구성은
[XGameSaveContainerInfo](https://docs.xbox.com/ko/reference/system/xgamesave/structs/xgamesavecontainerinfo.md) 구조체에서 확인할 수 있습니다.

> [!NOTE]
>
> 컨테이너는 해당 컨테이너에 대해 [XGameSaveSubmitUpdate](https://docs.xbox.com/ko/reference/system/xgamesave/functions/xgamesavesubmitupdate.md) 또는 [XGameSaveSubmitUpdateAsync](https://docs.xbox.com/ko/reference/system/xgamesave/functions/xgamesavesubmitupdateasync.md)가 호출될 때까지 완료되지 않습니다. 업데이트 API가 호출되기 전까지 컨테이너는 [XGameSaveEnumerateContainerInfoByName](https://docs.xbox.com/ko/reference/system/xgamesave/functions/xgamesaveenumeratecontainerinfobyname.md)의 결과에 나타나지 않습니다.

## 요구 사항

**헤더:** XGameSave.h

**라이브러리:** xgameruntime.lib

**지원되는 플랫폼:** Windows, XBOX One 제품군 콘솔 및 XBOX Series 콘솔

## 개념 설명서

* [시간에 민감한 스레드](https://learn.microsoft.com/gaming/gdk/docs/gdk-dev/console-dev/overviews/threads/time-sensitive-threads)

## 함께 보기

[XGameSave](https://docs.xbox.com/ko/reference/system/xgamesave/xgamesave_members.md)\
[XGameSaveContainerInfo](https://docs.xbox.com/ko/reference/system/xgamesave/structs/xgamesavecontainerinfo.md)\
[XGameSaveBlob](https://docs.xbox.com/ko/reference/system/xgamesave/structs/xgamesaveblob.md)\
[게임 저장 디버깅](https://docs.xbox.com/ko/build/core-features/common/game-save/game-saves-debugging.md)


## Related topics

- [XGameSaveCloseContainer](https://docs.xbox.com/ko/reference/system/xgamesave/functions/xgamesaveclosecontainer.md)
- [XGameSaveGetContainerInfo](https://docs.xbox.com/ko/reference/system/xgamesave/functions/xgamesavegetcontainerinfo.md)
- [XGameSave API 개요](https://docs.xbox.com/ko/build/core-features/common/game-save/xgamesave.md)
- [XGameSave (API 콘텐츠)](https://docs.xbox.com/ko/reference/system/xgamesave/xgamesave_members.md)
- [Unity 프로젝트에서 GDK API용 C# 래퍼 사용](https://docs.xbox.com/ko/build/gdk-and-engines/unity/unity-api-wrappers.md)
