2#if defined(__ROS_LONG64__)
3#undef InterlockedExchange
4#define InterlockedExchange(a,b) _InterlockedExchange((long*)a,b)
5#undef InterlockedExchangeAdd
6#define InterlockedExchangeAdd(a,b) _InterlockedExchangeAdd((long*)a,b)
7#undef InterlockedCompareExchange
8#define InterlockedCompareExchange(a,b,c) _InterlockedCompareExchange((long*)a,b,c)
9#undef InterlockedIncrement
10#define InterlockedIncrement(a) _InterlockedIncrement((long*)a)
11#undef InterlockedDecrement
12#define InterlockedDecrement(a) _InterlockedDecrement((long*)a)
16#undef __C89_NAMELESSSTRUCTNAME
17#undef __C89_NAMELESSSTRUCTNAME1
18#undef __C89_NAMELESSSTRUCTNAME2
19#undef __C89_NAMELESSSTRUCTNAME3
20#undef __C89_NAMELESSSTRUCTNAME4
21#undef __C89_NAMELESSSTRUCTNAME5
22#undef __C89_NAMELESSUNIONNAME
23#undef __C89_NAMELESSUNIONNAME1
24#undef __C89_NAMELESSUNIONNAME2
25#undef __C89_NAMELESSUNIONNAME3
26#undef __C89_NAMELESSUNIONNAME4
27#undef __C89_NAMELESSUNIONNAME5
28#undef __C89_NAMELESSUNIONNAME6
29#undef __C89_NAMELESSUNIONNAME7
30#undef __C89_NAMELESSUNIONNAME8
32#if !defined(__WINESRC__) && !defined(WINE_NO_NAMELESS_EXTENSION)
35# if (__GNUC__ > 2) || ((__GNUC__ == 2) && ((__GNUC_MINOR__ > 95) || ((__GNUC_MINOR__ == 95) && defined(__cplusplus))))
36# define __C89_NAMELESS __extension__
38# elif defined(_MSC_VER)
39# define __C89_NAMELESS
44# define __C89_NAMELESSSTRUCTNAME
45# define __C89_NAMELESSSTRUCTNAME1
46# define __C89_NAMELESSSTRUCTNAME2
47# define __C89_NAMELESSSTRUCTNAME3
48# define __C89_NAMELESSSTRUCTNAME4
49# define __C89_NAMELESSSTRUCTNAME5
50# define __C89_NAMELESSUNIONNAME
51# define __C89_NAMELESSUNIONNAME1
52# define __C89_NAMELESSUNIONNAME2
53# define __C89_NAMELESSUNIONNAME3
54# define __C89_NAMELESSUNIONNAME4
55# define __C89_NAMELESSUNIONNAME5
56# define __C89_NAMELESSUNIONNAME6
57# define __C89_NAMELESSUNIONNAME7
58# define __C89_NAMELESSUNIONNAME8
60# define __C89_NAMELESS
61# define __C89_NAMELESSSTRUCTNAME DUMMYSTRUCTNAME
62# define __C89_NAMELESSSTRUCTNAME1 DUMMYSTRUCTNAME1
63# define __C89_NAMELESSSTRUCTNAME2 DUMMYSTRUCTNAME2
64# define __C89_NAMELESSSTRUCTNAME3 DUMMYSTRUCTNAME3
65# define __C89_NAMELESSSTRUCTNAME4 DUMMYSTRUCTNAME4
66# define __C89_NAMELESSSTRUCTNAME5 DUMMYSTRUCTNAME5
67# define __C89_NAMELESSUNIONNAME DUMMYUNIONNAME
68# define __C89_NAMELESSUNIONNAME1 DUMMYUNIONNAME1
69# define __C89_NAMELESSUNIONNAME2 DUMMYUNIONNAME2
70# define __C89_NAMELESSUNIONNAME3 DUMMYUNIONNAME3
71# define __C89_NAMELESSUNIONNAME4 DUMMYUNIONNAME4
72# define __C89_NAMELESSUNIONNAME5 DUMMYUNIONNAME5
73# define __C89_NAMELESSUNIONNAME6 DUMMYUNIONNAME6
74# define __C89_NAMELESSUNIONNAME7 DUMMYUNIONNAME7
75# define __C89_NAMELESSUNIONNAME8 DUMMYUNIONNAME8
78#define DECLSPEC_HIDDEN
81#if defined(__GNUC__) && ((__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 3)))
82# define __WINE_ALLOC_SIZE(x) __attribute__((__alloc_size__(x)))
84# define __WINE_ALLOC_SIZE(x)
90# ifndef _INTEGRAL_MAX_BITS
91# define _INTEGRAL_MAX_BITS 64
94# define __int64 long long
95#elif (defined(__WATCOMC__) || defined(_MSC_VER)) && (defined(_INTEGRAL_MAX_BITS) && _INTEGRAL_MAX_BITS >= 64 )
100# pragma warning(push)
101# pragma warning(disable:4201)
102# pragma warning(disable:4214)
103# pragma warning(disable:4820)
106#define ACE_OBJECT_TYPE_PRESENT 0x00000001
107#define ACE_INHERITED_OBJECT_TYPE_PRESENT 0x00000002
110#define COMPRESSION_FORMAT_NONE (0x0000)
111#define COMPRESSION_FORMAT_DEFAULT (0x0001)
112#define COMPRESSION_FORMAT_LZNT1 (0x0002)
113#define COMPRESSION_ENGINE_STANDARD (0x0000)
114#define COMPRESSION_ENGINE_MAXIMUM (0x0100)
115#define COMPRESSION_ENGINE_HIBER (0x0200)
116#define ACCESS_ALLOWED_ACE_TYPE (0x0)
117#define ACCESS_DENIED_ACE_TYPE (0x1)
118#define SYSTEM_AUDIT_ACE_TYPE (0x2)
119#define SYSTEM_ALARM_ACE_TYPE (0x3)
122#define REG_STANDARD_FORMAT 1
123#define REG_LATEST_FORMAT 2
124#define REG_NO_COMPRESSION 4
126#ifndef WIN32_NO_STATUS
128#define STATUS_WAIT_0 ((DWORD)0x00000000)
129#define STATUS_ABANDONED_WAIT_0 ((DWORD)0x00000080)
130#define STATUS_USER_APC ((DWORD)0x000000C0)
131#define STATUS_TIMEOUT ((DWORD)0x00000102)
132#define STATUS_PENDING ((DWORD)0x00000103)
133#define STATUS_SEGMENT_NOTIFICATION ((DWORD)0x40000005)
134#define STATUS_GUARD_PAGE_VIOLATION ((DWORD)0x80000001)
135#define STATUS_DATATYPE_MISALIGNMENT ((DWORD)0x80000002)
136#define STATUS_BREAKPOINT ((DWORD)0x80000003)
137#define STATUS_SINGLE_STEP ((DWORD)0x80000004)
138#define STATUS_ACCESS_VIOLATION ((DWORD)0xC0000005)
139#define STATUS_IN_PAGE_ERROR ((DWORD)0xC0000006)
140#define STATUS_INVALID_HANDLE ((DWORD)0xC0000008)
141#define STATUS_NO_MEMORY ((DWORD)0xC0000017)
142#define STATUS_ILLEGAL_INSTRUCTION ((DWORD)0xC000001D)
143#define STATUS_NONCONTINUABLE_EXCEPTION ((DWORD)0xC0000025)
144#define STATUS_INVALID_DISPOSITION ((DWORD)0xC0000026)
145#define STATUS_ARRAY_BOUNDS_EXCEEDED ((DWORD)0xC000008C)
146#define STATUS_FLOAT_DENORMAL_OPERAND ((DWORD)0xC000008D)
147#define STATUS_FLOAT_DIVIDE_BY_ZERO ((DWORD)0xC000008E)
148#define STATUS_FLOAT_INEXACT_RESULT ((DWORD)0xC000008F)
149#define STATUS_FLOAT_INVALID_OPERATION ((DWORD)0xC0000090)
150#define STATUS_FLOAT_OVERFLOW ((DWORD)0xC0000091)
151#define STATUS_FLOAT_STACK_CHECK ((DWORD)0xC0000092)
152#define STATUS_FLOAT_UNDERFLOW ((DWORD)0xC0000093)
153#define STATUS_INTEGER_DIVIDE_BY_ZERO ((DWORD)0xC0000094)
154#define STATUS_INTEGER_OVERFLOW ((DWORD)0xC0000095)
155#define STATUS_PRIVILEGED_INSTRUCTION ((DWORD)0xC0000096)
156#define STATUS_STACK_OVERFLOW ((DWORD)0xC00000FD)
157#define STATUS_CONTROL_C_EXIT ((DWORD)0xC000013A)
158#define STATUS_FLOAT_MULTIPLE_FAULTS ((DWORD)0xC00002B4)
159#define STATUS_FLOAT_MULTIPLE_TRAPS ((DWORD)0xC00002B5)
160#define STATUS_REG_NAT_CONSUMPTION ((DWORD)0xC00002C9)
161#define STATUS_SXS_EARLY_DEACTIVATION ((DWORD)0xC015000F)
162#define STATUS_SXS_INVALID_DEACTIVATION ((DWORD)0xC0150010)
164#define DBG_EXCEPTION_HANDLED ((DWORD)0x00010001)
165#define DBG_CONTINUE ((DWORD)0x00010002)
166#define DBG_TERMINATE_THREAD ((DWORD)0x40010003)
167#define DBG_TERMINATE_PROCESS ((DWORD)0x40010004)
168#define DBG_CONTROL_C ((DWORD)0x40010005)
169#define DBG_CONTROL_BREAK ((DWORD)0x40010008)
170#define DBG_COMMAND_EXCEPTION ((DWORD)0x40010009)
171#define DBG_EXCEPTION_NOT_HANDLED ((DWORD)0x80010001)
175#define INVALID_FILE_ATTRIBUTES ((DWORD)-1)
178#define FILE_LIST_DIRECTORY 0x00000001
179#define FILE_READ_DATA 0x00000001
180#define FILE_ADD_FILE 0x00000002
181#define FILE_WRITE_DATA 0x00000002
182#define FILE_ADD_SUBDIRECTORY 0x00000004
183#define FILE_APPEND_DATA 0x00000004
184#define FILE_CREATE_PIPE_INSTANCE 0x00000004
185#define FILE_READ_EA 0x00000008
186#define FILE_READ_PROPERTIES 0x00000008
187#define FILE_WRITE_EA 0x00000010
188#define FILE_WRITE_PROPERTIES 0x00000010
189#define FILE_EXECUTE 0x00000020
190#define FILE_TRAVERSE 0x00000020
191#define FILE_DELETE_CHILD 0x00000040
192#define FILE_READ_ATTRIBUTES 0x00000080
193#define FILE_WRITE_ATTRIBUTES 0x00000100
195#define FILE_SHARE_READ 0x00000001
196#define FILE_SHARE_WRITE 0x00000002
197#define FILE_SHARE_DELETE 0x00000004
198#define FILE_SHARE_VALID_FLAGS 0x00000007
200#define FILE_ATTRIBUTE_READONLY 0x00000001
201#define FILE_ATTRIBUTE_HIDDEN 0x00000002
202#define FILE_ATTRIBUTE_SYSTEM 0x00000004
203#define FILE_ATTRIBUTE_DIRECTORY 0x00000010
204#define FILE_ATTRIBUTE_ARCHIVE 0x00000020
205#define FILE_ATTRIBUTE_DEVICE 0x00000040
206#define FILE_ATTRIBUTE_NORMAL 0x00000080
207#define FILE_ATTRIBUTE_TEMPORARY 0x00000100
208#define FILE_ATTRIBUTE_SPARSE_FILE 0x00000200
209#define FILE_ATTRIBUTE_REPARSE_POINT 0x00000400
210#define FILE_ATTRIBUTE_COMPRESSED 0x00000800
211#define FILE_ATTRIBUTE_OFFLINE 0x00001000
212#define FILE_ATTRIBUTE_NOT_CONTENT_INDEXED 0x00002000
213#define FILE_ATTRIBUTE_ENCRYPTED 0x00004000
214#define FILE_ATTRIBUTE_INTEGRITY_STREAM 0x00008000
215#define FILE_ATTRIBUTE_VIRTUAL 0x00010000
216#define FILE_ATTRIBUTE_VALID_FLAGS 0x00007fb7
217#define FILE_ATTRIBUTE_VALID_SET_FLAGS 0x000031a7
219#define FILE_COPY_STRUCTURED_STORAGE 0x00000041
220#define FILE_STRUCTURED_STORAGE 0x00000441
222#define FILE_VALID_OPTION_FLAGS 0x00ffffff
223#define FILE_VALID_PIPE_OPTION_FLAGS 0x00000032
224#define FILE_VALID_MAILSLOT_OPTION_FLAGS 0x00000032
225#define FILE_VALID_SET_FLAGS 0x00000036
227#define FILE_DIRECTORY_FILE 0x00000001
228#define FILE_WRITE_THROUGH 0x00000002
229#define FILE_SEQUENTIAL_ONLY 0x00000004
230#define FILE_NO_INTERMEDIATE_BUFFERING 0x00000008
231#define FILE_SYNCHRONOUS_IO_ALERT 0x00000010
232#define FILE_SYNCHRONOUS_IO_NONALERT 0x00000020
233#define FILE_NON_DIRECTORY_FILE 0x00000040
234#define FILE_CREATE_TREE_CONNECTION 0x00000080
235#define FILE_COMPLETE_IF_OPLOCKED 0x00000100
236#define FILE_NO_EA_KNOWLEDGE 0x00000200
237#define FILE_OPEN_REMOTE_INSTANCE 0x00000400
238#define FILE_RANDOM_ACCESS 0x00000800
239#define FILE_DELETE_ON_CLOSE 0x00001000
240#define FILE_OPEN_BY_FILE_ID 0x00002000
241#define FILE_OPEN_FOR_BACKUP_INTENT 0x00004000
242#define FILE_NO_COMPRESSION 0x00008000
243#define FILE_RESERVE_OPFILTER 0x00100000
244#define FILE_OPEN_REPARSE_POINT 0x00200000
245#define FILE_OPEN_NO_RECALL 0x00400000
246#define FILE_OPEN_FOR_FREE_SPACE_QUERY 0x00800000
248#define FILE_ALL_ACCESS \
249 (STANDARD_RIGHTS_REQUIRED | \
253#define FILE_GENERIC_EXECUTE \
254 (STANDARD_RIGHTS_EXECUTE | \
255 FILE_READ_ATTRIBUTES | \
259#define FILE_GENERIC_READ \
260 (STANDARD_RIGHTS_READ | \
262 FILE_READ_ATTRIBUTES | \
266#define FILE_GENERIC_WRITE \
267 (STANDARD_RIGHTS_WRITE | \
269 FILE_WRITE_ATTRIBUTES | \
275#define FILE_NOTIFY_CHANGE_FILE_NAME 0x00000001
276#define FILE_NOTIFY_CHANGE_DIR_NAME 0x00000002
277#define FILE_NOTIFY_CHANGE_NAME 0x00000003
278#define FILE_NOTIFY_CHANGE_ATTRIBUTES 0x00000004
279#define FILE_NOTIFY_CHANGE_SIZE 0x00000008
280#define FILE_NOTIFY_CHANGE_LAST_WRITE 0x00000010
281#define FILE_NOTIFY_CHANGE_LAST_ACCESS 0x00000020
282#define FILE_NOTIFY_CHANGE_CREATION 0x00000040
283#define FILE_NOTIFY_CHANGE_EA 0x00000080
284#define FILE_NOTIFY_CHANGE_SECURITY 0x00000100
285#define FILE_NOTIFY_CHANGE_STREAM_NAME 0x00000200
286#define FILE_NOTIFY_CHANGE_STREAM_SIZE 0x00000400
287#define FILE_NOTIFY_CHANGE_STREAM_WRITE 0x00000800
288#define FILE_NOTIFY_VALID_MASK 0x00000fff
290#define FILE_CASE_SENSITIVE_SEARCH 0x00000001
291#define FILE_CASE_PRESERVED_NAMES 0x00000002
292#define FILE_UNICODE_ON_DISK 0x00000004
293#define FILE_PERSISTENT_ACLS 0x00000008
294#define FILE_FILE_COMPRESSION 0x00000010
295#define FILE_VOLUME_QUOTAS 0x00000020
296#define FILE_SUPPORTS_SPARSE_FILES 0x00000040
297#define FILE_SUPPORTS_REPARSE_POINTS 0x00000080
298#define FILE_SUPPORTS_REMOTE_STORAGE 0x00000100
299#define FS_LFN_APIS 0x00004000
300#define FILE_VOLUME_IS_COMPRESSED 0x00008000
301#define FILE_SUPPORTS_OBJECT_IDS 0x00010000
302#define FILE_SUPPORTS_ENCRYPTION 0x00020000
303#define FILE_NAMED_STREAMS 0x00040000
304#define FILE_READ_ONLY_VOLUME 0x00080000
305#define FILE_SEQUENTIAL_WRITE_ONCE 0x00100000
306#define FILE_SUPPORTS_TRANSACTIONS 0x00200000
307#define FILE_SUPPORTS_HARD_LINKS 0x00400000
308#define FILE_SUPPORTS_EXTENDED_ATTRIBUTES 0x00800000
309#define FILE_SUPPORTS_OPEN_BY_FILE_ID 0x01000000
310#define FILE_SUPPORTS_USN_JOURNAL 0x02000000
311#define FILE_SUPPORTS_INTEGRITY_STREAMS 0x04000000
312#define FILE_SUPPORTS_BLOCK_REFCOUNTING 0x08000000
313#define FILE_SUPPORTS_SPARSE_VDL 0x10000000
314#define FILE_DAX_VOLUME 0x20000000
316#define IO_COMPLETION_QUERY_STATE 0x0001
317#define IO_COMPLETION_MODIFY_STATE 0x0002
318#define IO_COMPLETION_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE|0x3)
322#define DUPLICATE_CLOSE_SOURCE 0x00000001
323#define DUPLICATE_SAME_ACCESS 0x00000002
326#define MAILSLOT_NO_MESSAGE ((DWORD)-1)
327#define MAILSLOT_WAIT_FOREVER ((DWORD)-1)
328#define PROCESS_TERMINATE 1
329#define PROCESS_CREATE_THREAD 2
330#define PROCESS_SET_SESSIONID 4
331#define PROCESS_VM_OPERATION 8
332#define PROCESS_VM_READ 16
333#define PROCESS_VM_WRITE 32
334#define PROCESS_CREATE_PROCESS 128
335#define PROCESS_SET_QUOTA 256
336#define PROCESS_SET_INFORMATION 512
337#define PROCESS_QUERY_INFORMATION 1024
338#define PROCESS_SUSPEND_RESUME 2048
339#define PROCESS_QUERY_LIMITED_INFORMATION 0x1000
340#define PROCESS_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE|0xFFF)
341#define PROCESS_DUP_HANDLE 64
342#define THREAD_TERMINATE 1
343#define THREAD_SUSPEND_RESUME 2
344#define THREAD_GET_CONTEXT 8
345#define THREAD_SET_CONTEXT 16
346#define THREAD_SET_INFORMATION 32
347#define THREAD_QUERY_INFORMATION 64
348#define THREAD_SET_THREAD_TOKEN 128
349#define THREAD_IMPERSONATE 256
350#define THREAD_DIRECT_IMPERSONATION 0x200
351#define THREAD_QUERY_LIMITED_INFORMATION 0x0800
352#define THREAD_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE|0x3FF)
353#define MUTANT_QUERY_STATE 0x0001
354#define MUTANT_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE|MUTANT_QUERY_STATE)
355#define TIMER_QUERY_STATE 0x0001
356#define TIMER_MODIFY_STATE 0x0002
357#define TIMER_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE|TIMER_QUERY_STATE|TIMER_MODIFY_STATE)
358#define THREAD_BASE_PRIORITY_LOWRT 15
359#define THREAD_BASE_PRIORITY_MAX 2
360#define THREAD_BASE_PRIORITY_MIN (-2)
361#define THREAD_BASE_PRIORITY_IDLE (-15)
363#define PROCESS_SET_LIMITED_INFORMATION 0x2000
364#define THREAD_RESUME 0x1000
366#define SE_CREATE_TOKEN_NAME TEXT("SeCreateTokenPrivilege")
367#define SE_ASSIGNPRIMARYTOKEN_NAME TEXT("SeAssignPrimaryTokenPrivilege")
368#define SE_LOCK_MEMORY_NAME TEXT("SeLockMemoryPrivilege")
369#define SE_INCREASE_QUOTA_NAME TEXT("SeIncreaseQuotaPrivilege")
370#define SE_UNSOLICITED_INPUT_NAME TEXT("SeUnsolicitedInputPrivilege")
371#define SE_MACHINE_ACCOUNT_NAME TEXT("SeMachineAccountPrivilege")
372#define SE_TCB_NAME TEXT("SeTcbPrivilege")
373#define SE_SECURITY_NAME TEXT("SeSecurityPrivilege")
374#define SE_TAKE_OWNERSHIP_NAME TEXT("SeTakeOwnershipPrivilege")
375#define SE_LOAD_DRIVER_NAME TEXT("SeLoadDriverPrivilege")
376#define SE_SYSTEM_PROFILE_NAME TEXT("SeSystemProfilePrivilege")
377#define SE_SYSTEMTIME_NAME TEXT("SeSystemtimePrivilege")
378#define SE_PROF_SINGLE_PROCESS_NAME TEXT("SeProfileSingleProcessPrivilege")
379#define SE_INC_BASE_PRIORITY_NAME TEXT("SeIncreaseBasePriorityPrivilege")
380#define SE_CREATE_PAGEFILE_NAME TEXT("SeCreatePagefilePrivilege")
381#define SE_CREATE_PERMANENT_NAME TEXT("SeCreatePermanentPrivilege")
382#define SE_BACKUP_NAME TEXT("SeBackupPrivilege")
383#define SE_RESTORE_NAME TEXT("SeRestorePrivilege")
384#define SE_SHUTDOWN_NAME TEXT("SeShutdownPrivilege")
385#define SE_DEBUG_NAME TEXT("SeDebugPrivilege")
386#define SE_AUDIT_NAME TEXT("SeAuditPrivilege")
387#define SE_SYSTEM_ENVIRONMENT_NAME TEXT("SeSystemEnvironmentPrivilege")
388#define SE_CHANGE_NOTIFY_NAME TEXT("SeChangeNotifyPrivilege")
389#define SE_REMOTE_SHUTDOWN_NAME TEXT("SeRemoteShutdownPrivilege")
390#define SE_UNDOCK_NAME TEXT("SeUndockPrivilege")
391#define SE_SYNC_AGENT_NAME TEXT("SeSyncAgentPrivilege")
392#define SE_ENABLE_DELEGATION_NAME TEXT("SeEnableDelegationPrivilege")
393#define SE_MANAGE_VOLUME_NAME TEXT("SeManageVolumePrivilege")
394#define SE_IMPERSONATE_NAME TEXT("SeImpersonatePrivilege")
395#define SE_CREATE_GLOBAL_NAME TEXT("SeCreateGlobalPrivilege")
397#define SE_GROUP_MANDATORY 0x00000001
398#define SE_GROUP_ENABLED_BY_DEFAULT 0x00000002
399#define SE_GROUP_ENABLED 0x00000004
400#define SE_GROUP_OWNER 0x00000008
401#define SE_GROUP_USE_FOR_DENY_ONLY 0x00000010
402#define SE_GROUP_INTEGRITY 0x00000020
403#define SE_GROUP_INTEGRITY_ENABLED 0x00000040
404#define SE_GROUP_LOGON_ID 0xC0000000
405#define SE_GROUP_RESOURCE 0x20000000
406#define SE_GROUP_VALID_ATTRIBUTES 0xE000007F
409#define LANG_ESPERANTO 0x8f
410#define LANG_WALON 0x90
411#define LANG_CORNISH 0x92
414#define LANG_MALAGASY 0x8d
415#define LANG_GAELIC 0x94
416#define LANG_SAAMI 0x3b
417#define LANG_SUTU 0x30
418#define LANG_TSONGA 0x31
419#define LANG_VENDA 0x33
420#define LANG_MANX_GAELIC 0x94
421#define SUBLANG_PORTUGUESE_PORTUGAL 0x02
423#define PROCESSOR_INTEL_386 386
424#define PROCESSOR_INTEL_486 486
425#define PROCESSOR_INTEL_PENTIUM 586
426#define PROCESSOR_MIPS_R4000 4000
427#define PROCESSOR_ALPHA_21064 21064
428#define PROCESSOR_INTEL_IA64 2200
429#define PROCESSOR_PPC_601 601
430#define PROCESSOR_PPC_603 603
431#define PROCESSOR_PPC_604 604
432#define PROCESSOR_PPC_620 620
433#define PROCESSOR_INTEL_860 860
434#define PROCESSOR_AMD_X8664 8664
435#define PROCESSOR_MIPS_R2000 2000
436#define PROCESSOR_MIPS_R3000 3000
437#define PROCESSOR_HITACHI_SH3 10003
438#define PROCESSOR_HITACHI_SH3E 10004
439#define PROCESSOR_HITACHI_SH4 10005
440#define PROCESSOR_MOTOROLA_821 821
441#define PROCESSOR_SHx_SH3 103
442#define PROCESSOR_SHx_SH4 104
443#define PROCESSOR_STRONGARM 2577
444#define PROCESSOR_ARM720 1824
445#define PROCESSOR_ARM820 2080
446#define PROCESSOR_ARM920 2336
447#define PROCESSOR_ARM_7TDMI 70001
448#define PROCESSOR_ARCHITECTURE_INTEL 0
449#define PROCESSOR_ARCHITECTURE_MIPS 1
450#define PROCESSOR_ARCHITECTURE_ALPHA 2
451#define PROCESSOR_ARCHITECTURE_PPC 3
452#define PROCESSOR_ARCHITECTURE_SHX 4
453#define PROCESSOR_ARCHITECTURE_ARM 5
454#define PROCESSOR_ARCHITECTURE_IA64 6
455#define PROCESSOR_ARCHITECTURE_ALPHA64 7
456#define PROCESSOR_ARCHITECTURE_MSIL 8
457#define PROCESSOR_ARCHITECTURE_AMD64 9
458#define PROCESSOR_ARCHITECTURE_UNKNOWN 0xFFFF
461#define FILE_ACTION_ADDED 0x00000001
462#define FILE_ACTION_REMOVED 0x00000002
463#define FILE_ACTION_MODIFIED 0x00000003
464#define FILE_ACTION_RENAMED_OLD_NAME 0x00000004
465#define FILE_ACTION_RENAMED_NEW_NAME 0x00000005
466#define FILE_ACTION_ADDED_STREAM 0x00000006
467#define FILE_ACTION_REMOVED_STREAM 0x00000007
468#define FILE_ACTION_MODIFIED_STREAM 0x00000008
469#define FILE_ACTION_REMOVED_BY_DELETE 0x00000009
470#define FILE_ACTION_ID_NOT_TUNNELLED 0x0000000A
471#define FILE_ACTION_TUNNELLED_ID_COLLISION 0x0000000B
473#define HEAP_NO_SERIALIZE 1
474#define HEAP_GROWABLE 2
475#define HEAP_GENERATE_EXCEPTIONS 4
476#define HEAP_ZERO_MEMORY 8
477#define HEAP_REALLOC_IN_PLACE_ONLY 16
478#define HEAP_TAIL_CHECKING_ENABLED 32
479#define HEAP_FREE_CHECKING_ENABLED 64
480#define HEAP_DISABLE_COALESCE_ON_FREE 128
481#define HEAP_CREATE_ALIGN_16 0x10000
482#define HEAP_CREATE_ENABLE_TRACING 0x20000
483#define HEAP_CREATE_ENABLE_EXECUTE 0x00040000
484#define HEAP_MAXIMUM_TAG 0xFFF
485#define HEAP_PSEUDO_TAG_FLAG 0x8000
486#define HEAP_TAG_SHIFT 16
487#define HEAP_MAKE_TAG_FLAGS(b,o) ((DWORD)((b)+(o)<<16)))
489#define KEY_QUERY_VALUE 1
490#define KEY_SET_VALUE 2
491#define KEY_CREATE_SUB_KEY 4
492#define KEY_ENUMERATE_SUB_KEYS 8
494#define KEY_CREATE_LINK 32
495#define KEY_WOW64_64KEY 0x00000100
496#define KEY_WOW64_32KEY 0x00000200
497#define KEY_WOW64_RES 0x00000300
499#define KEY_WRITE 0x20006
500#define KEY_EXECUTE 0x20019
501#define KEY_READ 0x20019
502#define KEY_ALL_ACCESS 0xf003f
503#define REG_WHOLE_HIVE_VOLATILE 1
504#define REG_REFRESH_HIVE 2
505#define REG_NO_LAZY_FLUSH 4
506#define REG_FORCE_RESTORE 8
507#define REG_OPTION_RESERVED 0
508#define REG_OPTION_NON_VOLATILE 0
509#define REG_OPTION_VOLATILE 1
510#define REG_OPTION_CREATE_LINK 2
511#define REG_OPTION_BACKUP_RESTORE 4
512#define REG_OPTION_OPEN_LINK 8
513#define REG_LEGAL_OPTION 15
514#define MAXIMUM_PROCESSORS 32
515#define PAGE_NOACCESS 0x0001
516#define PAGE_READONLY 0x0002
517#define PAGE_READWRITE 0x0004
518#define PAGE_WRITECOPY 0x0008
519#define PAGE_EXECUTE 0x0010
520#define PAGE_EXECUTE_READ 0x0020
521#define PAGE_EXECUTE_READWRITE 0x0040
522#define PAGE_EXECUTE_WRITECOPY 0x0080
523#define PAGE_GUARD 0x0100
524#define PAGE_NOCACHE 0x0200
525#define PAGE_WRITECOMBINE 0x0400
526#define MEM_COMMIT 0x1000
527#define MEM_RESERVE 0x2000
528#define MEM_DECOMMIT 0x4000
529#define MEM_RELEASE 0x8000
530#define MEM_FREE 0x10000
531#define MEM_PRIVATE 0x20000
532#define MEM_MAPPED 0x40000
533#define MEM_RESET 0x80000
534#define MEM_TOP_DOWN 0x100000
535#define MEM_WRITE_WATCH 0x200000
536#define MEM_PHYSICAL 0x400000
537#define MEM_4MB_PAGES 0x80000000
538#define MEM_IMAGE SEC_IMAGE
539#define SEC_NO_CHANGE 0x00400000
540#define SEC_FILE 0x00800000
541#define SEC_IMAGE 0x01000000
542#define SEC_VLM 0x02000000
543#define SEC_RESERVE 0x04000000
544#define SEC_COMMIT 0x08000000
545#define SEC_NOCACHE 0x10000000
546#define SEC_WRITECOMBINE 0x40000000
547#define SEC_LARGE_PAGES 0x80000000
548#define SEC_IMAGE_NO_EXECUTE (SEC_IMAGE | SEC_NOCACHE)
549#define SECTION_MAP_EXECUTE_EXPLICIT 0x0020
550#define SECTION_EXTEND_SIZE 16
551#define SECTION_MAP_READ 4
552#define SECTION_MAP_WRITE 2
553#define SECTION_QUERY 1
554#define SECTION_MAP_EXECUTE 8
555#define SECTION_ALL_ACCESS 0xf001f
556#define WRITE_WATCH_FLAG_RESET 0x01
557#define MESSAGE_RESOURCE_UNICODE 1
558#define RTL_CRITSECT_TYPE 0
559#define RTL_RESOURCE_TYPE 1
561#define AT_ROUND_TO_PAGE 0x40000000
563#define IMAGE_SIZEOF_FILE_HEADER 20
564#define IMAGE_FILE_RELOCS_STRIPPED 1
565#define IMAGE_FILE_EXECUTABLE_IMAGE 2
566#define IMAGE_FILE_LINE_NUMS_STRIPPED 4
567#define IMAGE_FILE_LOCAL_SYMS_STRIPPED 8
568#define IMAGE_FILE_AGGRESIVE_WS_TRIM 16
569#define IMAGE_FILE_LARGE_ADDRESS_AWARE 32
570#define IMAGE_FILE_BYTES_REVERSED_LO 128
571#define IMAGE_FILE_32BIT_MACHINE 256
572#define IMAGE_FILE_DEBUG_STRIPPED 512
573#define IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP 1024
574#define IMAGE_FILE_NET_RUN_FROM_SWAP 2048
575#define IMAGE_FILE_SYSTEM 4096
576#define IMAGE_FILE_DLL 8192
577#define IMAGE_FILE_UP_SYSTEM_ONLY 16384
578#define IMAGE_FILE_BYTES_REVERSED_HI 32768
579#define IMAGE_FILE_MACHINE_UNKNOWN 0
581#define IMAGE_FILE_MACHINE_AM33 0x1d3
582#define IMAGE_FILE_MACHINE_AMD64 0x8664
583#define IMAGE_FILE_MACHINE_ARM 0x1c0
584#define IMAGE_FILE_MACHINE_ARMNT 0x1c4
585#define IMAGE_FILE_MACHINE_EBC 0xebc
586#define IMAGE_FILE_MACHINE_I386 0x14c
587#define IMAGE_FILE_MACHINE_IA64 0x200
588#define IMAGE_FILE_MACHINE_M32R 0x9041
589#define IMAGE_FILE_MACHINE_MIPS16 0x266
590#define IMAGE_FILE_MACHINE_MIPSFPU 0x366
591#define IMAGE_FILE_MACHINE_MIPSFPU16 0x466
592#define IMAGE_FILE_MACHINE_POWERPC 0x1f0
593#define IMAGE_FILE_MACHINE_POWERPCFP 0x1f1
594#define IMAGE_FILE_MACHINE_R4000 0x166
595#define IMAGE_FILE_MACHINE_SH3 0x1a2
596#define IMAGE_FILE_MACHINE_SH3E 0x01a4
597#define IMAGE_FILE_MACHINE_SH3DSP 0x1a3
598#define IMAGE_FILE_MACHINE_SH4 0x1a6
599#define IMAGE_FILE_MACHINE_SH5 0x1a8
600#define IMAGE_FILE_MACHINE_THUMB 0x1c2
601#define IMAGE_FILE_MACHINE_WCEMIPSV2 0x169
602#define IMAGE_FILE_MACHINE_R3000 0x162
603#define IMAGE_FILE_MACHINE_R10000 0x168
604#define IMAGE_FILE_MACHINE_ALPHA 0x184
605#define IMAGE_FILE_MACHINE_ALPHA64 0x0284
606#define IMAGE_FILE_MACHINE_AXP64 IMAGE_FILE_MACHINE_ALPHA64
607#define IMAGE_FILE_MACHINE_CEE 0xC0EE
608#define IMAGE_FILE_MACHINE_TRICORE 0x0520
609#define IMAGE_FILE_MACHINE_CEF 0x0CEF
610#define IMAGE_FILE_MACHINE_ARM64 0xAA64
612#define IMAGE_FILE_EXPORT_DIRECTORY 0
613#define IMAGE_FILE_IMPORT_DIRECTORY 1
614#define IMAGE_FILE_RESOURCE_DIRECTORY 2
615#define IMAGE_FILE_EXCEPTION_DIRECTORY 3
616#define IMAGE_FILE_SECURITY_DIRECTORY 4
617#define IMAGE_FILE_BASE_RELOCATION_TABLE 5
618#define IMAGE_FILE_DEBUG_DIRECTORY 6
619#define IMAGE_FILE_DESCRIPTION_STRING 7
620#define IMAGE_FILE_MACHINE_VALUE 8
621#define IMAGE_FILE_THREAD_LOCAL_STORAGE 9
622#define IMAGE_FILE_CALLBACK_DIRECTORY 10
624#define IMAGE_DOS_SIGNATURE 0x5A4D
625#define IMAGE_OS2_SIGNATURE 0x454E
626#define IMAGE_OS2_SIGNATURE_LE 0x454C
627#define IMAGE_VXD_SIGNATURE 0x454C
628#define IMAGE_NT_SIGNATURE 0x00004550
629#define IMAGE_NT_OPTIONAL_HDR32_MAGIC 0x10b
630#define IMAGE_NT_OPTIONAL_HDR64_MAGIC 0x20b
632#define IMAGE_NT_OPTIONAL_HDR_MAGIC IMAGE_NT_OPTIONAL_HDR64_MAGIC
634#define IMAGE_NT_OPTIONAL_HDR_MAGIC IMAGE_NT_OPTIONAL_HDR32_MAGIC
636#define IMAGE_ROM_OPTIONAL_HDR_MAGIC 0x107
637#define IMAGE_SEPARATE_DEBUG_SIGNATURE 0x4944
638#define IMAGE_NUMBEROF_DIRECTORY_ENTRIES 16
639#define IMAGE_SIZEOF_ROM_OPTIONAL_HEADER 56
640#define IMAGE_SIZEOF_STD_OPTIONAL_HEADER 28
641#define IMAGE_SIZEOF_NT_OPTIONAL_HEADER 224
642#define IMAGE_SIZEOF_SHORT_NAME 8
643#define IMAGE_SIZEOF_SECTION_HEADER 40
644#define IMAGE_SIZEOF_SYMBOL 18
645#define IMAGE_SIZEOF_AUX_SYMBOL 18
646#define IMAGE_SIZEOF_RELOCATION 10
647#define IMAGE_SIZEOF_BASE_RELOCATION 8
648#define IMAGE_SIZEOF_LINENUMBER 6
649#define IMAGE_SIZEOF_ARCHIVE_MEMBER_HDR 60
650#define SIZEOF_RFPO_DATA 16
652#define IMAGE_SUBSYSTEM_UNKNOWN 0
653#define IMAGE_SUBSYSTEM_NATIVE 1
654#define IMAGE_SUBSYSTEM_WINDOWS_GUI 2
655#define IMAGE_SUBSYSTEM_WINDOWS_CUI 3
656#define IMAGE_SUBSYSTEM_OS2_CUI 5
657#define IMAGE_SUBSYSTEM_POSIX_CUI 7
658#define IMAGE_SUBSYSTEM_NATIVE_WINDOWS 8
659#define IMAGE_SUBSYSTEM_WINDOWS_CE_GUI 9
660#define IMAGE_SUBSYSTEM_EFI_APPLICATION 10
661#define IMAGE_SUBSYSTEM_EFI_BOOT_SERVICE_DRIVER 11
662#define IMAGE_SUBSYSTEM_EFI_RUNTIME_DRIVER 12
663#define IMAGE_SUBSYSTEM_EFI_ROM 13
664#define IMAGE_SUBSYSTEM_XBOX 14
666#define IMAGE_DLLCHARACTERISTICS_DYNAMIC_BASE 0x0040
667#define IMAGE_DLLCHARACTERISTICS_FORCE_INTEGRITY 0x0080
668#define IMAGE_DLLCHARACTERISTICS_NX_COMPAT 0x0100
669#define IMAGE_DLLCHARACTERISTICS_NO_ISOLATION 0x0200
670#define IMAGE_DLLCHARACTERISTICS_NO_SEH 0x0400
671#define IMAGE_DLLCHARACTERISTICS_NO_BIND 0x0800
672#define IMAGE_DLLCHARACTERISTICS_WDM_DRIVER 0x2000
673#define IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE 0x8000
674#define IMAGE_FIRST_SECTION(h) ((PIMAGE_SECTION_HEADER) ((ULONG_PTR)h+FIELD_OFFSET(IMAGE_NT_HEADERS,OptionalHeader)+((PIMAGE_NT_HEADERS)(h))->FileHeader.SizeOfOptionalHeader))
675#define IMAGE_DIRECTORY_ENTRY_EXPORT 0
676#define IMAGE_DIRECTORY_ENTRY_IMPORT 1
677#define IMAGE_DIRECTORY_ENTRY_RESOURCE 2
678#define IMAGE_DIRECTORY_ENTRY_EXCEPTION 3
679#define IMAGE_DIRECTORY_ENTRY_SECURITY 4
680#define IMAGE_DIRECTORY_ENTRY_BASERELOC 5
681#define IMAGE_DIRECTORY_ENTRY_DEBUG 6
682#define IMAGE_DIRECTORY_ENTRY_COPYRIGHT 7
683#define IMAGE_DIRECTORY_ENTRY_GLOBALPTR 8
684#define IMAGE_DIRECTORY_ENTRY_TLS 9
685#define IMAGE_DIRECTORY_ENTRY_LOAD_CONFIG 10
686#define IMAGE_DIRECTORY_ENTRY_BOUND_IMPORT 11
687#define IMAGE_DIRECTORY_ENTRY_IAT 12
688#define IMAGE_DIRECTORY_ENTRY_DELAY_IMPORT 13
689#define IMAGE_DIRECTORY_ENTRY_COM_DESCRIPTOR 14
690#define IMAGE_SCN_TYPE_REG 0
691#define IMAGE_SCN_TYPE_DSECT 1
693#define IMAGE_SCN_TYPE_GROUP 4
694#define IMAGE_SCN_TYPE_NO_PAD 8
695#define IMAGE_SCN_CNT_CODE 32
696#define IMAGE_SCN_CNT_INITIALIZED_DATA 64
697#define IMAGE_SCN_CNT_UNINITIALIZED_DATA 128
698#define IMAGE_SCN_LNK_OTHER 256
699#define IMAGE_SCN_LNK_INFO 512
700#define IMAGE_SCN_LNK_REMOVE 2048
701#define IMAGE_SCN_LNK_COMDAT 4096
702#define IMAGE_SCN_MEM_FARDATA 0x8000
703#define IMAGE_SCN_MEM_PURGEABLE 0x20000
704#define IMAGE_SCN_MEM_16BIT 0x20000
705#define IMAGE_SCN_MEM_LOCKED 0x40000
706#define IMAGE_SCN_MEM_PRELOAD 0x80000
707#define IMAGE_SCN_ALIGN_1BYTES 0x100000
708#define IMAGE_SCN_ALIGN_2BYTES 0x200000
709#define IMAGE_SCN_ALIGN_4BYTES 0x300000
710#define IMAGE_SCN_ALIGN_8BYTES 0x400000
711#define IMAGE_SCN_ALIGN_16BYTES 0x500000
712#define IMAGE_SCN_ALIGN_32BYTES 0x600000
713#define IMAGE_SCN_ALIGN_64BYTES 0x700000
714#define IMAGE_SCN_LNK_NRELOC_OVFL 0x1000000
715#define IMAGE_SCN_MEM_DISCARDABLE 0x2000000
716#define IMAGE_SCN_MEM_NOT_CACHED 0x4000000
717#define IMAGE_SCN_MEM_NOT_PAGED 0x8000000
718#define IMAGE_SCN_MEM_SHARED 0x10000000
719#define IMAGE_SCN_MEM_EXECUTE 0x20000000
720#define IMAGE_SCN_MEM_READ 0x40000000
721#define IMAGE_SCN_MEM_WRITE 0x80000000
722#define IMAGE_SYM_UNDEFINED 0
723#define IMAGE_SYM_ABSOLUTE (-1)
724#define IMAGE_SYM_DEBUG (-2)
725#define IMAGE_SYM_TYPE_NULL 0
726#define IMAGE_SYM_TYPE_VOID 1
727#define IMAGE_SYM_TYPE_CHAR 2
728#define IMAGE_SYM_TYPE_SHORT 3
729#define IMAGE_SYM_TYPE_INT 4
730#define IMAGE_SYM_TYPE_LONG 5
731#define IMAGE_SYM_TYPE_FLOAT 6
732#define IMAGE_SYM_TYPE_DOUBLE 7
733#define IMAGE_SYM_TYPE_STRUCT 8
734#define IMAGE_SYM_TYPE_UNION 9
735#define IMAGE_SYM_TYPE_ENUM 10
736#define IMAGE_SYM_TYPE_MOE 11
737#define IMAGE_SYM_TYPE_BYTE 12
738#define IMAGE_SYM_TYPE_WORD 13
739#define IMAGE_SYM_TYPE_UINT 14
740#define IMAGE_SYM_TYPE_DWORD 15
741#define IMAGE_SYM_TYPE_PCODE 32768
742#define IMAGE_SYM_DTYPE_NULL 0
743#define IMAGE_SYM_DTYPE_POINTER 1
744#define IMAGE_SYM_DTYPE_FUNCTION 2
745#define IMAGE_SYM_DTYPE_ARRAY 3
746#define IMAGE_SYM_CLASS_END_OF_FUNCTION (-1)
747#define IMAGE_SYM_CLASS_NULL 0
748#define IMAGE_SYM_CLASS_AUTOMATIC 1
749#define IMAGE_SYM_CLASS_EXTERNAL 2
750#define IMAGE_SYM_CLASS_STATIC 3
751#define IMAGE_SYM_CLASS_REGISTER 4
752#define IMAGE_SYM_CLASS_EXTERNAL_DEF 5
753#define IMAGE_SYM_CLASS_LABEL 6
754#define IMAGE_SYM_CLASS_UNDEFINED_LABEL 7
755#define IMAGE_SYM_CLASS_MEMBER_OF_STRUCT 8
756#define IMAGE_SYM_CLASS_ARGUMENT 9
757#define IMAGE_SYM_CLASS_STRUCT_TAG 10
758#define IMAGE_SYM_CLASS_MEMBER_OF_UNION 11
759#define IMAGE_SYM_CLASS_UNION_TAG 12
760#define IMAGE_SYM_CLASS_TYPE_DEFINITION 13
761#define IMAGE_SYM_CLASS_UNDEFINED_STATIC 14
762#define IMAGE_SYM_CLASS_ENUM_TAG 15
763#define IMAGE_SYM_CLASS_MEMBER_OF_ENUM 16
764#define IMAGE_SYM_CLASS_REGISTER_PARAM 17
765#define IMAGE_SYM_CLASS_BIT_FIELD 18
766#define IMAGE_SYM_CLASS_FAR_EXTERNAL 68
767#define IMAGE_SYM_CLASS_BLOCK 100
768#define IMAGE_SYM_CLASS_FUNCTION 101
769#define IMAGE_SYM_CLASS_END_OF_STRUCT 102
770#define IMAGE_SYM_CLASS_FILE 103
771#define IMAGE_SYM_CLASS_SECTION 104
772#define IMAGE_SYM_CLASS_WEAK_EXTERNAL 105
773#define IMAGE_COMDAT_SELECT_NODUPLICATES 1
774#define IMAGE_COMDAT_SELECT_ANY 2
775#define IMAGE_COMDAT_SELECT_SAME_SIZE 3
776#define IMAGE_COMDAT_SELECT_EXACT_MATCH 4
777#define IMAGE_COMDAT_SELECT_ASSOCIATIVE 5
778#define IMAGE_COMDAT_SELECT_LARGEST 6
779#define IMAGE_COMDAT_SELECT_NEWEST 7
780#define IMAGE_WEAK_EXTERN_SEARCH_NOLIBRARY 1
781#define IMAGE_WEAK_EXTERN_SEARCH_LIBRARY 2
782#define IMAGE_WEAK_EXTERN_SEARCH_ALIAS 3
783#define IMAGE_REL_I386_ABSOLUTE 0
784#define IMAGE_REL_I386_DIR16 1
785#define IMAGE_REL_I386_REL16 2
786#define IMAGE_REL_I386_DIR32 6
787#define IMAGE_REL_I386_DIR32NB 7
788#define IMAGE_REL_I386_SEG12 9
789#define IMAGE_REL_I386_SECTION 10
790#define IMAGE_REL_I386_SECREL 11
791#define IMAGE_REL_I386_REL32 20
792#define IMAGE_REL_MIPS_ABSOLUTE 0
793#define IMAGE_REL_MIPS_REFHALF 1
794#define IMAGE_REL_MIPS_REFWORD 2
795#define IMAGE_REL_MIPS_JMPADDR 3
796#define IMAGE_REL_MIPS_REFHI 4
797#define IMAGE_REL_MIPS_REFLO 5
798#define IMAGE_REL_MIPS_GPREL 6
799#define IMAGE_REL_MIPS_LITERAL 7
800#define IMAGE_REL_MIPS_SECTION 10
801#define IMAGE_REL_MIPS_SECREL 11
802#define IMAGE_REL_MIPS_SECRELLO 12
803#define IMAGE_REL_MIPS_SECRELHI 13
804#define IMAGE_REL_MIPS_REFWORDNB 34
805#define IMAGE_REL_MIPS_PAIR 35
806#define IMAGE_REL_ALPHA_ABSOLUTE 0
807#define IMAGE_REL_ALPHA_REFLONG 1
808#define IMAGE_REL_ALPHA_REFQUAD 2
809#define IMAGE_REL_ALPHA_GPREL32 3
810#define IMAGE_REL_ALPHA_LITERAL 4
811#define IMAGE_REL_ALPHA_LITUSE 5
812#define IMAGE_REL_ALPHA_GPDISP 6
813#define IMAGE_REL_ALPHA_BRADDR 7
814#define IMAGE_REL_ALPHA_HINT 8
815#define IMAGE_REL_ALPHA_INLINE_REFLONG 9
816#define IMAGE_REL_ALPHA_REFHI 10
817#define IMAGE_REL_ALPHA_REFLO 11
818#define IMAGE_REL_ALPHA_PAIR 12
819#define IMAGE_REL_ALPHA_MATCH 13
820#define IMAGE_REL_ALPHA_SECTION 14
821#define IMAGE_REL_ALPHA_SECREL 15
822#define IMAGE_REL_ALPHA_REFLONGNB 16
823#define IMAGE_REL_ALPHA_SECRELLO 17
824#define IMAGE_REL_ALPHA_SECRELHI 18
825#define IMAGE_REL_PPC_ABSOLUTE 0
826#define IMAGE_REL_PPC_ADDR64 1
827#define IMAGE_REL_PPC_ADDR32 2
828#define IMAGE_REL_PPC_ADDR24 3
829#define IMAGE_REL_PPC_ADDR16 4
830#define IMAGE_REL_PPC_ADDR14 5
831#define IMAGE_REL_PPC_REL24 6
832#define IMAGE_REL_PPC_REL14 7
833#define IMAGE_REL_PPC_TOCREL16 8
834#define IMAGE_REL_PPC_TOCREL14 9
835#define IMAGE_REL_PPC_ADDR32NB 10
836#define IMAGE_REL_PPC_SECREL 11
837#define IMAGE_REL_PPC_SECTION 12
838#define IMAGE_REL_PPC_IFGLUE 13
839#define IMAGE_REL_PPC_IMGLUE 14
840#define IMAGE_REL_PPC_SECREL16 15
841#define IMAGE_REL_PPC_REFHI 16
842#define IMAGE_REL_PPC_REFLO 17
843#define IMAGE_REL_PPC_PAIR 18
844#define IMAGE_REL_PPC_TYPEMASK 255
845#define IMAGE_REL_PPC_NEG 256
846#define IMAGE_REL_PPC_BRTAKEN 512
847#define IMAGE_REL_PPC_BRNTAKEN 1024
848#define IMAGE_REL_PPC_TOCDEFN 2048
849#define IMAGE_REL_BASED_ABSOLUTE 0
850#define IMAGE_REL_BASED_HIGH 1
851#define IMAGE_REL_BASED_LOW 2
852#define IMAGE_REL_BASED_HIGHLOW 3
853#define IMAGE_REL_BASED_HIGHADJ 4
854#define IMAGE_REL_BASED_MIPS_JMPADDR 5
855#define IMAGE_REL_BASED_MIPS_JMPADDR16 9
856#define IMAGE_REL_BASED_IA64_IMM64 9
857#define IMAGE_REL_BASED_DIR64 10
858#define IMAGE_ARCHIVE_START_SIZE 8
859#define IMAGE_ARCHIVE_START "!<arch>\n"
860#define IMAGE_ARCHIVE_END "`\n"
861#define IMAGE_ARCHIVE_PAD "\n"
862#define IMAGE_ARCHIVE_LINKER_MEMBER "/ "
863#define IMAGE_ARCHIVE_LONGNAMES_MEMBER "// "
864#define IMAGE_RESOURCE_NAME_IS_STRING 0x80000000
865#define IMAGE_RESOURCE_DATA_IS_DIRECTORY 0x80000000
866#define IMAGE_DEBUG_TYPE_UNKNOWN 0
867#define IMAGE_DEBUG_TYPE_COFF 1
868#define IMAGE_DEBUG_TYPE_CODEVIEW 2
869#define IMAGE_DEBUG_TYPE_FPO 3
870#define IMAGE_DEBUG_TYPE_MISC 4
871#define IMAGE_DEBUG_TYPE_EXCEPTION 5
872#define IMAGE_DEBUG_TYPE_FIXUP 6
873#define IMAGE_DEBUG_TYPE_OMAP_TO_SRC 7
874#define IMAGE_DEBUG_TYPE_OMAP_FROM_SRC 8
878#define FRAME_NONFPO 3
879#define IMAGE_DEBUG_MISC_EXENAME 1
880#define N_BTMASK 0x000F
881#define N_TMASK 0x0030
882#define N_TMASK1 0x00C0
883#define N_TMASK2 0x00F0
886#define IS_TEXT_UNICODE_ASCII16 1
887#define IS_TEXT_UNICODE_REVERSE_ASCII16 16
888#define IS_TEXT_UNICODE_STATISTICS 2
889#define IS_TEXT_UNICODE_REVERSE_STATISTICS 32
890#define IS_TEXT_UNICODE_CONTROLS 4
891#define IS_TEXT_UNICODE_REVERSE_CONTROLS 64
892#define IS_TEXT_UNICODE_SIGNATURE 8
893#define IS_TEXT_UNICODE_REVERSE_SIGNATURE 128
894#define IS_TEXT_UNICODE_ILLEGAL_CHARS 256
895#define IS_TEXT_UNICODE_ODD_LENGTH 512
896#define IS_TEXT_UNICODE_DBCS_LEADBYTE 1024
897#define IS_TEXT_UNICODE_NULL_BYTES 4096
898#define IS_TEXT_UNICODE_UNICODE_MASK 15
899#define IS_TEXT_UNICODE_REVERSE_MASK 240
900#define IS_TEXT_UNICODE_NOT_UNICODE_MASK 3840
901#define IS_TEXT_UNICODE_NOT_ASCII_MASK 61440
902#define SERVICE_KERNEL_DRIVER 1
903#define SERVICE_FILE_SYSTEM_DRIVER 2
904#define SERVICE_ADAPTER 4
905#define SERVICE_RECOGNIZER_DRIVER 8
906#define SERVICE_DRIVER (SERVICE_KERNEL_DRIVER|SERVICE_FILE_SYSTEM_DRIVER|SERVICE_RECOGNIZER_DRIVER)
907#define SERVICE_WIN32_OWN_PROCESS 16
908#define SERVICE_WIN32_SHARE_PROCESS 32
909#define SERVICE_WIN32 (SERVICE_WIN32_OWN_PROCESS|SERVICE_WIN32_SHARE_PROCESS)
910#define SERVICE_INTERACTIVE_PROCESS 256
911#define SERVICE_TYPE_ALL (SERVICE_WIN32|SERVICE_ADAPTER|SERVICE_DRIVER|SERVICE_INTERACTIVE_PROCESS)
912#define SERVICE_BOOT_START 0
913#define SERVICE_SYSTEM_START 1
914#define SERVICE_AUTO_START 2
915#define SERVICE_DEMAND_START 3
916#define SERVICE_DISABLED 4
917#define SERVICE_ERROR_IGNORE 0
918#define SERVICE_ERROR_NORMAL 1
919#define SERVICE_ERROR_SEVERE 2
920#define SERVICE_ERROR_CRITICAL 3
922#define DLL_PROCESS_DETACH 0
923#define DLL_PROCESS_ATTACH 1
924#define DLL_THREAD_ATTACH 2
925#define DLL_THREAD_DETACH 3
927#define DLL_WINE_PREATTACH 8
929#define TAPE_ABSOLUTE_POSITION 0
930#define TAPE_LOGICAL_POSITION 1
931#define TAPE_PSEUDO_LOGICAL_POSITION 2
933#define TAPE_ABSOLUTE_BLOCK 1
934#define TAPE_LOGICAL_BLOCK 2
935#define TAPE_PSEUDO_LOGICAL_BLOCK 3
936#define TAPE_SPACE_END_OF_DATA 4
937#define TAPE_SPACE_RELATIVE_BLOCKS 5
938#define TAPE_SPACE_FILEMARKS 6
939#define TAPE_SPACE_SEQUENTIAL_FMKS 7
940#define TAPE_SPACE_SETMARKS 8
941#define TAPE_SPACE_SEQUENTIAL_SMKS 9
942#define TAPE_DRIVE_FIXED 1
943#define TAPE_DRIVE_SELECT 2
944#define TAPE_DRIVE_INITIATOR 4
945#define TAPE_DRIVE_ERASE_SHORT 16
946#define TAPE_DRIVE_ERASE_LONG 32
947#define TAPE_DRIVE_ERASE_BOP_ONLY 64
948#define TAPE_DRIVE_ERASE_IMMEDIATE 128
949#define TAPE_DRIVE_TAPE_CAPACITY 256
950#define TAPE_DRIVE_TAPE_REMAINING 512
951#define TAPE_DRIVE_FIXED_BLOCK 1024
952#define TAPE_DRIVE_VARIABLE_BLOCK 2048
953#define TAPE_DRIVE_WRITE_PROTECT 4096
954#define TAPE_DRIVE_EOT_WZ_SIZE 8192
955#define TAPE_DRIVE_ECC 0x10000
956#define TAPE_DRIVE_COMPRESSION 0x20000
957#define TAPE_DRIVE_PADDING 0x40000
958#define TAPE_DRIVE_REPORT_SMKS 0x80000
959#define TAPE_DRIVE_GET_ABSOLUTE_BLK 0x100000
960#define TAPE_DRIVE_GET_LOGICAL_BLK 0x200000
961#define TAPE_DRIVE_SET_EOT_WZ_SIZE 0x400000
962#define TAPE_DRIVE_EJECT_MEDIA 0x1000000
963#define TAPE_DRIVE_CLEAN_REQUESTS 0x2000000
964#define TAPE_DRIVE_SET_CMP_BOP_ONLY 0x4000000
965#define TAPE_DRIVE_RESERVED_BIT 0x80000000
966#define TAPE_DRIVE_LOAD_UNLOAD 0x80000001
967#define TAPE_DRIVE_TENSION 0x80000002
968#define TAPE_DRIVE_LOCK_UNLOCK 0x80000004
969#define TAPE_DRIVE_REWIND_IMMEDIATE 0x80000008
970#define TAPE_DRIVE_SET_BLOCK_SIZE 0x80000010
971#define TAPE_DRIVE_LOAD_UNLD_IMMED 0x80000020
972#define TAPE_DRIVE_TENSION_IMMED 0x80000040
973#define TAPE_DRIVE_LOCK_UNLK_IMMED 0x80000080
974#define TAPE_DRIVE_SET_ECC 0x80000100
975#define TAPE_DRIVE_SET_COMPRESSION 0x80000200
976#define TAPE_DRIVE_SET_PADDING 0x80000400
977#define TAPE_DRIVE_SET_REPORT_SMKS 0x80000800
978#define TAPE_DRIVE_ABSOLUTE_BLK 0x80001000
979#define TAPE_DRIVE_ABS_BLK_IMMED 0x80002000
980#define TAPE_DRIVE_LOGICAL_BLK 0x80004000
981#define TAPE_DRIVE_LOG_BLK_IMMED 0x80008000
982#define TAPE_DRIVE_END_OF_DATA 0x80010000
983#define TAPE_DRIVE_RELATIVE_BLKS 0x80020000
984#define TAPE_DRIVE_FILEMARKS 0x80040000
985#define TAPE_DRIVE_SEQUENTIAL_FMKS 0x80080000
986#define TAPE_DRIVE_SETMARKS 0x80100000
987#define TAPE_DRIVE_SEQUENTIAL_SMKS 0x80200000
988#define TAPE_DRIVE_REVERSE_POSITION 0x80400000
989#define TAPE_DRIVE_SPACE_IMMEDIATE 0x80800000
990#define TAPE_DRIVE_WRITE_SETMARKS 0x81000000
991#define TAPE_DRIVE_WRITE_FILEMARKS 0x82000000
992#define TAPE_DRIVE_WRITE_SHORT_FMKS 0x84000000
993#define TAPE_DRIVE_WRITE_LONG_FMKS 0x88000000
994#define TAPE_DRIVE_WRITE_MARK_IMMED 0x90000000
995#define TAPE_DRIVE_FORMAT 0xA0000000
996#define TAPE_DRIVE_FORMAT_IMMEDIATE 0xC0000000
997#define TAPE_DRIVE_HIGH_FEATURES 0x80000000
998#define TAPE_FIXED_PARTITIONS 0
999#define TAPE_INITIATOR_PARTITIONS 2
1000#define TAPE_SELECT_PARTITIONS 1
1001#define TAPE_FILEMARKS 1
1002#define TAPE_LONG_FILEMARKS 3
1003#define TAPE_SETMARKS 0
1004#define TAPE_SHORT_FILEMARKS 2
1005#define TAPE_ERASE_LONG 1
1006#define TAPE_ERASE_SHORT 0
1008#define TAPE_UNLOAD 1
1009#define TAPE_TENSION 2
1011#define TAPE_UNLOCK 4
1012#define TAPE_FORMAT 5
1013#if (_WIN32_WINNT >= 0x0500)
1014#define VER_MINORVERSION 0x0000001
1015#define VER_MAJORVERSION 0x0000002
1016#define VER_BUILDNUMBER 0x0000004
1017#define VER_PLATFORMID 0x0000008
1018#define VER_SERVICEPACKMINOR 0x0000010
1019#define VER_SERVICEPACKMAJOR 0x0000020
1020#define VER_SUITENAME 0x0000040
1021#define VER_PRODUCT_TYPE 0x0000080
1023#define VER_GREATER 2
1024#define VER_GREATER_EQUAL 3
1026#define VER_LESS_EQUAL 5
1031#define VER_PLATFORM_WIN32s 0
1032#define VER_PLATFORM_WIN32_WINDOWS 1
1033#define VER_PLATFORM_WIN32_NT 2
1034#define VER_NT_WORKSTATION 1
1035#define VER_NT_DOMAIN_CONTROLLER 2
1036#define VER_NT_SERVER 3
1038#define WT_EXECUTEDEFAULT 0x00000000
1039#define WT_EXECUTEINIOTHREAD 0x00000001
1040#define WT_EXECUTEINUITHREAD 0x00000002
1041#define WT_EXECUTEINWAITTHREAD 0x00000004
1042#define WT_EXECUTEONLYONCE 0x00000008
1043#define WT_EXECUTELONGFUNCTION 0x00000010
1044#define WT_EXECUTEINTIMERTHREAD 0x00000020
1045#define WT_EXECUTEINPERSISTENTIOTHREAD 0x00000040
1046#define WT_EXECUTEINPERSISTENTTHREAD 0x00000080
1047#define WT_TRANSFER_IMPERSONATION 0x00000100
1048#define WT_SET_MAX_THREADPOOL_THREADS(flags,limit) ((flags)|=(limit)<<16)
1050#if (_WIN32_WINNT >= 0x0501)
1051#define ACTIVATION_CONTEXT_SECTION_ASSEMBLY_INFORMATION 1
1052#define ACTIVATION_CONTEXT_SECTION_DLL_REDIRECTION 2
1053#define ACTIVATION_CONTEXT_SECTION_WINDOW_CLASS_REDIRECTION 3
1054#define ACTIVATION_CONTEXT_SECTION_COM_SERVER_REDIRECTION 4
1055#define ACTIVATION_CONTEXT_SECTION_COM_INTERFACE_REDIRECTION 5
1056#define ACTIVATION_CONTEXT_SECTION_COM_TYPE_LIBRARY_REDIRECTION 6
1057#define ACTIVATION_CONTEXT_SECTION_COM_PROGID_REDIRECTION 7
1058#define ACTIVATION_CONTEXT_SECTION_CLR_SURROGATES 9
1059#define ACTIVATION_CONTEXT_SECTION_APPLICATION_SETTINGS 10
1060#define ACTIVATION_CONTEXT_SECTION_COMPATIBILITY_INFO 11
1062#define BTYPE(x) ((x)&N_BTMASK)
1063#define ISPTR(x) (((x)&N_TMASK)==(IMAGE_SYM_DTYPE_POINTER<<N_BTSHFT))
1064#define ISFCN(x) (((x)&N_TMASK)==(IMAGE_SYM_DTYPE_FUNCTION<<N_BTSHFT))
1065#define ISARY(x) (((x)&N_TMASK)==(IMAGE_SYM_DTYPE_ARRAY<<N_BTSHFT))
1066#define ISTAG(x) ((x)==IMAGE_SYM_CLASS_STRUCT_TAG||(x)==IMAGE_SYM_CLASS_UNION_TAG||(x)==IMAGE_SYM_CLASS_ENUM_TAG)
1067#define INCREF(x) ((((x)&~N_BTMASK)<<N_TSHIFT)|(IMAGE_SYM_DTYPE_POINTER<<N_BTSHFT)|((x)&N_BTMASK))
1068#define DECREF(x) ((((x)>>N_TSHIFT)&~N_BTMASK)|((x)&N_BTMASK))
1069#define TLS_MINIMUM_AVAILABLE 64
1070#define FLS_MAXIMUM_AVAILABLE 128
1071#define REPARSE_GUID_DATA_BUFFER_HEADER_SIZE FIELD_OFFSET(REPARSE_GUID_DATA_BUFFER, GenericReparseBuffer)
1072#define MAXIMUM_REPARSE_DATA_BUFFER_SIZE 16384
1073#define IO_REPARSE_TAG_RESERVED_ZERO 0
1074#define IO_REPARSE_TAG_RESERVED_ONE 1
1075#define IO_REPARSE_TAG_RESERVED_RANGE IO_REPARSE_TAG_RESERVED_ONE
1076#define IsReparseTagMicrosoft(x) ((x)&0x80000000)
1077#define IsReparseTagHighLatency(x) ((x)&0x40000000)
1078#define IsReparseTagNameSurrogate(x) ((x)&0x20000000)
1079#define IO_REPARSE_TAG_VALID_VALUES 0xE000FFFF
1080#define IsReparseTagValid(x) (!((x)&~IO_REPARSE_TAG_VALID_VALUES)&&((x)>IO_REPARSE_TAG_RESERVED_RANGE))
1081#define IO_REPARSE_TAG_SYMBOLIC_LINK IO_REPARSE_TAG_RESERVED_ZERO
1082#define IO_REPARSE_TAG_MOUNT_POINT 0xA0000003
1083#define IO_REPARSE_TAG_SYMLINK 0xA000000CL
1085#define RTL_CRITICAL_SECTION_FLAG_NO_DEBUG_INFO 0x01000000
1086#define RTL_CRITICAL_SECTION_FLAG_DYNAMIC_SPIN 0x02000000
1087#define RTL_CRITICAL_SECTION_FLAG_STATIC_INIT 0x04000000
1088#define RTL_CRITICAL_SECTION_FLAG_RESOURCE_TYPE 0x08000000
1089#define RTL_CRITICAL_SECTION_FLAG_FORCE_DEBUG_INFO 0x10000000
1090#define RTL_CRITICAL_SECTION_ALL_FLAG_BITS 0xFF000000
1091#define RTL_CRITICAL_SECTION_FLAG_RESERVED \
1092 (RTL_CRITICAL_SECTION_ALL_FLAG_BITS & \
1093 (~(RTL_CRITICAL_SECTION_FLAG_NO_DEBUG_INFO | \
1094 RTL_CRITICAL_SECTION_FLAG_DYNAMIC_SPIN | \
1095 RTL_CRITICAL_SECTION_FLAG_STATIC_INIT | \
1096 RTL_CRITICAL_SECTION_FLAG_RESOURCE_TYPE | \
1097 RTL_CRITICAL_SECTION_FLAG_FORCE_DEBUG_INFO)))
1102# warning _GUID_DEFINED is deprecated, use GUID_DEFINED instead
1105#if ! (defined _GUID_DEFINED || defined GUID_DEFINED)
1107typedef struct _GUID {
1108 unsigned long Data1;
1109 unsigned short Data2;
1110 unsigned short Data3;
1111 unsigned char Data4[8];
1130#ifndef _LDT_ENTRY_DEFINED
1131#define _LDT_ENTRY_DEFINED
1162#define SIZE_OF_80387_REGISTERS 80
1163#define CONTEXT_i386 0x10000
1164#define CONTEXT_i486 0x10000
1165#define CONTEXT_CONTROL (CONTEXT_i386|0x00000001L)
1166#define CONTEXT_INTEGER (CONTEXT_i386|0x00000002L)
1167#define CONTEXT_SEGMENTS (CONTEXT_i386|0x00000004L)
1168#define CONTEXT_FLOATING_POINT (CONTEXT_i386|0x00000008L)
1169#define CONTEXT_DEBUG_REGISTERS (CONTEXT_i386|0x00000010L)
1170#define CONTEXT_EXTENDED_REGISTERS (CONTEXT_i386|0x00000020L)
1171#define CONTEXT_FULL (CONTEXT_CONTROL|CONTEXT_INTEGER|CONTEXT_SEGMENTS)
1172#define CONTEXT_ALL (CONTEXT_CONTROL | CONTEXT_INTEGER | CONTEXT_SEGMENTS | \
1173 CONTEXT_FLOATING_POINT | CONTEXT_DEBUG_REGISTERS | \
1174 CONTEXT_EXTENDED_REGISTERS)
1175#define MAXIMUM_SUPPORTED_EXTENSION 512
1177#define EXCEPTION_READ_FAULT 0
1178#define EXCEPTION_WRITE_FAULT 1
1179#define EXCEPTION_EXECUTE_FAULT 8
1220#elif defined(_AMD64_)
1222#define CONTEXT_AMD64 0x100000
1224#if !defined(RC_INVOKED)
1225#define CONTEXT_CONTROL (CONTEXT_AMD64 | 0x1L)
1226#define CONTEXT_INTEGER (CONTEXT_AMD64 | 0x2L)
1227#define CONTEXT_SEGMENTS (CONTEXT_AMD64 | 0x4L)
1228#define CONTEXT_FLOATING_POINT (CONTEXT_AMD64 | 0x8L)
1229#define CONTEXT_DEBUG_REGISTERS (CONTEXT_AMD64 | 0x10L)
1231#define CONTEXT_FULL (CONTEXT_CONTROL | CONTEXT_INTEGER | CONTEXT_FLOATING_POINT)
1232#define CONTEXT_ALL (CONTEXT_CONTROL | CONTEXT_INTEGER | CONTEXT_SEGMENTS | CONTEXT_FLOATING_POINT | CONTEXT_DEBUG_REGISTERS)
1234#define CONTEXT_EXCEPTION_ACTIVE 0x8000000
1235#define CONTEXT_SERVICE_ACTIVE 0x10000000
1236#define CONTEXT_EXCEPTION_REQUEST 0x40000000
1237#define CONTEXT_EXCEPTION_REPORTING 0x80000000
1240#define INITIAL_MXCSR 0x1f80
1241#define INITIAL_FPCSR 0x027f
1242#define EXCEPTION_READ_FAULT 0
1243#define EXCEPTION_WRITE_FAULT 1
1244#define EXCEPTION_EXECUTE_FAULT 8
1251typedef struct _XMM_SAVE_AREA32 {
1265 M128A FloatRegisters[8];
1266 M128A XmmRegisters[16];
1346 M128A VectorRegister[26];
1358typedef struct _KNONVOLATILE_CONTEXT_POINTERS {
1360 PM128A FloatingContext[16];
1402} KNONVOLATILE_CONTEXT_POINTERS, *PKNONVOLATILE_CONTEXT_POINTERS;
1404#define UNW_FLAG_NHANDLER 0x0
1405#define UNW_FLAG_EHANDLER 0x1
1406#define UNW_FLAG_UHANDLER 0x2
1407#define UNW_FLAG_CHAININFO 0x4
1408#define UNW_FLAG_NO_EPILOGUE 0x80000000UL
1410#define RUNTIME_FUNCTION_INDIRECT 0x1
1418#define UNWIND_HISTORY_TABLE_SIZE 12
1420typedef struct _UNWIND_HISTORY_TABLE_ENTRY
1424} UNWIND_HISTORY_TABLE_ENTRY, *PUNWIND_HISTORY_TABLE_ENTRY;
1426typedef struct _UNWIND_HISTORY_TABLE
1435 UNWIND_HISTORY_TABLE_ENTRY
Entry[UNWIND_HISTORY_TABLE_SIZE];
1436} UNWIND_HISTORY_TABLE, *PUNWIND_HISTORY_TABLE;
1441GET_RUNTIME_FUNCTION_CALLBACK(
1444typedef GET_RUNTIME_FUNCTION_CALLBACK *PGET_RUNTIME_FUNCTION_CALLBACK;
1449OUT_OF_PROCESS_FUNCTION_TABLE_CALLBACK(
1454typedef OUT_OF_PROCESS_FUNCTION_TABLE_CALLBACK *POUT_OF_PROCESS_FUNCTION_TABLE_CALLBACK;
1459(*PEXCEPTION_FILTER) (
1465(*PTERMINATION_HANDLER) (
1484typedef struct _SCOPE_TABLE_AMD64
1491 DWORD HandlerAddress;
1494} SCOPE_TABLE_AMD64, *PSCOPE_TABLE_AMD64;
1495typedef SCOPE_TABLE_AMD64 SCOPE_TABLE, *PSCOPE_TABLE;
1497#define OUT_OF_PROCESS_FUNCTION_TABLE_CALLBACK_EXPORT_NAME "OutOfProcessFunctionTableCallback"
1518 PGET_RUNTIME_FUNCTION_CALLBACK
Callback,
1520 PCWSTR OutOfProcessCallbackDll);
1546 _Inout_opt_ PKNONVOLATILE_CONTEXT_POINTERS ContextPointers);
1557 _In_opt_ PUNWIND_HISTORY_TABLE HistoryTable);
1560#define CONTEXT_CONTROL 1L
1561#define CONTEXT_FLOATING_POINT 2L
1562#define CONTEXT_INTEGER 4L
1563#define CONTEXT_DEBUG_REGISTERS 8L
1564#define CONTEXT_FULL (CONTEXT_CONTROL|CONTEXT_FLOATING_POINT|CONTEXT_INTEGER)
1653#elif defined(_ALPHA_)
1654#define CONTEXT_ALPHA 0x20000
1655#define CONTEXT_CONTROL (CONTEXT_ALPHA|1L)
1656#define CONTEXT_FLOATING_POINT (CONTEXT_ALPHA|2L)
1657#define CONTEXT_INTEGER (CONTEXT_ALPHA|4L)
1658#define CONTEXT_FULL (CONTEXT_CONTROL|CONTEXT_FLOATING_POINT|CONTEXT_INTEGER)
1734typedef struct _DEBUG_REGISTERS {
1747} DEBUG_REGISTERS, *PDEBUG_REGISTERS;
1751#define CONTEXT_SH3 0x00000040
1752#define CONTEXT_SH4 0x000000c0
1755#define CONTEXT_CONTROL (CONTEXT_SH3 | 0x00000001L)
1756#define CONTEXT_INTEGER (CONTEXT_SH3 | 0x00000002L)
1757#define CONTEXT_DEBUG_REGISTERS (CONTEXT_SH3 | 0x00000008L)
1758#define CONTEXT_FULL (CONTEXT_CONTROL | CONTEXT_INTEGER | CONTEXT_DEBUG_REGISTERS)
1760#define CONTEXT_CONTROL (CONTEXT_SH4 | 0x00000001L)
1761#define CONTEXT_INTEGER (CONTEXT_SH4 | 0x00000002L)
1762#define CONTEXT_DEBUG_REGISTERS (CONTEXT_SH4 | 0x00000008L)
1763#define CONTEXT_FLOATING_POINT (CONTEXT_SH4 | 0x00000004L)
1764#define CONTEXT_FULL (CONTEXT_CONTROL | CONTEXT_INTEGER | CONTEXT_DEBUG_REGISTERS | CONTEXT_FLOATING_POINT)
1830#if !defined(SH3e) && !defined(SH4)
1832 DEBUG_REGISTERS DebugRegisters;
1843#elif defined(_MIPS_)
1847#define CONTEXT_R4000 0x00010000
1849#define CONTEXT_CONTROL (CONTEXT_R4000 | 0x00000001L)
1850#define CONTEXT_FLOATING_POINT (CONTEXT_R4000 | 0x00000002L)
1851#define CONTEXT_INTEGER (CONTEXT_R4000 | 0x00000004L)
1853#define CONTEXT_FULL (CONTEXT_CONTROL | CONTEXT_FLOATING_POINT | CONTEXT_INTEGER)
1994#define PAGE_SIZE 0x1000
1999#define CONTEXT_ARM 0x200000L
2000#define CONTEXT_CONTROL (CONTEXT_ARM | 0x00000001L)
2001#define CONTEXT_INTEGER (CONTEXT_ARM | 0x00000002L)
2002#define CONTEXT_FLOATING_POINT (CONTEXT_ARM | 0x00000004L)
2003#define CONTEXT_DEBUG_REGISTERS (CONTEXT_ARM | 0x00000008L)
2004#define CONTEXT_FULL (CONTEXT_CONTROL | CONTEXT_INTEGER | CONTEXT_FLOATING_POINT)
2006#define EXCEPTION_READ_FAULT 0
2007#define EXCEPTION_WRITE_FAULT 1
2008#define EXCEPTION_EXECUTE_FAULT 8
2010typedef struct _NEON128
2016#define ARM_MAX_BREAKPOINTS 8
2017#define ARM_MAX_WATCHPOINTS 1
2078typedef struct _IMAGE_ARM_RUNTIME_FUNCTION_ENTRY
2087 DWORD FunctionLength : 11;
2094 DWORD StackAdjust : 10;
2097} IMAGE_ARM_RUNTIME_FUNCTION_ENTRY, *PIMAGE_ARM_RUNTIME_FUNCTION_ENTRY;
2100typedef struct _SCOPE_TABLE_ARM
2107 DWORD HandlerAddress;
2110} SCOPE_TABLE_ARM, *PSCOPE_TABLE_ARM;
2111typedef SCOPE_TABLE_ARM SCOPE_TABLE, *PSCOPE_TABLE;
2130#elif defined(_ARM64_)
2132#define CONTEXT_ARM64 0x00400000L
2133#define CONTEXT_CONTROL (CONTEXT_ARM64 | 0x1L)
2134#define CONTEXT_INTEGER (CONTEXT_ARM64 | 0x2L)
2135#define CONTEXT_FLOATING_POINT (CONTEXT_ARM64 | 0x4L)
2136#define CONTEXT_DEBUG_REGISTERS (CONTEXT_ARM64 | 0x8L)
2137#define CONTEXT_X18 (CONTEXT_ARM64 | 0x10L)
2138#define CONTEXT_FULL (CONTEXT_CONTROL | CONTEXT_INTEGER | CONTEXT_FLOATING_POINT)
2141#define EXCEPTION_READ_FAULT 0
2142#define EXCEPTION_WRITE_FAULT 1
2143#define EXCEPTION_EXECUTE_FAULT 8
2156#define ARM64_MAX_BREAKPOINTS 8
2157#define ARM64_MAX_WATCHPOINTS 2
2232typedef struct _IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY {
2238 DWORD FunctionLength : 11;
2243 DWORD FrameSize : 9;
2246} IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY, * PIMAGE_ARM64_RUNTIME_FUNCTION_ENTRY;
2249typedef struct _SCOPE_TABLE_ARM64 {
2255 DWORD HandlerAddress;
2258} SCOPE_TABLE_ARM64, *PSCOPE_TABLE_ARM64;
2259typedef SCOPE_TABLE_ARM64 SCOPE_TABLE, *PSCOPE_TABLE;
2276#error "undefined processor type"
2281#define WOW64_CONTEXT_i386 0x00010000
2282#define WOW64_CONTEXT_i486 0x00010000
2283#define WOW64_CONTEXT_CONTROL (WOW64_CONTEXT_i386 | __MSABI_LONG(0x00000001))
2284#define WOW64_CONTEXT_INTEGER (WOW64_CONTEXT_i386 | __MSABI_LONG(0x00000002))
2285#define WOW64_CONTEXT_SEGMENTS (WOW64_CONTEXT_i386 | __MSABI_LONG(0x00000004))
2286#define WOW64_CONTEXT_FLOATING_POINT (WOW64_CONTEXT_i386 | __MSABI_LONG(0x00000008))
2287#define WOW64_CONTEXT_DEBUG_REGISTERS (WOW64_CONTEXT_i386 | __MSABI_LONG(0x00000010))
2288#define WOW64_CONTEXT_EXTENDED_REGISTERS (WOW64_CONTEXT_i386 | __MSABI_LONG(0x00000020))
2289#define WOW64_CONTEXT_FULL (WOW64_CONTEXT_CONTROL | WOW64_CONTEXT_INTEGER | WOW64_CONTEXT_SEGMENTS)
2290#define WOW64_CONTEXT_ALL (WOW64_CONTEXT_CONTROL | WOW64_CONTEXT_INTEGER | \
2291 WOW64_CONTEXT_SEGMENTS | WOW64_CONTEXT_FLOATING_POINT | \
2292 WOW64_CONTEXT_DEBUG_REGISTERS | WOW64_CONTEXT_EXTENDED_REGISTERS)
2294#define WOW64_CONTEXT_XSTATE (WOW64_CONTEXT_i386 | __MSABI_LONG(0x00000040))
2296#define WOW64_CONTEXT_EXCEPTION_ACTIVE 0x08000000
2297#define WOW64_CONTEXT_SERVICE_ACTIVE 0x10000000
2298#define WOW64_CONTEXT_EXCEPTION_REQUEST 0x40000000
2299#define WOW64_CONTEXT_EXCEPTION_REPORTING 0x80000000
2301#define WOW64_SIZE_OF_80387_REGISTERS 80
2302#define WOW64_MAXIMUM_SUPPORTED_EXTENSION 512
2317#include "pshpack4.h"
2349#define EXCEPTION_MAXIMUM_PARAMETERS 15
2350#define EXCEPTION_NONCONTINUABLE 0x01
2351#define EXCEPTION_UNWINDING 0x02
2352#define EXCEPTION_EXIT_UNWIND 0x04
2353#define EXCEPTION_STACK_INVALID 0x08
2354#define EXCEPTION_NESTED_CALL 0x10
2355#define EXCEPTION_TARGET_UNWIND 0x20
2356#define EXCEPTION_COLLIDED_UNWIND 0x40
2357#define EXCEPTION_UNWIND (EXCEPTION_UNWINDING | EXCEPTION_EXIT_UNWIND | \
2358 EXCEPTION_TARGET_UNWIND | EXCEPTION_COLLIDED_UNWIND)
2360#define IS_UNWINDING(Flag) ((Flag & EXCEPTION_UNWIND) != 0)
2361#define IS_DISPATCHING(Flag) ((Flag & EXCEPTION_UNWIND) == 0)
2362#define IS_TARGET_UNWIND(Flag) (Flag & EXCEPTION_TARGET_UNWIND)
2403#define SECURITY_MIN_SID_SIZE (sizeof(SID))
2407typedef
struct _SYSTEM_AUDIT_OBJECT_ACE {
2412 GUID InheritedObjectType;
2638#ifndef _SLIST_HEADER_
2639#define _SLIST_HEADER_
2647typedef struct _SLIST_ENTRY32 {
2682typedef union _SLIST_HEADER32{
2693#define SLIST_ENTRY SINGLE_LIST_ENTRY
2694#define _SLIST_ENTRY _SINGLE_LIST_ENTRY
2695#define PSLIST_ENTRY PSINGLE_LIST_ENTRY
2752#ifndef _RTL_RUN_ONCE_DEF
2753#define _RTL_RUN_ONCE_DEF
2755#define RTL_RUN_ONCE_CHECK_ONLY 0x00000001UL
2756#define RTL_RUN_ONCE_ASYNC 0x00000002UL
2757#define RTL_RUN_ONCE_INIT_FAILED 0x00000004UL
2759#define RTL_RUN_ONCE_CTX_RESERVED_BITS 2
2761#define RTL_RUN_ONCE_INIT {0}
2772#define RTL_CONDITION_VARIABLE_INIT {0}
2773#define RTL_CONDITION_VARIABLE_LOCKMODE_SHARED 0x1
2791#include "pshpack8.h"
2835#define RTL_SRWLOCK_INIT {0}
2847#define EVENTLOG_SEQUENTIAL_READ 1
2848#define EVENTLOG_SEEK_READ 2
2849#define EVENTLOG_FORWARDS_READ 4
2850#define EVENTLOG_BACKWARDS_READ 8
2852#define EVENTLOG_SUCCESS 0
2853#define EVENTLOG_ERROR_TYPE 1
2854#define EVENTLOG_WARNING_TYPE 2
2855#define EVENTLOG_INFORMATION_TYPE 4
2856#define EVENTLOG_AUDIT_SUCCESS 8
2857#define EVENTLOG_AUDIT_FAILURE 16
2936#include <pshpack2.h>
3192#include <pshpack2.h>
3277#ifndef __IMAGE_COR20_HEADER_DEFINED__
3278#define __IMAGE_COR20_HEADER_DEFINED__
3373#include <pshpack8.h>
3393#define IMAGE_ORDINAL_FLAG64 0x8000000000000000ULL
3394#define IMAGE_ORDINAL_FLAG32 0x80000000
3395#define IMAGE_ORDINAL64(Ordinal) (Ordinal & 0xffff)
3396#define IMAGE_ORDINAL32(Ordinal) (Ordinal & 0xffff)
3397#define IMAGE_SNAP_BY_ORDINAL64(Ordinal) ((Ordinal & IMAGE_ORDINAL_FLAG64)!=0)
3398#define IMAGE_SNAP_BY_ORDINAL32(Ordinal) ((Ordinal & IMAGE_ORDINAL_FLAG32)!=0)
3422#define IMAGE_ORDINAL_FLAG IMAGE_ORDINAL_FLAG64
3423#define IMAGE_ORDINAL(Ordinal) IMAGE_ORDINAL64(Ordinal)
3426#define IMAGE_SNAP_BY_ORDINAL(Ordinal) IMAGE_SNAP_BY_ORDINAL64(Ordinal)
3430#define IMAGE_ORDINAL_FLAG IMAGE_ORDINAL_FLAG32
3431#define IMAGE_ORDINAL(Ordinal) IMAGE_ORDINAL32(Ordinal)
3434#define IMAGE_SNAP_BY_ORDINAL(Ordinal) IMAGE_SNAP_BY_ORDINAL32(Ordinal)
3723#define JOB_OBJECT_LIMIT_WORKINGSET 0x0001
3724#define JOB_OBJECT_LIMIT_PROCESS_TIME 0x0002
3725#define JOB_OBJECT_LIMIT_JOB_TIME 0x0004
3726#define JOB_OBJECT_LIMIT_ACTIVE_PROCESS 0x0008
3727#define JOB_OBJECT_LIMIT_AFFINITY 0x0010
3728#define JOB_OBJECT_LIMIT_PRIORITY_CLASS 0x0020
3729#define JOB_OBJECT_LIMIT_PRESERVE_JOB_TIME 0x0040
3730#define JOB_OBJECT_LIMIT_SCHEDULING_CLASS 0x0080
3731#define JOB_OBJECT_LIMIT_PROCESS_MEMORY 0x0100
3732#define JOB_OBJECT_LIMIT_JOB_MEMORY 0x0200
3733#define JOB_OBJECT_LIMIT_DIE_ON_UNHANDLED_EXCEPTION 0x0400
3734#define JOB_OBJECT_LIMIT_BREAKAWAY_OK 0x0800
3735#define JOB_OBJECT_LIMIT_SILENT_BREAKAWAY_OK 0x1000
3736#define JOB_OBJECT_LIMIT_KILL_ON_JOB_CLOSE 0x2000
3739#define JOB_OBJECT_UILIMIT_HANDLES 0x0001
3740#define JOB_OBJECT_UILIMIT_READCLIPBOARD 0x0002
3741#define JOB_OBJECT_UILIMIT_WRITECLIPBOARD 0x0004
3742#define JOB_OBJECT_UILIMIT_SYSTEMPARAMETERS 0x0008
3743#define JOB_OBJECT_UILIMIT_DISPLAYSETTINGS 0x0010
3744#define JOB_OBJECT_UILIMIT_GLOBALATOMS 0x0020
3745#define JOB_OBJECT_UILIMIT_DESKTOP 0x0040
3746#define JOB_OBJECT_UILIMIT_EXITWINDOWS 0x0080
3749#define JOB_OBJECT_SECURITY_NO_ADMIN 0x0001
3750#define JOB_OBJECT_SECURITY_RESTRICTED_TOKEN 0x0002
3751#define JOB_OBJECT_SECURITY_ONLY_TOKEN 0x0004
3752#define JOB_OBJECT_SECURITY_FILTER_TOKENS 0x0008
3755#define JOB_OBJECT_TERMINATE_AT_END_OF_JOB 0
3756#define JOB_OBJECT_POST_AT_END_OF_JOB 1
3758#define JOB_OBJECT_MSG_END_OF_JOB_TIME 1
3759#define JOB_OBJECT_MSG_END_OF_PROCESS_TIME 2
3760#define JOB_OBJECT_MSG_ACTIVE_PROCESS_LIMIT 3
3761#define JOB_OBJECT_MSG_ACTIVE_PROCESS_ZERO 4
3762#define JOB_OBJECT_MSG_NEW_PROCESS 6
3763#define JOB_OBJECT_MSG_EXIT_PROCESS 7
3764#define JOB_OBJECT_MSG_ABNORMAL_EXIT_PROCESS 8
3765#define JOB_OBJECT_MSG_PROCESS_MEMORY_LIMIT 9
3766#define JOB_OBJECT_MSG_JOB_MEMORY_LIMIT 10
3768#define JOB_OBJECT_ASSIGN_PROCESS 1
3769#define JOB_OBJECT_SET_ATTRIBUTES 2
3770#define JOB_OBJECT_QUERY 4
3771#define JOB_OBJECT_TERMINATE 8
3772#define JOB_OBJECT_SET_SECURITY_ATTRIBUTES 16
3773#define JOB_OBJECT_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE|31)