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) を作成して使用する方法