Skip to main content

XPackageRegisterInstallationProgressChanged

Inscrit un rappel à appeler lorsque la progression de l’installation change.

Syntaxe

Paramètres

installationMonitor   _In_
Type : XPackageInstallationMonitorHandle
Handle vers le moniteur d’installation auprès duquel le rappel doit être inscrit. context   _In_opt_
Type : void*
Contexte à passer au rappel. callback   _In_
Type : XPackageInstallationProgressCallback*
Rappel défini par l’utilisateur à appeler lorsque la progression de l’installation change. token   _Out_
Type : XTaskQueueRegistrationToken*
Jeton qui identifie le rappel et qui peut servir à annuler ultérieurement l’inscription du rappel à l’aide de XPackageUnregisterInstallationProgressChanged.

Valeur de retour

Type : HRESULT Code de réussite ou d’erreur HRESULT.

Remarques

Un jeu a implémenté un marqueur de lancement afin de pouvoir être exécuté avant d’être complètement installé. Le jeu doit savoir quelles parties sont installées et lesquelles ne le sont pas. Dans cet exemple, le jeu doit savoir quand les blocs associés à un circuit portant le nom de piste spécifié sont installés :
Examinons chacun des appels d’API du code ci-dessus :
Tout contenu installé possède un identificateur unique. Vous pouvez surveiller l’installation de n’importe quel package si vous connaissez son identificateur et avez accès à ce contenu. Un processus en cours d’exécution peut obtenir son propre identificateur de package. Pour plus d’informations sur les identificateurs de package, consultez Gérer le contenu téléchargeable (DLC) et ses licences.
Ce code crée un moniteur qui suit l’état de l’installation. Ce moniteur d’installation se met à jour à une cadence régulière. Pour obtenir la progression actuelle d’une installation, appelez XPackageGetInstallationProgress; pour être averti d’un changement pendant une installation, inscrivez un rappel. Vous pouvez créer le moniteur d’installation pour l’ensemble du package ou pour un sous-ensemble particulier. Ici, vous avez défini un « sélecteur » qui indique que vous souhaitez connaître la progression de l’installation pour un nom de piste. Vous pouvez spécifier une fréquence (dans ce cas, 1000 ms) qui indique à quelle fréquence le moniteur d’installation mettra à jour son instantané de la progression, jusqu’à cette vitesse. Si aucune progression n’a été réalisée dans ce délai, la mise à jour pourrait être plus lente.
Vous voulez savoir quand le chargement de la piste est terminé; vous inscrivez donc un événement de changement de progression sur le moniteur. Ce rappel sera appelé par l’intermédiaire de la file d’attente de tâches fournie lors de la création du moniteur, approximativement à la cadence spécifiée dans XPackageCreateInstallationMonitor. Dans le rappel, vous pouvez afficher la progression dans le jeu ou avertir le jeu qu’une piste est prête. Dans cet exemple, vous fermez le moniteur d’installation, mais vous n’annulez pas l’inscription de la notification. La durée de vie d’une notification de moniteur d’installation est liée au moniteur d’installation; par conséquent, la fermeture du moniteur annule l’inscription de toutes ses notifications.

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

Voir aussi

XPackage
Installation en continu et Intelligent Delivery
XPackageGetInstallationProgress
XPackageCreateInstallationMonitor
Last modified on October 6, 2026