DMLCreateDevice 函数 (directml.h)

为给定的 Direct3D 12 设备创建 DirectML 设备。

语法

HRESULT DMLCreateDevice(
  ID3D12Device            *d3d12Device,
  DML_CREATE_DEVICE_FLAGS flags,
  REFIID                  riid,
  void                    **ppv
);

参数

d3d12Device

类型: ID3D12Device*

指向 ID3D12Device 的指针,该 ID3D12Device 表示要创建 DirectML 设备的 Direct3D 12 设备。 DirectML 支持任何 D3D 功能级别,以及在任何适配器(包括 WARP)上创建的 Direct3D 12 设备。 但是,DirectML 中并非所有功能都可用,具体取决于 Direct3D 12 设备的功能。 有关详细信息,请参阅 IDMLDevice::CheckFeatureSupport

如果对 DMLCreateDevice 的调用成功,则 DirectML 设备将保留对提供的 Direct3D 12 设备的强引用。

flags

类型: DML_CREATE_DEVICE_FLAGS

指定其他设备创建选项 的DML_CREATE_DEVICE_FLAGS 值。

riid

类型: REFIID

对要在 设备中返回的接口 (GUID) 的全局唯一标识符的引用。 这应为 IDMLDevice 的 GUID

ppv

类型:_COM_Outptr_opt_ void**

指向接收指向设备的指针的内存块的指针。 这是指向 IDMLDevice 的指针的地址,表示创建的 DirectML 设备。

返回值

类型: HRESULT

如果函数成功,则返回 S_OK。 否则,将返回 HRESULT 错误代码。

备注

DirectML 版本 1.1.0 中引入了此函数的较新版本 DMLCreateDevice1DMLCreateDevice 等效于调用 DMLCreateDevice1 并提供DML_FEATURE_LEVEL_1_0minimumFeatureLevel

要求

   
最低受支持的客户端 Windows 10 [仅限桌面应用]
最低受支持的服务器 Windows Server 2016 [仅限桌面应用]
目标平台 Windows
标头 directml.h
Library DirectML.lib
DLL DirectML.dll

请参阅