Click to See Complete Forum and Search --> : CComVariant


George2
April 4th, 2008, 05:30 AM
Hello everyone,


In the book ATL Internals, here is the description for CComVariant. My questions,

--------------------
COM permits an object to hand out different binary values each time a client queries it for a specific interface pointer (with the exception of a query for the IUnknown interface). Therefore, two VARIANTs containing IDispatch pointers referencing the same object might not compare for equality.
--------------------

1.

I think it means even if the pointer binary values are different, they may still be pointed to the same object? Right?

I think it happens only in the situation of multiple inheritance, and in single inheritance, there is no such issue. Right?

2.

I think the above statement describes the following scenario, in multiple inheritance, suppose we have interface A inherits from IDispose, and interface B inherits from IDispose, and have inteface C inherits from both A and B.

The queryInterface for A and B from interface C will return different result.


thanks in advance,
George