CoGetClassObject

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


	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?)

	There is another problem. It's with the TypeLib information in the
IKernel.exe that comes with InstallShield v6. The TypeLib information is
encoded somehow, any ideas? I was able to get around that problem
because installshield also looks for type information in "ikernel.tlb" .
So I was able to create a .tlb that worked. I also used the reaktivate
typelib patch so the typelib info gets put into the registry. 

	So the way I understand it is that when CoGetClassObject is called Wine
is suppose to , in this case, execute IKernel.exe . Then IKernel.exe
will CoRegisterClassObject on all needed objects .. One problem is that
the registered class object list isn't shared between the two processes,
so we would need to move that list into the wine server (Right?) .. Then
we would also need to send an instance of the class object to the Wine
server (Yeah??) .. Following that road seems to lead to some messy
address translations for DLL's and whatever else..

	Since we have complete control over how IKernel.exe is run, how would
we get the two processes to share memory? Maybe have IKernel.exe execute
in a thread? IKernel.exe doesn't do anything but register it's class
objects .. Would it be possible to treat IKernel.exe as a DLL then run
CoRegisterClassObject for it?

							Daniel Walker




More information about the wine-devel mailing list