Поделиться через


Функция DMLCreateDevice1 (directml.h)

Создает устройство DirectML для данного устройства Direct3D 12.

Синтаксис

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

Параметры

d3d12Device

Тип: ID3D12Device*

Указатель на ID3D12Device , представляющий устройство Direct3D 12 для создания устройства DirectML. DirectML поддерживает любой уровень функций D3D и устройства Direct3D 12, созданные на любом адаптере, включая WARP. Однако не все функции в DirectML могут быть доступны в зависимости от возможностей устройства Direct3D 12. Дополнительные сведения см. в разделе 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) интерфейса, который вы хотите вернуть на устройстве. Ожидается, что это guid IDMLDevice.

ppv

Тип: _COM_Outptr_opt_ void**

Указатель на блок памяти, получающий указатель на устройство. Это адрес указателя на IDMLDevice, представляющий созданное устройство DirectML.

Возвращаемое значение

Тип: HRESULT

Если функция выполняется успешно, она возвращает S_OK. В противном случае возвращается код ошибки HRESULT .

Если эта версия DirectML не поддерживает запрошенный параметр minimumFeatureLevel , эта функция вернет DXGI_ERROR_UNSUPPORTED.

Комментарии

В DirectML версии 1.1.0 появилась более новая версия этой функции DMLCreateDevice1. DMLCreateDevice1 эквивалентен вызову DMLCreateDevice1 и указанию параметра minimumFeatureLevelDML_FEATURE_LEVEL_1_0.

Доступность

Этот API появился в версии 1.1.0DirectML.

Требования

Требование Значение
Минимальная версия клиента сборка Windows 10 20348
Минимальная версия сервера сборка Windows 10 20348
Целевая платформа Windows
Header directml.h
Библиотека DirectML.lib
DLL DirectML.dll

См. также раздел