XPackageGetMountPathSize
获取保留由 XPackageGetMountPath 返回的装载路径的数组所需的大小。
语法
HRESULT XPackageGetMountPathSize(
XPackageMountHandle mount,
size_t* pathSize
)
参数
mount _In_
类型:XPackageMountHandle
指向装载的安装的句柄。
pathSize _Out_
类型:size_t*
在返回时,包含数组所需的大小。
返回值
类型:HRESULT
HRESULT 成功或错误代码。
备注
注意
在时间敏感线程上调用此函数是不安全的。 有关详细信息,请参阅时间敏感线程。
XPackageGetMountPathSize 和 XPackageGetMountPath 共同用于返回指向包内容的文件路径。
XPackageGetMountPath 装载指定的程序包标识符,并为其返回装载句柄。 这可能需要几秒钟时间。 有关包标识符的详细信息,请参阅可下载内容 (DLC) 的管理和授权。
仅可装载内容包。 尝试装载另一个游戏将生成 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
如何创建和使用面向电脑和 Xbox One 的可下载内容包 (DLC)。
XPackageGetMountPath