ovek at arcticnet.no
Tue Apr 22 10:39:41 CDT 2003
tir, 22.04.2003 kl. 06.02 skrev Alexandre Julliard:
> Ove Kaaven <ovek at arcticnet.no> writes:
> > The oaidl_p.c is almost unmodified MIDL output generated from Wine's
> > oaidl.idl (I only had to add an #undef __WINE__ at the top to get all
> > the Winelib definitions, perhaps this isn't needed under Wine anymore),
> > so it shouldn't be hard to maintain, and Alexandre once said MIDL output
> > is acceptable as a stopgap solution. I don't know if proper
> > InstallShield repaint support calls for stopgaps, though.
> One problem is that this code causes hundreds of warnings, and I don't
> think that's acceptable (it also fails to link but that could be fixed
> by adding a few stubs).
Hmm, the stub functions in usrmarshal.c was enough for me when I tried.
What stubs are missing?
And yeah, I know it causes a lot of warnings, but I thought that it
might be a reasonable tradeoff since it won't stay there forever.
> We could fix the warnings manually but that
> will cause obvious maintenance problems. How far are we from being
> able to generate that with widl?
Not all that close I'm afraid. I think it might be easiest to make widl
emit stubless (rpcrt4-interpreted bytecode) marshallers than the
old-fashioned inline marshallers (hardcoded function tables, which look
like a nightmare to generate), but wine's dlls/rpcrt4/ndr_stubless.c is
still just a stub... so the bytecode interpreter would have to be
implemented also (but of course that has to be done eventually anyway,
stubless proxies are better according to MS, so many apps will use
them). It'll probably take a few weeks for me at least, since the stuff
I do have works, and thus its priority is lower... but I can try if
you're willing to wait a bit.
More information about the wine-devel