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

# Save

> Référence de la méthode Provider.Save du wrapper XGameSave, qui écrit les octets de l'état du jeu dans un blob (fichier) nommé à l'intérieur d'un conteneur de sauvegarde spécifié.

# Microsoft.Xbox.Wrappers.XGameSave.Provider.Save

Enregistre des données dans le blob (fichier) spécifié à l'intérieur du conteneur spécifié.

## Syntaxe

```cpp theme={null}
HRESULT Save(const std::string& containerName,
             const std::string& blobName,
             size_t dataSize,
             const uint8_t* blobData);
```

### Paramètres

*containerName*   \_In\_\
Type : std::string

Nom du conteneur.

*blobName*  \_In\_\
Type : std::string

Nom du blob.

*dataSize*   \_In\_\
Type : size\_t

Quantité de données à écrire dans le blob. Cette taille est limitée à un maximum de 16 Mo (GS\_MAX\_BLOB\_SIZE).

*blobData*   \_In\_\
Type : uint8\_t\*

Pointeur vers les octets à écrire dans le blob.

### Valeur de retour

Type : HRESULT

Cette méthode retourne **S\_OK** en cas de réussite, et les codes HRESULT suivants en cas d'échec :

* **GS\_INVALID\_CONTAINER\_NAME**
* **GS\_OUT\_OF\_LOCAL\_STORAGE**
* **GS\_UPDATE\_TOO\_BIG**
* **GS\_QUOTA\_EXCEEDED**
* **GS\_HANDLE\_EXPIRED**

## Exemple

L'exemple de code suivant montre comment utiliser la fonction **Save**.

```cpp theme={null}
using Microsoft::Xbox::Wrappers::GameSave;

std::vector<uint8_t> saveData; // Contains the player's data.

Provider provider = new Provider();

if(SUCCEEDED(provider->Initialize(userHandle, mySCID))
{  
   HRESULT hr = provider->Save("Save_slot_1", "progress", saveData.size(), saveData.data());
   if(FAILED(hr))
   {
      if(hr == E_GS_QUOTA_EXCEEDED)
      {
         // Message that the user must delete saves for this game.
      }
      else if(hr == E_GS_OUT_OF_LOCAL_STORAGE)
      {
         // Message to the user that they have run out of save
         // space on the local device.
      }
      else if(hr == E_GS_UPDATE_TOO_BIG)
      {
         // This is really a development time thing to catch.
         // Your save size was too large for this Save call. Save
         // calls are limited to a maximum size of
         // 16 MB (GS_MAX_BLOB_SIZE).
      }
      else if(hr == E_GS_HANDLE_EXPIRED)
      {
         // You must recreate the provider, and then try again.
      }
      else
      {
         // Log error.
      }
   }
}
```

## Remarques

Vous devez appeler la méthode [Initialize](https://docs.xbox.com/fr-CA/reference/system/Wrappers/classes/provider/methods/xgamesave_wrapper_provider_initialize.md) avant de pouvoir appeler toute autre méthode de la classe `Provider`.

Pour initialiser le wrapper de sauvegarde de jeu et synchroniser tous les conteneurs de l'utilisateur spécifié, appelez [Initialize](https://docs.xbox.com/fr-CA/reference/system/Wrappers/classes/provider/methods/xgamesave_wrapper_provider_initialize.md).

Pour charger les données du blob donné, à partir du conteneur spécifié, appelez [Load](https://docs.xbox.com/fr-CA/reference/system/Wrappers/classes/provider/methods/xgamesave_wrapper_provider_load.md).

## Configuration requise

**En-tête :** xgamesavewrappers.hpp

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

## Voir aussi

[Microsoft.Xbox.Wrappers.XGameSave.Provider](https://docs.xbox.com/fr-CA/reference/system/Wrappers/classes/provider/xgamesave_wrapper_provider.md)\
[Membres du wrapper XGameSave](https://docs.xbox.com/fr-CA/reference/system/Wrappers/xgamesave_wrapper_members.md)\
[Load](https://docs.xbox.com/fr-CA/reference/system/Wrappers/classes/provider/methods/xgamesave_wrapper_provider_load.md)


## Related topics

- [Game Saves (contenu)](https://docs.xbox.com/fr-CA/build/core-features/common/game-save/game-saves-toc.md)
- [Intégration à Game Saves](https://docs.xbox.com/fr-CA/services/playfab/player-progression/game-saves/onboarding.md)
- [Outils de Game Saves](https://docs.xbox.com/fr-CA/build/core-features/common/game-save/game-saves-tools.md)
- [Débogage de Game Saves](https://docs.xbox.com/fr-CA/build/core-features/common/game-save/game-saves-debugging.md)
- [XGameSaveBlob](https://docs.xbox.com/fr-CA/reference/system/xgamesave/structs/xgamesaveblob.md)
