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

# XPackageUnregisterPackageInstalled

> XPackageUnregisterPackageInstalled

# XPackageUnregisterPackageInstalled

Désinscrit un rappel d'installation de package précédemment inscrit.

## Syntaxe

```cpp theme={null}
bool XPackageUnregisterPackageInstalled(  
         XTaskQueueRegistrationToken token,  
         bool wait  
)  
```

### Paramètres

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

Jeton renvoyé par [XPackageRegisterPackageInstalled](/fr/reference/system/xpackage/functions/xpackageregisterpackageinstalled).

*wait*   \_In\_\
Type : bool

Indique s'il faut bloquer jusqu'à ce que tous les rappels en attente soient terminés.

### Valeur de retour

Type : bool

Si *wait* a la valeur false et que la désinscription est en attente, renvoie false. Sinon, renvoie true.

## Remarques

<Note>Il n'est pas sûr 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>

La désinscription d'une notification se comporte comme suit :

* La désinscription supprime le rappel associé au jeton de l'ensemble des rappels inscrits.
* Si aucun rappel n'est en cours d'exécution pour ce jeton de rappel, l'appel renvoie true.
* Si des rappels sont en cours d'exécution et que *wait* a la valeur true, l'appel est bloqué jusqu'à ce que le rappel en cours d'exécution soit terminé.
* Si des rappels sont en cours d'exécution et que *wait* a la valeur false, l'appel n'est pas bloqué mais renvoie false. Une fois le rappel du jeton terminé, le jeton est automatiquement désinscrit.

Ce mécanisme permet les modèles de codage suivants :

1. Vous pouvez bloquer lors de la désinscription pour vous assurer que vos rappels ne sont jamais invoqués après un appel de désinscription.
2. Vous pouvez choisir de ne pas bloquer. Pour vous assurer que vos rappels sont terminés avant de supprimer des données, appelez périodiquement la désinscription avec false pour *wait*. Lorsqu'elle renvoie finalement true, tous vos rappels sont terminés et vous pouvez supprimer l'état.
3. Si peu importe à votre rappel d'être invoqué pendant un appel de désinscription, vous pouvez simplement passer false pour *wait* et ignorer la valeur de retour.

L'exemple de code suivant illustre l'utilisation de **XPackageUnregisterPackageInstalled** :

```cpp theme={null}
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

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

## Voir aussi

[XPackage](/fr/reference/system/xpackage/xpackage_members)\
[Comment créer et utiliser des packages de contenu téléchargeable (DLC) pour PC et XBOX One](/fr/build/core-features/common/packaging/packaging-downloadable-content-dlc)


## Related topics

- [XPackageUnregisterPackageInstalled](/ja-jp/reference/system/xpackage/functions/xpackageunregisterpackageinstalled.md)
- [XPackageRegisterPackageInstalled](/reference/system/xpackage/functions/xpackageregisterpackageinstalled.md)
- [XPackage](/reference/system/xpackage/xpackage_members.md)
- [XTaskQueueRegistrationToken](/reference/system/xtaskqueue/structs/xtaskqueueregistrationtoken.md)
