> > You can call them in C, use the normal API to get an interface and then
> > use the IInterface_Xyz() functions (found in include/wine/obj_*.h) to
> > access the interfaces.
> IMO the windows API is not a normal API :-). I take it there is some
> function named approximately "GetInterface"? Well, maybe another pass
> through the headers and --debugmsg +storage traces will root it out, now
> I have some beginning of an idea.
Hi Lawson,
What you want to use is the function call CoCreateInstance(),
with the CLSID (Class identifier) for your desired object (which
is registered in the registry) and the refid for the interface
you want. (Could be IID_IUNKNOWN, then you can QueryInterface for
anything else) You will get back a interface pointer, which
you can use in conjunction with macros defined in the header
files that Marcus was mentioning, such as IUnknown_QueryInterface().
You can also use CoGetClassObject() to get the class factory and
get your COM interfaces that way.
This stuff is all documented in MSDN, but you might
also want to check out "Inside COM" by Dale Rogerson,
Microsoft Press, for an intro look at all things COM.
"Inside OLE" by Kraig Brockschmidt is also an excellent read,
and it is free on MSDN. I'm sure other people on
this list can recommend other books as well.
Good luck!
-James
--
James Hatheway
Software Designer - Macadamian Technologies, Inc.
[EMAIL PROTECTED] ~ http://www.macadamian.com
"Nothing is a problem once you debug the code."