> ## 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.

# XPackageEnumeratePackages

> XPackageEnumeratePackages

# XPackageEnumeratePackages

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

## Syntax

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

### Parameters

*kind*   \_In\_\
型: [XPackageKind](/reference/system/xpackage/enums/xpackagekind)

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

*scope*   \_In\_\
型: [XPackageEnumerationScope](/reference/system/xpackage/enums/xpackageenumerationscope)

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

*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) を参照してください。</Note>

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

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

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

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

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

[XPackageKind::Content](/reference/system/xpackage/enums/xpackagekind) 値で呼び出された場合、[XPackageEnumerationScope](/reference/system/xpackage/enums/xpackageenumerationscope) 値に応じた 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

* [インテリジェント デリバリー: 言語指定子](/build/core-features/common/packaging/intelligentdelivery-language)
* [GDK ダウンロード可能コンテンツ (DLC) パッケージ](/build/core-features/common/packaging/packaging-downloadable-content-dlc)
* [タイム センシティブ スレッド](https://learn.microsoft.com/gaming/gdk/docs/gdk-dev/console-dev/overviews/threads/time-sensitive-threads)
* [更新の確認](https://learn.microsoft.com/gaming/gdk/docs/store/commerce/fundamentals/xstore-checking-for-updates)
* [ダウンロード可能なコンテンツ (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)\
[Franchise Game Hubs](https://learn.microsoft.com/gaming/gdk/docs/store/franchise-game-hubs)\
[PC および XBOX One 用のダウンロード可能コンテンツ パッケージ (DLC) を作成および使用する方法](/build/core-features/common/packaging/packaging-downloadable-content-dlc)


## Related topics

- [XPackageDetails](/ja-jp/reference/system/xpackage/structs/xpackagedetails.md)
- [XPackageEnumerationCallback](/ja-jp/reference/system/xpackage/functions/xpackageenumerationcallback.md)
- [XPackageChunkAvailabilityCallback](/ja-jp/reference/system/xpackage/functions/xpackagechunkavailabilitycallback.md)
- [XPackageMountWithUiAsync](/ja-jp/reference/system/xpackage/functions/xpackagemountwithuiasync.md)
- [XPackageRegisterPackageInstalled](/ja-jp/reference/system/xpackage/functions/xpackageregisterpackageinstalled.md)
