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*

DirectML デバイスを作成するDirect3D 12デバイスを表す ID3D12Device へのポインター。 DirectML では、任意の D3D 機能レベルと、WARP を含む任意のアダプターで作成されたDirect3D 12デバイスがサポートされます。 ただし、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

型: void _COM_Outptr_opt_**

デバイスへのポインターを受け取るメモリ ブロックへのポインター。 これは、作成された DirectML デバイスを表す IDMLDevice へのポインターのアドレスです。

戻り値

種類: HRESULT

関数が成功した場合は、S_OK を返します。 そうでない場合は、HRESULT エラー コードを返します。

このバージョンの DirectML で要求された minimumFeatureLevel がサポートされていない場合、この関数は DXGI_ERROR_UNSUPPORTEDを返します。

注釈

この関数の新しいバージョン である DMLCreateDevice1 は、DirectML バージョン 1.1.0 で導入されました。 DMLCreateDevice1 は、DMLCreateDevice1 を呼び出し、DML_FEATURE_LEVEL_1_0minimumFeatureLevel を指定することと同じです。

可用性

この API は、DirectML バージョン 1.1.0で導入されました。

要件

要件
サポートされている最小のクライアント Windows 10 ビルド 20348
サポートされている最小のサーバー Windows 10 ビルド 20348
対象プラットフォーム Windows
ヘッダー directml.h
Library DirectML.lib
[DLL] DirectML.dll

こちらもご覧ください