實作 CComObjectRootEx
CComObjectRootEx 尤為重要;所有 ATL 物件必須具有 CComObjectRootEx 或 CComObjectRoot 一個執行個體在其繼承。CComObjectRootEx 提供根據 COM 對應項目的預設 QueryInterface 機制。
傳遞給它的 COM 對應,物件的介面公開 (Expose) 給用戶端時,介面的用戶端查詢。查詢可以 CComObjectRootEx::InternalQueryInterface執行。InternalQueryInterface 只控制代碼在 COM 介面對應表。
您可以輸入至 COM 介面對應資料表與 COM_INTERFACE_ENTRY 巨集或它的其中一個變數。例如,從 BEEPER 範例 的下列程式碼輸入介面 IDispatch、 IBeeper和 ISupportErrorInfo 至 COM 對應資料表:
BEGIN_COM_MAP(CBeeper)
COM_INTERFACE_ENTRY(IBeeper)
COM_INTERFACE_ENTRY(IDispatch)
COM_INTERFACE_ENTRY_TEAR_OFF(IID_ISupportErrorInfo, CBeeper2)
END_COM_MAP()