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;