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 提供類工廠的支持
通過ATL開發COM_1概述
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.