CoGetClassObject

Daniel Walker diwalker at earthlink.net
Thu Jul 19 13:57:17 CDT 2001


Ove Kaaven wrote:
> 
> On Thu, 19 Jul 2001, Daniel Walker wrote:
> 
> >       I was thinking of ways to get the CLSCTX_LOCAL_SERVER option working in
> > wine. The only program that uses it , that I know of, is installshield
> > v6 .. I pretty sure some other people are working on this, but I don't
> > know that status. (Anyone care to update me?)
> 
> I'm working on it. In my tree, CoGetClassObject successfully launches
> ikernel.exe and establishes an IPC connection to it, and queries it for
> the CLSID that installshield wants. That works fine, but that's just the
> easy part. Currently the service process (ikernel.exe) can't yet send a
> reply, since interface marshalling is not quite implemented yet...
> and I'm not entirely sure how typelibs work yet, and how to retrieve the
> typelib info for a CLSID.

	I had to use a separate "ikernel.tlb" to get Wine to read the type
information. It couldn't get it from the ikernel.exe because I think
it's encoded somehow (unicode, MultiByte??). It doesn't have the magic
MSFT as the first four bytes.. Wine seems to read all the type
information correctly ..


	So then in CoGetClassObject you would create and return a dummy object
that would act like the actual interface the program is looking for.
Then the dummy object would accept parameters, do the marshaling, and
make the IPC request to the Local Server?

					Daniel Walker




More information about the wine-devel mailing list