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 のハンドルです。DriverTypeD3D_DRIVER_TYPE_SOFTWARE の場合、Software を NULL に設定することはできません。このハンドルを取得するには、LoadLibraryLoadLibraryEx、または GetModuleHandle を呼び出します。この値は、D3D_DRIVER_TYPED3D_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 内容

関連項目

コア関数