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

# XPackageEnumerateChunkAvailability

> XPackageEnumerateChunkAvailability

# XPackageEnumerateChunkAvailability

Examine le package d'installation et énumère la disponibilité de tous les blocs qui correspondent aux sélecteurs spécifiés.

## Syntaxe

```cpp theme={null}
HRESULT XPackageEnumerateChunkAvailability(  
         const char* packageIdentifier,  
         XPackageChunkSelectorType type,  
         void* context,  
         XPackageChunkAvailabilityCallback* callback  
)  
```

### 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 accorder des licences pour le contenu téléchargeable (DLC)](https://docs.xbox.com/fr/publishing/xstore-commerce/xstore-dlc.md).

*type*   \_In\_\
Type : [XPackageChunkSelectorType](https://docs.xbox.com/fr/reference/system/xpackage/enums/xpackagechunkselectortype.md)

Type d'attributs à énumérer.

*context*   \_In\_\
Type : void\*

Contexte à transmettre au rappel spécifié dans le paramètre *callback*.

*callback*   \_In\_\
Type : [XPackageChunkAvailabilityCallback\*](https://docs.xbox.com/fr/reference/system/xpackage/functions/xpackagechunkavailabilitycallback.md)

Rappel à appeler à la fin de l'opération.

### Valeur renvoyée

Type : HRESULT

Code de réussite ou d'erreur HRESULT.

## Remarques

> [!NOTE]
>
> Cette fonction ne peut pas être appelée en toute sécurité sur un thread à contrainte de temps. Pour plus d'informations, consultez [Threads à contrainte de temps](https://learn.microsoft.com/gaming/gdk/docs/gdk-dev/console-dev/overviews/threads/time-sensitive-threads).

**XPackageEnumerateChunkAvailability** permet d'examiner le package et d'énumérer la disponibilité de tous les sélecteurs d'un type particulier. Par exemple, un appel avec **XPackageChunkSelectorType::Language** énumère tous les attributs de langue du package, ainsi que leur disponibilité.

Dans l'exemple ci-dessous, un jeu affiche toutes les langues qu'il prend en charge et permet à l'utilisateur d'installer ou de supprimer une langue. Pour ce faire, le jeu interroge le package afin de déterminer quelles langues sont disponibles et si elles sont installées.

```cpp theme={null}
HRESULT GetPackageLanguages(_Out_ std::map<std::string, bool>& languages)
{
    char id[XPACKAGE_IDENTIFIER_MAX_LENGTH];

    HRESULT hr = XPackageGetCurrentProcessPackageIdentifier(_countof(id), id);
    if (FAILED(hr)) return hr;

    hr = XPackageEnumerateChunkAvailability(id,
        XPackageChunkSelectorType::Language, &languages,
        [](void* context, const XPackageChunkSelector* sel, XPackageChunkAvailability av)
    {
        auto languages = static_cast<std::map<std::string, bool>*>(context);
        switch (av)
        {
        case XPackageChunkAvailability::Ready:
        case XPackageChunkAvailability::Pending:
            languages->emplace(sel->language, true);
            break;

        case XPackageChunkAvailability::Installable:
            languages->emplace(sel->language, false);
            break;

        case XPackageChunkAvailability::Unavailable:
        default:
            break;
        }
        return true;
    });

    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

* [Threads à contrainte de temps](https://learn.microsoft.com/gaming/gdk/docs/gdk-dev/console-dev/overviews/threads/time-sensitive-threads)

## Voir aussi

[XPackage](https://docs.xbox.com/fr/reference/system/xpackage/xpackage_members.md)\
[Installation en streaming et Intelligent Delivery](https://docs.xbox.com/fr/build/core-features/common/packaging/overviews/streaming_install-intelligent_delivery.md)


## Related topics

- [XPackageChunkAvailabilityCallback](https://docs.xbox.com/fr/reference/system/xpackage/functions/xpackagechunkavailabilitycallback.md)
- [XPackage (contenu de l'API)](https://docs.xbox.com/fr/reference/system/xpackage/xpackage_members.md)
- [Utilisation des wrappers C# pour les API GDK dans votre projet Unity](https://docs.xbox.com/fr/build/gdk-and-engines/unity/unity-api-wrappers.md)
- [XPackageChunkAvailability](https://docs.xbox.com/fr/reference/system/xpackage/enums/xpackagechunkavailability.md)
- [XPackageFindChunkAvailability](https://docs.xbox.com/fr/reference/system/xpackage/functions/xpackagefindchunkavailability.md)
