CommonLibSSE (powerof3)
Loading...
Searching...
No Matches
KERNEL32.h
Go to the documentation of this file.
1#pragma once
2
3#include "REX/W32/BASE.h"
4
5namespace REX::W32
6{
7 // standard access
8 inline constexpr auto STANDARD_RIGHTS_REQUIRED{ 0x000F0000 };
9 inline constexpr auto STANDARD_RIGHTS_ALL{ 0x001F0000 };
10
11 // code page identifiers
12 inline constexpr auto CP_UTF8{ 65001u };
13
14 // memory allocation types
15 inline constexpr auto MEM_COMMIT{ 0x00001000u };
16 inline constexpr auto MEM_RESERVE{ 0x00002000u };
17 inline constexpr auto MEM_DECOMMIT{ 0x00004000u };
18 inline constexpr auto MEM_RELEASE{ 0x00008000u };
19 inline constexpr auto MEM_FREE{ 0x00010000u };
20 inline constexpr auto MEM_RESET{ 0x00080000u };
21 inline constexpr auto MEM_RESET_UNDO{ 0x01000000u };
22
23 // memory page protection attributes
24 inline constexpr auto PAGE_NOACCESS{ 0x00000001u };
25 inline constexpr auto PAGE_READONLY{ 0x00000002u };
26 inline constexpr auto PAGE_READWRITE{ 0x00000004u };
27 inline constexpr auto PAGE_WRITECOPY{ 0x00000008u };
28 inline constexpr auto PAGE_EXECUTE{ 0x00000010u };
29 inline constexpr auto PAGE_EXECUTE_READ{ 0x00000020u };
30 inline constexpr auto PAGE_EXECUTE_READWRITE{ 0x00000040u };
31
32 // memory section
33 inline constexpr auto SECTION_QUERY{ 0x00000001 };
34 inline constexpr auto SECTION_MAP_WRITE{ 0x00000002 };
35 inline constexpr auto SECTION_MAP_READ{ 0x00000004 };
36 inline constexpr auto SECTION_MAP_EXECUTE{ 0x00000008 };
37 inline constexpr auto SECTION_EXTEND_SIZE{ 0x00000010 };
38 inline constexpr auto SECTION_MAP_EXECUTE_EXPLICIT{ 0x00000020 };
42
43 // file attributes
44 inline constexpr auto FILE_ATTRIBUTE_READONLY{ 0x00000001u };
45 inline constexpr auto FILE_ATTRIBUTE_HIDDEN{ 0x00000002u };
46 inline constexpr auto FILE_ATTRIBUTE_SYSTEM{ 0x00000004u };
47 inline constexpr auto FILE_ATTRIBUTE_DIRECTORY{ 0x00000010u };
48 inline constexpr auto FILE_ATTRIBUTE_ARCHIVE{ 0x00000020u };
49
50 // file mapping flags
51 inline constexpr auto FILE_MAP_ALL_ACCESS{ SECTION_ALL_ACCESS };
52 inline constexpr auto FILE_MAP_COPY{ 0x00000001u };
53 inline constexpr auto FILE_MAP_WRITE{ 0x00000002u };
54 inline constexpr auto FILE_MAP_READ{ 0x00000004u };
55 inline constexpr auto FILE_MAP_EXECUTE{ 0x00000020u };
56 inline constexpr auto FILE_MAP_LARGE_PAGES{ 0x20000000u };
57 inline constexpr auto FILE_MAP_TARGETS_INVALID{ 0x40000000u };
58 inline constexpr auto FILE_MAP_RESERVE{ 0x80000000u };
59
60 // file open mode flags
61 inline constexpr auto GENERIC_READ{ 0x80000000L };
62 inline constexpr auto GENERIC_WRITE{ 0x40000000L };
63 inline constexpr auto GENERIC_EXECUTE{ 0x20000000L };
64 inline constexpr auto GENERIC_ALL{ 0x10000000L };
65
66 // pe image header
67 inline constexpr auto IMAGE_DOS_SIGNATURE{ 0x5A4Du };
68 inline constexpr auto IMAGE_NT_SIGNATURE{ 0x00004550u };
69 inline constexpr auto IMAGE_NT_OPTIONAL_HDR32_MAGIC{ 0x10Bu };
70 inline constexpr auto IMAGE_NT_OPTIONAL_HDR64_MAGIC{ 0x20Bu };
71
72 // pe image directory entries
73 inline constexpr auto IMAGE_DIRECTORY_ENTRY_EXPORT{ 0u };
74 inline constexpr auto IMAGE_DIRECTORY_ENTRY_IMPORT{ 1u };
75 inline constexpr auto IMAGE_DIRECTORY_ENTRY_RESOURCE{ 2u };
76 inline constexpr auto IMAGE_DIRECTORY_ENTRY_EXCEPTION{ 3u };
77 inline constexpr auto IMAGE_DIRECTORY_ENTRY_SECURITY{ 4u };
78 inline constexpr auto IMAGE_DIRECTORY_ENTRY_BASERELOC{ 5u };
79 inline constexpr auto IMAGE_DIRECTORY_ENTRY_DEBUG{ 6u };
80 inline constexpr auto IMAGE_DIRECTORY_ENTRY_ARCHITECTURE{ 7u };
81 inline constexpr auto IMAGE_DIRECTORY_ENTRY_GLOBALPTR{ 8u };
82 inline constexpr auto IMAGE_DIRECTORY_ENTRY_TLS{ 9u };
83 inline constexpr auto IMAGE_DIRECTORY_ENTRY_LOAD_CONFIG{ 10u };
84 inline constexpr auto IMAGE_DIRECTORY_ENTRY_BOUND_IMPORT{ 11u };
85 inline constexpr auto IMAGE_DIRECTORY_ENTRY_IAT{ 12u };
86 inline constexpr auto IMAGE_DIRECTORY_ENTRY_DELAY_IMPORT{ 13u };
87 inline constexpr auto IMAGE_DIRECTORY_ENTRY_COM_DESCRIPTOR{ 14u };
88 inline constexpr auto IMAGE_NUMBEROF_DIRECTORY_ENTRIES{ 16u };
89
90 // pe image ordinal
91 inline constexpr auto IMAGE_ORDINAL_FLAG32{ 0x80000000u };
92 inline constexpr auto IMAGE_ORDINAL_FLAG64{ 0x8000000000000000ull };
93
94 // pe image section header characteristics
95 inline constexpr auto IMAGE_SCN_MEM_SHARED{ 0x10000000u };
96 inline constexpr auto IMAGE_SCN_MEM_EXECUTE{ 0x20000000u };
97 inline constexpr auto IMAGE_SCN_MEM_READ{ 0x40000000u };
98 inline constexpr auto IMAGE_SCN_MEM_WRITE{ 0x80000000u };
99 inline constexpr auto IMAGE_SIZEOF_SECTION_HEADER{ 40u };
100 inline constexpr auto IMAGE_SIZEOF_SHORT_NAME{ 8u };
101
102 // process creation flags
103 inline constexpr auto DEBUG_PROCESS{ 0x00000001u };
104 inline constexpr auto DEBUG_ONLY_THIS_PROCESS{ 0x00000002u };
105 inline constexpr auto CREATE_SUSPENDED{ 0x00000004u };
106 inline constexpr auto DETACHED_PROCESS{ 0x00000008u };
107 inline constexpr auto CREATE_NEW_CONSOLE{ 0x00000010u };
108 inline constexpr auto NORMAL_PRIORITY_CLASS{ 0x00000020u };
109 inline constexpr auto IDLE_PRIORITY_CLASS{ 0x00000040u };
110 inline constexpr auto HIGH_PRIORITY_CLASS{ 0x00000080u };
111 inline constexpr auto REALTIME_PRIORITY_CLASS{ 0x00000100u };
112 inline constexpr auto CREATE_NEW_PROCESS_GROUP{ 0x00000200u };
113 inline constexpr auto CREATE_UNICODE_ENVIRONMENT{ 0x00000400u };
114 inline constexpr auto CREATE_FORCEDOS{ 0x00002000u };
115 inline constexpr auto BELOW_NORMAL_PRIORITY_CLASS{ 0x00004000u };
116 inline constexpr auto ABOVE_NORMAL_PRIORITY_CLASS{ 0x00008000u };
117 inline constexpr auto INHERIT_PARENT_AFFINITY{ 0x00010000u };
118 inline constexpr auto CREATE_PROTECTED_PROCESS{ 0x00040000u };
119 inline constexpr auto EXTENDED_STARTUPINFO_PRESENT{ 0x00080000u };
120 inline constexpr auto PROCESS_MODE_BACKGROUND_BEGIN{ 0x00100000u };
121 inline constexpr auto PROCESS_MODE_BACKGROUND_END{ 0x00200000u };
122 inline constexpr auto CREATE_SECURE_PROCESS{ 0x00400000 };
123 inline constexpr auto CREATE_BREAKAWAY_FROM_JOB{ 0x01000000u };
124 inline constexpr auto CREATE_PRESERVE_CODE_AUTHZ_LEVEL{ 0x02000000u };
125 inline constexpr auto CREATE_DEFAULT_ERROR_MODE{ 0x04000000u };
126 inline constexpr auto CREATE_NO_WINDOW{ 0x08000000u };
127
128 // locale map flags
129 inline constexpr auto LCMAP_LOWERCASE{ 0x00000100u };
130 inline constexpr auto LCMAP_UPPERCASE{ 0x00000200u };
131 inline constexpr auto LCMAP_TITLECASE{ 0x00000300u };
132 inline constexpr auto LCMAP_SORTKEY{ 0x00000400u };
133 inline constexpr auto LCMAP_BYTEREV{ 0x00000800u };
134 inline constexpr auto LCMAP_HIRAGANA{ 0x00100000u };
135 inline constexpr auto LCMAP_KATAKANA{ 0x00200000u };
136 inline constexpr auto LCMAP_HALFWIDTH{ 0x00400000u };
137 inline constexpr auto LCMAP_FULLWIDTH{ 0x00800000u };
138 inline constexpr auto LCMAP_LINGUISTIC_CASING{ 0x01000000u };
139 inline constexpr auto LCMAP_SIMPLIFIED_CHINESE{ 0x02000000u };
140 inline constexpr auto LCMAP_TRADITIONAL_CHINESE{ 0x04000000u };
141
142 // locale names
143 inline constexpr auto LOCALE_NAME_USER_DEFAULT{ nullptr };
144 inline constexpr auto LOCALE_NAME_INVARIANT{ L"" };
145 inline constexpr auto LOCALE_NAME_SYSTEM_DEFAULT{ L"!x-sys-default-locale" };
146}
147
148namespace REX::W32
149{
151 {
152 std::uint32_t virtualAddress;
153 std::uint32_t size;
154 };
155 static_assert(sizeof(IMAGE_DATA_DIRECTORY) == 0x8);
156
158 {
159 std::uint16_t magic;
160 std::uint16_t cblp;
161 std::uint16_t cp;
162 std::uint16_t crlc;
163 std::uint16_t cparhdr;
164 std::uint16_t minalloc;
165 std::uint16_t maxalloc;
166 std::uint16_t ss;
167 std::uint16_t sp;
168 std::uint16_t csum;
169 std::uint16_t ip;
170 std::uint16_t cs;
171 std::uint16_t lfarlc;
172 std::uint16_t ovno;
173 std::uint16_t res[4];
174 std::uint16_t oemid;
175 std::uint16_t oeminfo;
176 std::uint16_t res2[10];
177 std::int32_t lfanew;
178 };
179 static_assert(sizeof(IMAGE_DOS_HEADER) == 0x40);
180
182 {
183 std::uint16_t machine;
184 std::uint16_t sectionCount;
185 std::uint32_t timeDateStamp;
186 std::uint32_t symbolTablePtr;
187 std::uint32_t symbolCount;
188 std::uint16_t optionalHeaderSize;
189 std::uint16_t characteristics;
190 };
191 static_assert(sizeof(IMAGE_FILE_HEADER) == 0x14);
192
194 {
195 std::uint16_t hint;
196 char name[1];
197 };
198 static_assert(sizeof(IMAGE_IMPORT_BY_NAME) == 0x4);
199
201 {
202 union
203 {
204 std::uint32_t characteristics;
205 std::uint32_t firstThunkOriginal;
206 };
207
208 std::uint32_t timeDateStamp;
209 std::uint32_t forwarderChain;
210 std::uint32_t name;
211 std::uint32_t firstThunk;
212 };
213 static_assert(sizeof(IMAGE_IMPORT_DESCRIPTOR) == 0x14);
214
216 {
217 std::uint16_t magic;
218 std::uint8_t linkerVersionMajor;
219 std::uint8_t linkerVersionMinor;
220 std::uint32_t codeSize;
221 std::uint32_t initializedDataSize;
223 std::uint32_t entryPointAddress;
224 std::uint32_t codeBase;
225 std::uint64_t imageBase;
226 std::uint32_t sectionAlignment;
227 std::uint32_t fileAlignment;
228 std::uint16_t osVersionMajor;
229 std::uint16_t osVersionMinor;
230 std::uint16_t imageVersionMajor;
231 std::uint16_t imageVersionMinor;
234 std::uint32_t win32Version;
235 std::uint32_t imageSize;
236 std::uint32_t headersSize;
237 std::uint32_t checksum;
238 std::uint16_t subsystem;
239 std::uint16_t dllCharacteristics;
240 std::uint64_t stackReserveSize;
241 std::uint64_t stackCommitSize;
242 std::uint64_t heapReserveSize;
243 std::uint64_t heapCommitSize;
244 std::uint32_t loaderFlags;
245 std::uint32_t rvaAndSizesCount;
247 };
248 static_assert(sizeof(IMAGE_OPTIONAL_HEADER64) == 0xF0);
249
256 static_assert(sizeof(IMAGE_NT_HEADERS64) == 0x108);
257
259 {
261 union
262 {
263 std::uint32_t physicalAddress;
264 std::uint32_t virtualSize;
265 };
266 std::uint32_t virtualAddress;
267 std::uint32_t rawDataSize;
268 std::uint32_t rawDataPtr;
269 std::uint32_t relocationsPtr;
270 std::uint32_t lineNumbersPtr;
271 std::uint16_t relocationsCount;
272 std::uint16_t lineNumbersCount;
273 std::uint32_t characteristics;
274 };
275 static_assert(sizeof(IMAGE_SECTION_HEADER) == 0x28);
276
278 {
279 union
280 {
281 std::uint64_t forwarderString;
282 std::uint64_t function;
283 std::uint64_t ordinal;
284 std::uint64_t address;
285 };
286 };
287 static_assert(sizeof(IMAGE_THUNK_DATA64) == 0x8);
288
290 {
293 std::uint32_t allocationProtect;
294 std::uint16_t partitionID;
295 std::size_t regionSize;
296 std::uint32_t state;
297 std::uint32_t protect;
298 std::uint32_t type;
299 };
300 static_assert(sizeof(MEMORY_BASIC_INFORMATION) == 0x30);
301
303 {
304 std::uint32_t nlsVersionInfoSize;
305 std::uint32_t nlsVersion;
306 std::uint32_t definedVersion;
307 std::uint32_t effectiveID;
309 };
310 static_assert(sizeof(NLSVERSIONINFO) == 0x20);
311
313 {
314 void* process;
315 void* thread;
316 std::uint32_t processID;
317 std::uint32_t threadID;
318 };
319 static_assert(sizeof(PROCESS_INFORMATION) == 0x18);
320
322 {
323 std::uint32_t size;
325 char* desktop;
326 char* title;
327 std::uint32_t x;
328 std::uint32_t y;
329 std::uint32_t xSize;
330 std::uint32_t ySize;
331 std::uint32_t xCountChars;
332 std::uint32_t yCountChars;
333 std::uint32_t fillAttribute;
334 std::uint32_t flags;
335 std::uint16_t showWindow;
336 std::uint16_t reserved1;
337 std::uint8_t* reserved2;
338 void* stdIn;
339 void* stdOut;
340 void* stdErr;
341 };
342 static_assert(sizeof(STARTUPINFOA) == 0x68);
343
345 {
346 std::uint32_t size;
347 wchar_t* reserved0;
348 wchar_t* desktop;
349 wchar_t* title;
350 std::uint32_t x;
351 std::uint32_t y;
352 std::uint32_t xSize;
353 std::uint32_t ySize;
354 std::uint32_t xCountChars;
355 std::uint32_t yCountChars;
356 std::uint32_t fillAttribute;
357 std::uint32_t flags;
358 std::uint16_t showWindow;
359 std::uint16_t reserved1;
360 std::uint8_t* reserved2;
361 void* stdIn;
362 void* stdOut;
363 void* stdErr;
364 };
365 static_assert(sizeof(STARTUPINFOW) == 0x68);
366
368 {
369 union
370 {
371 std::uint32_t oemID;
372 struct
373 {
374 std::uint16_t processorArch;
375 std::uint16_t reserved;
376 };
377 };
378 std::uint32_t pageSize;
381 std::uintptr_t processorActiveMask;
382 std::uint32_t processorCount;
383 std::uint32_t processorType;
385 std::uint16_t processorLevel;
386 std::uint16_t processorRevision;
387 };
388 static_assert(sizeof(SYSTEM_INFO) == 0x30);
389
403 static_assert(sizeof(WIN32_FIND_DATAA) == 0x140);
404
406 {
407 std::uint32_t fileAttributes;
411 std::uint32_t fileSizeHi;
412 std::uint32_t fileSizeLo;
413 std::uint32_t reserved0;
414 std::uint32_t reserved1;
416 wchar_t fileNameAlt[14];
417 };
418 static_assert(sizeof(WIN32_FIND_DATAW) == 0x250);
419}
420
421namespace REX::W32
422{
423 using THREAD_START_ROUTINE = std::uint32_t(void* a_param);
424}
425
426namespace REX::W32
427{
428 bool CloseHandle(HANDLE a_handle) noexcept;
429 HANDLE CreateFileMappingA(HANDLE a_file, SECURITY_ATTRIBUTES* a_attributes, std::uint32_t a_protect, std::uint32_t a_maxSizeHigh, std::uint32_t a_maxSizeLow, const char* a_name) noexcept;
430 HANDLE CreateFileMappingW(HANDLE a_file, SECURITY_ATTRIBUTES* a_attributes, std::uint32_t a_protect, std::uint32_t a_maxSizeHigh, std::uint32_t a_maxSizeLow, const wchar_t* a_name) noexcept;
431 bool CreateProcessA(const char* a_name, char* a_cmd, SECURITY_ATTRIBUTES* a_procAttr, SECURITY_ATTRIBUTES* a_threadAttr, bool a_inheritHandles, std::uint32_t a_flags, void* a_env, const char* a_curDir, STARTUPINFOA* a_startInfo, PROCESS_INFORMATION* a_procInfo) noexcept;
432 bool CreateProcessW(const wchar_t* a_name, wchar_t* a_cmd, SECURITY_ATTRIBUTES* a_procAttr, SECURITY_ATTRIBUTES* a_threadAttr, bool a_inheritHandles, std::uint32_t a_flags, void* a_env, const wchar_t* a_curDir, STARTUPINFOW* a_startInfo, PROCESS_INFORMATION* a_procInfo) noexcept;
433 HANDLE CreateRemoteThread(HANDLE a_process, SECURITY_ATTRIBUTES* a_threadAttr, std::size_t a_stackSize, THREAD_START_ROUTINE* a_startAddr, void* a_param, std::uint32_t a_flags, std::uint32_t* a_threadID) noexcept;
434 HANDLE CreateSemaphoreA(SECURITY_ATTRIBUTES* a_semaphoreAttr, std::int32_t a_initCount, std::int32_t a_maxCount, const char* a_name);
435 HANDLE CreateThread(SECURITY_ATTRIBUTES* a_threadAttr, std::size_t a_stackSize, THREAD_START_ROUTINE* a_startAddr, void* a_param, std::uint32_t a_flags, std::uint32_t* a_threadID) noexcept;
436 void DeleteCriticalSection(CRITICAL_SECTION* a_criticalSection);
437 void EnterCriticalSection(CRITICAL_SECTION* a_criticalSection);
438 std::uint32_t ExpandEnvironmentStringsA(const char* a_src, char* a_dst, std::uint32_t a_dstLen) noexcept;
439 std::uint32_t ExpandEnvironmentStringsW(const wchar_t* a_src, wchar_t* a_dst, std::uint32_t a_dstLen) noexcept;
440 bool FindClose(HANDLE a_file) noexcept;
441 HANDLE FindFirstFileA(const char* a_name, WIN32_FIND_DATAA* a_data) noexcept;
442 HANDLE FindFirstFileW(const wchar_t* a_name, WIN32_FIND_DATAW* a_data) noexcept;
443 bool FindNextFileA(HANDLE a_file, WIN32_FIND_DATAA* a_data) noexcept;
444 bool FindNextFileW(HANDLE a_file, WIN32_FIND_DATAW* a_data) noexcept;
445 bool FlushInstructionCache(HANDLE a_process, const void* a_baseAddr, std::size_t a_size) noexcept;
446 bool FreeLibrary(HMODULE a_module) noexcept;
449 std::uint32_t GetCurrentThreadId() noexcept;
450 std::uint32_t GetEnvironmentVariableA(const char* a_name, char* a_buf, std::uint32_t a_bufLen) noexcept;
451 std::uint32_t GetEnvironmentVariableW(const wchar_t* a_name, wchar_t* a_buf, std::uint32_t a_bufLen) noexcept;
452 std::uint32_t GetLastError() noexcept;
453 std::uint32_t GetModuleFileNameA(HMODULE a_module, char* a_name, std::uint32_t a_nameLen) noexcept;
454 std::uint32_t GetModuleFileNameW(HMODULE a_module, wchar_t* a_name, std::uint32_t a_nameLen) noexcept;
455 HMODULE GetModuleHandleA(const char* a_name) noexcept;
456 HMODULE GetModuleHandleW(const wchar_t* a_name) noexcept;
457 std::uint32_t GetPrivateProfileStringA(const char* a_app, const char* a_key, const char* a_default, char* a_buf, std::uint32_t a_bufLen, const char* a_name) noexcept;
458 std::uint32_t GetPrivateProfileStringW(const wchar_t* a_app, const wchar_t* a_key, const wchar_t* a_default, wchar_t* a_buf, std::uint32_t a_bufLen, const wchar_t* a_name) noexcept;
459 void* GetProcAddress(HMODULE a_module, const char* a_name) noexcept;
460 void GetSystemInfo(SYSTEM_INFO* a_info) noexcept;
461 bool IMAGE_SNAP_BY_ORDINAL64(std::uint64_t a_ordinal) noexcept;
463 bool InitializeCriticalSectionAndSpinCount(CRITICAL_SECTION* a_criticalSection, std::uint32_t a_spinCount);
464 std::uint32_t InterlockedCompareExchange(volatile std::uint32_t* a_target, std::uint32_t a_value, std::uint32_t a_compare) noexcept;
465 std::uint64_t InterlockedCompareExchange64(volatile std::uint64_t* a_target, std::uint64_t a_value, std::uint64_t a_compare) noexcept;
466 std::uint32_t InterlockedDecrement(volatile std::uint32_t* a_target) noexcept;
467 std::uint64_t InterlockedDecrement64(volatile std::uint64_t* a_target) noexcept;
468 std::uint32_t InterlockedExchange(volatile std::uint32_t* a_target, std::uint32_t a_value) noexcept;
469 std::uint64_t InterlockedExchange64(volatile std::uint64_t* a_target, std::uint64_t a_value) noexcept;
470 std::uint32_t InterlockedIncrement(volatile std::uint32_t* a_target) noexcept;
471 std::uint64_t InterlockedIncrement64(volatile std::uint64_t* a_target) noexcept;
472 bool IsDebuggerPresent() noexcept;
473 std::int32_t LCMapStringEx(const wchar_t* a_locale, std::uint32_t a_flags, const wchar_t* a_src, std::int32_t a_srcLen, wchar_t* a_dst, std::int32_t a_dstLen, NLSVERSIONINFO* a_info, void* a_reserved, std::intptr_t a_sortHandle) noexcept;
474 void LeaveCriticalSection(CRITICAL_SECTION* a_criticalSection);
475 HMODULE LoadLibraryA(const char* a_name) noexcept;
476 HMODULE LoadLibraryW(const wchar_t* a_name) noexcept;
477 void* MapViewOfFile(HANDLE a_object, std::uint32_t a_desiredAccess, std::uint32_t a_fileOffsetHi, std::uint32_t a_fileOffsetLo, std::size_t a_numBytes) noexcept;
478 void* MapViewOfFileEx(HANDLE a_object, std::uint32_t a_desiredAccess, std::uint32_t a_fileOffsetHi, std::uint32_t a_fileOffsetLo, std::size_t a_numBytes, void* a_baseAddr) noexcept;
479 std::int32_t MultiByteToWideChar(std::uint32_t a_codePage, std::uint32_t a_flags, const char* a_src, std::int32_t a_srcLen, wchar_t* a_dst, std::int32_t a_dstLen) noexcept;
480 HANDLE OpenFileMappingA(std::uint32_t a_desiredAccess, bool a_inheritHandle, const char* a_name) noexcept;
481 HANDLE OpenFileMappingW(std::uint32_t a_desiredAccess, bool a_inheritHandle, const wchar_t* a_name) noexcept;
482 void OutputDebugStringA(const char* a_str) noexcept;
483 void OutputDebugStringW(const wchar_t* a_str) noexcept;
484 bool QueryPerformanceCounter(std::int64_t* a_counter) noexcept;
485 bool QueryPerformanceFrequency(std::int64_t* a_frequency) noexcept;
486 std::uint32_t ResumeThread(HANDLE a_handle) noexcept;
487 bool SetEnvironmentVariableA(const char* a_name, const char* a_value) noexcept;
488 bool SetEnvironmentVariableW(const wchar_t* a_name, const wchar_t* a_value) noexcept;
489 void Sleep(std::uint32_t a_milliseconds) noexcept;
490 bool TerminateProcess(HANDLE a_process, std::uint32_t a_exitCode) noexcept;
491 void* TlsGetValue(std::uint32_t a_index) noexcept;
492 bool TlsSetValue(std::uint32_t a_index, void* a_value) noexcept;
493 bool UnmapViewOfFile(const void* a_baseAddress) noexcept;
494 void* VirtualAlloc(void* a_address, std::size_t a_size, std::uint32_t a_type, std::uint32_t a_protect) noexcept;
495 void* VirtualAllocEx(HANDLE a_process, void* a_address, std::size_t a_size, std::uint32_t a_type, std::uint32_t a_protect) noexcept;
496 bool VirtualFree(void* a_address, std::size_t a_size, std::uint32_t a_type) noexcept;
497 bool VirtualFreeEx(HANDLE a_process, void* a_address, std::size_t a_size, std::uint32_t a_type) noexcept;
498 bool VirtualProtect(void* a_address, std::size_t a_size, std::uint32_t a_newProtect, std::uint32_t* a_oldProtect) noexcept;
499 bool VirtualProtectEx(HANDLE a_process, void* a_address, std::size_t a_size, std::uint32_t a_newProtect, std::uint32_t* a_oldProtect) noexcept;
500 std::size_t VirtualQuery(const void* a_address, MEMORY_BASIC_INFORMATION* a_buf, std::size_t a_bufLen) noexcept;
501 std::size_t VirtualQueryEx(HANDLE a_process, const void* a_address, MEMORY_BASIC_INFORMATION* a_buf, std::size_t a_bufLen) noexcept;
502 std::uint32_t WaitForSingleObject(HANDLE a_handle, std::uint32_t a_milliseconds) noexcept;
503 std::uint32_t WaitForSingleObjectEx(HANDLE a_handle, std::uint32_t a_milliseconds, bool a_alertable) noexcept;
504 std::int32_t WideCharToMultiByte(std::uint32_t a_codePage, std::uint32_t a_flags, const wchar_t* a_src, std::int32_t a_srcLen, char* a_dst, std::int32_t a_dstLen, const char* a_default, std::int32_t* a_defaultLen);
505 bool WriteProcessMemory(HANDLE a_process, void* a_address, const void* a_buf, std::size_t a_bufLen, std::size_t* a_bufWritten) noexcept;
506}
Definition BSDirectInputManager.h:8
HANDLE FindFirstFileA(const char *a_name, WIN32_FIND_DATAA *a_data) noexcept
constexpr auto IMAGE_DIRECTORY_ENTRY_COM_DESCRIPTOR
Definition KERNEL32.h:87
constexpr auto PAGE_READWRITE
Definition KERNEL32.h:26
constexpr auto PAGE_EXECUTE_READ
Definition KERNEL32.h:29
bool VirtualFreeEx(HANDLE a_process, void *a_address, std::size_t a_size, std::uint32_t a_type) noexcept
std::uint32_t WaitForSingleObject(HANDLE a_handle, std::uint32_t a_milliseconds) noexcept
constexpr auto FILE_ATTRIBUTE_READONLY
Definition KERNEL32.h:44
constexpr auto LCMAP_TRADITIONAL_CHINESE
Definition KERNEL32.h:140
constexpr auto FILE_ATTRIBUTE_SYSTEM
Definition KERNEL32.h:46
std::int32_t WideCharToMultiByte(std::uint32_t a_codePage, std::uint32_t a_flags, const wchar_t *a_src, std::int32_t a_srcLen, char *a_dst, std::int32_t a_dstLen, const char *a_default, std::int32_t *a_defaultLen)
constexpr auto SECTION_EXTEND_SIZE
Definition KERNEL32.h:37
bool FlushInstructionCache(HANDLE a_process, const void *a_baseAddr, std::size_t a_size) noexcept
HANDLE OpenFileMappingW(std::uint32_t a_desiredAccess, bool a_inheritHandle, const wchar_t *a_name) noexcept
constexpr auto IMAGE_NT_OPTIONAL_HDR32_MAGIC
Definition KERNEL32.h:69
constexpr auto IMAGE_NT_SIGNATURE
Definition KERNEL32.h:68
constexpr auto IMAGE_DIRECTORY_ENTRY_DEBUG
Definition KERNEL32.h:79
bool CreateProcessA(const char *a_name, char *a_cmd, SECURITY_ATTRIBUTES *a_procAttr, SECURITY_ATTRIBUTES *a_threadAttr, bool a_inheritHandles, std::uint32_t a_flags, void *a_env, const char *a_curDir, STARTUPINFOA *a_startInfo, PROCESS_INFORMATION *a_procInfo) noexcept
void LeaveCriticalSection(CRITICAL_SECTION *a_criticalSection)
std::size_t VirtualQuery(const void *a_address, MEMORY_BASIC_INFORMATION *a_buf, std::size_t a_bufLen) noexcept
bool TerminateProcess(HANDLE a_process, std::uint32_t a_exitCode) noexcept
void * HANDLE
Definition BASE.h:14
void OutputDebugStringA(const char *a_str) noexcept
std::uint32_t ResumeThread(HANDLE a_handle) noexcept
constexpr auto MEM_DECOMMIT
Definition KERNEL32.h:17
constexpr auto PAGE_WRITECOPY
Definition KERNEL32.h:27
constexpr auto MEM_COMMIT
Definition KERNEL32.h:15
void Sleep(std::uint32_t a_milliseconds) noexcept
constexpr auto IMAGE_DIRECTORY_ENTRY_GLOBALPTR
Definition KERNEL32.h:81
constexpr auto SECTION_MAP_READ
Definition KERNEL32.h:35
constexpr auto CREATE_UNICODE_ENVIRONMENT
Definition KERNEL32.h:113
constexpr auto FILE_ATTRIBUTE_ARCHIVE
Definition KERNEL32.h:48
std::uint32_t ExpandEnvironmentStringsW(const wchar_t *a_src, wchar_t *a_dst, std::uint32_t a_dstLen) noexcept
constexpr auto INHERIT_PARENT_AFFINITY
Definition KERNEL32.h:117
constexpr auto CP_UTF8
Definition KERNEL32.h:12
constexpr auto SECTION_MAP_EXECUTE
Definition KERNEL32.h:36
constexpr auto FILE_MAP_EXECUTE
Definition KERNEL32.h:55
constexpr auto MEM_RESET_UNDO
Definition KERNEL32.h:21
constexpr auto STANDARD_RIGHTS_ALL
Definition KERNEL32.h:9
constexpr auto CREATE_NEW_CONSOLE
Definition KERNEL32.h:107
constexpr auto DEBUG_ONLY_THIS_PROCESS
Definition KERNEL32.h:104
std::uint32_t GetPrivateProfileStringA(const char *a_app, const char *a_key, const char *a_default, char *a_buf, std::uint32_t a_bufLen, const char *a_name) noexcept
std::uint32_t InterlockedCompareExchange(volatile std::uint32_t *a_target, std::uint32_t a_value, std::uint32_t a_compare) noexcept
constexpr auto LCMAP_LOWERCASE
Definition KERNEL32.h:129
constexpr auto IMAGE_SIZEOF_SECTION_HEADER
Definition KERNEL32.h:99
std::uint32_t GetPrivateProfileStringW(const wchar_t *a_app, const wchar_t *a_key, const wchar_t *a_default, wchar_t *a_buf, std::uint32_t a_bufLen, const wchar_t *a_name) noexcept
bool FindNextFileA(HANDLE a_file, WIN32_FIND_DATAA *a_data) noexcept
std::uint32_t(void *a_param) THREAD_START_ROUTINE
Definition KERNEL32.h:423
constexpr auto PAGE_NOACCESS
Definition KERNEL32.h:24
constexpr auto CREATE_NEW_PROCESS_GROUP
Definition KERNEL32.h:112
constexpr auto REALTIME_PRIORITY_CLASS
Definition KERNEL32.h:111
constexpr auto IMAGE_DIRECTORY_ENTRY_DELAY_IMPORT
Definition KERNEL32.h:86
HMODULE GetCurrentModule() noexcept
constexpr auto MEM_RESET
Definition KERNEL32.h:20
constexpr auto FILE_MAP_READ
Definition KERNEL32.h:54
constexpr auto IMAGE_DIRECTORY_ENTRY_BASERELOC
Definition KERNEL32.h:78
constexpr auto GENERIC_WRITE
Definition KERNEL32.h:62
bool SetEnvironmentVariableW(const wchar_t *a_name, const wchar_t *a_value) noexcept
constexpr auto LOCALE_NAME_USER_DEFAULT
Definition KERNEL32.h:143
IMAGE_SECTION_HEADER * IMAGE_FIRST_SECTION(const IMAGE_NT_HEADERS64 *a_header) noexcept
constexpr auto BELOW_NORMAL_PRIORITY_CLASS
Definition KERNEL32.h:115
void * VirtualAllocEx(HANDLE a_process, void *a_address, std::size_t a_size, std::uint32_t a_type, std::uint32_t a_protect) noexcept
void * MapViewOfFile(HANDLE a_object, std::uint32_t a_desiredAccess, std::uint32_t a_fileOffsetHi, std::uint32_t a_fileOffsetLo, std::size_t a_numBytes) noexcept
bool CloseHandle(HANDLE a_handle) noexcept
constexpr auto FILE_MAP_WRITE
Definition KERNEL32.h:53
bool IMAGE_SNAP_BY_ORDINAL64(std::uint64_t a_ordinal) noexcept
void * VirtualAlloc(void *a_address, std::size_t a_size, std::uint32_t a_type, std::uint32_t a_protect) noexcept
void EnterCriticalSection(CRITICAL_SECTION *a_criticalSection)
bool IsDebuggerPresent() noexcept
constexpr auto CREATE_SUSPENDED
Definition KERNEL32.h:105
constexpr auto LOCALE_NAME_SYSTEM_DEFAULT
Definition KERNEL32.h:145
std::uint64_t InterlockedCompareExchange64(volatile std::uint64_t *a_target, std::uint64_t a_value, std::uint64_t a_compare) noexcept
constexpr auto DETACHED_PROCESS
Definition KERNEL32.h:106
std::uint32_t InterlockedExchange(volatile std::uint32_t *a_target, std::uint32_t a_value) noexcept
void * MapViewOfFileEx(HANDLE a_object, std::uint32_t a_desiredAccess, std::uint32_t a_fileOffsetHi, std::uint32_t a_fileOffsetLo, std::size_t a_numBytes, void *a_baseAddr) noexcept
constexpr auto FILE_MAP_COPY
Definition KERNEL32.h:52
constexpr auto IMAGE_DIRECTORY_ENTRY_LOAD_CONFIG
Definition KERNEL32.h:83
constexpr auto FILE_MAP_RESERVE
Definition KERNEL32.h:58
constexpr auto IMAGE_DIRECTORY_ENTRY_TLS
Definition KERNEL32.h:82
std::uint64_t InterlockedExchange64(volatile std::uint64_t *a_target, std::uint64_t a_value) noexcept
constexpr auto LCMAP_UPPERCASE
Definition KERNEL32.h:130
constexpr auto IMAGE_DIRECTORY_ENTRY_EXPORT
Definition KERNEL32.h:73
HANDLE CreateSemaphoreA(SECURITY_ATTRIBUTES *a_semaphoreAttr, std::int32_t a_initCount, std::int32_t a_maxCount, const char *a_name)
constexpr auto LCMAP_LINGUISTIC_CASING
Definition KERNEL32.h:138
constexpr auto IMAGE_DIRECTORY_ENTRY_SECURITY
Definition KERNEL32.h:77
void GetSystemInfo(SYSTEM_INFO *a_info) noexcept
std::int32_t LCMapStringEx(const wchar_t *a_locale, std::uint32_t a_flags, const wchar_t *a_src, std::int32_t a_srcLen, wchar_t *a_dst, std::int32_t a_dstLen, NLSVERSIONINFO *a_info, void *a_reserved, std::intptr_t a_sortHandle) noexcept
constexpr auto IMAGE_DIRECTORY_ENTRY_IMPORT
Definition KERNEL32.h:74
bool WriteProcessMemory(HANDLE a_process, void *a_address, const void *a_buf, std::size_t a_bufLen, std::size_t *a_bufWritten) noexcept
HANDLE CreateFileMappingA(HANDLE a_file, SECURITY_ATTRIBUTES *a_attributes, std::uint32_t a_protect, std::uint32_t a_maxSizeHigh, std::uint32_t a_maxSizeLow, const char *a_name) noexcept
constexpr auto IMAGE_DIRECTORY_ENTRY_IAT
Definition KERNEL32.h:85
constexpr auto FILE_ATTRIBUTE_HIDDEN
Definition KERNEL32.h:45
constexpr auto SECTION_ALL_ACCESS
Definition KERNEL32.h:39
HMODULE LoadLibraryW(const wchar_t *a_name) noexcept
constexpr auto LCMAP_HALFWIDTH
Definition KERNEL32.h:136
constexpr auto LCMAP_SIMPLIFIED_CHINESE
Definition KERNEL32.h:139
std::uint32_t ExpandEnvironmentStringsA(const char *a_src, char *a_dst, std::uint32_t a_dstLen) noexcept
HMODULE LoadLibraryA(const char *a_name) noexcept
bool FreeLibrary(HMODULE a_module) noexcept
std::uint64_t InterlockedDecrement64(volatile std::uint64_t *a_target) noexcept
constexpr auto IMAGE_DIRECTORY_ENTRY_BOUND_IMPORT
Definition KERNEL32.h:84
std::int32_t MultiByteToWideChar(std::uint32_t a_codePage, std::uint32_t a_flags, const char *a_src, std::int32_t a_srcLen, wchar_t *a_dst, std::int32_t a_dstLen) noexcept
constexpr auto CREATE_BREAKAWAY_FROM_JOB
Definition KERNEL32.h:123
constexpr auto ABOVE_NORMAL_PRIORITY_CLASS
Definition KERNEL32.h:116
constexpr auto IMAGE_SCN_MEM_READ
Definition KERNEL32.h:97
constexpr auto IMAGE_DIRECTORY_ENTRY_EXCEPTION
Definition KERNEL32.h:76
constexpr auto IMAGE_NT_OPTIONAL_HDR64_MAGIC
Definition KERNEL32.h:70
constexpr auto HIGH_PRIORITY_CLASS
Definition KERNEL32.h:110
constexpr auto SECTION_QUERY
Definition KERNEL32.h:33
bool FindNextFileW(HANDLE a_file, WIN32_FIND_DATAW *a_data) noexcept
HMODULE GetModuleHandleA(const char *a_name) noexcept
std::uint32_t GetModuleFileNameA(HMODULE a_module, char *a_name, std::uint32_t a_nameLen) noexcept
constexpr auto LCMAP_HIRAGANA
Definition KERNEL32.h:134
constexpr auto IMAGE_SCN_MEM_EXECUTE
Definition KERNEL32.h:96
bool VirtualFree(void *a_address, std::size_t a_size, std::uint32_t a_type) noexcept
constexpr auto FILE_ATTRIBUTE_DIRECTORY
Definition KERNEL32.h:47
constexpr auto MAX_PATH
Definition BASE.h:35
std::size_t VirtualQueryEx(HANDLE a_process, const void *a_address, MEMORY_BASIC_INFORMATION *a_buf, std::size_t a_bufLen) noexcept
constexpr auto IMAGE_DIRECTORY_ENTRY_RESOURCE
Definition KERNEL32.h:75
constexpr auto IDLE_PRIORITY_CLASS
Definition KERNEL32.h:109
std::uint64_t InterlockedIncrement64(volatile std::uint64_t *a_target) noexcept
constexpr auto CREATE_SECURE_PROCESS
Definition KERNEL32.h:122
constexpr auto IMAGE_ORDINAL_FLAG64
Definition KERNEL32.h:92
constexpr auto MEM_FREE
Definition KERNEL32.h:19
std::uint32_t GetLastError() noexcept
std::uint32_t InterlockedIncrement(volatile std::uint32_t *a_target) noexcept
constexpr auto LCMAP_FULLWIDTH
Definition KERNEL32.h:137
constexpr auto IMAGE_SIZEOF_SHORT_NAME
Definition KERNEL32.h:100
constexpr auto LCMAP_SORTKEY
Definition KERNEL32.h:132
constexpr auto IMAGE_SCN_MEM_WRITE
Definition KERNEL32.h:98
bool VirtualProtectEx(HANDLE a_process, void *a_address, std::size_t a_size, std::uint32_t a_newProtect, std::uint32_t *a_oldProtect) noexcept
constexpr auto CREATE_PROTECTED_PROCESS
Definition KERNEL32.h:118
constexpr auto LOCALE_NAME_INVARIANT
Definition KERNEL32.h:144
constexpr auto PAGE_EXECUTE_READWRITE
Definition KERNEL32.h:30
bool UnmapViewOfFile(const void *a_baseAddress) noexcept
bool VirtualProtect(void *a_address, std::size_t a_size, std::uint32_t a_newProtect, std::uint32_t *a_oldProtect) noexcept
constexpr auto GENERIC_ALL
Definition KERNEL32.h:64
constexpr auto IMAGE_SCN_MEM_SHARED
Definition KERNEL32.h:95
constexpr auto CREATE_FORCEDOS
Definition KERNEL32.h:114
constexpr auto LCMAP_TITLECASE
Definition KERNEL32.h:131
constexpr auto IMAGE_NUMBEROF_DIRECTORY_ENTRIES
Definition KERNEL32.h:88
constexpr auto SECTION_MAP_WRITE
Definition KERNEL32.h:34
constexpr auto FILE_MAP_ALL_ACCESS
Definition KERNEL32.h:51
void * TlsGetValue(std::uint32_t a_index) noexcept
bool TlsSetValue(std::uint32_t a_index, void *a_value) noexcept
constexpr auto EXTENDED_STARTUPINFO_PRESENT
Definition KERNEL32.h:119
constexpr auto SECTION_MAP_EXECUTE_EXPLICIT
Definition KERNEL32.h:38
constexpr auto GENERIC_READ
Definition KERNEL32.h:61
constexpr auto CREATE_PRESERVE_CODE_AUTHZ_LEVEL
Definition KERNEL32.h:124
bool InitializeCriticalSectionAndSpinCount(CRITICAL_SECTION *a_criticalSection, std::uint32_t a_spinCount)
constexpr auto PROCESS_MODE_BACKGROUND_BEGIN
Definition KERNEL32.h:120
constexpr auto FILE_MAP_TARGETS_INVALID
Definition KERNEL32.h:57
bool QueryPerformanceFrequency(std::int64_t *a_frequency) noexcept
bool FindClose(HANDLE a_file) noexcept
std::uint32_t GetCurrentThreadId() noexcept
bool QueryPerformanceCounter(std::int64_t *a_counter) noexcept
constexpr auto MEM_RESERVE
Definition KERNEL32.h:16
constexpr auto CREATE_NO_WINDOW
Definition KERNEL32.h:126
bool CreateProcessW(const wchar_t *a_name, wchar_t *a_cmd, SECURITY_ATTRIBUTES *a_procAttr, SECURITY_ATTRIBUTES *a_threadAttr, bool a_inheritHandles, std::uint32_t a_flags, void *a_env, const wchar_t *a_curDir, STARTUPINFOW *a_startInfo, PROCESS_INFORMATION *a_procInfo) noexcept
constexpr auto PROCESS_MODE_BACKGROUND_END
Definition KERNEL32.h:121
std::uint32_t WaitForSingleObjectEx(HANDLE a_handle, std::uint32_t a_milliseconds, bool a_alertable) noexcept
HINSTANCE HMODULE
Definition BASE.h:24
constexpr auto STANDARD_RIGHTS_REQUIRED
Definition KERNEL32.h:8
constexpr auto PAGE_READONLY
Definition KERNEL32.h:25
constexpr auto LCMAP_BYTEREV
Definition KERNEL32.h:133
HANDLE CreateRemoteThread(HANDLE a_process, SECURITY_ATTRIBUTES *a_threadAttr, std::size_t a_stackSize, THREAD_START_ROUTINE *a_startAddr, void *a_param, std::uint32_t a_flags, std::uint32_t *a_threadID) noexcept
std::uint32_t InterlockedDecrement(volatile std::uint32_t *a_target) noexcept
HANDLE CreateThread(SECURITY_ATTRIBUTES *a_threadAttr, std::size_t a_stackSize, THREAD_START_ROUTINE *a_startAddr, void *a_param, std::uint32_t a_flags, std::uint32_t *a_threadID) noexcept
std::uint32_t GetEnvironmentVariableA(const char *a_name, char *a_buf, std::uint32_t a_bufLen) noexcept
void DeleteCriticalSection(CRITICAL_SECTION *a_criticalSection)
HMODULE GetModuleHandleW(const wchar_t *a_name) noexcept
constexpr auto IMAGE_ORDINAL_FLAG32
Definition KERNEL32.h:91
void OutputDebugStringW(const wchar_t *a_str) noexcept
constexpr auto GENERIC_EXECUTE
Definition KERNEL32.h:63
HANDLE CreateFileMappingW(HANDLE a_file, SECURITY_ATTRIBUTES *a_attributes, std::uint32_t a_protect, std::uint32_t a_maxSizeHigh, std::uint32_t a_maxSizeLow, const wchar_t *a_name) noexcept
constexpr auto MEM_RELEASE
Definition KERNEL32.h:18
std::uint32_t GetModuleFileNameW(HMODULE a_module, wchar_t *a_name, std::uint32_t a_nameLen) noexcept
constexpr auto IMAGE_DIRECTORY_ENTRY_ARCHITECTURE
Definition KERNEL32.h:80
HANDLE FindFirstFileW(const wchar_t *a_name, WIN32_FIND_DATAW *a_data) noexcept
constexpr auto LCMAP_KATAKANA
Definition KERNEL32.h:135
constexpr auto NORMAL_PRIORITY_CLASS
Definition KERNEL32.h:108
constexpr auto DEBUG_PROCESS
Definition KERNEL32.h:103
HANDLE GetCurrentProcess() noexcept
bool SetEnvironmentVariableA(const char *a_name, const char *a_value) noexcept
constexpr auto CREATE_DEFAULT_ERROR_MODE
Definition KERNEL32.h:125
constexpr auto IMAGE_DOS_SIGNATURE
Definition KERNEL32.h:67
void * GetProcAddress(HMODULE a_module, const char *a_name) noexcept
constexpr auto FILE_MAP_LARGE_PAGES
Definition KERNEL32.h:56
constexpr auto PAGE_EXECUTE
Definition KERNEL32.h:28
std::uint32_t GetEnvironmentVariableW(const wchar_t *a_name, wchar_t *a_buf, std::uint32_t a_bufLen) noexcept
HANDLE OpenFileMappingA(std::uint32_t a_desiredAccess, bool a_inheritHandle, const char *a_name) noexcept
Definition EffectArchetypes.h:65
Definition BASE.h:138
Definition BASE.h:41
Definition BASE.h:63
Definition KERNEL32.h:151
std::uint32_t size
Definition KERNEL32.h:153
std::uint32_t virtualAddress
Definition KERNEL32.h:152
Definition KERNEL32.h:158
std::uint16_t ovno
Definition KERNEL32.h:172
std::uint16_t res[4]
Definition KERNEL32.h:173
std::uint16_t ss
Definition KERNEL32.h:166
std::uint16_t res2[10]
Definition KERNEL32.h:176
std::uint16_t sp
Definition KERNEL32.h:167
std::uint16_t minalloc
Definition KERNEL32.h:164
std::uint16_t cs
Definition KERNEL32.h:170
std::uint16_t maxalloc
Definition KERNEL32.h:165
std::int32_t lfanew
Definition KERNEL32.h:177
std::uint16_t oemid
Definition KERNEL32.h:174
std::uint16_t cblp
Definition KERNEL32.h:160
std::uint16_t ip
Definition KERNEL32.h:169
std::uint16_t magic
Definition KERNEL32.h:159
std::uint16_t crlc
Definition KERNEL32.h:162
std::uint16_t csum
Definition KERNEL32.h:168
std::uint16_t oeminfo
Definition KERNEL32.h:175
std::uint16_t lfarlc
Definition KERNEL32.h:171
std::uint16_t cp
Definition KERNEL32.h:161
std::uint16_t cparhdr
Definition KERNEL32.h:163
Definition KERNEL32.h:182
std::uint16_t characteristics
Definition KERNEL32.h:189
std::uint32_t timeDateStamp
Definition KERNEL32.h:185
std::uint32_t symbolCount
Definition KERNEL32.h:187
std::uint16_t machine
Definition KERNEL32.h:183
std::uint32_t symbolTablePtr
Definition KERNEL32.h:186
std::uint16_t optionalHeaderSize
Definition KERNEL32.h:188
std::uint16_t sectionCount
Definition KERNEL32.h:184
Definition KERNEL32.h:194
std::uint16_t hint
Definition KERNEL32.h:195
char name[1]
Definition KERNEL32.h:196
Definition KERNEL32.h:201
std::uint32_t timeDateStamp
Definition KERNEL32.h:208
std::uint32_t characteristics
Definition KERNEL32.h:204
std::uint32_t firstThunkOriginal
Definition KERNEL32.h:205
std::uint32_t name
Definition KERNEL32.h:210
std::uint32_t forwarderChain
Definition KERNEL32.h:209
std::uint32_t firstThunk
Definition KERNEL32.h:211
Definition KERNEL32.h:251
IMAGE_FILE_HEADER fileHeader
Definition KERNEL32.h:253
IMAGE_OPTIONAL_HEADER64 optionalHeader
Definition KERNEL32.h:254
std::uint32_t signature
Definition KERNEL32.h:252
Definition KERNEL32.h:216
std::uint64_t stackCommitSize
Definition KERNEL32.h:241
std::uint32_t fileAlignment
Definition KERNEL32.h:227
std::uint32_t win32Version
Definition KERNEL32.h:234
std::uint16_t imageVersionMajor
Definition KERNEL32.h:230
std::uint16_t imageVersionMinor
Definition KERNEL32.h:231
std::uint32_t rvaAndSizesCount
Definition KERNEL32.h:245
std::uint32_t checksum
Definition KERNEL32.h:237
std::uint16_t subsystemVersionMinor
Definition KERNEL32.h:233
std::uint32_t initializedDataSize
Definition KERNEL32.h:221
std::uint32_t loaderFlags
Definition KERNEL32.h:244
std::uint8_t linkerVersionMajor
Definition KERNEL32.h:218
std::uint16_t osVersionMinor
Definition KERNEL32.h:229
std::uint8_t linkerVersionMinor
Definition KERNEL32.h:219
std::uint64_t stackReserveSize
Definition KERNEL32.h:240
std::uint16_t subsystem
Definition KERNEL32.h:238
std::uint32_t headersSize
Definition KERNEL32.h:236
std::uint64_t heapReserveSize
Definition KERNEL32.h:242
std::uint32_t imageSize
Definition KERNEL32.h:235
IMAGE_DATA_DIRECTORY dataDirectory[IMAGE_NUMBEROF_DIRECTORY_ENTRIES]
Definition KERNEL32.h:246
std::uint16_t osVersionMajor
Definition KERNEL32.h:228
std::uint16_t magic
Definition KERNEL32.h:217
std::uint32_t sectionAlignment
Definition KERNEL32.h:226
std::uint32_t entryPointAddress
Definition KERNEL32.h:223
std::uint32_t uninitializedDataSize
Definition KERNEL32.h:222
std::uint64_t heapCommitSize
Definition KERNEL32.h:243
std::uint16_t subsystemVersionMajor
Definition KERNEL32.h:232
std::uint64_t imageBase
Definition KERNEL32.h:225
std::uint16_t dllCharacteristics
Definition KERNEL32.h:239
std::uint32_t codeBase
Definition KERNEL32.h:224
std::uint32_t codeSize
Definition KERNEL32.h:220
Definition KERNEL32.h:259
std::uint8_t name[IMAGE_SIZEOF_SHORT_NAME]
Definition KERNEL32.h:260
std::uint32_t physicalAddress
Definition KERNEL32.h:263
std::uint32_t virtualAddress
Definition KERNEL32.h:266
std::uint32_t rawDataSize
Definition KERNEL32.h:267
std::uint32_t characteristics
Definition KERNEL32.h:273
std::uint32_t rawDataPtr
Definition KERNEL32.h:268
std::uint32_t relocationsPtr
Definition KERNEL32.h:269
std::uint32_t lineNumbersPtr
Definition KERNEL32.h:270
std::uint16_t lineNumbersCount
Definition KERNEL32.h:272
std::uint32_t virtualSize
Definition KERNEL32.h:264
std::uint16_t relocationsCount
Definition KERNEL32.h:271
Definition KERNEL32.h:278
std::uint64_t forwarderString
Definition KERNEL32.h:281
std::uint64_t function
Definition KERNEL32.h:282
std::uint64_t address
Definition KERNEL32.h:284
std::uint64_t ordinal
Definition KERNEL32.h:283
Definition KERNEL32.h:290
std::uint32_t state
Definition KERNEL32.h:296
std::uint16_t partitionID
Definition KERNEL32.h:294
std::uint32_t protect
Definition KERNEL32.h:297
std::size_t regionSize
Definition KERNEL32.h:295
std::uint32_t type
Definition KERNEL32.h:298
std::uint32_t allocationProtect
Definition KERNEL32.h:293
void * baseAddress
Definition KERNEL32.h:291
void * allocationBase
Definition KERNEL32.h:292
Definition KERNEL32.h:303
std::uint32_t nlsVersion
Definition KERNEL32.h:305
std::uint32_t effectiveID
Definition KERNEL32.h:307
std::uint32_t nlsVersionInfoSize
Definition KERNEL32.h:304
std::uint32_t definedVersion
Definition KERNEL32.h:306
GUID guidCustomVersion
Definition KERNEL32.h:308
Definition KERNEL32.h:313
std::uint32_t processID
Definition KERNEL32.h:316
void * thread
Definition KERNEL32.h:315
std::uint32_t threadID
Definition KERNEL32.h:317
void * process
Definition KERNEL32.h:314
Definition BASE.h:149
Definition KERNEL32.h:322
std::uint32_t size
Definition KERNEL32.h:323
std::uint32_t ySize
Definition KERNEL32.h:330
std::uint32_t fillAttribute
Definition KERNEL32.h:333
char * title
Definition KERNEL32.h:326
std::uint16_t reserved1
Definition KERNEL32.h:336
void * stdErr
Definition KERNEL32.h:340
std::uint32_t x
Definition KERNEL32.h:327
std::uint16_t showWindow
Definition KERNEL32.h:335
void * stdOut
Definition KERNEL32.h:339
std::uint32_t flags
Definition KERNEL32.h:334
char * desktop
Definition KERNEL32.h:325
char * reserved0
Definition KERNEL32.h:324
void * stdIn
Definition KERNEL32.h:338
std::uint8_t * reserved2
Definition KERNEL32.h:337
std::uint32_t xSize
Definition KERNEL32.h:329
std::uint32_t xCountChars
Definition KERNEL32.h:331
std::uint32_t y
Definition KERNEL32.h:328
std::uint32_t yCountChars
Definition KERNEL32.h:332
Definition KERNEL32.h:345
std::uint32_t size
Definition KERNEL32.h:346
std::uint32_t x
Definition KERNEL32.h:350
std::uint32_t fillAttribute
Definition KERNEL32.h:356
std::uint32_t y
Definition KERNEL32.h:351
std::uint8_t * reserved2
Definition KERNEL32.h:360
std::uint32_t flags
Definition KERNEL32.h:357
wchar_t * reserved0
Definition KERNEL32.h:347
void * stdErr
Definition KERNEL32.h:363
std::uint32_t xCountChars
Definition KERNEL32.h:354
std::uint32_t ySize
Definition KERNEL32.h:353
wchar_t * title
Definition KERNEL32.h:349
std::uint32_t yCountChars
Definition KERNEL32.h:355
std::uint32_t xSize
Definition KERNEL32.h:352
std::uint16_t reserved1
Definition KERNEL32.h:359
void * stdOut
Definition KERNEL32.h:362
void * stdIn
Definition KERNEL32.h:361
std::uint16_t showWindow
Definition KERNEL32.h:358
wchar_t * desktop
Definition KERNEL32.h:348
Definition KERNEL32.h:368
void * appAddressMax
Definition KERNEL32.h:380
std::uint16_t reserved
Definition KERNEL32.h:375
void * appAddressMin
Definition KERNEL32.h:379
std::uint32_t processorCount
Definition KERNEL32.h:382
std::uint32_t processorType
Definition KERNEL32.h:383
std::uint32_t pageSize
Definition KERNEL32.h:378
std::uint32_t allocationGranularity
Definition KERNEL32.h:384
std::uint16_t processorArch
Definition KERNEL32.h:374
std::uint16_t processorRevision
Definition KERNEL32.h:386
std::uint16_t processorLevel
Definition KERNEL32.h:385
std::uintptr_t processorActiveMask
Definition KERNEL32.h:381
std::uint32_t oemID
Definition KERNEL32.h:371
Definition KERNEL32.h:391
FILETIME lastWriteTime
Definition KERNEL32.h:395
FILETIME lastAccessTime
Definition KERNEL32.h:394
FILETIME creationTime
Definition KERNEL32.h:393
char fileNameAlt[14]
Definition KERNEL32.h:401
std::uint32_t fileSizeHi
Definition KERNEL32.h:396
std::uint32_t fileAttributes
Definition KERNEL32.h:392
std::uint32_t reserved0
Definition KERNEL32.h:398
char fileName[MAX_PATH]
Definition KERNEL32.h:400
std::uint32_t reserved1
Definition KERNEL32.h:399
std::uint32_t fileSizeLo
Definition KERNEL32.h:397
Definition KERNEL32.h:406
FILETIME lastWriteTime
Definition KERNEL32.h:410
std::uint32_t fileSizeLo
Definition KERNEL32.h:412
std::uint32_t fileAttributes
Definition KERNEL32.h:407
FILETIME lastAccessTime
Definition KERNEL32.h:409
wchar_t fileNameAlt[14]
Definition KERNEL32.h:416
wchar_t fileName[MAX_PATH]
Definition KERNEL32.h:415
std::uint32_t reserved1
Definition KERNEL32.h:414
std::uint32_t fileSizeHi
Definition KERNEL32.h:411
std::uint32_t reserved0
Definition KERNEL32.h:413
FILETIME creationTime
Definition KERNEL32.h:408