"Dimitrie O. Paun" <[EMAIL PROTECTED]> 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 [EMAIL PROTECTED]