interface IDirect3D9Ex : public IDirect3D9
{
public:
virtual UINT STDMETHODCALLTYPE GetAdapterModeCountEx(UINT Adapter, CONST D3DDISPLAYMODEFILTER *pFilter) = 0;
virtual HRESULT STDMETHODCALLTYPE EnumAdapterModesEx(UINT Adapter, CONST D3DDISPLAYMODEFILTER *pFilter, UINT Mode, D3DDISPLAYMODEEX *pMode) = 0;
virtual HRESULT STDMETHODCALLTYPE GetAdapterDisplayModeEx(UINT Adapter, D3DDISPLAYMODEEX *pMode, D3DDISPLAYROTATION *pRotation) = 0;
virtual HRESULT STDMETHODCALLTYPE CreateDeviceEx(UINT Adapter, D3DDEVTYPE DeviceType, HWND hFocusWindow, DWORD BehaviorFlags, D3DPRESENT_PARAMETERS *pPresentationParameters, D3DDISPLAYMODEEX *pFullscreenDisplayMode, IDirect3DDevice9Ex **ppReturnedDeviceInterface) = 0;
virtual HRESULT STDMETHODCALLTYPE GetAdapterLUID(UINT Adapter, LUID *pLUID) = 0;
};
IDirect3D9Ex 接口继承自 IDirect3D9 接口,因此它包含了 IDirect3D9 接口的所有方法,同时还添加了一些额外的方法。以下是一些 IDirect3D9Ex 接口新增的方法:
- GetAdapterModeCountEx: 获取特定适配器上支持的显示模式数量(扩展版本)。
- EnumAdapterModesEx: 枚举适配器上的显示模式(扩展版本)。
- GetAdapterDisplayModeEx: 获取适配器的当前显示模式(扩展版本)。
- CreateDeviceEx: 创建 Direct3D 设备(扩展版本)。
- GetAdapterLUID: 获取适配器的本地唯一标识符(LUID)。
这些新增方法使得 IDirect3D9Ex 在功能上更加强大,尤其是对于多显示器和窗口化应用程序。在使用完后,同样需要调用 Release 方法释放对象。如果系统支持 Direct3D 9Ex,可以通过 Direct3DCreate9Ex 函数创建一个 IDirect3D9Ex 对象。
转载请注明出处:http://www.zyzy.cn/article/detail/26224/Win32 API/D3d9.h/IDirect3D9Ex