XPackageEnumerationCallback
各パッケージを列挙するために、XPackageEnumeratePackages で使用されるコールバック。
構文
bool XPackageEnumerationCallback(
void* context,
const XPackageDetails* details
)
パラメーター
context _In_
型: void*
パッケージの列挙型が開始されたとき、XPackageEnumeratePackages に渡されるコンテキスト。
details _In_
型: XPackageDetails*
列挙型内の現在のパッケージに関するインストール情報が格納される XPackageDetails 構造体へのポインター。
戻り値
型: bool
パッケージの列挙を継続する場合は true を、列挙を停止する場合は false を返します。
解説
XPackageEnumerationCallback コールバックは、XPackageEnumeratePackages 列挙中に各パッケージに対して呼び出されます。
XPackageEnumeratePackages と XPackageRegisterPackageInstalled の両方が、XPackageDetails 構造体を介して、インストールに関する詳細を提供します。 パッケージをインストール中の場合、XPackageDetails の installing プロパティは true に設定されます。インストール モニターを作成して、パッケージ ID にインストールの進行状況を監視させることができます。
一般的なインストール キューの通知はありません。その目的は、XPackageEnumeratePackages を使用して、処理中のアイテムを表示、追跡し、XPackageRegisterPackageInstalled を使用して新しい DLC の存在を通知することです。 また、インストールを開始、停止、またはキャンセルするメカニズムもありません。 ゲームの観点からは、インストールは自動的に行われます。 エラーは自動的に再試行され、ゲームには不可視です。
以下に例を示します。
bool CALLBACK ListDlcCallback(
void* /* context */,
const XPackageDetails* details)
{
printf("Found dlc: %s\n", details->displayName);
return true; // continue enumerating
}
HRESULT ListDlc()
{
HRESULT hr = XPackageEnumeratePackages(
XPackageKind::Content, /* Looking for content packages (DLC) */
XPackageEnumerationScope::ThisAndRelated, /* For this game and related games*/
nullptr, ListDlcCallback);
return hr;
}
要件
ヘッダー: XPackage.h
ライブラリ: xgameruntime.lib
サポートされているプラットフォーム: Windows、Xbox One ファミリー本体、Xbox Series 本体
関連項目
XPackage
PC と Xbox One 用のダウンロード コンテンツ パッケージ (DLC) を作成して使用する方法
XPackageDetails
XPackageEnumeratePackages
XPackageRegisterPackageInstalled