本文假设读者已经具备C++开发技能。
目录:
1、背单词
4、Com技术三板斧
1、背单词:CoCreateInstance(创建组件对象);QueryInterface(查询接口);ComPtr(安全指针); HRESULT(接口函数返回值类型); CLSID(唯一编号)
2、Com技术的两大核心思想:
-
接口: 为什么要搞个接口这玩意出来?C++的类把数据和操作数据的函数组织到了一起,形成了“对象”这个概念;但在使用中,懒惰的人们又发现我们调用一个对象时,往往只关心对象的一小部分功能; 说是我们在调用一个对象的功能,其实我们只关心我们需要调用的功能。C++时代,在编写大型程序时,其实已经有技艺高超的架构设计师使用了自己的解决办法,即设计适量的“纯虚基类”做为模块间调用的协议。在Com体系中,则强化了这种做法,Com组件对于C++的对象,Com接口则对于C++的纯虚类;Com系统要求,组件之间的调用只能通过接口实现。一个接口往往是一组相关的功能函数的集合, 一个组件可以有支持多个接口,不同组件可以支持同一个接口,如,飞机组件支持IFLy接口,鸟儿组件也支持IFLy接口,则代码这两个组件对象都拥有飞的能力。 我们利用IFLy接口控制飞机对象时,只需要知道飞机飞行的功能(即IFLy中的接口函数),而不需要知道飞机对象的其他复杂功能(加油、维护等等),而且这些功能你要不懂最好不要操