> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# XGameSaveCreateContainer

> XGameSaveCreateContainer

# XGameSaveCreateContainer

Crea un identificador de XGameSaveContainer.

## Sintaxis

```cpp theme={null}
HRESULT XGameSaveCreateContainer(  
         XGameSaveProviderHandle provider,  
         const char* containerName,  
         XGameSaveContainerHandle* containerContext  
)  
```

### Parámetros

*provider*   \_In\_\
Tipo: XGameSaveProviderHandle

Identificador del XGameSaveProvider que creará el contenedor.

*containerName*   \_In\_z\_\
Tipo: char\*

Nombre del contenedor que se va a crear.

Los caracteres válidos para la parte de la ruta de acceso del nombre del contenedor (hasta la última barra diagonal, incluida) incluyen
letras mayúsculas (A-Z), letras minúsculas (a-z), números (0-9), guion bajo (\_) y barra diagonal (/). La parte de la ruta
de acceso puede estar vacía.

Los caracteres válidos para la parte del nombre de archivo (todo lo que sigue a la última barra diagonal) incluyen letras mayúsculas (A-Z),
letras minúsculas (a-z), números (0-9), guion bajo (\_), punto (.) y guion (-). El nombre de archivo no puede estar vacío,
terminar en un punto ni contener dos puntos consecutivos.

La longitud máxima del nombre del contenedor es de 256 caracteres.

*containerContext*   \_Outptr\_result\_nullonfailure\_\
Tipo: XGameSaveContainerHandle\*

Identificador del XGameSaveContainer que devolverá esta llamada de función.

### Valor devuelto

Tipo: HRESULT

Resultado de la función. Si containerName no es válido, la función devolverá E\_GS\_INVALID\_CONTAINER\_NAME (0x80830001).

## Comentarios

<Note>No es seguro llamar a esta función en un subproceso con dependencia temporal. Para obtener más información, consulte [Subprocesos con dependencia temporal](https://learn.microsoft.com/gaming/gdk/docs/gdk-dev/console-dev/overviews/threads/time-sensitive-threads).</Note>

<Note>La API XGameSave requiere que el título tenga su identificador de título y su identificador de configuración de servicio (SCID)</Note>
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](/services/xbox-services/fundamentals/sandboxes/live-setting-up-sandboxes). Su 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 fallarán con el siguiente código de error:

E\_GS\_NO\_ACCESS - 0x80830002 - La operación falló porque el título no tiene acceso a los espacios de almacenamiento de contenedores.

XGameSaveCreateContainer se usa tanto para crear un nuevo contenedor como para acceder a un contenedor creado anteriormente usando el nombre
como identificador. Un contenedor de partidas guardadas contiene información sobre un jugador en forma de [XGameSaveBlobs](/reference/system/xgamesave/structs/xgamesaveblob).
Los blobs son datos específicos asociados a un jugador; esos datos incluyen un nombre y un valor junto con otra información que ayuda
a leer los datos del blob. Puede encontrar la composición de un **XGameSaveContainer** en la
estructura [XGameSaveContainerInfo](/reference/system/xgamesave/structs/xgamesavecontainerinfo).

<Note>Un contenedor no se finaliza hasta que se haya llamado a [XGameSaveSubmitUpdate](/reference/system/xgamesave/functions/xgamesavesubmitupdate) o [XGameSaveSubmitUpdateAsync](/reference/system/xgamesave/functions/xgamesavesubmitupdateasync) para el contenedor. Hasta que se haya llamado a la API de actualización, el contenedor no aparecerá en los resultados de [XGameSaveEnumerateContainerInfoByName](/reference/system/xgamesave/functions/xgamesaveenumeratecontainerinfobyname).</Note>

## Requisitos

**Encabezado:** XGameSave.h

**Biblioteca:** xgameruntime.lib

**Plataformas compatibles:** Windows, consolas de la familia XBOX One y consolas XBOX Series

## Documentación conceptual

* [Subprocesos con dependencia temporal](https://learn.microsoft.com/gaming/gdk/docs/gdk-dev/console-dev/overviews/threads/time-sensitive-threads)

## Consulte también

[XGameSave](/reference/system/xgamesave/xgamesave_members)\
[XGameSaveContainerInfo](/reference/system/xgamesave/structs/xgamesavecontainerinfo)\
[XGameSaveBlob](/reference/system/xgamesave/structs/xgamesaveblob)\
[Depuración de partidas guardadas](/build/core-features/common/game-save/game-saves-debugging)


## Related topics

- [XGameSaveCloseContainer](/es/reference/system/xgamesave/functions/xgamesaveclosecontainer.md)
- [XGameSaveGetContainerInfo](/es/reference/system/xgamesave/functions/xgamesavegetcontainerinfo.md)
- [Información general de la API XGameSave](/es/build/core-features/common/game-save/xgamesave.md)
- [XGameSave](/es/reference/system/xgamesave/xgamesave_members.md)
- [Contenedores de API de C# de Unity para el GDK](/es/build/gdk-and-engines/unity/unity-api-wrappers.md)
