2
給定從不同來源獲得的兩個接口引用。是否有程序化的方式來判斷它們是否由同一實例實現?有沒有辦法判斷兩個COM接口引用是否指向同一個實例?
接口引用的簡單相等檢查總是失敗。
編輯:原來的問題,這竟然是一個獨立的問題,大部分地區現在已轉移到a new question。
給定從不同來源獲得的兩個接口引用。是否有程序化的方式來判斷它們是否由同一實例實現?有沒有辦法判斷兩個COM接口引用是否指向同一個實例?
接口引用的簡單相等檢查總是失敗。
編輯:原來的問題,這竟然是一個獨立的問題,大部分地區現在已轉移到a new question。
您可以查詢IUnknown接口並比較這些指針。所有其他接口指針不保證每次都返回相同的值。
從The Rules of the Component Object Model:
對象的身份。對於特定接口IUnknown的給定對象實例,在任何接口上對QueryInterface的任何調用都必須始終返回相同的物理指針值。這使得可以在任何兩個接口上調用QueryInterface(IID_IUnknown,...)並比較結果以確定它們是否指向對象的同一實例(同一個COM對象標識)。