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

Função de retorno de chamada para concluir o trabalho após solicitar dados de XGameSave.

## Sintaxe

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

### Parâmetros

*info*   \_In\_\
Tipo: [XGameSaveContainerInfo\*](/pt-BR/reference/system/xgamesave/structs/xgamesavecontainerinfo)

XGameSaveContainerInfo passado pela chamada feita para [XGameSaveGetContainerInfo](/pt-BR/reference/system/xgamesave/functions/xgamesavegetcontainerinfo), [XGameSaveEnumerateContainerInfo](/pt-BR/reference/system/xgamesave/functions/xgamesaveenumeratecontainerinfo) ou [XGameSaveEnumerateContainerInfoByName](/pt-BR/reference/system/xgamesave/functions/xgamesaveenumeratecontainerinfobyname).

*context*   \_In\_opt\_\
Tipo: void\*

O objeto passado para [XGameSaveGetContainerInfo](/pt-BR/reference/system/xgamesave/functions/xgamesavegetcontainerinfo), [XGameSaveEnumerateContainerInfo](/pt-BR/reference/system/xgamesave/functions/xgamesaveenumeratecontainerinfo) ou [XGameSaveEnumerateContainerInfoByName](/pt-BR/reference/system/xgamesave/functions/xgamesaveenumeratecontainerinfobyname). O ponteiro de contexto contém informações sobre esse objeto que podem ser necessárias na função de retorno de chamada.

```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); 
    } 
} 
```

### Valor retornado

Tipo: bool

Retorne false para interromper a enumeração.

## Comentários

Passada como parâmetro para a chamada de [XGameSaveGetContainerInfo](/pt-BR/reference/system/xgamesave/functions/xgamesavegetcontainerinfo), [XGameSaveEnumerateContainerInfo](/pt-BR/reference/system/xgamesave/functions/xgamesaveenumeratecontainerinfo) ou [XGameSaveEnumerateContainerInfoByName](/pt-BR/reference/system/xgamesave/functions/xgamesaveenumeratecontainerinfobyname). Esta função é usada como retorno de chamada para que outros processos possam continuar enquanto as informações de XGameSave são obtidas. Esse padrão de retorno de chamada também permite que os dados sejam retornados em seções. Quer sua função de retorno de chamada seja declarada separadamente ou embutida, ela deve ter os mesmos parâmetros e o mesmo valor retornado booliano que **XGameSaveContainerInfoCallback**.

## Requisitos

**Cabeçalho:** XGameSave.h

**Biblioteca:** xgameruntime.lib

**Plataformas com suporte:** Windows, consoles da família XBOX One e consoles XBOX Series

## Confira também

[XGameSave](/pt-BR/reference/system/xgamesave/xgamesave_members)\
[XGameSaveGetContainerInfo](/pt-BR/reference/system/xgamesave/functions/xgamesavegetcontainerinfo)\
[XGameSaveEnumerateContainerInfo](/pt-BR/reference/system/xgamesave/functions/xgamesaveenumeratecontainerinfo)\
[XGameSaveEnumerateContainerInfoByName](/pt-BR/reference/system/xgamesave/functions/xgamesaveenumeratecontainerinfobyname)
[Depuração de salvamentos de jogos](/pt-BR/build/core-features/common/game-save/game-saves-debugging)


## Related topics

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