diff options
Diffstat (limited to 'peloader/winapi/Heap.c')
-rw-r--r-- | peloader/winapi/Heap.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/peloader/winapi/Heap.c b/peloader/winapi/Heap.c index d34bf07..5747232 100644 --- a/peloader/winapi/Heap.c +++ b/peloader/winapi/Heap.c @@ -51,6 +51,15 @@ STATIC BOOL WINAPI HeapFree(HANDLE hHeap, DWORD dwFlags, PVOID lpMem) return TRUE; } +STATIC BOOL WINAPI RtlFreeHeap(PVOID HeapHandle, ULONG Flags, PVOID BaseAddress) +{ + DebugLog("%p, %#x, %p", HeapHandle, Flags, BaseAddress); + + free(BaseAddress); + + return TRUE; +} + STATIC SIZE_T WINAPI HeapSize(HANDLE hHeap, DWORD dwFlags, PVOID lpMem) { return malloc_usable_size(lpMem); @@ -105,6 +114,15 @@ STATIC PVOID WINAPI RtlAllocateHeap(PVOID HeapHandle, return malloc(Size); } +STATIC NTSTATUS WINAPI RtlSetHeapInformation(PVOID Heap, + HEAP_INFORMATION_CLASS HeapInformationClass, + PVOID HeapInformation, + SIZE_T HeapInformationLength) +{ + DebugLog("%p, %d", Heap, HeapInformationLength); + return 0; +} + STATIC PVOID WINAPI GlobalAlloc(UINT uFlags, SIZE_T uBytes) { PVOID Buffer = malloc(uBytes); @@ -126,6 +144,8 @@ DECLARE_CRT_EXPORT("HeapCreate", HeapCreate); DECLARE_CRT_EXPORT("GetProcessHeap", GetProcessHeap); DECLARE_CRT_EXPORT("HeapAlloc", HeapAlloc); DECLARE_CRT_EXPORT("HeapFree", HeapFree); +DECLARE_CRT_EXPORT("RtlFreeHeap", RtlFreeHeap); +DECLARE_CRT_EXPORT("RtlSetHeapInformation", RtlSetHeapInformation); DECLARE_CRT_EXPORT("HeapSize", HeapSize); DECLARE_CRT_EXPORT("HeapReAlloc", HeapReAlloc); DECLARE_CRT_EXPORT("LocalAlloc", LocalAlloc); |