-
Notifications
You must be signed in to change notification settings - Fork 0
/
global.h
55 lines (46 loc) · 1.24 KB
/
global.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#pragma once
#include <Windows.h>
#if !defined(_DEBUG)
#define MINICRT_BUILD
#endif
#include "minicrt\minicrt.h"
typedef struct __UNICODE_STRING_
{
USHORT Length;
USHORT MaximumLength;
PWSTR Buffer;
} UNICODE_STRING;
typedef UNICODE_STRING* PUNICODE_STRING;
typedef LPVOID (WINAPI* HeapAlloc_)(
HANDLE hHeap,
DWORD dwFlags,
SIZE_T dwBytes
);
typedef LPVOID (WINAPI* HeapReAlloc_)(
HANDLE hHeap,
DWORD dwFlags,
LPVOID lpMem,
SIZE_T dwBytes
);
typedef BOOL (WINAPI* HeapFree_)(
HANDLE hHeap,
DWORD dwFlags,
LPVOID lpMem
);
typedef HANDLE (WINAPI* HeapCreate_)(
DWORD flOptions,
SIZE_T dwInitialSize,
SIZE_T dwMaximumSize
);
typedef BOOL (WINAPI* HeapDestroy_)(
HANDLE hHeap
);
typedef void (WINAPI* ExitProcess_)(
UINT uExitCode
);
extern HeapAlloc_ pHeapAlloc;
extern HeapReAlloc_ pHeapReAlloc;
extern HeapFree_ pHeapFree;
#define MemAlloc(Size) pHeapAlloc(hHeap, HEAP_ZERO_MEMORY, Size);
#define MemReAlloc(Buffer, NewSize) pHeapReAlloc(hHeap, HEAP_ZERO_MEMORY, Buffer, NewSize)
#define MemFree(Buffer) pHeapFree(hHeap, 0, Buffer);