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>; [JavaScript/C++] | System.Collections.Generic.IReadOnlyDictionary<; String, IBuffer>; [.NET]
Коллекция имен BLOB-объектов и данных для записи для каждого большого двоичного объекта. Максимальная длина имени большого двоичного объекта составляет 63 символа.
Тип: 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. Это гарантирует, что оба значения будут обновлены одновременно или в случае сбоя питания или какого-либо другого события, препятствующего обновлению, как продукты питания, так и золото по-прежнему будут иметь свои исходные значения.