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

Démarre l'installation de blocs.

## Syntaxe

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

### Paramètres

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

Chaîne qui identifie de manière unique le package installé sur le disque. Pour plus d'informations sur les identificateurs de package, consultez [Gérer et octroyer des licences pour le contenu téléchargeable (DLC)](/fr/publishing/xstore-commerce/xstore-dlc).

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

Nombre de sélecteurs dans le paramètre *selectors*.

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

Tableau de sélecteurs qui spécifient les blocs à installer.

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

Intervalle entre les mises à jour, en millisecondes.

*suppressUserConfirmation*   \_In\_\
Type : bool

Si les blocs à installer dépassent une taille prédéfinie, une invite de confirmation s'affiche. Si *suppressUserConfirmation* a la valeur true, aucune invite ne s'affiche et l'installation se poursuit comme si l'utilisateur avait accepté. Cela permet au jeu de présenter sa propre interface utilisateur. Si le jeu utilise cette option, il doit également appeler [XPackageEstimateDownloadSize](/fr/reference/system/xpackage/functions/xpackageestimatedownloadsize) pour obtenir la taille qui sera présentée à l'utilisateur. [XPackageEstimateDownloadSize](/fr/reference/system/xpackage/functions/xpackageestimatedownloadsize) renvoie également un booléen indiquant si la taille est suffisamment importante pour qu'une invite soit affichée. Si une confirmation de téléchargement est nécessaire, le jeu doit soit l'afficher à l'aide de sa propre interface utilisateur, soit laisser **XPackageInstallChunks** l'afficher.

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

File d'attente asynchrone sur laquelle le travail sera effectué.

*installationMonitor*   \_Out\_\
Type : XPackageInstallationMonitorHandle\*

Au retour, contient un handle vers un moniteur d'installation qui surveillera l'installation des blocs correspondant au sélecteur.

### Valeur de retour

Type : HRESULT

Code de réussite ou d'erreur HRESULT.\
Renvoie une erreur d'annulation si l'installation est refusée.

## Remarques

<Note>Il n'est pas sûr d'appeler cette fonction sur un thread urgent. Pour plus d'informations, consultez [Threads urgents](https://learn.microsoft.com/gaming/gdk/docs/gdk-dev/console-dev/overviews/threads/time-sensitive-threads).</Note>

L'installation de blocs peut impliquer de demander à l'utilisateur d'accepter la taille du téléchargement.

* Si vous utilisez la version synchrone de cette API, elle reste bloquée jusqu'à ce que l'utilisateur accepte ou refuse le téléchargement. Si l'utilisateur refuse, l'appel échoue avec l'erreur d'annulation E\_ABORT. Elle renvoie un moniteur d'installation que vous pouvez utiliser pour surveiller l'état de l'installation. Le moniteur doit finalement être fermé en appelant XPackageCloseInstallationMonitorHandle.
* Définir suppressUserConfirmation sur true vous permet de fournir une interface utilisateur personnalisée qui demandera à l'utilisateur de confirmer le téléchargement.

Cet exemple installe les blocs qui correspondent à la balise « 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;
}
```

## Configuration requise

**En-tête :** XPackage.h

**Bibliothèque :** xgameruntime.lib

**Plateformes prises en charge :** Windows, consoles de la famille XBOX One et consoles XBOX Series

## Documentation conceptuelle

* [Intelligent Delivery : spécificateurs de balises personnalisées](/fr/build/core-features/common/packaging/intelligentdelivery-custom)
* [Intelligent Delivery : fonctionnalités et recettes](/fr/build/core-features/common/packaging/intelligentdelivery-features-recipes)
* [Intelligent Delivery : spécificateurs de langue](/fr/build/core-features/common/packaging/intelligentdelivery-language)
* [Intelligent Delivery : contenu OnDemand](/fr/build/core-features/common/packaging/intelligentdelivery-ondemand)
* [Threads urgents](https://learn.microsoft.com/gaming/gdk/docs/gdk-dev/console-dev/overviews/threads/time-sensitive-threads)

## Voir aussi

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


## Related topics

- [XPackageInstallChunksAsync](/fr/reference/system/xpackage/functions/xpackageinstallchunksasync.md)
- [XPackageInstallChunksResult](/fr/reference/system/xpackage/functions/xpackageinstallchunksresult.md)
- [Intelligent Delivery : spécificateurs de balises personnalisées](/fr/build/core-features/common/packaging/intelligentdelivery-custom.md)
- [Intelligent Delivery : fonctionnalités et recettes](/fr/build/core-features/common/packaging/intelligentdelivery-features-recipes.md)
- [Intelligent Delivery : contenu OnDemand](/fr/build/core-features/common/packaging/intelligentdelivery-ondemand.md)
