IDirectDrawSurface4::EnumAttachedSurfaces

The IDirectDrawSurface4::EnumAttachedSurfaces method enumerates all the surfaces attached to a given surface.

HRESULT EnumAttachedSurfaces(
  LPVOID lpContext,                                
  LPDDENUMSURFACESCALLBACK2 lpEnumSurfacesCallback  
);
 

Parameters

lpContext
Address of the application-defined structure that is passed to the enumeration member every time it is called.
lpEnumSurfacesCallback
Address of the EnumSurfacesCallback2 function that will be called for each surface that is attached to this surface.

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_INVALIDOBJECT
DDERR_INVALIDPARAMS
DDERR_SURFACELOST

Remarks

This method enumerates only those surfaces that are directly attached to this surface. For example, in a flipping chain of three or more surfaces, only one surface will be enumerated, because each surface is attached only to the next surface in the flipping chain. In such a configuration, you can call EnumAttachedSurfaces on each successive surface to walk the entire flipping chain.

This method differs from its counterparts in previous interface versions in that it accepts a pointer to an EnumSurfacesCallback2 function, rather than an EnumSurfacesCallback function.

QuickInfo

  Windows NT/2000: Requires Windows 2000.
  Windows 95/98: Requires Windows 95 or later. Available as a redistributable for Windows 95.
  Header: Declared in ddraw.h.
  Import Library: Use ddraw.lib.