Skip to main content

XGameSaveInitializeProvider

Proporciona e inicializa un identificador de proveedor de XGameSave.

Sintaxis

Parámetros

requestingUser   _In_
Tipo: XUserHandle
Identificador de un usuario de XBOX Live. configurationId   _In_z_
Tipo: char*
Identificador de configuración de servicio (SCID). syncOnDemand   _In_
Tipo: bool
Cuando es true, syncOnDemand solo descarga datos del servicio si es necesario. No funciona si el dispositivo está sin conexión. Establecerlo en true puede hacer que se muestre la interfaz de usuario de progreso de sincronización. provider   _Outptr_result_nullonfailure_
Tipo: XGameSaveProviderHandle*
Identificador del proveedor de XGameSave que se va a crear.

Valor devuelto

Tipo: HRESULT Resultado de la función.

Errores comunes

  • E_GS_USER_CANCELED
  • E_GS_USER_NOT_REGISTERED_IN_SERVICE
  • E_GS_NO_ACCESS
  • E_GS_NO_SERVICE_CONFIGURATION
Los errores devueltos con más frecuencia son E_OUTOFMEMORY, E_INVALIDARG,

Comentarios

No es seguro llamar a esta función en un subproceso sensible al tiempo. Para obtener más información, consulte Subprocesos sensibles al tiempo.
Se debe llamar correctamente a esta función antes de usar otras API de XGameSave. Esta función no debe llamarse en el subproceso de interfaz de usuario del juego, ya que puede bloquearse y, potencialmente, mostrar la interfaz de usuario al usuario mientras sincroniza las partidas guardadas del jugador. Si necesita realizar la inicialización desde el subproceso de interfaz de usuario, considere la posibilidad de llamar a XGameSaveInitializeProviderAsync.
La API XGameSave requiere que el título tenga su identificador de título y su identificador de configuración de servicio (SCID)
configurados correctamente para funcionar. Para obtener más información sobre estos identificadores necesarios, consulte Configuración de sandboxes para el desarrollo de XBOX Live. El juego debe estar habilitado para XBOX Live en Partner Center.
Si no configura correctamente el SCID y el identificador de título, las llamadas a la API XSaveGame producirán el siguiente código de error: E_GS_NO_ACCESS - 0x80830002 - Error en la operación porque el título no tiene acceso a los espacios de almacenamiento de contenedores. Cuando se llama a esta API con syncOnDemand establecido en true, se comporta igual desde la perspectiva del autor de la llamada, pero provoca algunas diferencias de comportamiento en el resto de la API. El XGameSaveProvider con SyncOnDemand solo descargará datos del servicio si es necesario, pero esto también tiene el inconveniente de que cualquier operación de contenedor puede retrasarse en este caso, y este retraso puede hacer que se muestre alguna experiencia de usuario para indicar el progreso de la sincronización. El uso de cualquiera de los métodos siguientes puede forzar una sincronización: Otro inconveniente sería que, si el dispositivo está sin conexión o tiene problemas de conectividad, el acceso al contenedor es imposible. Existe una versión asincrónica de esta función denominada XGameSaveInitializeProviderAsync
Los juegos no pueden combinar el uso de XGameSaveFiles con el uso de XGameSave. Los juegos deben elegir qué sistema de guardado en la nube quieren usar. Si el juego usa XGameSaveFiles y más adelante llama a XGameSaveInitializeProvider, se producirá un error E_GS_PROVIDER_MISMATCH. Del mismo modo, si el juego usaba XGameSave y más adelante llama a XGameSaveFilesGetFolderWithUiAsync, también se producirá un error E_GS_PROVIDER_MISMATCH.

Requisitos

Encabezado: XGameSave.h Biblioteca: xgameruntime.lib Plataformas compatibles: Windows, consolas de la familia XBOX One y consolas XBOX Series

Documentación conceptual

Consulte también

XGameSave
XGameSaveInitializeProviderAsync
Depuración de partidas guardadas
Última modificación el 28 de agosto de 2026