次の方法で共有


Microsoft.Xbox.Wrappers.XGameSave.Provider.Save

指定したコンテナー内の BLOB (ファイル) にデータを保存します。

構文

HRESULT Save(const std::string& containerName,
             const std::string& blobName,
             size_t dataSize,
             const uint8_t* blobData);

パラメーター

containerName _In_
型: std::string

コンテナーの名前。

blobName _In_
型: std::string

BLOB の名前

dataSize _In_
型: size_t

BLOB に書き込むデータのサイズ。 サイズは最大 16 MB (GS_MAX_BLOB_SIZE) に設定されています。

blobData _In_
型: uint8_t*

BLOB に書き込むバイトへのポインター。

戻り値

型: HRESULT

このメソッドは、成功すると S_OK を返し、失敗すると次の HRESULT コードを返します。

  • GS_INVALID_CONTAINER_NAME
  • GS_OUT_OF_LOCAL_STORAGE
  • GS_UPDATE_TOO_BIG
  • GS_QUOTA_EXCEEDED
  • GS_HANDLE_EXPIRED

次のコード例は、Save 関数の使用例を示しています。

using Microsoft::Xbox::Wrappers::GameSave;

std::vector<uint8_t> saveData; // Contains the player's data.

Provider provider = new Provider();

if(SUCCEEDED(provider->Initialize(userHandle, mySCID))
{  
   HRESULT hr = provider->Save("Save_slot_1", "progress", saveData.size(), saveData.data());
   if(FAILED(hr))
   {
      if(hr == E_GS_QUOTA_EXCEEDED)
      {
         // Message that the user must delete saves for this game.
      }
      else if(hr == E_GS_OUT_OF_LOCAL_STORAGE)
      {
         // Message to the user that they have run out of save
         // space on the local device.
      }
      else if(hr == E_GS_UPDATE_TOO_BIG)
      {
         // This is really a development time thing to catch.
         // Your save size was too large for this Save call. Save
         // calls are limited to a maximum size of
         // 16 MB (GS_MAX_BLOB_SIZE).
      }
      else if(hr == E_GS_HANDLE_EXPIRED)
      {
         // You must recreate the provider, and then try again.
      }
      else
      {
         // Log error.
      }
   }
}

解説

Provider クラスから他のメソッドを呼び出す前に、Initialize メソッドを呼び出す必要があります。

セーブ データのラッパーを初期化し、指定されたユーザーのすべてのコンテナーを同期するには、Initialize を呼び出します。

指定された blob から、指定されたコンテナーの中からデータをロードするには、Load を呼び出します。

要件

ヘッダー: xgamesavewrappers.hpp

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

関連項目

Microsoft.Xbox.Wrappers.XGameSave.Provider
XGameSave ラッパー メンバー
セーブデータのシンプルなラッパー
Load