次の方法で共有


XPackageEstimateDownloadSize

指定したインストール セレクターに一致するチャンクのダウンロード サイズを計算します。

構文

HRESULT XPackageEstimateDownloadSize(  
         const char* packageIdentifier,  
         uint32_t selectorCount,  
         XPackageChunkSelector* selectors,  
         uint64_t* downloadSize,  
         bool* shouldPresentUserConfirmation  
)  

パラメーター

packageIdentifier _In_z_
型: char*

ディスクにインストールされているパッケージを一意に識別する文字列。 パッケージ識別子の詳細については、「ダウンロード可能なコンテンツ (DLC) の管理とライセンス」を参照してください。

selectorCount _In_
型: uint32_t

selectors パラメーター内のセレクターの数。

selectors _In_reads_(selectorCount)
型: XPackageChunkSelector*

操作するチャンクを指定するセレクターの配列。

downloadSize _Out_
型: uint64_t*

戻ったとき、指定されたインストール セレクターのダウンロード サイズが格納されています。

shouldPresentUserConfirmation _Out_opt_
型: bool*

ダウンロードにユーザーの確認が必要な場合は true が返され、それ以外の場合は false が返されます。

戻り値

型: HRESULT

HRESULT 成功またはエラー コード。

解説

注意

この関数は、時間依存のスレッドで呼び出すのに安全ではありません。 詳細については、「時間依存のスレッド」を参照してください。

指定された場合、予測されるダウンロード サイズが、ダウンロード サイズを受け入れるようにプロンプトをユーザーに表示するのに十分な大きさであれば、shouldPresentUserConfirmation パラメーターは true に設定されます。

次の例では、レーシング ゲームのトラック名を受け取り、トラックがインストールされていない場合は、トラックのダウンロード サイズを印刷します。

HRESULT ListDownloadSize(char* trackName)
{
    XPackageChunkSelector selector;
    selector.type = XPackageChunkSelectorType::Tag;
    selector.tag = trackName;

    char id[XPACKAGE_IDENTIFIER_MAX_LENGTH];
    HRESULT hr = XPackageGetCurrentProcessPackageIdentifier(_countof(id), id);
    if (FAILED(hr)) return hr;

    XPackageChunkAvailability availability;
    hr = XPackageFindChunkAvailability(id, 1, &selector, &availability);
    if (FAILED(hr)) return hr;

    if (availability == XPackageChunkAvailability::Installable)
    {
        uint64_t downloadSize;
        hr = XPackageEstimateDownloadSize(id, 1, &selector, &downloadSize, nullptr);
        if (FAILED(hr)) return hr;

        printf("Download Size for track %s: %I64u\n", trackName, downloadSize);
    }

    return hr;
}

要件

ヘッダー: XPackage.h

ライブラリ: xgameruntime.lib

サポートされているプラットフォーム: Windows、Xbox One ファミリー本体、Xbox Series 本体

関連項目

XPackage
ストリーミング インストールとインテリジェント配信