Skip to main content

XPackageRegisterInstallationProgressChanged

インストールの進行状況が変化したときに呼び出されるコールバックを登録します。

Syntax

Parameters

installationMonitor   _In_
型: XPackageInstallationMonitorHandle
コールバックを登録するインストール モニターへのハンドル。 context   _In_opt_
型: void*
コールバックに渡されるコンテキスト。 callback   _In_
型: XPackageInstallationProgressCallback*
インストールの進行状況が変化したときに呼び出されるユーザー定義のコールバック。 token   _Out_
型: XTaskQueueRegistrationToken*
後で XPackageUnregisterInstallationProgressChanged を使用してコールバックを登録解除するために使用できる、コールバックを識別するトークン。

Return value

型: HRESULT HRESULT の成功またはエラー コード。

Remarks

ゲームが起動マーカーを実装しており、完全にインストールされる前に実行できるようになっています。ゲームは、どの部分がインストールされていて、どの部分がインストールされていないかを知る必要があります。この例では、ゲームは指定されたトラック名を持つレーストラックに関連付けられているチャンクがいつインストールされるかを知る必要があります。
上記に示したコード内の各 API 呼び出しを順に見ていきましょう。
インストールされているすべてのコンテンツには一意の識別子があります。パッケージの識別子を知っており、そのコンテンツにアクセスできれば、任意のパッケージのインストールを監視できます。実行中のプロセスは、自身のパッケージ識別子を取得できます。パッケージ識別子の詳細については、ダウンロード可能なコンテンツ (DLC) の管理およびライセンス を参照してください。
これにより、インストールの状態を追跡するモニターが作成されます。このインストール モニターは、定期的に自身を更新します。インストールの現在の進行状況を取得するには XPackageGetInstallationProgress を呼び出します。インストール中の変化通知を受け取るには、コールバックを登録します。 インストール モニターは、パッケージ全体または特定のサブセットに対して作成できます。ここでは、トラック名に対するインストールの進行状況を知りたいことを示す「セレクター」を定義しています。頻度 (この場合は 1000 ms) を指定して、インストール モニターがスナップショットを更新する最大の頻度を指定できます。時間内に進捗がない場合は、それより遅くなる可能性があります。
トラックの読み込みが完了したタイミングを知りたいので、モニターに対して進行状況変更イベントを登録します。このコールバックは、モニターの作成時に指定されたタスク キューを介して呼び出され、XPackageCreateInstallationMonitor で指定した頻度でおおよそ呼び出されます。コールバック内では、ゲーム内で進行状況を描画したり、トラックの準備ができたことをゲームに通知したりできます。 この例では、インストール モニターは閉じますが、通知の登録解除は行いません。インストール モニター通知の有効期間はインストール モニターに連動しているため、モニターを閉じるとそのモニターに対するすべての通知が登録解除されます。

Requirements

ヘッダー: XPackage.h ライブラリ: xgameruntime.lib サポートされているプラットフォーム: Windows、XBOX One ファミリー本体および XBOX Series 本体

Conceptual documentation

See also

XPackage
ストリーミング インストールとインテリジェント デリバリー
XPackageGetInstallationProgress
XPackageCreateInstallationMonitor
最終更新日 2026年8月24日