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 将用写入和删除操作填充,以便通过 XGameSaveSubmitBlobWrite 和 XGameSaveSubmitBlobDelete 对容器内的 blob 执行。 通过调用 XGameSaveSubmitUpdate 完成更新。
有关用法,请参阅 XGameSaveCreateUpdate 示例。
要求
头文件:XGameSave.h
库:xgameruntime.lib
支持平台:Windows、Xbox One 系列主机和 Xbox Series 主机
另请参阅
XGameSave
XGameSaveCreateUpdate
XGameSaveSubmitUpdate
XGameSaveSubmitBlobDelete
游戏保存错误