XPackageGetMountPathSize

获取保留由 XPackageGetMountPath 返回的装载路径的数组所需的大小。

语法

HRESULT XPackageGetMountPathSize(  
         XPackageMountHandle mount,  
         size_t* pathSize  
)  

参数

mount _In_
类型:XPackageMountHandle

指向装载的安装的句柄。

pathSize _Out_
类型:size_t*

在返回时,包含数组所需的大小。

返回值

类型:HRESULT

HRESULT 成功或错误代码。

备注

注意

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

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

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