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

# Gérer les données XGameSave sur PC (xgamesaveutil.exe)

> Gérer les données XGameSave sur PC (xgamesaveutil.exe)

Utilisez cet outil pour gérer les données `XGameSave` sur votre PC. Ne l'utilisez pas pendant que le titre est en cours d'exécution. Cela pourrait placer les sauvegardes de jeu du titre dans un état indéterminé.

Cet outil nécessite que le package du titre soit installé sur votre PC. Cette exigence diffère de la console, où un déploiement par Visual Studio suffit pour que `xbstorage` interagisse avec les sauvegardes de jeu du titre. Vous pouvez générer des packages PC avec [makepkg](https://docs.xbox.com/fr-CA/build/core-features/common/packaging/deployment/makepkg.md) et les installer avec [wdapp install](https://docs.xbox.com/fr-CA/tools/tools-pc/commandlinetools/gr-wdapp.md).

> [!NOTE]
>
> Si vous devez gérer des données `XGameSave` sur la console, vous devez utiliser [Gérer le stockage XGameSave sur console (xbstorage.exe)](https://docs.xbox.com/fr-CA/tools/tools-console/commandlinetools/xbstorage.md).

| Commande | Description |
| - | - |
| [reset](#xgamesaveutil_reset) | Supprime uniquement les données locales du nom de famille de package (PFN) et de l'identificateur de configuration de service (SCID) spécifiés sur le PC, sans incidence sur les sauvegardes dans le nuage. |
| [import](#xgamesaveutil_import) | Importe les données du fichier XML spécifié dans un espace de stockage `XGameSave`. |
| [export](#xgamesaveutil_export) | Exporte les données d'un espace de stockage `XGameSave` vers le fichier XML spécifié. |
| [delete](#xgamesaveutil_delete) | Supprime les données d'un espace de stockage `XGameSave`. |
| [generate](#xgamesaveutil_generate) | Génère des données factices et les enregistre dans le fichier XML spécifié. |

## xgamesaveutil reset

```
xgamesaveutil reset [/pfn:<PFN>] [/scid:<SCID>] [/context:<infile>]
```

Supprime uniquement les données locales du PFN et du SCID spécifiés sur le PC, sans incidence sur les sauvegardes dans le nuage. Si un titre est lancé après l'appel à `xgamesaveutil reset`, les sauvegardes existantes du nuage sont synchronisées vers l'appareil.

Il existe deux façons de spécifier l'emplacement des données à supprimer :

* Si le paramètre **/context** est utilisé et que le fichier spécifié par \<infile> comporte une section *ContextDescription* correctement
  renseignée, ce fichier est utilisé pour spécifier le PFN et le SCID cibles.

* Le PFN et le SCID peuvent être spécifiés partiellement ou entièrement à l'aide de paramètres de ligne de commande, qui sont prioritaires sur les éléments
  correspondants du PFN et du SCID spécifiés dans le fichier d'entrée.

| Option | Description |
| - | - |
| /context:\<infile> | Spécifie le fichier à utiliser pour le PFN et le SCID de l'application. |
| /pfn:\<PFN> | Spécifie le nom de famille de package (PFN) de l'application dont les données doivent être supprimées. L'application doit être installée. |
| /scid:\<SCID> | Spécifie l'identificateur de configuration de service (SCID). Cette valeur provient de la configuration de vos services XBOX. |

**Exemples**

```cmd theme={null}
xgamesaveutil reset /context:target.xml
xgamesaveutil reset /pfn:MyGame_xxxxxx /scid:2AAEB34B-DAB2-4879-B625-D970069C1D22
```

## xgamesaveutil import

```
xgamesaveutil import <filename> [/pfn:<PFN>] [/scid:<SCID>] [/replace]
```

Importe les données spécifiées dans *filename* dans un espace de stockage. Ce fichier XML contient les données. Pour un exemple,
voir [xgamesaveutil generate](#xgamesaveutil_generate) dans cet article. Pour plus de renseignements sur le format XML du fichier, voir
[Format de fichier d'importation et d'exportation](#xgamesaveutil_fileformat) dans cet article.

Il existe deux façons de spécifier l'emplacement vers lequel importer les données `XGameSave` :

* Si le paramètre **/context** est utilisé et que le fichier spécifié par \<filename> comporte une section *ContextDescription* correctement
  renseignée, ce fichier est utilisé pour spécifier le PFN et le SCID cibles.

* Le PFN et le SCID peuvent être spécifiés partiellement ou entièrement à l'aide de paramètres de ligne de commande, qui sont prioritaires sur les éléments
  correspondants du PFN et du SCID spécifiés dans le fichier d'entrée.

| Option | Description |
| - | - |
| /pfn:\<PFN> | Spécifie le nom de famille de package (PFN) de l'application dont les données doivent être supprimées. L'application doit être installée. |
| /scid:\<SCID> | Spécifie l'identificateur de configuration de service (SCID). Cette valeur provient de la configuration de vos services XBOX. |
| /replace | Supprime tous les conteneurs avant d'effectuer l'importation. |

**Exemples**

```cmd theme={null}
xgamesaveutil import mydata.xml
xgamesaveutil import mydata.xml /replace
xgamesaveutil import mydata.xml /pfn:MyGame_xxxxxx /scid:2AAEB34B-DAB2-4879-B625-D970069C1D22
```

> [!NOTE]
>
> Sur PC, cet outil écrit les données importées directement dans le stockage local. Il ne se synchronise **pas** avec le nuage avant ou après l'importation, et ne charge **pas** automatiquement les données importées dans le nuage. Les données sont chargées lors du prochain lancement du titre, lorsqu'il acquiert le fournisseur de sauvegardes de jeu (par exemple, en appelant [XGameSaveInitializeProvider](https://docs.xbox.com/fr-CA/reference/system/xgamesave/functions/xgamesaveinitializeprovider.md)).
>
> Ce comportement diffère de celui de l'outil console (`xbstorage`), qui se synchronise avec le nuage avant l'importation et charge les données immédiatement après.

Si un jeu ayant le même identificateur de configuration de service (SCID) principal est en cours d'exécution, cette opération peut provoquer une condition de concurrence et
placer le contenu de l'espace de stockage `XGameSave` dans un état indéterminé.

Si **/replace** n'est pas spécifié, les conteneurs spécifiés dans le fichier d'entrée sont effacés avant l'écriture des blobs spécifiés
dans le fichier d'entrée. Les conteneurs de l'espace de stockage `XGameSave` qui ne sont pas spécifiés dans le fichier d'entrée ne sont pas modifiés.

## xgamesaveutil export

```cmd theme={null}
xgamesaveutil export <outfile> [/pfn:<PFN>] [/scid:<SCID>] [/context:<infile>]
```

Exporte les données d'un espace de stockage `XGameSave` vers le fichier spécifié par **outfile**. Le fichier XML contient les données exportées. Pour un exemple, voir [xgamesaveutil generate](#xgamesaveutil_generate). Pour plus de détails sur le format XML, voir [Format de fichier d'importation et d'exportation](#xgamesaveutil_fileformat).

Il existe deux façons de spécifier l'emplacement à partir duquel exporter les données `XGameSave` :

* Si le paramètre **/context** est utilisé et que le fichier spécifié par \<infile> comporte une section *ContextDescription* correctement
  renseignée, ce fichier est utilisé pour spécifier le PFN et le SCID cibles.

* Le PFN et le SCID peuvent être spécifiés partiellement ou entièrement à l'aide de paramètres de ligne de commande, qui sont prioritaires sur les éléments
  correspondants du PFN et du SCID spécifiés dans le fichier d'entrée.

| Option | Description |
| - | - |
| /pfn:\<PFN> | Spécifie le nom de famille de package (PFN) de l'application dont les données doivent être exportées. L'application doit être installée. |
| /scid:\<SCID> | Spécifie l'identificateur de configuration de service (SCID). Cette valeur provient de la configuration de vos services XBOX. |

**Exemples**

```cmd theme={null}
xgamesaveutil export exporteddata.xml /context:target.xml
xgamesaveutil export exporteddata.xml /pfn:MyGame_xxxxxx /scid:2AAEB34B-DAB2-4879-B625-D970069C1D22
```

> [!NOTE]
>
> Sur PC, cet outil lit les données directement depuis le stockage local. Il ne se synchronise **pas** avec le nuage avant l'exportation. Les données exportées reflètent ce qui se trouve actuellement sur le disque, ce qui peut ne pas inclure les données les plus récentes du nuage.

Si une application ayant le même SCID principal est en cours d'exécution, cette opération peut provoquer une condition de concurrence et placer le contenu de
l'espace de stockage `XGameSave` dans un état indéterminé.

## xgamesaveutil delete

```cmd theme={null}
xgamesaveutil delete [/pfn:<PFN>] [/scid:<SCID>] [/context:<infile>]
```

Supprime toutes les données d'un espace de stockage `XGameSave`.

Pour effectuer cette opération correctement, vous devez :

1. Vous assurer que le titre n'est pas en cours d'exécution
2. Exécuter `xgamesaveutil delete` pour supprimer immédiatement les données locales.
3. Lancer le titre et acquérir le fournisseur de sauvegardes de jeu. Cela permet à `xgamesaveutil` de supprimer automatiquement les données du nuage.

Il existe deux façons de spécifier l'emplacement à partir duquel supprimer les données `XGameSave` :

* Si le paramètre **/context** est utilisé et que le fichier spécifié par \<infile> comporte une section *ContextDescription* correctement
  renseignée, ce fichier est utilisé pour spécifier le PFN et le SCID cibles.

* Le PFN et le SCID peuvent être spécifiés partiellement ou entièrement à l'aide de paramètres de ligne de commande, qui sont prioritaires sur les éléments
  correspondants du PFN et du SCID spécifiés dans le fichier d'entrée.

| Option | Description |
| - | - |
| /pfn:\<PFN> | Spécifie le nom de famille de package (PFN) de l'application dont les données doivent être supprimées. L'application doit être installée. |
| /scid:\<SCID> | Spécifie l'identificateur de configuration de service (SCID). Cette valeur provient de la configuration de vos services XBOX. |

**Exemples**

```cmd theme={null}
xgamesaveutil delete /context:target.xml
xgamesaveutil delete /pfn:MyGame_xxxxxx /scid:2AAEB34B-DAB2-4879-B625-D970069C1D22 
```

Avant de supprimer l'espace de stockage `XGameSave` spécifié, le système tente de se synchroniser avec le nuage en utilisant la même
logique que celle exécutée lorsque l'espace de stockage est acquis par une application en cours d'exécution.

Si une application ayant le même SCID principal est en cours d'exécution, cette opération peut provoquer une condition de concurrence et placer le contenu de
l'espace de stockage `XGameSave` dans un état indéterminé.

## xgamesaveutil generate

```cmd theme={null}
xgamesaveutil generate <filename> [/containers:<n>] [/blobs:<n>] [/blobsize:<n>]
```

Génère des données factices et les enregistre dans un fichier spécifié par \<filename>. Pour plus de renseignements sur le
format XML du fichier, voir [Format de fichier d'importation et d'exportation](#xgamesaveutil_fileformat) dans cet article.

Le SCID est défini sur 00000000-0000-0000-0000-000000000000. Modifiez ces valeurs en éditant
directement le fichier après sa génération.

| Option | Description |
| - | - |
| /containers:\<n> | Spécifie le nombre de conteneurs à générer. La valeur par défaut est 2. |
| /blobs:\<n> | Spécifie le nombre de blobs à générer par conteneur. La valeur par défaut est 3. |
| /blobsize:\<n> | Spécifie le nombre d'octets par blob. La valeur par défaut est 1024. |

**Exemples**

```cmd theme={null}
xgamesaveutil generate dummydata.xml
xgamesaveutil generate dummydata.xml /containers:4
xgamesaveutil generate dummydata.xml /blobs:10
xgamesaveutil generate dummydata.xml /containers:4 /blobs:10
xgamesaveutil generate dummydata.xml /containers:4 /blobs:10 /blobsize:512
```

Les données en octets forment une simple séquence croissante. Par exemple, un blob de 5 octets contiendrait les octets suivants : 00 01 02 03 04.

Pour spécifier un espace de stockage `XGameSave` par utilisateur, modifiez le nœud **Account** du fichier XML comme dans l'exemple suivant.

```
<Account msa="user@example.com"/>  
```

## Format de fichier d'importation et d'exportation

Le fichier XML utilisé avec les commandes **import**, **export** et **generate** a le format illustré dans l'exemple suivant.

```xml theme={null}
  <?xml version="1.0" encoding="UTF-8"?> 
  <XbConnectedStorageSpace> 
    <ContextDescription> 
      <Account msa="user@example.com"/>
      <Title scid="00000000-0000-0000-0000-000000000000" /> 
    </ContextDescription> 
    <Data> 
      <Containers> 
        <Container name="Container1"> 
          <Blobs> 
            <Blob name="Blob1"> 
              <![CDATA[... ]]>
            </Blob> 
            ... 
            <Blob name="BlobN"> 
              <![CDATA[... ]]>
            </Blob> 
          </Blobs>
        </Container> 
        ... 
        <Container name="ContainerN"> 
        ... 
        </Container> 
      </Containers> 
    </Data> 
  </XbConnectedStorageSpace>  
```

Le format des données de ce fichier XML n'est pas identique au format utilisé sur la plateforme. Ce format pourrait changer à
l'avenir; les fichiers doivent donc être considérés comme ayant un format intermédiaire ou utilitaire, et non un format d'archivage.

Le nœud **ContextDescription** est facultatif. Si vous créez un espace de stockage `XGameSave` pour un utilisateur, vous pouvez utiliser
`<Account msa="user@example.com"/>` au lieu de `<Account machine="true"/>`. Sinon, le contexte peut être spécifié
sur la ligne de commande lors de l'importation.

Les blobs et les conteneurs doivent porter les noms correspondants qui leur sont attribués par le jeu ou l'application pour lequel le fichier
est généré.

Le contenu de chaque blob doit être une chaîne encapsulée dans une balise **CDATA**, générée en appelant
**CryptBinaryToStringW** avec l'indicateur **CRYPT\_STRING\_BASE64**, en fournissant les données de ce blob sous forme de tableau
d'octets bruts. À l'inverse, les données d'un blob peuvent être reconverties en appelant **CryptStringToBinary** pour fournir la chaîne
précédemment chiffrée. Pour un exemple d'utilisation de ces deux fonctions, voir
[CryptBinaryToString returns invalid bytes](https://social.msdn.microsoft.com/Forums/vstudio/9acac904-c226-4ae0-9b7f-261993b9fda2/cryptbinarytostring-returns-invalid-bytes?forum=vcgeneral).

## Voir aussi

[Vue d'ensemble des sauvegardes de jeu](https://docs.xbox.com/fr-CA/build/core-features/common/game-save/game-saves-overview.md)
[Vue d'ensemble de XGameSaveFiles](https://docs.xbox.com/fr-CA/build/core-features/common/game-save/xgamesavefiles.md)
[Gérer le stockage XGameSave sur console (xbstorage.exe)](https://docs.xbox.com/fr-CA/tools/tools-console/commandlinetools/xbstorage.md)


## Related topics

- [Gestion de le stockage XGameSave sur la console (xbstorage.exe)](https://docs.xbox.com/fr-CA/tools/tools-console/commandlinetools/xbstorage.md)
- [Outils en ligne de commande pour le développement sur PC](https://docs.xbox.com/fr-CA/tools/tools-pc/commandlinetools/gr-commandlinetools-toc.md)
- [Outils de Game Saves](https://docs.xbox.com/fr-CA/build/core-features/common/game-save/game-saves-tools.md)
- [Commandlinetools](https://docs.xbox.com/fr-CA/tools/tools-pc/commandlinetools/index.md)
- [Vue d'ensemble de l'API XGameSaveFiles](https://docs.xbox.com/fr-CA/build/core-features/common/game-save/xgamesavefiles.md)
