--- Jonathan Wilson <[EMAIL PROTECTED]> 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/
