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

# XPackageEnumeratePackages

> XPackageEnumeratePackages

# XPackageEnumeratePackages

Recherche les packages déjà installés, ou en cours d'installation, qui sont liés au processus appelant.

## Syntaxe

```cpp theme={null}
HRESULT XPackageEnumeratePackages(  
         XPackageKind kind,  
         XPackageEnumerationScope scope,  
         void* context,  
         XPackageEnumerationCallback* callback  
)  
```

### Paramètres

*kind*   \_In\_\
Type : [XPackageKind](https://docs.xbox.com/fr/reference/system/xpackage/enums/xpackagekind.md)

Type des packages d'installation à énumérer.

*scope*   \_In\_\
Type : [XPackageEnumerationScope](https://docs.xbox.com/fr/reference/system/xpackage/enums/xpackageenumerationscope.md)

Étendue des packages d'installation.

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

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

*callback*   \_In\_\
Type : XPackageEnumerationCallback\*

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

Utilisez **XPackageEnumeratePackages** pour rechercher les packages déjà installés, ou en cours d'installation, qui sont liés au processus appelant. Cette fonction peut trouver des packages de contenu ainsi que des packages d'application. Elle fournit des détails sur une installation par le biais d'une structure XPackageDetails.

Si le package est toujours en cours d'installation, la propriété **installing** est définie sur true et vous pouvez créer un moniteur d'installation afin d'utiliser l'identificateur du package pour surveiller la progression de l'installation.

Il n'existe pas de notifications génériques de file d'attente d'installation ; l'objectif est d'utiliser [XPackageEnumeratePackages](https://docs.xbox.com/fr/reference/system/xpackage/functions/xpackageenumeratepackages.md) pour afficher et suivre les éléments en cours. Il n'existe pas non plus d'API permettant d'arrêter, de démarrer ou d'annuler une installation. Du point de vue d'un jeu, l'installation doit se gérer d'elle-même. Les erreurs font automatiquement l'objet de nouvelles tentatives et sont invisibles pour le jeu.

La sortie de l'API, lorsqu'elle est appelée avec la valeur [XPackageKind::Game](https://docs.xbox.com/fr/reference/system/xpackage/enums/xpackagekind.md), dépend de la valeur [XPackageEnumerationScope](https://docs.xbox.com/fr/reference/system/xpackage/enums/xpackageenumerationscope.md) comme suit :

| Étendue | Hub de jeux de franchise | Jeu compatible avec les hubs | Jeu non compatible avec les hubs |
| - | - | - | - |
| ThisOnly | Uniquement le hub de jeux de franchise | Uniquement le jeu compatible avec les hubs | Uniquement le jeu non compatible avec les hubs |
| ThisAndRelated | Le hub de jeux de franchise, tous les jeux compatibles avec les hubs qui lui sont associés et tous les RelatedProducts | Le jeu compatible avec les hubs et tous les RelatedProducts | Le jeu non compatible avec les hubs et tous les RelatedProducts |
| ThisPublisher | Tous les produits de jeu appartenant au même éditeur que le processus actuel | Tous les produits de jeu appartenant au même éditeur que le processus actuel | Tous les produits de jeu appartenant au même éditeur que le processus actuel |

La sortie de l'API, lorsqu'elle est appelée avec la valeur [XPackageKind::Content](https://docs.xbox.com/fr/reference/system/xpackage/enums/xpackagekind.md), dépend de la valeur [XPackageEnumerationScope](https://docs.xbox.com/fr/reference/system/xpackage/enums/xpackageenumerationscope.md) comme suit :

| Étendue | Hub de jeux de franchise | Jeu compatible avec les hubs | Jeu non compatible avec les hubs |
| - | - | - | - |
| ThisOnly | Les DLC liés à ce hub de jeux de franchise | Les DLC liés à ce jeu compatible avec les hubs | Les DLC liés à ce jeu non compatible avec les hubs |
| ThisAndRelated | Les DLC liés à ce hub de jeux de franchise, à ses titres compatibles avec les hubs et à tous ses RelatedProducts | Les DLC liés à ce jeu compatible avec les hubs et à tous ses RelatedProducts | Les DLC liés à ce jeu non compatible avec les hubs et à tous ses RelatedProducts |
| ThisPublisher | Tous les DLC (du même éditeur ou d'autres éditeurs) liés à un jeu de base du même éditeur que le processus actuel | Tous les DLC (du même éditeur ou d'autres éditeurs) liés à un jeu de base du même éditeur que le processus actuel | Tous les DLC (du même éditeur ou d'autres éditeurs) liés à un jeu de base du même éditeur que le processus actuel |

Exemple :

```cpp theme={null}
bool CALLBACK ListDlcCallback(
    void* /* context */,
    const XPackageDetails* details)
{
    printf("Found dlc: %s\n", details->displayName);
    return true; // continue enumerating
}

HRESULT ListDlc()
{
    HRESULT hr = XPackageEnumeratePackages(
        XPackageKind::Content,                      /* Looking for content packages (DLC) */
        XPackageEnumerationScope::ThisAndRelated,   /* For this game and related games*/
        nullptr, ListDlcCallback);
    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 langue](https://docs.xbox.com/fr/build/core-features/common/packaging/intelligentdelivery-language.md)
* [Packages de contenu téléchargeable (DLC) du GDK](https://docs.xbox.com/fr/build/core-features/common/packaging/packaging-downloadable-content-dlc.md)
* [Threads à contrainte de temps](https://learn.microsoft.com/gaming/gdk/docs/gdk-dev/console-dev/overviews/threads/time-sensitive-threads)
* [Recherche de mises à jour](https://docs.xbox.com/fr/publishing/xstore-commerce/xstore-checking-updates.md)
* [Gérer et accorder des licences pour le contenu téléchargeable (DLC)](https://docs.xbox.com/fr/publishing/xstore-commerce/xstore-dlc.md)

## Voir aussi

[XPackage](https://docs.xbox.com/fr/reference/system/xpackage/xpackage_members.md)\
[Hubs de jeux de franchise](https://learn.microsoft.com/gaming/gdk/docs/store/franchise-game-hubs)\
[Comment créer et utiliser des packages de contenu téléchargeable (DLC) pour PC et XBOX One](https://docs.xbox.com/fr/build/core-features/common/packaging/packaging-downloadable-content-dlc.md)


## Related topics

- [XPackageGetPackageKind](https://docs.xbox.com/fr/reference/system/xpackage/functions/xpackagegetpackagekind.md)
- [XPackageDetails](https://docs.xbox.com/fr/reference/system/xpackage/structs/xpackagedetails.md)
- [XPackageEnumerationCallback](https://docs.xbox.com/fr/reference/system/xpackage/functions/xpackageenumerationcallback.md)
- [XPackageRegisterPackageInstalled](https://docs.xbox.com/fr/reference/system/xpackage/functions/xpackageregisterpackageinstalled.md)
- [XPackageChunkAvailabilityCallback](https://docs.xbox.com/fr/reference/system/xpackage/functions/xpackagechunkavailabilitycallback.md)
