다음을 통해 공유


XPackageEnumerationCallback

XPackageEnumeratePackages가 각 패키지를 열거하는 데 사용하는 콜백입니다.

구문

bool XPackageEnumerationCallback(  
         void* context,  
         const XPackageDetails* details  
)  

매개 변수

context _In_
형식: void*

패키지 열거가 시작되었을 때 XPackageEnumeratePackages에 전달된 컨텍스트입니다.

details _In_
형식: XPackageDetails*

열거에 있는 현재 패키지 관련 설치 정보가 들어있는 XPackageDetails 구조체에 대한 포인터입니다.

반환 값

형식: bool

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

비고

XPackageEnumerationCallback 콜백은 XPackageEnumeratePackages 열거 중에 각 패키지에 대해 호출됩니다.

XPackageEnumeratePackagesXPackageRegisterPackageInstalled 모두 XPackageDetails 구조체를 통해 설치에 대한 세부 정보를 제공합니다. 패키지가 설치 중인 경우 XPackageDetailsinstalling 속성은 true이며 패키지의 식별자가 진행 상황을 모니터링하도록 할 수 있습니다.

일반 설치 큐 알림이 없습니다. XPackageEnumeratePackages를 사용하여 진행 중인 항목을 표시하고 추적하며, XPackageRegisterPackageInstalled를 사용하여 새 DLC를 알리는 것이 목적입니다. 설치를 시작하거나 중지하거나 취소하는 메커니즘도 없습니다. 게임의 관점에서 설치가 자연히 처리되어야 합니다. 오류는 자동으로 다시 시도되며 게임에는 보이지 않습니다.

예제:

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 콘솔

참고 항목

XPackage
PC 및 Xbox One용 DLC(다운로드 가능한 콘텐츠) 패키지를 만들고 사용하는 방법
XPackageDetails
XPackageEnumeratePackages
XPackageRegisterPackageInstalled