template<typename _InterfaceType> HRESULT QueryInterface ( const IID& iid,
_InterfaceType*& p ) throw ( );
template<typename _InterfaceType> HRESULT QueryInterface ( const IID& iid,
_InterfaceType** p) throw( );
In reality, I'm unable to use the second form because if I have
IDebugApplication **ppda;
then
_COM_SMARTPTR_TYPEDEF(IDebugApplication, __uuidof(IDebugApplication));
IDebugApplicationPtr debug_application_ptr;
debug_application_ptr.QueryInterface(IID_IDebugApplication, ppda);
produces an error (error C2667: 'QueryInterface' : none of 2 overload have a
best conversion), presumably because IDebugApplication ** can be converted
to IUnknown ** implicitly.
Does anyone has other experience with this? Thanks!
--
Yours,
Konstantine Smaguine
GSB Computing Services
nos...@gsb.uchicago.edu
replace nospam with firstname.lastname to get my e-mail address
then:
debug_application_ptr.QueryInterface(IID_IDebugApplication, &pda);
or
debug_application_ptr.QueryInterface(IID_IDebugApplication, pda);
BTW, you usually ask for another interface here...
--
===============================
Alexander Nickolov, MCP
Panasonic Technologies Inc.
Speech Technology Laboratory
email: agnic...@geocities.com
===============================
Konstantine Smaguine wrote in message ...
--
Yours,
Konstantine Smaguine
GSB Computing Services
nos...@gsb.uchicago.edu
replace nospam with firstname.lastname to get my e-mail address
Alexander Nickolov wrote in message ...