IDirectDrawSurface5::AddAttachedSurface

This method attaches the specified surface to this surface.

HRESULT AddAttachedSurface( 
  LPDIRECTDRAWSURFACE4 lpDDSAttachedSurface
); 

Parameters

  • lpDDSAttachedSurface
    Address of an IDirectDrawSurface5 interface for the surface to be attached.

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_CANNOTATTACHSURFACE
DDERR_GENERIC
DDERR_INVALIDOBJECT
DDERR_INVALIDPARAMS
DDERR_SURFACEALREADYATTACHED
DDERR_SURFACELOST
DDERR_WASSTILLDRAWING

Remarks

This method increments the reference count of the surface being attached. You can explicitly unattach the surface and decrement its reference count by using the IDirectDrawSurface5::DeleteAttachedSurface method. Unlike complex surfaces that you create with a single call to IDirectDraw4::CreateSurface, surfaces attached with this method are not automatically released. It is the application's responsibility to release such surfaces.

Possible attachments include Z-buffers, alpha channels, and back buffers. Some attachments automatically break other attachments. For example, the 3-D Z-buffer can be attached only to one back buffer at a time. An attachment is not bidirectional, and a surface cannot be attached to itself.

Emulated surfaces (in system memory) cannot be attached to non-emulated surfaces. Unless one surface is a texture map, the two attached surfaces must be the same size.

Using AddAttachedSurface or DeleteAttachedSurface on any surface in a flipping chain is not supported. It may work, but it is likely that memory leaks will result. The functions are primarily provided for future expansion. As a workaround, initially create surfaces in flipping chains with the desired number of buffers.

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.

See Also

IDirectDrawSurface5::EnumAttachedSurfaces

 Last updated on Thursday, April 08, 2004

© 1992-2003 Microsoft Corporation. All rights reserved.