通過ATL開發COM_1概述

ATL 是爲了減輕程序員開發COM的負擔而提供的一套模板庫
ATL提供的支持:
1. CComModule封裝對組件的宿主支持,掩蓋了(DLL和EXE)之間的差別。
2. 對IUnknown的支持
3. 對類工廠的支持
4. 自動化 : IDispatchImpl
COM 數據類型 : CComBSTR, CComVariant
接口指針 : CComPtr, CComQIPtr
錯誤處理 :ISupportErrorInfoImpl, CComObject
連接點 : IConnectionPointContainerImpl, IConnectionPointImpl :支持服務器的回叫信號(callback)或事件(event)
異步屬性下載 : CBindStatusCallback
自注冊 :
視窗和對話框 : Cwindow, CwindowImpl, CDialogImpl, CmessageMap


每個COM組件需要實現這三個功能
1. 實現IUnknown接口 (通過 CComObjectRootEx 實現)
2. 實現一個類工廠,支持組件的創建 (通過 CComCoClass 實現)
3. 實現自注冊

一個典型ATL COM組件的定義

CComObjectRootEx 提供 IUnknown支持
CComCoClass 提供類工廠的支持

發佈了59 篇原創文章 · 獲贊 9 · 訪問量 19萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章