次の方法で共有


XGameSaveSubmitBlobWrite

XGameSaveUpdate に書き込みアクションを追加します。

構文

HRESULT XGameSaveSubmitBlobWrite(  
         XGameSaveUpdateHandle updateContext,  
         const char* blobName,  
         const uint8_t* data,  
         size_t byteCount  
)  

パラメーター

updateContext_In_
型: XGameSaveUpdateHandle

BLOB を書き込む XGameSaveUpdate に対するハンドル。

blobName _In_z_
型: char*

書き込む BLOB の名前。 BLOB 名のサイズは、バイト単位で GS_MAX_BLOB_NAME_SIZE を超えてはなりません。

data_In_reads_bytes_(byteCount)
型: uint8_t*

BLOB に書き込むデータ。

byteCount_In_
型: size_t

BLOB に書き込むデータのサイズ。 BLOB データのサイズは、バイト単位で GS_MAX_BLOB_SIZE を超えてはなりません。

注意

BLOB データのサイズは GS_MAX_BLOB_SIZE に制限されていますが、更新全体も GS_MAX_BLOB_SIZE に制限されています。 更新に GS_MAX_BLOB_SIZE の blob が含まれている場合、追加の更新は個別の更新要求で行う必要があります。

戻り値

型: HRESULT

関数の結果です。

解説

注意

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

この呼び出しを行う前に、XGameSaveCreateUpdate の呼び出しが成功している必要があります。

この API のストレージ部分は、ゲームから永続ストレージに、安全で信頼できるトランザクション方式でデータを簡単に転送するように設計されています。 コンテナーへのデータのバックアップには常に整合性が必要であり、そのため操作全体がアトミックに成功または失敗する必要があります。 一部の BLOB データがコンテナー内の他のデータと整合しなくなる部分的な更新が行われないようにする必要があります。 これを実行するため、BLOB の書き込みと削除が送信される更新コンテキストが提供され、その準備ができるとコンテキスト全体が送信されます。 更新コンテキストでは、BLOB ごとに 1 つの変更/削除のみを書き込むことができることに注意してください。 実際には、次のようになります。

XGameSaveUpdate には、XGameSaveSubmitBlobWriteXGameSaveSubmitBlobDelete によって、コンテナー内の BLOB に対して実行される書き込みおよび削除の操作が設定されます。 更新は、XGameSaveSubmitUpdate を呼び出すことによって完了されます。

使用方法については、XGameSaveCreateUpdate の例を参照してください。

要件

ヘッダー: XGameSave.h

ライブラリ: xgameruntime.lib

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

関連項目

XGameSave
XGameSaveCreateUpdate
XGameSaveSubmitUpdate
XGameSaveSubmitBlobDelete
ゲームのセーブ エラー