Skip to main content

XPackageCreateInstallationMonitor

Crée un moniteur de l’état de l’installation.

Syntaxe

Paramètres

packageIdentifier   _In_z_
Type : char*
Chaîne qui identifie de façon unique le package installé sur le disque. Pour plus d’informations sur les identificateurs de package, consultez Gérer le contenu téléchargeable (DLC) et ses licences. selectorCount   _In_
Type : uint32_t
Nombre de sélecteurs dans le paramètre selectors. selectors   _In_reads_opt_(selectorCount)
Type : XPackageChunkSelector*
Tableau de sélecteurs qui spécifient les blocs à surveiller. minimumUpdateIntervalMs   _In_
Type : uint32_t
Résolution du moniteur, en millisecondes. queue   _In_opt_
Type : XTaskQueueHandle
File d’attente dans laquelle les mises à jour sont effectuées. installationMonitor   _Out_
Type : XPackageInstallationMonitorHandle*
Au retour, pointe vers le moniteur d’installation créé.

Valeur de retour

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

Remarques

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.
XPackageCreateInstallationMonitor crée un moniteur qui suit l’état de l’installation. Le moniteur se met à jour et s’actualise à intervalles réguliers selon l’intervalle de mise à jour spécifié. Les mises à jour sont planifiées dans la file d’attente de tâches spécifiée. Un intervalle de zéro indique que les mises à jour ne doivent jamais être effectuées et crée un moniteur d’installation qui constitue un instantané unique de l’installation. Si un intervalle de zéro est passé, le paramètre queue peut être null. Pour obtenir la progression actuelle d’une installation, appelez XPackageGetInstallationProgress; pour être averti d’un changement pendant une installation, inscrivez un rappel. Ce moniteur d’installation peut être créé pour l’ensemble du package ou pour un sous-ensemble particulier. Un jeu a implémenté un marqueur de lancement, de sorte qu’il peut être exécuté avant d’être complètement installé. Le jeu devra savoir quelles parties sont installées et lesquelles ne le sont pas. Dans cet exemple, le jeu doit savoir quand les blocs associés à une piste de course portant le nom de piste spécifié sont installés :
Examinons chaque appel d’API dans le code présenté ci-dessus :
Tout le contenu installé aura un identificateur unique. Vous pouvez surveiller l’installation de n’importe quel package si vous connaissez l’identificateur du package et avez accès à ce contenu. Un processus en cours d’exécution peut obtenir son propre identificateur de package.
Ce code crée un moniteur qui suit l’état de l’installation. Ce moniteur d’installation se met à jour à intervalles réguliers. 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, 1 000 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é, alors vous inscrivez 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, à peu près à la fréquence 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 sans désinscrire 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 désinscrit toutes les notifications qui lui sont associées.

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
Last modified on October 6, 2026