
COM
文章平均质量分 84
eagleatustb
学习永远没有终点
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
《COM技术内幕》读书笔记——第1章 组件
社会需求是推动人进步的动力,这不,由于工件需要,我需要学习COM的知识以完成手头的工作内容。软件行业是一个不断学习不断进步的行业,学习方法至关重要。 第一章是一个基本的介绍,基本上围绕为什么用COM,COM是什么而不是什么这几个中心来展开的,目的就是说明:作者写这书是有道理的!对于我来说,不需要看这部分内容,我的学习原因用不着作者去指引,很快在实践中就能出真知,哈哈。原创 2012-12-26 11:07:17 · 699 阅读 · 0 评论 -
《COM技术内幕》读书笔记——第2章 COM接口的实现
以下为此章知识点罗列,没有整理和引申。 1. COM接口在C++中是用纯属抽象基类实现的,一个COM组件可以提供多个接口,一个C++类可以使用多继承来实现一个可以提供多个接口的组件。 2. 用__stdcall标记的函数将使用标准的调用约定,即这些函数将在返回到调用者之间将参数从栈中删除。在常规的C/C++调用约定中,栈的清理工作则是由调用者完成的。标准调用约定名原创 2012-12-26 13:34:03 · 776 阅读 · 0 评论 -
_DllMain@12 already defined in CMPNT.obj 错误说明
今天在VS2008中使用默认选项创建DLL工程,把《COM技术内幕》书上第7章的例子搬过来编译,在连接的时候遇到一个问题:mfcs90ud.lib(dllmodul.obj) : error LNK2005:_DllMain@12 already defined in CMPNT.obj 原来按VS2008默认方式创建的DLL工程带有像class CTDllApp : public原创 2012-12-27 17:25:49 · 1169 阅读 · 0 评论 -
《COM技术内幕》读书笔记——第4章 引用计数
本章介绍COM必须实现的IUnknow接口的两个计数函数——AddRef和Release,简单来说就是智能指针类似的功能。内存分配在组件类中进行,每当组件类的指针外传的时候增加引用,而当传出去的指针使用完毕,减少引用计数。当引用计数减少到0时释放内存。 需要注意到通用的几个函数实现里都应该加上AddRef,如QueryInterface,CreateInstance。书中强调对象的生原创 2012-12-28 15:08:34 · 773 阅读 · 0 评论 -
对《COM技术内幕》第10章的不满意
第10章是COM进程间通信和远程通信的关键章节,本来按理来说,应该说清楚两个进程是怎么样通信的,讲到最终的API使用上面去,甚至分析模拟API的原理代码,才是我理解的所谓“技术内幕”,但很失望,作者没有这么做,而是避而不谈。 “虽然读者不需要知道LPC的细节,但知道如何用IDL,来描述自己的接口却是必不可少的。” "此时读者可能还是想着自己手工来编写有关的代码,而不原创 2013-01-09 11:01:59 · 1351 阅读 · 0 评论 -
《COM技术内幕》读书笔记——第5章 动态连接
前置课程是PE文件结构和DLL动态连接技术,如果你不了解PE文件结构(这在这章不算很重要,但这个是很基本很基本的内容,对理解编译加载原理以及内存结构有很大帮助),请参考PE文件格式官方文档;如果你还没有写过DLL,请先参考《Windows核心编程》第19,20章。 回归正题目,这里要做的是一个COM的组件服务器——使用DLL的形式,所以有别于一般的DLL。需要实现注册,卸载,初始化,原创 2012-12-28 15:33:03 · 904 阅读 · 0 评论 -
《COM技术内幕》读书笔记——第3章 QueryInterface函数
所有COM的接口都需要继承一个接口——IUnknown,接口的定义在UNKNWN.H文件中,我所使用的7.0库版本中所带的定义为: IUnknown { public: BEGIN_INTERFACE virtual HRESULT STDMETHODCALLTYPE QueryInterface(原创 2012-12-26 16:08:22 · 870 阅读 · 0 评论 -
《COM技术内幕》读书笔记——第6章
HRESULT值的使用比典型的布尔值要麻烦一点,当然也更能提供一些额外信息:成功代码有多个,失败的代码也有多个;失败代码可能会发生变化。 错误代码的直接传递会造成一些客户不识别错误代码的情况,例子在书上85页有一个有力的说明,可以参考。 对于自定义的HRSULT的一些一般性规:不要将0x0000及0x01FF范围内的值作为返回代码,因为这些值是为COM所定义的FACIL原创 2013-01-04 11:06:46 · 1413 阅读 · 0 评论 -
《COM技术内幕》读书笔记——第10章 EXE中的服务器 代码调试
也许是进度太快,前面的章节没有很好的把握,我在读第10章的内容的时候,感觉有很多知识点还没有清楚,而且这章结构组织没之前的清楚,甚至可以说有点混乱。再次回顾可以加深之前内容的掌握,在这里有一个关键的点就是——完完整整的把课本的代码走一遍,理解怎么写为什么写这些代码。 对于本章的代码,也是老问题了,此书作者可没有花时间在讲解代码调试上。由于年代久远,按书上说的nmake -f make原创 2013-01-07 17:07:11 · 921 阅读 · 0 评论