第l章 COM+介紹
1. 1 組件的革命
1. 1. 1 兩個目標
1. 1. 2 單一的大模塊與組件模型的比較
1. 2 COM的產生
1. 3 什么是COM
1. 4 組件對象
1. 5 服務器程序和客戶端程序
1. 6 COM怎樣工作:接口和虛函數表
1. 6. 1 接口
1. 6. 2 vtable(虛函數表)
1. 7 IUnknown
1. 8 接口定義語言和類型庫
1. 9 全局惟一標識
1. 10 COM API
第2章 COM基礎:創(chuàng)建一個簡單的組件和客戶端程序
2. 1 創(chuàng)建步驟
2. 2 傳統(tǒng)的Stopwatch實現
2. 2. 1 最初的Stopwatch的設計
2. 2. 2 建立Timers. dll庫
2. 3 創(chuàng)建StopwatchClient. exe
2. 4 回顧一下起點
2. 5 添加IUnknown
2. 5. 1 實現IUnknown的兩種方法
2. 5. 2 IUnknown必須被完全實現
2. 5. 3 添加IUnknown
2. 6 實現QueryInterface()
2. 6. 1 QueryInterface()規(guī)則
2. 6. 2 生成GUID
2. 6. 3 添加QueryInterface()
2. 6. 4 調用QueryInterface()
2. 7 引用計數
2. 7. 1 實現引用計數
2. 7. 2 使用COM引用計數
2. 8 構建一個類工廠
2. 9 使用COMAPl
2. 9. 1 注冊服務器程序
2. 9. 2 初始化和取消初始化COM
2. 9. 3 用CoCreateInstance()實例化組件對象
2. 10 回顧一下COM組件的關鍵元素
第3章 ATL介紹
3, 1 使用ATL應用程序向導創(chuàng)建COM服務器程序
3. 1. 1 運行ATL應用程序向導
3. 1. 2 完成向導
3. 2 添加COM對象
3. 2. 1 線程模式
3. 2. 2 接口
3. 2. 3 聚合
3. 2. 4 支持ISupportErrorInfo
3. 2. 5 支持連接點
3. 2. 6 結束向導
3. 3 增加Stopwatch的方法和屬性
3. 3. 1 聲明方法和屬性
3. 3. 2 添加計時代碼
3. 3. 3 注冊組件
3. 4 通過客戶端程序訪問Stopwatch組件
第4章 接口定義語言介紹
4. 1 從MIDL編譯器輸出
4. 2 IDL基礎
4. 3 接口
4. 3. 1 接口標題屬性
4. 3. 2 接口聲明
4. 4 C++接口定義
4. 5 方法
4. 6 參數
4. 7 屬性
4. 7. 1 屬性的標志
4. 7. 2 讀寫屬性
4. 7. 3 屬性的附加參數
4. 8 定義類型庫
4. 9 向Stopwatch添加Overhead屬性
第5章 COM的客戶端程序及智能指針的使用
5. 1 客戶端程序概述
5. 2 初始化和取消初始化COM
子系統(tǒng)
5. 3 實例化COM對象
5. 4 將COM服務器程序定義導出到客戶端程序
5. 5 智能指針
5. 6 _com_ptr_t模板類
5. 7 新類型的IStopwatch
5. 8 使用異常處理錯誤
5. 9 混合使用智能指針與原始接口
5. 10 跨COM邊界傳遞接口
5. 11 另一COM客戶端程序示例
第6章 處理通稱為BSTR的COM字符串
6. 1 COM字符串基礎
6. 1. 1 Unicode與ANSI數據類型
6. 1. 2 OLECHAR. LPOLESTR和LPCOLESTR
6. 1. 3 處理LPOLESTR
6. 1. 4 是否執(zhí)行Unicode編譯
6. 1. 5 TCHAR
6. 1. 6 使用BSTR處理不同大小的字符串
6. 1. 7 處理BSTR的常用API函數
6. 1. 8 跨COM邊界的字符串內存管理
6. 1. 9 字符串轉換函數
6. 2 CComBSTR
6. 3 bstr t
6. 4 選擇字符串封裝器
第7章 其他COM數據類型
7. 1 有效的COM數據類型
7. 2 使用VARIANT BOOL的Boolean值
7. 3 變量數據類型
7. 3. 1 VARIANT結構
7. 3. 2 常用變量處理API函數
7. 3. 3 CComVariant
7. 3. 4 variant t
7. 4 枚舉
7. 5 可選參數
7. 6 指定默認值
7. 7 傳遞數組
7. 8 傳遞數目可變的自變量
7. 9 傳遞COM對象
第8章 瀏覽IDispatch
8. 1 創(chuàng)建支持雙重接口的Stopwatch組件
8. 1. 1 在IDL中聲明雙重接口
8. 1. 2 接口繼承和IDispatch
8. 1. 3 在組件內實現IDispatch
8. 1. 4 更新COM映射
8. 2 更改組件的版本
8. 2. 1 更新文件版本
8. 2. 2 更新注冊表中的新CLSID和類型庫版本
8. 3 測試IDispatch接口
8. 4 在C++COM客戶程序中調用IDispatch接口
第9章 錯誤處理和組件調試
9. 1 HRESLUT結構
9. 2 使用定制HRESULT進行錯誤處理
9. 3 詳細錯誤處理
9. 3. 1 IErrorlnfo接口
9. 3. 2 ISupportErrorlnfo接口
9. 3. 3 在Stopwatch項目中添加ISupportErrorInfo
9. 3. 4 在客戶程序中使用詳細錯誤處理
9. 3. 5 com error
9. 4 調試ATL代碼
9. 4. 1 編寫調試窗口的消息
9. 4. 2 使用ATLASSERT()驗證一切正常
9. 4. 3 調試QueryInterface()和引用計數
9. 5 在調試器中運行客戶程序和服務器程序
第10章 事件
10. 1 事件概述
10. 2 連接點
10. 3 創(chuàng)建支持事件的COM服務器程序
10. 3. 1 接口設計
10. 3. 2 添加倒計時組件并定義它的接口
10. 3. 3 實現ICountdown接口
10. 3. 4 實現連接點和激發(fā)事件
10. 3. 5 實現IProvideClasslnfo2
10. 4 接收組件的事件通知
10. 4. 1 創(chuàng)建ATL可執(zhí)行文件
10. 4. 2 添加對話框
10. 4. 3 聲明源接口實現
10. 4. 4 連接連接點
10. 4. 5 引用計數和連接點
10. 4. 6 使用內嵌監(jiān)聽器類避免循環(huán)引用計數
10. 4. 7 IDispEventlmpl和IDispEventSimplelmpl
第11章 ActiveX
11. 1 ActiveX控件
11. 2 開發(fā)一個ActiveX控件
11. 2. 1 創(chuàng)建一個空的ATL項目
11. 2. 2 添加一個控件模板
11. 2. 3 StopwatchControl對象
11. 2. 4 編譯. 調試Stopwatch控件
11. 2. 5 為默認控件添加功能
11. 2. 6 添加一個按鈕
11. 2. 7 添加一個定制屬性頁
11. 2. 8 持續(xù)性和屬性包
第12章 DCOM
12. 1 為所有應用程序配置DCOM默認設置
12. 1. 1 Default Properties
12. 1. 2 Default Security
12. 1. 3 Default Protocols
12. 2 為DCOM配置一個特定的應用程序
12. 2. 1 配置客戶端程序計算機
12. 2. 2 配置服務器程序計算機
12. 2. 3 運行客戶端程序
12. 3 使用DCOM編程
12. 3. 1 CoCreateInstanceEx()
12. 3. 2 一個DCOM客戶端程序示例
12. 4 查找DCOM故障
12. 5 COM安全API函數
12. 5. 1 使用ColnitializeSecurity()配置安全許可
12. 5. 2 扮演客戶端程序的身份:ColmpersonateClient()
12. 5. 3 用CoQueryClientBlanket()確定安全設置
12. 6 調度
12. 6. 1 代理服務器和存根
12. 6. 2 定制調度
12. 6. 3 類型庫調度
12. 6. 4 MIDL生成的代理服務器/存根
12. 7 DCOM小結
第13章 線程
13. 1 線程模型模擬
13. 1. 1 單一線程模型
13. 1. 2 公寓線程模型
13. 1. 3 自由線程模型
13. 1. 4 雙線程模型
13. 1. 5 線程中立模型
13. 1. 6 自由線程化調度器
13. 2 跨公寓調度
13. 2. 1 攔截者--代理服務器和存根
13. 2. 2 使用工作者線程
13. 3 與ATL同步
13. 4 異步COM調用
13. 4. 1 在組件服務器程序中定義異步接口
13. 4. 2 異步地調用
13. 4. 3 異步方法完成通知
13. 4. 4 實現異步凹M服務器程序
第14章 COM+的發(fā)展過程
14. 1 為什么要用COM+
14. 2 COM+服務和術語介紹
14. 2. 1 組件服務
14. 2. 2 COM+服務
14. 2. 3 配置組件
14. 3 COM+如何工作概述
14. 3. 1 對象上下文細述
14. 3. 2 并發(fā)和活動
14. 4 COM+事務
14. 4. 1 數據一致性
14. 4. 2 調用事務支持
14. 4. 3 事務流
14. 4. 4 資源管理器和資源分發(fā)器
14. 4. 5 補償資源管理器
14. 5 用排隊組件編寫分離應用程序
14. 6 發(fā)布和預定事件服務
14. 7 控制對象生存期來增加可升級性能
14. 7. 1 對象緩沖
14. 7. 2 即時激活
14. 7. 3 IObjectControl接口
14. 8 共享屬性管理器
14. 9 基于角色的安全
14. 10 準備就緒
第15章 建立COM+系統(tǒng)
15. 1 示例程序
15. 2 創(chuàng)建一個可持續(xù)的組件
15. 3 建立HotelReservation. exe客戶端應用程序
15. 4 COM+應用程序
15. 4. 1 COM=應用程序的兩種類型
15. 4. 2 創(chuàng)建一個COM+應用程序
15. 4. 3 配置一個COM+應用程序
15. 5 利用COM+事件服務
15. 5. 1 創(chuàng)建事件類
15. 5. 2 把組件添加到ComponentServices
15. 5. 3 在ComponentServices中配置事件類
15. 5. 4 創(chuàng)建一個事件預定者
15. 5. 5 在ComponentServices中配置預定者
15. 5. 6 為預定者發(fā)布事件
15. 6 排隊組件
15. 6. 1 創(chuàng)建一個可隊列化組件
15. 6. 2 把組件配置為排隊組件
15. 6. 3 實例化并調用排隊組件
15. 6. 4 使用隊列事件的分離. 異步預定者
15. 7 COM+事務
15. 7. 1 創(chuàng)建一個支持事務的組件
15. 7. 2 使用ObjectContext參加事務
15. 7. 3 為事務支持配置組件
15. 7. 4 通過編程在事務中包含可執(zhí)行程序
15. 8 配置組件激活
15. 8. 1 對象緩沖
15. 8. 2 即時激活
15. 8. 3 利用組件內部的構造字符串
15. 8. 4 其他的Activation設置
15. 9 基于角色的安全
15. 10 調試服務器程序組件
15. 10. 1 調試配置為庫應用程序的服務器程序組件
15. 10. 2 配置為服務器應用程序/從Active Workspace調試
15. 11 部署應用程序
15. 11. 1 應用程序代理服務器
15. 11. 2 服務器應用程序
15. 12 使用ATLCOMAppWizard建立一個MTS兼容的應用程序
15. 13 最后的想法