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

# XPackageEnumeratePackages

> XPackageEnumeratePackages

# XPackageEnumeratePackages

Trouve les packages qui sont déjà installés, ou en cours d'installation, et 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](/fr-CA/reference/system/xpackage/enums/xpackagekind)

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

*scope*   \_In\_\
Type : [XPackageEnumerationScope](/fr-CA/reference/system/xpackage/enums/xpackageenumerationscope)

Étendue des packages d'installation.

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

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

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

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

### Valeur de retour

Type : HRESULT

Code de réussite ou d'erreur HRESULT.

## Remarques

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

Utilisez **XPackageEnumeratePackages** pour trouver les packages qui sont déjà installés, ou en cours d'installation, et 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 au moyen 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 pour permettre à l'identificateur du package de surveiller la progression de l'installation.

Il n'existe aucune notification générique de file d'attente d'installation; l'intention est d'utiliser [XPackageEnumeratePackages](/fr-CA/reference/system/xpackage/functions/xpackageenumeratepackages) pour afficher et suivre les éléments en cours. Il n'existe pas non plus d'API pour arrêter, démarrer ou annuler une installation. Du point de vue d'un jeu, l'installation devrait 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](/fr-CA/reference/system/xpackage/enums/xpackagekind), selon la valeur de [XPackageEnumerationScope](/fr-CA/reference/system/xpackage/enums/xpackageenumerationscope), sera :

| Étendue | Hub de jeux de franchise | Jeu compatible avec le hub | Jeu non compatible avec le hub |
| - | - | - | - |
| ThisOnly | Uniquement le hub de jeux de franchise | Uniquement le jeu compatible avec le hub | Uniquement le jeu non compatible avec le hub |
| ThisAndRelated | Le hub de jeux de franchise, tous les jeux compatibles avec le hub qui y sont associés et tous les RelatedProducts | Le jeu compatible avec le hub et tous les RelatedProducts | Le jeu non compatible avec le hub 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](/fr-CA/reference/system/xpackage/enums/xpackagekind), selon la valeur de [XPackageEnumerationScope](/fr-CA/reference/system/xpackage/enums/xpackageenumerationscope), sera :

| Étendue | Hub de jeux de franchise | Jeu compatible avec le hub | Jeu non compatible avec le hub |
| - | - | - | - |
| ThisOnly | Les DLC liés à ce hub de jeux de franchise | Les DLC liés à ce jeu compatible avec le hub | Les DLC liés à ce jeu non compatible avec le hub |
| ThisAndRelated | Les DLC liés à ce hub de jeux de franchise, à ses titres compatibles avec le hub et à tous ses RelatedProducts | Les DLC liés à ce jeu compatible avec le hub et à tous ses RelatedProducts | Les DLC liés à ce jeu non compatible avec le hub 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](/fr-CA/build/core-features/common/packaging/intelligentdelivery-language)
* [Packages de contenu téléchargeable (DLC) du GDK](/fr-CA/build/core-features/common/packaging/packaging-downloadable-content-dlc)
* [Threads sensibles au temps](https://learn.microsoft.com/gaming/gdk/docs/gdk-dev/console-dev/overviews/threads/time-sensitive-threads)
* [Vérification des mises à jour](/fr-CA/publishing/xstore-commerce/xstore-checking-updates)
* [Gérer le contenu téléchargeable (DLC) et ses licences](/fr-CA/publishing/xstore-commerce/xstore-dlc)

## Voir aussi

[XPackage](/fr-CA/reference/system/xpackage/xpackage_members)\
[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](/fr-CA/build/core-features/common/packaging/packaging-downloadable-content-dlc)


## Related topics

- [XPackageEnumeratePackages](/reference/system/xpackage/functions/xpackageenumeratepackages.md)
- [XPackageGetPackageKind](/reference/system/xpackage/functions/xpackagegetpackagekind.md)
- [XPackageEnumerationCallback](/reference/system/xpackage/functions/xpackageenumerationcallback.md)
- [XPackageRegisterPackageInstalled](/reference/system/xpackage/functions/xpackageregisterpackageinstalled.md)
- [XPackageDetails](/reference/system/xpackage/structs/xpackagedetails.md)
