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 装载指定的程序包标识符,并为其返回装载句柄。 这可能需要几秒钟时间。 有关包标识符的详细信息,请参阅管理和许可可下载内容 (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
如何创建和使用面向电脑和 Xbox One 的可下载内容包 (DLC)XPackageGetMountPathSize