XPackageCloseMountHandle
关闭指定的装入句柄,然后卸载设备。
语法
void XPackageCloseMountHandle(
XPackageMountHandle mount
)
参数
mount _In_
类型:XPackageMountHandle
要关闭的装载句柄。
返回值
类型:void
备注
注意
在时间敏感线程上调用此函数是不安全的。 有关详细信息,请参阅时间敏感线程。
在 XPackageMount 装载特定的程序包标识符并向其返回装载句柄后,XPackageCloseMountHandle 卸载该设备。 这可能需要几秒钟时间。 有关包标识符的详细信息,请参阅管理和许可可下载内容 (DLC)。
XPackageGetMountPathSize 和 XPackageGetMountPath 用于返回指向包内容的文件路径。
仅可装载内容包。 尝试装载另一个游戏将生成 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)XPackageMount
XPackageGetMountPathSize
XPackageGetMountPath