XGameSave
La API XGameSave está diseñada para permitir crear, cargar, guardar y administrar estados relacionados con el juego. La principal diferencia entre esta y las implementaciones anteriores es que esta proporciona una API plana con acceso a un modelo de programación asincrónica que permite al autor de la llamada controlar los subprocesos y la administración de memoria del comportamiento de la API.Funciones
| Función | Descripción |
|---|---|
| XGameSaveBlobInfoCallback | Función de devolución de llamada para recuperar los resultados de XGameSaveEnumerateBlobInfo. |
| XGameSaveCloseContainer | Cierra el XGameSaveContainer. |
| XGameSaveCloseProvider | Libera los recursos retenidos por el XGameSaveProvider. |
| XGameSaveCloseUpdate | Cierra un XGameSaveUpdate. |
| XGameSaveContainerInfoCallback | La función de devolución de llamada para una llamada realizada a XGameSaveGetContainerInfo. |
| XGameSaveCreateContainer | Crea un identificador de XGameSaveContainer. |
| XGameSaveCreateUpdate | Crea una actualización que se enviará más adelante llamando a XGameSaveSubmitUpdate. |
| XGameSaveDeleteContainer | Elimina un XGameSaveContainer del almacenamiento en la nube. |
| XGameSaveDeleteContainerAsync | Elimina un XGameSaveContainer de forma asincrónica. |
| XGameSaveDeleteContainerResult | Recupera el resultado de una llamada a XGameSaveDeleteContainerAsync; use esta función para comprobar el éxito de la llamada. |
| XGameSaveEnumerateBlobInfo | Recupera la información de blob del contenido de un XGameSaveContainer. |
| XGameSaveEnumerateBlobInfoByName | Recupera la información de blob del contenido de un XGameSaveContainer limitada a los blobs que comparten un prefijo con el parámetro blobNamePrefix. |
| XGameSaveEnumerateContainerInfo | Recupera la información de contenedor de un XGameSaveProvider. |
| XGameSaveEnumerateContainerInfoByName | Recupera la información de contenedor de un XGameSaveProvider. |
| XGameSaveGetContainerInfo | Recupera información de los contenedores de un XGameSaveProvider. |
| XGameSaveGetRemainingQuota | Devuelve la cantidad de datos disponibles para almacenar mediante la API XGameSave. |
| XGameSaveGetRemainingQuotaAsync | Devuelve de forma asincrónica la cantidad de datos disponibles para almacenar mediante la API XGameSave. |
| XGameSaveGetRemainingQuotaResult | Recupera los resultados de la función XGameSaveGetRemainingQuotaAsync. |
| XGameSaveInitializeProvider | Proporciona e inicializa un identificador de proveedor de XGameSave. |
| XGameSaveInitializeProviderAsync | Proporciona e inicializa de forma asincrónica un identificador de proveedor de XGameSave. |
| XGameSaveInitializeProviderResult | Contiene los resultados de una llamada a XGameSaveInitializeProviderAsync. |
| XGameSaveReadBlobData | Lee los datos de blob de un contenedor. |
| XGameSaveReadBlobDataAsync | Lee de forma asincrónica los datos de XGameSaveBlob de un XGameSaveContainer. |
| XGameSaveReadBlobDataResult | Recupera los resultados de una llamada a XGameSaveReadBlobDataAsync. |
| XGameSaveSubmitBlobDelete | Agrega una acción de eliminación a un XGameSaveUpdate de partida guardada. |
| XGameSaveSubmitBlobWrite | Agrega una acción de escritura a un XGameSaveUpdate. |
| XGameSaveSubmitUpdate | Envía una actualización al servicio XGameSave. Actualiza los blobs de un contenedor. |
| XGameSaveSubmitUpdateAsync | Envía de forma asincrónica una actualización al servicio XGameSave. Actualiza los blobs de un contenedor. |
| XGameSaveSubmitUpdateResult | Recupera el resultado de la llamada a XGameSaveSubmitUpdateAsync. |
Estructuras
| Estructura | Descripción |
|---|---|
| XGameSaveBlob | Unidad de información para el almacenamiento de XGameSave. Reside dentro de un XGameSaveContainer. |
| XGameSaveBlobInfo | Información sobre el XGameSaveBlob. |
| XGameSaveContainerInfo | Información sobre un XGameSaveContainer. |
Códigos de error
Las API de XGameSave pueden devolver los siguientes códigos de error. Para obtener una lista completa, consulte Códigos de error. Para obtener instrucciones detalladas de solución de problemas, consulte Depuración de partidas guardadas.| Código | Valor | Descripción |
|---|---|---|
| E_GS_INVALID_CONTAINER_NAME | 0x80830001 | El nombre del contenedor no es válido. Los caracteres válidos para el nombre de un contenedor incluyen letras mayúsculas y minúsculas, dígitos, guiones bajos y barras diagonales. |
| E_GS_NO_ACCESS | 0x80830002 | Error en la operación porque el título no tiene acceso a los espacios de almacenamiento de contenedores. Compruebe que el SCID y el TitleId están configurados correctamente. |
| E_GS_OUT_OF_LOCAL_STORAGE | 0x80830003 | El dispositivo no tiene suficiente capacidad de almacenamiento para guardar la partida. |
| E_GS_USER_CANCELED | 0x80830004 | El usuario canceló la descarga de sus partidas guardadas. |
| E_GS_UPDATE_TOO_BIG | 0x80830005 | El tamaño de la actualización de guardado es demasiado grande. El tamaño total de una actualización de XGameSave debe ser menor que GS_MAX_BLOB_SIZE (16 MB). |
| E_GS_QUOTA_EXCEEDED | 0x80830006 | Se superó la cuota de almacenamiento del título para este usuario. |
| E_GS_PROVIDED_BUFFER_TOO_SMALL | 0x80830007 | El búfer proporcionado a la API era demasiado pequeño. |
| E_GS_BLOB_NOT_FOUND | 0x80830008 | No se encuentra el blob especificado. |
| E_GS_NO_SERVICE_CONFIGURATION | 0x80830009 | El título no está configurado correctamente para el almacenamiento conectado. Compruebe que el SCID es correcto y que el título está configurado en Partner Center. |
| E_GS_CONTAINER_NOT_IN_SYNC | 0x8083000A | El contenedor aún no está sincronizado. Asegúrese de que el contenedor de XGameSave esté sincronizado antes de enviar actualizaciones. |
| E_GS_CONTAINER_SYNC_FAILED | 0x8083000B | Error en la sincronización del contenedor. |
| E_GS_USER_NOT_REGISTERED_IN_SERVICE | 0x8083000C | La MSA del usuario aún no es una cuenta de servicios de XBOX. |
| E_GS_HANDLE_EXPIRED | 0x8083000D | El identificador que usa la función expiró y debe volver a adquirirse. |
| E_GS_ASYNC_FUNCTION_REQUIRED | 0x8083000E | Se está llamando a esta función sincrónica en un subproceso sensible al tiempo y se corre el riesgo de interbloqueos. Use la implementación asincrónica en su lugar. |
| E_GS_PROVIDER_MISMATCH | 0x8083000F | El juego está combinando llamadas a XGameSave y XGameSaveFiles, lo que no se admite. |
