Skip to main content

XGameSaveInitializeProvider

Fournit et initialise un handle de fournisseur XGameSave.

Syntaxe

Paramètres

requestingUser   _In_
Type : XUserHandle
Handle vers un utilisateur XBOX Live. configurationId   _In_z_
Type : char*
ID de configuration de service (SCID). syncOnDemand   _In_
Type : bool
Si la valeur est true, syncOnDemand télécharge des données du service uniquement si nécessaire. Ne fonctionne pas si l’appareil est hors ligne. La valeur true peut entraîner l’affichage d’une interface utilisateur de progression de la synchronisation. provider   _Outptr_result_nullonfailure_
Type : XGameSaveProviderHandle*
Handle vers le fournisseur XGameSave à créer.

Valeur de retour

Type : HRESULT Résultat de la fonction.

Erreurs courantes

  • E_GS_USER_CANCELED
  • E_GS_USER_NOT_REGISTERED_IN_SERVICE
  • E_GS_NO_ACCESS
  • E_GS_NO_SERVICE_CONFIGURATION
Les erreurs les plus fréquemment retournées sont E_OUTOFMEMORY, E_INVALIDARG,

Remarques

Cette fonction ne peut pas être appelée sans danger sur un thread sensible au temps. Pour plus d’informations, consultez Threads sensibles au temps.
Cette fonction doit être appelée avec succès avant d’utiliser les autres API XGameSave. Cette fonction ne doit pas être appelée sur le thread d’interface utilisateur du jeu, car elle peut bloquer et potentiellement afficher une interface utilisateur pendant qu’elle synchronise les sauvegardes de jeu du joueur. Si vous devez l’initialiser à partir du thread d’interface utilisateur, envisagez d’appeler XGameSaveInitializeProviderAsync.
L’API XGameSave exige que l’ID de titre et l’ID de configuration de service (SCID) de votre titre soient
correctement configurés pour fonctionner. Pour plus d’informations sur ces ID requis, consultez Configuration des bacs à sable pour le développement XBOX Live. Votre jeu doit être activé pour XBOX Live dans Partner Center.
Si vous ne configurez pas correctement votre SCID et votre ID de titre, vos appels à l’API XSaveGame échoueront avec le code d’erreur suivant : E_GS_NO_ACCESS - 0x80830002 - L’opération a échoué, car le titre n’a pas accès aux espaces de stockage des conteneurs. Lorsque cette API est appelée avec syncOnDemand défini à true, elle se comporte de la même façon du point de vue de l’appelant, mais elle entraîne certaines différences de comportement dans le reste de l’API. Le XGameSaveProvider SyncOnDemand télécharge des données du service uniquement si nécessaire, mais cela comporte aussi l’inconvénient que toute opération sur un conteneur peut alors être retardée, et ce délai peut entraîner l’affichage d’une interface utilisateur de progression de la synchronisation. L’utilisation de l’une des méthodes suivantes peut forcer une synchronisation : Un autre inconvénient est que, si l’appareil est hors ligne ou a des problèmes de connectivité, l’accès au conteneur est impossible. Il existe une version asynchrone de cette fonction appelée XGameSaveInitializeProviderAsync
Les jeux ne peuvent pas combiner l’utilisation de XGameSaveFiles et celle de XGameSave. Les jeux doivent choisir le système de sauvegarde infonuagique qu’ils veulent utiliser. Si le jeu utilise XGameSaveFiles et appelle ensuite XGameSaveInitializeProvider, une erreur E_GS_PROVIDER_MISMATCH se produit. De même, si le jeu utilisait XGameSave et appelle ensuite XGameSaveFilesGetFolderWithUiAsync, une erreur E_GS_PROVIDER_MISMATCH se produit également.

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

Documentation conceptuelle

Voir aussi

XGameSave
XGameSaveInitializeProviderAsync
Débogage des sauvegardes de jeu
Last modified on October 6, 2026