IDirectDrawSurface7::D eleteAttachedSurface 方法 (ddraw.h)

分离一个或多个附加表面。

语法

HRESULT DeleteAttachedSurface(
  [in] DWORD                unnamedParam1,
  [in] LPDIRECTDRAWSURFACE7 unnamedParam2
);

参数

[in] unnamedParam1

当前未使用,并且必须设置为 0。

[in] unnamedParam2

指向要分离的 DirectDrawSurface 对象的 IDirectDrawSurface7 接口的指针。 如果此参数为 NULL,则所有附加的图面都将被分离。

返回值

如果方法成功,则返回值DD_OK。

如果失败,方法可能会返回以下错误值之一:

  • DDERR_CANNOTDETACHSURFACE
  • DDERR_INVALIDOBJECT
  • DDERR_INVALIDPARAMS
  • DDERR_SURFACELOST
  • DDERR_SURFACENOTATTACHED

备注

DeleteAttachedSurface 递减要分离的图面的引用计数。 如果要分离的图面的引用计数达到 0,则表面将丢失并从内存中删除。

无法分离由 DirectDraw 而不是 IDirectDrawSurface7::AddAttachedSurface 方法构成的隐式附件。 从翻转链中分离表面可能会更改链中的其他表面。 如果前缓冲区与翻转链分离,链中的下一个图面将成为前缓冲区,下面的图面将成为后部缓冲区。 如果背靠缓冲区与链分离,以下图面将成为后部缓冲区。 如果普通表面与链条分离,链条就会变短。 如果翻转链只有两个表面,并且它们被分离,则链条将被销毁,并且两个表面都返回其以前的名称。

要求

   
目标平台 Windows
标头 ddraw.h
Library Ddraw.lib
DLL Ddraw.dll

请参阅

IDirectDrawSurface7