> ## 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 façon unique le package installé sur le disque. Pour plus d'informations sur les identificateurs de package, consultez [Gérer le contenu téléchargeable (DLC) et ses licences](/fr-CA/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-CA/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-CA/reference/system/xpackage/functions/xpackageestimatedownloadsize) pour obtenir la taille qui sera présentée à l'utilisateur. [XPackageEstimateDownloadSize](/fr-CA/reference/system/xpackage/functions/xpackageestimatedownloadsize) retourne également une valeur booléenne qui indique si la taille est suffisamment grande pour qu'une invite doive être affichée. Si une confirmation de téléchargement est nécessaire, le jeu doit soit l'afficher au moyen de sa propre interface utilisateur, soit laisser **XPackageInstallChunks** l'afficher.

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

File d'attente asynchrone dans 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.\
Retourne une erreur d'annulation si l'installation est refusée.

## Remarques

<Note>Il n'est pas sécuritaire 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 nécessiter de demander à l'utilisateur d'accepter la taille du téléchargement.

* Si vous utilisez la version synchrone de cette API, elle bloquera jusqu'à ce que l'utilisateur accepte ou refuse le téléchargement. Si l'utilisateur refuse, l'appel échouera avec l'erreur d'annulation E\_ABORT. Cette API retourne un moniteur d'installation que vous pouvez utiliser pour surveiller l'état de l'installation. Le moniteur doit finalement être fermé en appelant XPackageCloseInstallationMonitorHandle.
* Affecter la valeur true à suppressUserConfirmation vous permet de fournir une interface utilisateur personnalisée qui demandera à l'utilisateur d'accepter le téléchargement.

Cet exemple installe les blocs qui correspondent à l'étiquette « 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 d'étiquettes personnalisés](/fr-CA/build/core-features/common/packaging/intelligentdelivery-custom)
* [Intelligent Delivery : fonctionnalités et recettes](/fr-CA/build/core-features/common/packaging/intelligentdelivery-features-recipes)
* [Intelligent Delivery : spécificateurs de langue](/fr-CA/build/core-features/common/packaging/intelligentdelivery-language)
* [Intelligent Delivery : contenu OnDemand](/fr-CA/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-CA/reference/system/xpackage/xpackage_members)


## Related topics

- [XPackageInstallChunks](/ja-jp/reference/system/xpackage/functions/xpackageinstallchunks.md)
- [XPackageInstallChunksAsync](/reference/system/xpackage/functions/xpackageinstallchunksasync.md)
- [XPackageInstallChunksResult](/reference/system/xpackage/functions/xpackageinstallchunksresult.md)
- [Intelligent Delivery: custom tag specifiers](/build/core-features/common/packaging/intelligentdelivery-custom.md)
- [Intelligent Delivery: features and recipes](/build/core-features/common/packaging/intelligentdelivery-features-recipes.md)
