Both of these callback functions provide information about the DirectX-capable devices on the host system. The system calls these functions once for each device. The information includes the driver GUID, name, and description. The input also includes the context information passed to either the DirectDrawEnumerateEx() or DirectDrawEnumerateEx() function.
Note Because the DirectDrawEnumerate() function is superceded by the DirectDrawEnumerateEx() function, the DDEnumCallback() function is essentially superceded as well. Even though DirectX still supports the DDEnumCallback() function, you should use the DDEnumCallbackEx() function in all new code. The example library contains function declarations for only the DirectDrawEnumerateEx() and the DDEnumCallbackEx() functions.
The DDEnumCallbackEx() function includes one additional piece of information—the handle to the monitor associated with the device. This value is null for the primary display device, non-display devices, and any device that lacks a Desktop connection. The monitor handle helps you discover information about the monitor so that any application you create can take the capabilities of the monitor into account as well.
Was this article helpful?