4#if !defined(_KERNEL32_)
5#define WINBASEAPI DECLSPEC_IMPORT
19#pragma warning(disable:4201)
20#pragma warning(disable:4214)
21#pragma warning(disable:4820)
24#define PROCESS_NAME_NATIVE 1
26#define FILE_ENCRYPTABLE 0
27#define FILE_IS_ENCRYPTED 1
28#define FILE_SYSTEM_ATTR 2
29#define FILE_ROOT_DIR 3
30#define FILE_SYSTEM_DIR 4
32#define FILE_SYSTEM_NOT_SUPPORT 6
33#define FILE_USER_DISALLOWED 7
34#define FILE_READ_ONLY 8
35#define FILE_DIR_DISALLOWED 9
37#define COMMPROP_INITIALIZED 0xE73CF52E
38#define SP_SERIALCOMM 1
39#define PST_UNSPECIFIED 0
41#define PST_PARALLELPORT 2
47#define PST_SCANNER 0x22
48#define PST_NETWORK_BRIDGE 0x100
50#define PST_TCPIP_TELNET 0x102
64#define BAUD_14400 4096
65#define BAUD_19200 8192
66#define BAUD_38400 16384
68#define BAUD_128K 65536
69#define BAUD_115200 131072
70#define BAUD_57600 262144
71#define BAUD_USER 0x10000000
75#define PCF_PARITY_CHECK 8
77#define PCF_SETXCHAR 32
78#define PCF_TOTALTIMEOUTS 64
79#define PCF_INTTIMEOUTS 128
80#define PCF_SPECIALCHARS 256
81#define PCF_16BITMODE 512
86#define SP_HANDSHAKING 16
87#define SP_PARITY_CHECK 32
94#define DATABITS_16X 32
98#define PARITY_NONE 256
100#define PARITY_EVEN 1024
101#define PARITY_MARK 2048
102#define PARITY_SPACE 4096
103#define EXCEPTION_DEBUG_EVENT 1
104#define CREATE_THREAD_DEBUG_EVENT 2
105#define CREATE_PROCESS_DEBUG_EVENT 3
106#define EXIT_THREAD_DEBUG_EVENT 4
107#define EXIT_PROCESS_DEBUG_EVENT 5
108#define LOAD_DLL_DEBUG_EVENT 6
109#define UNLOAD_DLL_DEBUG_EVENT 7
110#define OUTPUT_DEBUG_STRING_EVENT 8
112#define HFILE_ERROR ((HFILE)-1)
114#define FILE_CURRENT 1
116#define INVALID_SET_FILE_POINTER ((DWORD)-1)
118#define OF_READWRITE 2
120#define OF_SHARE_COMPAT 0
121#define OF_SHARE_DENY_NONE 64
122#define OF_SHARE_DENY_READ 48
123#define OF_SHARE_DENY_WRITE 32
124#define OF_SHARE_EXCLUSIVE 16
125#define OF_CANCEL 2048
126#define OF_CREATE 4096
128#define OF_EXIST 16384
130#define OF_PROMPT 8192
131#define OF_REOPEN 32768
132#define OF_VERIFY 1024
133#define NMPWAIT_NOWAIT 1
134#define NMPWAIT_WAIT_FOREVER ((DWORD)-1)
135#define NMPWAIT_USE_DEFAULT_WAIT 0
147#define PROGRESS_CONTINUE 0
148#define PROGRESS_CANCEL 1
149#define PROGRESS_STOP 2
150#define PROGRESS_QUIET 3
151#define CALLBACK_CHUNK_FINISHED 0
152#define CALLBACK_STREAM_SWITCH 1
153#define OFS_MAXPATHNAME 128
154#define FILE_MAP_COPY SECTION_QUERY
155#define FILE_MAP_WRITE SECTION_MAP_WRITE
156#define FILE_MAP_READ SECTION_MAP_READ
157#define FILE_MAP_ALL_ACCESS SECTION_ALL_ACCESS
158#define FILE_MAP_EXECUTE SECTION_MAP_EXECUTE_EXPLICIT
159#define MUTEX_ALL_ACCESS 0x1f0001
160#define MUTEX_MODIFY_STATE 1
161#define SEMAPHORE_ALL_ACCESS 0x1f0003
162#define SEMAPHORE_MODIFY_STATE 2
163#define EVENT_ALL_ACCESS 0x1f0003
164#define EVENT_MODIFY_STATE 2
165#define PIPE_ACCESS_DUPLEX 3
166#define PIPE_ACCESS_INBOUND 1
167#define PIPE_ACCESS_OUTBOUND 2
168#define PIPE_TYPE_BYTE 0
169#define PIPE_TYPE_MESSAGE 4
170#define PIPE_READMODE_BYTE 0
171#define PIPE_READMODE_MESSAGE 2
174#define PIPE_CLIENT_END 0
175#define PIPE_SERVER_END 1
176#define PIPE_UNLIMITED_INSTANCES 255
179#define DEBUG_PROCESS 0x00000001
180#define DEBUG_ONLY_THIS_PROCESS 0x00000002
181#define CREATE_SUSPENDED 0x00000004
182#define DETACHED_PROCESS 0x00000008
183#define CREATE_NEW_CONSOLE 0x00000010
184#define NORMAL_PRIORITY_CLASS 0x00000020
185#define IDLE_PRIORITY_CLASS 0x00000040
186#define HIGH_PRIORITY_CLASS 0x00000080
187#define REALTIME_PRIORITY_CLASS 0x00000100
188#define CREATE_NEW_PROCESS_GROUP 0x00000200
189#define CREATE_UNICODE_ENVIRONMENT 0x00000400
190#define CREATE_SEPARATE_WOW_VDM 0x00000800
191#define CREATE_SHARED_WOW_VDM 0x00001000
192#define CREATE_FORCEDOS 0x00002000
193#define BELOW_NORMAL_PRIORITY_CLASS 0x00004000
194#define ABOVE_NORMAL_PRIORITY_CLASS 0x00008000
196#if (_WIN32_WINNT >= _WIN32_WINNT_WIN7)
197#define INHERIT_PARENT_AFFINITY 0x00010000
200#if (_WIN32_WINNT >= _WIN32_WINNT_VISTA)
201#define INHERIT_CALLER_PRIORITY 0x00020000
202#define CREATE_PROTECTED_PROCESS 0x00040000
203#define EXTENDED_STARTUPINFO_PRESENT 0x00080000
204#define PROCESS_MODE_BACKGROUND_BEGIN 0x00100000
205#define PROCESS_MODE_BACKGROUND_END 0x00200000
208#if (NTDDI_VERSION >= NTDDI_WIN10_RS4)
209#define CREATE_SECURE_PROCESS 0x00400000
212#define CREATE_BREAKAWAY_FROM_JOB 0x01000000
213#define CREATE_PRESERVE_CODE_AUTHZ_LEVEL 0x02000000
214#define CREATE_DEFAULT_ERROR_MODE 0x04000000
215#define CREATE_NO_WINDOW 0x08000000
216#define PROFILE_USER 0x10000000
217#define PROFILE_KERNEL 0x20000000
218#define PROFILE_SERVER 0x40000000
219#define CREATE_IGNORE_SYSTEM_DEFAULT 0x80000000
223#define STACK_SIZE_PARAM_IS_A_RESERVATION 0x00010000
226#define CREATE_ALWAYS 2
227#define OPEN_EXISTING 3
229#define TRUNCATE_EXISTING 5
231#define COPY_FILE_FAIL_IF_EXISTS 0x00000001
232#define COPY_FILE_RESTARTABLE 0x00000002
233#define COPY_FILE_OPEN_SOURCE_FOR_WRITE 0x00000004
234#define COPY_FILE_ALLOW_DECRYPTED_DESTINATION 0x00000008
236#define FILE_FLAG_WRITE_THROUGH 0x80000000
237#define FILE_FLAG_OVERLAPPED 0x40000000
238#define FILE_FLAG_NO_BUFFERING 0x20000000
239#define FILE_FLAG_RANDOM_ACCESS 0x10000000
240#define FILE_FLAG_SEQUENTIAL_SCAN 0x08000000
241#define FILE_FLAG_DELETE_ON_CLOSE 0x04000000
242#define FILE_FLAG_BACKUP_SEMANTICS 0x02000000
243#define FILE_FLAG_POSIX_SEMANTICS 0x01000000
244#define FILE_FLAG_OPEN_REPARSE_POINT 0x00200000
245#define FILE_FLAG_OPEN_NO_RECALL 0x00100000
246#if (_WIN32_WINNT >= 0x0500)
247#define FILE_FLAG_FIRST_PIPE_INSTANCE 0x00080000
259#define STILL_ACTIVE 0x103
260#define FIND_FIRST_EX_CASE_SENSITIVE 1
261#define FIND_FIRST_EX_LARGE_FETCH 2
262#define SCS_32BIT_BINARY 0
263#define SCS_64BIT_BINARY 6
264#define SCS_DOS_BINARY 1
265#define SCS_OS216_BINARY 5
266#define SCS_PIF_BINARY 3
267#define SCS_POSIX_BINARY 4
268#define SCS_WOW_BINARY 2
269#define MAX_COMPUTERNAME_LENGTH 15
270#define HW_PROFILE_GUIDLEN 39
271#define MAX_PROFILE_LEN 80
272#define DOCKINFO_UNDOCKED 1
273#define DOCKINFO_DOCKED 2
274#define DOCKINFO_USER_SUPPLIED 4
275#define DOCKINFO_USER_UNDOCKED (DOCKINFO_USER_SUPPLIED|DOCKINFO_UNDOCKED)
276#define DOCKINFO_USER_DOCKED (DOCKINFO_USER_SUPPLIED|DOCKINFO_DOCKED)
277#define DRIVE_REMOVABLE 2
279#define DRIVE_REMOTE 4
281#define DRIVE_RAMDISK 6
282#define DRIVE_UNKNOWN 0
283#define DRIVE_NO_ROOT_DIR 1
284#define FILE_TYPE_UNKNOWN 0
285#define FILE_TYPE_DISK 1
286#define FILE_TYPE_CHAR 2
287#define FILE_TYPE_PIPE 3
288#define FILE_TYPE_REMOTE 0x8000
290#define HANDLE_FLAG_INHERIT 0x01
291#define HANDLE_FLAG_PROTECT_FROM_CLOSE 0x02
293#define STD_INPUT_HANDLE (DWORD)(0xfffffff6)
294#define STD_OUTPUT_HANDLE (DWORD)(0xfffffff5)
295#define STD_ERROR_HANDLE (DWORD)(0xfffffff4)
296#define INVALID_HANDLE_VALUE (HANDLE)(-1)
297#define GET_TAPE_MEDIA_INFORMATION 0
298#define GET_TAPE_DRIVE_INFORMATION 1
299#define SET_TAPE_MEDIA_INFORMATION 0
300#define SET_TAPE_DRIVE_INFORMATION 1
301#define THREAD_PRIORITY_ABOVE_NORMAL 1
302#define THREAD_PRIORITY_BELOW_NORMAL (-1)
303#define THREAD_PRIORITY_HIGHEST 2
304#define THREAD_PRIORITY_IDLE (-15)
305#define THREAD_PRIORITY_LOWEST (-2)
306#define THREAD_PRIORITY_NORMAL 0
307#define THREAD_PRIORITY_TIME_CRITICAL 15
308#define THREAD_PRIORITY_ERROR_RETURN 2147483647
309#define TIME_ZONE_ID_UNKNOWN 0
310#define TIME_ZONE_ID_STANDARD 1
311#define TIME_ZONE_ID_DAYLIGHT 2
312#define TIME_ZONE_ID_INVALID 0xFFFFFFFF
313#define FS_CASE_IS_PRESERVED 2
314#define FS_CASE_SENSITIVE 1
315#define FS_UNICODE_STORED_ON_DISK 4
316#define FS_PERSISTENT_ACLS 8
317#define FS_FILE_COMPRESSION 16
318#define FS_VOL_IS_COMPRESSED 32768
320#define GMEM_MOVEABLE 2
321#define GMEM_MODIFY 128
324#define GMEM_DDESHARE 8192
325#define GMEM_DISCARDABLE 256
326#define GMEM_LOWER 4096
327#define GMEM_NOCOMPACT 16
328#define GMEM_NODISCARD 32
329#define GMEM_NOT_BANKED 4096
330#define GMEM_NOTIFY 16384
331#define GMEM_SHARE 8192
332#define GMEM_ZEROINIT 64
333#define GMEM_DISCARDED 16384
334#define GMEM_INVALID_HANDLE 32768
335#define GMEM_LOCKCOUNT 255
336#define GMEM_VALID_FLAGS 32626
337#define EXCEPTION_ACCESS_VIOLATION ((DWORD)0xC0000005)
338#define EXCEPTION_DATATYPE_MISALIGNMENT ((DWORD)0x80000002)
339#define EXCEPTION_BREAKPOINT ((DWORD)0x80000003)
340#define EXCEPTION_SINGLE_STEP ((DWORD)0x80000004)
341#define EXCEPTION_ARRAY_BOUNDS_EXCEEDED ((DWORD)0xC000008C)
342#define EXCEPTION_FLT_DENORMAL_OPERAND ((DWORD)0xC000008D)
343#define EXCEPTION_FLT_DIVIDE_BY_ZERO ((DWORD)0xC000008E)
344#define EXCEPTION_FLT_INEXACT_RESULT ((DWORD)0xC000008F)
345#define EXCEPTION_FLT_INVALID_OPERATION ((DWORD)0xC0000090)
346#define EXCEPTION_FLT_OVERFLOW ((DWORD)0xC0000091)
347#define EXCEPTION_FLT_STACK_CHECK ((DWORD)0xC0000092)
348#define EXCEPTION_FLT_UNDERFLOW ((DWORD)0xC0000093)
349#define EXCEPTION_INT_DIVIDE_BY_ZERO ((DWORD)0xC0000094)
350#define EXCEPTION_INT_OVERFLOW ((DWORD)0xC0000095)
351#define EXCEPTION_PRIV_INSTRUCTION ((DWORD)0xC0000096)
352#define EXCEPTION_IN_PAGE_ERROR ((DWORD)0xC0000006)
353#define EXCEPTION_ILLEGAL_INSTRUCTION ((DWORD)0xC000001D)
354#define EXCEPTION_NONCONTINUABLE_EXCEPTION ((DWORD)0xC0000025)
355#define EXCEPTION_STACK_OVERFLOW ((DWORD)0xC00000FD)
356#define EXCEPTION_INVALID_DISPOSITION ((DWORD)0xC0000026)
357#define EXCEPTION_GUARD_PAGE ((DWORD)0x80000001)
358#define EXCEPTION_INVALID_HANDLE ((DWORD)0xC0000008L)
359#define CONTROL_C_EXIT ((DWORD)0xC000013A)
360#define PROCESS_HEAP_REGION 1
361#define PROCESS_HEAP_UNCOMMITTED_RANGE 2
362#define PROCESS_HEAP_ENTRY_BUSY 4
363#define PROCESS_HEAP_ENTRY_MOVEABLE 16
364#define PROCESS_HEAP_ENTRY_DDESHARE 32
367#define DONT_RESOLVE_DLL_REFERENCES 0x00000001
368#define LOAD_LIBRARY_AS_DATAFILE 0x00000002
370#define LOAD_WITH_ALTERED_SEARCH_PATH 0x00000008
371#define LOAD_IGNORE_CODE_AUTHZ_LEVEL 0x00000010
372#if (_WIN32_WINNT >= _WIN32_WINNT_VISTA)
373#define LOAD_LIBRARY_AS_IMAGE_RESOURCE 0x00000020
374#define LOAD_LIBRARY_AS_DATAFILE_EXCLUSIVE 0x00000040
375#define LOAD_LIBRARY_REQUIRE_SIGNED_TARGET 0x00000080
376#define LOAD_LIBRARY_SEARCH_DLL_LOAD_DIR 0x00000100
377#define LOAD_LIBRARY_SEARCH_APPLICATION_DIR 0x00000200
378#define LOAD_LIBRARY_SEARCH_USER_DIRS 0x00000400
379#define LOAD_LIBRARY_SEARCH_SYSTEM32 0x00000800
380#define LOAD_LIBRARY_SEARCH_DEFAULT_DIRS 0x00001000
382#if (NTDDI_VERSION >= NTDDI_WIN10_RS1)
383#define LOAD_LIBRARY_SAFE_CURRENT_DIRS 0x00002000
384#define LOAD_LIBRARY_SEARCH_SYSTEM32_NO_FORWARDER 0x00004000
386#if (_WIN32_WINNT >= _WIN32_WINNT_VISTA)
387#define LOAD_LIBRARY_SEARCH_SYSTEM32_NO_FORWARDER LOAD_LIBRARY_SEARCH_SYSTEM32
390#if (NTDDI_VERSION >= NTDDI_WIN10_RS2)
391#define LOAD_LIBRARY_OS_INTEGRITY_CONTINUITY 0x00008000
395#define LMEM_MOVEABLE 2
396#define LMEM_NONZEROLHND 2
397#define LMEM_NONZEROLPTR 0
398#define LMEM_DISCARDABLE 3840
399#define LMEM_NOCOMPACT 16
400#define LMEM_NODISCARD 32
401#define LMEM_ZEROINIT 64
402#define LMEM_DISCARDED 16384
403#define LMEM_MODIFY 128
404#define LMEM_INVALID_HANDLE 32768
405#define LMEM_LOCKCOUNT 255
406#define LMEM_VALID_FLAGS 0x0F72
411#define LOCKFILE_FAIL_IMMEDIATELY 1
412#define LOCKFILE_EXCLUSIVE_LOCK 2
413#define LOGON32_PROVIDER_DEFAULT 0
414#define LOGON32_PROVIDER_WINNT35 1
415#define LOGON32_PROVIDER_WINNT40 2
416#define LOGON32_PROVIDER_WINNT50 3
417#define LOGON32_LOGON_INTERACTIVE 2
418#define LOGON32_LOGON_NETWORK 3
419#define LOGON32_LOGON_BATCH 4
420#define LOGON32_LOGON_SERVICE 5
421#define LOGON32_LOGON_UNLOCK 7
422#define LOGON32_LOGON_NETWORK_CLEARTEXT 8
423#define LOGON32_LOGON_NEW_CREDENTIALS 9
424#define MOVEFILE_REPLACE_EXISTING 1
425#define MOVEFILE_COPY_ALLOWED 2
426#define MOVEFILE_DELAY_UNTIL_REBOOT 4
427#define MOVEFILE_WRITE_THROUGH 8
428#define MOVEFILE_CREATE_HARDLINK 16
429#define MOVEFILE_FAIL_IF_NOT_TRACKABLE 32
430#define MAXIMUM_WAIT_OBJECTS 64
431#define MAXIMUM_SUSPEND_COUNT 0x7F
432#define WAIT_OBJECT_0 0
433#define WAIT_ABANDONED_0 128
435#define WAIT_TIMEOUT 258
437#define WAIT_IO_COMPLETION 0xC0
438#define WAIT_ABANDONED 128
439#define WAIT_FAILED ((DWORD)0xFFFFFFFF)
440#define PURGE_TXABORT 1
441#define PURGE_RXABORT 2
442#define PURGE_TXCLEAR 4
443#define PURGE_RXCLEAR 8
445#define FORMAT_MESSAGE_ALLOCATE_BUFFER 256
446#define FORMAT_MESSAGE_IGNORE_INSERTS 512
447#define FORMAT_MESSAGE_FROM_STRING 1024
448#define FORMAT_MESSAGE_FROM_HMODULE 2048
449#define FORMAT_MESSAGE_FROM_SYSTEM 4096
450#define FORMAT_MESSAGE_ARGUMENT_ARRAY 8192
451#define FORMAT_MESSAGE_MAX_WIDTH_MASK 255
456#define EV_EVENT1 2048
457#define EV_EVENT2 4096
461#define EV_RX80FULL 1024
466#define SEM_FAILCRITICALERRORS 0x0001
467#define SEM_NOGPFAULTERRORBOX 0x0002
468#define SEM_NOALIGNMENTFAULTEXCEPT 0x0004
469#define SEM_NOOPENFILEERRORBOX 0x8000
472#define SLE_MINORERROR 2
474#define SHUTDOWN_NORETRY 1
475#define MAXINTATOM 0xC000
476#define INVALID_ATOM ((ATOM)0)
478#define INFINITE 0xFFFFFFFF
485#define ONE5STOPBITS 1
494#define CBR_14400 14400
495#define CBR_19200 19200
496#define CBR_38400 38400
497#define CBR_56000 56000
498#define CBR_57600 57600
499#define CBR_115200 115200
500#define CBR_128000 128000
501#define CBR_256000 256000
502#define BACKUP_INVALID 0
504#define BACKUP_EA_DATA 2
505#define BACKUP_SECURITY_DATA 3
506#define BACKUP_ALTERNATE_DATA 4
508#define BACKUP_PROPERTY_DATA 6
509#define BACKUP_OBJECT_ID 7
510#define BACKUP_REPARSE_DATA 8
511#define BACKUP_SPARSE_BLOCK 9
512#define STREAM_NORMAL_ATTRIBUTE 0
513#define STREAM_MODIFIED_WHEN_READ 1
514#define STREAM_CONTAINS_SECURITY 2
515#define STREAM_CONTAINS_PROPERTIES 4
517#define STARTF_USESHOWWINDOW 0x00000001
518#define STARTF_USESIZE 0x00000002
519#define STARTF_USEPOSITION 0x00000004
520#define STARTF_USECOUNTCHARS 0x00000008
521#define STARTF_USEFILLATTRIBUTE 0x00000010
522#define STARTF_RUNFULLSCREEN 0x00000020
523#define STARTF_FORCEONFEEDBACK 0x00000040
524#define STARTF_FORCEOFFFEEDBACK 0x00000080
525#define STARTF_USESTDHANDLES 0x00000100
527#define STARTF_USEHOTKEY 0x00000200
528#define STARTF_TITLEISLINKNAME 0x00000800
529#define STARTF_TITLEISAPPID 0x00001000
530#define STARTF_PREVENTPINNING 0x00002000
537#define AC_LINE_OFFLINE 0
538#define AC_LINE_ONLINE 1
539#define AC_LINE_BACKUP_POWER 2
540#define AC_LINE_UNKNOWN 255
541#define BATTERY_FLAG_HIGH 1
542#define BATTERY_FLAG_LOW 2
543#define BATTERY_FLAG_CRITICAL 4
544#define BATTERY_FLAG_CHARGING 8
545#define BATTERY_FLAG_NO_BATTERY 128
546#define BATTERY_FLAG_UNKNOWN 255
547#define BATTERY_PERCENTAGE_UNKNOWN 255
548#define BATTERY_LIFE_UNKNOWN 0xFFFFFFFF
549#define DDD_RAW_TARGET_PATH 1
550#define DDD_REMOVE_DEFINITION 2
551#define DDD_EXACT_MATCH_ON_REMOVE 4
552#define DDD_NO_BROADCAST_SYSTEM 8
553#define DDD_LUID_BROADCAST_DRIVE 16
554#define HINSTANCE_ERROR 32
558#define MS_RLSD_ON 128
559#define DTR_CONTROL_DISABLE 0
560#define DTR_CONTROL_ENABLE 1
561#define DTR_CONTROL_HANDSHAKE 2
562#define RTS_CONTROL_DISABLE 0
563#define RTS_CONTROL_ENABLE 1
564#define RTS_CONTROL_HANDSHAKE 2
565#define RTS_CONTROL_TOGGLE 3
566#define SECURITY_ANONYMOUS (SecurityAnonymous<<16)
567#define SECURITY_IDENTIFICATION (SecurityIdentification<<16)
568#define SECURITY_IMPERSONATION (SecurityImpersonation<<16)
569#define SECURITY_DELEGATION (SecurityDelegation<<16)
570#define SECURITY_CONTEXT_TRACKING 0x40000
571#define SECURITY_EFFECTIVE_ONLY 0x80000
572#define SECURITY_SQOS_PRESENT 0x100000
573#define SECURITY_VALID_SQOS_FLAGS 0x1F0000
574#define INVALID_FILE_SIZE 0xFFFFFFFF
575#define TLS_OUT_OF_INDEXES (DWORD)0xFFFFFFFF
576#if (_WIN32_WINNT >= 0x0501)
577#define ACTCTX_FLAG_PROCESSOR_ARCHITECTURE_VALID 0x00000001
578#define ACTCTX_FLAG_LANGID_VALID 0x00000002
579#define ACTCTX_FLAG_ASSEMBLY_DIRECTORY_VALID 0x00000004
580#define ACTCTX_FLAG_RESOURCE_NAME_VALID 0x00000008
581#define ACTCTX_FLAG_SET_PROCESS_DEFAULT 0x00000010
582#define ACTCTX_FLAG_APPLICATION_NAME_VALID 0x00000020
583#define ACTCTX_FLAG_SOURCE_IS_ASSEMBLYREF 0x00000040
584#define ACTCTX_FLAG_HMODULE_VALID 0x00000080
585#define DEACTIVATE_ACTCTX_FLAG_FORCE_EARLY_DEACTIVATION 0x00000001
586#define FIND_ACTCTX_SECTION_KEY_RETURN_HACTCTX 0x00000001
587#define QUERY_ACTCTX_FLAG_USE_ACTIVE_ACTCTX 0x00000004
588#define QUERY_ACTCTX_FLAG_ACTCTX_IS_HMODULE 0x00000008
589#define QUERY_ACTCTX_FLAG_ACTCTX_IS_ADDRESS 0x00000010
590#define QUERY_ACTCTX_FLAG_NO_ADDREF 0x80000000
591#if (_WIN32_WINNT >= 0x0600)
592#define SYMBOLIC_LINK_FLAG_DIRECTORY 0x1
595#if (_WIN32_WINNT >= 0x0500)
596#define REPLACEFILE_WRITE_THROUGH 0x00000001
597#define REPLACEFILE_IGNORE_MERGE_ERRORS 0x00000002
599#if (_WIN32_WINNT >= 0x0400)
600#define FIBER_FLAG_FLOAT_SWITCH 0x1
602#define FLS_OUT_OF_INDEXES 0xFFFFFFFF
603#if (_WIN32_WINNT >= 0x0600)
604#define MAX_RESTART_CMD_LINE 0x800
605#define RESTART_CYCLICAL 0x1
606#define RESTART_NOTIFY_SOLUTION 0x2
607#define RESTART_NOTIFY_FAULT 0x4
608#define VOLUME_NAME_DOS 0x0
609#define VOLUME_NAME_GUID 0x1
610#define VOLUME_NAME_NT 0x2
611#define VOLUME_NAME_NONE 0x4
612#define FILE_NAME_NORMALIZED 0x0
613#define FILE_NAME_OPENED 0x8
614#define FILE_SKIP_COMPLETION_PORT_ON_SUCCESS 0x1
615#define FILE_SKIP_SET_EVENT_ON_HANDLE 0x2
617#if (_WIN32_WINNT >= 0x0500)
618#define GET_MODULE_HANDLE_EX_FLAG_PIN 0x1
619#define GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT 0x2
620#define GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS 0x4
622#if (_WIN32_WINNT >= 0x0600)
623#define CREATE_EVENT_MANUAL_RESET 0x1
624#define CREATE_EVENT_INITIAL_SET 0x2
625#define CREATE_MUTEX_INITIAL_OWNER 0x1
626#define CREATE_WAITABLE_TIMER_MANUAL_RESET 0x1
627#define SRWLOCK_INIT RTL_SRWLOCK_INIT
628#define CONDITION_VARIABLE_INIT RTL_CONDITION_VARIABLE_INIT
629#define CONDITION_VARIABLE_LOCKMODE_SHARED RTL_CONDITION_VARIABLE_LOCKMODE_SHARED
632#define BASE_SEARCH_PATH_ENABLE_SAFE_SEARCHMODE 0x00001
633#define BASE_SEARCH_PATH_DISABLE_SAFE_SEARCHMODE 0x10000
634#define BASE_SEARCH_PATH_PERMANENT 0x08000
635#define BASE_SEARCH_PATH_INVALID_FLAGS (~0x18001)
637#define INIT_ONCE_STATIC_INIT RTL_RUN_ONCE_INIT
639#if (_WIN32_WINNT >= 0x0600)
640#define PROCESS_DEP_ENABLE 0x00000001
641#define PROCESS_DEP_DISABLE_ATL_THUNK_EMULATION 0x00000002
644#define LOGON_WITH_PROFILE 0x00000001
645#define LOGON_NETCREDENTIALS_ONLY 0x00000002
940#if (_WIN32_WINNT >= 0x0500)
976#if (_WIN32_WINNT >= 0x0501)
977typedef enum _STREAM_INFO_LEVELS {
978 FindStreamInfoStandard
981typedef struct _WIN32_FIND_STREAM_DATA {
984} WIN32_FIND_STREAM_DATA, *PWIN32_FIND_STREAM_DATA;
995#if (_WIN32_WINNT >= 0x0600)
997typedef enum _FILE_ID_TYPE {
1002} FILE_ID_TYPE, *PFILE_ID_TYPE;
1004typedef struct _FILE_ID_DESCRIPTOR {
1013#if (NTDDI_VERSION >= NTDDI_LONGHORN) || defined(__REACTOS__)
1014typedef enum _FILE_INFO_BY_HANDLE_CLASS {
1019 FileDispositionInfo,
1023 FileCompressionInfo,
1024 FileAttributeTagInfo,
1025 FileIdBothDirectoryInfo,
1026 FileIdBothDirectoryRestartInfo,
1027 FileIoPriorityHintInfo,
1028 FileRemoteProtocolInfo,
1029 FileFullDirectoryInfo,
1030 FileFullDirectoryRestartInfo,
1031#if (NTDDI_VERSION >= NTDDI_WIN8) || defined(__REACTOS__)
1035 FileIdExtdDirectoryInfo,
1036 FileIdExtdDirectoryRestartInfo,
1038#if (NTDDI_VERSION >= NTDDI_WIN10_RS1) || defined(__REACTOS__)
1039 FileDispositionInfoEx,
1042#if (NTDDI_VERSION >= NTDDI_WIN10_19H1) || defined(__REACTOS__)
1043 FileCaseSensitiveInfo,
1044 FileNormalizedNameInfo,
1046 MaximumFileInfoByHandleClass
1050typedef struct _FILE_ID_BOTH_DIR_INFO {
1051 DWORD NextEntryOffset;
1062 CCHAR ShortNameLength;
1066} FILE_ID_BOTH_DIR_INFO, *PFILE_ID_BOTH_DIR_INFO;
1068typedef struct _FILE_BASIC_INFO {
1074} FILE_BASIC_INFO, *PFILE_BASIC_INFO;
1076typedef struct _FILE_STANDARD_INFO {
1079 DWORD NumberOfLinks;
1082} FILE_STANDARD_INFO, *PFILE_STANDARD_INFO;
1084typedef struct _FILE_NAME_INFO {
1087} FILE_NAME_INFO, *PFILE_NAME_INFO;
1089typedef enum _PRIORITY_HINT {
1090 IoPriorityHintVeryLow,
1092 IoPriorityHintNormal,
1093 MaximumIoPriorityHintType
1096typedef struct _FILE_IO_PRIORITY_HINT_INFO {
1098} FILE_IO_PRIORITY_HINT_INFO;
1100typedef struct _FILE_ALLOCATION_INFO {
1102} FILE_ALLOCATION_INFO, *PFILE_ALLOCATION_INFO;
1104typedef struct _FILE_DISPOSITION_INFO {
1106} FILE_DISPOSITION_INFO, *PFILE_DISPOSITION_INFO;
1108typedef struct _FILE_END_OF_FILE_INFO {
1110} FILE_END_OF_FILE_INFO, *PFILE_END_OF_FILE_INFO;
1112typedef struct _FILE_RENAME_INFO {
1117} FILE_RENAME_INFO, *PFILE_RENAME_INFO;
1119typedef struct _FILE_ATTRIBUTE_TAG_INFO {
1122} FILE_ATTRIBUTE_TAG_INFO, *PFILE_ATTRIBUTE_TAG_INFO;
1124typedef struct _FILE_COMPRESSION_INFO {
1126 WORD CompressionFormat;
1127 UCHAR CompressionUnitShift;
1131} FILE_COMPRESSION_INFO, *PFILE_COMPRESSION_INFO;
1133typedef struct _FILE_REMOTE_PROTOCOL_INFO {
1137 USHORT ProtocolMajorVersion;
1138 USHORT ProtocolMinorVersion;
1147 } ProtocolSpecificReserved;
1148} FILE_REMOTE_PROTOCOL_INFO, *PFILE_REMOTE_PROTOCOL_INFO;
1179#define EVENTLOG_FULL_INFO 0
1251#if (_WIN32_WINNT >= 0x0500)
1252typedef struct _MEMORYSTATUSEX {
1262} MEMORYSTATUSEX, *LPMEMORYSTATUSEX;
1265#ifndef _LDT_ENTRY_DEFINED
1266#define _LDT_ENTRY_DEFINED
1322#if (_WIN32_WINNT >= 0x0501)
1323typedef struct tagACTCTXA {
1327 USHORT wProcessorArchitecture;
1329 LPCSTR lpAssemblyDirectory;
1331 LPCSTR lpApplicationName;
1334typedef const ACTCTXA *PCACTCTXA;
1336typedef struct tagACTCTXW {
1340 USHORT wProcessorArchitecture;
1347typedef const ACTCTXW *PCACTCTXW;
1349typedef struct tagACTCTX_SECTION_KEYED_DATA_2600 {
1351 ULONG ulDataFormatVersion;
1354 PVOID lpSectionGlobalData;
1355 ULONG ulSectionGlobalDataLength;
1356 PVOID lpSectionBase;
1357 ULONG ulSectionTotalLength;
1359 ULONG ulAssemblyRosterIndex;
1360} ACTCTX_SECTION_KEYED_DATA_2600, *PACTCTX_SECTION_KEYED_DATA_2600;
1361typedef const ACTCTX_SECTION_KEYED_DATA_2600 *PCACTCTX_SECTION_KEYED_DATA_2600;
1363typedef struct tagACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA {
1364 PVOID lpInformation;
1365 PVOID lpSectionBase;
1366 ULONG ulSectionLength;
1367 PVOID lpSectionGlobalDataBase;
1368 ULONG ulSectionGlobalDataLength;
1369} ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA, *PACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA;
1370typedef const ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA *PCACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA;
1372typedef struct tagACTCTX_SECTION_KEYED_DATA {
1374 ULONG ulDataFormatVersion;
1377 PVOID lpSectionGlobalData;
1378 ULONG ulSectionGlobalDataLength;
1379 PVOID lpSectionBase;
1380 ULONG ulSectionTotalLength;
1382 ULONG ulAssemblyRosterIndex;
1385 ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA AssemblyMetadata;
1388typedef const ACTCTX_SECTION_KEYED_DATA *PCACTCTX_SECTION_KEYED_DATA;
1390typedef struct _ACTIVATION_CONTEXT_BASIC_INFORMATION {
1393} ACTIVATION_CONTEXT_BASIC_INFORMATION, *PACTIVATION_CONTEXT_BASIC_INFORMATION;
1394typedef const struct _ACTIVATION_CONTEXT_BASIC_INFORMATION *PCACTIVATION_CONTEXT_BASIC_INFORMATION;
1397(
WINAPI *PQUERYACTCTXW_FUNC)(
1407 LowMemoryResourceNotification ,
1408 HighMemoryResourceNotification
1409} MEMORY_RESOURCE_NOTIFICATION_TYPE;
1412#if (_WIN32_WINNT >= 0x0500)
1413typedef enum _COMPUTER_NAME_FORMAT {
1414 ComputerNameNetBIOS,
1415 ComputerNameDnsHostname,
1416 ComputerNameDnsDomain,
1417 ComputerNameDnsFullyQualified,
1418 ComputerNamePhysicalNetBIOS,
1419 ComputerNamePhysicalDnsHostname,
1420 ComputerNamePhysicalDnsDomain,
1421 ComputerNamePhysicalDnsFullyQualified,
1423} COMPUTER_NAME_FORMAT;
1426#if (_WIN32_WINNT >= 0x0600)
1433#define PROC_THREAD_ATTRIBUTE_NUMBER 0x0000ffff
1434#define PROC_THREAD_ATTRIBUTE_THREAD 0x00010000
1435#define PROC_THREAD_ATTRIBUTE_INPUT 0x00020000
1436#define PROC_THREAD_ATTRIBUTE_ADDITIVE 0x00040000
1454#define PROC_THREAD_ATTRIBUTE_IDEAL_PROCESSOR (ProcThreadAttributeIdealProcessor | PROC_THREAD_ATTRIBUTE_THREAD | PROC_THREAD_ATTRIBUTE_INPUT)
1455#define PROC_THREAD_ATTRIBUTE_HANDLE_LIST (ProcThreadAttributeHandleList | PROC_THREAD_ATTRIBUTE_INPUT)
1456#define PROC_THREAD_ATTRIBUTE_PARENT_PROCESS (ProcThreadAttributeParentProcess | PROC_THREAD_ATTRIBUTE_INPUT)
1481#if (_WIN32_WINNT >= 0x0600)
1485#ifdef WINE_NO_UNICODE_MACROS
1486#define MAKEINTATOM(atom) ((ULONG_PTR)((WORD)(atom)))
1488#define MAKEINTATOM(i) (LPTSTR)((ULONG_PTR)((WORD)(i)))
1555BOOL WINAPI AccessCheckAndAuditAlarmW(
LPCWSTR,
LPVOID,
LPWSTR,
LPWSTR,
PSECURITY_DESCRIPTOR,
DWORD,
PGENERIC_MAPPING,
BOOL,
PDWORD,
PBOOL,
PBOOL);
1556#if (_WIN32_WINNT >= 0x0600)
1560#if (_WIN32_WINNT >= 0x0501)
1565#if (_WIN32_WINNT >= 0x0500)
1575#if (_WIN32_WINNT >= 0x0500)
1578#if (_WIN32_WINNT >= 0x0501)
1581#if (_WIN32_WINNT >= 0x0500)
1618BOOL WINAPI AllocateAndInitializeSid(
PSID_IDENTIFIER_AUTHORITY,
BYTE,
DWORD,
DWORD,
DWORD,
DWORD,
DWORD,
DWORD,
DWORD,
DWORD,
PSID*);
1654#if (_WIN32_WINNT >= 0x0500)
1686#if (_WIN32_WINNT >= 0x0600)
1692#if (_WIN32_WINNT >= 0x0501)
1726#if (_WIN32_WINNT >= 0x0400)
1734#define MoveMemory RtlMoveMemory
1735#define CopyMemory RtlCopyMemory
1736#define FillMemory RtlFillMemory
1737#define ZeroMemory RtlZeroMemory
1738#define SecureZeroMemory RtlSecureZeroMemory
1740#if (_WIN32_WINNT >= 0x0501)
1750#if (_WIN32_WINNT >= 0x0600)
1755#if (_WIN32_WINNT >= 0x0400)
1762#if (_WIN32_WINNT >= 0x0500)
1767#if (_WIN32_WINNT >= 0x0500)
1775#if (_WIN32_WINNT >= 0x0501)
1780#if (_WIN32_WINNT >= 0x0600)
1806BOOL WINAPI CreateProcessAsUserW(
HANDLE,
LPCWSTR,
LPWSTR,
LPSECURITY_ATTRIBUTES,
LPSECURITY_ATTRIBUTES,
BOOL,
DWORD,
PVOID,
LPCWSTR,
LPSTARTUPINFOW,
LPPROCESS_INFORMATION);
1807BOOL WINAPI CreateProcessWithLogonW(
LPCWSTR,
LPCWSTR,
LPCWSTR,
DWORD,
LPCWSTR,
LPWSTR,
DWORD,
LPVOID,
LPCWSTR,
LPSTARTUPINFOW,
LPPROCESS_INFORMATION);
1826#if (_WIN32_WINNT >= 0x0600)
1832#if (_WIN32_WINNT >= 0x0500)
1861#if (_WIN32_WINNT >= 0x0600)
1865#if (_WIN32_WINNT >= 0x0501)
1870#if (_WIN32_WINNT >= 0x0501)
1874#if (_WIN32_WINNT >= 0x0501)
1884#define DefineHandleTable(w) ((w),TRUE)
1891#if (_WIN32_WINNT >= 0x0500)
1903#if (_WIN32_WINNT >= 0x0500)
1957#if (_WIN32_WINNT >= 0x0501)
1972#if (_WIN32_WINNT >= 0x0501)
1977#if (_WIN32_WINNT >= 0x0500)
2006#if (_WIN32_WINNT >= 0x0501)
2010#if (_WIN32_WINNT >= 0x0500)
2058#define FreeModule(m) FreeLibrary(m)
2059#define FreeProcInstance(p) (void)(p)
2064#if (_WIN32_WINNT >= 0x0600)
2118#if (_WIN32_WINNT >= 0x0500)
2122#if (_WIN32_WINNT >= 0x0501)
2133#define GetCurrentTime GetTickCount
2154#if (_WIN32_WINNT >= 0x0502)
2181#if (_WIN32_WINNT >= 0x0600)
2189#if (_WIN32_WINNT >= 0x0600)
2194#if (_WIN32_WINNT >= 0x0600)
2218#define GetFreeSpace(w) (0x100000L)
2236#if (_WIN32_WINNT >= 0x0500 || _WIN32_WINDOWS >= 0x0410)
2245#if (_WIN32_WINNT >= 0x0500)
2250#if _WIN32_WINNT >= 0x0502
2278#if (_WIN32_WINNT >= 0x0501)
2369#if (_WIN32_WINNT >= 0x0502)
2374#if (_WIN32_WINNT >= 0x0502)
2378#if (_WIN32_WINNT >= 0x0500)
2452#if (_WIN32_WINNT >= 0x0502)
2456#if (_WIN32_WINNT >= 0x0501)
2461#if (_WIN32_WINNT >= 0x0500)
2466#if (_WIN32_WINNT >= 0x0501)
2513#if (_WIN32_WINNT >= 0x0502)
2521#if (_WIN32_WINNT >= 0x0600)
2558#if (_WIN32_WINNT >= 0x0500)
2580#if (_WIN32_WINNT >= 0x0501)
2603#define GlobalDiscard(m) GlobalReAlloc((m),0,GMEM_MOVEABLE)
2627#if (_WIN32_WINNT >= 0x0500)
2636#define HasOverlappedIoCompleted(lpOverlapped) ((lpOverlapped)->Internal != STATUS_PENDING)
2643#if (_WIN32_WINNT >= 0x0501)
2647#if (_WIN32_WINNT >= 0x0501)
2660#if (_WIN32_WINNT >= 0x0600)
2669#if (_WIN32_WINNT >= 0x0600)
2681#if (_WIN32_WINNT >= 0x0501)
2694#if (_WIN32_WINNT >= 0x0600)
2700#if (_WIN32_WINNT >= 0x0501)
2705#define LimitEmsPages(n)
2714#define LocalDiscard(m) (LocalReAlloc((m),0,LMEM_MOVEABLE))
2727#define LockSegment(w) GlobalFix((HANDLE)(w))