IDirect3D2::EnumDevices

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.