only specify IUnknown/IDispatch interfaces. Then I have a suggestion:
Correct. The code before that could certainly perform QI,
but apparently it doesn't. It's be an overkill if it did - essentially
replicating the work of DispCallFunc.
I believe a pure dispinterface can only accept IDispatch and
IUnknown pointers by definition, and specifying a derived
interface in IDL instead is only syntactic sugar. After all, the
dispinterface is the implemenation of IDispatch, not the class
methods it calls within, which are implementation-specific.
--
=====================================
Alexander Nickolov
Microsoft MVP [VC], MCSD
email: agnickolov@mvps.org
MVP VC FAQ: http://www.mvps.org/vcfaq
=====================================
"Igor Tandetnik" <itandetnik@mvps.org> wrote in message
news:%23WEdhKx5GHA.940@TK2MSFTNGP03.phx.gbl...
Alexander Nickolov <agnickolov@mvps.org> wrote:
This is a pure dispinterface, so DispInvoke is not involved.
Ah, I see. For some reason I thought IDispEvent[Simple]Impl uses
DispInvoke, but in fact it uses DispCallFunc which does not have access
to
type info, but only to VARTYPE constants.
--
With best wishes,
Igor Tandetnik
With sufficient thrust, pigs fly just fine. However, this is not
necessarily a good idea. It is hard to be sure where they are going to
land, and it could be dangerous sitting under them as they fly
overhead. -- RFC 1925