> ## 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)에서 각 패키지를 열거하는 데 사용하는 콜백입니다.

## 구문

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

### 매개 변수

*context*   \_In\_\
형식: void\*

패키지 열거가 시작될 때 [XPackageEnumeratePackages](/reference/system/xpackage/functions/xpackageenumeratepackages)에 전달된 컨텍스트입니다.

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

열거의 현재 패키지에 대한 설치 정보를 포함하는 [XPackageDetails](/reference/system/xpackage/structs/xpackagedetails) 구조체에 대한 포인터입니다.

### 반환 값

형식: bool

패키지 열거를 계속하려면 true를 반환하고, 열거를 중지하려면 false를 반환합니다.

## 설명

**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; // 열거를 계속함
}

HRESULT ListDlc()
{
    HRESULT hr = XPackageEnumeratePackages(
        XPackageKind::Content,                      /* 콘텐츠 패키지(DLC)를 찾음 */
        XPackageEnumerationScope::ThisAndRelated,   /* 이 게임 및 관련 게임에 대해 */
        nullptr, ListDlcCallback);
    return hr;
}
```

## 요구 사항

**헤더:** XPackage.h

**라이브러리:** xgameruntime.lib

**지원 플랫폼:** Windows, XBOX One 제품군 콘솔 및 XBOX Series 콘솔

## 개념 문서

* [다운로드 가능한 콘텐츠(DLC) 관리 및 라이선스](https://learn.microsoft.com/gaming/gdk/docs/store/commerce/fundamentals/xstore-manage-and-license-optional-packages)

## 함께 보기

[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)
