This function creates an instance of a DirectDraw object.
HRESULT WINAPI DirectDrawCreate( GUID FAR* lpGUID, LPDIRECTDRAW FAR* lplpDD, IUnknown FAR* pUnkOuter );
[in] Address of the globally unique identifier (GUID) that represents the driver to be created.
This can be NULL to indicate the active display driver.
[out] Address of a variable that will be set to a valid IDirectDraw interface pointer if the call succeeds.
[in] Allows for future compatibility with COM aggregation functionality. Currently, this method returns an error if this parameter is anything but NULL.
An example showing the use of this function can be found in the topic How to use DirectDraw.
This function attempts to initialize a DirectDraw object, and if the call is successful it then sets a pointer to the object.
On systems with multiple monitors, specifying NULL for lpGUID causes the DirectDraw object to run in emulation mode when the normal cooperative level is set. To make use of hardware acceleration on these systems, you must specify the device's GUID.
DirectDraw on Windows Embedded CE only enumerates the GUID for the primary display adapter. It is not possible to use DirectDrawCreate on a nonprimary adapter in a multiple monitor system.