D3D11On12CreateDevice

Direct3D 12 の機能を用いて Direct3D 11 機能を提供するデバイスを作成する。Direct3D 11 との相互運用に使う既存の Direct3D 12 デバイスを指定する。

D3D11On12CreateDevice pDevice, Flags, pFeatureLevels, FeatureLevels, ppCommandQueues, NumQueues, NodeMask, ppDevice, ppImmediateContext, pChosenFeatureLevel

pDevice : [var] 型: IUnknown* Direct3D 11 との相互運用に使用する既存の Direct3D 12 デバイスを指定する。NULL にできない。
Flags : [int] 型: UINT D3D11_CREATE_DEVICE_FLAG のフラグを 1 つ以上ビット単位 OR で組み合わせた値。D3D11CreateDeviceAndSwapChain が使うのと同じフラグで、有効にするランタイムレイヤーを指定する。フラグはデバイスフラグと互換性がなければならず、NodeMask は present API に渡した NodeMask のサブセットでなければならない。
pFeatureLevels : [var] 型: const D3D_FEATURE_LEVEL* 以下のいずれかを含む配列。
FeatureLevels : [int] 型: UINT *pFeatureLevels* 配列のサイズ (要素数)。
ppCommandQueues : [var] 型: IUnknown* const * D3D11On12 が使用する一意なキューの配列。これらのキューは 3D コマンドキュー種別でなければならない。
NumQueues : [int] 型: UINT *ppCommandQueues* 配列のサイズ (要素数)。
NodeMask : [int] 型: UINT 使用する Direct3D 12 デバイスのノード。1 ビットだけを設定できる。
ppDevice : [var] 型: ID3D11Device** 返される ID3D11Device へのポインタ。NULL を指定してもよい。
ppImmediateContext : [var] 型: ID3D11DeviceContext** 返される ID3D11DeviceContext へのポインタ。NULL を指定してもよい。
pChosenFeatureLevel : [var] 型: D3D_FEATURE_LEVEL* 返される機能レベルへのポインタ。NULL を指定してもよい。

(プラグイン / モジュール : d3d11.dll)

解説

Direct3D 12 の機能を用いて Direct3D 11 機能を提供するデバイスを作成する。Direct3D 11
との相互運用に使う既存の Direct3D 12 デバイスを指定する。

[戻り値]
型: HRESULT このメソッドは D3D11CreateDevice に記載されている Direct3D 12
の戻りコードのいずれかを返す。Flags に D3D11_CREATE_DEVICE_DEBUG
を指定したがコンピュータ上に不適切なバージョンのデバッグレイヤーしかインストールされていない場合、DXGI_ERROR_SDK_COMPONENT_MISSING
を返す。正しいバージョンを入手するには最新の Windows SDK をインストールすること。

[備考]
関数シグネチャ PFN_D3D11ON12_CREATE_DEVICE は typedef
として提供されているので、静的リンクせずに動的リンク技法 (GetProcAddress) を使うこともできる。

情報

プラグイン / モジュールd3d11.dll
バージョン1.0
作成日2026/04/16
著作者IronHSP / CsWin32 bridge
URLhttps://github.com/inovia/IronHSP
備考Win32 API の d3d11.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。
タイプ拡張命令
グループWin32API
対応環境
  • Windows 版 HSP
hs ファイルhsphelp\win32_d3d11_gen2.hs