IDirectDrawSurface5 (Windows CE 5.0)

Send Feedback

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.

IDirectDrawSurface5 is identical to IDirectDrawSurface4 except for the AlphaBlt method. The behavior of all other methods is 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 functionality 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. Where 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.

Send Feedback on this topic to the authors

Feedback FAQs

© 2006 Microsoft Corporation. All rights reserved.