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

# XPackageInstallChunks

> XPackageInstallChunks

# XPackageInstallChunks

Inicia la instalación de fragmentos.

## Sintaxis

```cpp theme={null}
HRESULT XPackageInstallChunks(  
         const char* packageIdentifier,  
         uint32_t selectorCount,  
         XPackageChunkSelector* selectors,  
         uint32_t minimumUpdateIntervalMs,  
         bool suppressUserConfirmation,  
         XTaskQueueHandle queue,  
         XPackageInstallationMonitorHandle* installationMonitor  
)  
```

### Parámetros

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

Una cadena que identifica de forma única el paquete instalado en el disco. Para obtener más información sobre los identificadores de paquete, consulte [Administración y concesión de licencias de contenido descargable (DLC)](/publishing/xstore-commerce/xstore-dlc).

*selectorCount*   \_In\_\
Tipo: uint32\_t

El número de selectores del parámetro *selectors*.

*selectors*   \_In\_reads\_(selectorCount)\
Tipo: [XPackageChunkSelector\*](/reference/system/xpackage/structs/xpackagechunkselector)

Una matriz de selectores que especifican los fragmentos que se van a instalar.

*minimumUpdateIntervalMs*   \_In\_\
Tipo: uint32\_t

El intervalo entre actualizaciones, en milisegundos.

*suppressUserConfirmation*   \_In\_\
Tipo: bool

Si los fragmentos que se van a instalar superan un tamaño preestablecido, se mostrará un mensaje de confirmación. Si *suppressUserConfirmation* es true, no se mostrará ningún mensaje y la instalación progresará como si el usuario hubiera aceptado. Esto permite que el juego presente su propia interfaz de usuario. Si el juego usa esta opción, también debe llamar a [XPackageEstimateDownloadSize](/reference/system/xpackage/functions/xpackageestimatedownloadsize) para obtener el tamaño que se presentará al usuario. [XPackageEstimateDownloadSize](/reference/system/xpackage/functions/xpackageestimatedownloadsize) también devuelve un valor booleano, para indicar si el tamaño es lo suficientemente grande como para que se deba mostrar un mensaje. Si se necesita una confirmación de descarga, el juego debe mostrarla mediante su propia interfaz de usuario o dejar que **XPackageInstallChunks** la muestre.

*queue*   \_In\_opt\_\
Tipo: XTaskQueueHandle

La cola asincrónica en la que se realizará el trabajo.

*installationMonitor*   \_Out\_\
Tipo: XPackageInstallationMonitorHandle\*

Al devolverse, contiene un identificador de un monitor de instalación que supervisará la instalación de los fragmentos que coincidan con el selector.

### Valor devuelto

Tipo: HRESULT

HRESULT de éxito o código de error.\
Devuelve un error de cancelación si se rechaza la instalación.

## Comentarios

<Note>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](https://learn.microsoft.com/gaming/gdk/docs/gdk-dev/console-dev/overviews/threads/time-sensitive-threads).</Note>

La instalación de fragmentos podría implicar pedir al usuario que acepte el tamaño de la descarga.

* Si usa la versión sincrónica de esta API, se bloqueará hasta que el usuario acepte o rechace la descarga. Si el usuario la rechaza, la llamada dará error con el error de cancelación E\_ABORT. Esto devolverá un monitor de instalación que puede usar para supervisar el estado de la instalación. En algún momento se debe cerrar el monitor, llamando a XPackageCloseInstallationMonitorHandle.
* Establecer suppressUserConfirmation en true le permitirá proporcionar una interfaz de usuario personalizada que pedirá al usuario que confirme la descarga.

Este ejemplo instalará los fragmentos que corresponden a la etiqueta "BigMaps":

```cpp theme={null}
void CALLBACK BigMapsInstallProgress(
    void* /* context */,
    XPackageInstallationMonitorHandle monitor)
{
    XPackageInstallationProgress progress;
    XPackageGetInstallationProgress(monitor, &progress);
    if (progress.completed)
    {
        printf("BigMaps Installed\n");
        XPackageCloseInstallationMonitorHandle(monitor);
    }
}

HRESULT InstallBigMaps(XTaskQueueHandle queue)
{
    char id[XPACKAGE_IDENTIFIER_MAX_LENGTH];
    HRESULT hr = XPackageGetCurrentProcessPackageIdentifier(_countof(id), id);
    if (FAILED(hr)) return hr;

    XPackageChunkSelector selector;
    selector.type = XPackageChunkSelectorType::Tag;
    selector.tag = "BigMaps";

    XPackageInstallationMonitorHandle monitor;
    hr = XPackageInstallChunks(id, 1, &selector, 1000, false, queue, &monitor);

    if (SUCCEEDED(hr))
    {
        XTaskQueueRegistrationToken token;
        hr = XPackageRegisterInstallationProgressChanged(
            monitor,
            nullptr,
            BigMapsInstallProgress,
            &token);

        if (FAILED(hr))
        {
            XPackageCloseInstallationMonitorHandle(monitor);
        }
    }

    return hr;
}
```

## Requisitos

**Encabezado:** XPackage.h

**Biblioteca:** xgameruntime.lib

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

## Documentación conceptual

* [Entrega inteligente: especificadores de etiqueta personalizados](/build/core-features/common/packaging/intelligentdelivery-custom)
* [Entrega inteligente: características y recetas](/build/core-features/common/packaging/intelligentdelivery-features-recipes)
* [Entrega inteligente: especificadores de idioma](/build/core-features/common/packaging/intelligentdelivery-language)
* [Entrega inteligente: contenido a petición (OnDemand)](/build/core-features/common/packaging/intelligentdelivery-ondemand)
* [Subprocesos sensibles al tiempo](https://learn.microsoft.com/gaming/gdk/docs/gdk-dev/console-dev/overviews/threads/time-sensitive-threads)

## Consulte también

[XPackage](/reference/system/xpackage/xpackage_members)


## Related topics

- [XPackageInstallChunksAsync](/es/reference/system/xpackage/functions/xpackageinstallchunksasync.md)
- [XPackageInstallChunksResult](/es/reference/system/xpackage/functions/xpackageinstallchunksresult.md)
- [Intelligent Delivery: especificadores de etiqueta personalizada](/es/build/core-features/common/packaging/intelligentdelivery-custom.md)
- [Intelligent Delivery: características y recetas](/es/build/core-features/common/packaging/intelligentdelivery-features-recipes.md)
- [Intelligent Delivery: contenido OnDemand](/es/build/core-features/common/packaging/intelligentdelivery-ondemand.md)
