Condividi tramite


GameSaveContainer.SubmitUpdatesAsync Metodo

Definizione

Invia un set di modifiche ai BLOB di salvataggio del gioco in questo contenitore. Le modifiche possono essere scritture in BLOB o l'eliminazione di BLOB esistenti. Se il contenitore non esiste, ne viene creato uno nuovo. Tutte le scritture e gli aggiornamenti vengono applicati atomicamente. Il tentativo di scrivere ed eliminare lo stesso BLOB genera un errore. Solo 16 MB di dati possono essere scritti per chiamata.

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)

Parametri

blobsToWrite

IMapView<String,IBuffer>

IReadOnlyDictionary<String,IBuffer>

IMapView<Platform::String,IBuffer>

IMapView<winrt::hstring,IBuffer>

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

Raccolta di nomi BLOB e dati da scrivere per ogni BLOB. La lunghezza massima per un nome BLOB è di 63 caratteri.

blobsToDelete

IIterable<String>

IEnumerable<String>

IIterable<Platform::String>

IIterable<winrt::hstring>

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

Raccolta contenente i nomi di stringa dei BLOB da eliminare. La lunghezza massima per un nome BLOB è di 63 caratteri.

displayName
String

Platform::String

winrt::hstring

Tipo: String [JavaScript] | System.String [.NET] | Platform::String [C++]

Nome visualizzato del contenitore del gioco di salvataggio. Impostare questo valore sul nome che verrà visualizzato per il salvataggio del gioco. La lunghezza massima per il nome visualizzato è di 127 caratteri.

Restituisce

Tipo: IAsyncOperation<; GameSaveOperationResult>;

IAsyncOperation<; GameSaveOperationResult>, che rappresenta lo stato dell'operazione asincrona.

Attributi

Commenti

Al termine dell'operazione asincrona, controllare la proprietà Status del risultato per determinare se l'operazione ha avuto esito positivo con GameSaveErrorStatus.Ok.

Ogni TitleID/SCID è limitato a un totale di 256 MB di archiviazione per utente.

Quando un titolo ha raggiunto il limite di archiviazione per un utente, le chiamate a SubmitUpdatesAsync avranno esito negativo.

Se un nome BLOB o il nome visualizzato supera la lunghezza massima, il salvataggio del gioco non riuscirà a caricare.

Le chiamate SubmitUpdatesAsync non devono presupporre che una chiamata SubmitUpdatesAsync futura verrà completata correttamente per lasciare il contenitore in uno stato valido. Ogni chiamata SubmitUpdatesAsync deve lasciare il contenuto del contenitore specificato in uno stato valido per la lettura successiva dell'app. Ad esempio, se un giocatore acquista cibo con oro in un gioco, i nuovi valori per l'oro e il cibo devono essere aggiornati nella stessa chiamata a SubmitUpdatesAsync. Ciò garantisce che entrambi i valori vengano aggiornati contemporaneamente o in caso di errore di alimentazione o di un altro evento che impedisce l'aggiornamento, sia il cibo che l'oro avranno ancora i valori originali.

Si applica a

Vedi anche