InitThreadInput16
Alexandre Julliard
julliard at winehq.com
Fri Sep 27 12:06:23 CDT 2002
"Dimitrie O. Paun" <dpaun at rogers.com> writes:
> This DLL stuff is a bit confusing. In dlls/user/user32.spec we have
>
> 409 pascal16 InitThreadInput(word word) InitThreadInput16
>
> so the exported name is InitThreadInput, right?
No, that line is not in user32.spec, it's in user.exe.spec which is
the 16-bit one. 16-bit functions cannot be imported from other dlls
since this would require calling down to 16-bit which we want to
avoid. So that InitThreadInput export is only available for 16-bit
binaries, not for Winelib dlls.
> Then how come in ./dlls/x11drv/desktop.c we call it like so:
>
> win->hmemTaskQ = InitThreadInput16( 0, 0 );
>
> Shouldn't this yield an error?
It should, but to work around it we have added an InitThreadInput16
export in user32.spec; this time it's a normal 32-bit export so it can
be used from other dlls. This is really a hack because Windows doesn't
do it like this of course.
--
Alexandre Julliard
julliard at winehq.com
More information about the wine-devel
mailing list