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 结构的指针,描述要创建的设备的演示参数。 如果 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 |