### IDirectDrawSurface3::DeleteAttachedSurface

The IDirectDrawSurface3::DeletAttachedSurface method detaches two attached surfaces. The detached surface is not released.

HRESULT DeleteAttachedSurface(

DWORD dwFlags,

LPDIRECTDRAWSURFACE3 lpDDSAttachedSurface

);

##### Parameters

dwFlags
  This parameter is currently not used and must be set to 0.
lpDDSAttachedSurface
  Address of the DirectDraw surface to be detached. If this parameter is NULL, all attached surfaces are detached.

##### 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_CANNOTDETACHSURFACE
DDERR_INVALIDOBJECT
DDERR_INVALIDPARAMS
DDERR_SURFACELOST
DDERR_SURFACENOTATTACHED

##### Remarks

Implicit attachments, those formed by DirectDraw rather than the IDirectDrawSurface3::AddAttachedSurface method, cannot be detached. Detaching surfaces from a flipping chain can alter other surfaces in the chain. If a front buffer is detached from a flipping chain, the next surface in the chain becomes the front buffer, and the following surface becomes the back buffer. If a back buffer is detached from a chain, the following surface becomes a back buffer. If a plain surface is detached from a chain, the chain simply becomes shorter. If a flipping chain has only two surfaces and they are detached, the chain is destroyed and both surfaces return to their previous designations.

##### See Also

IDirectDrawSurface3::Flip