【问题标题】:Is there a way to tell whether two COM interface references point at the same instance?有没有办法判断两个 COM 接口引用是否指向同一个实例?
【发布时间】:2008-11-28 20:39:25
【问题描述】:

给定从不同来源获得的两个接口引用。有没有一种编程方式来判断它们是否由同一个实例实现?

接口引用的简单相等性检查总是失败。


编辑:原来问题的大部分,原来是一个独立的问题,现在已移至a new question

【问题讨论】:

    标签: com identity com-interface


    【解决方案1】:

    您可以查询 IUnknown 接口并比较这些指针。不保证所有其他接口指针每次都返回相同的值。

    来自The Rules of the Component Object Model

    对象标识。要求对特定接口 IUnknown 的给定对象实例的任何接口上的任何 QueryInterface 调用必须始终返回相同的物理指针值。这允许在任意两个接口上调用 QueryInterface(IID_IUnknown, ...) 并比较结果以确定它们是否指向对象的同一实例(相同的 COM 对象标识)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-09-24
      • 2017-02-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-07
      相关资源
      最近更新 更多