次の方法で共有


XPackageEnumerationCallback

各パッケージを列挙するために、XPackageEnumeratePackages で使用されるコールバック。

構文

bool XPackageEnumerationCallback(  
         void* context,  
         const XPackageDetails* details  
)  

パラメーター

context _In_
型: void*

パッケージの列挙型が開始されたとき、XPackageEnumeratePackages に渡されるコンテキスト。

details _In_
型: XPackageDetails*

列挙型内の現在のパッケージに関するインストール情報が格納される XPackageDetails 構造体へのポインター。

戻り値

型: bool

パッケージの列挙を継続する場合は true を、列挙を停止する場合は false を返します。

解説

XPackageEnumerationCallback コールバックは、XPackageEnumeratePackages 列挙中に各パッケージに対して呼び出されます。

XPackageEnumeratePackagesXPackageRegisterPackageInstalled の両方が、XPackageDetails 構造体を介して、インストールに関する詳細を提供します。 パッケージをインストール中の場合、XPackageDetailsinstalling プロパティは 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