DirectDrawEnumerateEx

The DirectDrawEnumerateEx function enumerates all DirectDraw devices installed on the system. The NULL entry always identifies the primary display device shared with GDI.

HRESULT WINAPI DirectDrawEnumerateEx(

LPDDENUMCALLBACKEX lpCallback,

LPVOID lpContext,

DWORD dwFlags

);

Parameters

lpCallback

Address of a DDEnumCallbackEx function that will be called with a description of each enumerated DirectDraw-enabled HAL.

lpContext

Address of an application-defined value that will be passed to the enumeration callback function each time it is called.

dwFlags

Flags specifying the enumeration scope. This parameter can be 0 or a combination of the following flags:

0
  The function will enumerate only the primary display device and a non-display device if one is installed.
DDENUM_ATTACHEDSECONDARYDEVICES
  The function will enumerate the primary device, and any display devices that are attached to the desktop.
DDENUM_DETACHEDSECONDARYDEVICES
  The function will enumerate the primary device, and any display devices that are not attached to the desktop.
DDENUM_NONDISPLAYDEVICES
  The function will enumerate non-display devices, such as 3-D accelerators that have no 2-D capabilities.

Return Values

If the function succeeds, the return value is DD_OK.

If the function fails, the return value is DDERR_INVALIDPARAMS.

Remarks

On systems with multiple monitors, this method enumerates multiple display devices. For more information, see Multiple Monitor Systems.

This function is supported only on Windows 98 and Windows NT 5.0. Retrieve the DirectDrawEnumerateEx function's address from the Ddraw.dll dynamic-link library by calling the GetProcAddress Win32 function with the "DirectDrawEnumerateExA" (ANSI) or "DirectDrawEnumerateExW" (Unicode) process name strings. If GetProcAddress fails, then the installed version of the operating system does not support multiple monitors. For more information, see Enumerating Devices on MultiMon Systems.

QuickInfo

  Windows NT: Use version 5.0 or later.
  Windows: Use Windows 98 or later.
  Windows CE: Unsupported.
  Header: Declared in ddraw.h.
  Import Library: Use ddraw.lib.
  Unicode: Implemented as Unicode and ANSI versions on Windows NT.