XPackageIsPackagedProcess

返回指示当前进程是否具有安装标识的布尔值。

语法

bool XPackageIsPackagedProcess(  
)  

参数

无。

返回值

类型:bool

如果进程具有安装标识,则会返回 true。 否则,返回 false。

备注

可以确定是否已完全安装游戏。 以下代码示例适用于打包的 MSICVC 游戏和松散部署。 如果游戏已完全安装,则返回值 bool *isInstalled 设置为 true。

HRESULT IsPackageCompletelyInstalled(bool *isInstalled)
{
    if (XPackageIsPackagedProcess())
    {
        char id[XPACKAGE_IDENTIFIER_MAX_LENGTH];
        HRESULT hr = XPackageGetCurrentProcessPackageIdentifier(_countof(id), id);
        if (FAILED(hr)) return hr;

        XPackageInstallationMonitorHandle monitor;
        hr = XPackageCreateInstallationMonitor(id, 0, nullptr, 0, nullptr, &monitor);
        if (FAILED(hr)) return hr;

        XPackageInstallationProgress progress;
        XPackageGetInstallationProgress(monitor, &progress);

        *isInstalled = (progress.completed);

        XPackageCloseInstallationMonitorHandle(monitor);
    }
    else
    {
        *isInstalled = true;
    }

    return S_OK;
}

要求

头文件:XPackage.h

库:xgameruntime.lib

支持平台:Windows、Xbox One 系列主机和 Xbox Series 主机

另请参阅

打包概述
流式安装和智能交付
XPackage