COM
hexiaomin_1984
这个作者很懒,什么都没留下…
展开
-
IDispatch接口的作用
网上说法1: IDispatch 接口是COM中比较常用的接口。 如果某个COM对象继承了IDispatch接口,那么这个COM对象所有的方法和属性都可以以它们的名称为参数,通过调用IDispatch接口的Invoke()方法来间接调用这些方法和属性。 在ATL中,如果想使某个COM对象支持IDispatch接口,那么必须在这个COM对象的属性中指定DUAL,即具有双重接口属性。在支持IDis原创 2014-02-24 15:02:04 · 1084 阅读 · 0 评论 -
关于指针的强制转化之一(基类有虚…
#include using namespace std; class INondelegatingUnknown { public: virtual void __stdcall NondelegationQueryInterface(void **ppv) = 0 ; virtual void __stdcall shiyan() = 0 ; virtual void __s原创 2014-02-24 15:02:15 · 359 阅读 · 0 评论 -
代理残根DLL的编写
《COM技术内幕》第10章—EXE中的服务器,为了建立代理残根首先需要定义1个IDL文件,利用MIDL编译器生成代理残根DLL所需的头文件和实现文件,然后用VC建立一个代理残根DLL工程,添加MIDL产生的文件,编译时总是不过,错误信息显示有些导出函数没有实现,为了我查看了潘爱民所著《COM原理与应用》一书中第4章的源代码,发现需要在工程的选项中定义REGISTER_PROXY_DLL,如下图所示原创 2014-02-24 15:03:08 · 703 阅读 · 0 评论 -
为什么使用类厂对象创建COM对象
近日阅读《COM技术内幕》第7章,第107页指出CoCreateInstance创建COM对象很不灵活,没有给客户提供一种控制组件创建过程的方法。实际上,这种说法是不准确的,我认为真正的意思是这样的,CoCreateInstance是操作系统COM库提供的函数,该函数会调用组件所在DLL(或者EXE)中的导出函数来创建对象,因此对每个组件而言,CoCreateInstance创建他们的过程是一样的原创 2014-02-24 15:03:04 · 543 阅读 · 0 评论 -
COM阶段性学习结束
《COM技术内幕》是一本好书,不过第10章以后讲解的不是那么详细,不过是有些需要操作系统内幕的支持原理没有进行很好的说明,总的来说读完本书还是对COM的理解加深了很多。不过在工作当中实际开发COM组件的机会我想已经很少了,因此COM的学习暂时先这样,如果以后有机会再深入看一下《COM本质论》。 接下来主要转向编译原理和OpenGL的学习,初步的设想是想做一个简单的IFC解析器和简单的图形显示原创 2014-02-24 15:03:11 · 498 阅读 · 0 评论