XPackageCloseMountHandle

关闭指定的装入句柄,然后卸载设备。

语法

void XPackageCloseMountHandle(  
         XPackageMountHandle mount  
)  

参数

mount _In_
类型:XPackageMountHandle

要关闭的装载句柄。

返回值

类型:void

备注

注意

在时间敏感线程上调用此函数是不安全的。 有关详细信息,请参阅时间敏感线程

XPackageMount 装载特定的程序包标识符并向其返回装载句柄后,XPackageCloseMountHandle 卸载该设备。 这可能需要几秒钟时间。 有关包标识符的详细信息,请参阅管理和许可可下载内容 (DLC)

XPackageGetMountPathSizeXPackageGetMountPath 用于返回指向包内容的文件路径。

仅可装载内容包。 尝试装载另一个游戏将生成 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