有没有办法判断是否两个COM界的参考点在同一个实例?
-
11-07-2019 - |
题
鉴于两个接口参考文献获得的,从不同的来源。是否有一个方案的方式来告诉他们是否正在实现的同样的实例?
一个简单的平等检查的界面引用总是失败。
编辑: 大部分原来的问题,这竟然是一个独立的问题现已转移到 一个新的问题.
解决方案
您可以查询IUnknown接口,并比较这些指针。所有其他的接口指针不能保证每次返回相同的值。
这组件对象模型的规则:
<强>对象的身份。强>这是要求的QueryInterface到任何呼叫的任何界面上的特定接口的IUnknown给定对象实例必须总是返回相同的物理指针值。这使得能够在任何两个接口调用的QueryInterface(IID_IUnknown,...)并比较结果,以确定它们是否指向一个对象的同一实例(相同的COM对象同一性)。
不隶属于 StackOverflow