次の方法で共有


XPackageIsPackagedProcess

現在のプロセスにインストール ID があるかどうかを示すブール値を返します。

構文

bool XPackageIsPackagedProcess(  
)  

パラメーター

ありません。

戻り値

型: bool

プロセスにインストール ID がある場合は、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