Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/taviso/loadlibrary.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'peloader/winapi/Heap.c')
-rw-r--r--peloader/winapi/Heap.c20
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);