IDirect3D9Ex::CreateDeviceEx 方法 (d3d9.h)

创建表示显示适配器的设备。

语法

HRESULT CreateDeviceEx(
  [in]          UINT                  Adapter,
  [in]          D3DDEVTYPE            DeviceType,
  [in]          HWND                  hFocusWindow,
  [in]          DWORD                 BehaviorFlags,
  [in, out]     D3DPRESENT_PARAMETERS *pPresentationParameters,
  [in, out]     D3DDISPLAYMODEEX      *pFullscreenDisplayMode,
  [out, retval] IDirect3DDevice9Ex    **ppReturnedDeviceInterface
);

参数

[in] Adapter

类型: UINT

表示显示适配器的序号。 D3DADAPTER_DEFAULT 始终是主要显示适配器。

[in] DeviceType

类型: D3DDEVTYPE

指定设备的类型。 请参阅 D3DDEVTYPE。 如果所需的设备类型不可用,该方法将失败。

[in] hFocusWindow

类型: HWND

当应用程序从前台模式切换到后台模式时,焦点窗口会向 Direct3D 发出警报。 对于全屏模式,指定的窗口必须是顶级窗口。 对于窗口模式,仅当 pPresentationParameters 的 hDeviceWindow 成员设置为有效的非 NULL 值时,此参数才可为 NULL

[in] BehaviorFlags

类型: DWORD

(一个或多个选项的组合,请参阅控制设备创建的 D3DCREATE) 。

[in, out] pPresentationParameters

类型: D3DPRESENT_PARAMETERS*

指向 D3DPRESENT_PARAMETERS 结构的指针,描述要创建的设备的演示参数。 如果 BehaviorFlags 指定 D3DCREATE_ADAPTERGROUP_DEVICE,则此参数为数组。 无论存在的头数是多少,都只会自动创建一个深度/模具图面。

此参数既是输入和输出参数。 调用此方法可能会更改多个成员,包括:

  • 如果在调用方法之前 BackBufferCount、BackBufferWidth 和 BackBufferHeight 为 0,则此方法返回时将更改它们。
  • 如果在调用方法之前 BackBufferFormat 等于 D3DFMT_UNKNOWN ,则该方法返回时将更改它。

[in, out] pFullscreenDisplayMode

类型: D3DDISPLAYMODEEX*

设备设置为全屏时的显示模式。 请参阅 D3DDISPLAYMODEEX。 如果 BehaviorFlags 指定 D3DCREATE_ADAPTERGROUP_DEVICE,则此参数为数组。 对于窗口模式,此参数必须为 NULL

[out, retval] ppReturnedDeviceInterface

类型: IDirect3DDevice9Ex**

指向返回的 IDirect3DDevice9Ex(表示所创建设备的)的指针的地址。

返回值

类型: HRESULT

成功创建呈现设备和交换链缓冲区时,此方法返回S_OK。 遇到无效调用方输入以外的任何错误时,将返回D3DERR_DEVICELOST。

要求

   
目标平台 Windows
标头 d3d9.h
Library D3D9.lib

请参阅

IDirect3D9Ex