- 21
- 0
- 约2.33万字
- 约 13页
- 2018-12-03 发布于天津
- 举报
尽管com接口是跨语言的,但是很多语言在使用com时更多
IDispatch
IIDDiissppaattcchh接口原理与应用
目录:
目目录录::
IDispatch 接口原理与应用1
目录:1
前言:1
IDispatch 接口的定义:1
创建支持IDispatch 接口的COM对象:4
标准方式调用IDispatch 接口的方法:5
采用ATL智能指针类调用IDispatch 接口的方法:7
使用类COleDispatchDriver 调用IDispatch 的方法:11
前言:
前前言言::
尽管com接口是跨语言的,但是很多语言在使用com时更多地通过
Automation 技术来和com对象通信。IDispatch接口是Automation 的核心技术。
尽管c++程序员并不喜欢甚至讨厌使用IDispatch 接口,因为调用它实在是非
常的麻烦而且易出错。但是不可否认大量的现存组件是只基于IDispatch 接口技
术而开发的,有时候你没有选择,而且如果你想要写一些组件能够在web上运
行,你也离不开IDisptch 接口,因为VBScript 这样的脚本语言不会聪明到能够
理解你的基于虚函数表的普通com接口。
与其躲避它,不如征服它。本文中,我将结合自己的经验和读者一起探讨
IDispatch 接口的各种应用。并介绍几种能够加快我们使用IDispatch接口的c++
类。
IDispatch接口的定义:
IIDDiissppaattcchh接接口口的的定定义义::
参照文件oaidl.h 中的定义
MIDL_INTERFACE0000-0000-C000-000000000046)
IDispatch : public IUnknown
{
public:
virtual HRESULT STDMETHODCALLTYPE GetTypeInfoCount(
/* [out] */ UINT *pctinfo) = 0;
virtual HRESULT STDMETHODCALLTYPE GetTypeInfo(
/* [in] */ UINT iTInfo,
/* [in] */ LCID lcid,
/* [out] */ ITypeInfo **ppTInfo) = 0;
virtual HRESULT STDMETHODCALLTYPE GetIDsOfNames(
/* [in] */ REFIID riid,
/* [size_is][in] */ LPOLESTR *rgszNames,
/* [in] */ UINT cNames,
/* [in] */ LCID lcid,
/* [size_is][out] */ DISPID *rgDispId) = 0;
virtual /* [local] */ HRESULT STDMETHODCALLTYPE Invoke(
/* [in] */ DISPID dispIdMember,
/* [in] */ REFIID riid,
/* [in] */ LCID lcid,
/* [in] */ WORD wFlags,
/* [out][in] */ DISPPARAMS *pDispParams,
/* [out] */ VARIANT *pVarResult,
/* [out] */ EXCEPINFO *pExcepInfo,
/* [out] */ UINT *puArgErr) = 0;
};
我们通过IDispatch的GUID到注册表中搜索,可以搜索到如下结果:
注意在IDispatch 接口GUID下面还有两个展开的GUID项,他们分别是
ITypeInfo 和ITypeLib 接口。这两个接口在自动化应用中也是非常重要的。今后
我们会经常看到他们。
IDispatch 接口方法简介:
您可能关注的文档
- 义龙新区2015年新桥镇棚户区项目(电梯安装.PDF
- 云南吉成园林科技股份有限公司2018年第三季度报告.PDF
- 五大行三季报综述稳健的业绩增长,稳健.PDF
- 今生要成就、必以戒为师(第一集)20020803.PDF
- 众惠财产相互保险社个人借款履约保证保险(2018款)条款.PDF
- 众安在线财产保险股份有限公司个人住院综合医疗保险条款.PDF
- 佃块愼栠敲慴块.doc
- 余庆县广播电视台播出机构制播能力建设工程.PDF
- 余杭区径山镇2018年四好农村路部分道路两侧绿化工程设.doc
- 光伏政策迎来拐点,新能源和电动车优.PDF
- 抚顺石化工贸中心资金控制体系优化研究:理论、实践与创新.docx
- 探秘中华通草蛉滞育发育:生殖生物学特征与调控机制.docx
- 稀有鮈鲫受精机制及影响因素的深度剖析.docx
- 从美国强制反诉制度探寻我国民事诉讼反诉制度的革新路径.docx
- 中国职业足球管理体制:演进、困境与突破路径探究.docx
- 论我国网上个体经营活动法律规制的完善与实践.docx
- 论取保候审期间脱逃后又归案的自首认定困境与出路.docx
- 动调陀螺赋能双轴稳定平台控制系统的关键技术与优化策略研究.docx
- 论我国犯罪被害人国家补偿制度的构建与完善:法理、实践与发展路径.docx
- 光纤光栅传感监控软件:原理、应用与创新发展研究.docx
最近下载
- 实验室内电气安全培训课件.pptx VIP
- 护理伦理与法规课程标准.doc VIP
- 远信工业股份有限公司年产200台热风拉幅定形机建设项目 环评报告表.pdf VIP
- 2025年下半年中小学教师资格考试语文学科知识与教学能力真题(初级中学)附参考答案.docx VIP
- 质量管理体系检查登记表.docx VIP
- 安徽镜湖总部经济园建设项目可行性设计方案.doc VIP
- 2026年春教科版(新教材)小学科学二年级下册(全册)教学设计(附目录P91).pdf
- 给排水工程施工课件.pptx VIP
- 实验室安全用电培训课件.ppt VIP
- 综合应用能力事业单位考试(医疗卫生类E类)试题与参考答案(2025年).docx VIP
原创力文档

文档评论(0)