COM,魔鬼的艺术

COM,魔鬼的艺术。
真实不好意思,一不小心转到了COM这里。COM的工作方式跟计算机芯片或LEGO块的工作方式类似,互相拼接,然后工作。
我对COM是没有一点点了解了,只知道大多数的COM就是DLL。COM对象提供给用户大量的界面,它算是一个用C++集成出来的类。
当然提供界面也就是为了让大量的用户都能够使用了,提高了代码的重用性,其实更重要的一个应该是为无条件升级提高了效率。
呵呵,在这里虚函数也就派上了用场。
QUERYINTERFACE()对于COM来所非常重要,他是用来申请一个指向你所希望的界面函数的指针。要实现该请求,需要一个界面标识符。
这个标识符是唯一的指定给界面的数字,长度是128位。我想你应该知道能定义多少可能的界面标识符了吧。据说这样的工作让地球上所有的人一起
来做,也要花上1亿年(那也做不完,没人去种田,中间都饿死了,呵呵)。
COM的规则是:如果已经存在了一个界面的话,可以一直从该界面中申请其他的界面,条件是该界面来自于同一个COM对象。
ASSREF是一个古怪的函数,COM对象使用参数计数的技术来跟踪它们的情况。这是由COM的一个声明决定的:该技术和编程语言无关。
如果COM对象使用MALLOC()活着NEW[]函数的话,那就和C/C++语言有关了。当该引用计数递减到0的话,该对象就在函数内部消失。
COM对象是和COM对象兼容的。
以一个次序创建对象,以相反的顺序释放对象。GUID跟IID都可以用来引用COM对象跟他的界面。
DIRECTX,OLE,ACTIVEX都是基于COM技术的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值