XGameSaveCreateContainer

Creates a XGameSaveContainer handle.

Syntax

HRESULT XGameSaveCreateContainer(  
         XGameSaveProviderHandle provider,  
         const char* containerName,  
         XGameSaveContainerHandle* containerContext  
)  

Parameters

provider   _In_
Type: XGameSaveProviderHandle

Handle to the XGameSaveProvider which will create the container.

containerName   _In_z_
Type: char*

Name of the container to be created.

Valid characters for the path portion of the container name (up to and including the final forward slash) includes uppercase letters (A-Z), lowercase letters (a-z), numbers (0-9), underscore (_), and forward slash (/). The path portion may be empty.

Valid characters for the file name portion (everything after the final forward slash) include uppercase letters (A-Z), lowercase letters (a-z), numbers (0-9), underscore (_), period (.), and hyphen (-). The file name may not be empty, end in a period or contain two consecutive periods.

The maximum length for the container name is 256 characters.

containerContext   _Outptr_result_nullonfailure_
Type: XGameSaveContainerHandle*

Handle to the XGameSaveContainer to be returned by this function call.

Return value

Type: HRESULT

Function result. If the containerName is invalid, the function will return E_GS_INVALID_CONTAINER_NAME (0x80830001).

Remarks

Note

This function isn't safe to call on a time-sensitive thread. For more information, see Time-sensitive threads.

Note

The XGameSave API requires your title to have its title ID and service configuration ID (SCID) properly configured in order to work. For more information about these required IDs, see Setting Up Sandboxes for Xbox Live Development. Your game must be enabled for Xbox Live in Partner Center.

If you do not configure your SCID and Title ID properly, your XSaveGame API calls will fail with the following error code:

E_GS_NO_ACCESS - 0x80830002 - The operation failed because the title does not have access to the container storage spaces.

XGameSaveCreateContainer is used to both create a new container and access a previously made container by using the name as an identifier. A gamesave container holds information about a player in the form of XGameSaveBlobs. Blobs are specific data associated with a player, that data includes a name and value along with other information to help read the blob data. You can find the make up of an XGameSaveContainer in the XGameSaveContainerInfo struct.

Note

A container is not finalized until either XGameSaveSubmitUpdate or XGameSaveSubmitUpdateAsync has been called for the container. Until the update API has been called, the container will not ship in the results of XGameSaveEnumerateContainerInfoByName.

Requirements

Header: XGameSave.h

Library: xgameruntime.lib

Supported platforms: Windows, Xbox One family consoles and Xbox Series consoles

See also

XGameSave
XGameSaveContainerInfo
XGameSaveBlob
Game save errors