資源簡介
第一部分 了解COM
第1章 COM概述
何謂CoM
COM術語
COM利與弊
COM的好處
COM的局限性
COM組件與接口
何謂接口
接口特征
接口類型
接口規則
接口設計
COM組件的實現規則
實現IUnknown規則
內存管理規則
引用計數規則
COM激活
COM類型
COM客戶機
COM服務器
ActiveX控件
COM與面向對象技術
包裝
抽象
多態
繼承
COMTrader應用程序
小結
第2章 由VC++建立并使用COM服務器
IDL文件
建立第一個COM服務器
定義自定義接口
實現IUnknown和自定義接口
完成COM服務器
生成測試客戶機
用ATL建立COM服務器
關于ATL
用ATL建立進程內COM服務器
用ATL建立進程外COM服務器
線程與COM服務器
Win32多線程應用
線程COM組件
自動化與IDispatch
用VC++實現IDispatch
ATL與自動化
Automation數據類型
再談類型庫
C++自動化客戶機
VB自動化客戶機
小結
第3章 用VB建立并使用COM服務器
選擇COM項目
設計接口
描述接口
瀏覽接口
生成對象
使用ClassBuilder
增加屬性
增加方法
增加事件與枚舉
使用ActiveXDataObject(ADO)
在服務器組件中使用Recordset對象
在客戶機組件中使用ADOR
生成斷開的Recodset
生成自己的RecodsctS
使用用戶定義類型
錯誤處理
服務器客戶機錯誤處理
使用VBErr.Raise機制
在VB中使用線程模型
設置線程模型
了解再入性與公寓
小結
第二部分 COM與Internet
第4章 在VC++中建立并使用ActiveX控件
ACtiveX控件概還
屬性與方法
控件與容器通信
事件與連接點
建立第一個控件
生成控件
測試控件
增加方法
增加屬性
增加事件
增加屬性頁
允許屬性保持
使用控件
建立復合控件
增加復合控件
增加功能
增加事件
處理復合控件事件
處理錯誤
使用控件
小結
第5章 在VB中建立并使用ActiveX控件
VB控件簡介
約束與無約束控件
控件生成技術
屬性類型
方法
屬性配置
過程屬性
環境屬性配置
運行時只讀屬性
只在運行時有效的屬性
擴展屬性
容器屬性
合成控件屬性
可關聯屬性
持續與屬性包
屬性包
使用ActiveX控件界面向導
了解控件壽命
生成ActiveX控件
生成無約束控件
生成設計時數據約束控件
生成運行數據約束控件
小結
第6章 用VC++建立InternetCOM組件
IEActiveX控件
輕量級控件
安全控件
持續屬性
文檔對象模型編程
活動服務器組件
活動服務器頁面
ASP頁面的COM組件
小結
第7章 用VB建立InternetCOM組件
無窗口控件
ActiveX控件容器的線程模型
ActiveX控件的安全性
Web頁面訪問
VBDHTML項目
DHTML項目基礎
DHTML應用程序樣本
VBIIS應用程序
WebClass
一個IIS應用程序樣本
設計控件
設計控件與HTML文件
樣本設計控件
小結
第三部分 了解DCOM
第8章 DCOM概述
何謂DCOM
為什么使用DCOM
DCOM操作
DCOM組件位置
進程內或進程外組件
代理
RPC(RemoteProcedureCall,遠程過程調用)
調動
數據傳遞
DCOM配置實用程序
DCOM應用程序的安全機制
驗證
授權
加密
整性檢查
小結
第9章 用VC++建立DCOM服務器
標準與自定義調動
標準調動
自定又調動
網絡通伯
遠程激活
AppID注冊表項
可配置AppID注冊表項參數
IUknown優化
DCOM與NT服務
NT服務解剖
基于NT服務的COM服務器
小結
第10章 用VB建立DCOM服務器
應用程序對象模型
何謂對象模型
如何生成對象模型
DCOM設計準則與技術
再論調動
按數值與按引用
DCOM進程外服務器
建立DCOM組件
增加測試客戶機
IIS應用程序
增加WebClasses
使用模板
增加自定義Webltems
遠程錯誤處理
小結
第四部分 了解COM++
第11章 COM++概述
COM與WindowsDNA
用戶界面層技術
中間層技術
數據庫層技術
組件服務配置
事務處理
排隊組件(QC

代碼片段和文件信息
#include?
int?main()
{
//first?initialize?COM
CoInitialize(NULL);
//get?the?component‘s?clsid?from?the?progid
//we?could?use?the?clsid?directly?if?we?know?it
CLSID?clsid;
CLSIDFromProgID(L“SecurityMgr.AccessControl“&clsid);
//create?the?component?and
//get?an?IDispatch?interface?on?it
IDispatch*?pIDispatch?=?NULL;
CoCreateInstance(clsidNULLCLSCTX_INPROC_SERVER?
?IID_IDispatch?(void**)?&pIDispatch);
//get?the?DISPID?of?the?IsUserAllowed?method
DISPID?dispid;
OLECHAR?FAR*?szMemberName?=?L“IsUserAllowed“;
pIDispatch->GetIDsOfNames(IID_NULL
??&szMemberName
??1
??LOCALE_SYSTEM_DEFAULT
??&dispid);
//prepare?the?arguments
DISPPARAMS?dispparams;
dispparams.cArgs=2; //two?arguments
dispparams.cNamedArgs=0; //no?named?arguments
dispparams.rgdispidNamedArgs=NULL;
dispparams.rgvarg=new?VARIANTARG[2];?//the?arg?array?contains?two?variants
//REMEMBER:?arguments?in?the?rgvarg?array?are?reversed?in?order?
//so?the?last?method?argument?is?rgvarg[0]?!
dispparams.rgvarg[0].vt=VT_I4; //a?4-byte?integer
dispparams.rgvarg[0].lVal=3;
dispparams.rgvarg[1].vt=VT_BSTR;?//a?BSTR
dispparams.rgvarg[1].bstrVal=SysAllocString(L“AnyUserName“);?//allocate?the?BSTR
//prepare?the?result?(return?value)
VARIANTARG?Result;
Result.vt=?VT_BOOL;
Result.boolVal=VARIANT_FALSE; //we?will?set?it?to?false?
//to?see?our?method?set?it?back?to?true
//exception?information
EXCEPINFO?excep;
//argument?error?information
UINT?uArgErr;
//Make?the?call
pIDispatch->Invoke(dispid
IID_NULL
LOCALE_SYSTEM_DEFAULT
DISPATCH_METHOD
&dispparams
&Result
&excep
&uArgErr);
if(Result.boolVal==VARIANT_TRUE)
MessageBox(NULL“User?is?allowed?access““Access?Check“MB_OK?|?MB_ICONINFORMATION);
else
MessageBox(NULL“User?is?denied?access““Access?Check“MB_OK?|?MB_IConstop);
//Free?the?BSTR
SysFreeString(dispparams.rgvarg[1].bstrVal);
//delete?the?argument?array
delete[]?dispparams.rgvarg;
//Uninitialize?COM
CoUninitialize();
return?0;
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???10210300??2012-07-18?16:07??com與com+從入門到精通.pdf
?????文件???????4392??1999-03-06?12:13??COM與COM+從入門到精通源碼\2384c02\AutomationClient\AutomationClient.dsp
?????文件????????555??1999-03-06?12:12??COM與COM+從入門到精通源碼\2384c02\AutomationClient\AutomationClient.dsw
?????文件???????2149??1999-03-06?14:34??COM與COM+從入門到精通源碼\2384c02\AutomationClient\Main.cpp
?????文件???????4374??1999-02-27?11:40??COM與COM+從入門到精通源碼\2384c02\FirstSrvClient\FirstSrvClient.dsp
?????文件????????551??1999-02-27?11:40??COM與COM+從入門到精通源碼\2384c02\FirstSrvClient\FirstSrvClient.dsw
?????文件????????730??1999-02-27?12:17??COM與COM+從入門到精通源碼\2384c02\FirstSrvClient\Main.cpp
?????文件????????879??1999-07-11?18:13??COM與COM+從入門到精通源碼\2384c02\FirstSrvDll\dlldata.c
?????文件???????1501??1999-02-27?12:02??COM與COM+從入門到精通源碼\2384c02\FirstSrvDll\FirstClassFactory.h
?????文件???????1117??1999-02-27?10:10??COM與COM+從入門到精通源碼\2384c02\FirstSrvDll\FirstComponent.h
?????文件????????163??1999-02-27?12:05??COM與COM+從入門到精通源碼\2384c02\FirstSrvDll\FirstSrv.def
?????文件???????4237??1999-07-11?18:13??COM與COM+從入門到精通源碼\2384c02\FirstSrvDll\firstsrv.h
?????文件????????448??1999-02-25?20:00??COM與COM+從入門到精通源碼\2384c02\FirstSrvDll\FirstSrv.idl
?????文件???????1580??1999-07-11?18:13??COM與COM+從入門到精通源碼\2384c02\FirstSrvDll\firstsrv.tlb
?????文件???????3364??1999-03-07?11:56??COM與COM+從入門到精通源碼\2384c02\FirstSrvDll\FirstSrvDll.cpp
?????文件????????275??1999-02-27?11:41??COM與COM+從入門到精通源碼\2384c02\FirstSrvDll\FirstSrvDll.dep
?????文件???????4392??1999-02-27?12:32??COM與COM+從入門到精通源碼\2384c02\FirstSrvDll\FirstSrvDll.dsp
?????文件????????545??1999-02-25?21:23??COM與COM+從入門到精通源碼\2384c02\FirstSrvDll\FirstSrvDll.dsw
?????文件???????1128??1999-07-11?18:13??COM與COM+從入門到精通源碼\2384c02\FirstSrvDll\firstsrv_i.c
?????文件???????6677??1999-07-11?18:13??COM與COM+從入門到精通源碼\2384c02\FirstSrvDll\firstsrv_p.c
?????文件??????21164??1999-07-13?21:24??COM與COM+從入門到精通源碼\2384c02\MFCTestClient\MFCTestClient.aps
?????文件???????1191??1999-07-18?14:52??COM與COM+從入門到精通源碼\2384c02\MFCTestClient\MFCTestClient.clw
?????文件???????2210??1999-03-07?13:13??COM與COM+從入門到精通源碼\2384c02\MFCTestClient\MFCTestClient.cpp
?????文件???????4289??1999-03-07?13:38??COM與COM+從入門到精通源碼\2384c02\MFCTestClient\MFCTestClient.dsp
?????文件????????549??1999-03-07?12:23??COM與COM+從入門到精通源碼\2384c02\MFCTestClient\MFCTestClient.dsw
?????文件???????1401??1999-03-07?12:23??COM與COM+從入門到精通源碼\2384c02\MFCTestClient\MFCTestClient.h
?????文件???????5324??1999-03-07?13:13??COM與COM+從入門到精通源碼\2384c02\MFCTestClient\MFCTestClient.rc
?????文件???????5494??1999-03-07?13:41??COM與COM+從入門到精通源碼\2384c02\MFCTestClient\MFCTestClientDlg.cpp
?????文件???????1452??1999-03-07?12:26??COM與COM+從入門到精通源碼\2384c02\MFCTestClient\MFCTestClientDlg.h
?????文件???????3705??1999-03-07?12:23??COM與COM+從入門到精通源碼\2384c02\MFCTestClient\ReadMe.txt
............此處省略734個文件信息
- 上一篇:NekoHTML的相關用法以及j代碼包
- 下一篇:周末·初戀の滋味.rar
評論
共有 條評論