Applications use the methods of the IDirectDrawSurface3 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 IDirectDrawSurface3 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 | 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 | |
Surface capabilities | GetCaps |
Surface clipper | GetClipper |
SetClipper | |
Surface description | GetPixelFormat |
GetSurfaceDesc | |
SetSurfaceDesc | |
Surface palettes | GetPalette |
SetPalette | |
The IDirectDrawSurface3 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 LPDIRECTDRAWSURFACE, LPDIRECTDRAWDURFACE2, or LPDIRECTDRAWSURFACE3 data types to declare variables that point to an IDirectDrawSurface, IDirectDrawSurface2, or IDirectDrawSurface3 interface. 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;