> ## 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.

# Almacenamiento local en la consola Xbox

> Almacenamiento local

En la consola XBOX Series X|S se puede acceder a cuatro tipos de almacenamiento local:

* Almacenamiento local temporal
* Datos del juego instalados
* Partición de trabajo (scratch) para desarrolladores
* Almacenamiento local persistente

| Tipo de almacenamiento | Ubicación |
| - | - |
| Datos del juego instalados | G:\\ |
| Almacenamiento local temporal | T:\\ |
| Partición de trabajo para desarrolladores | D:\\ |
| Almacenamiento local persistente | Llame a [XPersistentLocalStorageGetPathSize](/es/reference/system/xpersistentlocalstorage/functions/xpersistentlocalstoragegetpathsize) y [XPersistentLocalStorageGetPath](/es/reference/system/xpersistentlocalstorage/functions/xpersistentlocalstoragegetpath) para obtener el tamaño de la ruta de acceso y los datos. |
| Contenido descargable | Llame a [XPackageMount](/es/reference/system/xpackage/functions/xpackagemount) para montar el DLC y a [XPackageGetMountPath](/es/reference/system/xpackage/functions/xpackagegetmountpath) para obtener la ruta de acceso. |

**XR-133: Limitaciones de escritura en el almacenamiento local**

\[!NOTE] Los títulos que se ejecutan en XBOX Series S, XBOX Series X o cualquier
otra consola de la misma familia de consolas no deben escribir más de 1 GiB de datos en el
almacenamiento local persistente (PLS) ni en el almacenamiento local temporal durante una ventana móvil de 5 minutos. Los títulos
que superen 1 GiB de escrituras no superarán correctamente las pruebas de certificación. Los desarrolladores pueden consultar
las capturas de tiempos de PIX para ver advertencias sobre cuándo se supera el límite de escritura. Además, los títulos pueden
supervisar sus estadísticas de escritura en tiempo de ejecución llamando a [XPackageGetWriteStats](/es/reference/system/xpackage/functions/xpackagegetwritestats).

**Almacenamiento local temporal**
El almacenamiento local temporal se expone a los títulos como la *unidad T*. Se puede acceder al almacenamiento temporal mientras el
título se está ejecutando usando */x:/title* con cualquier comando de [XtfFileIO](/es/reference/tools/xtf/xtffileio/xtffileio-xbox-microsoft-n).
El almacenamiento local temporal permite almacenar y recuperar de forma remota archivos temporales, como
archivos de registro. Se garantiza que los archivos escritos en el almacenamiento local temporal solo estarán disponibles mientras un
título se está ejecutando. No hay garantías de que los datos escritos en la unidad T: se conserven de
un inicio del juego a otro. El almacenamiento temporal puede eliminarse en algún momento después de que el título
finalice.

El almacenamiento local temporal también tiene las siguientes características:

* 2 GB de almacenamiento dedicado
* El contenido se elimina después de que el título haya finalizado.
* El contenido se conserva al suspender y reanudar, incluida la reanudación rápida.

**Datos del juego instalados**
La ubicación de los datos del juego instalados del título que se está ejecutando actualmente se asigna a la
*unidad G*. Este volumen es de solo lectura dentro de la vista del juego en ejecución cuando se usan compilaciones empaquetadas.

**Partición de trabajo para desarrolladores**
La partición de trabajo para desarrolladores se expone como la *unidad D*. La partición de trabajo
para desarrolladores es almacenamiento local para usarse solo durante el desarrollo. Debe eliminar en la compilación todas las referencias
a ella en el modo comercial para evitar posibles problemas.

**Almacenamiento local persistente**
Los títulos pueden solicitar acceso al almacenamiento local persistente (PLS) como parte de su manifiesto.

Este espacio de almacenamiento está pensado para usarse como caché a largo plazo para almacenar datos que no sean partidas guardadas, como
repeticiones y grabaciones renderizadas personalizadas del juego. El PLS no está diseñado para ser un espacio de almacenamiento
de datos principal. Nunca debe usarse para partidas guardadas, actualizaciones de contenido ni cualquier otro dato que deba
existir para que el título se ejecute. En su lugar, almacene las partidas guardadas mediante la API de almacenamiento conectado o,
opcionalmente para los títulos solo en línea, mediante el almacenamiento de títulos de los servicios de XBOX o un servicio de almacenamiento en la nube
hospedado por el publicador.

El PLS tiene las siguientes características:

* Específico del título: solo puede acceder a este espacio de almacenamiento el título que lo solicitó.
* Específico de la consola: este espacio de almacenamiento siempre se crea en un XVD que es específico de la
  consola (incluso si el título está instalado en una unidad externa) y no se puede usar en otra
  consola.
* Asignación garantizada: el sistema garantiza que el espacio se asigna antes de que el título pueda
  iniciarse. Si no hay suficiente espacio disponible en el disco duro, se pide al usuario que libere
  espacio para permitir que el título se ejecute.
* Controlado por el usuario: los usuarios pueden eliminar el espacio de almacenamiento desde el shell del sistema. El sistema
  nunca elimina automáticamente ningún elemento del espacio.
* Vinculado al ciclo de vida de la instalación del título: cuando se desinstala un título, el espacio de almacenamiento local
  asociado también se elimina. Si el título se vuelve a instalar, no se restaura ninguno de los datos
  existentes anteriores.
* Resistente y a prueba de manipulaciones: el espacio de almacenamiento está cifrado y se comprueba su integridad para que
  los datos guardados por el título no puedan manipularse.

Para solicitar PLS, agregue el siguiente marcado al MicrosoftGame.config como elemento secundario de `<Game>`.

```xml theme={null}
<?xml version="1.0" encoding="utf-8"?>
<Game configVersion="1">
    <!-- snip -->
    <PersistentLocalStorage><SizeMB>1024</SizeMB></PersistentLocalStorage>
</Game>
```

Para adquirir espacio de almacenamiento local persistente, llame a [XPersistentLocalStorageGetPathSize](/es/reference/system/xpersistentlocalstorage/functions/xpersistentlocalstoragegetpathsize)
y a [XPersistentLocalStorageGetPath](/es/reference/system/xpersistentlocalstorage/functions/xpersistentlocalstoragegetpath) para obtener el tamaño de la ruta de acceso y los datos, lo que devuelve la ruta de acceso del
almacenamiento persistente del título. La cantidad total de espacio disponible se determina por lo que el
título solicitó en la declaración de MicrosoftGame.config para el almacenamiento local.

Si el título usa una actualización de contenido para aumentar el tamaño del espacio de almacenamiento local persistente
solicitado, el espacio de almacenamiento anterior se eliminará y su contenido se perderá durante la actualización.

**Almacenamiento local persistente compartible**

Los títulos pueden optar por compartir su almacenamiento local persistente como de solo lectura con otros títulos. Las relaciones que permiten a un título leer el PLS de otro título se describen a continuación:

| Producto que comparte el PLS | Productos que leen el PLS compartible |
| - | - |
| Franchise Game Hub | Todos los juegos compatibles con el centro que dependen de este Franchise Game Hub y todos los juegos que tienen relaciones [RelatedProduct](/es/reference/system/microsoftgameconfig/elements/microsoftgameconfig-element-relatedproduct) con este Franchise Game Hub. |
| Juego compatible con el centro | El Franchise Game Hub asociado y todos los juegos que tienen relaciones [RelatedProduct](/es/reference/system/microsoftgameconfig/elements/microsoftgameconfig-element-relatedproduct) con este juego. |
| Juego no compatible con el centro | Todos los juegos que tienen relaciones [RelatedProduct](/es/reference/system/microsoftgameconfig/elements/microsoftgameconfig-element-relatedproduct) con este juego. |

Para hacer que el PLS sea compartible, agregue el marcado `<Shareable>` al MicrosoftGame.config como elemento secundario de `<PersistentLocalStorage>`.

```xml theme={null}
<?xml version="1.0" encoding="utf-8"?>
<Game configVersion="1">
    <!-- snip -->
    <PersistentLocalStorage>
        <Shareable>true</Shareable> <!--This is optional, and the default value is false -->
    </PersistentLocalStorage>
</Game>
```

\[!NOTE] Si un título marca su PLS como compartible, debe asegurarse de que, antes de suspender el juego,
cierra todos los identificadores de su PLS; de lo contrario, la suspensión del juego producirá un error y el juego se terminará.

**Almacenamiento local persistente ampliable**
El almacenamiento local persistente ampliable es una extensión del PLS que permite a los títulos solicitar acceso a una
cantidad mucho mayor de espacio de almacenamiento local sin reservar permanentemente ese espacio por adelantado.  Es
adecuado para su uso por títulos que tienen algunos escenarios que requieren espacio adicional, por ejemplo,
descargas de contenido generado por el usuario (UGC) o archivos grandes de repeticiones locales, que puede que no todos los usuarios
usen.

Para solicitar PLS ampliable, agregue el siguiente marcado al MicrosoftGame.config como elemento secundario de `<Game>`.

```xml theme={null}
<?xml version="1.0" encoding="utf-8"?>
<Game configVersion="1">
    <!-- snip -->
    <PersistentLocalStorage>
        <!-- <SizeMB>1024</SizeMB>   --Optional.  To be used if your title always wants 1024 MBs pre-allocated even before launch -->
        <GrowableToMB>20480</GrowableToMB> <!-- This is not a static reservation, but the largest size your title PLS can grow to -->
    </PersistentLocalStorage>
</Game>
```

Antes de escribir en el PLS ampliable, el título debe comprobar el espacio disponible mediante la
API [XPersistentLocalStorageGetSpaceInfo](/es/reference/system/xpersistentlocalstorage/functions/xpersistentlocalstoragegetspaceinfo). Tenga en cuenta que
llamar a
[GetDiskFreeSpaceExW ](https://learn.microsoft.com/windows/win32/api/fileapi/nf-fileapi-getdiskfreespaceexw)
solo indicará a los títulos la cantidad máxima de espacio libre restante en el PLS; no se garantiza que este espacio esté
disponible.
[XPersistentLocalStorageGetSpaceInfo](/es/reference/system/xpersistentlocalstorage/functions/xpersistentlocalstoragegetspaceinfo) también devolverá el
espacio libre total, así como el espacio libre disponible (el mínimo entre lo que está libre y el espacio real
en la unidad subyacente.

Si el título necesita más espacio del disponible, no ha agotado su asignación de PLS ampliable, pero
no hay suficiente espacio subyacente en la unidad para que se pueda aumentar el XVD del PLS, deberá
pedir al usuario final que libere el espacio adicional solicitado que el título necesita mediante la
función
[XPersistentLocalStoragePromptUserForSpaceAsync](/es/reference/system/xpersistentlocalstorage/functions/xpersistentlocalstoragepromptuserforspaceasync).

Si el título usa una actualización de contenido para cambiar de un almacenamiento local persistente no ampliable a un
espacio de almacenamiento ampliable, el espacio de almacenamiento anterior se eliminará y su contenido se perderá
durante la actualización.

**Contenido descargable**

El contenido descargable, una vez instalado, se puede montar y desmontar a petición. Llame a
[XPackageMount](/es/reference/system/xpackage/functions/xpackagemount) para montar el DLC y a [XPackageGetMountPath](/es/reference/system/xpackage/functions/xpackagegetmountpath)
para obtener la ruta de acceso.

> [!NOTE]
>
> **Nunca** codifique de forma rígida los valores de ruta de acceso devueltos, ya que pueden variar con el tiempo y solo son válidos después de que se monte un paquete.

## Acceso a los datos del juego con las herramientas de consola remota

Las herramientas de consola remota pueden usar la misma asignación que los títulos en ejecución especificando **/title** con
el modificador **/X**. A continuación, las herramientas de consola remota pueden acceder a los datos escritos en el volumen de trabajo y
a los datos del juego instalados para el título actual.

Para copiar archivos del volumen de trabajo en su PC de desarrollo, use **xbcp** de la siguiente manera:

**xbcp /x:/title xd:\\***file-name* **c:\\***local-path*

Para copiar archivos de su PC de desarrollo al volumen del título, use **xbcp** de la siguiente manera:

**xbcp /x:/title c:\\***file-name* **xg:\\***dest-path*

Solo puede acceder al PLS desde un PC de desarrollo mientras el título se está ejecutando. Los archivos se pueden copiar hacia y
desde esta ubicación mediante los comandos xb. Por ejemplo:

**xbcp /x:/title c:\\***file-name* **xr:\\***dest-path*

Para obtener más información sobre la sintaxis para usar las herramientas de consola remota para trabajar con archivos en la consola,
consulte [Copia de archivos (xbcp.exe) (tema con NDA)](/es/tools/tools-console/commandlinetools/xbcp).

## Documentación de referencia de la API

* [XPackage (contenido de la API)](/es/reference/system/xpackage/xpackage_members)
  * Funciones
    * [XPackageMount](/es/reference/system/xpackage/functions/xpackagemount)
    * [XPackageGetMountPath](/es/reference/system/xpackage/functions/xpackagegetmountpath)
    * [XPackageGetWriteStats](/es/reference/system/xpackage/functions/xpackagegetwritestats)
* [xpersistentlocalstorage (contenido de la API)](/es/reference/system/xpersistentlocalstorage/xpersistentlocalstorage_members)
  * Funciones
    * [XPersistentLocalStorageGetPathSize](/es/reference/system/xpersistentlocalstorage/functions/xpersistentlocalstoragegetpathsize)
    * [XPersistentLocalStorageGetPath](/es/reference/system/xpersistentlocalstorage/functions/xpersistentlocalstoragegetpath)
    * [XPersistentLocalStorageGetSpaceInfo](/es/reference/system/xpersistentlocalstorage/functions/xpersistentlocalstoragegetspaceinfo)
    * [XPersistentLocalStoragePromptUserForSpaceAsync](/es/reference/system/xpersistentlocalstorage/functions/xpersistentlocalstoragepromptuserforspaceasync)

## Consulte también

[Información general sobre las partidas guardadas](/es/build/core-features/common/game-save/game-saves-overview)
[Franchise Game Hubs](https://learn.microsoft.com/gaming/gdk/docs/store/franchise-game-hubs)


## Related topics

- [Almacenamiento](/es/build/console-features/storage/index.md)
- [Sistemas de almacenamiento de Game Saves](/es/build/core-features/common/game-save/game-saves-storage-systems.md)
- [XPersistentLocalStorageGetSpaceInfo](/es/reference/system/xpersistentlocalstorage/functions/xpersistentlocalstoragegetspaceinfo.md)
- [XPersistentLocalStoragePromptUserForSpaceAsync](/es/reference/system/xpersistentlocalstorage/functions/xpersistentlocalstoragepromptuserforspaceasync.md)
- [XPersistentLocalStorageGetPath](/es/reference/system/xpersistentlocalstorage/functions/xpersistentlocalstoragegetpath.md)
