IDirectDraw2

Applications use the methods of the IDirectDraw2 interface to create DirectDraw objects and work with system-level variables. This section is a reference to the methods of this interface. For a conceptual overview, see The DirectDraw Object.

The methods of the IDirectDraw2 interface can be organized into the following groups:

Allocating memory Compact
Initialize
Creating objects CreateClipper
CreatePalette
CreateSurface
Device capabilities GetCaps
Display modes EnumDisplayModes
GetDisplayMode
GetMonitorFrequency
RestoreDisplayMode
SetDisplayMode
WaitForVerticalBlank
Display status GetScanLine
GetVerticalBlankStatus
Miscellaneous GetAvailableVidMem
GetFourCCCodes
Setting behavior SetCooperativeLevel
Surfaces DuplicateSurface
EnumSurfaces
FlipToGDISurface
GetGDISurface

The IDirectDraw2 interface, like all COM interfaces, inherits the IUnknown interface methods. The IUnknown interface supports the following three methods:

AddRef
QueryInterface
Release

You can use the LPDIRECTDRAW or LPDIRECTDRAW data types to declare a variable that contains a pointer to an IDirectDraw or IDirectDraw2 interface. The Ddraw.h header file declares these data types with the following code:

typedef struct IDirectDraw     FAR *LPDIRECTDRAW;
typedef struct IDirectDraw2    FAR *LPDIRECTDRAW2;