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

# XPackageEnumeratePackages

> XPackageEnumeratePackages

# XPackageEnumeratePackages

既にインストールされているかインストール中で、呼び出し元プロセスに関連するパッケージを検索します。

## Syntax

```cpp theme={null}
HRESULT XPackageEnumeratePackages(  
         XPackageKind kind,  
         XPackageEnumerationScope scope,  
         void* context,  
         XPackageEnumerationCallback* callback  
)  
```

### Parameters

*kind*   \_In\_\
型: [XPackageKind](https://docs.xbox.com/ja-jp/reference/system/xpackage/enums/xpackagekind.md)

列挙するインストール パッケージの種類。

*scope*   \_In\_\
型: [XPackageEnumerationScope](https://docs.xbox.com/ja-jp/reference/system/xpackage/enums/xpackageenumerationscope.md)

インストール パッケージのスコープ。

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

*callback* パラメーターで指定されたコールバックに渡すコンテキスト。

*callback*   \_In\_\
型: XPackageEnumerationCallback\*

完了時に呼び出されるコールバック。

### Return value

型: HRESULT

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

## Remarks

> [!NOTE]
>
> この関数はタイム センシティブなスレッドで呼び出すのは安全ではありません。詳細については、[タイム センシティブなスレッド](https://learn.microsoft.com/gaming/gdk/docs/gdk-dev/console-dev/overviews/threads/time-sensitive-threads) を参照してください。

既にインストールされているかインストール中で、呼び出し元プロセスに関連するパッケージを検索するには、**XPackageEnumeratePackages** を使用します。この関数は、コンテンツ パッケージだけでなくアプリ パッケージも検索できます。XPackageDetails 構造体を通じて、インストールに関する詳細情報を提供します。

パッケージがまだインストール中の場合、**installing** プロパティは true に設定され、パッケージの識別子を使ってインストールの進行状況を監視するためのインストール モニターを作成できます。

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

[XPackageKind::Game](https://docs.xbox.com/ja-jp/reference/system/xpackage/enums/xpackagekind.md) 値で呼び出された場合、[XPackageEnumerationScope](https://docs.xbox.com/ja-jp/reference/system/xpackage/enums/xpackageenumerationscope.md) 値に応じた API の出力は次のとおりです:

| Scope | フランチャイズ ゲーム ハブ | ハブ対応ゲーム | ハブ非対応ゲーム |
| - | - | - | - |
| ThisOnly | フランチャイズ ゲーム ハブのみ | ハブ対応ゲームのみ | ハブ非対応ゲームのみ |
| ThisAndRelated | フランチャイズ ゲーム ハブ、それに関連付けられたすべてのハブ対応ゲーム、およびすべての RelatedProducts | ハブ対応ゲームおよびすべての RelatedProducts | ハブ非対応ゲームおよびすべての RelatedProducts |
| ThisPublisher | 現在のプロセスと同じパブリッシャーに属するすべてのゲーム製品 | 現在のプロセスと同じパブリッシャーに属するすべてのゲーム製品 | 現在のプロセスと同じパブリッシャーに属するすべてのゲーム製品 |

[XPackageKind::Content](https://docs.xbox.com/ja-jp/reference/system/xpackage/enums/xpackagekind.md) 値で呼び出された場合、[XPackageEnumerationScope](https://docs.xbox.com/ja-jp/reference/system/xpackage/enums/xpackageenumerationscope.md) 値に応じた API の出力は次のとおりです:

| Scope | フランチャイズ ゲーム ハブ | ハブ対応ゲーム | ハブ非対応ゲーム |
| - | - | - | - |
| ThisOnly | このフランチャイズ ゲーム ハブに関連する DLC | このハブ対応ゲームに関連する DLC | このハブ非対応ゲームに関連する DLC |
| ThisAndRelated | このフランチャイズ ゲーム ハブ、そのハブ対応タイトル、およびすべての RelatedProducts に関連する DLC | このハブ対応ゲームおよびそのすべての RelatedProducts に関連する DLC | このハブ非対応ゲームおよびそのすべての RelatedProducts に関連する DLC |
| ThisPublisher | 現在のプロセスと同じパブリッシャーのベース ゲームに関連するすべての DLC (同じパブリッシャーからも、他のパブリッシャーからも) | 現在のプロセスと同じパブリッシャーのベース ゲームに関連するすべての DLC (同じパブリッシャーからも、他のパブリッシャーからも) | 現在のプロセスと同じパブリッシャーのベース ゲームに関連するすべての DLC (同じパブリッシャーからも、他のパブリッシャーからも) |

例:

```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

* [Intelligent Delivery: 言語指定子](https://docs.xbox.com/ja-jp/build/core-features/common/packaging/intelligentdelivery-language.md)
* [GDK ダウンロード可能コンテンツ (DLC) パッケージ](https://docs.xbox.com/ja-jp/build/core-features/common/packaging/packaging-downloadable-content-dlc.md)
* [タイム センシティブなスレッド](https://learn.microsoft.com/gaming/gdk/docs/gdk-dev/console-dev/overviews/threads/time-sensitive-threads)
* [更新の確認](https://docs.xbox.com/ja-jp/publishing/xstore-commerce/xstore-checking-updates.md)
* [ダウンロード可能なコンテンツ (DLC) の管理およびライセンス](https://docs.xbox.com/ja-jp/publishing/xstore-commerce/xstore-dlc.md)

## See also

[XPackage](https://docs.xbox.com/ja-jp/reference/system/xpackage/xpackage_members.md)\
[Franchise Game Hubs](https://learn.microsoft.com/gaming/gdk/docs/store/franchise-game-hubs)\
[PC および XBOX One 用のダウンロード可能コンテンツ パッケージ (DLC) を作成および使用する方法](https://docs.xbox.com/ja-jp/build/core-features/common/packaging/packaging-downloadable-content-dlc.md)


## Related topics

- [XPackageGetPackageKind](https://docs.xbox.com/ja-jp/reference/system/xpackage/functions/xpackagegetpackagekind.md)
- [XPackageDetails](https://docs.xbox.com/ja-jp/reference/system/xpackage/structs/xpackagedetails.md)
- [XPackageEnumerationCallback](https://docs.xbox.com/ja-jp/reference/system/xpackage/functions/xpackageenumerationcallback.md)
- [XPackageChunkAvailabilityCallback](https://docs.xbox.com/ja-jp/reference/system/xpackage/functions/xpackagechunkavailabilitycallback.md)
- [XPackageMountWithUiAsync](https://docs.xbox.com/ja-jp/reference/system/xpackage/functions/xpackagemountwithuiasync.md)
