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

# CheckFeatureSupport

> 현재 그래픽 드라이버에서 지원하는 기능에 대한 정보를 가져옵니다. (ID3D12Device.CheckFeatureSupport)

현재 그래픽 드라이버에서 지원하는 기능에 대한 정보를 가져옵니다.

## 구문

```cpp theme={null}
HRESULT CheckFeatureSupport(
    D3D12_FEATURE Feature,
    void  pFeatureSupportData,
    UINT FeatureSupportDataSize
)
```

### 매개 변수

*Feature*\
형식: D3D12\_FEATURE

지원 여부를 쿼리할 기능을 설명하는 [D3D12\_FEATURE](/reference/graphics/d3d12/enums/d3d12_feature_public) 열거형의 상수입니다.

*pFeatureSupportData \[in, out]*\
형식: void \*

<i>Feature</i> 매개 변수의 값에 해당하는 데이터 구조에 대한 포인터입니다. 각 상수에 해당하는 데이터 구조를 확인하려면 [D3D12\_FEATURE](/reference/graphics/d3d12/enums/d3d12_feature_public)를 참조하세요.

*FeatureSupportDataSize*\
형식: UINT

<i>pFeatureSupportData</i> 매개 변수가 가리키는 구조체의 크기입니다.

### 반환 값

형식: HRESULT

성공하면 **S\_OK**를 반환합니다. <i>pFeatureSupportData</i> 매개 변수에 지원되지 않는 데이터 형식이 전달되었거나 <i>FeatureSupportDataSize</i> 매개 변수에 대해 크기 불일치가 감지된 경우 **E\_INVALIDARG**를 반환합니다.

## 설명

사용 예로, 레이 트레이싱 지원을 확인하려면 <i>pFeatureSupportData</i> 매개 변수에 [D3D12\_FEATURE\_DATA\_D3D12\_OPTIONS5](/reference/graphics/d3d12/structs/d3d12_feature_data_d3d12_options5_public) 구조체를 지정하세요. 함수가 성공적으로 완료되면 이제 채워진 **D3D12\_FEATURE\_DATA\_D3D12\_OPTIONS5** 구조체의 <i>RaytracingTier</i> 필드(지원되는 레이 트레이싱 계층 지정)에 액세스합니다.

자세한 내용은 [기능 쿼리](https://learn.microsoft.com/en-us/windows/desktop/direct3d12/capability-querying)를 참조하세요.

<h3><a id="Hardware_support_for_DXGI_Formats" /><a id="hardware_support_for_dxgi_formats" /><a id="HARDWARE_SUPPORT_FOR_DXGI_FORMATS" />DXGI 형식에 대한 하드웨어 지원</h3>
DXGI 형식과 하드웨어 기능의 표를 보려면 다음을 참조하세요:

<ul>
  <li>
    [Direct3D 기능 수준 12.1 하드웨어에 대한 DXGI 형식 지원](https://learn.microsoft.com/en-us/windows/desktop/direct3ddxgi/hardware-support-for-direct3d-12-1-formats)
  </li>

  <li>
    [Direct3D 기능 수준 12.0 하드웨어에 대한 DXGI 형식 지원](https://learn.microsoft.com/en-us/windows/desktop/direct3ddxgi/hardware-support-for-direct3d-12-0-formats)
  </li>

  <li>
    [Direct3D 기능 수준 11.1 하드웨어에 대한 DXGI 형식 지원](https://learn.microsoft.com/en-us/windows/desktop/direct3ddxgi/format-support-for-direct3d-11-1-feature-level-hardware)
  </li>

  <li>
    [Direct3D 기능 수준 11.0 하드웨어에 대한 DXGI 형식 지원](https://learn.microsoft.com/en-us/windows/desktop/direct3ddxgi/format-support-for-direct3d-11-0-feature-level-hardware)
  </li>

  <li>
    [Direct3D 10Level9 형식에 대한 하드웨어 지원](https://learn.microsoft.com/en-us/previous-versions/ff471324\(v=vs.85\))
  </li>

  <li>
    [Direct3D 기능 수준 10.1 하드웨어에 대한 형식 지원](https://learn.microsoft.com/en-us/windows/desktop/direct3ddxgi/format-support-for-direct3d-feature-level-10-1-hardware)
  </li>

  <li>
    [Direct3D 기능 수준 10.0 하드웨어에 대한 형식 지원](https://learn.microsoft.com/en-us/windows/desktop/direct3ddxgi/format-support-for-direct3d-feature-level-10-0-hardware)
  </li>
</ul>

#### 예제

[D3D1211on12](https://learn.microsoft.com/en-us/windows/desktop/direct3d12/working-samples) 샘플은 다음과 같이 **ID3D12Device::CheckFeatureSupport**를 사용합니다:

```cpp theme={null}
inline UINT8 D3D12GetFormatPlaneCount(
_In_ ID3D12Device* pDevice,
DXGI_FORMAT Format
)
{
D3D12_FEATURE_DATA_FORMAT_INFO formatInfo = {Format};
if (FAILED(pDevice->CheckFeatureSupport(D3D12_FEATURE_FORMAT_INFO, &formatInfo, sizeof(formatInfo))))
{
return 0;
}
return formatInfo.PlaneCount;
}

```

## 요구 사항

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

## 함께 보기

[ID3D12Device](/reference/graphics/d3d12_x/interfaces/id3d12device/id3d12device)
