IDirectDraw2::DuplicateSurface
The IDirectDraw2::DuplicateSurface method duplicates a DirectDrawSurface object.
HRESULT DuplicateSurface(
LPDIRECTDRAWSURFACE lpDDSurface,
LPLPDIRECTDRAWSURFACE FAR *lplpDupDDSurface
);
Parameters
lpDDSurface
Address of the DirectDrawSurface structure to be duplicated.
lplpDupDDSurface
Address of the DirectDrawSurface pointer that points to the newly created duplicate DirectDrawSurface structure.
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.
QuickInfo
Windows NT: Use version 4.0 or later.
Windows: Use Windows 95 or later. Available as a redistributable for Windows 95.
Windows CE: Unsupported.
Header: Declared in ddraw.h.
Import Library: Use ddraw.lib.