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

# XPackageEnumerationCallback

> XPackageEnumerationCallback

# XPackageEnumerationCallback

[XPackageEnumeratePackages](https://docs.xbox.com/zh-TW/reference/system/xpackage/functions/xpackageenumeratepackages.md) 用來列舉每個套件的回呼。

## 語法

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

### 參數

*context*   \_In\_\
類型：void\*

開始列舉套件時傳遞給 [XPackageEnumeratePackages](https://docs.xbox.com/zh-TW/reference/system/xpackage/functions/xpackageenumeratepackages.md) 的內容。

*details*   \_In\_\
類型：[XPackageDetails](https://docs.xbox.com/zh-TW/reference/system/xpackage/structs/xpackagedetails.md)\*

指向 [XPackageDetails](https://docs.xbox.com/zh-TW/reference/system/xpackage/structs/xpackagedetails.md) 結構的指標，該結構包含列舉中目前套件的安裝資訊。

### 傳回值

類型：bool

傳回 true 以繼續列舉套件，或傳回 false 以停止列舉。

## 備註

在 [XPackageEnumeratePackages](https://docs.xbox.com/zh-TW/reference/system/xpackage/functions/xpackageenumeratepackages.md) 列舉期間，會針對每個套件呼叫 **XPackageEnumerationCallback** 回呼。

[XPackageEnumeratePackages](https://docs.xbox.com/zh-TW/reference/system/xpackage/functions/xpackageenumeratepackages.md) 和 [XPackageRegisterPackageInstalled](https://docs.xbox.com/zh-TW/reference/system/xpackage/functions/xpackageregisterpackageinstalled.md) 都會透過 [XPackageDetails](https://docs.xbox.com/zh-TW/reference/system/xpackage/structs/xpackagedetails.md) 結構提供安裝的詳細資料。如果套件正在安裝，**XPackageDetails** 的 **installing** 屬性為 **true**，您可以建立安裝監視器，讓套件的識別碼監視進度。

沒有一般性的安裝佇列通知；其用意是使用 [XPackageEnumeratePackages](https://docs.xbox.com/zh-TW/reference/system/xpackage/functions/xpackageenumeratepackages.md) 來顯示和追蹤進行中的項目，並使用 [XPackageRegisterPackageInstalled](https://docs.xbox.com/zh-TW/reference/system/xpackage/functions/xpackageregisterpackageinstalled.md) 來宣告新 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;
}
```

## 需求

**標頭：** XPackage.h

**程式庫：** xgameruntime.lib

**支援的平台：** Windows、XBOX One 系列主機與 XBOX Series 主機

## 概念文件

* [管理可下載內容 (DLC) 及授權](https://docs.xbox.com/zh-TW/publishing/xstore-commerce/xstore-dlc.md)

## 另請參閱

[XPackage](https://docs.xbox.com/zh-TW/reference/system/xpackage/xpackage_members.md)\
[如何為 PC 和 XBOX One 建立及使用可下載內容套件 (DLC)](https://docs.xbox.com/zh-TW/build/core-features/common/packaging/packaging-downloadable-content-dlc.md)\
[XPackageDetails](https://docs.xbox.com/zh-TW/reference/system/xpackage/structs/xpackagedetails.md)\
[XPackageEnumeratePackages](https://docs.xbox.com/zh-TW/reference/system/xpackage/functions/xpackageenumeratepackages.md)\
[XPackageRegisterPackageInstalled](https://docs.xbox.com/zh-TW/reference/system/xpackage/functions/xpackageregisterpackageinstalled.md)


## Related topics

- [XPackageEnumeratePackages](https://docs.xbox.com/zh-TW/reference/system/xpackage/functions/xpackageenumeratepackages.md)
- [XPackageMountWithUiAsync](https://docs.xbox.com/zh-TW/reference/system/xpackage/functions/xpackagemountwithuiasync.md)
- [管理可下載內容 (DLC) 並授權](https://docs.xbox.com/zh-TW/publishing/xstore-commerce/xstore-dlc.md)
- [XPackage (API 內容)](https://docs.xbox.com/zh-TW/reference/system/xpackage/xpackage_members.md)
- [XPackageFeatureEnumerationCallback](https://docs.xbox.com/zh-TW/reference/system/xpackage/functions/xpackagefeatureenumerationcallback.md)
