The IDirect3D3::EnumDevices method enumerates all Direct3D device drivers installed on the system.
HRESULT EnumDevices(
LPD3DENUMDEVICESCALLBACK lpEnumDevicesCallback,
LPVOID lpUserArg
);
If the method succeeds, the return value is D3D_OK.
If the method fails, the return value may be one of the following values:
DDERR_INVALIDOBJECT |
DDERR_INVALIDPARAMS |
To use execute buffers with an MMX device, you must call the IDirect3D3::CreateDevice method to create an MMX IDirect3DDevice3 interface and then use the QueryInterface method to create an IDirect3DDevice interface from IDirect3DDevice3.
MMX devices are enumerated only by IDirect3D3::EnumDevices and IDirect3D2::EnumDevices, not by IDirect3D::EnumDevices. If you use the QueryInterface method to create an IDirect3D interface from IDirect3D3 before you enumerate the Direct3D drivers, the enumeration will behave like IDirect3D::EnumDevices — no MMX devices will be enumerated.
Windows NT/2000: Requires Windows 2000.
Windows 95/98: Requires Windows 95 or later. Available as a redistributable for Windows 95.
Header: Declared in d3d.h.
Import Library: Use ddraw.lib.