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

# D3D12EnableExperimentalFeatures

> 실험적 기능 목록을 활성화합니다.

실험적 기능 목록을 활성화합니다.

## 구문

```cpp theme={null}
HRESULT D3D12EnableExperimentalFeatures(
    UINT NumFeatures,
    const IID  pIIDs,
    void  pConfigurationStructs,
    UINT  pConfigurationStructSizes
)
```

### 매개 변수

*NumFeatures*\
형식: UINT

활성화할 실험적 기능의 수입니다.

*pIIDs \[in]*\
형식: const IID \*

[SAL](https://learn.microsoft.com/en-us/visualstudio/code-quality/annotating-function-parameters-and-return-values?view=vs-2015\&preserve-view=true): <code>\_\_in\_ecount(NumFeatures)</code>

사용 가능한 실험적 기능 중 활성화할 항목을 지정하는 ID 배열에 대한 포인터입니다.

*pConfigurationStructs \[in]*\
형식: void \*

[SAL](https://learn.microsoft.com/en-us/visualstudio/code-quality/annotating-function-parameters-and-return-values?view=vs-2015\&preserve-view=true): <code>\_\_in\_ecount(NumFeatures)</code>

일부 실험적 기능을 활성화하는 데 필요할 수 있는 추가 구성 세부 정보를 포함하는 구조체입니다.

*pConfigurationStructSizes \[in]*\
형식: UINT \*

[SAL](https://learn.microsoft.com/en-us/visualstudio/code-quality/annotating-function-parameters-and-return-values?view=vs-2015\&preserve-view=true): <code>\_\_in\_ecount(NumFeatures)</code>

pConfigurationStructs 매개 변수에 전달된 구성 구조체의 크기입니다.

### 반환 값

형식: HRESULT

이 메서드는 인식할 수 없는 기능이 지정되었거나 개발자 모드가 활성화되어 있지 않은 경우 E\_NOINTERFACE, 기능의 구성이 올바르지 않거나, 지정된 실험적 기능이 호환되지 않거나, 기타 오류인 경우 E\_INVALIDARG를 포함할 수 있는 HRESULT 성공 또는 오류 코드를 반환합니다.

## 설명

디바이스 생성 전에 이 함수를 호출하세요.

실험적 기능 세트는 시간이 지남에 따라 변경되며 이러한 기능이 안정적이지 않을 수 있으므로, 개발 및 실험 목적으로만 사용됩니다. 이는 실험적 기능을 활성화하기 전에 개발자 모드가 활성화되어 있어야 함을 요구함으로써 강제됩니다.

현재 지원되는 실험적 기능 세트는 D3D12EnableExperimentalFeatures 함수 정의 근처의 D3D12.h 헤더에서 찾을 수 있습니다. 실험적 기능은 자주 제공되지 않으므로, 현재 지원되는 실험적 기능이 없는 것이 일반적입니다.

일부 실험적 기능은 IID를 GUID로 사용하여 식별될 수 있습니다. 이러한 기능의 경우, IID를 매개 변수로 전달하여 D3D12GetDebugInterface를 사용해 해당 기능을 조작하기 위한 인터페이스를 검색할 수 있습니다.

이 함수가 활성화할 기능의 다른 목록으로 다시 호출되면, 현재 모든 D3D12 디바이스가 DEVICE\_REMOVED 상태로 설정됩니다.

#### 예제

이 예제는 실험적 기능 정의가 어떻게 생겼는지 보여줍니다.

```cpp theme={null}
// --------------------------------------------------------------------------------------------------------------------------------
// Experimental Feature: D3D12ExperimentalShaderModels
//
// Use with D3D12EnableExperimentalFeatures to enable experimental shader model support,
// meaning shader models that haven't been finalized for use in retail.
//
// Enabling D3D12ExperimentalShaderModels needs no configuration struct, pass NULL in the pConfigurationStructs array.
//
// --------------------------------------------------------------------------------------------------------------------------------
static const UUID D3D12ExperimentalShaderModels = { /* 76f5573e-f13a-40f5-b297-81ce9e18933f */
0x76f5573e,
0xf13a,
0x40f5,
{ 0xb2, 0x97, 0x81, 0xce, 0x9e, 0x18, 0x93, 0x3f }
};

```

## 요구 사항

**헤더:** d3d12\_xs.h 또는 d3d12\_x.h\
**라이브러리:** d3d12\_xs.lib 또는 d3d12\_x.lib\
**지원 플랫폼**: XBOX Series 콘솔 및 XBOX One 제품군

## 함께 보기

[핵심 함수](https://learn.microsoft.com/en-us/windows/desktop/direct3d12/direct3d-12-functions)
