ICallFrame::Free 方法 (callobj.h)

釋放畫面格復本,以避免記憶體流失。

使用 Copy 方法建立呼叫框架複本時,呼叫框架不會自動清除複製的數據。 因此,傳回呼叫框架的復本之後,用戶必須負責呼叫 Free 方法來釋放框架複本,並避免記憶體流失。

語法

HRESULT Free(
  [in] ICallFrame       *pframeArgsDest,
  [in] ICallFrameWalker *pWalkerDestFree,
  [in] ICallFrameWalker *pWalkerCopy,
  [in] DWORD            freeFlags,
  [in] ICallFrameWalker *pWalkerFree,
  [in] DWORD            nullFlags
);

參數

[in] pframeArgsDest

ICallFrame 介面實例的指標。 表示呼叫框架的堆疊指標,在釋放框架複製之前,應該先複製 out 參數。 目的框架通常是原本複製框架的父框架。 這是選擇性參數。

釋放框架並指定 pframeArgsDest 參數時,其記憶體空間與接收者框架位於相同的記憶體空間中,則每個介面指標上只會呼叫 pWalkerCopy 參數。

[in] pWalkerDestFree

ICallFrameWalker 介面實例的指標。 如果 pframeArgsDest 中存在和輸出參數,則傳播會要求釋放這些值。 藉由提供 pWalkerDestFree 物件,將會釋放介面指標。 如果 pframeArgsDestNULL,則此參數也必須是 NULL ,而且應該藉由呼叫 Release 方法來釋放介面指標。

[in] pWalkerCopy

ICallFrameWalker 介面實例的指標。 釋放 pframeArgsDest 中的 in 和 out 參數時,就會執行 out 參數的傳播。如果未指定此參數,則會將介面指標傳遞至 AddRef。 這是選擇性參數。

[in] freeFlags

來自 CALLFRAME_FREE 列舉的旗標。

[in] pWalkerFree

ICallFrameWalker 介面實例的指標。 指定時,會針對釋放時遇到的每個介面指標建立回呼。 如果未指定此參數, 則 Release 方法會釋放介面指標。

[in] nullFlags

來自 CALLFRAME_NULL 列舉的旗標。

傳回值

這個方法可以傳回下列值。

傳回碼 描述
S_OK
已成功完成命令。
E_UNEXPECTED
已發生未預期的錯誤。

規格需求

需求
最低支援的用戶端 Windows 2000 Professional [僅限傳統型應用程式]
最低支援的伺服器 Windows 2000 Server [僅限桌面應用程式]
目標平台 Windows
標頭 callobj.h

另請參閱

ICallFrame