IDirectDrawSurface5
Applications use the methods of the IDirectDrawSurface5 interface to create DirectDrawSurface objects and work with system-level variables.
IDirectDraw4::CreateSurface will return a fully supported IDirectDrawSurface4 interface pointer. You cannot obtain the IDirectDrawSurface5 interface directly from CreateSurface; use the QueryInterface method to retrieve it. Also note that IDirectDrawSurface5 is identical to IDirectDrawSurface4 with the exception of the AlphaBlt method. The behavior of all other methods is exactly the same, with the obvious parameter changes, LPDIRECTDRAWSURFACE5 in place of LPDIRECTDRAWSURFACE4.
The methods of the IDirectDrawSurface5 interface can be organized into the following groups:
Allocating memory | Initialize |
IsLost | |
Restore | |
Attaching surfaces | AddAttachedSurface |
DeleteAttachedSurface | |
EnumAttachedSurfaces | |
GetAttachedSurface | |
Blitting | AlphaBlt |
Blt | |
BltFast | |
GetBltStatus | |
Color keying | GetColorKey |
SetColorKey | |
Device contexts | GetDC |
ReleaseDC | |
Flipping | Flip |
GetFlipStatus | |
Locking surfaces | Lock |
PageLock | |
PageUnlock | |
Unlock | |
Miscellaneous | GetDDInterface |
Overlays | 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 |
The IDirectDrawSurface5 interface, like all COM interfaces, inherits the IUnknown interface methods. The IUnknown interface supports the following three methods:
IUnknown | AddRef |
QueryInterface | |
Release |
The IDirectDrawSurface5 interface extends the features of previous versions of the interface by offering methods that offer better surface management and ease of use. Note that 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 IDirectDrawSurface5 accept a DDSURFACEDESC2 structure or an IDirectDrawSurface5 interface instead.
You can use the LPDIRECTDRAWSURFACE, LPDIRECTDRAWSURFACE2, LPDIRECTDRAWSURFACE3, LPDIRECTDRAWSURFACE4 or LPDIRECTDRAWSURFACE5 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 IDirectDrawSurface5 FAR *LPDIRECTDRAWSURFACE5;
Requirements
OS Versions: Windows CE 2.12 and later. Version 2.12 requires DXPAK 1.0 or later.
Header: Ddraw.h.
Link Library: Ddraw.lib.
Last updated on Thursday, April 08, 2004
© 1992-2003 Microsoft Corporation. All rights reserved.