GameSaveContainer.SubmitUpdatesAsync Метод

Определение

Отправляет набор изменений в blob-объекты сохранения игры в этом контейнере. Изменения могут быть записью в большие двоичные объекты или удалением существующих BLOB-объектов. Если контейнер не существует, создается новый. Все операции записи и обновления применяются атомарно. Попытка записать и удалить один и тот же большой двоичный объект приводит к ошибке. Для каждого вызова может быть записано только 16 МБ данных.

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-объектов и данных для записи для каждого большого двоичного объекта. Максимальная длина имени большого двоичного объекта составляет 63 символа.

blobsToDelete

IIterable<String>

IEnumerable<String>

IIterable<Platform::String>

IIterable<winrt::hstring>

Тип: IIterable<; String>; [JavaScript/C++] | System.Collections.Generic.IEnumerable<; String>; [.NET]

Коллекция, содержащая строковые имена больших двоичных объектов для удаления. Максимальная длина имени большого двоичного объекта составляет 63 символа.

displayName
String

Platform::String

winrt::hstring

Тип: String [JavaScript] | System.String [.NET] | Platform::String [C++]

Отображаемое имя контейнера игры для сохранения. Присвойте ей имя, которое будет отображаться для сохранения игры. Максимальная длина отображаемого имени составляет 127 символов.

Возвращаемое значение

Тип: IAsyncOperation<; GameSaveOperationResult>;

IAsyncOperation<; GameSaveOperationResult>; представляет состояние асинхронной операции.

Атрибуты

Комментарии

После завершения асинхронной операции проверка свойство Status результата, чтобы определить, успешно ли выполнена операция с помощью GameSaveErrorStatus.Ok.

Каждый TitleID/SCID ограничен в общей сложности 256 МБ хранилища на пользователя.

Когда заголовок достигает предельного объема хранилища для пользователя, вызовы SubmitUpdatesAsync завершатся ошибкой.

Если имя большого двоичного объекта или отображаемое имя превышает максимальную длину, сохранение игры не будет отправлено.

Вызовы SubmitUpdatesAsync не должны предполагать, что будущий вызов SubmitUpdatesAsync будет успешно завершен, чтобы оставить контейнер в допустимом состоянии. Каждый вызов SubmitUpdatesAsync должен оставить содержимое указанного контейнера в допустимом состоянии, чтобы приложение считывало его позже. Например, если игрок покупает еду с золотом в игре, новые значения золота и еды должны быть обновлены в том же вызове SubmitUpdatesAsync. Это гарантирует, что оба значения будут обновлены одновременно или в случае сбоя питания или какого-либо другого события, препятствующего обновлению, как продукты питания, так и золото по-прежнему будут иметь свои исходные значения.

Применяется к

См. также раздел