博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2009年6月2日

摘要: 故事起源于我移植V8到IE中的过程,在CSDN论坛上也发现不少问此问题的人,所以特地整理一篇文章来解释这个问题。这个问题本来是一个非常简单的问题,COM指针也是指针,既然是指针,只要它们的值相同,就表示它们指向相同的COM对象,如果不同则表示不同对象。假设要写一个判断函数的情况下,表示成这样:bool is_com_equal(IUnknown* unk1, IUnknown* unk2){ return unk1==unk2;}这种判断方法在绝大多数情况下正确,但仅仅是绝大多数,还有极少数情况下判断会失效,尤其在同一个对象有两个不同指针的情况下。什么情况呢?代理对象。微软的很多产品大量使用. 阅读全文

posted @ 2009-06-02 11:38 一桶浆糊 阅读(999) 评论(0) 推荐(0) 编辑