> ## 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.

# D3D12_SHADER_CACHE_SESSION_DESC

> シェーダー キャッシュ セッションを記述します。

シェーダー キャッシュ セッションを記述します。

## 構文

```cpp theme={null}
typedef struct D3D12_SHADER_CACHE_SESSION_DESC
{
    GUID Identifier;
    D3D12_SHADER_CACHE_MODE Mode;
    D3D12_SHADER_CACHE_FLAGS Flags;
    UINT MaximumInMemoryCacheSizeBytes;
    UINT MaximumInMemoryCacheEntries;
    UINT MaximumValueFileSizeBytes;
    UINT64 Version;
} D3D12_SHADER_CACHE_SESSION_DESC
```

### メンバー

*Identifier*\
型: GUID

この特定のキャッシュに付ける一意の識別子。識別子が異なるキャッシュは並列に格納されます。同じ識別子を持つキャッシュは、同一プロセス内のすべてのセッション間で共有されます。既存のキャッシュと同じ識別子でディスク キャッシュを作成すると、そのキャッシュが開かれます。ただし、**Version** が一致しない場合を除きます。その場合、他のセッションがそのキャッシュを開いていなければ、キャッシュはクリアされて再作成されます。既存のセッションがある場合、[ID3D12Device9::CreateShaderCacheSession](/reference/graphics/d3d12/interfaces/id3d12device9/methods/id3d12device9_createshadercachesession_public) は **DXGI\_ERROR\_ALREADY\_EXISTS** を返します。

*Mode*\
型: D3D12\_SHADER\_CACHE\_MODE

キャッシュの種類を指定します。

*Flags*\
型: D3D12\_SHADER\_CACHE\_FLAGS

キャッシュの動作を変更します。

*MaximumInMemoryCacheSizeBytes*\
型: UINT

インメモリ キャッシュの場合、これが唯一利用できるストレージです。ディスク キャッシュの場合、格納または検出されたすべてのエントリは、新しいエントリによって追い出されるまで一時的にメモリに保存されます。この値によって、その一時ストレージのサイズが決定されます。既定値は 1 KB です。

*MaximumInMemoryCacheEntries*\
型: UINT

メモリに格納できるエントリ数を指定します。既定値は 128 です。

*MaximumValueFileSizeBytes*\
型: UINT

ディスク キャッシュの場合に、ファイルの最大サイズを制御します。既定値は 128 MB です。

*Version*\
型: UINT64

アプリケーションまたはコンポーネントの更新が行われたときに、暗黙的にキャッシュをクリアするために使用できます。バージョンがキャッシュに保存されているバージョンと一致しない場合、キャッシュは消去されて再作成されます。

## 解説

## 要件

**ヘッダー:** d3d12\_xs.h または d3d12\_x.h\
**ライブラリ:** d3d12\_xs.lib または d3d12\_x.lib\
**サポートされるプラットフォーム**: XBOX Series 本体および XBOX One ファミリ

## 関連項目

* [ID3D12Device9::CreateShaderCacheSession](/reference/graphics/d3d12/interfaces/id3d12device9/methods/id3d12device9_createshadercachesession_public)
* [D3D12 シェーダー キャッシュ API](https://microsoft.github.io/DirectX-Specs/d3d/ShaderCache.html)


## Related topics

- [ID3D12ShaderCacheSession::GetDesc](/ja-jp/reference/graphics/d3d12/interfaces/id3d12shadercachesession/methods/id3d12shadercachesession_getdesc_public.md)
- [D3D12_SHADER_CACHE_FLAGS](/ja-jp/reference/graphics/d3d12/enums/d3d12_shader_cache_flags_public.md)
- [CreateShaderCacheSession (XBOX Series 本体)](/ja-jp/reference/graphics/d3d12/interfaces/id3d12device9/methods/id3d12device9_createshadercachesession_public.md)
- [D3D12_SHADER_CACHE_MODE](/ja-jp/reference/graphics/d3d12/enums/d3d12_shader_cache_mode_public.md)
- [ID3D12ShaderCacheSession](/ja-jp/reference/graphics/d3d12/interfaces/id3d12shadercachesession/id3d12shadercachesession_public.md)
