Platform SDK: DirectX

IDirectDrawSurface7

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

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

Allocating memory Initialize
  IsLost
Restore
Attaching surfaces AddAttachedSurface
  DeleteAttachedSurface
EnumAttachedSurfaces
GetAttachedSurface
Blitting Blt
  BltBatch
BltFast
GetBltStatus
Color keying GetColorKey
  SetColorKey
Device contexts GetDC
  ReleaseDC
Flipping Flip
  GetFlipStatus
Locking surfaces Lock
  PageLock
PageUnlock
Unlock
Miscellaneous GetDDInterface
Overlays AddOverlayDirtyRect
  EnumOverlayZOrders
GetOverlayPosition
SetOverlayPosition
UpdateOverlay
UpdateOverlayDisplay
UpdateOverlayZOrder
Private surface data FreePrivateData
  GetPrivateData
SetPrivateData
Surface capabilities GetCaps
Surface clipper GetClipper
  SetClipper
Surface characteristics ChangeUniquenessValue
  GetPixelFormat
GetSurfaceDesc
GetUniquenessValue
SetSurfaceDesc
Surface palettes GetPalette
  SetPalette
Textures GetLOD
  GetPriority
SetLOD
SetPriority

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

IUnknown AddRef
  QueryInterface
Release

The IDirectDrawSurface7 interface extends the features of previous versions of the interface by offering methods that offer better surface management and ease of use. Many methods in this interface accept slightly different parameters than their counterparts in former versions of the interface. Wherever an IDirectDrawSurface3 interface method might accept a DDSURFACEDESC structure or an IDirectDrawSurface3 interface, the methods in IDirectDrawSurface7 accept a DDSURFACEDESC2 structure or an IDirectDrawSurface7 interface, instead.

You can use the LPDIRECTDRAWSURFACE, LPDIRECTDRAWSURFACE2, LPDIRECTDRAWSURFACE3, LPDIRECTDRAWSURFACE4, or LPDIRECTDRAWSURFACE7 data types to declare variables that point to various DirectDrawSurface object interfaces. The Ddraw.h header file declares these data types with the following code:

typedef struct IDirectDrawSurface     FAR *LPDIRECTDRAWSURFACE;
typedef struct IDirectDrawSurface2    FAR *LPDIRECTDRAWSURFACE2;
typedef struct IDirectDrawSurface3    FAR *LPDIRECTDRAWSURFACE3;
typedef struct IDirectDrawSurface4    FAR *LPDIRECTDRAWSURFACE4;
typedef struct IDirectDrawSurface7    FAR *LPDIRECTDRAWSURFACE7;

Requirements

  Windows NT/2000: Requires Windows 2000.
  Windows 95/98: Requires Windows 98.
  Header: Declared in ddraw.h.