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

Fonction de rappel permettant d'effectuer un traitement après une demande de données auprès de XGameSave.

## Syntaxe

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

### Paramètres

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

XGameSaveContainerInfo transmis par l'appel à [XGameSaveGetContainerInfo](/fr/reference/system/xgamesave/functions/xgamesavegetcontainerinfo), [XGameSaveEnumerateContainerInfo](/fr/reference/system/xgamesave/functions/xgamesaveenumeratecontainerinfo) ou [XGameSaveEnumerateContainerInfoByName](/fr/reference/system/xgamesave/functions/xgamesaveenumeratecontainerinfobyname).

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

Objet transmis à [XGameSaveGetContainerInfo](/fr/reference/system/xgamesave/functions/xgamesavegetcontainerinfo), [XGameSaveEnumerateContainerInfo](/fr/reference/system/xgamesave/functions/xgamesaveenumeratecontainerinfo) ou [XGameSaveEnumerateContainerInfoByName](/fr/reference/system/xgamesave/functions/xgamesaveenumeratecontainerinfobyname). Le pointeur de contexte contient des informations sur cet objet qui peuvent être nécessaires dans la fonction de rappel.

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

### Valeur de retour

Type : bool

Retournez false pour arrêter l'énumération.

## Remarques

Transmise en tant que paramètre à l'appel de [XGameSaveGetContainerInfo](/fr/reference/system/xgamesave/functions/xgamesavegetcontainerinfo), [XGameSaveEnumerateContainerInfo](/fr/reference/system/xgamesave/functions/xgamesaveenumeratecontainerinfo) ou [XGameSaveEnumerateContainerInfoByName](/fr/reference/system/xgamesave/functions/xgamesaveenumeratecontainerinfobyname). Cette fonction est utilisée comme rappel afin que d'autres processus puissent se poursuivre pendant l'obtention des informations XGameSave. Ce modèle de rappel permet également de retourner les données par sections. Que votre fonction de rappel soit déclarée séparément ou inline, elle doit avoir les mêmes paramètres et la même valeur de retour booléenne que **XGameSaveContainerInfoCallback**.

## Configuration requise

**En-tête :** XGameSave.h

**Bibliothèque :** xgameruntime.lib

**Plateformes prises en charge :** Windows, consoles de la famille XBOX One et consoles XBOX Series

## Voir aussi

[XGameSave](/fr/reference/system/xgamesave/xgamesave_members)\
[XGameSaveGetContainerInfo](/fr/reference/system/xgamesave/functions/xgamesavegetcontainerinfo)\
[XGameSaveEnumerateContainerInfo](/fr/reference/system/xgamesave/functions/xgamesaveenumeratecontainerinfo)\
[XGameSaveEnumerateContainerInfoByName](/fr/reference/system/xgamesave/functions/xgamesaveenumeratecontainerinfobyname)
[Débogage des sauvegardes de jeu](/fr/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)
