共用方式為


Reference Counting

COM 不會自動嘗試從記憶體移除物件,將它視為時不再使用的物件。 相反地,物件程式設計人員必須移除未使用的物件。 這個程式設計人員判斷是否可以移除物件根據參考計數。

使用 COM IUnknown 方法, AddRef版本,處理參考計數此物件的介面。 呼叫這些方法一般規則如下:

  • 每當用戶端接收介面指標,必須呼叫 AddRef 介面。

  • 使用介面指標,當用戶端完成,它必須呼叫 版本

在簡單的實作,每個 AddRef 呼叫將和每 版本 稱為遞減物件中的計數器變數。 當計數為零,介面就再也沒有任何使用者也能從記憶體移除本身。

參考次數 (Reference Count) 上實作,以便為物件的每個參考 (而非個別介面) 計數。 在這種情況下,,其參考計數到達零時,每 AddRef版本 呼叫委派集中實作的物件和 版本 釋放整個物件。

注意事項注意事項

CComObject-使用 new 運算子,衍生的建構物件時,參考計數為 0。因此,必須在成功建立 CComObject之後對 AddRef 上一次呼叫衍生物件。

請參閱

參考

COM 簡介

Managing Object Lifetimes through Reference Counting