Question about libwine_unicode functions and others in WINE
Steven Edwards
steven_ed4153 at yahoo.com
Mon Dec 1 19:35:48 CST 2003
--- Jonathan Wilson <jonwil at tpgi.com.au> wrote:
> No, thats not brain damaged.
> Thats the way Microsoft does things. (at least on XP)
> HeapAlloc doesnt exist at all, all it is is a forwarder to NTDLL.
> Therefore, all the code in kernel32 should just call RtlAllocateHeap.
> Given that kernel32.dll is very much linked to ReactOS and wont run
> anywhere else there should be no problem.
Its already implemented in Wine ntdll. It was my mistake. BTW: Do they
forward it by linker magic like we did on ReactOS or did they do it
inline like in Wine?
http://cvs.winehq.com/cvsweb/wine/dlls/kernel/heap.c?rev=1.4&content-type=text/x-cvsweb-markup
/* These are needed so that we can call the functions from inside
kernel itself */
LPVOID WINAPI HeapAlloc( HANDLE heap, DWORD flags, SIZE_T size )
{
return RtlAllocateHeap( heap, flags, size );
}
BOOL WINAPI HeapFree( HANDLE heap, DWORD flags, LPVOID ptr )
{
return RtlFreeHeap( heap, flags, ptr );
}
LPVOID WINAPI HeapReAlloc( HANDLE heap, DWORD flags, LPVOID ptr, SIZE_T
size )
{
return RtlReAllocateHeap( heap, flags, ptr, size );
}
SIZE_T WINAPI HeapSize( HANDLE heap, DWORD flags, LPVOID ptr )
{
return RtlSizeHeap( heap, flags, ptr );
}
I am just going to add this code to ReactOS in kernel32 and then its
"problem solved". Wine can still attempt to run what ever dll/program
under Win9x for testing that calls HeapAlloc and we dont have to make
changes to all of the Wine sources.
Thanks
Steven
__________________________________
Do you Yahoo!?
Free Pop-Up Blocker - Get it now
http://companion.yahoo.com/
More information about the wine-devel
mailing list