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 |