The IDirect3D2::EnumDevices method enumerates all Direct3D device drivers installed on the system.
HRESULT EnumDevices(
LPD3DENUMDEVICESCALLBACK lpEnumDevicesCallback,
LPVOID lpUserArg
);
Parameters
lpEnumDevicesCallback
Address of the D3DENUMDEVICESCALLBACK callback function that the enumeration procedure will call every time a match is found.
lpUserArg
Address of application-defined data passed to the callback function.
Return Values
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
Remarks
MMX devices are enumerated only by IDirect3D2::EnumDevices, not by its predecessor, IDirect3D::EnumDevices. If you use the QueryInterface method to create an IDirect3D interface from IDirect3D2 before you enumerate the Direct3D drivers, the enumeration will behave like IDirect3D::EnumDevices ¾ no MMX devices will be enumerated.
To use execute buffers with an MMX device, you must call the IDirect3D2::CreateDevice method to create an MMX IDirect3DDevice2 interface and then use the QueryInterface method to create an IDirect3DDevice interface from IDirect3DDevice2.
QuickInfo
Windows NT: Use version 4.0 or later.
Windows: Use Windows 95 or later. Available as a redistributable for Windows 95.
Windows CE: Unsupported.
Header: Declared in ddraw.h.
Import Library: Use ddraw.lib.