次の方法で共有


PC で XGameSave データを管理する (xgamesaveutil.exe)

このツールを使用して、PC 上の XGameSave データを管理します。 このツールは、次のサブコマンドと関数を提供します。

注意

コンソールで XGameSave データを管理する必要がある場合は、 xbstorage.exe コマンド ライン ツール (NDA トピック)認可が必須です を使用する必要があります。

コマンド

説明

resetPC 上の指定された PFN と SCID のすべてのローカル データを削除します
import指定した XML ファイルから XGameSave ストレージ領域にデータをインポートします
exportXGameSave ストレージ領域から指定した XML ファイルにデータをエクスポートします
deleteXGameSave ストレージ領域からデータを削除します
generateダミー データを生成し、指定された XML ファイルに保存します。

xgamesaveutil のリセット

xgamesaveutil reset [/pfn:<PFN>] [/scid:<SCID>] [/context:<infile>]

指定した PFN と SCID のすべてのローカル データを削除します。

データを削除する場所を指定する方法は 2 つあります。

  • /context パラメーターが使用され、<infile> で指定されたファイル名に ContextDescription セクションが正しく設定されている場合は、そのファイルを使用してターゲット PFN と SCID を指定します。

  • PFN と SCID は、コマンドライン パラメーターによって部分的または完全に指定することができ、これは入力ファイルで指定されている PFN と SCID の対応する要素よりも優先されます。

オプション 説明
/context:<infile> 指定したファイルを使って、アプリの PFN と SCID を指定します。
/pfn:<PFN> アプリがデータを削除するパッケージ ファミリ名 (PFN) を指定します。 アプリがインストールされている必要があります。
/scid:<SCID> サービス構成 ID (SCID) を指定します。 これは、Xbox サービスの構成から取得されます。

使用例を次に示します。

xgamesaveutil reset /context:target.xml
xgamesaveutil reset /pfn:MyGame_xxxxxx /scid:2AAEB34B-DAB2-4879-B625-D970069C1D22

xgamesaveutil インポート

xgamesaveutil import <filename> [/pfn:<PFN>] [/scid:<SCID>] [/replace]

ファイル名で指定されたデータを記憶域スペースにインポートします。 この XML ファイルにはデータが含まれています。 例については、このトピックの xgamesaveutil generate を参照してください。 ファイルの XML 形式の詳細については、このトピックの「インポートおよびエクスポートのファイル形式」をご覧ください。

XGameSave データのインポート先を指定するには、次の 2 つの方法があります。

  • /context パラメーターが使用され、<filename> で指定されたファイル名に ContextDescription セクションが正しく設定されている場合は、そのファイルを使用してターゲット PFN と SCID を指定します。

  • PFN と SCID は、コマンドライン パラメーターによって部分的または完全に指定することができ、これは入力ファイルで指定されている PFN と SCID の対応する要素よりも優先されます。

オプション 説明
/pfn:<PFN> アプリがデータを削除するパッケージ ファミリ名 (PFN) を指定します。 アプリがインストールされている必要があります。
/scid:<SCID> サービス構成 ID (SCID) を指定します。 これは、Xbox サービスの構成から取得されます。
/replace インポートを実行する前に、すべてのコンテナーを削除します。
使用例を次に示します。 ```cmd xgamesaveutil import mydata.xml xgamesaveutil import mydata.xml /replace xgamesaveutil import mydata.xml /pfn:MyGame_xxxxxx /scid:2AAEB34B-DAB2-4879-B625-D970069C1D22 ```

指定された XGameSave ストレージ領域にインポートする前に、実行中のゲームによって領域が取得されたときに実行されるのと同じロジックを使用して、システムはクラウドとの同期を試みます。

同じプライマリ サービス構成識別子 (SCID) を持つゲームが実行されている場合、この操作によって競合状態が発生し、XGameSave ストレージ領域の内容が不確定な状態になる可能性があります。

/replace が指定されていない場合、入力ファイルに指定されている BLOB が書き込まれる前に、入力ファイルに指定されたコンテナーが消去されます。 入力ファイルで指定されていない XGameSave ストレージ領域内のコンテナーはタッチされません。

xgamesaveutil のエクスポート

xgamesaveutil export <outfile> [/pfn:<PFN>] [/scid:<SCID>] [/context:<infile>]

接続ストレージ領域から、outfile によって指定されたファイルにデータをエクスポートします。 この XML ファイルにはデータが含まれています。 例の生成の詳細については、このトピックの xgamesaveutil generate を参照してください。 ファイルの XML 形式の詳細については、「インポートおよびエクスポートのファイル形式」をご覧ください。

XGameSave データのエクスポート元を指定するには、次の 2 つの方法があります。

  • /context パラメーターが使用され、<infile> で指定されたファイル名に ContextDescription セクションが正しく設定されている場合は、そのファイルを使用してターゲット PFN と SCID を指定します。

  • PFN と SCID は、コマンドライン パラメーターによって部分的または完全に指定することができ、これは入力ファイルで指定されている PFN と SCID の対応する要素よりも優先されます。

オプション 説明
/pfn:<PFN> アプリがデータを削除するパッケージ ファミリ名 (PFN) を指定します。 アプリがインストールされている必要があります。
/scid:<SCID> サービス構成 ID (SCID) を指定します。 これは、Xbox サービスの構成から取得されます。
使用例を次に示します。 ```cmd xgamesaveutil export exporteddata.xml /context:target.xml xgamesaveutil export exporteddata.xml /pfn:MyGame_xxxxxx /scid:2AAEB34B-DAB2-4879-B625-D970069C1D22 ``` 指定された XGameSave ストレージ領域をエクスポートする前に、実行中のアプリによってストレージ領域が取得されたときに実行されるのと同じロジックを使用して、システムはクラウドとの同期を試みます。

同じプライマリ SCID を持つアプリが実行されている場合、この操作によって競合状態が発生し、XGameSave ストレージ領域の内容が不確定な状態になる可能性があります。

xgamesaveutil削除

xgamesaveutil delete [/pfn:<PFN>] [/scid:<SCID>] [/context:<infile>]

XGameSave ストレージ領域からすべてのデータを削除します。

XGameSave データの削除元を指定するには、次の 2 つの方法があります。

  • /context パラメーターが使用され、<infile> で指定されたファイル名に ContextDescription セクションが正しく設定されている場合は、そのファイルを使用してターゲット PFN と SCID を指定します。

  • PFN と SCID は、コマンドライン パラメーターによって部分的または完全に指定することができ、これは入力ファイルで指定されている PFN と SCID の対応する要素よりも優先されます。

オプション 説明
/pfn:<PFN> アプリがデータを削除するパッケージ ファミリ名 (PFN) を指定します。 アプリがインストールされている必要があります。
/scid:<SCID> サービス構成 ID (SCID) を指定します。 これは、Xbox サービスの構成から取得されます。

使用例を次に示します。

xgamesaveutil delete /context:target.xml
xgamesaveutil delete /pfn:MyGame_xxxxxx /scid:2AAEB34B-DAB2-4879-B625-D970069C1D22 

指定された XGameSave ストレージ領域を削除する前に、実行中のアプリによってストレージ領域が取得されたときに実行されるのと同じロジックを使用して、システムはクラウドとの同期を試みます。

同じプライマリ SCID を持つアプリが実行されている場合、この操作によって競合状態が発生し、ストレージ領域の内容が不確定な状態になる可能性があります。

xgamesaveutil 生成

xgamesaveutil generate <filename> [/containers:<n>] [/blobs:<n>] [/blobsize:<n>]

ダミー データを生成し、<filename> によって指定されたファイルに保存します。 ファイルの XML 形式の詳細については、このトピックの「インポートおよびエクスポートのファイル形式」をご覧ください。

SCID は 00000000-0000-0000-00000000000000 に設定されます。 開発者は、これらの値を変更し、ファイルが生成された直後に編集する必要があります。

オプション 説明
/containers:<n> 生成するコンテナーの数を指定します。 既定値は 2 です。
/blobs:<n> 生成するコンテナーごとの BLOB 数を指定します。 既定値は 3 です。
/blobsize:<n> BLOB ごとのバイト数を指定します。 既定値は 1024 です。

使用例を次に示します。

xgamesaveutil generate dummydata.xml
xgamesaveutil generate dummydata.xml /containers:4
xgamesaveutil generate dummydata.xml /blobs:10
xgamesaveutil generate dummydata.xml /containers:4 /blobs:10
xgamesaveutil generate dummydata.xml /containers:4 /blobs:10 /blobsize:512

バイト データは単純な昇順です。 たとえば、5 バイトの BLOB は 00 01 02 03 04 のようなバイトで構成されます。

ユーザーごとの XGameSave ストレージ領域を指定するには、XML ファイルの アカウント ノードを次の例のように変更します。

<Account msa="user@example.com"/>  

インポートおよびエクスポートのファイル形式

importexportgenerate コマンドで使用される XML ファイルは、次の例に示すような形式になっています。

  <?xml version="1.0" encoding="UTF-8"?> 
  <XbConnectedStorageSpace> 
    <ContextDescription> 
      <Account msa="user@example.com"/>
      <Title scid="00000000-0000-0000-0000-000000000000" /> 
    </ContextDescription> 
    <Data> 
      <Containers> 
        <Container name="Container1"> 
          <Blobs> 
            <Blob name="Blob1"> 
              <![CDATA[... ] ]> 
            </Blob> 
            ... 
            <Blob name="BlobN"> 
              <![CDATA[... ] ]> 
            </Blob> 
          </Blobs>
        </Container> 
        ... 
        <Container name="ContainerN"> 
        ... 
        </Container> 
      </Containers> 
    </Data> 
  </XbConnectedStorageSpace>  

この XML ファイル内のデータの形式は、プラットフォームでの形式とは異なります。 この形式は今後変更される可能性があるため、アーカイブ形式ではなく、中間形式またはユーティリティ形式としてファイルを扱う必要があります。

ContextDescription ノードは省略可能です。 ユーザーの XGameSave ストレージ領域を作成する場合は、<Account machine="true"/>ではなく <Account msa="user@example.com"/> を使用できます。 これを使用しない場合は、インポートのコマンド ラインでコンテキストを指定できます。

BLOB およびコンテナーは、そのファイルの生成対象であるゲームまたはアプリによって、対応する名前を持つ必要があります。

各 BLOB の内容は、CDATA タグでラップされた文字列である必要があります。これは、CRYPT_STRING_BASE64 フラグを指定して CryptBinaryToStringW を呼び出し、その BLOB のデータを RAW バイト配列として提供することによって生成されます。 逆に、CryptStringToBinary を呼び出し、元の暗号化された文字列を提供することによって、BLOB データを元の状態に変換できます。 これら 2 つの関数の使用例については、「CryptBinaryToString から無効なバイトが返ってくる」をご覧ください。

関連項目

XGameSave の概要XGameSaveFiles の概要
コンソールでの XGameSave Storage の管理 (NDA トピック)認可が必須です