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

# XGameSaveEnumerateContainerInfoByName

> XGameSaveEnumerateContainerInfoByName

# XGameSaveEnumerateContainerInfoByName

**XGameSaveProvider** のコンテナー情報を取得します。プレフィックスを指定すると、この関数は同じプレフィックスを持つワードのみを返します。

## Syntax

```cpp theme={null}
HRESULT XGameSaveEnumerateContainerInfoByName(  
         XGameSaveProviderHandle provider,  
         const char* containerNamePrefix,  
         void* context,  
         XGameSaveContainerInfoCallback* callback  
)  
```

### Parameters

*provider*   \_In\_\
型: XGameSaveProviderHandle

[XGameSaveContainerInfo](/reference/system/xgamesave/structs/xgamesavecontainerinfo) を含む **XGameSaveProvider**。

*containerNamePrefix*   \_In\_opt\_z\_\
型: char\*

一致するコンテナー名を検索するためにコンテナーのリストで使用されるプレフィックス。

*context*   \_In\_opt\_\
型: void\*

コールバック関数に渡されるポインター。

*callback*   \_In\_\
型: XGameSaveContainerInfoCallback\*

プレフィックスに一致するすべてのコンテナーについて実行するコールバック関数。列挙を停止するには false を返します。この関数を使用して [XGameSaveContainerInfo](/reference/system/xgamesave/structs/xgamesavecontainerinfo) を収集します。

### Return value

型: HRESULT

関数の結果。

## Remarks

この関数を使用して、ユーザーに対してどのコンテナーが利用可能かを調べます。これには、UX で表示する必要があるデータが含まれる場合があります。このセットの列挙は、SyncOnDemand プロバイダーの同期を発生させず、呼び出し元が [XGameSaveContainerInfo](/reference/system/xgamesave/structs/xgamesavecontainerinfo) の needsSync フィールドを介して実際に同期ステータスを検査できるようにします。*needsSync* が true に設定されているコンテナーの BLOB データの読み取り、または更新コンテキストの使用は、強制的に同期を行い、さまざまな同期エラーが返される可能性があります。列挙するコンテナーのプレフィックスを指定する必要がない場合は、[XGameSaveEnumerateContainerInfo](/reference/system/xgamesave/functions/xgamesaveenumeratecontainerinfo) を使用できます。[XGameSaveEnumerateContainerInfo](/reference/system/xgamesave/functions/xgamesaveenumeratecontainerinfo) は、利用可能なコンテナーの完全なリストを返します。

```cpp theme={null}
// Enumerate Container List by prefix, if no prefix is supplied it is 
// the same as calling XGameSaveEnumerateContainerInfo. 
// NOTE: this should be safe to call from a time critical thread 
// but the we are at the mercy of the callback. 
void Sample::_EnumerateContainerInfoByName(const char* prefix) 
{ 
    HRESULT hr = XGameSaveEnumerateContainerInfoByName(_provider, prefix, this, 
        [](const XGameSaveContainerInfo* container, void* context) 
    { 
        auto self = reinterpret_cast<Sample*>(context); 
        self->_UpdateContainerList(container); 
        return true; 
    }); 
    if (FAILED(hr)) 
    { 
        _HandleContainerErrors(prefix, hr); 
    } 
  
} 
```

## Requirements

**ヘッダー:** XGameSave.h

**ライブラリ:** xgameruntime.lib

**サポートされているプラットフォーム:** Windows、XBOX One ファミリー本体および XBOX Series 本体

## Conceptual documentation

* [Time-sensitive threads](https://learn.microsoft.com/gaming/gdk/docs/gdk-dev/console-dev/overviews/threads/time-sensitive-threads)

## See also

[XGameSave](/reference/system/xgamesave/xgamesave_members)\
[XGameSaveEnumerateContainerInfo](/reference/system/xgamesave/functions/xgamesaveenumeratecontainerinfo)\
[Debugging Game Saves](/build/core-features/common/game-save/game-saves-debugging)
