XGameSave
L’API XGameSave est conçue pour permettre la création, le chargement, la sauvegarde et la gestion des états liés au jeu. La principale différence entre celle-ci et les implémentations précédentes est qu’elle fournit une API plate donnant accès à un modèle de programmation asynchrone qui permet à l’appelant de contrôler le threading et la gestion de la mémoire du comportement de l’API.Fonctions
| Fonction | Description |
|---|---|
| XGameSaveBlobInfoCallback | Fonction de rappel permettant de récupérer les résultats de XGameSaveEnumerateBlobInfo. |
| XGameSaveCloseContainer | Ferme le XGameSaveContainer. |
| XGameSaveCloseProvider | Libère les ressources détenues par le XGameSaveProvider. |
| XGameSaveCloseUpdate | Ferme un XGameSaveUpdate. |
| XGameSaveContainerInfoCallback | Fonction de rappel pour un appel à XGameSaveGetContainerInfo. |
| XGameSaveCreateContainer | Crée un handle XGameSaveContainer. |
| XGameSaveCreateUpdate | Crée une mise à jour qui sera soumise ultérieurement en appelant XGameSaveSubmitUpdate. |
| XGameSaveDeleteContainer | Supprime un XGameSaveContainer du stockage infonuagique. |
| XGameSaveDeleteContainerAsync | Supprime un XGameSaveContainer de manière asynchrone. |
| XGameSaveDeleteContainerResult | Récupère le résultat d’un appel à XGameSaveDeleteContainerAsync; utilisez cette fonction pour vérifier la réussite de l’appel. |
| XGameSaveEnumerateBlobInfo | Récupère les informations de blob pour le contenu d’un XGameSaveContainer. |
| XGameSaveEnumerateBlobInfoByName | Récupère les informations de blob pour le contenu d’un XGameSaveContainer, limitées aux blobs qui partagent un préfixe avec le paramètre blobNamePrefix. |
| XGameSaveEnumerateContainerInfo | Récupère les informations de conteneur pour un XGameSaveProvider. |
| XGameSaveEnumerateContainerInfoByName | Récupère les informations de conteneur pour un XGameSaveProvider. |
| XGameSaveGetContainerInfo | Récupère les informations des conteneurs d’un XGameSaveProvider. |
| XGameSaveGetRemainingQuota | Retourne la quantité de données disponible pour le stockage à l’aide de l’API XGameSave. |
| XGameSaveGetRemainingQuotaAsync | Retourne de manière asynchrone la quantité de données disponible pour le stockage à l’aide de l’API XGameSave. |
| XGameSaveGetRemainingQuotaResult | Récupère les résultats de la fonction XGameSaveGetRemainingQuotaAsync. |
| XGameSaveInitializeProvider | Fournit et initialise un handle de fournisseur XGameSave. |
| XGameSaveInitializeProviderAsync | Fournit et initialise un handle de fournisseur XGameSave de manière asynchrone. |
| XGameSaveInitializeProviderResult | Contient les résultats d’un appel à XGameSaveInitializeProviderAsync. |
| XGameSaveReadBlobData | Lit les données de blob d’un conteneur. |
| XGameSaveReadBlobDataAsync | Lit les données XGameSaveBlob d’un XGameSaveContainer de manière asynchrone. |
| XGameSaveReadBlobDataResult | Récupère les résultats d’un appel à XGameSaveReadBlobDataAsync. |
| XGameSaveSubmitBlobDelete | Ajoute une action de suppression à un XGameSaveUpdate de sauvegarde de jeu. |
| XGameSaveSubmitBlobWrite | Ajoute une action d’écriture à un XGameSaveUpdate. |
| XGameSaveSubmitUpdate | Soumet une mise à jour au service XGameSave. Met à jour les blobs d’un conteneur. |
| XGameSaveSubmitUpdateAsync | Soumet une mise à jour au service XGameSave de manière asynchrone. Met à jour les blobs d’un conteneur. |
| XGameSaveSubmitUpdateResult | Récupère le résultat de l’appel à XGameSaveSubmitUpdateAsync. |
Structures
| Structure | Description |
|---|---|
| XGameSaveBlob | Unité d’information pour le stockage XGameSave. Réside dans un XGameSaveContainer. |
| XGameSaveBlobInfo | Informations sur le XGameSaveBlob. |
| XGameSaveContainerInfo | Informations sur un XGameSaveContainer. |
Codes d’erreur
Les codes d’erreur suivants peuvent être retournés par les API XGameSave. Pour obtenir la liste complète, consultez Codes d’erreur. Pour obtenir des conseils de dépannage détaillés, consultez Débogage des sauvegardes de jeu.| Code | Valeur | Description |
|---|---|---|
| E_GS_INVALID_CONTAINER_NAME | 0x80830001 | Le nom du conteneur n’est pas valide. Les caractères valides pour un nom de conteneur incluent les lettres majuscules et minuscules, les chiffres, les traits de soulignement et les barres obliques. |
| E_GS_NO_ACCESS | 0x80830002 | L’opération a échoué, car le titre n’a pas accès aux espaces de stockage du conteneur. Vérifiez que le SCID et le TitleId sont configurés correctement. |
| E_GS_OUT_OF_LOCAL_STORAGE | 0x80830003 | L’appareil ne dispose pas d’une capacité de stockage suffisante pour sauvegarder le jeu. |
| E_GS_USER_CANCELED | 0x80830004 | L’utilisateur a annulé le téléchargement de ses sauvegardes de jeu. |
| E_GS_UPDATE_TOO_BIG | 0x80830005 | La taille de la mise à jour de sauvegarde est trop grande. La taille totale d’une mise à jour XGameSave doit être inférieure à GS_MAX_BLOB_SIZE (16 Mo). |
| E_GS_QUOTA_EXCEEDED | 0x80830006 | Le quota de stockage du titre pour cet utilisateur a été dépassé. |
| E_GS_PROVIDED_BUFFER_TOO_SMALL | 0x80830007 | La mémoire tampon fournie à l’API était trop petite. |
| E_GS_BLOB_NOT_FOUND | 0x80830008 | Le blob spécifié est introuvable. |
| E_GS_NO_SERVICE_CONFIGURATION | 0x80830009 | Le titre n’est pas correctement configuré pour le stockage connecté. Vérifiez que le SCID est correct et que le titre est configuré dans Partner Center. |
| E_GS_CONTAINER_NOT_IN_SYNC | 0x8083000A | Le conteneur n’est pas encore synchronisé. Assurez-vous que le conteneur XGameSave est synchronisé avant de soumettre des mises à jour. |
| E_GS_CONTAINER_SYNC_FAILED | 0x8083000B | La synchronisation du conteneur a échoué. |
| E_GS_USER_NOT_REGISTERED_IN_SERVICE | 0x8083000C | Le MSA de l’utilisateur n’est pas encore un compte XBOX services. |
| E_GS_HANDLE_EXPIRED | 0x8083000D | Le handle utilisé par la fonction a expiré et doit être obtenu de nouveau. |
| E_GS_ASYNC_FUNCTION_REQUIRED | 0x8083000E | Cette fonction synchrone est appelée sur un thread sensible au temps et risque de provoquer des interblocages. Utilisez plutôt l’implémentation asynchrone. |
| E_GS_PROVIDER_MISMATCH | 0x8083000F | Le jeu combine des appels XGameSave et XGameSaveFiles, ce qui n’est pas pris en charge. |
