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

# SetDeleteOnDestroy

> 當對應至指定快取的所有快取工作階段物件都終結時，就會清除該快取。

當對應至指定快取的所有快取工作階段物件都終結時，就會清除該快取。

如需清除磁碟快取的方式，請參閱**備註**。

## 備註

可以透過下列其中一種方式清除磁碟快取。

* 明確清除：在工作階段物件上呼叫 **SetDeleteOnDestroy**，然後釋放該工作階段。
* 明確清除：在開發人員模式中，以 [D3D12\_SHADER\_CACHE\_KIND\_FLAG\_APPLICATION\_MANAGED](/zh-TW/reference/graphics/d3d12/enums/d3d12_shader_cache_kind_flags_public) 呼叫 [ID3D12Device9::ShaderCacheControl](/zh-TW/reference/graphics/d3d12/interfaces/id3d12device9/methods/id3d12device9_shadercachecontrol_public)。
* 隱含清除：使用與建立快取時所用版本不相符的版本來建立工作階段物件。
* 外部清除：由磁碟清理公用程式列舉並清除快取。使用 [D3D12\_SHADER\_CACHE\_FLAG\_USE\_WORKING\_DIR](/zh-TW/reference/graphics/d3d12/enums/d3d12_shader_cache_flags_public) 旗標建立的快取不會發生這種情況。
* 手動清除：針對 [D3D12\_SHADER\_CACHE\_FLAG\_USE\_WORKING\_DIR](/zh-TW/reference/graphics/d3d12/enums/d3d12_shader_cache_flags_public) 快取，刪除儲存在磁碟上的檔案 (`*.idx`、`*.val` 和 `*.lock`)。您的應用程式不應嘗試對儲存在工作目錄以外的快取執行此操作。

## 需求

**標頭:** d3d12\_xs.h 或 d3d12\_x.h\
**程式庫:** d3d12\_xs.lib 或 d3d12\_x.lib\
**支援的平台**: XBOX Series 主機與 XBOX One 系列

## 另請參閱

* [D3D12 著色器快取 API](https://microsoft.github.io/DirectX-Specs/d3d/ShaderCache.html)


## Related topics

- [D3D12_SHADER_CACHE_MODE](/zh-TW/reference/graphics/d3d12/enums/d3d12_shader_cache_mode_public.md)
- [Delete](/api-reference/authentication/delete.md)
- [DestroyOwnedObject](/zh-TW/reference/graphics/d3d12/interfaces/id3d12lifetimetracker/methods/id3d12lifetimetracker_destroyownedobject_public.md)
- [Delete Content](/api-reference/content/delete-content.md)
- [Delete Files](/api-reference/file/delete-files.md)
