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 只能写入一个修改/删除。 在实践中,这类似于以下内容:

XGameSaveUpdate 将用写入和删除操作填充,以便通过 XGameSaveSubmitBlobWriteXGameSaveSubmitBlobDelete 对容器内的 blob 执行。 通过调用 XGameSaveSubmitUpdate 完成更新。

有关用法,请参阅 XGameSaveCreateUpdate 示例

要求

头文件:XGameSave.h

库:xgameruntime.lib

支持平台:Windows、Xbox One 系列主机和 Xbox Series 主机

另请参阅

XGameSave
XGameSaveCreateUpdate
XGameSaveSubmitUpdate
XGameSaveSubmitBlobDelete
游戏保存错误