XPackageEnumerationCallback
XPackageEnumeratePackages가 각 패키지를 열거하는 데 사용하는 콜백입니다.
구문
bool XPackageEnumerationCallback(
void* context,
const XPackageDetails* details
)
매개 변수
context _In_
형식: void*
패키지 열거가 시작되었을 때 XPackageEnumeratePackages에 전달된 컨텍스트입니다.
details _In_
형식: XPackageDetails*
열거에 있는 현재 패키지 관련 설치 정보가 들어있는 XPackageDetails 구조체에 대한 포인터입니다.
반환 값
형식: bool
패키지 열거를 계속하려면 true를, 열거를 중지하려면 false를 반환합니다.
비고
XPackageEnumerationCallback 콜백은 XPackageEnumeratePackages 열거 중에 각 패키지에 대해 호출됩니다.
XPackageEnumeratePackages 및 XPackageRegisterPackageInstalled 모두 XPackageDetails 구조체를 통해 설치에 대한 세부 정보를 제공합니다. 패키지가 설치 중인 경우 XPackageDetails의 installing 속성은 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