> ## 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](/zh-TW/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](/zh-TW/reference/graphics/d3d12/interfaces/id3d12device9/methods/id3d12device9_createshadercachesession_public)
* [D3D12 著色器快取 API](https://microsoft.github.io/DirectX-Specs/d3d/ShaderCache.html)


## Related topics

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