4 * Windows API Base Definitions
8 * Written by Anders Norlander <anorland@hem2.passagen.se>
9 * Copyright (C) 1998-2012, 2016, 2017, 2021, 2022, MinGW.OSDN Project
12 * Permission is hereby granted, free of charge, to any person obtaining a
13 * copy of this software and associated documentation files (the "Software"),
14 * to deal in the Software without restriction, including without limitation
15 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
16 * and/or sell copies of the Software, and to permit persons to whom the
17 * Software is furnished to do so, subject to the following conditions:
19 * The above copyright notice and this permission notice (including the next
20 * paragraph) shall be included in all copies or substantial portions of the
23 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
24 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
25 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
26 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
27 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
28 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
29 * DEALINGS IN THE SOFTWARE.
33 #pragma GCC system_header
37 # define __GNUC_EXTENSION __extension__
39 # define __GNUC_EXTENSION
43 # ifdef __W32API_USE_DLLIMPORT__
44 # define WINBASEAPI DECLSPEC_IMPORT
51 # ifdef __W32API_USE_DLLIMPORT__
52 # define WINADVAPI DECLSPEC_IMPORT
58 /* To make <winbase.h> effectively self-contained, we must ensure
59 * that both <stdarg.h> and <windef.h> are included beforehand.
66 #define SP_SERIALCOMM 1
68 #define PST_UNSPECIFIED 0
70 #define PST_PARALLELPORT 2
76 #define PST_SCANNER 0x22
77 #define PST_NETWORK_BRIDGE 0x100
79 #define PST_TCPIP_TELNET 0x102
92 #define BAUD_7200 1024
93 #define BAUD_9600 2048
94 #define BAUD_14400 4096
95 #define BAUD_19200 8192
96 #define BAUD_38400 16384
97 #define BAUD_56K 32768
98 #define BAUD_128K 65536
99 #define BAUD_115200 131072
100 #define BAUD_57600 262144
101 #define BAUD_USER 0x10000000
106 #define PCF_PARITY_CHECK 8
107 #define PCF_XONXOFF 16
108 #define PCF_SETXCHAR 32
109 #define PCF_TOTALTIMEOUTS 64
110 #define PCF_INTTIMEOUTS 128
111 #define PCF_SPECIALCHARS 256
112 #define PCF_16BITMODE 512
116 #define SP_DATABITS 4
117 #define SP_STOPBITS 8
118 #define SP_HANDSHAKING 16
119 #define SP_PARITY_CHECK 32
126 #define DATABITS_16 16
127 #define DATABITS_16X 32
129 #define STOPBITS_10 1
130 #define STOPBITS_15 2
131 #define STOPBITS_20 4
133 #define PARITY_NONE 256
134 #define PARITY_ODD 512
135 #define PARITY_EVEN 1024
136 #define PARITY_MARK 2048
137 #define PARITY_SPACE 4096
139 #define EXCEPTION_DEBUG_EVENT 1
140 #define CREATE_THREAD_DEBUG_EVENT 2
141 #define CREATE_PROCESS_DEBUG_EVENT 3
142 #define EXIT_THREAD_DEBUG_EVENT 4
143 #define EXIT_PROCESS_DEBUG_EVENT 5
144 #define LOAD_DLL_DEBUG_EVENT 6
145 #define UNLOAD_DLL_DEBUG_EVENT 7
146 #define OUTPUT_DEBUG_STRING_EVENT 8
149 #define HFILE_ERROR ((HFILE)(-1))
152 #define FILE_CURRENT 1
155 #define INVALID_SET_FILE_POINTER ((DWORD)(-1))
158 #define OF_READWRITE 2
160 #define OF_SHARE_COMPAT 0
161 #define OF_SHARE_DENY_NONE 64
162 #define OF_SHARE_DENY_READ 48
163 #define OF_SHARE_DENY_WRITE 32
164 #define OF_SHARE_EXCLUSIVE 16
165 #define OF_CANCEL 2048
166 #define OF_CREATE 4096
167 #define OF_DELETE 512
168 #define OF_EXIST 16384
170 #define OF_PROMPT 8192
171 #define OF_REOPEN 32768
172 #define OF_VERIFY 1024
174 #define NMPWAIT_NOWAIT 1
175 #define NMPWAIT_WAIT_FOREVER ((DWORD)(-1))
176 #define NMPWAIT_USE_DEFAULT_WAIT 0
182 #define CE_MODE 32768
187 #define CE_RXPARITY 4
188 #define CE_TXFULL 256
190 #define PROGRESS_CONTINUE 0
191 #define PROGRESS_CANCEL 1
192 #define PROGRESS_STOP 2
193 #define PROGRESS_QUIET 3
195 #define CALLBACK_CHUNK_FINISHED 0
196 #define CALLBACK_STREAM_SWITCH 1
198 #define COPY_FILE_FAIL_IF_EXISTS 0x0001
199 #define COPY_FILE_RESTARTABLE 0x0002
200 #define COPY_FILE_OPEN_SOURCE_FOR_WRITE 0x0004
202 #define OFS_MAXPATHNAME 128
204 #define FILE_MAP_ALL_ACCESS 0xF001F
205 #define FILE_MAP_READ 4
206 #define FILE_MAP_WRITE 2
207 #define FILE_MAP_COPY 1
209 #define MUTEX_ALL_ACCESS 0x1F0001
210 #define MUTEX_MODIFY_STATE 1
212 #define SEMAPHORE_ALL_ACCESS 0x1F0003
213 #define SEMAPHORE_MODIFY_STATE 2
215 #define EVENT_ALL_ACCESS 0x1F0003
216 #define EVENT_MODIFY_STATE 2
218 #define PIPE_ACCESS_DUPLEX 3
219 #define PIPE_ACCESS_INBOUND 1
220 #define PIPE_ACCESS_OUTBOUND 2
221 #define PIPE_TYPE_BYTE 0
222 #define PIPE_TYPE_MESSAGE 4
223 #define PIPE_READMODE_BYTE 0
224 #define PIPE_READMODE_MESSAGE 2
226 #define PIPE_NOWAIT 1
227 #define PIPE_CLIENT_END 0
228 #define PIPE_SERVER_END 1
229 #define PIPE_UNLIMITED_INSTANCES 255
231 #define DEBUG_PROCESS 0x00000001
232 #define DEBUG_ONLY_THIS_PROCESS 0x00000002
233 #define CREATE_SUSPENDED 0x00000004
234 #define DETACHED_PROCESS 0x00000008
235 #define CREATE_NEW_CONSOLE 0x00000010
236 #define NORMAL_PRIORITY_CLASS 0x00000020
237 #define IDLE_PRIORITY_CLASS 0x00000040
238 #define HIGH_PRIORITY_CLASS 0x00000080
239 #define REALTIME_PRIORITY_CLASS 0x00000100
240 #define CREATE_NEW_PROCESS_GROUP 0x00000200
241 #define CREATE_UNICODE_ENVIRONMENT 0x00000400
242 #define CREATE_SEPARATE_WOW_VDM 0x00000800
243 #define CREATE_SHARED_WOW_VDM 0x00001000
244 #define CREATE_FORCEDOS 0x00002000
245 #define BELOW_NORMAL_PRIORITY_CLASS 0x00004000
246 #define ABOVE_NORMAL_PRIORITY_CLASS 0x00008000
247 #define STACK_SIZE_PARAM_IS_A_RESERVATION 0x00010000
248 #define CREATE_BREAKAWAY_FROM_JOB 0x01000000
249 #define CREATE_WITH_USERPROFILE 0x02000000
250 #define CREATE_DEFAULT_ERROR_MODE 0x04000000
251 #define CREATE_NO_WINDOW 0x08000000
253 #define PROFILE_USER 0x10000000
254 #define PROFILE_KERNEL 0x20000000
255 #define PROFILE_SERVER 0x40000000
257 #define CONSOLE_TEXTMODE_BUFFER 1
260 #define CREATE_ALWAYS 2
261 #define OPEN_EXISTING 3
262 #define OPEN_ALWAYS 4
263 #define TRUNCATE_EXISTING 5
265 #define FILE_FLAG_WRITE_THROUGH 0x80000000
266 #define FILE_FLAG_OVERLAPPED 0x40000000
267 #define FILE_FLAG_NO_BUFFERING 0x20000000
268 #define FILE_FLAG_RANDOM_ACCESS 0x10000000
269 #define FILE_FLAG_SEQUENTIAL_SCAN 0x08000000
270 #define FILE_FLAG_DELETE_ON_CLOSE 0x04000000
271 #define FILE_FLAG_BACKUP_SEMANTICS 0x02000000
272 #define FILE_FLAG_POSIX_SEMANTICS 0x01000000
273 #define FILE_FLAG_OPEN_REPARSE_POINT 0x00200000
274 #define FILE_FLAG_OPEN_NO_RECALL 0x00100000
276 #define SYMBOLIC_LINK_FLAG_DIRECTORY 0x1
287 #define STILL_ACTIVE 0x103
289 #define FIND_FIRST_EX_CASE_SENSITIVE 1
291 #define SCS_32BIT_BINARY 0
292 #define SCS_64BIT_BINARY 6
293 #define SCS_DOS_BINARY 1
294 #define SCS_OS216_BINARY 5
295 #define SCS_PIF_BINARY 3
296 #define SCS_POSIX_BINARY 4
297 #define SCS_WOW_BINARY 2
299 #define MAX_COMPUTERNAME_LENGTH 15
301 #define HW_PROFILE_GUIDLEN 39
302 #define MAX_PROFILE_LEN 80
304 #define DOCKINFO_UNDOCKED 1
305 #define DOCKINFO_DOCKED 2
306 #define DOCKINFO_USER_SUPPLIED 4
307 #define DOCKINFO_USER_UNDOCKED (DOCKINFO_USER_SUPPLIED|DOCKINFO_UNDOCKED)
308 #define DOCKINFO_USER_DOCKED (DOCKINFO_USER_SUPPLIED|DOCKINFO_DOCKED)
310 #define DRIVE_REMOVABLE 2
311 #define DRIVE_FIXED 3
312 #define DRIVE_REMOTE 4
313 #define DRIVE_CDROM 5
314 #define DRIVE_RAMDISK 6
315 #define DRIVE_UNKNOWN 0
316 #define DRIVE_NO_ROOT_DIR 1
318 #define FILE_TYPE_UNKNOWN 0
319 #define FILE_TYPE_DISK 1
320 #define FILE_TYPE_CHAR 2
321 #define FILE_TYPE_PIPE 3
322 #define FILE_TYPE_REMOTE 0x8000
323 #define FILE_ENCRYPTABLE 0
324 #define FILE_IS_ENCRYPTED 1
325 #define FILE_READ_ONLY 8
326 #define FILE_ROOT_DIR 3
327 #define FILE_SYSTEM_ATTR 2
328 #define FILE_SYSTEM_DIR 4
329 #define FILE_SYSTEM_NOT_SUPPORT 6
330 #define FILE_UNKNOWN 5
331 #define FILE_USER_DISALLOWED 7
333 /* also in ddk/ntapi.h */
334 #define HANDLE_FLAG_INHERIT 0x01
335 #define HANDLE_FLAG_PROTECT_FROM_CLOSE 0x02
338 #define STD_INPUT_HANDLE (DWORD)(0xfffffff6)
339 #define STD_OUTPUT_HANDLE (DWORD)(0xfffffff5)
340 #define STD_ERROR_HANDLE (DWORD)(0xfffffff4)
342 #define INVALID_HANDLE_VALUE (HANDLE)(-1)
344 #define GET_TAPE_MEDIA_INFORMATION 0
345 #define GET_TAPE_DRIVE_INFORMATION 1
346 #define SET_TAPE_MEDIA_INFORMATION 0
347 #define SET_TAPE_DRIVE_INFORMATION 1
349 #define THREAD_PRIORITY_ABOVE_NORMAL 1
350 #define THREAD_PRIORITY_BELOW_NORMAL (-1)
351 #define THREAD_PRIORITY_HIGHEST 2
352 #define THREAD_PRIORITY_IDLE (-15)
353 #define THREAD_PRIORITY_LOWEST (-2)
354 #define THREAD_PRIORITY_NORMAL 0
355 #define THREAD_PRIORITY_TIME_CRITICAL 15
356 #define THREAD_PRIORITY_ERROR_RETURN 2147483647
358 #define TIME_ZONE_ID_UNKNOWN 0
359 #define TIME_ZONE_ID_STANDARD 1
360 #define TIME_ZONE_ID_DAYLIGHT 2
361 #define TIME_ZONE_ID_INVALID 0xFFFFFFFF
363 #define FS_CASE_IS_PRESERVED 2
364 #define FS_CASE_SENSITIVE 1
365 #define FS_UNICODE_STORED_ON_DISK 4
366 #define FS_PERSISTENT_ACLS 8
367 #define FS_FILE_COMPRESSION 16
368 #define FS_VOL_IS_COMPRESSED 32768
371 #define GMEM_MOVEABLE 2
372 #define GMEM_MODIFY 128
375 #define GMEM_DDESHARE 8192
376 #define GMEM_DISCARDABLE 256
377 #define GMEM_LOWER 4096
378 #define GMEM_NOCOMPACT 16
379 #define GMEM_NODISCARD 32
380 #define GMEM_NOT_BANKED 4096
381 #define GMEM_NOTIFY 16384
382 #define GMEM_SHARE 8192
383 #define GMEM_ZEROINIT 64
384 #define GMEM_DISCARDED 16384
385 #define GMEM_INVALID_HANDLE 32768
386 #define GMEM_LOCKCOUNT 255
387 #define GMEM_VALID_FLAGS 32626
389 #define STATUS_WAIT_0 0
390 #define STATUS_ABANDONED_WAIT_0 0x80
391 #define STATUS_USER_APC 0xC0
392 #define STATUS_TIMEOUT 0x102
393 #define STATUS_PENDING 0x103
394 #define STATUS_SEGMENT_NOTIFICATION 0x40000005
395 #define STATUS_GUARD_PAGE_VIOLATION 0x80000001
396 #define STATUS_DATATYPE_MISALIGNMENT 0x80000002
397 #define STATUS_BREAKPOINT 0x80000003
398 #define STATUS_SINGLE_STEP 0x80000004
399 #define STATUS_ACCESS_VIOLATION 0xC0000005
400 #define STATUS_IN_PAGE_ERROR 0xC0000006
401 #define STATUS_INVALID_HANDLE 0xC0000008L
402 #define STATUS_NO_MEMORY 0xC0000017
403 #define STATUS_ILLEGAL_INSTRUCTION 0xC000001D
404 #define STATUS_NONCONTINUABLE_EXCEPTION 0xC0000025
405 #define STATUS_INVALID_DISPOSITION 0xC0000026
406 #define STATUS_ARRAY_BOUNDS_EXCEEDED 0xC000008C
407 #define STATUS_FLOAT_DENORMAL_OPERAND 0xC000008D
408 #define STATUS_FLOAT_DIVIDE_BY_ZERO 0xC000008E
409 #define STATUS_FLOAT_INEXACT_RESULT 0xC000008F
410 #define STATUS_FLOAT_INVALID_OPERATION 0xC0000090
411 #define STATUS_FLOAT_OVERFLOW 0xC0000091
412 #define STATUS_FLOAT_STACK_CHECK 0xC0000092
413 #define STATUS_FLOAT_UNDERFLOW 0xC0000093
414 #define STATUS_INTEGER_DIVIDE_BY_ZERO 0xC0000094
415 #define STATUS_INTEGER_OVERFLOW 0xC0000095
416 #define STATUS_PRIVILEGED_INSTRUCTION 0xC0000096
417 #define STATUS_STACK_OVERFLOW 0xC00000FD
418 #define STATUS_CONTROL_C_EXIT 0xC000013A
419 #define STATUS_DLL_INIT_FAILED 0xC0000142
420 #define STATUS_DLL_INIT_FAILED_LOGOFF 0xC000026B
422 #define EXCEPTION_ACCESS_VIOLATION STATUS_ACCESS_VIOLATION
423 #define EXCEPTION_DATATYPE_MISALIGNMENT STATUS_DATATYPE_MISALIGNMENT
424 #define EXCEPTION_BREAKPOINT STATUS_BREAKPOINT
425 #define EXCEPTION_SINGLE_STEP STATUS_SINGLE_STEP
426 #define EXCEPTION_ARRAY_BOUNDS_EXCEEDED STATUS_ARRAY_BOUNDS_EXCEEDED
427 #define EXCEPTION_FLT_DENORMAL_OPERAND STATUS_FLOAT_DENORMAL_OPERAND
428 #define EXCEPTION_FLT_DIVIDE_BY_ZERO STATUS_FLOAT_DIVIDE_BY_ZERO
429 #define EXCEPTION_FLT_INEXACT_RESULT STATUS_FLOAT_INEXACT_RESULT
430 #define EXCEPTION_FLT_INVALID_OPERATION STATUS_FLOAT_INVALID_OPERATION
431 #define EXCEPTION_FLT_OVERFLOW STATUS_FLOAT_OVERFLOW
432 #define EXCEPTION_FLT_STACK_CHECK STATUS_FLOAT_STACK_CHECK
433 #define EXCEPTION_FLT_UNDERFLOW STATUS_FLOAT_UNDERFLOW
434 #define EXCEPTION_INT_DIVIDE_BY_ZERO STATUS_INTEGER_DIVIDE_BY_ZERO
435 #define EXCEPTION_INT_OVERFLOW STATUS_INTEGER_OVERFLOW
436 #define EXCEPTION_PRIV_INSTRUCTION STATUS_PRIVILEGED_INSTRUCTION
437 #define EXCEPTION_IN_PAGE_ERROR STATUS_IN_PAGE_ERROR
438 #define EXCEPTION_ILLEGAL_INSTRUCTION STATUS_ILLEGAL_INSTRUCTION
439 #define EXCEPTION_NONCONTINUABLE_EXCEPTION STATUS_NONCONTINUABLE_EXCEPTION
440 #define EXCEPTION_STACK_OVERFLOW STATUS_STACK_OVERFLOW
441 #define EXCEPTION_INVALID_DISPOSITION STATUS_INVALID_DISPOSITION
442 #define EXCEPTION_GUARD_PAGE STATUS_GUARD_PAGE_VIOLATION
443 #define EXCEPTION_INVALID_HANDLE STATUS_INVALID_HANDLE
444 #define CONTROL_C_EXIT STATUS_CONTROL_C_EXIT
446 #define PROCESS_HEAP_REGION 1
447 #define PROCESS_HEAP_UNCOMMITTED_RANGE 2
448 #define PROCESS_HEAP_ENTRY_BUSY 4
449 #define PROCESS_HEAP_ENTRY_MOVEABLE 16
450 #define PROCESS_HEAP_ENTRY_DDESHARE 32
452 #define DONT_RESOLVE_DLL_REFERENCES 1
453 #define LOAD_LIBRARY_AS_DATAFILE 2
454 #define LOAD_WITH_ALTERED_SEARCH_PATH 8
457 #define LMEM_MOVEABLE 2
458 #define LMEM_NONZEROLHND 2
459 #define LMEM_NONZEROLPTR 0
460 #define LMEM_DISCARDABLE 3840
461 #define LMEM_NOCOMPACT 16
462 #define LMEM_NODISCARD 32
463 #define LMEM_ZEROINIT 64
464 #define LMEM_DISCARDED 16384
465 #define LMEM_MODIFY 128
466 #define LMEM_INVALID_HANDLE 32768
467 #define LMEM_LOCKCOUNT 255
471 #define NONZEROLHND 2
472 #define NONZEROLPTR 0
474 #define LOCKFILE_FAIL_IMMEDIATELY 1
475 #define LOCKFILE_EXCLUSIVE_LOCK 2
477 #define LOGON32_PROVIDER_DEFAULT 0
478 #define LOGON32_PROVIDER_WINNT35 1
479 #define LOGON32_LOGON_INTERACTIVE 2
480 #define LOGON32_LOGON_NETWORK 3
481 #define LOGON32_LOGON_BATCH 4
482 #define LOGON32_LOGON_SERVICE 5
483 #define LOGON32_LOGON_UNLOCK 7
485 #define MOVEFILE_REPLACE_EXISTING 1
486 #define MOVEFILE_COPY_ALLOWED 2
487 #define MOVEFILE_DELAY_UNTIL_REBOOT 4
488 #define MOVEFILE_WRITE_THROUGH 8
490 #define MAXIMUM_WAIT_OBJECTS 64
491 #define MAXIMUM_SUSPEND_COUNT 0x7F
493 #define WAIT_OBJECT_0 0
494 #define WAIT_ABANDONED_0 128
496 /* WAIT_TIMEOUT is also defined in <winerror.h>. We MUST ensure that the
497 * definitions are IDENTICALLY the same in BOTH headers; they are defined
498 * without guards, to give the compiler an opportunity to check this.
500 #define WAIT_TIMEOUT 258L
502 #define WAIT_IO_COMPLETION 0xC0
503 #define WAIT_ABANDONED 128
504 #define WAIT_FAILED ((DWORD)(0xFFFFFFFF))
506 #define PURGE_TXABORT 1
507 #define PURGE_RXABORT 2
508 #define PURGE_TXCLEAR 4
509 #define PURGE_RXCLEAR 8
511 #define EVENTLOG_SUCCESS 0
512 #define EVENTLOG_FORWARDS_READ 4
513 #define EVENTLOG_BACKWARDS_READ 8
514 #define EVENTLOG_SEEK_READ 2
515 #define EVENTLOG_SEQUENTIAL_READ 1
516 #define EVENTLOG_ERROR_TYPE 1
517 #define EVENTLOG_WARNING_TYPE 2
518 #define EVENTLOG_INFORMATION_TYPE 4
519 #define EVENTLOG_AUDIT_SUCCESS 8
520 #define EVENTLOG_AUDIT_FAILURE 16
522 #define FORMAT_MESSAGE_ALLOCATE_BUFFER 256
523 #define FORMAT_MESSAGE_IGNORE_INSERTS 512
524 #define FORMAT_MESSAGE_FROM_STRING 1024
525 #define FORMAT_MESSAGE_FROM_HMODULE 2048
526 #define FORMAT_MESSAGE_FROM_SYSTEM 4096
527 #define FORMAT_MESSAGE_ARGUMENT_ARRAY 8192
528 #define FORMAT_MESSAGE_MAX_WIDTH_MASK 255
534 #define EV_EVENT1 2048
535 #define EV_EVENT2 4096
539 #define EV_RX80FULL 1024
544 /* also in ddk/ntapi.h */
545 /* To restore default error mode, call SetErrorMode (0). */
546 #define SEM_FAILCRITICALERRORS 0x0001
547 #define SEM_NOGPFAULTERRORBOX 0x0002
548 #define SEM_NOALIGNMENTFAULTEXCEPT 0x0004
549 #define SEM_NOOPENFILEERRORBOX 0x8000
553 #define SLE_MINORERROR 2
554 #define SLE_WARNING 3
556 #define SHUTDOWN_NORETRY 1
558 #define EXCEPTION_EXECUTE_HANDLER 1
559 #define EXCEPTION_CONTINUE_EXECUTION (-1)
560 #define EXCEPTION_CONTINUE_SEARCH 0
562 #define MAXINTATOM 0xC000
563 #define INVALID_ATOM ((ATOM)(0))
566 #define INFINITE 0xFFFFFFFF
571 #define SPACEPARITY 4
573 #define ONE5STOPBITS 1
574 #define TWOSTOPBITS 2
578 #define CBR_1200 1200
579 #define CBR_2400 2400
580 #define CBR_4800 4800
581 #define CBR_9600 9600
582 #define CBR_14400 14400
583 #define CBR_19200 19200
584 #define CBR_38400 38400
585 #define CBR_56000 56000
586 #define CBR_57600 57600
587 #define CBR_115200 115200
588 #define CBR_128000 128000
589 #define CBR_256000 256000
591 #define BACKUP_INVALID 0
592 #define BACKUP_DATA 1
593 #define BACKUP_EA_DATA 2
594 #define BACKUP_SECURITY_DATA 3
595 #define BACKUP_ALTERNATE_DATA 4
596 #define BACKUP_LINK 5
597 #define BACKUP_PROPERTY_DATA 6
598 #define BACKUP_OBJECT_ID 7
599 #define BACKUP_REPARSE_DATA 8
600 #define BACKUP_SPARSE_BLOCK 9
602 #define STREAM_NORMAL_ATTRIBUTE 0
603 #define STREAM_MODIFIED_WHEN_READ 1
604 #define STREAM_CONTAINS_SECURITY 2
605 #define STREAM_CONTAINS_PROPERTIES 4
607 #define STARTF_USESHOWWINDOW 1
608 #define STARTF_USESIZE 2
609 #define STARTF_USEPOSITION 4
610 #define STARTF_USECOUNTCHARS 8
611 #define STARTF_USEFILLATTRIBUTE 16
612 #define STARTF_RUNFULLSCREEN 32
613 #define STARTF_FORCEONFEEDBACK 64
614 #define STARTF_FORCEOFFFEEDBACK 128
615 #define STARTF_USESTDHANDLES 256
616 #define STARTF_USEHOTKEY 512
623 #define AC_LINE_OFFLINE 0
624 #define AC_LINE_ONLINE 1
625 #define AC_LINE_BACKUP_POWER 2
626 #define AC_LINE_UNKNOWN 255
628 #define BATTERY_FLAG_HIGH 1
629 #define BATTERY_FLAG_LOW 2
630 #define BATTERY_FLAG_CRITICAL 4
631 #define BATTERY_FLAG_CHARGING 8
632 #define BATTERY_FLAG_NO_BATTERY 128
633 #define BATTERY_FLAG_UNKNOWN 255
634 #define BATTERY_PERCENTAGE_UNKNOWN 255
635 #define BATTERY_LIFE_UNKNOWN 0xFFFFFFFF
637 #define DDD_RAW_TARGET_PATH 1
638 #define DDD_REMOVE_DEFINITION 2
639 #define DDD_EXACT_MATCH_ON_REMOVE 4
641 #define HINSTANCE_ERROR 32
645 #define MS_RING_ON 64
646 #define MS_RLSD_ON 128
648 #define DTR_CONTROL_DISABLE 0
649 #define DTR_CONTROL_ENABLE 1
650 #define DTR_CONTROL_HANDSHAKE 2
652 #define RTS_CONTROL_DISABLE 0
653 #define RTS_CONTROL_ENABLE 1
654 #define RTS_CONTROL_HANDSHAKE 2
655 #define RTS_CONTROL_TOGGLE 3
657 #define SECURITY_ANONYMOUS (SecurityAnonymous<<16)
658 #define SECURITY_IDENTIFICATION (SecurityIdentification<<16)
659 #define SECURITY_IMPERSONATION (SecurityImpersonation<<16)
660 #define SECURITY_DELEGATION (SecurityDelegation<<16)
661 #define SECURITY_CONTEXT_TRACKING 0x40000
662 #define SECURITY_EFFECTIVE_ONLY 0x80000
663 #define SECURITY_SQOS_PRESENT 0x100000
664 #define SECURITY_VALID_SQOS_FLAGS 0x1F0000
666 #define INVALID_FILE_SIZE 0xFFFFFFFF
667 #define TLS_OUT_OF_INDEXES (DWORD)(0xFFFFFFFF)
669 #define GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS 0x00000004
670 #define GET_MODULE_HANDLE_EX_FLAG_PIN 0x00000001
671 #define GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT 0x00000002
673 #define WRITE_WATCH_FLAG_RESET 1
675 #if _WIN32_WINNT >= _WIN32_WINNT_NT4
676 /* Constants associated with features supported only on WinNT,
679 #define LOGON32_PROVIDER_WINNT40 2
681 #if (_WIN32_WINNT > 0x0500)
682 /* FIXME: What does this mean? 0x0500 is Win2K, so greater than Win2K
683 * implies WinXP and later, so does it mean >= WinXP, or is it a typo
684 * for >= Win2K? Should use >= comparator for clarity.
686 #define COPY_FILE_ALLOW_DECRYPTED_DESTINATION 0x0008
689 #if _WIN32_WINNT >= _WIN32_WINNT_WIN2K
690 /* Constants associated with features supported only on WinXP and later.
692 #define FILE_FLAG_FIRST_PIPE_INSTANCE 524288
694 #define LOGON32_PROVIDER_WINNT50 3
695 #define LOGON32_LOGON_NETWORK_CLEARTEXT 8
696 #define LOGON32_LOGON_NEW_CREDENTIALS 9
698 #define REPLACEFILE_WRITE_THROUGH 0x00000001
699 #define REPLACEFILE_IGNORE_MERGE_ERRORS 0x00000002
701 #if (_WIN32_WINNT > 0x0501)
702 /* FIXME: Once again, what does this mean? Should use >= comparator, for
703 * clarity. 0x0501 is WinXP, but does > WinXP mean Server-2003 (0x0502)?
704 * Or deoes it mean Vista (0x0600)? (Intuitively, since symlinks weren't
705 * supported prior to Vista, the latter seems likely).
707 #define COPY_FILE_COPY_SYMLINK 0x0800
708 #define COPY_FILE_NO_BUFFERING 0x1000
711 #if _WIN32_WINNT >= _WIN32_WINNT_WINXP
712 /* Constants associated with features supported only on WinXP and later.
714 #define ACTCTX_FLAG_PROCESSOR_ARCHITECTURE_VALID 0x00000001
715 #define ACTCTX_FLAG_LANGID_VALID 0x00000002
716 #define ACTCTX_FLAG_ASSEMBLY_DIRECTORY_VALID 0x00000004
717 #define ACTCTX_FLAG_RESOURCE_NAME_VALID 0x00000008
718 #define ACTCTX_FLAG_SET_PROCESS_DEFAULT 0x00000010
719 #define ACTCTX_FLAG_APPLICATION_NAME_VALID 0x00000020
720 #define ACTCTX_FLAG_HMODULE_VALID 0x00000080
721 #define DEACTIVATE_ACTCTX_FLAG_FORCE_EARLY_DEACTIVATION 0x00000001
722 #define FIND_ACTCTX_SECTION_KEY_RETURN_HACTCTX 0x00000001
723 #define QUERY_ACTCTX_FLAG_USE_ACTIVE_ACTCTX 0x00000004
724 #define QUERY_ACTCTX_FLAG_ACTCTX_IS_HMODULE 0x00000008
725 #define QUERY_ACTCTX_FLAG_ACTCTX_IS_ADDRESS 0x00000010
727 #if _WIN32_WINNT >= _WIN32_WINNT_VISTA
728 /* Constants associated with features supported only on Vista and later.
730 #define THREAD_MODE_BACKGROUND_BEGIN 0x00010000
731 #define THREAD_MODE_BACKGROUND_END 0x00020000
733 #define EXTENDED_STARTUPINFO_PRESENT 0x00080000
735 #define PROC_THREAD_ATTRIBUTE_PARENT_PROCESS 0x00020000
736 #define PROC_THREAD_ATTRIBUTE_HANDLE_LIST 0x00020002
737 #define PROC_THREAD_ATTRIBUTE_PROTECTION_LEVEL 0x0002000B
739 #define PROTECTION_LEVEL_SAME 0xFFFFFFFF
741 /* http://msdn.microsoft.com/en-us/library/aa363866%28VS.85%29.aspx */
742 #define SYMBOLIC_LINK_FLAG_DIRECTORY 0x1
744 /* http://msdn.microsoft.com/en-us/library/aa364962%28VS.85%29.aspx */
745 #define FILE_NAME_NORMALIZED 0x0
746 #define FILE_NAME_OPENED 0x8
748 #define VOLUME_NAME_DOS 0x0
749 #define VOLUME_NAME_GUID 0x1
750 #define VOLUME_NAME_NONE 0x4
751 #define VOLUME_NAME_NT 0x2
753 #if _WIN32_WINNT >= _WIN32_WINNT_WIN7
754 /* Constants associated with features supported only on Win7 and later.
756 #define PROCESS_DEP_ENABLE 1
757 #define PROCESS_DEP_DISABLE_ATL_THUNK_EMULATION 2
759 #define PROC_THREAD_ATTRIBUTE_PREFERRED_NODE 0x00020004
760 #define PROC_THREAD_ATTRIBUTE_MITIGATION_POLICY 0x00020007
762 #define PROCESS_CREATION_MITIGATION_POLICY_DEP_ENABLE 1
763 #define PROCESS_CREATION_MITIGATION_POLICY_DEP_ATL_THUNK_ENABLE 2
764 #define PROCESS_CREATION_MITIGATION_POLICY_SEHOP_ENABLE 4
766 #define PROC_THREAD_ATTRIBUTE_GROUP_AFFINITY 0x00030003
767 #define PROC_THREAD_ATTRIBUTE_IDEAL_PROCESSOR 0x00030005
768 #define PROC_THREAD_ATTRIBUTE_UMS_THREAD 0x00030006
770 #if _WIN32_WINNT >= _WIN32_WINNT_WIN8
771 /* Constants associated with features supported only on Win8 and later.
773 #define PROCESS_CREATION_MITIGATION_POLICY_FORCE_RELOCATE_IMAGES_ALWAYS_ON 0x00000100
774 #define PROCESS_CREATION_MITIGATION_POLICY_FORCE_RELOCATE_IMAGES_ALWAYS_OFF 0x00000200
775 #define PROCESS_CREATION_MITIGATION_POLICY_FORCE_RELOCATE_IMAGES_ALWAYS_ON_REQ_RELOCS 0x00000300
777 #define PROCESS_CREATION_MITIGATION_POLICY_HEAP_TERMINATE_ALWAYS_ON 0x00001000
778 #define PROCESS_CREATION_MITIGATION_POLICY_HEAP_TERMINATE_ALWAYS_OFF 0x00002000
780 #define PROCESS_CREATION_MITIGATION_POLICY_BOTTOM_UP_ASLR_ALWAYS_ON 0x00010000
781 #define PROCESS_CREATION_MITIGATION_POLICY_BOTTOM_UP_ASLR_ALWAYS_OFF 0x00020000
783 #define PROCESS_CREATION_MITIGATION_POLICY_HIGH_ENTROPY_ASLR_ALWAYS_ON 0x00100000
784 #define PROCESS_CREATION_MITIGATION_POLICY_HIGH_ENTROPY_ASLR_ALWAYS_OFF 0x00200000
786 #define PROCESS_CREATION_MITIGATION_POLICY_STRICT_HANDLE_CHECKS_ALWAYS_ON 0x01000000
787 #define PROCESS_CREATION_MITIGATION_POLICY_STRICT_HANDLE_CHECKS_ALWAYS_OFF 0x02000000
789 #define PROCESS_CREATION_MITIGATION_POLICY_WIN32K_SYSTEM_CALL_DISABLE_ALWAYS_ON 0x10000000
790 #define PROCESS_CREATION_MITIGATION_POLICY_WIN32K_SYSTEM_CALL_DISABLE_ALWAYS_OFF 0x20000000
792 #define PROCESS_CREATION_MITIGATION_POLICY_EXTENSION_POINT_DISABLE_ALWAYS_ON (1ULL << 32)
793 #define PROCESS_CREATION_MITIGATION_POLICY_EXTENSION_POINT_DISABLE_ALWAYS_OFF (2ULL << 32)
795 #define PROCESS_CREATION_MITIGATION_POLICY_PROHIBIT_DYNAMIC_CODE_ALWAYS_ON (1ULL << 36)
796 #define PROCESS_CREATION_MITIGATION_POLICY_PROHIBIT_DYNAMIC_CODE_ALWAYS_OFF (2ULL << 36)
798 #define PROCESS_CREATION_MITIGATION_POLICY_PROHIBIT_DYNAMIC_CODE_ALWAYS_ON_ALLOW_OPT_OUT (3ULL << 36)
800 #define PROCESS_CREATION_MITIGATION_POLICY_PROHIBIT_DYNAMIC_CODE_DEFER (0ULL << 36)
801 #define PROCESS_CREATION_MITIGATION_POLICY_PROHIBIT_DYNAMIC_CODE_MASK (3ULL << 36)
803 #define PROCESS_CREATION_MITIGATION_POLICY_CONTROL_FLOW_GUARD_DEFER (0ULL << 40)
804 #define PROCESS_CREATION_MITIGATION_POLICY_CONTROL_FLOW_GUARD_ALWAYS_ON (1ULL << 40)
805 #define PROCESS_CREATION_MITIGATION_POLICY_CONTROL_FLOW_GUARD_ALWAYS_OFF (2ULL << 40)
806 #define PROCESS_CREATION_MITIGATION_POLICY_CONTROL_FLOW_GUARD_EXPORT_SUPPRESSION (3ULL << 40)
807 #define PROCESS_CREATION_MITIGATION_POLICY_CONTROL_FLOW_GUARD_MASK (3ULL << 40)
809 #define PROCESS_CREATION_MITIGATION_POLICY2_STRICT_CONTROL_FLOW_GUARD_DEFER (0ULL << 8)
810 #define PROCESS_CREATION_MITIGATION_POLICY2_STRICT_CONTROL_FLOW_GUARD_ALWAYS_ON (1ULL << 8)
811 #define PROCESS_CREATION_MITIGATION_POLICY2_STRICT_CONTROL_FLOW_GUARD_ALWAYS_OFF (2ULL << 8)
812 #define PROCESS_CREATION_MITIGATION_POLICY2_STRICT_CONTROL_FLOW_GUARD_RESERVED (3ULL << 8)
813 #define PROCESS_CREATION_MITIGATION_POLICY2_STRICT_CONTROL_FLOW_GUARD_MASK (3ULL << 8)
815 #define PROCESS_CREATION_MITIGATION_POLICY_BLOCK_NON_MICROSOFT_BINARIES_DEFER (0ULL << 44)
816 #define PROCESS_CREATION_MITIGATION_POLICY_BLOCK_NON_MICROSOFT_BINARIES_ALWAYS_ON (1ULL << 44)
817 #define PROCESS_CREATION_MITIGATION_POLICY_BLOCK_NON_MICROSOFT_BINARIES_ALWAYS_OFF (2ULL << 44)
818 #define PROCESS_CREATION_MITIGATION_POLICY_BLOCK_NON_MICROSOFT_BINARIES_ALLOW_STORE (3ULL << 44)
819 #define PROCESS_CREATION_MITIGATION_POLICY_BLOCK_NON_MICROSOFT_BINARIES_MASK (3ULL << 44)
821 #define PROCESS_CREATION_MITIGATION_POLICY_FONT_DISABLE_DEFER (0ULL << 48)
822 #define PROCESS_CREATION_MITIGATION_POLICY_FONT_DISABLE_ALWAYS_ON (1ULL << 48)
823 #define PROCESS_CREATION_MITIGATION_POLICY_FONT_DISABLE_ALWAYS_OFF (2ULL << 48)
824 #define PROCESS_CREATION_MITIGATION_POLICY_AUDIT_NONSYSTEM_FONTS (3ULL << 48)
825 #define PROCESS_CREATION_MITIGATION_POLICY_FONT_DISABLE_MASK (3ULL << 48)
827 #define PROCESS_CREATION_MITIGATION_POLICY_IMAGE_LOAD_NO_REMOTE_DEFER (0ULL << 52)
828 #define PROCESS_CREATION_MITIGATION_POLICY_IMAGE_LOAD_NO_REMOTE_ALWAYS_ON (1ULL << 52)
829 #define PROCESS_CREATION_MITIGATION_POLICY_IMAGE_LOAD_NO_REMOTE_ALWAYS_OFF (2ULL << 52)
830 #define PROCESS_CREATION_MITIGATION_POLICY_IMAGE_LOAD_NO_REMOTE_RESERVED (3ULL << 52)
831 #define PROCESS_CREATION_MITIGATION_POLICY_IMAGE_LOAD_NO_REMOTE_MASK (3ULL << 52)
833 #define PROCESS_CREATION_MITIGATION_POLICY_IMAGE_LOAD_NO_LOW_LABEL_DEFER (0ULL << 56)
834 #define PROCESS_CREATION_MITIGATION_POLICY_IMAGE_LOAD_NO_LOW_LABEL_ALWAYS_ON (1ULL << 56)
835 #define PROCESS_CREATION_MITIGATION_POLICY_IMAGE_LOAD_NO_LOW_LABEL_ALWAYS_OFF (2ULL << 56)
836 #define PROCESS_CREATION_MITIGATION_POLICY_IMAGE_LOAD_NO_LOW_LABEL_RESERVED (3ULL << 56)
837 #define PROCESS_CREATION_MITIGATION_POLICY_IMAGE_LOAD_NO_LOW_LABEL_MASK (3ULL << 56)
839 #define PROCESS_CREATION_MITIGATION_POLICY_IMAGE_LOAD_NO_PREFER_SYSTEM32_DEFER (0ULL << 60)
840 #define PROCESS_CREATION_MITIGATION_POLICY_IMAGE_LOAD_NO_PREFER_SYSTEM32_ALWAYS_ON (1ULL << 60)
841 #define PROCESS_CREATION_MITIGATION_POLICY_IMAGE_LOAD_NO_PREFER_SYSTEM32_ALWAYS_OFF (2ULL << 60)
842 #define PROCESS_CREATION_MITIGATION_POLICY_IMAGE_LOAD_NO_PREFER_SYSTEM32_RESERVED (3ULL << 60)
843 #define PROCESS_CREATION_MITIGATION_POLICY_IMAGE_LOAD_NO_PREFER_SYSTEM32_MASK (3ULL << 60)
845 #if _WIN32_WINNT >= _WIN32_WINNT_WIN10
846 #if NTDDI_VERSION >= NTDDI_WIN10_RS3
847 /* Additional policy attributes introduced by Win10-1709 (Redstone 3)
849 #define PROCESS_CREATION_MITIGATION_POLICY2_RESTRICT_INDIRECT_BRANCH_PREDICTION_ALWAYS_ON (1ULL << 16)
851 #if NTDDI_VERSION >= NTDDI_WIN10_RS5
852 /* Additional policy attributes introduced by Win10-1809 (Redstone 5)
854 #define PROCESS_CREATION_MITIGATION_POLICY2_SPECULATIVE_STORE_BYPASS_DISABLE_ALWAYS_ON (1ULL << 24)
856 /* Redstone 5 also introduced support for pseudo-consoles
858 #define PROC_THREAD_ATTRIBUTE_PSEUDOCONSOLE 0x00020016
860 #endif /* Win10-1809 (Redstone 5) and later */
861 #endif /* Win10-1709 (Redstone 3) and later */
862 #endif /* Win10 and later */
863 #endif /* Win8 and later */
864 #endif /* Win7 and later */
865 #endif /* WinVista and later */
866 #endif /* WinXP and later */
867 #endif /* Win2K and later */
868 #endif /* WinNT from NT4 */
872 typedef struct _FILETIME
873 { DWORD dwLowDateTime;
874 DWORD dwHighDateTime;
875 } FILETIME, *PFILETIME, *LPFILETIME;
877 typedef struct _BY_HANDLE_FILE_INFORMATION
878 { DWORD dwFileAttributes;
879 FILETIME ftCreationTime;
880 FILETIME ftLastAccessTime;
881 FILETIME ftLastWriteTime;
882 DWORD dwVolumeSerialNumber;
885 DWORD nNumberOfLinks;
886 DWORD nFileIndexHigh;
888 } BY_HANDLE_FILE_INFORMATION, *LPBY_HANDLE_FILE_INFORMATION;
895 DWORD fOutxCtsFlow:1;
896 DWORD fOutxDsrFlow:1;
898 DWORD fDsrSensitivity:1;
899 DWORD fTXContinueOnXoff:1;
905 DWORD fAbortOnError:1;
921 typedef struct _COMM_CONFIG
926 DWORD dwProviderSubType;
927 DWORD dwProviderOffset;
928 DWORD dwProviderSize;
929 WCHAR wcProviderData[1];
930 } COMMCONFIG, *LPCOMMCONFIG;
932 typedef struct _COMMPROP
933 { WORD wPacketLength;
941 DWORD dwProvCapabilities;
942 DWORD dwSettableParams;
943 DWORD dwSettableBaud;
945 WORD wSettableStopParity;
946 DWORD dwCurrentTxQueue;
947 DWORD dwCurrentRxQueue;
951 } COMMPROP, *LPCOMMPROP;
953 typedef struct _COMMTIMEOUTS
954 { DWORD ReadIntervalTimeout;
955 DWORD ReadTotalTimeoutMultiplier;
956 DWORD ReadTotalTimeoutConstant;
957 DWORD WriteTotalTimeoutMultiplier;
958 DWORD WriteTotalTimeoutConstant;
959 } COMMTIMEOUTS, *LPCOMMTIMEOUTS;
961 typedef struct _COMSTAT
972 } COMSTAT, *LPCOMSTAT;
974 typedef DWORD (WINAPI *LPTHREAD_START_ROUTINE)(LPVOID);
976 typedef struct _CREATE_PROCESS_DEBUG_INFO
980 LPVOID lpBaseOfImage;
981 DWORD dwDebugInfoFileOffset;
982 DWORD nDebugInfoSize;
983 LPVOID lpThreadLocalBase;
984 LPTHREAD_START_ROUTINE lpStartAddress;
987 } CREATE_PROCESS_DEBUG_INFO, *LPCREATE_PROCESS_DEBUG_INFO;
989 typedef struct _CREATE_THREAD_DEBUG_INFO
991 LPVOID lpThreadLocalBase;
992 LPTHREAD_START_ROUTINE lpStartAddress;
993 } CREATE_THREAD_DEBUG_INFO, *LPCREATE_THREAD_DEBUG_INFO;
995 typedef struct _EXCEPTION_DEBUG_INFO
996 { EXCEPTION_RECORD ExceptionRecord;
998 } EXCEPTION_DEBUG_INFO, *LPEXCEPTION_DEBUG_INFO;
1000 typedef struct _EXIT_THREAD_DEBUG_INFO
1002 } EXIT_THREAD_DEBUG_INFO, *LPEXIT_THREAD_DEBUG_INFO;
1004 typedef struct _EXIT_PROCESS_DEBUG_INFO
1006 } EXIT_PROCESS_DEBUG_INFO, *LPEXIT_PROCESS_DEBUG_INFO;
1008 typedef struct _LOAD_DLL_DEBUG_INFO
1011 DWORD dwDebugInfoFileOffset;
1012 DWORD nDebugInfoSize;
1015 } LOAD_DLL_DEBUG_INFO, *LPLOAD_DLL_DEBUG_INFO;
1017 typedef struct _UNLOAD_DLL_DEBUG_INFO
1018 { LPVOID lpBaseOfDll;
1019 } UNLOAD_DLL_DEBUG_INFO, *LPUNLOAD_DLL_DEBUG_INFO;
1021 typedef struct _OUTPUT_DEBUG_STRING_INFO
1022 { LPSTR lpDebugStringData;
1024 WORD nDebugStringLength;
1025 } OUTPUT_DEBUG_STRING_INFO, *LPOUTPUT_DEBUG_STRING_INFO;
1027 typedef struct _RIP_INFO
1030 } RIP_INFO, *LPRIP_INFO;
1032 typedef struct _DEBUG_EVENT
1033 { DWORD dwDebugEventCode;
1037 { EXCEPTION_DEBUG_INFO Exception;
1038 CREATE_THREAD_DEBUG_INFO CreateThread;
1039 CREATE_PROCESS_DEBUG_INFO CreateProcessInfo;
1040 EXIT_THREAD_DEBUG_INFO ExitThread;
1041 EXIT_PROCESS_DEBUG_INFO ExitProcess;
1042 LOAD_DLL_DEBUG_INFO LoadDll;
1043 UNLOAD_DLL_DEBUG_INFO UnloadDll;
1044 OUTPUT_DEBUG_STRING_INFO DebugString;
1047 } DEBUG_EVENT, *LPDEBUG_EVENT;
1049 typedef struct _OVERLAPPED
1050 { ULONG_PTR Internal;
1051 ULONG_PTR InternalHigh;
1052 __GNUC_EXTENSION union
1053 { __GNUC_EXTENSION struct
1060 } OVERLAPPED, *POVERLAPPED, *LPOVERLAPPED;
1062 typedef struct _STARTUPINFOA
1071 DWORD dwXCountChars;
1072 DWORD dwYCountChars;
1073 DWORD dwFillAttribute;
1081 } STARTUPINFOA, *LPSTARTUPINFOA;
1083 typedef struct _STARTUPINFOW
1092 DWORD dwXCountChars;
1093 DWORD dwYCountChars;
1094 DWORD dwFillAttribute;
1102 } STARTUPINFOW, *LPSTARTUPINFOW;
1104 typedef __AW_ALIAS__(STARTUPINFO), *LPSTARTUPINFO;
1106 typedef struct _PROCESS_INFORMATION
1111 } PROCESS_INFORMATION, *PPROCESS_INFORMATION, *LPPROCESS_INFORMATION;
1113 typedef struct _CRITICAL_SECTION_DEBUG
1115 WORD CreatorBackTraceIndex;
1116 struct _CRITICAL_SECTION *CriticalSection;
1117 LIST_ENTRY ProcessLocksList;
1119 DWORD ContentionCount;
1121 } CRITICAL_SECTION_DEBUG, *PCRITICAL_SECTION_DEBUG;
1123 typedef struct _CRITICAL_SECTION
1124 { PCRITICAL_SECTION_DEBUG DebugInfo;
1126 LONG RecursionCount;
1127 HANDLE OwningThread;
1128 HANDLE LockSemaphore;
1130 } CRITICAL_SECTION, *PCRITICAL_SECTION, *LPCRITICAL_SECTION;
1132 typedef struct _SYSTEMTIME
1141 } SYSTEMTIME, *LPSYSTEMTIME;
1143 typedef struct _WIN32_FILE_ATTRIBUTE_DATA
1144 { DWORD dwFileAttributes;
1145 FILETIME ftCreationTime;
1146 FILETIME ftLastAccessTime;
1147 FILETIME ftLastWriteTime;
1148 DWORD nFileSizeHigh;
1150 } WIN32_FILE_ATTRIBUTE_DATA, *LPWIN32_FILE_ATTRIBUTE_DATA;
1152 typedef struct _WIN32_FIND_DATAA
1153 { DWORD dwFileAttributes;
1154 FILETIME ftCreationTime;
1155 FILETIME ftLastAccessTime;
1156 FILETIME ftLastWriteTime;
1157 DWORD nFileSizeHigh;
1165 CHAR cFileName[MAX_PATH];
1167 CHAR cAlternateFileName[14];
1169 } WIN32_FIND_DATAA, *PWIN32_FIND_DATAA, *LPWIN32_FIND_DATAA;
1171 typedef struct _WIN32_FIND_DATAW
1172 { DWORD dwFileAttributes;
1173 FILETIME ftCreationTime;
1174 FILETIME ftLastAccessTime;
1175 FILETIME ftLastWriteTime;
1176 DWORD nFileSizeHigh;
1184 WCHAR cFileName[MAX_PATH];
1186 WCHAR cAlternateFileName[14];
1188 } WIN32_FIND_DATAW, *PWIN32_FIND_DATAW, *LPWIN32_FIND_DATAW;
1190 typedef __AW_ALIAS__(WIN32_FIND_DATA), *PWIN32_FIND_DATA, *LPWIN32_FIND_DATA;
1192 typedef struct _WIN32_STREAM_ID
1194 DWORD dwStreamAttributes;
1196 DWORD dwStreamNameSize;
1197 WCHAR cStreamName[ANYSIZE_ARRAY];
1198 } WIN32_STREAM_ID, *LPWIN32_STREAM_ID;
1200 typedef enum _FINDEX_INFO_LEVELS
1201 { FindExInfoStandard,
1202 FindExInfoMaxInfoLevel
1203 } FINDEX_INFO_LEVELS;
1205 typedef enum _FINDEX_SEARCH_OPS
1206 { FindExSearchNameMatch,
1207 FindExSearchLimitToDirectories,
1208 FindExSearchLimitToDevices,
1209 FindExSearchMaxSearchOp
1210 } FINDEX_SEARCH_OPS;
1212 typedef enum _ACL_INFORMATION_CLASS
1213 { AclRevisionInformation=1,
1215 } ACL_INFORMATION_CLASS;
1217 typedef struct tagHW_PROFILE_INFOA
1219 CHAR szHwProfileGuid[HW_PROFILE_GUIDLEN];
1220 CHAR szHwProfileName[MAX_PROFILE_LEN];
1221 } HW_PROFILE_INFOA, *LPHW_PROFILE_INFOA;
1223 typedef struct tagHW_PROFILE_INFOW
1225 WCHAR szHwProfileGuid[HW_PROFILE_GUIDLEN];
1226 WCHAR szHwProfileName[MAX_PROFILE_LEN];
1227 } HW_PROFILE_INFOW, *LPHW_PROFILE_INFOW;
1229 typedef __AW_ALIAS__(HW_PROFILE_INFO), *LPHW_PROFILE_INFO;
1231 typedef enum _GET_FILEEX_INFO_LEVELS
1232 { GetFileExInfoStandard,
1233 GetFileExMaxInfoLevel
1234 } GET_FILEEX_INFO_LEVELS;
1236 typedef struct _SYSTEM_INFO
1237 { _ANONYMOUS_UNION union
1239 _ANONYMOUS_STRUCT struct
1240 { WORD wProcessorArchitecture;
1245 PVOID lpMinimumApplicationAddress;
1246 PVOID lpMaximumApplicationAddress;
1247 DWORD dwActiveProcessorMask;
1248 DWORD dwNumberOfProcessors;
1249 DWORD dwProcessorType;
1250 DWORD dwAllocationGranularity;
1251 WORD wProcessorLevel;
1252 WORD wProcessorRevision;
1253 } SYSTEM_INFO, *LPSYSTEM_INFO;
1255 typedef struct _SYSTEM_POWER_STATUS
1256 { BYTE ACLineStatus;
1258 BYTE BatteryLifePercent;
1260 DWORD BatteryLifeTime;
1261 DWORD BatteryFullLifeTime;
1262 } SYSTEM_POWER_STATUS, *LPSYSTEM_POWER_STATUS;
1264 typedef struct _TIME_ZONE_INFORMATION
1266 WCHAR StandardName[32];
1267 SYSTEMTIME StandardDate;
1269 WCHAR DaylightName[32];
1270 SYSTEMTIME DaylightDate;
1272 } TIME_ZONE_INFORMATION, *LPTIME_ZONE_INFORMATION;
1274 typedef struct _MEMORYSTATUS
1279 DWORD dwTotalPageFile;
1280 DWORD dwAvailPageFile;
1281 DWORD dwTotalVirtual;
1282 DWORD dwAvailVirtual;
1283 } MEMORYSTATUS, *LPMEMORYSTATUS;
1285 typedef struct _LDT_ENTRY
1303 DWORD Default_Big:1;
1304 DWORD Granularity:1;
1308 } LDT_ENTRY, *PLDT_ENTRY, *LPLDT_ENTRY;
1310 typedef struct _PROCESS_HEAP_ENTRY
1316 _ANONYMOUS_UNION union
1319 DWORD dwReserved[3];
1322 { DWORD dwCommittedSize;
1323 DWORD dwUnCommittedSize;
1324 LPVOID lpFirstBlock;
1328 } PROCESS_HEAP_ENTRY, *LPPROCESS_HEAP_ENTRY;
1330 typedef struct _OFSTRUCT
1336 CHAR szPathName[OFS_MAXPATHNAME];
1337 } OFSTRUCT, *LPOFSTRUCT, *POFSTRUCT;
1339 typedef struct _WIN_CERTIFICATE
1342 WORD wCertificateType;
1343 BYTE bCertificate[1];
1344 } WIN_CERTIFICATE, *LPWIN_CERTIFICATE;
1346 typedef DWORD (WINAPI *LPPROGRESS_ROUTINE)
1347 ( LARGE_INTEGER, LARGE_INTEGER, LARGE_INTEGER, LARGE_INTEGER,
1348 DWORD, DWORD, HANDLE, HANDLE, LPVOID
1350 typedef void (WINAPI *LPFIBER_START_ROUTINE)(PVOID);
1352 #define ENUMRESLANGPROC __AW_SUFFIXED__(ENUMRESLANGPROC)
1353 typedef BOOL (CALLBACK *ENUMRESLANGPROCA)(HMODULE, LPCSTR, LPCSTR, WORD, LONG);
1354 typedef BOOL (CALLBACK *ENUMRESLANGPROCW)
1355 (HMODULE, LPCWSTR, LPCWSTR, WORD, LONG);
1357 #define ENUMRESNAMEPROC __AW_SUFFIXED__(ENUMRESNAMEPROC)
1358 typedef BOOL (CALLBACK *ENUMRESNAMEPROCA)(HMODULE, LPCSTR, LPSTR, LONG);
1359 typedef BOOL (CALLBACK *ENUMRESNAMEPROCW)(HMODULE, LPCWSTR, LPWSTR, LONG);
1361 #define ENUMRESTYPEPROC __AW_SUFFIXED__(ENUMRESTYPEPROC)
1362 typedef BOOL (CALLBACK *ENUMRESTYPEPROCA)(HMODULE, LPSTR, LONG);
1363 typedef BOOL (CALLBACK *ENUMRESTYPEPROCW)(HMODULE, LPWSTR, LONG);
1365 typedef void (CALLBACK *LPOVERLAPPED_COMPLETION_ROUTINE)
1366 (DWORD, DWORD, LPOVERLAPPED);
1367 typedef LONG (CALLBACK *PTOP_LEVEL_EXCEPTION_FILTER)(LPEXCEPTION_POINTERS);
1368 typedef PTOP_LEVEL_EXCEPTION_FILTER LPTOP_LEVEL_EXCEPTION_FILTER;
1369 typedef void (APIENTRY *PAPCFUNC)(ULONG_PTR);
1370 typedef void (CALLBACK *PTIMERAPCROUTINE)(PVOID, DWORD, DWORD);
1372 #define MAKEINTATOM(i) (LPTSTR)((DWORD)((WORD)(i)))
1376 int APIENTRY WinMain (HINSTANCE, HINSTANCE, LPSTR, int);
1378 int APIENTRY WinMain (HINSTANCE, HINSTANCE, LPWSTR, int);
1381 int APIENTRY wWinMain (HINSTANCE, HINSTANCE, LPWSTR, int);
1383 WINBASEAPI long WINAPI _hread (HFILE, LPVOID, long);
1384 WINBASEAPI long WINAPI _hwrite (HFILE, LPCSTR, long);
1385 WINBASEAPI HFILE WINAPI _lclose (HFILE);
1386 WINBASEAPI HFILE WINAPI _lcreat (LPCSTR, int);
1387 WINBASEAPI LONG WINAPI _llseek (HFILE, LONG, int);
1388 WINBASEAPI HFILE WINAPI _lopen (LPCSTR, int);
1389 WINBASEAPI UINT WINAPI _lread (HFILE, LPVOID, UINT);
1390 WINBASEAPI UINT WINAPI _lwrite (HFILE, LPCSTR, UINT);
1392 #define AbnormalTermination() FALSE
1394 WINBASEAPI BOOL WINAPI AccessCheck
1395 ( PSECURITY_DESCRIPTOR, HANDLE, DWORD, PGENERIC_MAPPING, PPRIVILEGE_SET,
1396 PDWORD, PDWORD, PBOOL
1399 #define AccessCheckAndAuditAlarm __AW_SUFFIXED__(AccessCheckAndAuditAlarm)
1400 WINBASEAPI BOOL WINAPI AccessCheckAndAuditAlarmA
1401 ( LPCSTR, LPVOID, LPSTR, LPSTR, PSECURITY_DESCRIPTOR, DWORD, PGENERIC_MAPPING,
1402 BOOL, PDWORD, PBOOL, PBOOL
1404 WINBASEAPI BOOL WINAPI AccessCheckAndAuditAlarmW
1405 ( LPCWSTR, LPVOID, LPWSTR, LPWSTR, PSECURITY_DESCRIPTOR, DWORD,
1406 PGENERIC_MAPPING, BOOL, PDWORD, PBOOL, PBOOL
1409 WINBASEAPI BOOL WINAPI AddAccessAllowedAce (PACL, DWORD, DWORD, PSID);
1410 WINBASEAPI BOOL WINAPI AddAccessDeniedAce (PACL, DWORD, DWORD, PSID);
1411 WINBASEAPI BOOL WINAPI AddAce (PACL, DWORD, DWORD, PVOID, DWORD);
1413 #define AddAtom __AW_SUFFIXED__(AddAtom)
1414 WINBASEAPI ATOM WINAPI AddAtomA (LPCSTR);
1415 WINBASEAPI ATOM WINAPI AddAtomW (LPCWSTR);
1417 WINBASEAPI BOOL WINAPI AddAuditAccessAce (PACL, DWORD, DWORD, PSID, BOOL, BOOL);
1418 WINBASEAPI BOOL WINAPI AdjustTokenGroups
1419 (HANDLE, BOOL, PTOKEN_GROUPS, DWORD, PTOKEN_GROUPS, PDWORD);
1420 WINBASEAPI BOOL WINAPI AdjustTokenPrivileges
1421 (HANDLE, BOOL, PTOKEN_PRIVILEGES, DWORD, PTOKEN_PRIVILEGES, PDWORD);
1422 WINBASEAPI BOOL WINAPI AllocateAndInitializeSid
1423 ( PSID_IDENTIFIER_AUTHORITY, BYTE, DWORD, DWORD, DWORD, DWORD, DWORD, DWORD,
1424 DWORD, DWORD, PSID *
1426 WINBASEAPI BOOL WINAPI AllocateLocallyUniqueId (PLUID);
1427 WINBASEAPI BOOL WINAPI AreAllAccessesGranted (DWORD, DWORD);
1428 WINBASEAPI BOOL WINAPI AreAnyAccessesGranted (DWORD, DWORD);
1429 WINBASEAPI BOOL WINAPI AreFileApisANSI (void);
1431 #define BackupEventLog __AW_SUFFIXED__(BackupEventLog)
1432 WINBASEAPI BOOL WINAPI BackupEventLogA (HANDLE, LPCSTR);
1433 WINBASEAPI BOOL WINAPI BackupEventLogW (HANDLE, LPCWSTR);
1435 WINBASEAPI BOOL WINAPI BackupRead
1436 (HANDLE, LPBYTE, DWORD, LPDWORD, BOOL, BOOL, LPVOID *);
1437 WINBASEAPI BOOL WINAPI BackupSeek
1438 (HANDLE, DWORD, DWORD, LPDWORD, LPDWORD, LPVOID *);
1439 WINBASEAPI BOOL WINAPI BackupWrite
1440 (HANDLE, LPBYTE, DWORD, LPDWORD, BOOL, BOOL, LPVOID *);
1441 WINBASEAPI BOOL WINAPI Beep (DWORD, DWORD);
1443 #define BeginUpdateResource __AW_SUFFIXED__(BeginUpdateResource)
1444 WINBASEAPI HANDLE WINAPI BeginUpdateResourceA (LPCSTR, BOOL);
1445 WINBASEAPI HANDLE WINAPI BeginUpdateResourceW (LPCWSTR, BOOL);
1447 #define BuildCommDCB __AW_SUFFIXED__(BuildCommDCB)
1448 WINBASEAPI BOOL WINAPI BuildCommDCBA (LPCSTR, LPDCB);
1449 WINBASEAPI BOOL WINAPI BuildCommDCBW (LPCWSTR, LPDCB);
1451 #define BuildCommDCBAndTimeouts __AW_SUFFIXED__(BuildCommDCBAndTimeouts)
1452 WINBASEAPI BOOL WINAPI BuildCommDCBAndTimeoutsA (LPCSTR, LPDCB, LPCOMMTIMEOUTS);
1453 WINBASEAPI BOOL WINAPI BuildCommDCBAndTimeoutsW
1454 (LPCWSTR, LPDCB, LPCOMMTIMEOUTS);
1456 #define CallNamedPipe __AW_SUFFIXED__(CallNamedPipe)
1457 WINBASEAPI BOOL WINAPI CallNamedPipeA
1458 (LPCSTR, PVOID, DWORD, PVOID, DWORD, PDWORD, DWORD);
1459 WINBASEAPI BOOL WINAPI CallNamedPipeW
1460 (LPCWSTR, PVOID, DWORD, PVOID, DWORD, PDWORD, DWORD);
1462 WINBASEAPI BOOL WINAPI CancelDeviceWakeupRequest (HANDLE);
1463 WINBASEAPI BOOL WINAPI CancelIo (HANDLE);
1464 WINBASEAPI BOOL WINAPI CancelWaitableTimer (HANDLE);
1465 WINBASEAPI BOOL WINAPI ClearCommBreak (HANDLE);
1466 WINBASEAPI BOOL WINAPI ClearCommError (HANDLE, PDWORD, LPCOMSTAT);
1468 #define ClearEventLog __AW_SUFFIXED__(ClearEventLog)
1469 WINBASEAPI BOOL WINAPI ClearEventLogA (HANDLE, LPCSTR);
1470 WINBASEAPI BOOL WINAPI ClearEventLogW (HANDLE, LPCWSTR);
1472 WINBASEAPI BOOL WINAPI CloseEventLog (HANDLE);
1473 WINBASEAPI BOOL WINAPI CloseHandle (HANDLE);
1475 #define CommConfigDialog __AW_SUFFIXED__(CommConfigDialog)
1476 WINBASEAPI BOOL WINAPI CommConfigDialogA (LPCSTR, HWND, LPCOMMCONFIG);
1477 WINBASEAPI BOOL WINAPI CommConfigDialogW (LPCWSTR, HWND, LPCOMMCONFIG);
1479 WINBASEAPI LONG WINAPI CompareFileTime (CONST FILETIME *, CONST FILETIME *);
1480 WINBASEAPI BOOL WINAPI ConnectNamedPipe (HANDLE, LPOVERLAPPED);
1481 WINBASEAPI BOOL WINAPI ContinueDebugEvent (DWORD, DWORD, DWORD);
1482 WINBASEAPI PVOID WINAPI ConvertThreadToFiber (PVOID);
1484 #define CopyFile __AW_SUFFIXED__(CopyFile)
1485 WINBASEAPI BOOL WINAPI CopyFileA (LPCSTR, LPCSTR, BOOL);
1486 WINBASEAPI BOOL WINAPI CopyFileW (LPCWSTR, LPCWSTR, BOOL);
1488 #define CopyFileEx __AW_SUFFIXED__(CopyFileEx)
1489 WINBASEAPI BOOL WINAPI CopyFileExA
1490 (LPCSTR, LPCSTR, LPPROGRESS_ROUTINE, LPVOID, LPBOOL, DWORD);
1491 WINBASEAPI BOOL WINAPI CopyFileExW
1492 (LPCWSTR, LPCWSTR, LPPROGRESS_ROUTINE, LPVOID, LPBOOL, DWORD);
1494 #define RtlMoveMemory memmove
1495 #define RtlCopyMemory memcpy
1496 #define RtlFillMemory(d,l,f) memset((d),(f),(l))
1497 #define RtlZeroMemory(d,l) RtlFillMemory((d),(l),0)
1498 #define MoveMemory RtlMoveMemory
1499 #define CopyMemory RtlCopyMemory
1500 #define FillMemory RtlFillMemory
1501 #define ZeroMemory RtlZeroMemory
1503 WINBASEAPI BOOL WINAPI CopySid (DWORD, PSID, PSID);
1505 #define CreateDirectory __AW_SUFFIXED__(CreateDirectory)
1506 WINBASEAPI BOOL WINAPI CreateDirectoryA (LPCSTR, LPSECURITY_ATTRIBUTES);
1507 WINBASEAPI BOOL WINAPI CreateDirectoryW (LPCWSTR, LPSECURITY_ATTRIBUTES);
1509 #define CreateDirectoryEx __AW_SUFFIXED__(CreateDirectoryEx)
1510 WINBASEAPI BOOL WINAPI CreateDirectoryExA
1511 (LPCSTR, LPCSTR, LPSECURITY_ATTRIBUTES);
1512 WINBASEAPI BOOL WINAPI CreateDirectoryExW
1513 (LPCWSTR, LPCWSTR, LPSECURITY_ATTRIBUTES);
1515 #define CreateEvent __AW_SUFFIXED__(CreateEvent)
1516 WINBASEAPI HANDLE WINAPI CreateEventA
1517 (LPSECURITY_ATTRIBUTES, BOOL, BOOL, LPCSTR);
1518 WINBASEAPI HANDLE WINAPI CreateEventW
1519 (LPSECURITY_ATTRIBUTES, BOOL, BOOL, LPCWSTR);
1521 WINBASEAPI LPVOID WINAPI CreateFiber (SIZE_T, LPFIBER_START_ROUTINE, LPVOID);
1523 #define CreateFile __AW_SUFFIXED__(CreateFile)
1524 WINBASEAPI HANDLE WINAPI CreateFileA
1525 (LPCSTR, DWORD, DWORD, LPSECURITY_ATTRIBUTES, DWORD, DWORD, HANDLE);
1526 WINBASEAPI HANDLE WINAPI CreateFileW
1527 (LPCWSTR, DWORD, DWORD, LPSECURITY_ATTRIBUTES, DWORD, DWORD, HANDLE);
1529 #define CreateFileMapping __AW_SUFFIXED__(CreateFileMapping)
1530 WINBASEAPI HANDLE WINAPI CreateFileMappingA
1531 (HANDLE, LPSECURITY_ATTRIBUTES, DWORD, DWORD, DWORD, LPCSTR);
1532 WINBASEAPI HANDLE WINAPI CreateFileMappingW
1533 (HANDLE, LPSECURITY_ATTRIBUTES, DWORD, DWORD, DWORD, LPCWSTR);
1535 WINBASEAPI HANDLE WINAPI CreateIoCompletionPort
1536 (HANDLE, HANDLE, ULONG_PTR, DWORD);
1538 #define CreateMailslot __AW_SUFFIXED__(CreateMailslot)
1539 WINBASEAPI HANDLE WINAPI CreateMailslotA
1540 (LPCSTR, DWORD, DWORD, LPSECURITY_ATTRIBUTES);
1541 WINBASEAPI HANDLE WINAPI CreateMailslotW
1542 (LPCWSTR, DWORD, DWORD, LPSECURITY_ATTRIBUTES);
1544 #define CreateMutex __AW_SUFFIXED__(CreateMutex)
1545 WINBASEAPI HANDLE WINAPI CreateMutexA (LPSECURITY_ATTRIBUTES, BOOL, LPCSTR);
1546 WINBASEAPI HANDLE WINAPI CreateMutexW (LPSECURITY_ATTRIBUTES, BOOL, LPCWSTR);
1548 #define CreateNamedPipe __AW_SUFFIXED__(CreateNamedPipe)
1549 WINBASEAPI HANDLE WINAPI CreateNamedPipeA
1550 (LPCSTR, DWORD, DWORD, DWORD, DWORD, DWORD, DWORD, LPSECURITY_ATTRIBUTES);
1551 WINBASEAPI HANDLE WINAPI CreateNamedPipeW
1552 (LPCWSTR, DWORD, DWORD, DWORD, DWORD, DWORD, DWORD, LPSECURITY_ATTRIBUTES);
1554 WINBASEAPI BOOL WINAPI CreatePipe
1555 (PHANDLE, PHANDLE, LPSECURITY_ATTRIBUTES, DWORD);
1556 WINBASEAPI BOOL WINAPI CreatePrivateObjectSecurity
1557 ( PSECURITY_DESCRIPTOR, PSECURITY_DESCRIPTOR, PSECURITY_DESCRIPTOR *, BOOL,
1558 HANDLE, PGENERIC_MAPPING
1561 #define CreateProcess __AW_SUFFIXED__(CreateProcess)
1562 WINBASEAPI BOOL WINAPI CreateProcessA
1563 ( LPCSTR, LPSTR, LPSECURITY_ATTRIBUTES, LPSECURITY_ATTRIBUTES, BOOL, DWORD,
1564 PVOID, LPCSTR, LPSTARTUPINFOA, LPPROCESS_INFORMATION
1566 WINBASEAPI BOOL WINAPI CreateProcessW
1567 ( LPCWSTR, LPWSTR, LPSECURITY_ATTRIBUTES, LPSECURITY_ATTRIBUTES, BOOL,
1568 DWORD, PVOID, LPCWSTR, LPSTARTUPINFOW, LPPROCESS_INFORMATION
1571 #define CreateProcessAsUser __AW_SUFFIXED__(CreateProcessAsUser)
1572 WINBASEAPI BOOL WINAPI CreateProcessAsUserA
1573 ( HANDLE, LPCSTR, LPSTR, LPSECURITY_ATTRIBUTES, LPSECURITY_ATTRIBUTES, BOOL,
1574 DWORD, PVOID, LPCSTR, LPSTARTUPINFOA, LPPROCESS_INFORMATION
1576 WINBASEAPI BOOL WINAPI CreateProcessAsUserW
1577 ( HANDLE, LPCWSTR, LPWSTR, LPSECURITY_ATTRIBUTES, LPSECURITY_ATTRIBUTES,
1578 BOOL, DWORD, PVOID, LPCWSTR, LPSTARTUPINFOW, LPPROCESS_INFORMATION
1581 WINBASEAPI HANDLE WINAPI CreateRemoteThread
1582 ( HANDLE, LPSECURITY_ATTRIBUTES, DWORD, LPTHREAD_START_ROUTINE,
1583 LPVOID, DWORD, LPDWORD
1586 #define CreateSemaphore __AW_SUFFIXED__(CreateSemaphore)
1587 WINBASEAPI HANDLE WINAPI CreateSemaphoreA
1588 (LPSECURITY_ATTRIBUTES, LONG, LONG, LPCSTR);
1589 WINBASEAPI HANDLE WINAPI CreateSemaphoreW
1590 (LPSECURITY_ATTRIBUTES, LONG, LONG, LPCWSTR);
1592 WINBASEAPI DWORD WINAPI CreateTapePartition (HANDLE, DWORD, DWORD, DWORD);
1593 WINBASEAPI HANDLE WINAPI CreateThread
1594 (LPSECURITY_ATTRIBUTES, DWORD, LPTHREAD_START_ROUTINE, PVOID, DWORD, PDWORD);
1596 #define CreateWaitableTimer __AW_SUFFIXED__(CreateWaitableTimer)
1597 WINBASEAPI HANDLE WINAPI CreateWaitableTimerA
1598 (LPSECURITY_ATTRIBUTES, BOOL, LPCSTR);
1599 WINBASEAPI HANDLE WINAPI CreateWaitableTimerW
1600 (LPSECURITY_ATTRIBUTES, BOOL, LPCWSTR);
1602 WINBASEAPI BOOL WINAPI DebugActiveProcess (DWORD);
1603 WINBASEAPI void WINAPI DebugBreak (void);
1605 #define DefineDosDevice __AW_SUFFIXED__(DefineDosDevice)
1606 WINBASEAPI BOOL WINAPI DefineDosDeviceA (DWORD, LPCSTR, LPCSTR);
1607 WINBASEAPI BOOL WINAPI DefineDosDeviceW (DWORD, LPCWSTR, LPCWSTR);
1609 #define DefineHandleTable(w) ((w), TRUE)
1611 WINBASEAPI BOOL WINAPI DeleteAce (PACL, DWORD);
1612 WINBASEAPI ATOM WINAPI DeleteAtom (ATOM);
1613 WINBASEAPI void WINAPI DeleteCriticalSection (PCRITICAL_SECTION);
1614 WINBASEAPI void WINAPI DeleteFiber (PVOID);
1616 #define DeleteFile __AW_SUFFIXED__(DeleteFile)
1617 WINBASEAPI BOOL WINAPI DeleteFileA (LPCSTR);
1618 WINBASEAPI BOOL WINAPI DeleteFileW (LPCWSTR);
1620 WINBASEAPI BOOL WINAPI DeregisterEventSource (HANDLE);
1621 WINBASEAPI BOOL WINAPI DestroyPrivateObjectSecurity (PSECURITY_DESCRIPTOR *);
1622 WINBASEAPI BOOL WINAPI DeviceIoControl
1623 (HANDLE, DWORD, PVOID, DWORD, PVOID, DWORD, PDWORD, POVERLAPPED);
1624 WINBASEAPI BOOL WINAPI DisableThreadLibraryCalls (HMODULE);
1625 WINBASEAPI BOOL WINAPI DisconnectNamedPipe (HANDLE);
1626 WINBASEAPI BOOL WINAPI DosDateTimeToFileTime (WORD, WORD, LPFILETIME);
1627 WINBASEAPI BOOL WINAPI DuplicateHandle
1628 (HANDLE, HANDLE, HANDLE, PHANDLE, DWORD, BOOL, DWORD);
1629 WINBASEAPI BOOL WINAPI DuplicateToken
1630 (HANDLE, SECURITY_IMPERSONATION_LEVEL, PHANDLE);
1631 WINBASEAPI BOOL WINAPI DuplicateTokenEx
1632 ( HANDLE, DWORD, LPSECURITY_ATTRIBUTES, SECURITY_IMPERSONATION_LEVEL,
1636 #define EncryptFile __AW_SUFFIXED__(EncryptFile)
1637 WINBASEAPI BOOL WINAPI EncryptFileA (LPCSTR);
1638 WINBASEAPI BOOL WINAPI EncryptFileW (LPCWSTR);
1640 #define EndUpdateResource __AW_SUFFIXED__(EndUpdateResource)
1641 WINBASEAPI BOOL WINAPI EndUpdateResourceA (HANDLE, BOOL);
1642 WINBASEAPI BOOL WINAPI EndUpdateResourceW (HANDLE, BOOL);
1644 WINBASEAPI void WINAPI EnterCriticalSection (LPCRITICAL_SECTION);
1646 #define EnumResourceLanguages __AW_SUFFIXED__(EnumResourceLanguages)
1647 WINBASEAPI BOOL WINAPI EnumResourceLanguagesA
1648 (HMODULE, LPCSTR, LPCSTR, ENUMRESLANGPROCA, LONG_PTR);
1649 WINBASEAPI BOOL WINAPI EnumResourceLanguagesW
1650 (HMODULE, LPCWSTR, LPCWSTR, ENUMRESLANGPROCW, LONG_PTR);
1652 #define EnumResourceNames __AW_SUFFIXED__(EnumResourceNames)
1653 WINBASEAPI BOOL WINAPI EnumResourceNamesA
1654 (HMODULE, LPCSTR, ENUMRESNAMEPROCA, LONG_PTR);
1655 WINBASEAPI BOOL WINAPI EnumResourceNamesW
1656 (HMODULE, LPCWSTR, ENUMRESNAMEPROCW, LONG_PTR);
1658 #define EnumResourceTypes __AW_SUFFIXED__(EnumResourceTypes)
1659 WINBASEAPI BOOL WINAPI EnumResourceTypesA (HMODULE, ENUMRESTYPEPROCA, LONG_PTR);
1660 WINBASEAPI BOOL WINAPI EnumResourceTypesW (HMODULE, ENUMRESTYPEPROCW, LONG_PTR);
1662 WINBASEAPI BOOL WINAPI EqualPrefixSid (PSID, PSID);
1663 WINBASEAPI BOOL WINAPI EqualSid (PSID, PSID);
1664 WINBASEAPI DWORD WINAPI EraseTape (HANDLE, DWORD, BOOL);
1665 WINBASEAPI BOOL WINAPI EscapeCommFunction (HANDLE, DWORD);
1666 DECLSPEC_NORETURN WINBASEAPI void WINAPI ExitProcess (UINT);
1667 DECLSPEC_NORETURN WINBASEAPI void WINAPI ExitThread (DWORD);
1669 #define ExpandEnvironmentStrings __AW_SUFFIXED__(ExpandEnvironmentStrings)
1670 WINBASEAPI DWORD WINAPI ExpandEnvironmentStringsA (LPCSTR, LPSTR, DWORD);
1671 WINBASEAPI DWORD WINAPI ExpandEnvironmentStringsW (LPCWSTR, LPWSTR, DWORD);
1673 #define FatalAppExit __AW_SUFFIXED__(FatalAppExit)
1674 WINBASEAPI void WINAPI FatalAppExitA (UINT, LPCSTR);
1675 WINBASEAPI void WINAPI FatalAppExitW (UINT, LPCWSTR);
1677 WINBASEAPI void WINAPI FatalExit (int);
1679 #define FileEncryptionStatus __AW_SUFFIXED__(FileEncryptionStatus)
1680 WINBASEAPI BOOL WINAPI FileEncryptionStatusA (LPCSTR, LPDWORD);
1681 WINBASEAPI BOOL WINAPI FileEncryptionStatusW (LPCWSTR, LPDWORD);
1683 WINBASEAPI BOOL WINAPI FileTimeToDosDateTime (CONST FILETIME *, LPWORD, LPWORD);
1684 WINBASEAPI BOOL WINAPI FileTimeToLocalFileTime (CONST FILETIME *, LPFILETIME);
1685 WINBASEAPI BOOL WINAPI FileTimeToSystemTime (CONST FILETIME *, LPSYSTEMTIME);
1687 #define FindAtom __AW_SUFFIXED__(FindAtom)
1688 WINBASEAPI ATOM WINAPI FindAtomA (LPCSTR);
1689 WINBASEAPI ATOM WINAPI FindAtomW (LPCWSTR);
1691 WINBASEAPI BOOL WINAPI FindClose (HANDLE);
1692 WINBASEAPI BOOL WINAPI FindCloseChangeNotification (HANDLE);
1694 #define FindFirstChangeNotification __AW_SUFFIXED__(FindFirstChangeNotification)
1695 WINBASEAPI HANDLE WINAPI FindFirstChangeNotificationA (LPCSTR, BOOL, DWORD);
1696 WINBASEAPI HANDLE WINAPI FindFirstChangeNotificationW (LPCWSTR, BOOL, DWORD);
1698 #define FindFirstFile __AW_SUFFIXED__(FindFirstFile)
1699 WINBASEAPI HANDLE WINAPI FindFirstFileA (LPCSTR, LPWIN32_FIND_DATAA);
1700 WINBASEAPI HANDLE WINAPI FindFirstFileW (LPCWSTR, LPWIN32_FIND_DATAW);
1702 #define FindFirstFileEx __AW_SUFFIXED__(FindFirstFileEx)
1703 WINBASEAPI HANDLE WINAPI FindFirstFileExA
1704 (LPCSTR, FINDEX_INFO_LEVELS, PVOID, FINDEX_SEARCH_OPS, PVOID, DWORD);
1705 WINBASEAPI HANDLE WINAPI FindFirstFileExW
1706 (LPCWSTR, FINDEX_INFO_LEVELS, PVOID, FINDEX_SEARCH_OPS, PVOID, DWORD);
1708 WINBASEAPI BOOL WINAPI FindFirstFreeAce (PACL, PVOID *);
1709 WINBASEAPI BOOL WINAPI FindNextChangeNotification (HANDLE);
1711 #define FindNextFile __AW_SUFFIXED__(FindNextFile)
1712 WINBASEAPI BOOL WINAPI FindNextFileA (HANDLE, LPWIN32_FIND_DATAA);
1713 WINBASEAPI BOOL WINAPI FindNextFileW (HANDLE, LPWIN32_FIND_DATAW);
1715 #define FindResource __AW_SUFFIXED__(FindResource)
1716 WINBASEAPI HRSRC WINAPI FindResourceA (HMODULE, LPCSTR, LPCSTR);
1717 WINBASEAPI HRSRC WINAPI FindResourceW (HINSTANCE, LPCWSTR, LPCWSTR);
1719 #define FindResourceEx __AW_SUFFIXED__(FindResourceEx)
1720 WINBASEAPI HRSRC WINAPI FindResourceExA (HINSTANCE, LPCSTR, LPCSTR, WORD);
1721 WINBASEAPI HRSRC WINAPI FindResourceExW (HINSTANCE, LPCWSTR, LPCWSTR, WORD);
1723 WINBASEAPI BOOL WINAPI FlushFileBuffers (HANDLE);
1724 WINBASEAPI BOOL WINAPI FlushInstructionCache (HANDLE, PCVOID, DWORD);
1725 WINBASEAPI BOOL WINAPI FlushViewOfFile (PCVOID, DWORD);
1727 #define FormatMessage __AW_SUFFIXED__(FormatMessage)
1728 WINBASEAPI DWORD WINAPI FormatMessageA
1729 (DWORD, PCVOID, DWORD, DWORD, LPSTR, DWORD, va_list *);
1730 WINBASEAPI DWORD WINAPI FormatMessageW
1731 (DWORD, PCVOID, DWORD, DWORD, LPWSTR, DWORD, va_list *);
1733 #define FreeEnvironmentStrings __AW_SUFFIXED__(FreeEnvironmentStrings)
1734 WINBASEAPI BOOL WINAPI FreeEnvironmentStringsA (LPSTR);
1735 WINBASEAPI BOOL WINAPI FreeEnvironmentStringsW (LPWSTR);
1737 WINBASEAPI BOOL WINAPI FreeLibrary (HMODULE);
1738 DECLSPEC_NORETURN WINBASEAPI void WINAPI FreeLibraryAndExitThread
1741 #define FreeModule(m) FreeLibrary(m)
1742 #define FreeProcInstance(p) (void)(p)
1744 #ifndef XFree86Server
1745 WINBASEAPI BOOL WINAPI FreeResource (HGLOBAL);
1746 #endif /* ndef XFree86Server */
1748 WINBASEAPI PVOID WINAPI FreeSid (PSID);
1749 WINBASEAPI BOOL WINAPI GetAce (PACL, DWORD, LPVOID *);
1750 WINBASEAPI BOOL WINAPI GetAclInformation
1751 (PACL, PVOID, DWORD, ACL_INFORMATION_CLASS);
1753 #define GetAtomName __AW_SUFFIXED__(GetAtomName)
1754 WINBASEAPI UINT WINAPI GetAtomNameA (ATOM, LPSTR, int);
1755 WINBASEAPI UINT WINAPI GetAtomNameW (ATOM, LPWSTR, int);
1757 #define GetBinaryType __AW_SUFFIXED__(GetBinaryType)
1758 WINBASEAPI BOOL WINAPI GetBinaryTypeA (LPCSTR, PDWORD);
1759 WINBASEAPI BOOL WINAPI GetBinaryTypeW (LPCWSTR, PDWORD);
1761 #define GetCommandLine __AW_SUFFIXED__(GetCommandLine)
1762 WINBASEAPI LPSTR WINAPI GetCommandLineA (VOID);
1763 WINBASEAPI LPWSTR WINAPI GetCommandLineW (VOID);
1765 WINBASEAPI BOOL WINAPI GetCommConfig (HANDLE, LPCOMMCONFIG, PDWORD);
1766 WINBASEAPI BOOL WINAPI GetCommMask (HANDLE, PDWORD);
1767 WINBASEAPI BOOL WINAPI GetCommModemStatus (HANDLE, PDWORD);
1768 WINBASEAPI BOOL WINAPI GetCommProperties (HANDLE, LPCOMMPROP);
1769 WINBASEAPI BOOL WINAPI GetCommState (HANDLE, LPDCB);
1770 WINBASEAPI BOOL WINAPI GetCommTimeouts (HANDLE, LPCOMMTIMEOUTS);
1772 #define GetCompressedFileSize __AW_SUFFIXED__(GetCompressedFileSize)
1773 WINBASEAPI DWORD WINAPI GetCompressedFileSizeA (LPCSTR, PDWORD);
1774 WINBASEAPI DWORD WINAPI GetCompressedFileSizeW (LPCWSTR, PDWORD);
1776 #define GetComputerName __AW_SUFFIXED__(GetComputerName)
1777 WINBASEAPI BOOL WINAPI GetComputerNameA (LPSTR, PDWORD);
1778 WINBASEAPI BOOL WINAPI GetComputerNameW (LPWSTR, PDWORD);
1780 #define GetCurrentDirectory __AW_SUFFIXED__(GetCurrentDirectory)
1781 WINBASEAPI DWORD WINAPI GetCurrentDirectoryA (DWORD, LPSTR);
1782 WINBASEAPI DWORD WINAPI GetCurrentDirectoryW (DWORD, LPWSTR);
1784 /* GetCurrentHwProfile: previously missing UNICODE vs. ANSI define */
1785 #define GetCurrentHwProfile __AW_SUFFIXED__(GetCurrentHwProfile)
1786 WINBASEAPI BOOL WINAPI GetCurrentHwProfileA (LPHW_PROFILE_INFOA);
1787 WINBASEAPI BOOL WINAPI GetCurrentHwProfileW (LPHW_PROFILE_INFOW);
1789 WINBASEAPI HANDLE WINAPI GetCurrentProcess (void);
1790 WINBASEAPI DWORD WINAPI GetCurrentProcessId (void);
1791 WINBASEAPI HANDLE WINAPI GetCurrentThread (void);
1794 extern DWORD GetCurrentThreadId (void);
1796 WINBASEAPI DWORD WINAPI GetCurrentThreadId (void);
1799 #define GetCurrentTime GetTickCount
1801 #define GetDefaultCommConfig __AW_SUFFIXED__(GetDefaultCommConfig)
1802 WINBASEAPI BOOL WINAPI GetDefaultCommConfigA (LPCSTR, LPCOMMCONFIG, PDWORD);
1803 WINBASEAPI BOOL WINAPI GetDefaultCommConfigW (LPCWSTR, LPCOMMCONFIG, PDWORD);
1805 WINBASEAPI BOOL WINAPI GetDevicePowerState (HANDLE, BOOL *);
1807 #define GetDiskFreeSpace __AW_SUFFIXED__(GetDiskFreeSpace)
1808 WINBASEAPI BOOL WINAPI GetDiskFreeSpaceA
1809 (LPCSTR, PDWORD, PDWORD, PDWORD, PDWORD);
1810 WINBASEAPI BOOL WINAPI GetDiskFreeSpaceW
1811 (LPCWSTR, PDWORD, PDWORD, PDWORD, PDWORD);
1813 #define GetDiskFreeSpaceEx __AW_SUFFIXED__(GetDiskFreeSpaceEx)
1814 WINBASEAPI BOOL WINAPI GetDiskFreeSpaceExA
1815 (LPCSTR, PULARGE_INTEGER, PULARGE_INTEGER, PULARGE_INTEGER);
1816 WINBASEAPI BOOL WINAPI GetDiskFreeSpaceExW
1817 (LPCWSTR, PULARGE_INTEGER, PULARGE_INTEGER, PULARGE_INTEGER);
1819 #define GetDriveType __AW_SUFFIXED__(GetDriveType)
1820 WINBASEAPI UINT WINAPI GetDriveTypeA (LPCSTR);
1821 WINBASEAPI UINT WINAPI GetDriveTypeW (LPCWSTR);
1823 WINBASEAPI LPCH WINAPI GetEnvironmentStrings (void);
1825 #define GetEnvironmentStrings __AW_SUFFIXED__(GetEnvironmentStrings)
1826 WINBASEAPI LPCH WINAPI GetEnvironmentStringsA (void);
1827 WINBASEAPI LPWCH WINAPI GetEnvironmentStringsW (void);
1829 #define GetEnvironmentVariable __AW_SUFFIXED__(GetEnvironmentVariable)
1830 WINBASEAPI DWORD WINAPI GetEnvironmentVariableA (LPCSTR, LPSTR, DWORD);
1831 WINBASEAPI DWORD WINAPI GetEnvironmentVariableW (LPCWSTR, LPWSTR, DWORD);
1833 WINBASEAPI BOOL WINAPI GetExitCodeProcess (HANDLE, PDWORD);
1834 WINBASEAPI BOOL WINAPI GetExitCodeThread (HANDLE, PDWORD);
1836 #define GetFileAttributes __AW_SUFFIXED__(GetFileAttributes)
1837 WINBASEAPI DWORD WINAPI GetFileAttributesA (LPCSTR);
1838 WINBASEAPI DWORD WINAPI GetFileAttributesW (LPCWSTR);
1840 #define GetFileAttributesEx __AW_SUFFIXED__(GetFileAttributesEx)
1841 WINBASEAPI BOOL WINAPI GetFileAttributesExA
1842 (LPCSTR, GET_FILEEX_INFO_LEVELS, PVOID);
1843 WINBASEAPI BOOL WINAPI GetFileAttributesExW
1844 (LPCWSTR, GET_FILEEX_INFO_LEVELS, PVOID);
1846 WINBASEAPI BOOL WINAPI GetFileInformationByHandle
1847 (HANDLE, LPBY_HANDLE_FILE_INFORMATION);
1849 #define GetFileSecurity __AW_SUFFIXED__(GetFileSecurity)
1850 WINBASEAPI BOOL WINAPI GetFileSecurityA
1851 (LPCSTR, SECURITY_INFORMATION, PSECURITY_DESCRIPTOR, DWORD, PDWORD);
1852 WINBASEAPI BOOL WINAPI GetFileSecurityW
1853 (LPCWSTR, SECURITY_INFORMATION, PSECURITY_DESCRIPTOR, DWORD, PDWORD);
1855 WINBASEAPI DWORD WINAPI GetFileSize (HANDLE, PDWORD);
1856 WINBASEAPI BOOL WINAPI GetFileTime (HANDLE, LPFILETIME, LPFILETIME, LPFILETIME);
1857 WINBASEAPI DWORD WINAPI GetFileType (HANDLE);
1859 #define GetFreeSpace(w) (0x100000L)
1861 #define GetFullPathName __AW_SUFFIXED__(GetFullPathName)
1862 WINBASEAPI DWORD WINAPI GetFullPathNameA (LPCSTR, DWORD, LPSTR, LPSTR *);
1863 WINBASEAPI DWORD WINAPI GetFullPathNameW (LPCWSTR, DWORD, LPWSTR, LPWSTR *);
1865 WINBASEAPI BOOL WINAPI GetHandleInformation (HANDLE, PDWORD);
1866 WINBASEAPI BOOL WINAPI GetKernelObjectSecurity
1867 (HANDLE, SECURITY_INFORMATION, PSECURITY_DESCRIPTOR, DWORD, PDWORD);
1868 WINBASEAPI DWORD WINAPI GetLastError (void);
1869 WINBASEAPI DWORD WINAPI GetLengthSid (PSID);
1870 WINBASEAPI void WINAPI GetLocalTime (LPSYSTEMTIME);
1871 WINBASEAPI DWORD WINAPI GetLogicalDrives (void);
1873 #define GetLogicalDriveStrings __AW_SUFFIXED__(GetLogicalDriveStrings)
1874 WINBASEAPI DWORD WINAPI GetLogicalDriveStringsA (DWORD, LPSTR);
1875 WINBASEAPI DWORD WINAPI GetLogicalDriveStringsW (DWORD, LPWSTR);
1877 WINBASEAPI BOOL WINAPI GetMailslotInfo (HANDLE, PDWORD, PDWORD, PDWORD, PDWORD);
1879 #define GetModuleFileName __AW_SUFFIXED__(GetModuleFileName)
1880 WINBASEAPI DWORD WINAPI GetModuleFileNameA (HINSTANCE, LPSTR, DWORD);
1881 WINBASEAPI DWORD WINAPI GetModuleFileNameW (HINSTANCE, LPWSTR, DWORD);
1883 #define GetModuleHandle __AW_SUFFIXED__(GetModuleHandle)
1884 WINBASEAPI HMODULE WINAPI GetModuleHandleA (LPCSTR);
1885 WINBASEAPI HMODULE WINAPI GetModuleHandleW (LPCWSTR);
1887 #define GetNamedPipeHandleState __AW_SUFFIXED__(GetNamedPipeHandleState)
1888 WINBASEAPI BOOL WINAPI GetNamedPipeHandleStateA
1889 (HANDLE, PDWORD, PDWORD, PDWORD, PDWORD, LPSTR, DWORD);
1890 WINBASEAPI BOOL WINAPI GetNamedPipeHandleStateW
1891 (HANDLE, PDWORD, PDWORD, PDWORD, PDWORD, LPWSTR, DWORD);
1893 WINBASEAPI BOOL WINAPI GetNamedPipeInfo
1894 (HANDLE, PDWORD, PDWORD, PDWORD, PDWORD);
1895 WINBASEAPI BOOL WINAPI GetNumberOfEventLogRecords (HANDLE, PDWORD);
1896 WINBASEAPI BOOL WINAPI GetOldestEventLogRecord (HANDLE, PDWORD);
1897 WINBASEAPI BOOL WINAPI GetOverlappedResult (HANDLE, LPOVERLAPPED, PDWORD, BOOL);
1898 WINBASEAPI DWORD WINAPI GetPriorityClass (HANDLE);
1899 WINBASEAPI BOOL WINAPI GetPrivateObjectSecurity
1900 ( PSECURITY_DESCRIPTOR, SECURITY_INFORMATION, PSECURITY_DESCRIPTOR,
1904 #define GetPrivateProfileInt __AW_SUFFIXED__(GetPrivateProfileInt)
1905 WINBASEAPI UINT WINAPI GetPrivateProfileIntA (LPCSTR, LPCSTR, INT, LPCSTR);
1906 WINBASEAPI UINT WINAPI GetPrivateProfileIntW (LPCWSTR, LPCWSTR, INT, LPCWSTR);
1908 #define GetPrivateProfileSection __AW_SUFFIXED__(GetPrivateProfileSection)
1909 WINBASEAPI DWORD WINAPI GetPrivateProfileSectionA
1910 (LPCSTR, LPSTR, DWORD, LPCSTR);
1911 WINBASEAPI DWORD WINAPI GetPrivateProfileSectionW
1912 (LPCWSTR, LPWSTR, DWORD, LPCWSTR);
1915 GetPrivateProfileSectionNames __AW_SUFFIXED__(GetPrivateProfileSectionNames)
1916 WINBASEAPI DWORD WINAPI GetPrivateProfileSectionNamesA (LPSTR, DWORD, LPCSTR);
1917 WINBASEAPI DWORD WINAPI GetPrivateProfileSectionNamesW (LPWSTR, DWORD, LPCWSTR);
1919 #define GetPrivateProfileString __AW_SUFFIXED__(GetPrivateProfileString)
1920 WINBASEAPI DWORD WINAPI GetPrivateProfileStringA
1921 (LPCSTR, LPCSTR, LPCSTR, LPSTR, DWORD, LPCSTR);
1922 WINBASEAPI DWORD WINAPI GetPrivateProfileStringW
1923 (LPCWSTR, LPCWSTR, LPCWSTR, LPWSTR, DWORD, LPCWSTR);
1925 #define GetPrivateProfileStruct __AW_SUFFIXED__(GetPrivateProfileStruct)
1926 WINBASEAPI BOOL WINAPI GetPrivateProfileStructA
1927 (LPCSTR, LPCSTR, LPVOID, UINT, LPCSTR);
1928 WINBASEAPI BOOL WINAPI GetPrivateProfileStructW
1929 (LPCWSTR, LPCWSTR, LPVOID, UINT, LPCWSTR);
1931 WINBASEAPI FARPROC WINAPI GetProcAddress (HINSTANCE, LPCSTR);
1932 WINBASEAPI BOOL WINAPI GetProcessAffinityMask (HANDLE, PDWORD, PDWORD);
1934 WINBASEAPI HANDLE WINAPI GetProcessHeap (VOID);
1935 WINBASEAPI DWORD WINAPI GetProcessHeaps (DWORD, PHANDLE);
1936 WINBASEAPI BOOL WINAPI GetProcessPriorityBoost (HANDLE, PBOOL);
1937 WINBASEAPI BOOL WINAPI GetProcessShutdownParameters (PDWORD, PDWORD);
1938 WINBASEAPI BOOL WINAPI GetProcessTimes
1939 (HANDLE, LPFILETIME, LPFILETIME, LPFILETIME, LPFILETIME);
1940 WINBASEAPI DWORD WINAPI GetProcessVersion (DWORD);
1941 WINBASEAPI HWINSTA WINAPI GetProcessWindowStation (void);
1942 WINBASEAPI BOOL WINAPI GetProcessWorkingSetSize (HANDLE, PSIZE_T, PSIZE_T);
1944 #define GetProfileInt __AW_SUFFIXED__(GetProfileInt)
1945 WINBASEAPI UINT WINAPI GetProfileIntA (LPCSTR, LPCSTR, INT);
1946 WINBASEAPI UINT WINAPI GetProfileIntW (LPCWSTR, LPCWSTR, INT);
1948 #define GetProfileSection __AW_SUFFIXED__(GetProfileSection)
1949 WINBASEAPI DWORD WINAPI GetProfileSectionA (LPCSTR, LPSTR, DWORD);
1950 WINBASEAPI DWORD WINAPI GetProfileSectionW (LPCWSTR, LPWSTR, DWORD);
1952 #define GetProfileString __AW_SUFFIXED__(GetProfileString)
1953 WINBASEAPI DWORD WINAPI GetProfileStringA
1954 (LPCSTR, LPCSTR, LPCSTR, LPSTR, DWORD);
1955 WINBASEAPI DWORD WINAPI GetProfileStringW
1956 (LPCWSTR, LPCWSTR, LPCWSTR, LPWSTR, DWORD);
1958 WINBASEAPI BOOL WINAPI GetQueuedCompletionStatus
1959 (HANDLE, PDWORD, PULONG_PTR, LPOVERLAPPED *, DWORD);
1960 WINBASEAPI BOOL WINAPI GetSecurityDescriptorControl
1961 (PSECURITY_DESCRIPTOR, PSECURITY_DESCRIPTOR_CONTROL, PDWORD);
1962 WINBASEAPI BOOL WINAPI GetSecurityDescriptorDacl
1963 (PSECURITY_DESCRIPTOR, LPBOOL, PACL *, LPBOOL);
1964 WINBASEAPI BOOL WINAPI GetSecurityDescriptorGroup
1965 (PSECURITY_DESCRIPTOR, PSID *, LPBOOL);
1966 WINBASEAPI DWORD WINAPI GetSecurityDescriptorLength (PSECURITY_DESCRIPTOR);
1967 WINBASEAPI BOOL WINAPI GetSecurityDescriptorOwner
1968 (PSECURITY_DESCRIPTOR, PSID *, LPBOOL);
1969 WINBASEAPI BOOL WINAPI GetSecurityDescriptorSacl
1970 (PSECURITY_DESCRIPTOR, LPBOOL, PACL *, LPBOOL);
1972 #define GetShortPathName __AW_SUFFIXED__(GetShortPathName)
1973 WINBASEAPI DWORD WINAPI GetShortPathNameA (LPCSTR, LPSTR, DWORD);
1974 WINBASEAPI DWORD WINAPI GetShortPathNameW (LPCWSTR, LPWSTR, DWORD);
1976 WINBASEAPI PSID_IDENTIFIER_AUTHORITY WINAPI GetSidIdentifierAuthority (PSID);
1977 WINBASEAPI DWORD WINAPI GetSidLengthRequired (UCHAR);
1978 WINBASEAPI PDWORD WINAPI GetSidSubAuthority (PSID, DWORD);
1979 WINBASEAPI PUCHAR WINAPI GetSidSubAuthorityCount (PSID);
1981 #define GetStartupInfo __AW_SUFFIXED__(GetStartupInfo)
1982 WINBASEAPI VOID WINAPI GetStartupInfoA (LPSTARTUPINFOA);
1983 WINBASEAPI VOID WINAPI GetStartupInfoW (LPSTARTUPINFOW);
1985 WINBASEAPI HANDLE WINAPI GetStdHandle (DWORD);
1987 #define GetSystemDirectory __AW_SUFFIXED__(GetSystemDirectory)
1988 WINBASEAPI UINT WINAPI GetSystemDirectoryA (LPSTR, UINT);
1989 WINBASEAPI UINT WINAPI GetSystemDirectoryW (LPWSTR, UINT);
1991 WINBASEAPI VOID WINAPI GetSystemInfo (LPSYSTEM_INFO);
1992 WINBASEAPI BOOL WINAPI GetSystemPowerStatus (LPSYSTEM_POWER_STATUS);
1993 WINBASEAPI VOID WINAPI GetSystemTime (LPSYSTEMTIME);
1994 WINBASEAPI BOOL WINAPI GetSystemTimeAdjustment (PDWORD, PDWORD, PBOOL);
1995 WINBASEAPI void WINAPI GetSystemTimeAsFileTime (LPFILETIME);
1996 WINBASEAPI DWORD WINAPI GetTapeParameters (HANDLE, DWORD, PDWORD, PVOID);
1997 WINBASEAPI DWORD WINAPI GetTapePosition (HANDLE, DWORD, PDWORD, PDWORD, PDWORD);
1998 WINBASEAPI DWORD WINAPI GetTapeStatus (HANDLE);
2000 #define GetTempFileName __AW_SUFFIXED__(GetTempFileName)
2001 WINBASEAPI UINT WINAPI GetTempFileNameA (LPCSTR, LPCSTR, UINT, LPSTR);
2002 WINBASEAPI UINT WINAPI GetTempFileNameW (LPCWSTR, LPCWSTR, UINT, LPWSTR);
2004 #define GetTempPath __AW_SUFFIXED__(GetTempPath)
2005 WINBASEAPI DWORD WINAPI GetTempPathA (DWORD, LPSTR);
2006 WINBASEAPI DWORD WINAPI GetTempPathW (DWORD, LPWSTR);
2008 WINBASEAPI BOOL WINAPI GetThreadContext (HANDLE, LPCONTEXT);
2009 WINBASEAPI int WINAPI GetThreadPriority (HANDLE);
2010 WINBASEAPI BOOL WINAPI GetThreadPriorityBoost (HANDLE, PBOOL);
2011 WINBASEAPI BOOL WINAPI GetThreadSelectorEntry (HANDLE, DWORD, LPLDT_ENTRY);
2012 WINBASEAPI BOOL WINAPI GetThreadTimes
2013 (HANDLE, LPFILETIME, LPFILETIME, LPFILETIME, LPFILETIME);
2014 WINBASEAPI DWORD WINAPI GetTickCount (VOID);
2015 WINBASEAPI DWORD WINAPI GetTimeZoneInformation (LPTIME_ZONE_INFORMATION);
2016 WINBASEAPI BOOL WINAPI GetTokenInformation
2017 (HANDLE, TOKEN_INFORMATION_CLASS, PVOID, DWORD, PDWORD);
2019 #define GetUserName __AW_SUFFIXED__(GetUserName)
2020 WINBASEAPI BOOL WINAPI GetUserNameA (LPSTR, PDWORD);
2021 WINBASEAPI BOOL WINAPI GetUserNameW (LPWSTR, PDWORD);
2023 WINBASEAPI DWORD WINAPI GetVersion (void);
2025 #define GetVersionEx __AW_SUFFIXED__(GetVersionEx)
2026 WINBASEAPI BOOL WINAPI GetVersionExA (LPOSVERSIONINFOA);
2027 WINBASEAPI BOOL WINAPI GetVersionExW (LPOSVERSIONINFOW);
2029 #define GetVolumeInformation __AW_SUFFIXED__(GetVolumeInformation)
2030 WINBASEAPI BOOL WINAPI GetVolumeInformationA
2031 (LPCSTR, LPSTR, DWORD, PDWORD, PDWORD, PDWORD, LPSTR, DWORD);
2032 WINBASEAPI BOOL WINAPI GetVolumeInformationW
2033 (LPCWSTR, LPWSTR, DWORD, PDWORD, PDWORD, PDWORD, LPWSTR, DWORD);
2035 #define GetWindowsDirectory __AW_SUFFIXED__(GetWindowsDirectory)
2036 WINBASEAPI UINT WINAPI GetWindowsDirectoryA (LPSTR, UINT);
2037 WINBASEAPI UINT WINAPI GetWindowsDirectoryW (LPWSTR, UINT);
2039 WINBASEAPI DWORD WINAPI GetWindowThreadProcessId (HWND, PDWORD);
2040 WINBASEAPI UINT WINAPI GetWriteWatch
2041 (DWORD, PVOID, SIZE_T, PVOID *, PULONG_PTR, PULONG);
2043 #define GlobalAddAtom __AW_SUFFIXED__(GlobalAddAtom)
2044 WINBASEAPI ATOM WINAPI GlobalAddAtomA (LPCSTR);
2045 WINBASEAPI ATOM WINAPI GlobalAddAtomW (LPCWSTR);
2047 WINBASEAPI HGLOBAL WINAPI GlobalAlloc (UINT, DWORD);
2048 WINBASEAPI SIZE_T WINAPI GlobalCompact (DWORD); /* Obsolete: Has no effect. */
2049 WINBASEAPI ATOM WINAPI GlobalDeleteAtom (ATOM);
2051 #define GlobalDiscard(hMem) GlobalReAlloc((hMem), 0, GMEM_MOVEABLE)
2053 #define GlobalFindAtom __AW_SUFFIXED__(GlobalFindAtom)
2054 WINBASEAPI ATOM WINAPI GlobalFindAtomA (LPCSTR);
2055 WINBASEAPI ATOM WINAPI GlobalFindAtomW (LPCWSTR);
2057 WINBASEAPI VOID WINAPI GlobalFix (HGLOBAL); /* Obsolete: Has no effect. */
2058 WINBASEAPI UINT WINAPI GlobalFlags (HGLOBAL); /* Obsolete: Has no effect. */
2059 WINBASEAPI HGLOBAL WINAPI GlobalFree (HGLOBAL);
2061 #define GlobalGetAtomName __AW_SUFFIXED__(GlobalGetAtomName)
2062 WINBASEAPI UINT WINAPI GlobalGetAtomNameA (ATOM, LPSTR, int);
2063 WINBASEAPI UINT WINAPI GlobalGetAtomNameW (ATOM, LPWSTR, int);
2065 WINBASEAPI HGLOBAL WINAPI GlobalHandle (PCVOID);
2066 WINBASEAPI LPVOID WINAPI GlobalLock (HGLOBAL);
2067 WINBASEAPI VOID WINAPI GlobalMemoryStatus (LPMEMORYSTATUS);
2068 WINBASEAPI HGLOBAL WINAPI GlobalReAlloc (HGLOBAL, DWORD, UINT);
2069 WINBASEAPI DWORD WINAPI GlobalSize (HGLOBAL);
2070 WINBASEAPI VOID WINAPI GlobalUnfix (HGLOBAL); /* Obsolete: Has no effect. */
2071 WINBASEAPI BOOL WINAPI GlobalUnlock (HGLOBAL);
2072 WINBASEAPI BOOL WINAPI GlobalUnWire (HGLOBAL); /* Obsolete: Has no effect. */
2073 WINBASEAPI PVOID WINAPI GlobalWire (HGLOBAL); /* Obsolete: Has no effect. */
2075 #define HasOverlappedIoCompleted(lpOverlapped) \
2076 ((lpOverlapped)->Internal != STATUS_PENDING)
2078 WINBASEAPI PVOID WINAPI HeapAlloc (HANDLE, DWORD, DWORD);
2079 SIZE_T WINAPI HeapCompact (HANDLE, DWORD);
2080 WINBASEAPI HANDLE WINAPI HeapCreate (DWORD, DWORD, DWORD);
2081 WINBASEAPI BOOL WINAPI HeapDestroy (HANDLE);
2082 WINBASEAPI BOOL WINAPI HeapFree (HANDLE, DWORD, PVOID);
2083 WINBASEAPI BOOL WINAPI HeapLock (HANDLE);
2084 WINBASEAPI PVOID WINAPI HeapReAlloc (HANDLE, DWORD, PVOID, DWORD);
2085 WINBASEAPI DWORD WINAPI HeapSize (HANDLE, DWORD, PCVOID);
2086 WINBASEAPI BOOL WINAPI HeapUnlock (HANDLE);
2087 WINBASEAPI BOOL WINAPI HeapValidate (HANDLE, DWORD, PCVOID);
2088 WINBASEAPI BOOL WINAPI HeapWalk (HANDLE, LPPROCESS_HEAP_ENTRY);
2089 WINBASEAPI BOOL WINAPI ImpersonateLoggedOnUser (HANDLE);
2090 WINBASEAPI BOOL WINAPI ImpersonateNamedPipeClient (HANDLE);
2091 WINBASEAPI BOOL WINAPI ImpersonateSelf (SECURITY_IMPERSONATION_LEVEL);
2092 WINBASEAPI BOOL WINAPI InitAtomTable (DWORD);
2093 WINBASEAPI BOOL WINAPI InitializeAcl (PACL, DWORD, DWORD);
2094 WINBASEAPI VOID WINAPI InitializeCriticalSection (LPCRITICAL_SECTION);
2095 WINBASEAPI BOOL WINAPI InitializeCriticalSectionAndSpinCount
2096 (LPCRITICAL_SECTION, DWORD);
2097 WINBASEAPI DWORD WINAPI SetCriticalSectionSpinCount (LPCRITICAL_SECTION, DWORD);
2098 WINBASEAPI BOOL WINAPI InitializeSecurityDescriptor
2099 (PSECURITY_DESCRIPTOR, DWORD);
2100 WINBASEAPI BOOL WINAPI InitializeSid (PSID, PSID_IDENTIFIER_AUTHORITY, BYTE);
2102 #if !(__USE_NTOSKRNL__)
2103 /* CAREFUL: These are exported from ntoskrnl.exe and declared in winddk.h
2104 as __fastcall functions, but are exported from kernel32.dll as __stdcall */
2105 #if (_WIN32_WINNT >= 0x0501)
2106 WINBASEAPI VOID WINAPI InitializeSListHead (PSLIST_HEADER);
2109 #ifndef __INTERLOCKED_DECLARED
2110 /* FIXME: Is this another invitation for inconsistent definition?
2111 * Where else is this declared?
2113 #define __INTERLOCKED_DECLARED
2114 LONG WINAPI InterlockedCompareExchange (LONG volatile *, LONG, LONG);
2115 /* PVOID WINAPI InterlockedCompareExchangePointer (PVOID *, PVOID, PVOID); */
2116 #define InterlockedCompareExchangePointer(d, e, c) \
2117 (PVOID)InterlockedCompareExchange((LONG volatile *)(d),(LONG)(e),(LONG)(c))
2118 LONG WINAPI InterlockedDecrement (LONG volatile *);
2119 LONG WINAPI InterlockedExchange (LONG volatile *, LONG);
2120 /* PVOID WINAPI InterlockedExchangePointer (PVOID *, PVOID); */
2121 #define InterlockedExchangePointer(t, v) \
2122 (PVOID)InterlockedExchange((LONG volatile *)(t),(LONG)(v))
2123 LONG WINAPI InterlockedExchangeAdd (LONG volatile *, LONG);
2125 #if (_WIN32_WINNT >= 0x0501)
2126 PSLIST_ENTRY WINAPI InterlockedFlushSList (PSLIST_HEADER);
2129 LONG WINAPI InterlockedIncrement (LONG volatile *);
2131 #if (_WIN32_WINNT >= 0x0501)
2132 PSLIST_ENTRY WINAPI InterlockedPopEntrySList (PSLIST_HEADER);
2133 PSLIST_ENTRY WINAPI InterlockedPushEntrySList (PSLIST_HEADER, PSLIST_ENTRY);
2135 #endif /* __INTERLOCKED_DECLARED */
2136 #endif /* __USE_NTOSKRNL__ */
2138 WINBASEAPI BOOL WINAPI IsBadCodePtr (FARPROC);
2139 WINBASEAPI BOOL WINAPI IsBadHugeReadPtr (PCVOID, UINT);
2140 WINBASEAPI BOOL WINAPI IsBadHugeWritePtr (PVOID, UINT);
2141 WINBASEAPI BOOL WINAPI IsBadReadPtr (PCVOID, UINT);
2143 #define IsBadStringPtr __AW_SUFFIXED__(IsBadStringPtr)
2144 WINBASEAPI BOOL WINAPI IsBadStringPtrA (LPCSTR, UINT);
2145 WINBASEAPI BOOL WINAPI IsBadStringPtrW (LPCWSTR, UINT);
2147 WINBASEAPI BOOL WINAPI IsBadWritePtr (PVOID, UINT);
2148 WINBASEAPI BOOL WINAPI IsDebuggerPresent (void);
2149 WINBASEAPI BOOL WINAPI IsProcessorFeaturePresent (DWORD);
2150 WINBASEAPI BOOL WINAPI IsSystemResumeAutomatic (void);
2151 WINBASEAPI BOOL WINAPI IsTextUnicode (PCVOID, int, LPINT);
2152 WINBASEAPI BOOL WINAPI IsValidAcl (PACL);
2153 WINBASEAPI BOOL WINAPI IsValidSecurityDescriptor (PSECURITY_DESCRIPTOR);
2154 WINBASEAPI BOOL WINAPI IsValidSid (PSID);
2156 WINBASEAPI void WINAPI LeaveCriticalSection (LPCRITICAL_SECTION);
2158 #define LimitEmsPages(n)
2160 #define LoadLibrary __AW_SUFFIXED__(LoadLibrary)
2161 WINBASEAPI HINSTANCE WINAPI LoadLibraryA (LPCSTR);
2162 WINBASEAPI HINSTANCE WINAPI LoadLibraryW (LPCWSTR);
2164 #define LoadLibraryEx __AW_SUFFIXED__(LoadLibraryEx)
2165 WINBASEAPI HINSTANCE WINAPI LoadLibraryExA (LPCSTR, HANDLE, DWORD);
2166 WINBASEAPI HINSTANCE WINAPI LoadLibraryExW (LPCWSTR, HANDLE, DWORD);
2168 WINBASEAPI DWORD WINAPI LoadModule (LPCSTR, PVOID);
2169 WINBASEAPI HGLOBAL WINAPI LoadResource (HINSTANCE, HRSRC);
2170 WINBASEAPI HLOCAL WINAPI LocalAlloc (UINT, SIZE_T);
2171 WINBASEAPI SIZE_T WINAPI LocalCompact (UINT); /* Obsolete: Has no effect. */
2172 WINBASEAPI HLOCAL LocalDiscard (HLOCAL);
2173 WINBASEAPI BOOL WINAPI LocalFileTimeToFileTime (CONST FILETIME *, LPFILETIME);
2174 WINBASEAPI UINT WINAPI LocalFlags (HLOCAL); /* Obsolete: Has no effect. */
2175 WINBASEAPI HLOCAL WINAPI LocalFree (HLOCAL);
2176 WINBASEAPI HLOCAL WINAPI LocalHandle (LPCVOID);
2177 WINBASEAPI PVOID WINAPI LocalLock (HLOCAL);
2178 WINBASEAPI HLOCAL WINAPI LocalReAlloc (HLOCAL, SIZE_T, UINT);
2179 WINBASEAPI SIZE_T WINAPI LocalShrink (HLOCAL, UINT); /* Obsolete: Has no effect. */
2180 WINBASEAPI UINT WINAPI LocalSize (HLOCAL);
2181 WINBASEAPI BOOL WINAPI LocalUnlock (HLOCAL);
2182 WINBASEAPI BOOL WINAPI LockFile (HANDLE, DWORD, DWORD, DWORD, DWORD);
2183 WINBASEAPI BOOL WINAPI LockFileEx
2184 (HANDLE, DWORD, DWORD, DWORD, DWORD, LPOVERLAPPED);
2185 WINBASEAPI PVOID WINAPI LockResource (HGLOBAL);
2187 #define LockSegment(w) GlobalFix((HANDLE)(w)) /* Obsolete: Has no effect. */
2189 #define LogonUser __AW_SUFFIXED__(LogonUser)
2190 WINBASEAPI BOOL WINAPI LogonUserA (LPSTR, LPSTR, LPSTR, DWORD, DWORD, PHANDLE);
2191 WINBASEAPI BOOL WINAPI LogonUserW
2192 (LPWSTR, LPWSTR, LPWSTR, DWORD, DWORD, PHANDLE);
2194 #define LookupAccountName __AW_SUFFIXED__(LookupAccountName)
2195 WINBASEAPI BOOL WINAPI LookupAccountNameA
2196 (LPCSTR, LPCSTR, PSID, PDWORD, LPSTR, PDWORD, PSID_NAME_USE);
2197 WINBASEAPI BOOL WINAPI LookupAccountNameW
2198 (LPCWSTR, LPCWSTR, PSID, PDWORD, LPWSTR, PDWORD, PSID_NAME_USE);
2200 #define LookupAccountSid __AW_SUFFIXED__(LookupAccountSid)
2201 WINBASEAPI BOOL WINAPI LookupAccountSidA
2202 (LPCSTR, PSID, LPSTR, PDWORD, LPSTR, PDWORD, PSID_NAME_USE);
2203 WINBASEAPI BOOL WINAPI LookupAccountSidW
2204 (LPCWSTR, PSID, LPWSTR, PDWORD, LPWSTR, PDWORD, PSID_NAME_USE);
2206 #define LookupPrivilegeDisplayName __AW_SUFFIXED__(LookupPrivilegeDisplayName)
2207 WINBASEAPI BOOL WINAPI LookupPrivilegeDisplayNameA
2208 (LPCSTR, LPCSTR, LPSTR, PDWORD, PDWORD);
2209 WINBASEAPI BOOL WINAPI LookupPrivilegeDisplayNameW
2210 (LPCWSTR, LPCWSTR, LPWSTR, PDWORD, PDWORD);
2212 #define LookupPrivilegeName __AW_SUFFIXED__(LookupPrivilegeName)
2213 WINBASEAPI BOOL WINAPI LookupPrivilegeNameA (LPCSTR, PLUID, LPSTR, PDWORD);
2214 WINBASEAPI BOOL WINAPI LookupPrivilegeNameW (LPCWSTR, PLUID, LPWSTR, PDWORD);
2216 #define LookupPrivilegeValue __AW_SUFFIXED__(LookupPrivilegeValue)
2217 WINBASEAPI BOOL WINAPI LookupPrivilegeValueA (LPCSTR, LPCSTR, PLUID);
2218 WINBASEAPI BOOL WINAPI LookupPrivilegeValueW (LPCWSTR, LPCWSTR, PLUID);
2220 #define lstrcat __AW_SUFFIXED__(lstrcat)
2221 WINBASEAPI LPSTR WINAPI lstrcatA (LPSTR, LPCSTR);
2222 WINBASEAPI LPWSTR WINAPI lstrcatW (LPWSTR, LPCWSTR);
2224 #define lstrcmp __AW_SUFFIXED__(lstrcmp)
2225 WINBASEAPI int WINAPI lstrcmpA (LPCSTR, LPCSTR);
2226 WINBASEAPI int WINAPI lstrcmpW (LPCWSTR, LPCWSTR);
2228 #define lstrcmpi __AW_SUFFIXED__(lstrcmpi)
2229 WINBASEAPI int WINAPI lstrcmpiA (LPCSTR, LPCSTR);
2230 WINBASEAPI int WINAPI lstrcmpiW (LPCWSTR, LPCWSTR);
2232 #define lstrcpy __AW_SUFFIXED__(lstrcpy)
2233 WINBASEAPI LPSTR WINAPI lstrcpyA (LPSTR, LPCSTR);
2234 WINBASEAPI LPWSTR WINAPI lstrcpyW (LPWSTR, LPCWSTR);
2236 #define lstrcpyn __AW_SUFFIXED__(lstrcpyn)
2237 WINBASEAPI LPSTR WINAPI lstrcpynA (LPSTR, LPCSTR, int);
2238 WINBASEAPI LPWSTR WINAPI lstrcpynW (LPWSTR, LPCWSTR, int);
2240 #define lstrlen __AW_SUFFIXED__(lstrlen)
2241 WINBASEAPI int WINAPI lstrlenA (LPCSTR);
2242 WINBASEAPI int WINAPI lstrlenW (LPCWSTR);
2244 WINBASEAPI BOOL WINAPI MakeAbsoluteSD
2245 ( PSECURITY_DESCRIPTOR, PSECURITY_DESCRIPTOR, PDWORD, PACL, PDWORD, PACL,
2246 PDWORD, PSID, PDWORD, PSID, PDWORD
2249 #define MakeProcInstance(p, i) (p)
2251 WINBASEAPI BOOL WINAPI MakeSelfRelativeSD
2252 (PSECURITY_DESCRIPTOR, PSECURITY_DESCRIPTOR, PDWORD);
2253 WINBASEAPI VOID WINAPI MapGenericMask (PDWORD, PGENERIC_MAPPING);
2254 WINBASEAPI PVOID WINAPI MapViewOfFile (HANDLE, DWORD, DWORD, DWORD, DWORD);
2255 WINBASEAPI PVOID WINAPI MapViewOfFileEx
2256 (HANDLE, DWORD, DWORD, DWORD, DWORD, PVOID);
2258 #define MoveFile __AW_SUFFIXED__(MoveFile)
2259 WINBASEAPI BOOL WINAPI MoveFileA (LPCSTR, LPCSTR);
2260 WINBASEAPI BOOL WINAPI MoveFileW (LPCWSTR, LPCWSTR);
2262 #define MoveFileEx __AW_SUFFIXED__(MoveFileEx)
2263 WINBASEAPI BOOL WINAPI MoveFileExA (LPCSTR, LPCSTR, DWORD);
2264 WINBASEAPI BOOL WINAPI MoveFileExW (LPCWSTR, LPCWSTR, DWORD);
2266 WINBASEAPI int WINAPI MulDiv (int, int, int);
2267 WINBASEAPI BOOL WINAPI NotifyChangeEventLog (HANDLE, HANDLE);
2269 #define ObjectCloseAuditAlarm __AW_SUFFIXED__(ObjectCloseAuditAlarm)
2270 WINBASEAPI BOOL WINAPI ObjectCloseAuditAlarmA (LPCSTR, PVOID, BOOL);
2271 WINBASEAPI BOOL WINAPI ObjectCloseAuditAlarmW (LPCWSTR, PVOID, BOOL);
2273 #define ObjectDeleteAuditAlarm __AW_SUFFIXED__(ObjectDeleteAuditAlarm)
2274 WINBASEAPI BOOL WINAPI ObjectDeleteAuditAlarmA (LPCSTR, PVOID, BOOL);
2275 WINBASEAPI BOOL WINAPI ObjectDeleteAuditAlarmW (LPCWSTR, PVOID, BOOL);
2277 #define ObjectOpenAuditAlarm __AW_SUFFIXED__(ObjectOpenAuditAlarm)
2278 WINBASEAPI BOOL WINAPI ObjectOpenAuditAlarmA
2279 ( LPCSTR, PVOID, LPSTR, LPSTR, PSECURITY_DESCRIPTOR, HANDLE, DWORD, DWORD,
2280 PPRIVILEGE_SET, BOOL, BOOL, PBOOL
2282 WINBASEAPI BOOL WINAPI ObjectOpenAuditAlarmW
2283 ( LPCWSTR, PVOID, LPWSTR, LPWSTR, PSECURITY_DESCRIPTOR, HANDLE, DWORD,
2284 DWORD, PPRIVILEGE_SET, BOOL, BOOL, PBOOL
2287 #define ObjectPrivilegeAuditAlarm __AW_SUFFIXED__(ObjectPrivilegeAuditAlarm)
2288 WINBASEAPI BOOL WINAPI ObjectPrivilegeAuditAlarmA
2289 (LPCSTR, PVOID, HANDLE, DWORD, PPRIVILEGE_SET, BOOL);
2290 WINBASEAPI BOOL WINAPI ObjectPrivilegeAuditAlarmW
2291 (LPCWSTR, PVOID, HANDLE, DWORD, PPRIVILEGE_SET, BOOL);
2293 #define OpenBackupEventLog __AW_SUFFIXED__(OpenBackupEventLog)
2294 WINBASEAPI HANDLE WINAPI OpenBackupEventLogA (LPCSTR, LPCSTR);
2295 WINBASEAPI HANDLE WINAPI OpenBackupEventLogW (LPCWSTR, LPCWSTR);
2297 #define OpenEvent __AW_SUFFIXED__(OpenEvent)
2298 WINBASEAPI HANDLE WINAPI OpenEventA (DWORD, BOOL, LPCSTR);
2299 WINBASEAPI HANDLE WINAPI OpenEventW (DWORD, BOOL, LPCWSTR);
2301 #define OpenEventLog __AW_SUFFIXED__(OpenEventLog)
2302 WINBASEAPI HANDLE WINAPI OpenEventLogA (LPCSTR, LPCSTR);
2303 WINBASEAPI HANDLE WINAPI OpenEventLogW (LPCWSTR, LPCWSTR);
2305 WINBASEAPI HFILE WINAPI OpenFile (LPCSTR, LPOFSTRUCT, UINT);
2307 #define OpenFileMapping __AW_SUFFIXED__(OpenFileMapping)
2308 WINBASEAPI HANDLE WINAPI OpenFileMappingA (DWORD, BOOL, LPCSTR);
2309 WINBASEAPI HANDLE WINAPI OpenFileMappingW (DWORD, BOOL, LPCWSTR);
2311 #define OpenMutex __AW_SUFFIXED__(OpenMutex)
2312 WINBASEAPI HANDLE WINAPI OpenMutexA (DWORD, BOOL, LPCSTR);
2313 WINBASEAPI HANDLE WINAPI OpenMutexW (DWORD, BOOL, LPCWSTR);
2315 WINBASEAPI HANDLE WINAPI OpenProcess (DWORD, BOOL, DWORD);
2316 WINBASEAPI BOOL WINAPI OpenProcessToken (HANDLE, DWORD, PHANDLE);
2318 #define OpenSemaphore __AW_SUFFIXED__(OpenSemaphore)
2319 WINBASEAPI HANDLE WINAPI OpenSemaphoreA (DWORD, BOOL, LPCSTR);
2320 WINBASEAPI HANDLE WINAPI OpenSemaphoreW (DWORD, BOOL, LPCWSTR);
2322 WINBASEAPI BOOL WINAPI OpenThreadToken (HANDLE, DWORD, BOOL, PHANDLE);
2324 /* OpenWaitableTimer: previously missing UNICODE vs. ANSI define */
2325 #define OpenWaitableTimer __AW_SUFFIXED__(OpenWaitableTimer)
2326 WINBASEAPI HANDLE WINAPI OpenWaitableTimerA (DWORD, BOOL, LPCSTR);
2327 WINBASEAPI HANDLE WINAPI OpenWaitableTimerW (DWORD, BOOL, LPCWSTR);
2329 #define OutputDebugString __AW_SUFFIXED__(OutputDebugString)
2330 WINBASEAPI void WINAPI OutputDebugStringA (LPCSTR);
2331 WINBASEAPI void WINAPI OutputDebugStringW (LPCWSTR);
2333 WINBASEAPI BOOL WINAPI PeekNamedPipe
2334 (HANDLE, PVOID, DWORD, PDWORD, PDWORD, PDWORD);
2335 WINBASEAPI BOOL WINAPI PostQueuedCompletionStatus
2336 (HANDLE, DWORD, ULONG_PTR, LPOVERLAPPED);
2337 WINBASEAPI DWORD WINAPI PrepareTape (HANDLE, DWORD, BOOL);
2338 WINBASEAPI BOOL WINAPI PrivilegeCheck (HANDLE, PPRIVILEGE_SET, PBOOL);
2340 #define PrivilegedServiceAuditAlarm __AW_SUFFIXED__(PrivilegedServiceAuditAlarm)
2341 WINBASEAPI BOOL WINAPI PrivilegedServiceAuditAlarmA
2342 (LPCSTR, LPCSTR, HANDLE, PPRIVILEGE_SET, BOOL);
2343 WINBASEAPI BOOL WINAPI PrivilegedServiceAuditAlarmW
2344 (LPCWSTR, LPCWSTR, HANDLE, PPRIVILEGE_SET, BOOL);
2346 WINBASEAPI BOOL WINAPI PulseEvent (HANDLE);
2347 WINBASEAPI BOOL WINAPI PurgeComm (HANDLE, DWORD);
2349 #define QueryDosDevice __AW_SUFFIXED__(QueryDosDevice)
2350 WINBASEAPI DWORD WINAPI QueryDosDeviceA (LPCSTR, LPSTR, DWORD);
2351 WINBASEAPI DWORD WINAPI QueryDosDeviceW (LPCWSTR, LPWSTR, DWORD);
2352 WINBASEAPI BOOL WINAPI QueryPerformanceCounter (PLARGE_INTEGER);
2353 WINBASEAPI BOOL WINAPI QueryPerformanceFrequency (PLARGE_INTEGER);
2354 WINBASEAPI DWORD WINAPI QueueUserAPC (PAPCFUNC, HANDLE, ULONG_PTR);
2356 WINBASEAPI void WINAPI RaiseException (DWORD, DWORD, DWORD, const DWORD *);
2357 WINBASEAPI BOOL WINAPI ReadDirectoryChangesW
2358 ( HANDLE, PVOID, DWORD, BOOL, DWORD, PDWORD, LPOVERLAPPED,
2359 LPOVERLAPPED_COMPLETION_ROUTINE
2362 #define ReadEventLog __AW_SUFFIXED__(ReadEventLog)
2363 WINBASEAPI BOOL WINAPI ReadEventLogA
2364 (HANDLE, DWORD, DWORD, PVOID, DWORD, DWORD *, DWORD *);
2365 WINBASEAPI BOOL WINAPI ReadEventLogW
2366 (HANDLE, DWORD, DWORD, PVOID, DWORD, DWORD *, DWORD *);
2368 WINBASEAPI BOOL WINAPI ReadFile (HANDLE, PVOID, DWORD, PDWORD, LPOVERLAPPED);
2369 WINBASEAPI BOOL WINAPI ReadFileEx
2370 (HANDLE, PVOID, DWORD, LPOVERLAPPED, LPOVERLAPPED_COMPLETION_ROUTINE);
2371 WINBASEAPI BOOL WINAPI ReadFileScatter
2372 (HANDLE, FILE_SEGMENT_ELEMENT *, DWORD, LPDWORD, LPOVERLAPPED);
2373 WINBASEAPI BOOL WINAPI ReadProcessMemory (HANDLE, PCVOID, PVOID, DWORD, PDWORD);
2375 #define RegisterEventSource __AW_SUFFIXED__(RegisterEventSource)
2376 WINBASEAPI HANDLE WINAPI RegisterEventSourceA (LPCSTR, LPCSTR);
2377 WINBASEAPI HANDLE WINAPI RegisterEventSourceW (LPCWSTR, LPCWSTR);
2379 WINBASEAPI BOOL WINAPI ReleaseMutex (HANDLE);
2380 WINBASEAPI BOOL WINAPI ReleaseSemaphore (HANDLE, LONG, LPLONG);
2382 #define RemoveDirectory __AW_SUFFIXED__(RemoveDirectory)
2383 WINBASEAPI BOOL WINAPI RemoveDirectoryA (LPCSTR);
2384 WINBASEAPI BOOL WINAPI RemoveDirectoryW (LPCWSTR);
2386 #define ReportEvent __AW_SUFFIXED__(ReportEvent)
2387 WINBASEAPI BOOL WINAPI ReportEventA
2388 (HANDLE, WORD, WORD, DWORD, PSID, WORD, DWORD, LPCSTR *, PVOID);
2389 WINBASEAPI BOOL WINAPI ReportEventW
2390 (HANDLE, WORD, WORD, DWORD, PSID, WORD, DWORD, LPCWSTR *, PVOID);
2393 extern BOOL ResetEvent (HANDLE);
2395 WINBASEAPI BOOL WINAPI ResetEvent (HANDLE);
2398 WINBASEAPI UINT WINAPI ResetWriteWatch (LPVOID, SIZE_T);
2399 WINBASEAPI DWORD WINAPI ResumeThread (HANDLE);
2400 WINBASEAPI BOOL WINAPI RevertToSelf (void);
2402 #define SearchPath __AW_SUFFIXED__(SearchPath)
2403 WINBASEAPI DWORD WINAPI SearchPathA
2404 (LPCSTR, LPCSTR, LPCSTR, DWORD, LPSTR, LPSTR *);
2405 WINBASEAPI DWORD WINAPI SearchPathW
2406 (LPCWSTR, LPCWSTR, LPCWSTR, DWORD, LPWSTR, LPWSTR *);
2408 WINBASEAPI BOOL WINAPI SetAclInformation
2409 (PACL, PVOID, DWORD, ACL_INFORMATION_CLASS);
2410 WINBASEAPI BOOL WINAPI SetCommBreak (HANDLE);
2411 WINBASEAPI BOOL WINAPI SetCommConfig (HANDLE, LPCOMMCONFIG, DWORD);
2412 WINBASEAPI BOOL WINAPI SetCommMask (HANDLE, DWORD);
2413 WINBASEAPI BOOL WINAPI SetCommState (HANDLE, LPDCB);
2414 WINBASEAPI BOOL WINAPI SetCommTimeouts (HANDLE, LPCOMMTIMEOUTS);
2416 #define SetComputerName __AW_SUFFIXED__(SetComputerName)
2417 WINBASEAPI BOOL WINAPI SetComputerNameA (LPCSTR);
2418 WINBASEAPI BOOL WINAPI SetComputerNameW (LPCWSTR);
2420 #define SetCurrentDirectory __AW_SUFFIXED__(SetCurrentDirectory)
2421 WINBASEAPI BOOL WINAPI SetCurrentDirectoryA (LPCSTR);
2422 WINBASEAPI BOOL WINAPI SetCurrentDirectoryW (LPCWSTR);
2424 #define SetDefaultCommConfig __AW_SUFFIXED__(SetDefaultCommConfig)
2425 WINBASEAPI BOOL WINAPI SetDefaultCommConfigA (LPCSTR, LPCOMMCONFIG, DWORD);
2426 WINBASEAPI BOOL WINAPI SetDefaultCommConfigW (LPCWSTR, LPCOMMCONFIG, DWORD);
2428 WINBASEAPI BOOL WINAPI SetEndOfFile (HANDLE);
2430 #define SetEnvironmentVariable __AW_SUFFIXED__(SetEnvironmentVariable)
2431 WINBASEAPI BOOL WINAPI SetEnvironmentVariableA (LPCSTR, LPCSTR);
2432 WINBASEAPI BOOL WINAPI SetEnvironmentVariableW (LPCWSTR, LPCWSTR);
2434 WINBASEAPI UINT WINAPI SetErrorMode (UINT);
2437 extern BOOL SetEvent (HANDLE);
2439 WINBASEAPI BOOL WINAPI SetEvent (HANDLE);
2442 WINBASEAPI VOID WINAPI SetFileApisToANSI (void);
2443 WINBASEAPI VOID WINAPI SetFileApisToOEM (void);
2445 #define SetFileAttributes __AW_SUFFIXED__(SetFileAttributes)
2446 WINBASEAPI BOOL WINAPI SetFileAttributesA (LPCSTR, DWORD);
2447 WINBASEAPI BOOL WINAPI SetFileAttributesW (LPCWSTR, DWORD);
2449 WINBASEAPI DWORD WINAPI SetFilePointer (HANDLE, LONG, PLONG, DWORD);
2450 WINBASEAPI BOOL WINAPI SetFilePointerEx
2451 (HANDLE, LARGE_INTEGER, PLARGE_INTEGER, DWORD);
2453 #define SetFileSecurity __AW_SUFFIXED__(SetFileSecurity)
2454 WINBASEAPI BOOL WINAPI SetFileSecurityA
2455 (LPCSTR, SECURITY_INFORMATION, PSECURITY_DESCRIPTOR);
2456 WINBASEAPI BOOL WINAPI SetFileSecurityW
2457 (LPCWSTR, SECURITY_INFORMATION, PSECURITY_DESCRIPTOR);
2459 WINBASEAPI BOOL WINAPI SetFileTime
2460 (HANDLE, const FILETIME *, const FILETIME *, const FILETIME *);
2462 WINBASEAPI UINT WINAPI SetHandleCount (UINT);
2463 WINBASEAPI BOOL WINAPI SetHandleInformation (HANDLE, DWORD, DWORD);
2464 WINBASEAPI BOOL WINAPI SetKernelObjectSecurity
2465 (HANDLE, SECURITY_INFORMATION, PSECURITY_DESCRIPTOR);
2466 WINBASEAPI void WINAPI SetLastError (DWORD);
2467 WINBASEAPI void WINAPI SetLastErrorEx (DWORD, DWORD);
2468 WINBASEAPI BOOL WINAPI SetLocalTime (const SYSTEMTIME *);
2469 WINBASEAPI BOOL WINAPI SetMailslotInfo (HANDLE, DWORD);
2470 WINBASEAPI BOOL WINAPI SetNamedPipeHandleState (HANDLE, PDWORD, PDWORD, PDWORD);
2471 WINBASEAPI BOOL WINAPI SetPriorityClass (HANDLE, DWORD);
2472 WINBASEAPI BOOL WINAPI SetPrivateObjectSecurity
2473 ( SECURITY_INFORMATION, PSECURITY_DESCRIPTOR, PSECURITY_DESCRIPTOR *,
2474 PGENERIC_MAPPING, HANDLE
2476 WINBASEAPI BOOL WINAPI SetProcessAffinityMask (HANDLE, DWORD);
2477 WINBASEAPI BOOL WINAPI SetProcessPriorityBoost (HANDLE, BOOL);
2478 WINBASEAPI BOOL WINAPI SetProcessShutdownParameters (DWORD, DWORD);
2479 WINBASEAPI BOOL WINAPI SetProcessWorkingSetSize (HANDLE, SIZE_T, SIZE_T);
2480 WINBASEAPI BOOL WINAPI SetSecurityDescriptorControl
2481 ( PSECURITY_DESCRIPTOR, SECURITY_DESCRIPTOR_CONTROL, SECURITY_DESCRIPTOR_CONTROL
2483 WINBASEAPI BOOL WINAPI SetSecurityDescriptorDacl
2484 (PSECURITY_DESCRIPTOR, BOOL, PACL, BOOL);
2485 WINBASEAPI BOOL WINAPI SetSecurityDescriptorGroup
2486 (PSECURITY_DESCRIPTOR, PSID, BOOL);
2487 WINBASEAPI BOOL WINAPI SetSecurityDescriptorOwner
2488 (PSECURITY_DESCRIPTOR, PSID, BOOL);
2489 WINBASEAPI BOOL WINAPI SetSecurityDescriptorSacl
2490 (PSECURITY_DESCRIPTOR, BOOL, PACL, BOOL);
2491 WINBASEAPI BOOL WINAPI SetStdHandle (DWORD, HANDLE);
2493 #define SetSwapAreaSize(w) (w)
2495 WINBASEAPI BOOL WINAPI SetSystemPowerState (BOOL, BOOL);
2496 WINBASEAPI BOOL WINAPI SetSystemTime (const SYSTEMTIME *);
2497 WINBASEAPI BOOL WINAPI SetSystemTimeAdjustment (DWORD, BOOL);
2498 WINBASEAPI DWORD WINAPI SetTapeParameters (HANDLE, DWORD, PVOID);
2499 WINBASEAPI DWORD WINAPI SetTapePosition
2500 (HANDLE, DWORD, DWORD, DWORD, DWORD, BOOL);
2501 WINBASEAPI DWORD WINAPI SetThreadAffinityMask (HANDLE, DWORD);
2502 WINBASEAPI BOOL WINAPI SetThreadContext (HANDLE, const CONTEXT *);
2504 WINBASEAPI DWORD WINAPI SetThreadIdealProcessor (HANDLE, DWORD);
2505 WINBASEAPI BOOL WINAPI SetThreadPriority (HANDLE, int);
2506 WINBASEAPI BOOL WINAPI SetThreadPriorityBoost (HANDLE, BOOL);
2507 WINBASEAPI BOOL WINAPI SetThreadToken (PHANDLE, HANDLE);
2508 WINBASEAPI BOOL WINAPI SetTimeZoneInformation (const TIME_ZONE_INFORMATION *);
2509 WINBASEAPI BOOL WINAPI SetTokenInformation
2510 (HANDLE, TOKEN_INFORMATION_CLASS, PVOID, DWORD);
2511 WINBASEAPI LPTOP_LEVEL_EXCEPTION_FILTER WINAPI SetUnhandledExceptionFilter
2512 (LPTOP_LEVEL_EXCEPTION_FILTER);
2513 WINBASEAPI BOOL WINAPI SetupComm (HANDLE, DWORD, DWORD);
2515 #define SetVolumeLabel __AW_SUFFIXED__(SetVolumeLabel)
2516 WINBASEAPI BOOL WINAPI SetVolumeLabelA (LPCSTR, LPCSTR);
2517 WINBASEAPI BOOL WINAPI SetVolumeLabelW (LPCWSTR, LPCWSTR);
2519 WINBASEAPI BOOL WINAPI SetWaitableTimer
2520 (HANDLE, const LARGE_INTEGER *, LONG, PTIMERAPCROUTINE, PVOID, BOOL);
2521 WINBASEAPI DWORD WINAPI SignalObjectAndWait (HANDLE, HANDLE, DWORD, BOOL);
2522 WINBASEAPI DWORD WINAPI SizeofResource (HINSTANCE, HRSRC);
2523 WINBASEAPI void WINAPI Sleep (DWORD);
2524 WINBASEAPI DWORD WINAPI SleepEx (DWORD, BOOL);
2525 WINBASEAPI DWORD WINAPI SuspendThread (HANDLE);
2526 WINBASEAPI void WINAPI SwitchToFiber (PVOID);
2527 WINBASEAPI BOOL WINAPI SwitchToThread (void);
2528 WINBASEAPI BOOL WINAPI SystemTimeToFileTime (const SYSTEMTIME *, LPFILETIME);
2529 WINBASEAPI BOOL WINAPI SystemTimeToTzSpecificLocalTime
2530 (LPTIME_ZONE_INFORMATION, LPSYSTEMTIME, LPSYSTEMTIME);
2532 WINBASEAPI BOOL WINAPI TerminateProcess (HANDLE, UINT);
2533 WINBASEAPI BOOL WINAPI TerminateThread (HANDLE, DWORD);
2534 WINBASEAPI DWORD WINAPI TlsAlloc (VOID);
2535 WINBASEAPI BOOL WINAPI TlsFree (DWORD);
2536 WINBASEAPI PVOID WINAPI TlsGetValue (DWORD);
2537 WINBASEAPI BOOL WINAPI TlsSetValue (DWORD, PVOID);
2538 WINBASEAPI BOOL WINAPI TransactNamedPipe
2539 (HANDLE, PVOID, DWORD, PVOID, DWORD, PDWORD, LPOVERLAPPED);
2540 WINBASEAPI BOOL WINAPI TransmitCommChar (HANDLE, char);
2541 WINBASEAPI BOOL WINAPI TryEnterCriticalSection (LPCRITICAL_SECTION);
2542 WINBASEAPI LONG WINAPI UnhandledExceptionFilter (LPEXCEPTION_POINTERS);
2543 WINBASEAPI BOOL WINAPI UnlockFile (HANDLE, DWORD, DWORD, DWORD, DWORD);
2544 WINBASEAPI BOOL WINAPI UnlockFileEx (HANDLE, DWORD, DWORD, DWORD, LPOVERLAPPED);
2546 #define UnlockResource(h) (h)
2547 #define UnlockSegment(w) GlobalUnfix((HANDLE)(w)) /* Obsolete: Has no effect. */
2549 WINBASEAPI BOOL WINAPI UnmapViewOfFile (LPCVOID);
2551 #define UpdateResource __AW_SUFFIXED__(UpdateResource)
2552 WINBASEAPI BOOL WINAPI UpdateResourceA
2553 (HANDLE, LPCSTR, LPCSTR, WORD, PVOID, DWORD);
2554 WINBASEAPI BOOL WINAPI UpdateResourceW
2555 (HANDLE, LPCWSTR, LPCWSTR, WORD, PVOID, DWORD);
2557 #define VerifyVersionInfo __AW_SUFFIXED__(VerifyVersionInfo)
2558 WINBASEAPI BOOL WINAPI VerifyVersionInfoA
2559 (LPOSVERSIONINFOEXA, DWORD, DWORDLONG);
2560 WINBASEAPI BOOL WINAPI VerifyVersionInfoW
2561 (LPOSVERSIONINFOEXW, DWORD, DWORDLONG);
2563 WINBASEAPI PVOID WINAPI VirtualAlloc (PVOID, DWORD, DWORD, DWORD);
2564 WINBASEAPI PVOID WINAPI VirtualAllocEx (HANDLE, PVOID, DWORD, DWORD, DWORD);
2565 WINBASEAPI BOOL WINAPI VirtualFree (PVOID, DWORD, DWORD);
2566 WINBASEAPI BOOL WINAPI VirtualFreeEx (HANDLE, PVOID, DWORD, DWORD);
2567 WINBASEAPI BOOL WINAPI VirtualLock (PVOID, DWORD);
2568 WINBASEAPI BOOL WINAPI VirtualProtect (PVOID, DWORD, DWORD, PDWORD);
2569 WINBASEAPI BOOL WINAPI VirtualProtectEx (HANDLE, PVOID, DWORD, DWORD, PDWORD);
2570 WINBASEAPI DWORD WINAPI VirtualQuery (LPCVOID, PMEMORY_BASIC_INFORMATION, DWORD);
2571 WINBASEAPI DWORD WINAPI VirtualQueryEx
2572 (HANDLE, LPCVOID, PMEMORY_BASIC_INFORMATION, DWORD);
2573 WINBASEAPI BOOL WINAPI VirtualUnlock (PVOID, DWORD);
2574 WINBASEAPI BOOL WINAPI WaitCommEvent (HANDLE, PDWORD, LPOVERLAPPED);
2575 WINBASEAPI BOOL WINAPI WaitForDebugEvent (LPDEBUG_EVENT, DWORD);
2576 WINBASEAPI DWORD WINAPI WaitForMultipleObjects
2577 (DWORD, const HANDLE *, BOOL, DWORD);
2578 WINBASEAPI DWORD WINAPI WaitForMultipleObjectsEx
2579 (DWORD, const HANDLE *, BOOL, DWORD, BOOL);
2580 WINBASEAPI DWORD WINAPI WaitForSingleObject (HANDLE, DWORD);
2581 WINBASEAPI DWORD WINAPI WaitForSingleObjectEx (HANDLE, DWORD, BOOL);
2583 #define WaitNamedPipe __AW_SUFFIXED__(WaitNamedPipe)
2584 WINBASEAPI BOOL WINAPI WaitNamedPipeA (LPCSTR, DWORD);
2585 WINBASEAPI BOOL WINAPI WaitNamedPipeW (LPCWSTR, DWORD);
2587 WINBASEAPI BOOL WINAPI WinLoadTrustProvider (GUID *);
2588 WINBASEAPI BOOL WINAPI WriteFile (HANDLE, PCVOID, DWORD, PDWORD, LPOVERLAPPED);
2589 WINBASEAPI BOOL WINAPI WriteFileEx
2590 (HANDLE, PCVOID, DWORD, LPOVERLAPPED, LPOVERLAPPED_COMPLETION_ROUTINE);
2591 WINBASEAPI BOOL WINAPI WriteFileGather
2592 (HANDLE, FILE_SEGMENT_ELEMENT *, DWORD, LPDWORD, LPOVERLAPPED);
2594 #define WritePrivateProfileSection __AW_SUFFIXED__(WritePrivateProfileSection)
2595 WINBASEAPI BOOL WINAPI WritePrivateProfileSectionA (LPCSTR, LPCSTR, LPCSTR);
2596 WINBASEAPI BOOL WINAPI WritePrivateProfileSectionW (LPCWSTR, LPCWSTR, LPCWSTR);
2598 #define WritePrivateProfileString __AW_SUFFIXED__(WritePrivateProfileString)
2599 WINBASEAPI BOOL WINAPI WritePrivateProfileStringA
2600 (LPCSTR, LPCSTR, LPCSTR, LPCSTR);
2601 WINBASEAPI BOOL WINAPI WritePrivateProfileStringW
2602 (LPCWSTR, LPCWSTR, LPCWSTR, LPCWSTR);
2604 #define WritePrivateProfileStruct __AW_SUFFIXED__(WritePrivateProfileStruct)
2605 WINBASEAPI BOOL WINAPI WritePrivateProfileStructA
2606 (LPCSTR, LPCSTR, LPVOID, UINT, LPCSTR);
2607 WINBASEAPI BOOL WINAPI WritePrivateProfileStructW
2608 (LPCWSTR, LPCWSTR, LPVOID, UINT, LPCWSTR);
2610 WINBASEAPI BOOL WINAPI WriteProcessMemory
2611 (HANDLE, LPVOID, LPCVOID, SIZE_T, SIZE_T *);
2613 #define WriteProfileSection __AW_SUFFIXED__(WriteProfileSection)
2614 WINBASEAPI BOOL WINAPI WriteProfileSectionA (LPCSTR, LPCSTR);
2615 WINBASEAPI BOOL WINAPI WriteProfileSectionW (LPCWSTR, LPCWSTR);
2617 #define WriteProfileString __AW_SUFFIXED__(WriteProfileString)
2618 WINBASEAPI BOOL WINAPI WriteProfileStringA (LPCSTR, LPCSTR, LPCSTR);
2619 WINBASEAPI BOOL WINAPI WriteProfileStringW (LPCWSTR, LPCWSTR, LPCWSTR);
2621 WINBASEAPI DWORD WINAPI WriteTapemark (HANDLE, DWORD, DWORD, BOOL);
2625 #if _WIN32_WINNT >= _WIN32_WINNT_NT4
2626 /* Features available on all Win9x versions, but not introduced to the
2627 * WinNT platform series until the release of Windows-NT4.
2629 WINBASEAPI BOOL WINAPI ConvertFiberToThread (void);
2630 WINBASEAPI LPVOID WINAPI CreateFiberEx
2631 (SIZE_T, SIZE_T, DWORD, LPFIBER_START_ROUTINE, LPVOID);
2632 #endif /* Win9x, but not WinNT until NT4 */
2634 #if _WIN32_WINDOWS >= _WIN32_WINDOWS_98 || _WIN32_WINNT >= _WIN32_WINNT_WIN2K
2635 /* New features, introduced to Win9x from Win98 onwards, and also to the WinNT
2636 * platform series, from Win2K onwards.
2638 typedef DWORD EXECUTION_STATE;
2640 #define GetLongPathName __AW_SUFFIXED__(GetLongPathName)
2641 WINBASEAPI DWORD WINAPI GetLongPathNameA (LPCSTR, LPSTR, DWORD);
2642 WINBASEAPI DWORD WINAPI GetLongPathNameW (LPCWSTR, LPWSTR, DWORD);
2644 WINBASEAPI EXECUTION_STATE WINAPI SetThreadExecutionState (EXECUTION_STATE);
2646 #if _WIN32_WINDOWS >= _WIN32_WINDOWS_ME || _WIN32_WINNT >= _WIN32_WINNT_WIN2K
2647 /* The OpenThread() API is supported in WinNT versions, from Win2K onwards,
2648 * but was introduced to the Win9X series only in the Millennium Edition.
2650 WINBASEAPI HANDLE WINAPI OpenThread (DWORD, BOOL, DWORD);
2651 #endif /* WinNT from Win2K onwards, and WinME */
2653 #if _WIN32_WINNT >= _WIN32_WINNT_WIN2K
2654 /* Additional new features introduced in Win2K, but not available in Win9x.
2656 typedef struct _MEMORYSTATUSEX
2659 DWORDLONG ullTotalPhys;
2660 DWORDLONG ullAvailPhys;
2661 DWORDLONG ullTotalPageFile;
2662 DWORDLONG ullAvailPageFile;
2663 DWORDLONG ullTotalVirtual;
2664 DWORDLONG ullAvailVirtual;
2665 DWORDLONG ullAvailExtendedVirtual;
2666 } MEMORYSTATUSEX, *LPMEMORYSTATUSEX;
2668 typedef enum _COMPUTER_NAME_FORMAT
2669 { ComputerNameNetBIOS,
2670 ComputerNameDnsHostname,
2671 ComputerNameDnsDomain,
2672 ComputerNameDnsFullyQualified,
2673 ComputerNamePhysicalNetBIOS,
2674 ComputerNamePhysicalDnsHostname,
2675 ComputerNamePhysicalDnsDomain,
2676 ComputerNamePhysicalDnsFullyQualified,
2678 } COMPUTER_NAME_FORMAT;
2680 typedef void (CALLBACK *WAITORTIMERCALLBACK)(PVOID, BOOLEAN);
2682 WINBASEAPI BOOL WINAPI AddAccessAllowedAceEx (PACL, DWORD, DWORD, DWORD, PSID);
2683 WINBASEAPI BOOL WINAPI AddAccessDeniedAceEx (PACL, DWORD, DWORD, DWORD, PSID);
2684 WINBASEAPI PVOID WINAPI AddVectoredExceptionHandler
2685 (ULONG, PVECTORED_EXCEPTION_HANDLER);
2687 WINBASEAPI BOOL WINAPI ChangeTimerQueueTimer (HANDLE, HANDLE, ULONG, ULONG);
2688 WINBASEAPI BOOL WINAPI CheckTokenMembership (HANDLE, PSID, PBOOL);
2690 #define CreateHardLink __AW_SUFFIXED__(CreateHardLink)
2691 WINBASEAPI BOOL WINAPI CreateHardLinkA (LPCSTR, LPCSTR, LPSECURITY_ATTRIBUTES);
2692 WINBASEAPI BOOL WINAPI CreateHardLinkW
2693 (LPCWSTR, LPCWSTR, LPSECURITY_ATTRIBUTES);
2695 #define CreateJobObject __AW_SUFFIXED__(CreateJobObject)
2696 WINBASEAPI HANDLE WINAPI CreateJobObjectA (LPSECURITY_ATTRIBUTES, LPCSTR);
2697 WINBASEAPI HANDLE WINAPI CreateJobObjectW (LPSECURITY_ATTRIBUTES, LPCWSTR);
2699 WINBASEAPI BOOL WINAPI TerminateJobObject (HANDLE, UINT);
2700 WINBASEAPI BOOL WINAPI AssignProcessToJobObject (HANDLE, HANDLE);
2702 WINBASEAPI BOOL WINAPI SetInformationJobObject
2703 (HANDLE, JOBOBJECTINFOCLASS, LPVOID, DWORD);
2704 WINBASEAPI BOOL WINAPI QueryInformationJobObject
2705 (HANDLE, JOBOBJECTINFOCLASS, LPVOID, DWORD, LPDWORD);
2707 WINBASEAPI BOOL WINAPI CreateProcessWithLogonW
2708 ( LPCWSTR, LPCWSTR, LPCWSTR, DWORD, LPCWSTR, LPWSTR, DWORD, LPVOID,
2709 LPCWSTR, LPSTARTUPINFOW, LPPROCESS_INFORMATION
2711 #define LOGON_WITH_PROFILE 0x00000001
2712 #define LOGON_NETCREDENTIALS_ONLY 0x00000002
2714 WINBASEAPI BOOL WINAPI CreateRestrictedToken
2715 ( HANDLE, DWORD, DWORD, PSID_AND_ATTRIBUTES, DWORD, PLUID_AND_ATTRIBUTES,
2716 DWORD, PSID_AND_ATTRIBUTES, PHANDLE
2718 #define DISABLE_MAX_PRIVILEGE 1
2719 #define SANDBOX_INERT 2
2721 #define WRITE_RESTRICTED 8
2723 WINBASEAPI HANDLE WINAPI CreateTimerQueue (void);
2724 WINBASEAPI BOOL WINAPI CreateTimerQueueTimer
2725 (PHANDLE, HANDLE, WAITORTIMERCALLBACK, PVOID, DWORD, DWORD, ULONG);
2727 WINBASEAPI BOOL WINAPI DeleteTimerQueue (HANDLE);
2728 WINBASEAPI BOOL WINAPI DeleteTimerQueueEx (HANDLE, HANDLE);
2729 WINBASEAPI BOOL WINAPI DeleteTimerQueueTimer (HANDLE, HANDLE, HANDLE);
2731 #define DeleteVolumeMountPoint __AW_SUFFIXED__(DeleteVolumeMountPoint)
2732 WINBASEAPI BOOL WINAPI DeleteVolumeMountPointA (LPCSTR);
2733 WINBASEAPI BOOL WINAPI DeleteVolumeMountPointW (LPCWSTR);
2735 #define DnsHostnameToComputerName __AW_SUFFIXED__(DnsHostnameToComputerName)
2736 WINBASEAPI BOOL WINAPI DnsHostnameToComputerNameA (LPCSTR, LPSTR, LPDWORD);
2737 WINBASEAPI BOOL WINAPI DnsHostnameToComputerNameW (LPCWSTR, LPWSTR, LPDWORD);
2739 #define FindFirstVolume __AW_SUFFIXED__(FindFirstVolume)
2740 WINBASEAPI HANDLE WINAPI FindFirstVolumeA (LPCSTR, DWORD);
2741 WINBASEAPI HANDLE WINAPI FindFirstVolumeW (LPCWSTR, DWORD);
2743 #define FindFirstVolumeMountPoint __AW_SUFFIXED__(FindFirstVolumeMountPoint)
2744 WINBASEAPI HANDLE WINAPI FindFirstVolumeMountPointA (LPSTR, LPSTR, DWORD);
2745 WINBASEAPI HANDLE WINAPI FindFirstVolumeMountPointW (LPWSTR, LPWSTR, DWORD);
2747 #define FindNextVolume __AW_SUFFIXED__(FindNextVolume)
2748 WINBASEAPI BOOL WINAPI FindNextVolumeA (HANDLE, LPCSTR, DWORD);
2749 WINBASEAPI BOOL WINAPI FindNextVolumeW (HANDLE, LPWSTR, DWORD);
2751 #define FindNextVolumeMountPoint __AW_SUFFIXED__(FindNextVolumeMountPoint)
2752 WINBASEAPI BOOL WINAPI FindNextVolumeMountPointA (HANDLE, LPSTR, DWORD);
2753 WINBASEAPI BOOL WINAPI FindNextVolumeMountPointW (HANDLE, LPWSTR, DWORD);
2755 WINBASEAPI BOOL WINAPI FindVolumeClose (HANDLE);
2756 WINBASEAPI BOOL WINAPI FindVolumeMountPointClose (HANDLE);
2758 #define GetComputerNameEx __AW_SUFFIXED__(GetComputerNameEx)
2759 WINBASEAPI BOOL WINAPI GetComputerNameExA
2760 (COMPUTER_NAME_FORMAT, LPSTR, LPDWORD);
2761 WINBASEAPI BOOL WINAPI GetComputerNameExW
2762 (COMPUTER_NAME_FORMAT, LPWSTR, LPDWORD);
2764 WINBASEAPI BOOL WINAPI GetFileSizeEx (HANDLE, PLARGE_INTEGER);
2765 WINBASEAPI BOOL WINAPI GetProcessIoCounters (HANDLE, PIO_COUNTERS);
2767 #define GetSystemWindowsDirectory __AW_SUFFIXED__(GetSystemWindowsDirectory)
2768 WINBASEAPI UINT WINAPI GetSystemWindowsDirectoryA (LPSTR, UINT);
2769 WINBASEAPI UINT WINAPI GetSystemWindowsDirectoryW (LPWSTR, UINT);
2771 GetVolumeNameForVolumeMountPoint __AW_SUFFIXED__(GetVolumeNameForVolumeMountPoint)
2772 WINBASEAPI BOOL WINAPI GetVolumeNameForVolumeMountPointA (LPCSTR, LPSTR, DWORD);
2773 WINBASEAPI BOOL WINAPI GetVolumeNameForVolumeMountPointW
2774 (LPCWSTR, LPWSTR, DWORD);
2776 #define GetVolumePathName __AW_SUFFIXED__(GetVolumePathName)
2777 WINBASEAPI BOOL WINAPI GetVolumePathNameA (LPCSTR, LPSTR, DWORD);
2778 WINBASEAPI BOOL WINAPI GetVolumePathNameW (LPCWSTR, LPWSTR, DWORD);
2780 WINBASEAPI BOOL WINAPI GlobalMemoryStatusEx (LPMEMORYSTATUSEX);
2782 WINBASEAPI BOOL WINAPI IsTokenRestricted (HANDLE);
2784 #define MoveFileWithProgress __AW_SUFFIXED__(MoveFileWithProgress)
2785 WINBASEAPI BOOL WINAPI MoveFileWithProgressA
2786 (LPCSTR, LPCSTR, LPPROGRESS_ROUTINE, LPVOID, DWORD);
2787 WINBASEAPI BOOL WINAPI MoveFileWithProgressW
2788 (LPCWSTR, LPCWSTR, LPPROGRESS_ROUTINE, LPVOID, DWORD);
2790 WINBASEAPI BOOL WINAPI ProcessIdToSessionId (DWORD, DWORD *);
2792 WINBASEAPI BOOL WINAPI QueueUserWorkItem (LPTHREAD_START_ROUTINE, PVOID, ULONG);
2794 WINBASEAPI BOOL WINAPI RegisterWaitForSingleObject
2795 (PHANDLE, HANDLE, WAITORTIMERCALLBACK, PVOID, ULONG, ULONG);
2796 WINBASEAPI HANDLE WINAPI RegisterWaitForSingleObjectEx
2797 (HANDLE, WAITORTIMERCALLBACK, PVOID, ULONG, ULONG);
2798 WINBASEAPI ULONG WINAPI RemoveVectoredExceptionHandler (PVOID);
2800 #define ReplaceFile __AW_SUFFIXED__(ReplaceFile)
2801 WINBASEAPI BOOL WINAPI ReplaceFileA
2802 (LPCSTR, LPCSTR, LPCSTR, DWORD, LPVOID, LPVOID);
2803 WINBASEAPI BOOL WINAPI ReplaceFileW
2804 (LPCWSTR, LPCWSTR, LPCWSTR, DWORD, LPVOID, LPVOID);
2806 /* SetComputerNameEx: previously missing UNICODE vs. ANSI define */
2807 #define SetComputerNameEx __AW_SUFFIXED__(SetComputerNameEx)
2808 WINBASEAPI BOOL WINAPI SetComputerNameExA (COMPUTER_NAME_FORMAT, LPCSTR);
2809 WINBASEAPI BOOL WINAPI SetComputerNameExW (COMPUTER_NAME_FORMAT, LPCWSTR);
2811 #define SetVolumeMountPoint __AW_SUFFIXED__(SetVolumeMountPoint)
2812 WINBASEAPI BOOL WINAPI SetVolumeMountPointA (LPCSTR, LPCSTR);
2813 WINBASEAPI BOOL WINAPI SetVolumeMountPointW (LPCWSTR, LPCWSTR);
2815 WINBASEAPI BOOL WINAPI UnregisterWait (HANDLE);
2816 WINBASEAPI BOOL WINAPI UnregisterWaitEx (HANDLE, HANDLE);
2818 WINBASEAPI BOOL WINAPI AllocateUserPhysicalPages
2819 (HANDLE, PULONG_PTR, PULONG_PTR);
2821 WINBASEAPI BOOL WINAPI FreeUserPhysicalPages (HANDLE, PULONG_PTR, PULONG_PTR);
2823 WINBASEAPI BOOL WINAPI MapUserPhysicalPages (PVOID, ULONG_PTR, PULONG_PTR);
2824 WINBASEAPI BOOL WINAPI MapUserPhysicalPagesScatter
2825 (PVOID *, ULONG_PTR, PULONG_PTR);
2827 #if _WIN32_WINNT >= _WIN32_WINNT_WINXP
2828 /* New features, implemented for WinXP; not available in Win9x.
2830 typedef struct tagACTCTXA
2834 USHORT wProcessorArchitecture;
2836 LPCSTR lpAssemblyDirectory;
2837 LPCSTR lpResourceName;
2838 LPCSTR lpApplicationName;
2840 } ACTCTXA, *PACTCTXA;
2842 typedef struct tagACTCTXW
2846 USHORT wProcessorArchitecture;
2848 LPCWSTR lpAssemblyDirectory;
2849 LPCWSTR lpResourceName;
2850 LPCWSTR lpApplicationName;
2852 } ACTCTXW, *PACTCTXW;
2854 typedef const ACTCTXA *PCACTCTXA;
2855 typedef const ACTCTXW *PCACTCTXW;
2857 typedef __AW_ALIAS__(ACTCTX), *PACTCTX;
2858 typedef __AW_ALIAS__(PCACTCTX);
2860 typedef struct tagACTCTX_SECTION_KEYED_DATA
2862 ULONG ulDataFormatVersion;
2865 PVOID lpSectionGlobalData;
2866 ULONG ulSectionGlobalDataLength;
2867 PVOID lpSectionBase;
2868 ULONG ulSectionTotalLength;
2870 HANDLE ulAssemblyRosterIndex;
2871 } ACTCTX_SECTION_KEYED_DATA, *PACTCTX_SECTION_KEYED_DATA;
2873 typedef const ACTCTX_SECTION_KEYED_DATA *PCACTCTX_SECTION_KEYED_DATA;
2876 { LowMemoryResourceNotification,
2877 HighMemoryResourceNotification
2878 } MEMORY_RESOURCE_NOTIFICATION_TYPE;
2880 WINBASEAPI BOOL WINAPI ActivateActCtx (HANDLE, ULONG_PTR *);
2881 WINBASEAPI void WINAPI AddRefActCtx (HANDLE);
2883 #define CheckNameLegalDOS8Dot3 __AW_SUFFIXED__(CheckNameLegalDOS8Dot3)
2884 WINBASEAPI BOOL WINAPI CheckNameLegalDOS8Dot3A
2885 (LPCSTR, LPSTR, DWORD, PBOOL, PBOOL);
2886 WINBASEAPI BOOL WINAPI CheckNameLegalDOS8Dot3W
2887 (LPCWSTR, LPSTR, DWORD, PBOOL, PBOOL);
2889 WINBASEAPI BOOL WINAPI CheckRemoteDebuggerPresent (HANDLE, PBOOL);
2891 #define CreateActCtx __AW_SUFFIXED__(CreateActCtx)
2892 WINBASEAPI HANDLE WINAPI CreateActCtxA (PCACTCTXA);
2893 WINBASEAPI HANDLE WINAPI CreateActCtxW (PCACTCTXW);
2895 WINBASEAPI HANDLE WINAPI CreateMemoryResourceNotification
2896 (MEMORY_RESOURCE_NOTIFICATION_TYPE);
2898 WINBASEAPI BOOL WINAPI DeactivateActCtx (DWORD, ULONG_PTR);
2899 WINBASEAPI BOOL WINAPI DebugActiveProcessStop (DWORD);
2900 WINBASEAPI BOOL WINAPI DebugBreakProcess (HANDLE);
2901 WINBASEAPI BOOL WINAPI DebugSetProcessKillOnExit (BOOL);
2903 WINBASEAPI BOOL WINAPI FindActCtxSectionGuid
2904 (DWORD, const GUID *, ULONG, const GUID *, PACTCTX_SECTION_KEYED_DATA);
2906 #define FindActCtxSectionString __AW_SUFFIXED__(FindActCtxSectionString)
2907 WINBASEAPI BOOL WINAPI FindActCtxSectionStringA
2908 (DWORD, const GUID *, ULONG, LPCSTR, PACTCTX_SECTION_KEYED_DATA);
2909 WINBASEAPI BOOL WINAPI FindActCtxSectionStringW
2910 (DWORD, const GUID *, ULONG, LPCWSTR, PACTCTX_SECTION_KEYED_DATA);
2912 WINBASEAPI BOOL WINAPI GetCurrentActCtx (HANDLE *);
2914 #define GetModuleHandleEx __AW_SUFFIXED__(GetModuleHandleEx)
2915 WINBASEAPI BOOL WINAPI GetModuleHandleExA (DWORD, LPCSTR, HMODULE *);
2916 WINBASEAPI BOOL WINAPI GetModuleHandleExW (DWORD, LPCWSTR, HMODULE *);
2918 WINBASEAPI VOID WINAPI GetNativeSystemInfo (LPSYSTEM_INFO);
2919 WINBASEAPI BOOL WINAPI GetProcessHandleCount (HANDLE, PDWORD);
2920 WINBASEAPI DWORD WINAPI GetProcessId (HANDLE);
2921 WINBASEAPI BOOL WINAPI GetSystemRegistryQuota (PDWORD, PDWORD);
2922 WINBASEAPI BOOL WINAPI GetSystemTimes (LPFILETIME, LPFILETIME, LPFILETIME);
2924 #define GetSystemWow64Directory __AW_SUFFIXED__(GetSystemWow64Directory)
2925 WINBASEAPI UINT WINAPI GetSystemWow64DirectoryA (LPSTR, UINT);
2926 WINBASEAPI UINT WINAPI GetSystemWow64DirectoryW (LPWSTR, UINT);
2927 WINBASEAPI BOOL WINAPI GetThreadIOPendingFlag (HANDLE, PBOOL);
2929 GetVolumePathNamesForVolumeName __AW_SUFFIXED__(GetVolumePathNamesForVolumeName)
2930 WINBASEAPI BOOL WINAPI GetVolumePathNamesForVolumeNameA
2931 (LPCSTR, LPSTR, DWORD, PDWORD);
2932 WINBASEAPI BOOL WINAPI GetVolumePathNamesForVolumeNameW
2933 (LPCWSTR, LPWSTR, DWORD, PDWORD);
2935 WINBASEAPI BOOL WINAPI HeapQueryInformation
2936 (HANDLE, HEAP_INFORMATION_CLASS, PVOID, SIZE_T, PSIZE_T);
2937 WINBASEAPI BOOL WINAPI HeapSetInformation
2938 (HANDLE, HEAP_INFORMATION_CLASS, PVOID, SIZE_T);
2940 WINBASEAPI BOOL IsProcessInJob (HANDLE, HANDLE, PBOOL);
2941 WINBASEAPI BOOL WINAPI IsWow64Process (HANDLE, PBOOL);
2943 WINBASEAPI BOOL WINAPI QueryActCtxW
2944 (DWORD, HANDLE, PVOID, ULONG, PVOID, SIZE_T, SIZE_T *);
2945 WINBASEAPI BOOL WINAPI QueryMemoryResourceNotification (HANDLE, PBOOL);
2947 WINBASEAPI void WINAPI ReleaseActCtx (HANDLE);
2948 WINBASEAPI VOID WINAPI RestoreLastError (DWORD);
2950 #define SetFileShortName __AW_SUFFIXED__(SetFileShortName)
2951 WINBASEAPI BOOL WINAPI SetFileShortNameA (HANDLE, LPCSTR);
2952 WINBASEAPI BOOL WINAPI SetFileShortNameW (HANDLE, LPCWSTR);
2954 WINBASEAPI BOOL WINAPI SetFileValidData (HANDLE, LONGLONG);
2956 WINBASEAPI BOOL WINAPI TzSpecificLocalTimeToSystemTime
2957 (LPTIME_ZONE_INFORMATION, LPSYSTEMTIME, LPSYSTEMTIME);
2959 WINBASEAPI BOOL WINAPI ZombifyActCtx (HANDLE);
2961 #if _WIN32_WINNT >= _WIN32_WINNT_WS03
2962 /* Further added features, which became available on the WinNT platform
2963 * from Windows Server-2003; these were never made available in Win9x.
2965 /* GetFirmwareEnvironmentVariable: previously missing UNICODE vs. ANSI define */
2967 GetFirmwareEnvironmentVariable __AW_SUFFIXED__(GetFirmwareEnvironmentVariable)
2968 WINBASEAPI DWORD WINAPI GetFirmwareEnvironmentVariableA
2969 (LPCSTR, LPCSTR, PVOID, DWORD);
2970 WINBASEAPI DWORD WINAPI GetFirmwareEnvironmentVariableW
2971 (LPCWSTR, LPCWSTR, PVOID, DWORD);
2973 #define GetDllDirectory __AW_SUFFIXED__(GetDllDirectory)
2974 WINBASEAPI DWORD WINAPI GetDllDirectoryA (DWORD, LPSTR);
2975 WINBASEAPI DWORD WINAPI GetDllDirectoryW (DWORD, LPWSTR);
2977 WINBASEAPI HANDLE WINAPI ReOpenFile (HANDLE, DWORD, DWORD, DWORD);
2979 #define SetDllDirectory __AW_SUFFIXED__(SetDllDirectory)
2980 WINBASEAPI BOOL WINAPI SetDllDirectoryA (LPCSTR);
2981 WINBASEAPI BOOL WINAPI SetDllDirectoryW (LPCWSTR);
2984 SetFirmwareEnvironmentVariable __AW_SUFFIXED__(SetFirmwareEnvironmentVariable)
2985 WINBASEAPI BOOL WINAPI SetFirmwareEnvironmentVariableA
2986 (LPCSTR, LPCSTR, PVOID, DWORD);
2987 WINBASEAPI BOOL WINAPI SetFirmwareEnvironmentVariableW
2988 (LPCWSTR, LPCWSTR, PVOID, DWORD);
2990 #if _WIN32_WINNT >= _WIN32_WINNT_VISTA
2991 /* Additional features, available only on the WinNT series platforms, from
2992 * the release of Windows-Vista onwards.
2994 * Note that, to support STARTUPINFOEX, we need a type definintion for
2995 * references to a PROC_THREAD_ATTRIBUTE_LIST data type, but Microsoft's
2996 * online documentation doesn't specify what that represents; define it
2997 * as an opaque struct type, which will always be accessed indirectly.
2999 typedef struct _PROC_THREAD_ATTRIBUTE_LIST *LPPROC_THREAD_ATTRIBUTE_LIST;
3001 typedef struct _STARTUPINFOEXA
3002 { STARTUPINFOA StartupInfo;
3003 LPPROC_THREAD_ATTRIBUTE_LIST lpAttributeList;
3004 } STARTUPINFOEXA, *LPSTARTUPINFOEXA;
3006 typedef struct _STARTUPINFOEXW
3007 { STARTUPINFOW StartupInfo;
3008 LPPROC_THREAD_ATTRIBUTE_LIST lpAttributeList;
3009 } STARTUPINFOEXW, *LPSTARTUPINFOEXW;
3011 typedef __AW_ALIAS__(STARTUPINFOEX), *LPSTARTUPINFOEX;
3013 BOOL WINAPI InitializeProcThreadAttributeList
3014 (LPPROC_THREAD_ATTRIBUTE_LIST, DWORD, DWORD, PSIZE_T);
3016 BOOL WINAPI UpdateProcThreadAttribute
3017 (LPPROC_THREAD_ATTRIBUTE_LIST, DWORD, DWORD_PTR, PVOID, SIZE_T, PVOID, PSIZE_T);
3019 void WINAPI DeleteProcThreadAttributeList
3020 (LPPROC_THREAD_ATTRIBUTE_LIST);
3022 typedef struct _FILE_BASIC_INFO
3023 /* http://msdn.microsoft.com/en-us/library/aa364217%28VS.85%29.aspx */
3024 { LARGE_INTEGER CreationTime;
3025 LARGE_INTEGER LastAccessTime;
3026 LARGE_INTEGER LastWriteTime;
3027 LARGE_INTEGER ChangeTime;
3028 DWORD FileAttributes;
3029 } FILE_BASIC_INFO, *PFILE_BASIC_INFO, *LPFILE_BASIC_INFO;
3031 typedef struct _FILE_STANDARD_INFO
3032 /* http://msdn.microsoft.com/en-us/library/aa364401%28VS.85%29.aspx */
3033 { LARGE_INTEGER AllocationSize;
3034 LARGE_INTEGER EndOfFile;
3035 DWORD NumberOfLinks;
3038 } FILE_STANDARD_INFO, *PFILE_STANDARD_INFO, *LPFILE_STANDARD_INFO;
3040 typedef struct _FILE_NAME_INFO
3041 /* http://msdn.microsoft.com/en-us/library/aa364388%28v=VS.85%29.aspx */
3042 { DWORD FileNameLength;
3044 } FILE_NAME_INFO, *PFILE_NAME_INFO, *LPFILE_NAME_INFO;
3046 typedef struct _FILE_STREAM_INFO
3047 /* http://msdn.microsoft.com/en-us/library/aa364406%28v=VS.85%29.aspx */
3048 { DWORD NextEntryOffset;
3049 DWORD StreamNameLength;
3050 LARGE_INTEGER StreamSize;
3051 LARGE_INTEGER StreamAllocationSize;
3052 WCHAR StreamName[1];
3053 } FILE_STREAM_INFO, *PFILE_STREAM_INFO, *LPFILE_STREAM_INFO;
3055 typedef struct _FILE_COMPRESSION_INFO
3056 /* http://msdn.microsoft.com/en-us/library/aa364220%28v=VS.85%29.aspx */
3057 { LARGE_INTEGER CompressedFileSize;
3058 WORD CompressionFormat;
3059 UCHAR CompressionUnitShift;
3063 } FILE_COMPRESSION_INFO, *PFILE_COMPRESSION_INFO, *LPFILE_COMPRESSION_INFO;
3065 typedef struct _FILE_ATTRIBUTE_TAG_INFO
3066 /* http://msdn.microsoft.com/en-us/library/aa364216%28v=VS.85%29.aspx */
3067 { DWORD FileAttributes;
3069 } FILE_ATTRIBUTE_TAG_INFO, *PFILE_ATTRIBUTE_TAG_INFO, *LPFILE_ATTRIBUTE_TAG_INFO;
3071 typedef struct _FILE_ID_BOTH_DIR_INFO
3072 /* http://msdn.microsoft.com/en-us/library/aa364226%28v=VS.85%29.aspx */
3073 { DWORD NextEntryOffset;
3075 LARGE_INTEGER CreationTime;
3076 LARGE_INTEGER LastAccessTime;
3077 LARGE_INTEGER LastWriteTime;
3078 LARGE_INTEGER ChangeTime;
3079 LARGE_INTEGER EndOfFile;
3080 LARGE_INTEGER AllocationSize;
3081 DWORD FileAttributes;
3082 DWORD FileNameLength;
3084 CCHAR ShortNameLength;
3085 WCHAR ShortName[12];
3086 LARGE_INTEGER FileId;
3088 } FILE_ID_BOTH_DIR_INFO, *PFILE_ID_BOTH_DIR_INFO, *LPFILE_ID_BOTH_DIR_INFO;
3090 typedef struct _FILE_REMOTE_PROTOCOL_INFO
3091 /* http://msdn.microsoft.com/en-us/library/dd979524%28v=VS.85%29.aspx */
3092 { USHORT StructureVersion;
3093 USHORT StructureSize;
3095 USHORT ProtocolMajorVersion;
3096 USHORT ProtocolMinorVersion;
3097 USHORT ProtocolRevision;
3101 { ULONG Reserved[8];
3104 { ULONG Reserved[16];
3105 } ProtocolSpecificReserved;
3106 } FILE_REMOTE_PROTOCOL_INFO, *PFILE_REMOTE_PROTOCOL_INFO, *LPFILE_REMOTE_PROTOCOL_INFO;
3108 typedef enum _DEP_SYSTEM_POLICY_TYPE
3113 } DEP_SYSTEM_POLICY_TYPE;
3115 typedef enum _FILE_INFO_BY_HANDLE_CLASS
3116 /* http://msdn.microsoft.com/en-us/library/aa364228%28v=VS.85%29.aspx */
3121 FileDispositionInfo,
3125 FileCompressionInfo,
3126 FileAttributeTagInfo,
3127 FileIdBothDirectoryInfo,
3128 FileIdBothDirectoryRestartInfo,
3129 FileIoPriorityHintInfo,
3130 FileRemoteProtocolInfo,
3131 MaximumFileInfoByHandlesClass
3132 } FILE_INFO_BY_HANDLE_CLASS, *PFILE_INFO_BY_HANDLE_CLASS;
3134 #define CreateSymbolicLink __AW_SUFFIXED__(CreateSymbolicLink)
3135 WINBASEAPI BOOL WINAPI CreateSymbolicLinkA (LPCSTR, LPCSTR, DWORD);
3136 WINBASEAPI BOOL WINAPI CreateSymbolicLinkW (LPCWSTR, LPCWSTR, DWORD);
3138 /* http://msdn.microsoft.com/en-us/library/aa364953%28VS.85%29.aspx */
3139 WINBASEAPI BOOL WINAPI GetFileInformationByHandleEx
3140 (HANDLE, FILE_INFO_BY_HANDLE_CLASS, LPVOID, DWORD);
3142 /* http://msdn.microsoft.com/en-us/library/aa364962%28VS.85%29.aspx */
3143 #define GetFinalPathNameByHandle __AW_SUFFIXED__(GetFinalPathNameByHandle)
3144 WINBASEAPI DWORD WINAPI GetFinalPathNameByHandleA (HANDLE, LPSTR, DWORD, DWORD);
3145 WINBASEAPI DWORD WINAPI GetFinalPathNameByHandleW
3146 (HANDLE, LPWSTR, DWORD, DWORD);
3148 /* https://msdn.microsoft.com/en-us/library/aa904937%28v=vs.85%29.aspx */
3149 /* Note: MSDN does not offer any detail of how SRWLOCK should be defined,
3150 * (other than stating that it is a structure with the size of a pointer);
3151 * an opaque generic pointer type appears to be sufficient.
3153 typedef PVOID SRWLOCK, *PSRWLOCK;
3155 void WINAPI InitializeSRWLock (PSRWLOCK);
3156 void WINAPI AcquireSRWLockExclusive (PSRWLOCK);
3157 void WINAPI AcquireSRWLockShared (PSRWLOCK);
3158 void WINAPI ReleaseSRWLockExclusive (PSRWLOCK);
3159 void WINAPI ReleaseSRWLockShared (PSRWLOCK);
3161 /* https://msdn.microsoft.com/en-us/library/ms682052%28v=vs.85%29.aspx */
3162 /* Note: once again, MSDN fails to document this, but an opaque generic
3163 * pointer type appears to suffice.
3165 typedef PVOID CONDITION_VARIABLE, *PCONDITION_VARIABLE;
3167 void WINAPI InitializeConditionVariable (PCONDITION_VARIABLE);
3168 BOOL WINAPI SleepConditionVariableCS (PCONDITION_VARIABLE, PCRITICAL_SECTION, DWORD);
3169 BOOL WINAPI SleepConditionVariableSRW (PCONDITION_VARIABLE, PSRWLOCK, DWORD, ULONG);
3170 void WINAPI WakeAllConditionVariable (PCONDITION_VARIABLE);
3171 void WINAPI WakeConditionVariable (PCONDITION_VARIABLE);
3173 #if _WIN32_WINNT >= _WIN32_WINNT_WIN7
3174 /* Additional features, available only on the WinNT series platforms, from
3175 * the release of Windows-7 onwards.
3177 WINBASEAPI BOOL WINAPI GetProcessDEPPolicy (HANDLE, LPDWORD, PBOOL);
3178 WINBASEAPI DEP_SYSTEM_POLICY_TYPE WINAPI GetSystemDEPPolicy (void);
3180 WINBASEAPI BOOL WINAPI SetProcessDEPPolicy (DWORD);
3182 /* https://msdn.microsoft.com/en-us/library/aa904937%28v=vs.85%29.aspx */
3183 BOOLEAN WINAPI TryAcquireSRWLockExclusive (PSRWLOCK);
3184 BOOLEAN WINAPI TryAcquireSRWLockShared (PSRWLOCK);
3186 #endif /* Win7 and later */
3187 #endif /* Windows Vista and later */
3188 #endif /* Windows Server-2003 and later */
3189 #endif /* WinXP and later; not Win9x */
3190 #endif /* Win2K and later, but not Win9x */
3191 #endif /* Win98, Win2K, and later */
3193 #endif /* ! RC_INVOKED */
3197 #endif /* !_WINBASE_H: $RCSfile$: end of file */