GameSaveContainer.SubmitUpdatesAsync 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
將此容器中的遊戲儲存 Blob 提交一組變更。 變更可以寫入 Blob 或刪除現有的 Blob。 如果容器不存在,則會建立新的容器。 所有寫入和更新都會以不可部分完成的方式套用。 嘗試寫入和刪除相同的 Blob 會導致錯誤。 每個呼叫只能寫入 16 MB 的資料。
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 < ;字串、IBuffer > 、 [JavaScript/C++] | System.Collections.Generic.IReadOnlyDictionary < ;String、 IBuffer > ; [.NET]
Blob 名稱和要為每個 Blob 寫入的資料集合。 Blob 名稱的最大長度為 63 個字元。
類型: 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 限制為每個使用者總共 256 MB 的儲存體。
當使用者的標題達到其儲存限制時, 對 SubmitUpdatesAsync 的 呼叫將會失敗。
如果 Blob 名稱或顯示名稱超過最大長度,遊戲儲存將無法上傳。
SubmitUpdatesAsync 呼叫不得假設未來的 SubmitUpdatesAsync 呼叫將會順利完成,才能讓容器保持有效狀態。 每個 SubmitUpdatesAsync 呼叫都必須讓指定容器的內容保持為有效的狀態,以供應用程式稍後讀取。 例如,如果玩家在遊戲中購買具有金級的食物,則應該在 與 SubmitUpdatesAsync相同的呼叫中更新金級和食物的新值。 這可確保這兩個值都會同時更新,或在發生電源故障或防止更新的一些其他事件時更新,食物和金級仍然會有其原始值。