> ## Documentation Index
> Fetch the complete documentation index at: https://docs.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

Une constante de l'énumération [D3D12\_FEATURE](https://docs.xbox.com/fr-CA/reference/graphics/d3d12/enums/d3d12_feature_public.md) qui décrit la ou les fonctionnalités dont vous voulez interroger la prise en charge.

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

Un pointeur vers une structure de données qui correspond à la valeur du paramètre *Feature*. Pour déterminer la structure de données correspondant à chaque constante, consultez [D3D12\_FEATURE](https://docs.xbox.com/fr-CA/reference/graphics/d3d12/enums/d3d12_feature_public.md).

*FeatureSupportDataSize*\
Type : UINT

La taille de la structure pointée par le paramètre *pFeatureSupportData*.

### Valeur de retour

Type : HRESULT

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

## Remarques

À titre d'exemple d'utilisation, pour vérifier la prise en charge du lancer de rayons, spécifiez la structure [D3D12\_FEATURE\_DATA\_D3D12\_OPTIONS5](https://docs.xbox.com/fr-CA/reference/graphics/d3d12/structs/d3d12_feature_data_d3d12_options5_public.md) dans le paramètre *pFeatureSupportData*. Lorsque la fonction se termine avec succès, accédez au champ *RaytracingTier* (qui spécifie le niveau de lancer de rayons pris en charge) de la structure **D3D12\_FEATURE\_DATA\_D3D12\_OPTIONS5** désormais remplie.

Pour plus d'informations, consultez [Interrogation des capacités](https://learn.microsoft.com/en-us/windows/desktop/direct3d12/capability-querying).

Prise en charge matérielle des formats DXGI
Pour consulter les tableaux des formats DXGI et des fonctionnalités matérielles, reportez-vous à :

<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](https://docs.xbox.com/fr-CA/reference/graphics/d3d12_x/interfaces/id3d12device/id3d12device.md)


## Related topics

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