• 大小: 10.64MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-10-16
  • 语言: Html/CSS
  • 标签: COM  COM+  入门  代码  

资源简介

第一部分 了解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个文件信息

评论

共有 条评论