博客日历
2025年07月 | ||||||
一 | 二 | 三 | 四 | 五 | 六 | 七 |
30 | 1 | 2 | 3 | 4 | 5 | 6 |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 | 31 | 1 | 2 | 3 |
存档
2025年03月 2024年
03月 04月 05月 2021年
01月 02月 11月 12月 2020年
02月 03月 04月 05月 06月 07月
09月 2018年
09月 2017年
01月 02月 07月 2016年
01月 04月 07月 08月 11月 12月
2015年
01月 02月 03月 05月 09月 10月
11月 2014年
01月 02月 03月 04月 05月 06月
07月 08月 09月 10月 11月 12月
2013年
01月 02月 03月 04月 05月 06月
07月 08月 09月 10月 11月 12月
2012年
01月 02月 03月 04月 05月 06月
07月 08月 09月 10月 11月 12月
2011年
01月 02月 03月 04月 05月 06月
07月 08月 09月 10月 11月 12月
2010年
01月 02月 03月 04月 05月 06月
07月 08月 09月 10月 11月 12月
2009年
03月 04月 05月 06月 07月 08月
09月 10月 11月 12月
COM.1 COM编程简介
COM是Component Object Model (组件对象模型)的缩写,它是微软提出的组件化软件软件模型(官方站点:http://www.microsoft.com/com),目前已在Windows平台下广泛应用。
COM提供了一个组件与应用程序、其它组件之间通信的规范,该规范与编程语言和操作系统无关,就是说COM是二进制兼容的,它具有进程透明和可重用的特性。所谓进程透明说的不专业点,就是调用者看不出来组件运行在哪儿(本进程或者其他独立进程中)。可重用性是指COM对象的包容和聚合特性。
在COM规范中,要求接口必须满足规定的内存模型,且必须从IUnknown接口派生,IUnknown接口主要提供接口查询功能。为了准确的控制COM对象的生存期,IUnknown接口还实现了引用计数功能。
在系统中,COM对象使用GUID和ProgId作为标识,并保存在Windows注册表的HKEY_CLASSES_ROOT\CLSID分支下。
在编程时,接口的定义使用专门的IDL语言来描述,这便于实现COM的语言无关性,当然,VC++的向导功能会自动为我们生成接口定义的 IDL文件。
无论是MFC或者ATL都提供了对COM编程的支持(ATL无疑是更好的选择),在不彻底理解COM本质的前提下,仍然可以设计出强大的COM组件。
上一篇: COM.3 用VC++生成接口的COleDispatchDriver包装类来调用COM组件
下一篇: COM.5 COM学习之不使用框架(ATL或MFC)创建COM组件
分类:Win32/C++ 查看次数:6076 发布时间:2009/6/15 23:49:46