Question about libwine_unicode functions and others in WINE

Jonathan Wilson jonwil at tpgi.com.au
Mon Dec 1 22:04:59 CST 2003


ReactOS uses linker magic.
My point is that there is no valid reason for the WINE code in kernel32 not 
to use RtlAllocateHeap since the WINE kernel32 code is only intended to run 
on ReactOS (where RtlAllocateHeap is available) and WINE (where 
RtlAllocateHeap is available). Therefore, re-writing wine kernel32 to call 
RtlAllocateHeap instead of HeapAlloc and perhaps changing WINE to do the 
linker forwarding foo (if such a thing is possible) is a good solution.

Other parts of the code in both ReactOS and WINE (dlls, tests or whatever 
else may be run on windows 9x) can just pull in kernel32.HeapAlloc like any 
other windows app would.

As for libwine_unicode, I havent looked but I suspect that on real windows, 
most of what libwine_unicode does is inside ntdll.dll somewhere. Therefore, 
lets put the libwine_unicode code into wine ntdll.dll, add the forwarding 
hooks needed from kernel32.dll that call ntdll.dll and then make WINE apps 
call kernel32.dll instead of libwine_unicode.
Problem solved, plus its how MS does things AFAIK (which is always IMO the 
way that WINE and/or ReactOS should do things)





More information about the wine-devel mailing list