Partager via


Fonction DMLCreateDevice1 (directml.h)

Crée un appareil DirectML pour un appareil Direct3D 12 donné.

Syntaxe

HRESULT DMLCreateDevice1(
  ID3D12Device            *d3d12Device,
  DML_CREATE_DEVICE_FLAGS flags,
  DML_FEATURE_LEVEL       minimumFeatureLevel,
  REFIID                  riid,
  void                    **ppv
);

Paramètres

d3d12Device

Type : ID3D12Device*

Pointeur vers un id3D12Device représentant l’appareil Direct3D 12 sur lequel créer l’appareil DirectML. DirectML prend en charge n’importe quel niveau de fonctionnalité D3D et les appareils Direct3D 12 créés sur n’importe quel adaptateur, y compris WARP. Toutefois, toutes les fonctionnalités de DirectML peuvent ne pas être disponibles en fonction des fonctionnalités de l’appareil Direct3D 12. Pour plus d’informations, consultez IDMLDevice ::CheckFeatureSupport .

Si l’appel à DMLCreateDevice1 réussit, l’appareil DirectML conserve une référence forte à l’appareil Direct3D 12 fourni.

flags

Type : DML_CREATE_DEVICE_FLAGS

Valeur DML_CREATE_DEVICE_FLAGS spécifiant des options de création d’appareil supplémentaires.

minimumFeatureLevel

Type : DML_FEATURE_LEVEL

Valeur DML_FEATURE_LEVEL spécifiant la prise en charge minimale du niveau de fonctionnalité requise.

Ce paramètre peut être utile pour les appelants qui ont besoin d’une version spécifique de DirectML, mais qui peuvent se trouver à appeler une version antérieure de DirectML. Cela peut se produire, par exemple, lorsque l’utilisateur exécute votre application sur une version antérieure de Windows 10.

Les applications qui dépendent explicitement des fonctionnalités introduites dans un niveau de fonctionnalité particulier peuvent la spécifier comme minimumFeatureLevel. Cela garantit que DMLCreateDevice1 n’aboutira pas, sauf si l’implémentation sous-jacente est au moins aussi capable que ce niveau de fonctionnalité minimal demandé.

Notez que, comme ce paramètre spécifie un niveau de fonctionnalité minimal , l’appareil DirectML sous-jacent peut en fait prendre en charge un niveau de fonctionnalité supérieur au niveau minimal demandé. Une fois la création de l’appareil réussie, vous pouvez interroger tous les niveaux de fonctionnalités pris en charge par cet appareil à l’aide d’IDMLDevice ::CheckFeatureSupport.

riid

Type : REFIID

Référence à l’identificateur global unique (GUID) de l’interface que vous souhaitez retourner dans l’appareil. Il s’agit du GUID d’IDMLDevice.

ppv

Type : _COM_Outptr_opt_ void**

Pointeur vers un bloc de mémoire qui reçoit un pointeur vers l’appareil. Il s’agit de l’adresse d’un pointeur vers un IDMLDevice, représentant l’appareil DirectML créé.

Valeur retournée

Type : HRESULT

Si la fonction réussit, elle retourne S_OK. Sinon, elle retourne un code d’erreur HRESULT.

Si cette version de DirectML ne prend pas en charge le minimumFeatureLevel demandé, cette fonction retourne DXGI_ERROR_UNSUPPORTED.

Remarques

Une version plus récente de cette fonction, DMLCreateDevice1, a été introduite dans DirectML version 1.1.0. DMLCreateDevice1 équivaut à appeler DMLCreateDevice1 et à fournir un minimumFeatureLevel de DML_FEATURE_LEVEL_1_0.

Disponibilité

Cette API a été introduite dans la version 1.1.0de DirectML .

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 10 Build 20348
Serveur minimal pris en charge Windows 10 Build 20348
Plateforme cible Windows
En-tête directml.h
Bibliothèque DirectML.lib
DLL DirectML.dll

Voir aussi