Hi,
I would be grateful if someone would help me with a vTable question?
If an object exposes 2 duel interfaces would the vTables be laid out like this?
IUnknown
QueryInterface
AddRef
Release
IDispatch
QueryInterface
AddRef
Release
GetTypeInfoCount
GetTypeInfo
GetIDsOfNames
Invoke
_cClass1
QueryInterface
AddRef
Release
GetTypeInfoCount
GetTypeInfo
GetIDsOfNames
Invoke
Class1_Method1
Class1_Method2
_cClass2
QueryInterface
AddRef
Release
GetTypeInfoCount
GetTypeInfo
GetIDsOfNames
Invoke
Class2_Method1
Class2_Method2
Dan Appleman has an illustration of an object exposing 2 interfaces.
He has each one with a representation of its own IDispatch, but only one
implementation of IUnknown.
Example
IUnknown
IDispatch for _cClass1
_cClass1
IDispatch for _cClass2
_cClass2
Why 2 IDispatches? Would the vTables for this look like the ones above with an extra Idispatch?
Thanks for any help you can give!
![]()
![]()





Reply With Quote