IDirect3D3::EnumDevices

The IDirect3D3::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

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.

QuickInfo

  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.