winmm 16/32 code split

Alexandre Julliard julliard at
Tue Oct 15 22:31:56 CDT 2002

Eric Pouech <eric.pouech at> writes:

> 2/ from 32 bit code, call a wrapper for the 16 bit call, with an extra
>    parameter compared to the standard ioProc (the segmented address of
>    callback). It's what is done in user32/ddeml. However, to let the
>    16 bit DLL to be splitted, the wrapper function must called thru
>    a pointer (the 16 bit library would initialize this pointer if it's
>    loaded, as you suggested before).
> sorry for making this discussion so long, but I'd prefer there's an 
> agreement and a clear scheme defined so that it can be safely applied
> across all DLLs. There are lots of ways for doing it, but it's better
> we select a few of them. It'll be easier to maintain.

Definitely. I think the SetAbortProc method is the easiest so we
should use that where possible; but clearly there are cases like mmio
where it's not enough. In these cases I'd suggest your method 2/, it's
cleaner than generating code on the fly or adding private information
in Windows structures.

Alexandre Julliard
julliard at

More information about the wine-devel mailing list