XPackageMountWithUiAsync
지정된 콘텐츠의 설치를 비동기식으로 탑재하고 탑재 핸들을 반환합니다. 사용자 보호자 동의 UI 콘텐츠가 로그인한 모든 사용자의 보호자 설정에 따라 연령이 제한됨을 표시합니다.
구문
HRESULT XPackageMountWithUiAsync(
const char * packageIdentifier,
XAsyncBlock * async
) noexcept;
매개 변수
packageIdentifier _In_z_
형식: const char *
디스크에 설치된 패키지를 고유하게 식별하는 문자열입니다. XPackageEnumerationCallback에서 반환된 XPackageDetails 구조체의 packageIdentifier 필드를 전달합니다. 패키지 식별자에 대한 자세한 내용은 DLC(다운로드 가능한 콘텐츠 관리 및 라이선스)를참조하세요.
async _Inout_
형식: XAsyncBlock *
비동기 호출의 상태를 모니터링하는 XAsyncBlock입니다.
반환 값
형식: HRESULT
HRESULT 성공 또는 오류 코드입니다.
설명
이 API는 로그인한 모든 사용자에게 연령에 적합하지 않은 콘텐츠를 탑재할 경우 사용자에게 부모 동의 프롬프트를 표시합니다. 부모의 동의가 승인되면 탑재가 성공합니다. 프롬프트에서 부모 동의가 거부되면 탑재가 실패합니다.
이 시나리오에서는 콘텐츠가 연령 제한이 있는 경우 게임이 DLC를 흑백으로 렌더링합니다. 사용자가 사용할 DLC 조각을 선택하면 게임의 외부 코드가 MountDlc를 호출합니다.
extern void RenderDlc(const char* packageId, const char* displayName, bool monochrome);
void ShowDlc()
{
// Enumerate all DLC for the game and render it to the user
XPackageEnumeratePackages(XPackageKind::Content, XPackageEnumerationScope::ThisAndRelated, nullptr,
[](void*, const XPackageDetails* details)
{
RenderDlc(details->packageIdentifier,
details->displayName,
details->ageRestricted);
});
}
HRESULT MountDlc(const char* packageId, XPackageMountHandle* handle)
{
XAsync async{};
RETURN_IF_FAILED(XPackageMountWithUiAsync(packageId, &async));
RETURN_IF_FAILED(XAsyncGetStatus(&async, true));
RETURN_IF_FAILED(XPackageMountWithUiResult(&async, handle));
return S_OK;
}
요구 사항
헤더: XPackage.h
라이브러리: xgameruntime.lib
지원되는 플랫폼: Windows, Xbox One 패밀리 콘솔 및 Xbox Series 콘솔
참고 항목
XPackageMountWithUiResultXPackage
XPackageEnumeratePackages
XPackageEnumerationCallback
XPackageDetails
XPackageGetMountPath
XPackageGetMountPathSize
PC 및 Xbox One용 DLC(다운로드 가능한 콘텐츠) 패키지를 만들고 사용하는 방법