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

对于内存中缓存，这是唯一可用的存储。对于磁盘缓存，所有存储或找到的条目都临时存储在内存中，直到被更新的条目逐出。此值确定该临时存储的大小。默认为 1KB。

*MaximumInMemoryCacheEntries*\
类型：UINT

指定可以在内存中存储多少个条目。默认为 128。

*MaximumValueFileSizeBytes*\
类型：UINT

对于磁盘缓存，控制最大文件大小。默认为 128MB。

*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 shader cache APIs](https://microsoft.github.io/DirectX-Specs/d3d/ShaderCache.html)


## Related topics

- [ID3D12ShaderCacheSession::GetDesc](/zh-CN/reference/graphics/d3d12/interfaces/id3d12shadercachesession/methods/id3d12shadercachesession_getdesc_public.md)
- [D3D12_SHADER_CACHE_FLAGS](/zh-CN/reference/graphics/d3d12/enums/d3d12_shader_cache_flags_public.md)
- [CreateShaderCacheSession (XBOX Series 主机)](/zh-CN/reference/graphics/d3d12/interfaces/id3d12device9/methods/id3d12device9_createshadercachesession_public.md)
- [D3D12_SHADER_CACHE_MODE](/zh-CN/reference/graphics/d3d12/enums/d3d12_shader_cache_mode_public.md)
- [ID3D12ShaderCacheSession](/zh-CN/reference/graphics/d3d12/interfaces/id3d12shadercachesession/id3d12shadercachesession_public.md)
