> ## Documentation Index
> Fetch the complete documentation index at: https://docs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Microsoft.Xbox.Wrappers.XGameSave.Provider reference

> Reference for the Microsoft.Xbox.Wrappers.XGameSave.Provider class, the primary management type for initializing, loading, saving, and querying save containers.

The primary management class for the **XGameSave** wrapper.

## Syntax

```cpp theme={null}
class Provider
```

## Methods

| Method | Description |
| - | - |
| [Initialize](https://docs.xbox.com/reference/system/Wrappers/classes/provider/methods/xgamesave_wrapper_provider_initialize.md) | Intializes the save game wrapper, and synchronizes all of the containers for the specified user. |
| [QueryContainers](https://docs.xbox.com/reference/system/Wrappers/classes/provider/methods/xgamesave_wrapper_provider_querycontainers.md) | Returns a vector of container names that match the supplied name prefix. |
| [QueryContainerBlobs](https://docs.xbox.com/reference/system/Wrappers/classes/provider/methods/xgamesave_wrapper_provider_querycontainerblobs.md) | Returns a vector of [BlobInfo](https://docs.xbox.com/reference/system/Wrappers/structs/blobinfo.md) objects that identify the blobs (files) in the specified container. |
| [Load](https://docs.xbox.com/reference/system/Wrappers/classes/provider/methods/xgamesave_wrapper_provider_load.md) | Loads the data from the given blob (file), from within the specified container. |
| [Save](https://docs.xbox.com/reference/system/Wrappers/classes/provider/methods/xgamesave_wrapper_provider_save.md) | Saves data to the specified blob (file) within the specified container. |
| [GetQuota](https://docs.xbox.com/reference/system/Wrappers/classes/provider/methods/xgamesave_wrapper_provider_getquota.md) | Returns the amount of data available to store using the save game wrapper. |
| [Delete(std::string&)](https://docs.xbox.com/reference/system/Wrappers/classes/provider/methods/xgamesave_wrapper_provider_delete_string.md) | Deletes a container along with all of its blobs (files). |
| [Delete(std::string&, std::string&)](https://docs.xbox.com/reference/system/Wrappers/classes/provider/methods/xgamesave_wrapper_provider_delete_string_string.md) | Deletes the specified blobs (files) from the specified container. |
| [Delete(std::string&, BlobNames&)](https://docs.xbox.com/reference/system/Wrappers/classes/provider/methods/xgamesave_wrapper_provider_delete_string_blobnames.md) | Deletes one or more blobs (files) from the specified container. |

## Remarks

The **XGameSave** simplified wrapper is a set of API's that enable reading and writing data on behalf of a user, to be persisted across game sessions, and to seamlessly sync with the cloud across multiple devices. The wrapper APIs fall into three categories:

**Providers**

`gs_provider_t` is the handle that binds a user context to a game save. It's required for API interactions. Each provider can contain multiple containers, and each provider has a default quota of 256 MB. Provider operations include:

* Quota information
* Container management
* Provider Metadata (Service Configuration ID, UserContext)

**Containers**

You can use containers to logically correlate data into a group that can be written to, updated, and read from atomically. Container operations include:

* Queries on container info, and container status
* Queries on container contents
* Atomic updates to container data

**Binary large objects (blobs)**

Blobs contain the data contained within a container. The maximum amount of data that a blob can contain is 16 MB.

* Blob update and delete operations are designed to be atomic, so that a set of changes can be committed in one operation. If any portion fails, then the entire update fails.

## Requirements

**Header:** xgamesavewrappers.hpp

**Supported platforms:** Windows, XBOX One family consoles and XBOX Series consoles

## See also

[Microsoft.Xbox.Wrappers.XGameSave.Provider](https://docs.xbox.com/reference/system/Wrappers/classes/provider/xgamesave_wrapper_provider.md)\
[XGameSave wrapper members](https://docs.xbox.com/reference/system/Wrappers/xgamesave_wrapper_members.md)\
[Observer Design Pattern](https://learn.microsoft.com/dotnet/standard/events/observer-design-pattern)


## Related topics

- [XGameSave Wrapper Reference (API contents)](https://docs.xbox.com/reference/system/Wrappers/xgamesave_wrapper_members.md)
- [Save](https://docs.xbox.com/reference/system/Wrappers/classes/provider/methods/xgamesave_wrapper_provider_save.md)
- [Initialize](https://docs.xbox.com/reference/system/Wrappers/classes/provider/methods/xgamesave_wrapper_provider_initialize.md)
- [Load](https://docs.xbox.com/reference/system/Wrappers/classes/provider/methods/xgamesave_wrapper_provider_load.md)
- [QueryContainers](https://docs.xbox.com/reference/system/Wrappers/classes/provider/methods/xgamesave_wrapper_provider_querycontainers.md)
