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

# XPackageRegisterPackageInstalled

> XPackageRegisterPackageInstalled

# XPackageRegisterPackageInstalled

Inscrit un rappel à appeler lorsqu'une installation est terminée.

## Syntaxe

```cpp theme={null}
HRESULT XPackageRegisterPackageInstalled(  
         XTaskQueueHandle queue,  
         void* context,  
         XPackageInstalledCallback* callback,  
         XTaskQueueRegistrationToken* token  
)  
```

### Paramètres

*queue*   \_In\_\
Type : XTaskQueueHandle

File d'attente asynchrone sur laquelle le rappel doit s'exécuter.

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

Contexte à passer au rappel.

*callback*   \_In\_\
Type : XPackageInstalledCallback\*

Rappel défini par l'utilisateur à appeler lorsqu'une installation est terminée.

*token*   \_Out\_\
Type : [XTaskQueueRegistrationToken\*](/fr/reference/system/xtaskqueue/structs/xtaskqueueregistrationtoken)

Au retour, contient un jeton qui identifie le rappel et qui peut être utilisé pour désinscrire le rappel avec [XPackageUnregisterPackageInstalled](/fr/reference/system/xpackage/functions/xpackageunregisterpackageinstalled).

### Valeur de retour

Type : HRESULT

Code de réussite ou d'erreur HRESULT.

## Remarques

Les notifications PackageInstalled permettent de déterminer quand un nouveau package est entièrement installé.

Les API [XPackageEnumeratePackages](/fr/reference/system/xpackage/functions/xpackageenumeratepackages) et [XPackageRegisterPackageInstalled](/fr/reference/system/xpackage/functions/xpackageregisterpackageinstalled) fournissent toutes deux des détails sur une installation, par l'intermédiaire d'une structure **XPackageDetails**. Si le package est en cours d'installation, la propriété **installing** a la valeur true et vous pouvez créer un moniteur d'installation afin que l'identificateur du package surveille 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](/fr/reference/system/xpackage/functions/xpackageenumeratepackages) pour afficher et suivre les éléments en cours, et d'utiliser **PackageInstalled** pour annoncer la présence d'un nouveau DLC. 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 doit se gérer d'elle-même. Les erreurs font automatiquement l'objet de nouvelles tentatives et sont invisibles pour le jeu.

Dans l'exemple suivant, **XPackageRegisterPackageInstalled** est utilisé pour afficher un message lorsqu'un nouveau package DLC est installé :

```cpp theme={null}
void CALLBACK NewPackageAdded(void* /* context */, const XPackageDetails* details)
{
    if (details->kind == XPackageKind::Content)
    {
        printf("Package added: %s\n", details->displayName);
    }
}

HRESULT ListenForNewDlc(XTaskQueueHandle queue, XTaskQueueRegistrationToken* token)
{
    HRESULT hr = XPackageRegisterPackageInstalled(queue, nullptr, NewPackageAdded, token);
    return hr;
}

void StopListeningForDlc(XTaskQueueRegistrationToken token)
{
    XPackageUnregisterPackageInstalled(token, false);
}
```

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

* [Installation en streaming : état](/fr/build/core-features/common/packaging/packaging-installstatus)

## Voir aussi

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


## Related topics

- [XPackageUnregisterPackageInstalled](/fr/reference/system/xpackage/functions/xpackageunregisterpackageinstalled.md)
- [XPackageInstalledCallback](/fr/reference/system/xpackage/functions/xpackageinstalledcallback.md)
- [XPackageEnumerationCallback](/fr/reference/system/xpackage/functions/xpackageenumerationcallback.md)
- [Installation en streaming : état](/fr/build/core-features/common/packaging/packaging-installstatus.md)
- [XPackage](/fr/reference/system/xpackage/xpackage_members.md)
