Freigeben über


GameSaveContainer.SubmitUpdatesAsync Methode

Definition

Übermittelt eine Reihe von Änderungen an den Spielspeicherblobs in diesem Container. Änderungen können Schreibvorgänge in Blobs oder das Löschen vorhandener Blobs sein. Wenn der Container nicht vorhanden ist, wird ein neuer Container erstellt. Alle Schreibvorgänge und Updates werden atomar angewendet. Der Versuch, dasselbe Blob zu schreiben und zu löschen, führt zu einem Fehler. Pro Anruf dürfen nur 16 MB Daten geschrieben werden.

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)

Parameter

blobsToWrite

IMapView<String,IBuffer>

IReadOnlyDictionary<String,IBuffer>

IMapView<Platform::String,IBuffer>

IMapView<winrt::hstring,IBuffer>

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

Sammlung von Blobnamen und den Daten, die für jedes Blob geschrieben werden sollen. Die maximale Länge für einen Blobnamen beträgt 63 Zeichen.

blobsToDelete

IIterable<String>

IEnumerable<String>

IIterable<Platform::String>

IIterable<winrt::hstring>

Typ: IIterfähig<; String>; [JavaScript/C++] | System.Collections.Generic.IEnumerable<; String>; [.NET]

Auflistung mit den Zeichenfolgennamen der zu löschenden Blobs. Die maximale Länge für einen Blobnamen beträgt 63 Zeichen.

displayName
String

Platform::String

winrt::hstring

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

Der Anzeigename des Speicherspielcontainers. Legen Sie dies auf den Namen fest, der für den Spielspeicher angezeigt wird. Die maximale Länge für den Anzeigenamen beträgt 127 Zeichen.

Gibt zurück

Typ: IAsyncOperation<; GameSaveOperationResult>;

IAsyncOperation<; GameSaveOperationResult>, das den Zustand des asynchronen Vorgangs darstellt.

Attribute

Hinweise

Überprüfen Sie nach Abschluss des asynchronen Vorgangs die Status-Eigenschaft des Ergebnisses, um zu bestimmen, ob der Vorgang mit GameSaveErrorStatus.Ok erfolgreich war.

Jede TitleID/SCID ist auf insgesamt 256 MB Speicher pro Benutzer beschränkt.

Wenn ein Titel sein Speicherlimit für einen Benutzer erreicht hat, schlagen Aufrufe von SubmitUpdatesAsync fehl.

Wenn ein Blobname oder der Anzeigename die maximale Länge überschreitet, kann der Spielspeicher nicht hochgeladen werden.

SubmitUpdatesAsync-Aufrufe dürfen nicht davon ausgehen, dass ein zukünftiger SubmitUpdatesAsync-Aufruf erfolgreich abgeschlossen wird, um den Container in einem gültigen Zustand zu belassen. Jeder SubmitUpdatesAsync-Aufruf muss den Inhalt des angegebenen Containers in einem gültigen Zustand belassen, damit die App später lesen kann. Wenn ein Spieler beispielsweise Lebensmittel mit Gold in einem Spiel kauft, sollten die neuen Werte für Gold und Lebensmittel im gleichen Aufruf von SubmitUpdatesAsync aktualisiert werden. Dadurch wird sichergestellt, dass beide Werte gleichzeitig aktualisiert werden oder im Falle eines Stromausfalls oder eines anderen Ereignisses, das die Aktualisierung verhindert, weiterhin ihre ursprünglichen Werte haben.

Gilt für:

Weitere Informationen