D3D11CreateDeviceAndSwapChain函数

来源:互联网 发布:dopa淘宝外设店网址 编辑:程序博客网 时间:2024/06/05 06:07

创建用于渲染的显示设备和交换连接。


语法:

 HRESULT  D3D11CreateDeviceAndSwapChain(  __in   IDXGIAdapter *pAdapter,  __in   D3D_DRIVER_TYPE DriverType,  __in   HMODULE Software,  __in   UINT Flags,  __in   const D3D_FEATURE_LEVEL *pFeatureLevels,  __in   UINT FeatureLevels,  __in   UINT SDKVersion,  __in   const DXGI_SWAP_CHAIN_DESC *pSwapChainDesc,  __out  IDXGISwapChain **ppSwapChain,  __out  ID3D11Device **ppDevice,  __out  D3D_FEATURE_LEVEL *pFeatureLevel,  __out  ID3D11DeviceContext **ppImmediateContext);

参数:

pAdapter[in]
IDXGIAdapter
该显卡指针用于适配器创建过程。通过NULL使用默认的适配器,该适配器来至
IDXGIFactory1::EnumAdapters枚举中的第一项。
    注意不要在一个应用程序中混合使用 DXGI 1.0(IDXGIFactory)和DXGI 1.1(IDXGIFactory1)。使用
       IDXGIFactory或IDXGIFactory1,但不要两者在一个程序中使用。

DriverType[in]
D3D_DRIVER_TYPE
D3D_DRIVER_TYPE代表创建时的驱动类型。

Software[in]
HMODULE
DLL中的一个软件光栅句柄。如果DriverType设置为D3D_DRIVER_TYPE_SOFTWARE时Software不能为NULL
通过LoadLibrary,LoadLibraryEx,或GetModuleHandle来获取这个句柄。当D3D_DRIVER_TYPE值为
D3D_DRIVER_TYPE_SOFTWARE时,这个值必须不为NULL,否则无效。

Flags[in]
UINT
该参数用于运行层(参考D3D_CREATE_DEVICE_FLAG);该值可以进行位的与或操作。

pFreatureLevels[in]
D3D_FEATURE_LEVEL
这个指针指向一个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[in]
UINT
pFeatureLevels中的元素数量.

SDKVersion[in]
UINT
SDK版本;使用D3D11_SDK_VERSION

pSwapChainDesc[in]
DXGI_SWAP_CHAIN_DESC
这个指针指向一个交换链接描述(参考:DXGI_SWAP_CHAIN_DESC),包含用于这个交换链接的初始化参数

ppSwapChain[out]
IDXGISwapChain
返回一个IDXGISwapChain对象的指针地址,这个交换链接用于渲染。

ppDevice[out]
ID3D11Device
返回一个创建好的 ID3D11Device对象的指针地址。供应一个NULL指针,返回一个pFeatureLevel中所支持的
最高功能级别。

pFeatureLevel[out]
D3D_FEATURE_LEVEL
返回一个D3D_FEATURE_LEVEL指针,它来着pFeatureLevel中设备所支持的第一个元素。

ppImmediateContext[out]
ID3D11DeviceContext
返回一个ID3D11DeviceContext对象指针,它代表这个设备上下文。

返回值

HRESULT
这个函数返回Direct3D 11返回值。