注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網(wǎng)絡軟件與程序設計C/C++及其相關Visual C++實踐與提高(COM和COM+篇)

Visual C++實踐與提高(COM和COM+篇)

Visual C++實踐與提高(COM和COM+篇)

定 價:¥54.00

作 者: 余英,梁剛編著
出版社: 中國鐵道出版社
叢編項: 計算機編程實踐與提高系列
標 簽: VC++

ISBN: 9787113040499 出版時間: 2001-01-01 包裝: 膠版紙
開本: 26cm 頁數(shù): 509頁 字數(shù):  

內(nèi)容簡介

  隨著Internet的發(fā)展,微軟的組件對象模型(COM)技術越來越受到開發(fā)人員和系統(tǒng)管理人員的重視。本書全面地介紹了COM應用開發(fā)技術。本書共分三部分13章,第一部分主要介紹COM規(guī)范和各種COM應用技術,第二部分通過豐富的實例講授COM應用的開發(fā)技術,最后一部分重點介紹COM的最新版本COM+,包含DCOM、MTS、MSMQ等技術。本書實例豐富,講述清晰,圖文并茂。如果你具有一定VC++編程基礎,并正在尋求對COM/COM+開發(fā)技術的快速入門,那么本書將非常適合你。循序漸進,攻克COM。從讀者熟悉的地方入手,循序漸進地推出COM的基本思想與重要概念。在簡明易懂的語言描述中,讀者已經(jīng)忘記COM原是一個多么復雜的規(guī)范。實例豐富,精心制作。平均每章都有3-4個精心制作的例子程序,其中包括供讀者學習的簡單例程,和即學即有的實用性例程。結構分明,精心組織。章節(jié)結構分明,由淺入深,全書結構一致,讓讀者在循序漸進中輕松上手。選擇閱讀,方式多多。按照實際需要,讀者可以選擇不同閱讀方式。書中的相關新聞記者建議可以讓不同讀者最快獲取最需要的知識。

作者簡介

暫缺《Visual C++實踐與提高(COM和COM+篇)》作者簡介

圖書目錄

第1章 COM背景知識
1.1 COM的起源
1.1.1 軟件業(yè)面臨的挑戰(zhàn)
1.1.2 傳統(tǒng)解決方案
1.1.3 面向?qū)ο蟪绦蛟O計方法
1.1.4 最終解決方案:組件軟件
1.1.5 面向?qū)ο蟮慕M件模型——COM
1.2 COM的發(fā)展歷程
1.2.1 COM以前的對象技術:DDE、OLE 1、VBX控件
1.2.2 COM首次亮相:OLE2
1.2.3 Microsoft擁抱Internet:ActiveX
1.2.4 更多的新名詞:Windows DNA和COM+
1.2.5 遠程對象:ORBs和DCOM
1.2.6 COM的最新版本:COM+
1.3 COM技術現(xiàn)狀
1.3.1 COM與CORBA
1.3.2 COM與Enterprise Java Beans
1.3.3 Windows之外的COM
小結
第2章 從C++到COM
2.1 C++客戶重用C++對象——例程DB
2.1.1 C++對象
2.1.2 客戶程序
2.2 將C++對象移進DLL中——例程DB_cppdll
2.2.1 成員函數(shù)的引出
2.2.2 內(nèi)存分配
2.2.3 Unicode/ASCII兼容
2.2.4 例程實現(xiàn)
2.2.4.1 修改接口文件
2.2.4.2 修改對象程序
2.2.4.3 修改客戶程序
2.3 C++對象使用抽象基類——例程DB_vtbl
2.3.1 問題:私有數(shù)據(jù)成員被暴露
2.3.2 解決方案:抽象基類
2.3.2.1 什么是抽象基類(Abstract Base Class)
2.3.2.2 實現(xiàn)秘訣:虛函數(shù)(Virtual Functions)
2.3.3 使用抽象基類
2.3.4 例程實現(xiàn)
2.3.4.1 修改接口文件
2.3.4.2 修改對象程序
2.3.4.3 修改客戶程序
2.4 改由COM庫裝載C++對象——例程dbalmostcom
2.4.1 COM庫
2.4.2 對象創(chuàng)建的標準入口點
2.4.3 標準對象創(chuàng)建API
2.4.4 標準對象注冊
2.4.5 例程實現(xiàn)
2.4.5.1 修改接口文件
2.4.5.2 修改對象程序
2.4.5.3 修改客戶程序
2.5 將C++對象變成COM對象
2.5.1 引用計數(shù)
2.5.2 多接口
2.5.3 IUnknown接口
2.5.4 標準類廠接口:IClassFactory
2.5.5 對象代碼的動態(tài)卸載
2.5.6 自動注冊
2.5.7 例程實現(xiàn)
2.5.7.1 修改接口文件
2.5.7.2 修改對象程序
2.5.7.3 修改客戶程序
2.6 為COM對象添加多接口支持
2.6.1 多接口
2.6.2 DEFINE_GUID
2.6.3 例程實現(xiàn)
2.6.3.1 修改接口文件
2.6.3.2 修改對象程序
2.6.3.3 修改客戶程序
小結
第3章 COM基礎知識
3.1 對象與接口
3.1.1 COM對象
3.1.2 COM接口
3.1.3 IUnknown接口
3.1.3.1 生存期控制:AddRef和Release
3.1.3.2 接口查詢:QueryInterface
3.1.4 全球唯一標識符GUID
3.1.5 COM接口定義
3.1.6 接口描述語言IDL
3.2 COM應用模型
3.2.1 客戶/服務器模型
3.2.2 進程內(nèi)組件
3.2.3 進程外組件
3.2.4 COM庫
3.2.5 HRESULT返回值
3.2.6 COM與注冊表
3.3 COM組件
3.3.1 實現(xiàn)類廠對象
3.3.2 類廠對象的創(chuàng)建
3.3.3 實現(xiàn)自動注冊
3.3.4 實現(xiàn)自動卸載
3.4 COM客戶
3.4.1 COM對象創(chuàng)建函數(shù)
3.4.1.1 CoGetClassObject
3.4.1.2 CoCreateInstance
3.4.1.3 CoCreateInstanceEx
3.4.2 如何調(diào)用進程內(nèi)組件
3.4.3 COM客戶調(diào)用進程外組件
3.5 進一步認識COM
3.5.1 可重用機制:包容和聚合
3.5.2 進程透明性
3.5.3 安全性機制
小結
第4章 COM擴展技術
4.1 可連接對象機制
4.1.1 客戶、接收器與可連接對象
4.1.1.1 接收器
4.1.1.2 可連接對象
4.1.1.3 客戶
4.1.2 實現(xiàn)可連接對象
4.1.3 實現(xiàn)接收器
4.1.4 建立接收器與連接點的連接
4.1.5 獲得出接口的類型信息
4.2 結構化存儲
4.2.1 什么叫結構化存儲和復合文件
4.2.2 存儲對象和IStorage接口
4.2.2.1 IStorage接口
4.2.2.2 獲得IStorage指針
4.2.2.3 釋放STATSTG內(nèi)存
4.2.2.4 枚舉存儲對象中的元素
4.2.3 流對象和IStream接口
4.2.4 結構化存儲示例——例程StructStore
4.3 永久對象
4.3.1 永久接口
4.3.2 永久對象編程——例程PersistText
4.3.3 永久對象客戶編程——例程PersistClient
4.4 命名與綁定技術
4.4.1 COM名字對象與IMoniker
4.4.2 COM系統(tǒng)名字對象
4.4.2.1 文件名字對象(file moniker)
4.4.2.2 復合名字對象(composite moniker)
4.4.2.3 單項名字對象(item moniker)
4.4.2.4 反-名字對象
4.4.2.5 指針名字對象
4.4.2.6 類名字對象
4.4.3 使用名字對象
4.4.3.1 獲得名字對象
4.4.3.2 執(zhí)行綁定操作
4.5 統(tǒng)一數(shù)據(jù)傳輸
4.5.1 數(shù)據(jù)交換與傳輸協(xié)議的分離
4.5.2 數(shù)據(jù)格式和傳輸介質(zhì)
4.5.2.1 FORMATETC結構
4.5.2.2 STGMEDIUM結構
4.5.3 數(shù)據(jù)對象和IDataObject接口
4.5.4 MFC對統(tǒng)一數(shù)據(jù)傳輸?shù)闹С?br />4.5.4.1 COleDataSource類
4.5.4.2 COleDataObject
4.5.5 剪貼板傳輸——例程OleClip
4.5.6 OLE拖放——例程OleDragDrop
小結
第5章 COM技術的應用
5.1 基于COM的應用技術
5.1.1 COM、OLE與ActiveX
5.1.2 OLE文檔
5.1.3 自動化
5.1.4 ActiveX控件
5.1.5 ActiveX文檔
5.2 理解在企業(yè)應用中使用COM組件的技術
5.2.1 多層軟件結構模型
5.2.2 多層軟件應用中的COM組件類型
5.2.3 組件的安裝和注冊
5.3 在Vsual C++中使用ActiveX控件——例程VCActiveX
5.3.1 創(chuàng)建ActiveX控件包容器程序
5.3.2 加載ActiveX控件
5.3.3 設計時訪問控件的屬性
5.3.4 運行時訪問控件的屬性和方法
5.3.5 處理控件的事件
5.4 在Visual C++中使用代碼組件
5.4.1 利用OLE/COM Object Viewer查看組件信息
5.4.2 利用COM庫函數(shù)使用代碼組件——例程VCAuotCom
5.4.3 通過ClassWizard使用代碼組件——例程VCAuotClw
5.4.4 利用#import指令使用代碼組件——例程VCAutoImport
5.4.4.1 #import指令和智能指針
5.4.4.2 創(chuàng)建VCAutoImport例程
5.5 在Visual Basic中使用COM組件
5.5.1 使用ActiveX控件——例程VBActiveX
5.5.2 使用代碼組件——例程VBAuto
5.6 在Web站點中使用COM組件
5.6.1 COM在多層Web應用程序中的重要作用
5.6.2 在客戶端使用ActiveX控件
5.6.3 在服務器端使用代碼組件
小結
第6章 用VC 4開發(fā)COM應用
6.1 VC對COM的支持
6.1.1 類庫支持:MFC和ATL
6.1.2 比較MFC和ATL
6.2 MFC對COM開發(fā)的支持
6.2.1 MFC簡介
6.2.2 MFC對自動化的支持
6.2.2.1 MFC AppWizard支持
6.2.2.2 CCmdTarget類支持
6.2.3 MFC對復合文檔的支持
6.2.4 MFC對ActiveX控件的支持
6.3 使用MFC開發(fā)COM組件——例程MFCSample
6.3.1 創(chuàng)建一個進程內(nèi)自動化組件工程
6.3.2 分析新建工程文件
6.3.3 添加COM對象類
6.3.4 為接口添加屬性
6.3.5 為接口添加方法
6.3.6 創(chuàng)建并測試組件
6.4 探討MFC實現(xiàn)COM的內(nèi)幕
6.4.1 MFC COM對象的實現(xiàn)
6.4.2 MFC COM引出函數(shù)和類廠實現(xiàn)
6.5 ATL基礎知識
6.5.1 ATL簡介
6.5.2 模板和多繼承
6.5.3 幾個重要的類
6.5.3.1 CComModule
6.5.3.2 CComObjectRoot/CComObjectRootEx
6.5.3.3 CComCoClass
6.5.3.4 CComObject
6.6 使用ATL開發(fā)COM組件——例程ATLSample
6.6.1 創(chuàng)建一個新的ATL工程
6.6.2 分析工程文件
6.6.3 添加新的對象類
6.6.4 為接口添加屬性
6.6.5 為接口添加方法
6.6.6 創(chuàng)建并測試組件
6.7 探討ATL實現(xiàn)COM的內(nèi)幕
6.7.1 ATL COM對象的實現(xiàn)
6.7.2 ATL COM引出函數(shù)和類廠實現(xiàn)
6.7.3 注冊腳本文件(.RGS)
6.8 調(diào)試COM組件
6.8.1 調(diào)試COM組件DLL
6.8.2 調(diào)試COM組件EXE
小結
第7章 自動化
7.1 自動化技術基礎
7.1.1 自動化:C++與VBA的橋梁
7.1.2 自動化組件與自動化客戶
7.1.3 IDispatch接口
7.1.3.1 GetTypeInfoCount和GetTypeInfo
7.1.3.2 GetIDsOfNames
7.1.3.3 Invoke
7.1.4 類型庫和ODL
7.1.5 VARIANT數(shù)據(jù)類型
7.2 用MFC開發(fā)自動化組件——例程MFCSampleExe
7.2.1 創(chuàng)建最小的MFC自動化EXE工程
7.2.2 添加COM對象類、接口、屬性和方法
7.2.3 在Excel中測試組件
7.3 用ATL開發(fā)自動化組件——例程ATLSampleExe
7.3.1 利用ATL COM AppWizard創(chuàng)建進程外組件
7.3.2 分析ATL進程外組件與進程內(nèi)組件的差別
7.3.2.1 文件生成差別
7.3.2.2 StdAfx.h文件差別
7.3.2.3 ATLSampleExe.cpp文件差別
7.3.3 增加COM對象類、屬性和方法
7.3.4 測試ATL SanpleExe.Account中測試組件
7.4 位于業(yè)務邏輯層的代碼組件
7.4.1 ADO對象模型和基本編程模型
7.4.2 在Visual C++中使用ADO
7.4.2.1 使用#import指令
7.4.2.2 利用ClassWizard加載ADO對象類
7.4.2.3 通過COM API使用ADO
7.4.3 創(chuàng)建使用ADO的代碼組件——例程ADOSamp
7.4.4 創(chuàng)建數(shù)據(jù)源
7.4.5 編寫客戶程序
7.4.6 三層軟件應用模型
小結
第8章 OLE文檔與ActiveX文檔
8.1 OLE文檔基礎知識
8.1.1 OLE文檔服務器與包容器
8.1.2 OLE服務體系結構
8.1.3 鏈接與嵌入技術
8.1.4 現(xiàn)場激活技術
8.1.5 MFC對OLE文檔的支持
8.2 創(chuàng)建現(xiàn)場激活OLE服務器——例程ScribbleOle
8.2.1 預覽ScribbleOle程序
8.2.2 利用AppWizard創(chuàng)建OLE服務器工程
8.2.3 將OLE相關文件添進Scribble工程
8.2.4 使ScribbleOle真正具有OLE服務器特性
8.2.5 編輯OLE相關資源
8.2.6 為文檔類添加程序特定的服務器支持
8.2.7 實現(xiàn)服務器對象
8.2.8 在視圖類中實現(xiàn)現(xiàn)場支持
8.2.9 創(chuàng)建并測試OLE服務器
8.3 創(chuàng)建OLE包容器——例程Container
8.3.1 創(chuàng)建新的OLE包容器工程并測試
8.3.2 分析工程代碼
8.3.2.1 CContainerApp
8.3.2.2 CContainerView
8.3.2.3 CContainerCntrItem
8.3.3 實現(xiàn)客戶對象矩形
8.3.4 實現(xiàn)鼠標點擊激活
8.3.5 實現(xiàn)對象的移動和改變大小
8.3.6 繪制多個嵌入對象
8.3.7 實現(xiàn)嵌入對象的刪除
8.3.8 創(chuàng)建并測試Container程序
8.4 ActiveX文檔——例程ScribbleActiveX
8.4.1 比較ActiveX文檔與OLE文檔(用戶角度)
8.4.2 比較ActiveX文檔與OLE文檔(開發(fā)者角度)
8.4.3 開發(fā)ActiveX文檔服務器
8.4.4 將OLE文檔轉換服務器改造為ActiveX文檔服務器
8.4.5 在IE中測試ScribbleActiveX
8.4.6 ActiveX文檔包容器程序的實現(xiàn)
小結
第9章 ActiveX控件
9.1 ActiveX控件基礎知識
9.1.1 ActiveX控件的發(fā)展歷史
9.1.2 ActiveX控件基本要求
9.1.3 庫存屬性、方法和事件
9.1.4 ActiveX控件與包容器的通信
9.1.4.1 IOleControl接口
9.1.4.2 IOleControlSite接口
9.1.5 屬性頁技術
9.2 ActiveX C++對ActiveX控件的支持
9.2.1 MFC對ActiveX控件的封裝
9.2.2 ATL對ActiveX控件的封裝
9.2.2.1 CcomControl類
9.2.2.2 CComControlBase
9.2.2.3 CWindowImpl和CWindowImplBase
9.2.3 ActiveX Control Test Container
9.3 用MFC開發(fā)ActiveX控件——例程MfcCircCtrl
9.3.1 使用MFC ActiveX ControlWizard創(chuàng)建控件框架
9.3.2 修改控件位圖
9.3.3 添加庫存屬性
9.3.4 添加自定義屬性
9.3.5 添加事件
9.3.6 實現(xiàn)屬性表
9.4 用MFC編寫聚合控件——例程TimeSheet
9.4.1 預覽控件運行效果
9.4.2 添加MFC ActiveX Form ClassWizard AppWizard
9.4.3 創(chuàng)建timesheet控件并添加MSFlexGird控件
9.4.4 編輯timesheet控件的單元格
9.4.5 創(chuàng)建并測試timesheet控件
9.5 用ATL開發(fā)ActiveX控件——例程AtlTickerCtrl
9.5.1 預覽控件效果
9.5.2 創(chuàng)建工程框架添加控件對象
9.5.3 分析代碼并測試新控件
9.5.4 實現(xiàn)滾動顯示
9.5.5 提供修改滾動速度的接口
9.5.6 獲取股價信息
9.5.7 繪制控件
9.5.8 響應環(huán)境屬性的變化
9.5.9 增加事件
9.5.10 為庫存屬性設置缺省值
9.5.11 實現(xiàn)屬性表
小結
第10章 Internet COM組件
10.1 ActiveX控件與Internet
10.1.1 Internet對ActiveX控件提出的新要求
10.1.2 ActiveX控件的安全設置
10.1.2.1 設置初始化安全性
10.1.2.2 設置腳本安全性
10.1.2.3 安全標志的局限性
10.1.3 設置ActiveX控件的安全級別
10.1.3.1 修改注冊表
10.1.3.2 使用IObjectSafety
10.1.4 ActiveX控件的數(shù)字簽名
10.1.5 Active控件的使用許可
10.1.6 包裝AcitveX控件
10.2 改造Ticker控件——例程IETickerCtrl
10.2.1 ATL輕型控件
10.2.2 標記控件為初始化/腳本安全
10.2.3 持續(xù)屬性
10.3 在ActiveX控件中訪問DOM對象
10.3.1 什么是DOM(文檔對象模型)
10.3.2 在ActiveX控件中訪問DOM——例程DOMSamp
10.3.3 測試DOMCtrl控件
10.4 活動服務器組件
10.4.1 活動服務器頁面(ASP)
10.4.2 ASP內(nèi)建對象
10.4.2.1 Application對象
10.4.2.2 Session對象
10.4.2.3 Request對象
10.4.2.4 Response對象
10.4.2.5 Server對象
10.4.2.6 ObjectContext對象
10.4.3 創(chuàng)建活動服務器組件——例程ASPComSamp
10.4.4 在ASP中測試ASPComp組件
小結
第11章 從COM到COM+:DCOM、MTS
11.1 從COM到COM+
11.2 分布式COM(DCOM)
11.2.1 什么是DCOM
11.2.2 DCOM特性
11.2.3 DCOM的基本結構
11.2.4 列集(marshaling)
11.2.5 RPC(遠過程調(diào)用)
11.2.6 DCOM對象的定位與遠程激活
11.2.6.1 用DCOM配置工具指定遠程服務器名
11.2.6.2 在客戶代碼中指定遠程服務器名
11.2.7 遠程創(chuàng)建DLL組件:代理進程(surrogate)
11.2.8 IUnknown優(yōu)化
11.2.9 DCOM安全機制
11.3 DCOM組件的開發(fā)與部署
11.3.1 基于NT服務的DCOM服務器——例程DCOMServ
11.3.2 測試服務程序
11.3.3 DCOMCNFG實用程序
11.3.3.1 缺省屬性
11.3.3.2 缺省安全性
11.3.3.3 缺省協(xié)議
11.3.3.4 應用程序特定設置
11.4 微軟事務服務器(MTS)
11.4.1 MTS概述
11.4.1.1 MTS運行時環(huán)境
11.4.1.2 MTS Explorer
11.4.1.3 MTS APIs
11.4.2 MTS應用基本結構
11.4.2.1 應用組件
11.4.2.2 資源管理器
11.4.2.3 資源分發(fā)器
11.4.2.4 Microsoft DTC
11.4.3 MTS對象與環(huán)境對象
11.4.3.1 MTS對象的環(huán)境對象
11.4.3.2 創(chuàng)建MTS對象
11.4.3.3 事務環(huán)境對象
11.4.4 MTS客戶
11.4.5 事務(Transaction)
11.4.6 即時激活(just-in-time activation)
11.4.7 安全性控制
11.4.7.1 基本的安全性函數(shù)
11.4.7.2 高級安全性方法
11.5 MTS組件的開發(fā)與管理
11.5.1 MTS組件的要求
11.5.2 創(chuàng)建一個簡單的COM組件——例程MTSServ
11.5.3 MTS Explorer
11.5.4 將Account組件添加到MTS環(huán)境中
11.5.5 運行并監(jiān)控Account組件
11.6 微軟消息隊列(MSMQ)
11.6.1 何謂MSMQ
11.6.2 MSMQ的好處
11.6.3 MSMQ組件
11.6.3.1 隊列
11.6.3.2 消息
11.6.4 MSMQ對象模型
11.6.5 消息發(fā)送
11.6.5.1 生成MSMQQueueInfo對象
11.6.5.2 設置去隊列的路徑
11.6.5.3 生成和打開隊列
11.6.5.4 生成MSMQMessage對象
11.6.5.5 填入消息內(nèi)容
11.6.5.6 發(fā)送消息
11.6.5.7 關閉隊列
11.6.6 消息接收
11.6.7 MSMQ事件
11.6.7.1 生成消息事件對象
11.6.7.2 設置事件
11.6.7.3 生成事件處理器
小結
第12章 COM+服務
12.1 COM+概述
12.1.1 Windows DNA策略
12.1.2 COM+基本結構
12.1.3 COM+程序管理工具
12.2 COM+系統(tǒng)結構
12.2.1 COM+組件
12.2.2 COM+目錄
12.2.3 COM+環(huán)境
12.3 COM+對MTS服務的增強
12.3.1 事務特性
12.3.2 安全性
12.3.3 同步服務
12.3.4 COM+對象池
12.4 COM+新增系統(tǒng)服務
12.4.1 COM+隊列組件
12.4.2 COM+事件模型
12.4.3 負載平衡
12.3.4 內(nèi)存數(shù)據(jù)庫
小結
第13章 COM+應用開發(fā)
13.1 最簡單的COM+組件——例程Step1
13.1.1 創(chuàng)建一個最簡單的COM+組件
13.1.2 創(chuàng)建一個空的COM+應用程序
13.1.3 將Account組件安裝到COM+應用程序中
13.1.4 運行和監(jiān)控Account組件
13.2 使用ODBC資源分發(fā)器——例程Step2
13.2.1 創(chuàng)建數(shù)據(jù)源
13.2.2 修改Step1程序
13.2.3 重新安裝并測試組件
13.3 創(chuàng)建規(guī)??勺兊慕M件——例程Step3
13.3.1 即時激活特性
13.3.2 修改Stap2程序
13.3.3 重新安裝并測試組件
13.4 創(chuàng)建事務性組件——例程Step4
13.4.1 修改Step3程序并重新安裝組件
13.4.2 為組件設置事務屬性
13.4.3 監(jiān)控事務操作
13.5 利用共享屬性管理器共享狀態(tài)——例程Steps
13.5.1 共享屬性管理器
13.5.2 修改Step4程序
13.5.3 測試組件
13.6 使用多事務處理——例程Step6
13.6.1 修改Step5程序
13.6.2 測試組件
13.7 使用基于角色的安全性——例程Step7
13.7.1 修改Step6程序并測試
13.7.2 添加或刪除角色
13.7.3 給角色分配用戶帳戶或組
13.7.4 重新測試組件
小結

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) www.dappsexplained.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號