共用方式為


DMLCreateDevice1 函式 (directml.h)

為指定的 Direct3D 12 裝置建立 DirectML 裝置。

語法

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

參數

d3d12Device

類型: ID3D12Device*

ID3D12Device 的指標,代表用來建立 DirectML 裝置的 Direct3D 12 裝置。 DirectML 支援任何 D3D 功能層級,以及在任何適配卡上建立的 Direct3D 12 裝置,包括 WARP。 不過,根據 Direct3D 12 裝置的功能,可能無法使用 DirectML 中的所有功能。 如需詳細資訊,請參閱 IDMLDevice::CheckFeatureSupport

如果呼叫 DMLCreateDevice1 成功,則 DirectML 裝置會維護所提供 Direct3D 12 裝置的強式參考。

flags

類型: DML_CREATE_DEVICE_FLAGS

指定其他裝置建立選項 的DML_CREATE_DEVICE_FLAGS 值。

minimumFeatureLevel

類型: DML_FEATURE_LEVEL

DML_FEATURE_LEVEL值,指定所需的最低功能層級支援。

此參數適用於需要特定 DirectML 版本的呼叫端,但可能會發現自己呼叫為舊版 DirectML 的人員。 例如,當使用者在舊版 Windows 10 上執行您的應用程式時,就會發生這種情況。

明確相依於特定功能層級所引進功能的應用程式可以將它指定為 minimumFeatureLevel。 這可保證 DMLCreateDevice1 不會成功,除非基礎實作 至少 符合此要求的最低功能層級。

請注意,由於此參數指定 最低 功能等級,基礎 DirectML 裝置實際上可能支援比要求的最低功能層級更高的功能層級。 裝置建立成功之後,您可以使用 IDMLDevice::CheckFeatureSupport查詢此裝置支援的所有功能層級。

riid

類型: REFIID

您想要在 裝置中傳回之介面的全域唯一標識碼 (GUID) 參考。 這應該是 IDMLDevice的 GUID

ppv

類型:_COM_Outptr_opt_ void**

接收裝置指標的記憶體區塊指標。 這是 IDMLDevice指標的位址,代表所建立的 DirectML 裝置。

傳回值

類型: HRESULT

如果函式成功,它會 傳回S_OK。 否則,它會傳回 HRESULT 錯誤碼。

如果這個版本的 DirectML 不支援要求的 minimumFeatureLevel ,則此函式會 傳回DXGI_ERROR_UNSUPPORTED

備註

DirectML 1.1.0 版引進了較新版本的此函式 DMLCreateDevice1DMLCreateDevice1 相當於呼叫 DMLCreateDevice1,並提供DML_FEATURE_LEVEL_1_0的 minimumFeatureLevel

可用性

此 API 是在 DirectML 版本中 1.1.0引進。

規格需求

需求
最低支援的用戶端 Windows 10 組建 20348
最低支援的伺服器 Windows 10 組建 20348
目標平台 Windows
標頭 directml.h
程式庫 DirectML.lib
Dll DirectML.dll

另請參閱