> The clsid part was no problem; CLSIDFromProg() gave me that.
> CCI /also/ needs an IID of the interface to retrieve, so that is where
> _uuidof(xxx) came in - I just got confused about what should have got
> in it, since it really isn't clear from the .tlh file (unless you know
> what you're looking at).
The parameter to _com_ptr_t::CreateInstance( ) is a CLSID, not an IID.
_com_ptr_t already has the IID when you declare it. It's a template
parameter for this class.
I think if you has implemented the server in ATL, all this was far less
confusing that it is currently.
> > Something else: in your COM server, you may have either
> created a dual
> > interface, or a pure IDispatch interface. A dual interface is an
> > interface
>
> > A pure IDispatch interface is defined like this in the IDL:
> >
> > [ ... ] dispinterface IFoo {};
>
> It was a pure IDispatch interface.
That's no good really. You're much better off with a dual interface. I
don't remember how hard is making a dual interface in MFC, but in ATL you
almost get it for free. That's another reason why to use ATL.
-------------
Ehsan Akhgari
Farda Technology (www.farda-tech.com)
List Owner: [EMAIL PROTECTED]
[ Email: [EMAIL PROTECTED] ]
[ WWW: http://www.beginthread.com/Ehsan ]
'I generally take life as it comes my way', said Death.