GameSaveContainer.SubmitUpdatesAsync 方法

定义

在此容器中提交对游戏保存 blob 的一组更改。 更改可以是写入 Blob 或删除现有 Blob。 如果容器不存在,则会创建一个新容器。 所有写入和更新都是以原子方式应用的。 尝试写入和删除同一 Blob 会导致错误。 每次调用只能写入 16MB 的数据。

public:
 virtual IAsyncOperation<GameSaveOperationResult ^> ^ SubmitUpdatesAsync(IMapView<Platform::String ^, IBuffer ^> ^ blobsToWrite, IIterable<Platform::String ^> ^ blobsToDelete, Platform::String ^ displayName) = SubmitUpdatesAsync;
/// [Windows.Foundation.Metadata.RemoteAsync]
IAsyncOperation<GameSaveOperationResult> SubmitUpdatesAsync(IMapView<winrt::hstring, IBuffer const&> const& blobsToWrite, IIterable<winrt::hstring> const& blobsToDelete, winrt::hstring const& displayName);
[Windows.Foundation.Metadata.RemoteAsync]
public IAsyncOperation<GameSaveOperationResult> SubmitUpdatesAsync(IReadOnlyDictionary<string,IBuffer> blobsToWrite, IEnumerable<string> blobsToDelete, string displayName);
function submitUpdatesAsync(blobsToWrite, blobsToDelete, displayName)
Public Function SubmitUpdatesAsync (blobsToWrite As IReadOnlyDictionary(Of String, IBuffer), blobsToDelete As IEnumerable(Of String), displayName As String) As IAsyncOperation(Of GameSaveOperationResult)

参数

blobsToWrite

IMapView<String,IBuffer>

IReadOnlyDictionary<String,IBuffer>

IMapView<Platform::String,IBuffer>

IMapView<winrt::hstring,IBuffer>

类型: IMapView<;String,IBuffer>; [JavaScript/C++] | System.Collections.Generic.IReadOnlyDictionary<;String,IBuffer>; [.NET]

Blob 名称和要为每个 Blob 写入的数据的集合。 Blob 名称的最大长度为 63 个字符。

blobsToDelete

IIterable<String>

IEnumerable<String>

IIterable<Platform::String>

IIterable<winrt::hstring>

类型: IIterable<;字符串>; [JavaScript/C++] | System.Collections.Generic.IEnumerable<;字符串>; [.NET]

包含要删除的 Blob 的字符串名称的集合。 Blob 名称的最大长度为 63 个字符。

displayName
String

Platform::String

winrt::hstring

类型: 字符串 [JavaScript] | System.String [.NET] | Platform::String [C++]

保存游戏容器的显示名称。 将此设置为将为游戏保存显示的名称。 显示名称的最大长度为 127 个字符。

返回

类型: IAsyncOperation<;GameSaveOperationResult>;

IAsyncOperation<;GameSaveOperationResult>; 表示异步操作的状态。

属性

注解

异步操作完成后,检查结果的 Status 属性,以确定操作是否在 GameSaveErrorStatus.Ok 中成功。

每个 TitleID/SCID 限制为每个用户总共 256MB 的存储空间。

当游戏达到用户的存储限制时,对 SubmitUpdatesAsync 的 调用将失败。

如果 Blob 名称或显示名称超过最大长度,游戏保存将无法上传。

SubmitUpdatesAsync 调用不得假定将来的 SubmitUpdatesAsync 调用会成功完成,以便将容器保持为有效状态。 每个 SubmitUpdatesAsync 调用必须将指定容器的内容保持为有效状态,以便应用稍后读取。 例如,如果玩家在游戏中购买含金牌的食物,则应在 对 SubmitUpdatesAsync 的同一调用中更新黄金和食物的新值。 这可以确保同时更新这两个值,或者在发生电源故障或其他阻止更新的事件时,食品和黄金仍将具有其原始值。

适用于

另请参阅