Added RtlFreeHeap and RtlSetHeapInformation APIs

This commit is contained in:
Cube
2021-01-06 14:37:10 -05:00
parent 95c74311f2
commit de5bda0d19
2 changed files with 24 additions and 4 deletions
+20
View File
@@ -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);
+4 -4
View File
@@ -77,7 +77,7 @@ static DWORD WINAPI GetModuleFileNameA(HANDLE hModule, PCHAR lpFilename, DWORD n
{
DebugLog("%p, %p, %u", hModule, lpFilename, nSize);
strncpy(lpFilename, "fakename.exe", nSize);
strncpy(lpFilename, "C:\\dummy\\fakename.exe", nSize);
return strlen(lpFilename);
}
@@ -86,11 +86,11 @@ static DWORD WINAPI GetModuleFileNameW(HANDLE hModule, PWCHAR lpFilename, DWORD
{
DebugLog("%p, %p, %u", hModule, lpFilename, nSize);
if (nSize > strlen("fakename.exe")) {
memcpy(lpFilename, L"fakename.exe", sizeof(L"fakename.exe"));
if (nSize > strlen("C:\\dummy\\fakename.exe")) {
memcpy(lpFilename, L"C:\\dummy\\fakename.exe", sizeof(L"C:\\dummy\\fakename.exe"));
}
return strlen("fakename.exe");
return strlen("C:\\dummy\\fakename.exe");
}
static HANDLE WINAPI GetModuleHandleA(PCHAR lpModuleName)