D3D11CreateDeviceAndSwapChain
ディスプレイ アダプターを表すデバイスとレンダリングに使用するスワップ チェーンを作成します。
HRESULT
D3D11CreateDeviceAndSwapChain(
IDXGIAdapter *pAdapter,
D3D_DRIVER_TYPE DriverType,
HMODULE Software,
UINT Flags,
CONST D3D_FEATURE_LEVEL *pFeatureLevels,
UINT FeatureLevels,
UINT SDKVersion,
CONST DXGI_SWAP_CHAIN_DESC *pSwapChainDesc,
IDXGISwapChain **ppSwapChain,
ID3D11Device **ppDevice,
D3D_FEATURE_LEVEL *pFeatureLevel,
ID3D11DeviceContext **ppImmediateContext
);
パラメータ
pAdapter
デバイスの作成時に使用するビデオ アダプターへのポインターです (「IDXGIAdapter」を参照)。既定のアダプターを使用するには NULL を渡します。既定のアダプターは、IDXGIFactory::EnumAdapters によって最初に列挙されたアダプターです。DriverType
作成するデバイスの種類を表す D3D_DRIVER_TYPE です。Software
ソフトウェア ラスタライザーを実装する DLL のハンドルです。DriverType が D3D_DRIVER_TYPE_SOFTWARE の場合、Software を NULL に設定することはできません。このハンドルを取得するには、LoadLibrary、LoadLibraryEx、または GetModuleHandle を呼び出します。この値は、D3D_DRIVER_TYPE が D3D_DRIVER_TYPE_SOFTWARE の場合は NULL 以外に設定し、それ以外の場合は NULL に設定する必要があります。Flags
有効にするランタイム レイヤーです (「D3D11_CREATE_DEVICE_FLAG」を参照)。値はビット単位の OR 演算で指定できます。pFeatureLevels
作成を試みる機能レベルの順序を指定する D3D_FEATURE_LEVEL の配列へのポインターです。使用できる最大の機能レベルを取得するには、既定のパラメーターを使用します。pFeatureLevels を NULL に設定すると、次のような機能レベルの配列が使用されます。{ D3D_FEATURE_LEVEL_11_0, D3D_FEATURE_LEVEL_10_1, D3D_FEATURE_LEVEL_10_0, D3D_FEATURE_LEVEL_9_3, D3D_FEATURE_LEVEL_9_2, D3D_FEATURE_LEVEL_9_1, };
FeatureLevels
pFeatureLevels の要素数です。SDKVersion
SDK のバージョンです。D3D11_SDK_VERSION を指定します。pSwapChainDesc
スワップ チェーンの初期化パラメーターを格納するスワップ チェーンの記述 (「DXGI_SWAP_CHAIN_DESC」を参照) へのポインターです。ppSwapChain
レンダリングに使用するスワップ チェーンを表す IDXGISwapChain オブジェクトへのポインターのアドレスを返します。ppDevice
作成されたデバイスを表す ID3D11Device オブジェクトへのポインターのアドレスを返します。入力として NULL を指定すると、pFeatureLevel でサポートされている最高の機能レベルが返されます。pFeatureLevel
このデバイスでサポートされている機能レベルの配列にある最初の要素を表す D3D_FEATURE_LEVEL へのポインターを返します。ppImmediateContext
デバイス コンテキストを表す ID3D11DeviceContext オブジェクトへのポインターのアドレスを返します。
戻り値
このメソッドは、「Direct3D 11 のリターン コード」のいずれかを返します。
解説
このエントリーポイントと D3D11.DLL には Direct3D 11 ランタイムが必要です。Direct3D 11 ランタイムは、Windows 7、Windows Server 2008 R2、および Windows Vista の更新プログラム (KB971644) に付属しています。
また、入力パラメーターの依存関係の詳細については、「D3D11CreateDevice」の「解説」を参照してください。スワップ チェーンを作成せずにデバイスを作成するには、D3D11CreateDevice 関数を使用します。
要件
ヘッダー: D3D11.h 宣言
ライブラリ: D3D11.lib 内容