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