Re: can event handler call event source passed as connection point parameter?
This is a pure dispinterface, so DispInvoke is not involved.
What you get is the client's implementation of IDispatch for
the sink (for example IDispEvent[Simple]Impl). My point was
that the VARIANT argument only contains IDispatch* after
marshaling. If this dispatching layer does QI afterwards is
another matter. Apparently in the OP's case this translation
layer doesn't do that.
--
=====================================
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:eskaJWd5GHA.4476@TK2MSFTNGP04.phx.gbl...
"Alexander Nickolov" <agnickolov@mvps.org> wrote in message
news:uzZdYsa5GHA.5072@TK2MSFTNGP05.phx.gbl
IServer is only a convenience in the type library and doesn't
happen in practice. What you get is IDispatch*, which after
marshaling is _only_ IDispatch* - no extra methods in the
vtable. You need to QI to get a full-fledged IServer vtable.
Shouldn't DispInvoke query for IServer if the type info says that's what
the parameter should be?
--
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