XPackageMountWithUiAsync
Asynchronously mounts the installation of specified content, and returns a mount handle to it. Shows user parental consent UI content is age-restricted based on the parental settings of all signed in users.
Syntax
HRESULT XPackageMountWithUiAsync(
const char * packageIdentifier,
XAsyncBlock * async
) noexcept;
Parameters
packageIdentifier _In_z_
Type: const char *
A string that uniquely identifies the installed package on the disk. Pass in the packageIdentifier field from the XPackageDetails struct returned from XPackageEnumerationCallback. For more information about package identifiers, see Manage and license downloadable content (DLC).
async _Inout_
Type: XAsyncBlock *
An XAsyncBlock for monitoring the status of the asynchronous call.
Return value
Type: HRESULT
HRESULT success or error code.
Remarks
Note that this API will show a parental consent prompt to the user if mounting content that is not age-appropriate for all signed in users. If parental consent is approved, mounting will succeed. If parental consent is denied in the prompt, mounting will fail.
In this scenario a game renders DLC in black and white if the content is age-restricted. External code in the game will call MountDlc when the user selects a piece of DLC to use.
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;
}
Requirements
Header: XPackage.h
Library: xgameruntime.lib
Supported platforms: Windows, Xbox One family consoles and Xbox Series consoles
See also
XPackageMountWithUiResult
XPackage
XPackageEnumeratePackages
XPackageEnumerationCallback
XPackageDetails
XPackageGetMountPath
XPackageGetMountPathSize
How to create and use Downloadable Content Packages (DLC) for PC and Xbox One