创建一个设备以代表显示适配器.
语法
HRESULT CreateDevice(
UINT Adapter, D3DDEVTYPE DeviceType, HWND hFocusWindow, DWORD BehaviorFlags, D3DPRESENT_PARAMETERS *pPresentationParameters, IDirect3DDevice9** ppReturnedDeviceInterface );
参数
Adapter
- [in] 指出显卡的序列号. D3DADAPTER_DEFAULT 代表默认主显卡.
DeviceType- [in] D3DDEVTYPE 枚举类型成员,指出期望的设备类型. 如果该参数无效则函数执行失败.
hFocusWindow- [in] 窗口句柄指明此设备的归属. 全屏模式时该窗口必须为顶级窗口.
BehaviorFlags- [in] 结合一个或更多参数控制设备的创建. 详细信息见 D3DCREATE.
pPresentationParameters- [in, out] D3DPRESENT_PARAMETERS 结构指针, 描述要创建的设备的表达参数.
ppReturnedDeviceInterface对于 Microsoft Windows® 2000 and Windows XP, 全屏模式的设备刷新比率按以下顺序设定.
- User-specified nonzero ForcedRefreshRate registry key, if supported by the device.
- Application-specified nonzero refresh rate value in the presentation parameter.
- Refresh rate of the latest desktop mode, if supported by the device.
- 75 hertz if supported by the device.
- 60 hertz if supported by the device.
- Device default.
一个不支持的刷新率将转为最接近的小于它的刷新率.
- [out, retval] 要返回的 IDirect3DDevice9 接口的指针的地址, 代表创建的设备.
返回值
如果执行成功,返回值是 D3D_OK.
如果执行失败,返回下列值中的一个.
D3DERR_INVALIDCALL 方法调用无效. 比如方法的一个参数是无效值. D3DERR_NOTAVAILABLE 设备不支持检验技术(queried technique). D3DERR_OUTOFVIDEOMEMORY Direct3D 没有足够显存来完成操作.
备注
该方法返回完整的工作设备接口, 设置想要的显示模式(或窗口模式), 分配适当的离屏缓存. 要开始渲染, 程序只需创建和设置深度缓冲(假如 D3DPRESENT_PARAMETERS的EnableAutoDepthStencil 为 FALSE)...