Skip to main content

XGameSaveSubmitUpdate

Submit an update to the XGameSave service. Updates blobs within a container.

Syntax

Parameters

updateContext   _In_
Type: XGameSaveUpdateHandle
A handle to the XGameSaveUpdate to be updated.

Return value

Type: HRESULT Function result. Common Errors
  • E_GS_INVALID_CONTAINER_NAME
  • E_GS_OUT_OF_LOCAL_STORAGE
  • E_GS_UPDATE_TOO_BIG
  • E_GS_QUOTA_EXCEEDED
  • E_GS_CONTAINER_NOT_IN_SYNC
  • E_GS_CONTAINER_SYNC_FAILED
  • E_GS_HANDLE_EXPIRED

Remarks

This function isn’t safe to call on a time-sensitive thread. For more information, see Time-sensitive threads.
You need to successfully call XGameSaveCreateUpdate before making this call. The storage portion of this API is designed to easily transfer data from the game to persisted storage in a safe, reliable and transactional manner. We want to make sure the backing data for a container is always consistent and as such we want the whole operation to succeed or fail atomically. We don’t want to have a partial update where some blob data is inconsistent with other data within the container. In order to do this we provide an update context that blob writes and deletes are submitted to and when that is ready the whole context is submitted. In practice this looks like the following: An XGameSaveUpdate will be filled with Write and Delete actions to be carried out on blobs within the container by way of XGameSaveSubmitBlobWrite and XGameSaveSubmitBlobDelete. An update is completed by calling XGameSaveSubmitUpdate. When you are finished with an XGameSaveUpdate close it using the XGameSaveCloseUpdate method. The following C++ sample demonstrates a synchronous XGameSave update.

Requirements

Header: XGameSave.h Library: xgameruntime.lib Supported platforms: Windows, XBOX One family consoles and XBOX Series consoles

Conceptual documentation

See also

XGameSave
XGameSaveCreateUpdate
XGameSaveSubmitBlobWrite
XGameSaveSubmitBlobDelete
XGameSaveCloseUpdate Debugging Game Saves
Last modified on August 20, 2026