> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# XPackageEnumerationCallback

> XPackageEnumerationCallback

# XPackageEnumerationCallback

各パッケージを列挙するために [XPackageEnumeratePackages](/reference/system/xpackage/functions/xpackageenumeratepackages) が使用するコールバック。

## Syntax

```cpp theme={null}
bool XPackageEnumerationCallback(  
         void* context,  
         const XPackageDetails* details  
)  
```

### Parameters

*context*   \_In\_\
型: void\*

パッケージの列挙が開始されたときに [XPackageEnumeratePackages](/reference/system/xpackage/functions/xpackageenumeratepackages) に渡されたコンテキスト。

*details*   \_In\_\
型: [XPackageDetails](/reference/system/xpackage/structs/xpackagedetails)\*

列挙中の現在のパッケージのインストール情報を含む [XPackageDetails](/reference/system/xpackage/structs/xpackagedetails) 構造体へのポインター。

### Return value

型: bool

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

## Remarks

**XPackageEnumerationCallback** コールバックは、[XPackageEnumeratePackages](/reference/system/xpackage/functions/xpackageenumeratepackages) の列挙中に各パッケージに対して呼び出されます。

[XPackageEnumeratePackages](/reference/system/xpackage/functions/xpackageenumeratepackages) および [XPackageRegisterPackageInstalled](/reference/system/xpackage/functions/xpackageregisterpackageinstalled) はどちらも、[XPackageDetails](/reference/system/xpackage/structs/xpackagedetails) 構造体を通じてインストールに関する詳細情報を提供します。パッケージがインストール中の場合、**XPackageDetails** の **installing** プロパティは **true** になり、パッケージの識別子を使ってインストールの進行状況を監視するためのインストール モニターを作成できます。

汎用のインストール キュー通知はありません。実行中の項目を表示および追跡するには [XPackageEnumeratePackages](/reference/system/xpackage/functions/xpackageenumeratepackages) を、新しい DLC の存在を通知するには [XPackageRegisterPackageInstalled](/reference/system/xpackage/functions/xpackageregisterpackageinstalled) を使用することを意図しています。また、インストールを開始、停止、キャンセルするメカニズムもありません。ゲームの観点からは、インストールは自動的に処理されるべきです。エラーは自動的に再試行され、ゲームからは見えません。

例:

```cpp theme={null}
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;
}
```

## Requirements

**ヘッダー:** XPackage.h

**ライブラリ:** xgameruntime.lib

**サポートされているプラットフォーム:** Windows、XBOX One ファミリー本体および XBOX Series 本体

## Conceptual documentation

* [ダウンロード可能なコンテンツ (DLC) の管理およびライセンス](https://learn.microsoft.com/gaming/gdk/docs/store/commerce/fundamentals/xstore-manage-and-license-optional-packages)

## See also

[XPackage](/reference/system/xpackage/xpackage_members)\
[PC および XBOX One 用のダウンロード可能コンテンツ パッケージ (DLC) を作成および使用する方法](/build/core-features/common/packaging/packaging-downloadable-content-dlc)\
[XPackageDetails](/reference/system/xpackage/structs/xpackagedetails)\
[XPackageEnumeratePackages](/reference/system/xpackage/functions/xpackageenumeratepackages)\
[XPackageRegisterPackageInstalled](/reference/system/xpackage/functions/xpackageregisterpackageinstalled)


## Related topics

- [XPackageEnumeratePackages](/ja-jp/reference/system/xpackage/functions/xpackageenumeratepackages.md)
- [XPackageMountWithUiAsync](/ja-jp/reference/system/xpackage/functions/xpackagemountwithuiasync.md)
- [ダウンロード可能なコンテンツ (DLC) の管理とライセンス供与](/ja-jp/publishing/xstore-commerce/xstore-dlc.md)
- [XPackage](/ja-jp/reference/system/xpackage/xpackage_members.md)
- [XPackageFeatureEnumerationCallback](/ja-jp/reference/system/xpackage/functions/xpackagefeatureenumerationcallback.md)
