PFN_D3D11_CREATE_DEVICE_AND_SWAP_CHAIN
コールバックシグネチャ
HRESULT PFN_D3D11_CREATE_DEVICE_AND_SWAP_CHAIN(
IDXGIAdapter* param0,
D3D_DRIVER_TYPE param1,
HMODULE param2,
DWORD param3,
D3D_FEATURE_LEVEL* param4,
DWORD FeatureLevels,
DWORD param6,
DXGI_SWAP_CHAIN_DESC* param7,
IDXGISwapChain** param8,
ID3D11Device** param9,
D3D_FEATURE_LEVEL* param10,
ID3D11DeviceContext** param11
);パラメーター
| フィールド | 型 | 説明 |
|---|---|---|
| param0 | IDXGIAdapter* | |
| param1 | D3D_DRIVER_TYPE | |
| param2 | HMODULE | |
| param3 | DWORD | |
| param4 | D3D_FEATURE_LEVEL* | |
| FeatureLevels | DWORD | pFeatureLevels の要素数です。 |
| param6 | DWORD | |
| param7 | DXGI_SWAP_CHAIN_DESC* | |
| param8 | IDXGISwapChain** | |
| param9 | ID3D11Device** | |
| param10 | D3D_FEATURE_LEVEL* | |
| param11 | ID3D11DeviceContext** |
公式ドキュメント
表示アダプターを表すデバイスと、レンダリングに使用するスワップチェーンを作成します。
戻り値
型: HRESULT
このメソッドは、Direct3D 11 の戻り値コード のいずれかを返すことがあります。
セッション 0 のプロセスで呼び出した場合、このメソッドは DXGI_ERROR_NOT_CURRENTLY_AVAILABLE を返します。
pAdapter パラメーターに NULL 以外の値を設定し、DriverType パラメーターに D3D_DRIVER_TYPE_HARDWARE を設定した場合、このメソッドは E_INVALIDARG を返します。
Flags に D3D11_CREATE_DEVICE_DEBUG を指定し、コンピューターにインストールされている デバッグレイヤー のバージョンが正しくない場合、このメソッドは DXGI_ERROR_SDK_COMPONENT_MISSING を返します。正しいバージョンを入手するには、最新の Windows SDK をインストールしてください。
解説(Remarks)
Windows 8、Windows Server 2012、および Platform Update for Windows 7 を適用した Windows 7 と Windows Server 2008 R2 で利用できる Direct3D 11.1 デバイス (ID3D11Device1) を作成するには、まずこの関数で ID3D11Device を作成し、続いて ID3D11Device オブジェクトの QueryInterface メソッドを呼び出して ID3D11Device1 インターフェイスを取得します。
Windows 8.1 と Windows Server 2012 R2 で利用できる Direct3D 11.2 デバイス (ID3D11Device2) を作成するには、まずこの関数で ID3D11Device を作成し、続いて ID3D11Device オブジェクトの QueryInterface メソッドを呼び出して ID3D11Device2 インターフェイスを取得します。
入力パラメーターの依存関係については、D3D11CreateDevice の解説の節も参照してください。スワップチェーンを作成せずにデバイスだけを作成するには、D3D11CreateDevice 関数を使用します。
pAdapter パラメーターに NULL 以外の値を設定する場合は、DriverType パラメーターに D3D_DRIVER_TYPE_UNKNOWN も設定する必要があります。pAdapter パラメーターに NULL 以外の値を設定し、DriverType パラメーターに D3D_DRIVER_TYPE_HARDWARE を設定した場合、D3D11CreateDeviceAndSwapChain は E_INVALIDARG の HRESULT を返します。
関数シグネチャ PFN_D3D11_CREATE_DEVICE_AND_SWAP_CHAIN は typedef として提供されているため、静的リンクの代わりに動的リンクの手法 (GetProcAddress) を使用できます。
使用上の注意
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)