Marshalling tutorial

Marcus Meissner marcus at jet.franken.de
Thu Jul 15 15:45:46 CDT 2004


> In the case of InstallShield, it actually comes with typelibs for all
> the interfaces it needs to marshal (fixme: is this right?), but they
> actually use a mix of MIDL and typelib marshalling. In order to cover up
> for the fact that we don't really use RPC they're all force to go via
> the typelib marshaller - that's what the 1 || hack is for and what the
> "Registering non-automation type library!" warning is about (I think).


Yes, correct. I don't remember the interface, but I think its IDispatch
or something.

Thats why we need stdole32.tlb, it has the 2 or 3 core interface typelibs
we need for marshalling all the InstallShield interfaces.


> Then there's a bunch of stuff I still don't understand, like ICallFrame,
> interface pointer swizzling, exactly where and how all this stuff is
> actually implemented and so on.

Pretty much sums up what I would say :)
Thanks for writing this, Mike!

Ciao, Marcus



More information about the wine-devel mailing list