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

# XGameSaveContainerInfoCallback

> XGameSaveContainerInfoCallback

# XGameSaveContainerInfoCallback

XGameSave에서 데이터를 호출한 후 작업을 완료하기 위한 콜백 함수입니다.

## 구문

```cpp theme={null}
bool XGameSaveContainerInfoCallback(  
         const XGameSaveContainerInfo* info,  
         void* context  
)  
```

### 매개 변수

*info*   \_In\_\
형식: [XGameSaveContainerInfo\*](/reference/system/xgamesave/structs/xgamesavecontainerinfo)

[XGameSaveGetContainerInfo](/reference/system/xgamesave/functions/xgamesavegetcontainerinfo), [XGameSaveEnumerateContainerInfo](/reference/system/xgamesave/functions/xgamesaveenumeratecontainerinfo) 또는 [XGameSaveEnumerateContainerInfoByName](/reference/system/xgamesave/functions/xgamesaveenumeratecontainerinfobyname) 호출에서 전달된 XGameSaveContainerInfo입니다.

*context*   \_In\_opt\_\
형식: void\*

[XGameSaveGetContainerInfo](/reference/system/xgamesave/functions/xgamesavegetcontainerinfo), [XGameSaveEnumerateContainerInfo](/reference/system/xgamesave/functions/xgamesaveenumeratecontainerinfo) 또는 [XGameSaveEnumerateContainerInfoByName](/reference/system/xgamesave/functions/xgamesaveenumeratecontainerinfobyname)에 전달된 개체입니다. 컨텍스트 포인터는 콜백 함수에서 필요할 수 있는 해당 개체에 관한 정보를 전달합니다.

```cpp theme={null}
void Sample::_GetContainerInfo(const char* name) 
{ 
    XGameSaveContainerInfoCallback* callback = [](_In_ const XGameSaveContainerInfo* info, _In_ void* ctx) -> bool 
    { 
        auto self = reinterpret_cast<Sample*>(ctx); 
        self->_UpdateContainerList(info); 
        return true; 
    }; 
  
    HRESULT hr = XGameSaveGetContainerInfo(_provider, name, this, callback); 
    if (FAILED(hr)) 
    { 
        _HandleContainerErrors(name, hr); 
    } 
} 
 
void Sample::_UpdateContainerList(const XGameSaveContainerInfo* container) 
{ 
    //update UX 
    printf("%s - %s: %I64dbytes %d blobs\n", container->name, container->displayName, container->totalSize, container->blobCount); 
    if (strcmp(container->name, "AutoSave") == 0) 
    { 
        _ReadContainerBlobsAsync(container); 
    } 
} 
 
void Sample::_HandleContainerErrors(const char* name, HRESULT hr) 
{ 
    switch (hr) 
    { 
    case E_GS_INVALID_CONTAINER_NAME: 
        printf("\'%s\' name is invalid for a container", name); 
        break; 
    case E_GS_USER_CANCELED: 
        printf("Container %s failed to sync user canceled hr=0x%08x\n", name, hr); 
        break; 
    case E_GS_CONTAINER_NOT_IN_SYNC: 
    case E_GS_CONTAINER_SYNC_FAILED: 
        printf("Container %s failed to sync hr=0x%08x\n", name, hr); 
        break; 
    case E_GS_HANDLE_EXPIRED: 
        printf("Container %s failed, re-initialize provider", name); 
        break; 
    case S_OK: 
        break; 
    default: 
        printf("Unknown Container error %s hr=0x%08X\n", name, hr); 
    } 
} 
```

### 반환값

형식: bool

열거를 중지하려면 false를 반환합니다.

## 설명

[XGameSaveGetContainerInfo](/reference/system/xgamesave/functions/xgamesavegetcontainerinfo), [XGameSaveEnumerateContainerInfo](/reference/system/xgamesave/functions/xgamesaveenumeratecontainerinfo) 또는 [XGameSaveEnumerateContainerInfoByName](/reference/system/xgamesave/functions/xgamesaveenumeratecontainerinfobyname) 호출에 매개 변수로 전달됩니다. 이 함수는 XGameSave 정보를 가져오는 동안 다른 프로세스가 계속 진행될 수 있도록 콜백으로 사용됩니다. 이러한 콜백 패턴은 또한 데이터를 섹션 단위로 반환할 수 있도록 합니다. 콜백 함수를 별도로 선언하든 인라인으로 선언하든 관계없이, 이 함수는 **XGameSaveContainerInfoCallback** 과 동일한 매개 변수와 boolean 반환값을 가져야 합니다.

## 요구 사항

**헤더:** XGameSave.h

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

**지원되는 플랫폼:** Windows, XBOX One 계열 콘솔 및 XBOX Series 콘솔

## 함께 보기

[XGameSave](/reference/system/xgamesave/xgamesave_members)\
[XGameSaveGetContainerInfo](/reference/system/xgamesave/functions/xgamesavegetcontainerinfo)\
[XGameSaveEnumerateContainerInfo](/reference/system/xgamesave/functions/xgamesaveenumeratecontainerinfo)\
[XGameSaveEnumerateContainerInfoByName](/reference/system/xgamesave/functions/xgamesaveenumeratecontainerinfobyname)
[게임 저장 디버깅](/build/core-features/common/game-save/game-saves-debugging)


## Related topics

- [XGameSaveContainerInfo](/ko/reference/system/xgamesave/structs/xgamesavecontainerinfo.md)
- [XGameSaveEnumerateContainerInfo](/ko/reference/system/xgamesave/functions/xgamesaveenumeratecontainerinfo.md)
- [XGameSaveGetContainerInfo](/ko/reference/system/xgamesave/functions/xgamesavegetcontainerinfo.md)
- [XGameSaveEnumerateContainerInfoByName](/ko/reference/system/xgamesave/functions/xgamesaveenumeratecontainerinfobyname.md)
- [XGameSave](/ko/reference/system/xgamesave/xgamesave_members.md)
