Freigeben über


DMLCreateDevice1-Funktion (directml.h)

Erstellt ein DirectML-Gerät für ein bestimmtes Direct3D 12-Gerät.

Syntax

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

Parameter

d3d12Device

Typ: ID3D12Geräte*

Ein Zeiger auf ein ID3D12Device , das das Direct3D 12-Gerät darstellt, über das das DirectML-Gerät erstellt werden soll. DirectML unterstützt alle D3D-Featureebenen und Direct3D 12-Geräte, die mit jedem Adapter erstellt werden, einschließlich WARP. Abhängig von den Funktionen des Direct3D 12-Geräts sind jedoch möglicherweise nicht alle Features in DirectML verfügbar. Weitere Informationen finden Sie unter IDMLDevice::CheckFeatureSupport .

Wenn der Aufruf von DMLCreateDevice1 erfolgreich ist, behält das DirectML-Gerät einen starken Verweis auf das bereitgestellte Direct3D 12-Gerät bei.

flags

Typ: DML_CREATE_DEVICE_FLAGS

Ein DML_CREATE_DEVICE_FLAGS Wert, der zusätzliche Optionen für die Geräteerstellung angibt.

minimumFeatureLevel

Typ: DML_FEATURE_LEVEL

Ein DML_FEATURE_LEVEL Wert, der die erforderliche Mindestunterstützung auf Featureebene angibt.

Dieser Parameter kann für Aufrufer nützlich sein, die eine bestimmte Version von DirectML benötigen, aber möglicherweise eine ältere Version von DirectML aufrufen. Dies kann beispielsweise der Fall sein, wenn der Benutzer Ihre Anwendung auf einer älteren Version von Windows 10 ausführt.

Anwendungen, die explizit von funktionen abhängig sind, die in einer bestimmten Featureebene eingeführt wurden, können diese als minimumFeatureLevel angeben. Dadurch wird sichergestellt, dass DMLCreateDevice1 nicht erfolgreich ist, es sei denn, die zugrunde liegende Implementierung ist mindestens so leistungsfähig wie diese angeforderte Mindestfeatureebene.

Beachten Sie, dass das zugrunde liegende DirectML-Gerät möglicherweise eine höhere Featureebene als das angeforderte Minimum unterstützt, da dieser Parameter eine minimale Featureebene angibt. Sobald die Geräteerstellung erfolgreich war, können Sie alle von diesem Gerät unterstützten Featureebenen mithilfe von IDMLDevice::CheckFeatureSupport abfragen.

riid

Typ: REFIID

Ein Verweis auf den Globally Unique Identifier (GUID) der Schnittstelle, die sie im Gerät zurückgeben möchten. Dies wird voraussichtlich die GUID von IDMLDevice sein.

ppv

Typ: _COM_Outptr_opt_ void**

Ein Zeiger auf einen Speicherblock, der einen Zeiger auf das Gerät empfängt. Dies ist die Adresse eines Zeigers auf ein IDMLDevice, das das erstellte DirectML-Gerät darstellt.

Rückgabewert

Typ: HRESULT

Wenn die Funktion erfolgreich ist, gibt sie S_OK zurück. Andernfalls wird ein Fehlercode HRESULT zurückgegeben.

Wenn diese Version von DirectML das angeforderte minimumFeatureLevel nicht unterstützt, gibt diese Funktion DXGI_ERROR_UNSUPPORTED zurück.

Hinweise

Eine neuere Version dieser Funktion, DMLCreateDevice1, wurde in DirectML Version 1.1.0 eingeführt. DMLCreateDevice1 entspricht dem Aufrufen von DMLCreateDevice1 und dem Bereitstellen eines MinimumFeatureLevels von DML_FEATURE_LEVEL_1_0.

Verfügbarkeit

Diese API wurde in DirectML-Version 1.1.0eingeführt.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 10 Build 20348
Unterstützte Mindestversion (Server) Windows 10 Build 20348
Zielplattform Windows
Kopfzeile directml.h
Bibliothek DirectML.lib
DLL DirectML.dll

Weitere Informationen