XPackageGetMountPath
マウントされたインストールへのパスを取得します。
構文
HRESULT XPackageGetMountPath(
XPackageMountHandle mount,
size_t pathSize,
char* path
)
パラメーター
mount _In_
型: XPackageMountHandle
マウントのハンドル。
pathSize _In_
型: size_t
path パラメーターのサイズ (バイト単位)。 必要なパス サイズを決定するには、XPackageGetMountPathSize を使用します。
path _Out_writes_(pathSize)
型: char*
マウントされているインストールへのパス。
戻り値
型: HRESULT
HRESULT 成功またはエラー コード。
解説
注意
この関数は、時間依存のスレッドで呼び出すのに安全ではありません。 詳細については、「時間依存のスレッド」を参照してください。
XPackageGetMountPath では、指定されたパッケージ ID がマウントされ、そのマウント ハンドルが返されます。 これには数秒かかる場合があります。 パッケージ識別子の詳細については、「ダウンロード可能なコンテンツ (DLC) の管理とライセンス」を参照してください。
XPackageGetMountPath と XPackageGetMountPathSize は、共にパッケージのコンテンツのファイル パスを返すために使用されます。
コンテンツ パッケージのみがマウントできます。 別のゲームをマウントしようとすると、E_ACCESS_DENIED が発生します。
次のコードの例は、パッケージが通常どのようにマウントされるかを示しています。
HRESULT MountDlc(char* dlcIdentifier)
{
XPackageMountHandle mountHandle;
HRESULT hr = XPackageMount(dlcIdentifier, &mountHandle);
if (FAILED(hr)) return hr;
size_t pathSize;
hr = XPackageGetMountPathSize(mountHandle, &pathSize);
if (FAILED(hr))
{
XPackageCloseMountHandle(mountHandle);
return hr;
}
char* path = new (std::nothrow) char[pathSize];
if (path == nullptr)
{
XPackageCloseMountHandle(mountHandle);
return E_OUTOFMEMORY;
}
hr = XPackageGetMountPath(mountHandle, pathSize, path);
if (FAILED(hr))
{
XPackageCloseMountHandle(mountHandle);
delete[] path;
return hr;
}
printf("Dlc %s mounted at path %s\n", dlcIdentifier, path);
delete[] path;
// Unmounts DLC path if this is the last handle
// to it.
XPackageCloseMountHandle(mountHandle);
return S_OK;
}
要件
ヘッダー: XPackage.h
ライブラリ: xgameruntime.lib
サポートされているプラットフォーム: Windows、Xbox One ファミリー本体、Xbox Series 本体
関連項目
XPackage
PC と Xbox One 用のダウンロード コンテンツ パッケージ (DLC) を作成して使用する方法XPackageGetMountPathSize