> ## 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](/reference/graphics/d3d12/enums/d3d12_shader_cache_kind_flags_public) を指定して [ID3D12Device9::ShaderCacheControl](/reference/graphics/d3d12/interfaces/id3d12device9/methods/id3d12device9_shadercachecontrol_public) を呼び出す。
* 暗黙的に、作成時に使用されたバージョンと一致しないバージョンでセッション オブジェクトを作成する。
* 外部から、ディスク クリーンアップ ユーティリティがそれを列挙してクリアする。これは [D3D12\_SHADER\_CACHE\_FLAG\_USE\_WORKING\_DIR](/reference/graphics/d3d12/enums/d3d12_shader_cache_flags_public) フラグで作成されたキャッシュに対しては発生しません。
* 手動で、[D3D12\_SHADER\_CACHE\_FLAG\_USE\_WORKING\_DIR](/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)
