IDirectDraw4::DuplicateSurface

This method duplicates a DirectDrawSurface object.

HRESULT DuplicateSurface( 
  LPDIRECTDRAWSURFACE4 lpDDSurface, 
  LPLPDIRECTDRAWSURFACE4 FAR* lplpDupDDSurface
);

Parameters

  • lpDDSurface
    Address of the IDirectDrawSurface4 interface for the surface to be duplicated.
  • lplpDupDDSurface
    Address of a variable that will be filled with an IDirectDrawSurface5 interface pointer for the newly duplicated DirectDrawSurface object.

Return Values

If the method succeeds, the return value is DD_OK.

If the method fails, the return value may be one of the following error values:

DDERR_CANTDUPLICATE
DDERR_INVALIDOBJECT
DDERR_INVALIDPARAMS
DDERR_OUTOFMEMORY
DDERR_SURFACELOST

Remarks

This method creates a new DirectDrawSurface object that points to the same surface memory as an existing DirectDrawSurface object. This duplicate can be used just like the original object. The surface memory is released after the last object referencing it is released. A primary surface, 3-D surface, or implicitly created surface cannot be duplicated.

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.