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

> Obtient des informations sur les fonctionnalités prises en charge par le pilote graphique actuel. (ID3D12Device.CheckFeatureSupport)

Obtient des informations sur les fonctionnalités prises en charge par le pilote graphique actuel.

## Syntaxe

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

### Paramètres

*Feature*\
Type : D3D12\_FEATURE

Constante de l'énumération [D3D12\_FEATURE](/fr/reference/graphics/d3d12/enums/d3d12_feature_public) décrivant la ou les fonctionnalités dont vous souhaitez vérifier la prise en charge.

*pFeatureSupportData \[in, out]*\
Type : void \*

Pointeur vers une structure de données qui correspond à la valeur du paramètre <i>Feature</i>. Pour déterminer la structure de données correspondant à chaque constante, consultez [D3D12\_FEATURE](/fr/reference/graphics/d3d12/enums/d3d12_feature_public).

*FeatureSupportDataSize*\
Type : UINT

La taille de la structure vers laquelle pointe le paramètre <i>pFeatureSupportData</i>.

### Valeur renvoyée

Type : HRESULT

Renvoie **S\_OK** en cas de réussite. Renvoie **E\_INVALIDARG** si un type de données non pris en charge est transmis au paramètre <i>pFeatureSupportData</i> ou si une incohérence de taille est détectée pour le paramètre <i>FeatureSupportDataSize</i>.

## Remarques

Par exemple, pour vérifier la prise en charge du ray tracing, spécifiez la structure [D3D12\_FEATURE\_DATA\_D3D12\_OPTIONS5](/fr/reference/graphics/d3d12/structs/d3d12_feature_data_d3d12_options5_public) dans le paramètre <i>pFeatureSupportData</i>. Lorsque la fonction se termine correctement, accédez au champ <i>RaytracingTier</i> (qui spécifie le niveau de ray tracing pris en charge) de la structure **D3D12\_FEATURE\_DATA\_D3D12\_OPTIONS5** désormais renseignée.

Pour plus d'informations, consultez [Interrogation des capacités](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" />Prise en charge matérielle des formats DXGI</h3>
Pour afficher les tableaux des formats DXGI et des fonctionnalités matérielles, consultez :

<ul>
  <li>
    [Prise en charge des formats DXGI pour le matériel de niveau de fonctionnalité Direct3D 12.1](https://learn.microsoft.com/en-us/windows/desktop/direct3ddxgi/hardware-support-for-direct3d-12-1-formats)
  </li>

  <li>
    [Prise en charge des formats DXGI pour le matériel de niveau de fonctionnalité Direct3D 12.0](https://learn.microsoft.com/en-us/windows/desktop/direct3ddxgi/hardware-support-for-direct3d-12-0-formats)
  </li>

  <li>
    [Prise en charge des formats DXGI pour le matériel de niveau de fonctionnalité Direct3D 11.1](https://learn.microsoft.com/en-us/windows/desktop/direct3ddxgi/format-support-for-direct3d-11-1-feature-level-hardware)
  </li>

  <li>
    [Prise en charge des formats DXGI pour le matériel de niveau de fonctionnalité Direct3D 11.0](https://learn.microsoft.com/en-us/windows/desktop/direct3ddxgi/format-support-for-direct3d-11-0-feature-level-hardware)
  </li>

  <li>
    [Prise en charge matérielle des formats Direct3D 10Level9](https://learn.microsoft.com/en-us/previous-versions/ff471324\(v=vs.85\))
  </li>

  <li>
    [Prise en charge des formats pour le matériel de niveau de fonctionnalité Direct3D 10.1](https://learn.microsoft.com/en-us/windows/desktop/direct3ddxgi/format-support-for-direct3d-feature-level-10-1-hardware)
  </li>

  <li>
    [Prise en charge des formats pour le matériel de niveau de fonctionnalité Direct3D 10.0](https://learn.microsoft.com/en-us/windows/desktop/direct3ddxgi/format-support-for-direct3d-feature-level-10-0-hardware)
  </li>
</ul>

#### Exemples

L'exemple [D3D1211on12](https://learn.microsoft.com/en-us/windows/desktop/direct3d12/working-samples) utilise **ID3D12Device::CheckFeatureSupport** comme suit :

```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;
}

```

## Configuration requise

**En-tête :** d3d12\_xs.h ou d3d12\_x.h\
**Bibliothèque :** d3d12\_xs.lib ou d3d12\_x.lib\
**Plateformes prises en charge** : consoles XBOX Series et famille XBOX One

## Voir aussi

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


## Related topics

- [D3D12_FEATURE](/fr/reference/graphics/d3d12/enums/d3d12_feature_public.md)
- [D3D12_FEATURE_DATA_D3D12_OPTIONS5](/fr/reference/graphics/d3d12/structs/d3d12_feature_data_d3d12_options5_public.md)
- [D3D12_FEATURE_DATA_SHADER_MODEL](/fr/reference/graphics/d3d12/structs/d3d12_feature_data_shader_model_public.md)
- [D3D12_FEATURE_DATA_SHADER_CACHE](/fr/reference/graphics/d3d12/structs/d3d12_feature_data_shader_cache_public.md)
- [D3D12_FEATURE_DATA_COMMAND_QUEUE_PRIORITY](/fr/reference/graphics/d3d12/structs/d3d12_feature_data_command_queue_priority_public.md)
