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
Lorsque la valeur est true, syncOnDemand ne télécharge les données depuis le service que si nécessaire. Ne fonctionne pas si l’appareil est hors connexion. La valeur true peut entraîner l’affichage d’une interface 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 renvoyées sont E_OUTOFMEMORY, E_INVALIDARG,

Remarques

Cette fonction ne peut pas être appelée sans risque sur un thread à durée critique. Pour plus d’informations, consultez Threads à durée critique.
Cette fonction doit être appelée avec succès avant toute utilisation des autres API XGameSave. Cette fonction ne doit pas être appelée sur le thread d’interface utilisateur du jeu, car elle peut bloquer et éventuellement afficher une interface à l’utilisateur pendant la synchronisation des sauvegardes de jeu du joueur. Si vous devez effectuer l’initialisation à partir du thread d’interface utilisateur, envisagez d’appeler XGameSaveInitializeProviderAsync.
Pour fonctionner, 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 plus d’informations sur ces ID requis, consultez Configuration de sandbox 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 sur 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 ne télécharge les données depuis le service que si nécessaire, mais cela présente l’inconvénient que toute opération sur un conteneur peut alors être retardée, et ce retard peut entraîner l’affichage d’une interface de progression de la synchronisation pour l’utilisateur. L’utilisation de l’une des méthodes suivantes peut forcer une synchronisation : Un autre inconvénient est que, si l’appareil est hors connexion ou rencontre 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 dans le cloud qu’ils souhaitent utiliser. Si le jeu utilise XGameSaveFiles et appelle ensuite XGameSaveInitializeProvider, l’appel échoue avec E_GS_PROVIDER_MISMATCH. De même, si le jeu utilisait XGameSave et appelle ensuite XGameSaveFilesGetFolderWithUiAsync, cet appel échoue également avec E_GS_PROVIDER_MISMATCH.

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