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 |
程式庫 | Ddraw.lib |
Dll | Ddraw.dll |