OSDN Git Service

0865c16ed943b376b553e29f2bf770497e8446b8
[mingw/mingw-org-wsl.git] / w32api / include / winbase.h
1 /*
2  * winbase.h
3  *
4  * Windows API Base Definitions
5  *
6  * $Id$
7  *
8  * Written by Anders Norlander <anorland@hem2.passagen.se>
9  * Copyright (C) 1998-2012, 2016, 2017, MinGW.org Project.
10  *
11  *
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:
18  *
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
21  * Software.
22  *
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.
30  *
31  */
32 #ifndef _WINBASE_H
33 #pragma GCC system_header
34 #define _WINBASE_H
35
36 #ifdef __GNUC__
37 # define __GNUC_EXTENSION  __extension__
38 #else
39 # define __GNUC_EXTENSION
40 #endif
41
42 #ifndef WINBASEAPI
43 # ifdef __W32API_USE_DLLIMPORT__
44 #  define WINBASEAPI  DECLSPEC_IMPORT
45 # else
46 #  define WINBASEAPI
47 # endif
48 #endif
49
50 #ifndef WINADVAPI
51 # ifdef __W32API_USE_DLLIMPORT__
52 #  define WINADVAPI  DECLSPEC_IMPORT
53 # else
54 #  define WINADVAPI
55 # endif
56 #endif
57
58 /* To make <winbase.h> effectively self-contained, we must ensure
59  * that both <stdarg.h> and <windef.h> are included beforehand.
60  */
61 #include <stdarg.h>
62 #include <windef.h>
63
64 _BEGIN_C_DECLS
65
66 #define SP_SERIALCOMM                                                  1
67 #define PST_UNSPECIFIED                                                0
68 #define PST_RS232                                                      1
69 #define PST_PARALLELPORT                                               2
70 #define PST_RS422                                                      3
71 #define PST_RS423                                                      4
72 #define PST_RS449                                                      5
73 #define PST_MODEM                                                      6
74 #define PST_FAX                                                     0x21
75 #define PST_SCANNER                                                 0x22
76 #define PST_NETWORK_BRIDGE                                         0x100
77 #define PST_LAT                                                    0x101
78 #define PST_TCPIP_TELNET                                           0x102
79 #define PST_X25                                                    0x103
80 #define BAUD_075                                                       1
81 #define BAUD_110                                                       2
82 #define BAUD_134_5                                                     4
83 #define BAUD_150                                                       8
84 #define BAUD_300                                                      16
85 #define BAUD_600                                                      32
86 #define BAUD_1200                                                     64
87 #define BAUD_1800                                                    128
88 #define BAUD_2400                                                    256
89 #define BAUD_4800                                                    512
90 #define BAUD_7200                                                   1024
91 #define BAUD_9600                                                   2048
92 #define BAUD_14400                                                  4096
93 #define BAUD_19200                                                  8192
94 #define BAUD_38400                                                 16384
95 #define BAUD_56K                                                   32768
96 #define BAUD_128K                                                  65536
97 #define BAUD_115200                                               131072
98 #define BAUD_57600                                                262144
99 #define BAUD_USER                                             0x10000000
100 #define PCF_DTRDSR                                                     1
101 #define PCF_RTSCTS                                                     2
102 #define PCF_RLSD                                                       4
103 #define PCF_PARITY_CHECK                                               8
104 #define PCF_XONXOFF                                                   16
105 #define PCF_SETXCHAR                                                  32
106 #define PCF_TOTALTIMEOUTS                                             64
107 #define PCF_INTTIMEOUTS                                              128
108 #define PCF_SPECIALCHARS                                             256
109 #define PCF_16BITMODE                                                512
110 #define SP_PARITY                                                      1
111 #define SP_BAUD                                                        2
112 #define SP_DATABITS                                                    4
113 #define SP_STOPBITS                                                    8
114 #define SP_HANDSHAKING                                                16
115 #define SP_PARITY_CHECK                                               32
116 #define SP_RLSD                                                       64
117 #define DATABITS_5                                                     1
118 #define DATABITS_6                                                     2
119 #define DATABITS_7                                                     4
120 #define DATABITS_8                                                     8
121 #define DATABITS_16                                                   16
122 #define DATABITS_16X                                                  32
123 #define STOPBITS_10                                                    1
124 #define STOPBITS_15                                                    2
125 #define STOPBITS_20                                                    4
126 #define PARITY_NONE                                                  256
127 #define PARITY_ODD                                                   512
128 #define PARITY_EVEN                                                 1024
129 #define PARITY_MARK                                                 2048
130 #define PARITY_SPACE                                                4096
131 #define EXCEPTION_DEBUG_EVENT                                          1
132 #define CREATE_THREAD_DEBUG_EVENT                                      2
133 #define CREATE_PROCESS_DEBUG_EVENT                                     3
134 #define EXIT_THREAD_DEBUG_EVENT                                        4
135 #define EXIT_PROCESS_DEBUG_EVENT                                       5
136 #define LOAD_DLL_DEBUG_EVENT                                           6
137 #define UNLOAD_DLL_DEBUG_EVENT                                         7
138 #define OUTPUT_DEBUG_STRING_EVENT                                      8
139 #define RIP_EVENT                                                      9
140 #define HFILE_ERROR                                          ((HFILE)(-1))
141 #define FILE_BEGIN                                                     0
142 #define FILE_CURRENT                                                   1
143 #define FILE_END                                                       2
144 #define INVALID_SET_FILE_POINTER                             ((DWORD)(-1))
145 #define OF_READ                                                        0
146 #define OF_READWRITE                                                   2
147 #define OF_WRITE                                                       1
148 #define OF_SHARE_COMPAT                                                0
149 #define OF_SHARE_DENY_NONE                                            64
150 #define OF_SHARE_DENY_READ                                            48
151 #define OF_SHARE_DENY_WRITE                                           32
152 #define OF_SHARE_EXCLUSIVE                                            16
153 #define OF_CANCEL                                                   2048
154 #define OF_CREATE                                                   4096
155 #define OF_DELETE                                                    512
156 #define OF_EXIST                                                   16384
157 #define OF_PARSE                                                     256
158 #define OF_PROMPT                                                   8192
159 #define OF_REOPEN                                                  32768
160 #define OF_VERIFY                                                   1024
161 #define NMPWAIT_NOWAIT                                                 1
162 #define NMPWAIT_WAIT_FOREVER                                 ((DWORD)(-1))
163 #define NMPWAIT_USE_DEFAULT_WAIT                                       0
164 #define CE_BREAK                                                      16
165 #define CE_DNS                                                      2048
166 #define CE_FRAME                                                       8
167 #define CE_IOE                                                      1024
168 #define CE_MODE                                                    32768
169 #define CE_OOP                                                      4096
170 #define CE_OVERRUN                                                     2
171 #define CE_PTO                                                       512
172 #define CE_RXOVER                                                      1
173 #define CE_RXPARITY                                                    4
174 #define CE_TXFULL                                                    256
175 #define PROGRESS_CONTINUE                                              0
176 #define PROGRESS_CANCEL                                                1
177 #define PROGRESS_STOP                                                  2
178 #define PROGRESS_QUIET                                                 3
179 #define CALLBACK_CHUNK_FINISHED                                        0
180 #define CALLBACK_STREAM_SWITCH                                         1
181 #define COPY_FILE_FAIL_IF_EXISTS                                  0x0001
182 #define COPY_FILE_RESTARTABLE                                     0x0002
183 #define COPY_FILE_OPEN_SOURCE_FOR_WRITE                           0x0004
184
185 #if (_WIN32_WINNT > 0x0500)
186 #define COPY_FILE_ALLOW_DECRYPTED_DESTINATION                     0x0008
187
188 #if (_WIN32_WINNT > 0x0501)
189 #define COPY_FILE_COPY_SYMLINK                                    0x0800
190 #define COPY_FILE_NO_BUFFERING                                    0x1000
191 #endif
192 #endif
193
194 #define OFS_MAXPATHNAME                                              128
195 #define FILE_MAP_ALL_ACCESS                                      0xF001F
196 #define FILE_MAP_READ                                                  4
197 #define FILE_MAP_WRITE                                                 2
198 #define FILE_MAP_COPY                                                  1
199 #define MUTEX_ALL_ACCESS                                        0x1F0001
200 #define MUTEX_MODIFY_STATE                                             1
201 #define SEMAPHORE_ALL_ACCESS                                    0x1F0003
202 #define SEMAPHORE_MODIFY_STATE                                         2
203 #define EVENT_ALL_ACCESS                                        0x1F0003
204 #define EVENT_MODIFY_STATE                                             2
205 #define PIPE_ACCESS_DUPLEX                                             3
206 #define PIPE_ACCESS_INBOUND                                            1
207 #define PIPE_ACCESS_OUTBOUND                                           2
208 #define PIPE_TYPE_BYTE                                                 0
209 #define PIPE_TYPE_MESSAGE                                              4
210 #define PIPE_READMODE_BYTE                                             0
211 #define PIPE_READMODE_MESSAGE                                          2
212 #define PIPE_WAIT                                                      0
213 #define PIPE_NOWAIT                                                    1
214 #define PIPE_CLIENT_END                                                0
215 #define PIPE_SERVER_END                                                1
216 #define PIPE_UNLIMITED_INSTANCES                                     255
217 #define DEBUG_PROCESS                                         0x00000001
218 #define DEBUG_ONLY_THIS_PROCESS                               0x00000002
219 #define CREATE_SUSPENDED                                      0x00000004
220 #define DETACHED_PROCESS                                      0x00000008
221 #define CREATE_NEW_CONSOLE                                    0x00000010
222 #define NORMAL_PRIORITY_CLASS                                 0x00000020
223 #define IDLE_PRIORITY_CLASS                                   0x00000040
224 #define HIGH_PRIORITY_CLASS                                   0x00000080
225 #define REALTIME_PRIORITY_CLASS                               0x00000100
226 #define CREATE_NEW_PROCESS_GROUP                              0x00000200
227 #define CREATE_UNICODE_ENVIRONMENT                            0x00000400
228 #define CREATE_SEPARATE_WOW_VDM                               0x00000800
229 #define CREATE_SHARED_WOW_VDM                                 0x00001000
230 #define CREATE_FORCEDOS                                       0x00002000
231 #define BELOW_NORMAL_PRIORITY_CLASS                           0x00004000
232 #define ABOVE_NORMAL_PRIORITY_CLASS                           0x00008000
233 #define STACK_SIZE_PARAM_IS_A_RESERVATION                     0x00010000
234 #define CREATE_BREAKAWAY_FROM_JOB                             0x01000000
235 #define CREATE_WITH_USERPROFILE                               0x02000000
236 #define CREATE_DEFAULT_ERROR_MODE                             0x04000000
237 #define CREATE_NO_WINDOW                                      0x08000000
238 #define PROFILE_USER                                          0x10000000
239 #define PROFILE_KERNEL                                        0x20000000
240 #define PROFILE_SERVER                                        0x40000000
241 #define CONSOLE_TEXTMODE_BUFFER                                        1
242 #define CREATE_NEW                                                     1
243 #define CREATE_ALWAYS                                                  2
244 #define OPEN_EXISTING                                                  3
245 #define OPEN_ALWAYS                                                    4
246 #define TRUNCATE_EXISTING                                              5
247 #define FILE_FLAG_WRITE_THROUGH                               0x80000000
248 #define FILE_FLAG_OVERLAPPED                                  1073741824
249 #define FILE_FLAG_NO_BUFFERING                                 536870912
250 #define FILE_FLAG_RANDOM_ACCESS                                268435456
251 #define FILE_FLAG_SEQUENTIAL_SCAN                              134217728
252 #define FILE_FLAG_DELETE_ON_CLOSE                               67108864
253 #define FILE_FLAG_BACKUP_SEMANTICS                              33554432
254 #define FILE_FLAG_POSIX_SEMANTICS                               16777216
255 #define FILE_FLAG_OPEN_REPARSE_POINT                             2097152
256 #define FILE_FLAG_OPEN_NO_RECALL                                 1048576
257
258 #if (_WIN32_WINNT >= 0x0500)
259 #define FILE_FLAG_FIRST_PIPE_INSTANCE                             524288
260 #endif
261
262 #define SYMBOLIC_LINK_FLAG_DIRECTORY                                 0x1
263 #define CLRDTR                                                         6
264 #define CLRRTS                                                         4
265 #define SETDTR                                                         5
266 #define SETRTS                                                         3
267 #define SETXOFF                                                        1
268 #define SETXON                                                         2
269 #define SETBREAK                                                       8
270 #define CLRBREAK                                                       9
271 #define STILL_ACTIVE                                               0x103
272 #define FIND_FIRST_EX_CASE_SENSITIVE                                   1
273 #define SCS_32BIT_BINARY                                               0
274 #define SCS_64BIT_BINARY                                               6
275 #define SCS_DOS_BINARY                                                 1
276 #define SCS_OS216_BINARY                                               5
277 #define SCS_PIF_BINARY                                                 3
278 #define SCS_POSIX_BINARY                                               4
279 #define SCS_WOW_BINARY                                                 2
280 #define MAX_COMPUTERNAME_LENGTH                                       15
281 #define HW_PROFILE_GUIDLEN                                            39
282 #define MAX_PROFILE_LEN                                               80
283 #define DOCKINFO_UNDOCKED                                              1
284 #define DOCKINFO_DOCKED                                                2
285 #define DOCKINFO_USER_SUPPLIED                                         4
286 #define DOCKINFO_USER_UNDOCKED        (DOCKINFO_USER_SUPPLIED|DOCKINFO_UNDOCKED)
287 #define DOCKINFO_USER_DOCKED           (DOCKINFO_USER_SUPPLIED|DOCKINFO_DOCKED)
288 #define DRIVE_REMOVABLE                                                2
289 #define DRIVE_FIXED                                                    3
290 #define DRIVE_REMOTE                                                   4
291 #define DRIVE_CDROM                                                    5
292 #define DRIVE_RAMDISK                                                  6
293 #define DRIVE_UNKNOWN                                                  0
294 #define DRIVE_NO_ROOT_DIR                                              1
295 #define FILE_TYPE_UNKNOWN                                              0
296 #define FILE_TYPE_DISK                                                 1
297 #define FILE_TYPE_CHAR                                                 2
298 #define FILE_TYPE_PIPE                                                 3
299 #define FILE_TYPE_REMOTE                                          0x8000
300 #define FILE_ENCRYPTABLE                                               0
301 #define FILE_IS_ENCRYPTED                                              1
302 #define FILE_READ_ONLY                                                 8
303 #define FILE_ROOT_DIR                                                  3
304 #define FILE_SYSTEM_ATTR                                               2
305 #define FILE_SYSTEM_DIR                                                4
306 #define FILE_SYSTEM_NOT_SUPPORT                                        6
307 #define FILE_UNKNOWN                                                   5
308 #define FILE_USER_DISALLOWED                                           7
309 /* also in ddk/ntapi.h */
310 #define HANDLE_FLAG_INHERIT                                         0x01
311 #define HANDLE_FLAG_PROTECT_FROM_CLOSE                              0x02
312 /* end ntapi.h */
313 #define STD_INPUT_HANDLE                              (DWORD)(0xfffffff6)
314 #define STD_OUTPUT_HANDLE                             (DWORD)(0xfffffff5)
315 #define STD_ERROR_HANDLE                              (DWORD)(0xfffffff4)
316 #define INVALID_HANDLE_VALUE                                 (HANDLE)(-1)
317 #define GET_TAPE_MEDIA_INFORMATION                                     0
318 #define GET_TAPE_DRIVE_INFORMATION                                     1
319 #define SET_TAPE_MEDIA_INFORMATION                                     0
320 #define SET_TAPE_DRIVE_INFORMATION                                     1
321
322 #if (_WIN32_WINNT >= 0x0600)
323 #define THREAD_MODE_BACKGROUND_BEGIN                          0x00010000
324 #define THREAD_MODE_BACKGROUND_END                            0x00020000
325 #endif
326
327 #define THREAD_PRIORITY_ABOVE_NORMAL                                   1
328 #define THREAD_PRIORITY_BELOW_NORMAL                                 (-1)
329 #define THREAD_PRIORITY_HIGHEST                                        2
330 #define THREAD_PRIORITY_IDLE                                        (-15)
331 #define THREAD_PRIORITY_LOWEST                                       (-2)
332 #define THREAD_PRIORITY_NORMAL                                         0
333 #define THREAD_PRIORITY_TIME_CRITICAL                                 15
334 #define THREAD_PRIORITY_ERROR_RETURN                          2147483647
335 #define TIME_ZONE_ID_UNKNOWN                                           0
336 #define TIME_ZONE_ID_STANDARD                                          1
337 #define TIME_ZONE_ID_DAYLIGHT                                          2
338 #define TIME_ZONE_ID_INVALID                                  0xFFFFFFFF
339 #define FS_CASE_IS_PRESERVED                                           2
340 #define FS_CASE_SENSITIVE                                              1
341 #define FS_UNICODE_STORED_ON_DISK                                      4
342 #define FS_PERSISTENT_ACLS                                             8
343 #define FS_FILE_COMPRESSION                                           16
344 #define FS_VOL_IS_COMPRESSED                                       32768
345 #define GMEM_FIXED                                                     0
346 #define GMEM_MOVEABLE                                                  2
347 #define GMEM_MODIFY                                                  128
348 #define GPTR                                                          64
349 #define GHND                                                          66
350 #define GMEM_DDESHARE                                               8192
351 #define GMEM_DISCARDABLE                                             256
352 #define GMEM_LOWER                                                  4096
353 #define GMEM_NOCOMPACT                                                16
354 #define GMEM_NODISCARD                                                32
355 #define GMEM_NOT_BANKED                                             4096
356 #define GMEM_NOTIFY                                                16384
357 #define GMEM_SHARE                                                  8192
358 #define GMEM_ZEROINIT                                                 64
359 #define GMEM_DISCARDED                                             16384
360 #define GMEM_INVALID_HANDLE                                        32768
361 #define GMEM_LOCKCOUNT                                               255
362 #define GMEM_VALID_FLAGS                                           32626
363 #define STATUS_WAIT_0                                                  0
364 #define STATUS_ABANDONED_WAIT_0                                     0x80
365 #define STATUS_USER_APC                                             0xC0
366 #define STATUS_TIMEOUT                                             0x102
367 #define STATUS_PENDING                                             0x103
368 #define STATUS_SEGMENT_NOTIFICATION                           0x40000005
369 #define STATUS_GUARD_PAGE_VIOLATION                           0x80000001
370 #define STATUS_DATATYPE_MISALIGNMENT                          0x80000002
371 #define STATUS_BREAKPOINT                                     0x80000003
372 #define STATUS_SINGLE_STEP                                    0x80000004
373 #define STATUS_ACCESS_VIOLATION                               0xC0000005
374 #define STATUS_IN_PAGE_ERROR                                  0xC0000006
375 #define STATUS_INVALID_HANDLE                                 0xC0000008L
376 #define STATUS_NO_MEMORY                                      0xC0000017
377 #define STATUS_ILLEGAL_INSTRUCTION                            0xC000001D
378 #define STATUS_NONCONTINUABLE_EXCEPTION                       0xC0000025
379 #define STATUS_INVALID_DISPOSITION                            0xC0000026
380 #define STATUS_ARRAY_BOUNDS_EXCEEDED                          0xC000008C
381 #define STATUS_FLOAT_DENORMAL_OPERAND                         0xC000008D
382 #define STATUS_FLOAT_DIVIDE_BY_ZERO                           0xC000008E
383 #define STATUS_FLOAT_INEXACT_RESULT                           0xC000008F
384 #define STATUS_FLOAT_INVALID_OPERATION                        0xC0000090
385 #define STATUS_FLOAT_OVERFLOW                                 0xC0000091
386 #define STATUS_FLOAT_STACK_CHECK                              0xC0000092
387 #define STATUS_FLOAT_UNDERFLOW                                0xC0000093
388 #define STATUS_INTEGER_DIVIDE_BY_ZERO                         0xC0000094
389 #define STATUS_INTEGER_OVERFLOW                               0xC0000095
390 #define STATUS_PRIVILEGED_INSTRUCTION                         0xC0000096
391 #define STATUS_STACK_OVERFLOW                                 0xC00000FD
392 #define STATUS_CONTROL_C_EXIT                                 0xC000013A
393 #define STATUS_DLL_INIT_FAILED                                0xC0000142
394 #define STATUS_DLL_INIT_FAILED_LOGOFF                         0xC000026B
395 #define EXCEPTION_ACCESS_VIOLATION                     STATUS_ACCESS_VIOLATION
396 #define EXCEPTION_DATATYPE_MISALIGNMENT              STATUS_DATATYPE_MISALIGNMENT
397 #define EXCEPTION_BREAKPOINT                              STATUS_BREAKPOINT
398 #define EXCEPTION_SINGLE_STEP                             STATUS_SINGLE_STEP
399 #define EXCEPTION_ARRAY_BOUNDS_EXCEEDED              STATUS_ARRAY_BOUNDS_EXCEEDED
400 #define EXCEPTION_FLT_DENORMAL_OPERAND              STATUS_FLOAT_DENORMAL_OPERAND
401 #define EXCEPTION_FLT_DIVIDE_BY_ZERO                 STATUS_FLOAT_DIVIDE_BY_ZERO
402 #define EXCEPTION_FLT_INEXACT_RESULT                 STATUS_FLOAT_INEXACT_RESULT
403 #define EXCEPTION_FLT_INVALID_OPERATION             STATUS_FLOAT_INVALID_OPERATION
404 #define EXCEPTION_FLT_OVERFLOW                          STATUS_FLOAT_OVERFLOW
405 #define EXCEPTION_FLT_STACK_CHECK                      STATUS_FLOAT_STACK_CHECK
406 #define EXCEPTION_FLT_UNDERFLOW                         STATUS_FLOAT_UNDERFLOW
407 #define EXCEPTION_INT_DIVIDE_BY_ZERO                 STATUS_INTEGER_DIVIDE_BY_ZERO
408 #define EXCEPTION_INT_OVERFLOW                          STATUS_INTEGER_OVERFLOW
409 #define EXCEPTION_PRIV_INSTRUCTION                   STATUS_PRIVILEGED_INSTRUCTION
410 #define EXCEPTION_IN_PAGE_ERROR                          STATUS_IN_PAGE_ERROR
411 #define EXCEPTION_ILLEGAL_INSTRUCTION                 STATUS_ILLEGAL_INSTRUCTION
412 #define EXCEPTION_NONCONTINUABLE_EXCEPTION          STATUS_NONCONTINUABLE_EXCEPTION
413 #define EXCEPTION_STACK_OVERFLOW                         STATUS_STACK_OVERFLOW
414 #define EXCEPTION_INVALID_DISPOSITION                 STATUS_INVALID_DISPOSITION
415 #define EXCEPTION_GUARD_PAGE                          STATUS_GUARD_PAGE_VIOLATION
416 #define EXCEPTION_INVALID_HANDLE                        STATUS_INVALID_HANDLE
417 #define CONTROL_C_EXIT                                  STATUS_CONTROL_C_EXIT
418 #define PROCESS_HEAP_REGION                                            1
419 #define PROCESS_HEAP_UNCOMMITTED_RANGE                                 2
420 #define PROCESS_HEAP_ENTRY_BUSY                                        4
421 #define PROCESS_HEAP_ENTRY_MOVEABLE                                   16
422 #define PROCESS_HEAP_ENTRY_DDESHARE                                   32
423 #define DONT_RESOLVE_DLL_REFERENCES                                    1
424 #define LOAD_LIBRARY_AS_DATAFILE                                       2
425 #define LOAD_WITH_ALTERED_SEARCH_PATH                                  8
426 #define LMEM_FIXED                                                     0
427 #define LMEM_MOVEABLE                                                  2
428 #define LMEM_NONZEROLHND                                               2
429 #define LMEM_NONZEROLPTR                                               0
430 #define LMEM_DISCARDABLE                                            3840
431 #define LMEM_NOCOMPACT                                                16
432 #define LMEM_NODISCARD                                                32
433 #define LMEM_ZEROINIT                                                 64
434 #define LMEM_DISCARDED                                             16384
435 #define LMEM_MODIFY                                                  128
436 #define LMEM_INVALID_HANDLE                                        32768
437 #define LMEM_LOCKCOUNT                                               255
438 #define LPTR                                                          64
439 #define LHND                                                          66
440 #define NONZEROLHND                                                    2
441 #define NONZEROLPTR                                                    0
442 #define LOCKFILE_FAIL_IMMEDIATELY                                      1
443 #define LOCKFILE_EXCLUSIVE_LOCK                                        2
444 #define LOGON32_PROVIDER_DEFAULT                                       0
445 #define LOGON32_PROVIDER_WINNT35                                       1
446
447 #if (_WIN32_WINNT >= 0x0400)
448 #define LOGON32_PROVIDER_WINNT40                                       2
449 #endif
450
451 #if (_WIN32_WINNT >= 0x0500)
452 #define LOGON32_PROVIDER_WINNT50                                       3
453 #endif
454
455 #define LOGON32_LOGON_INTERACTIVE                                      2
456 #define LOGON32_LOGON_NETWORK                                          3
457 #define LOGON32_LOGON_BATCH                                            4
458 #define LOGON32_LOGON_SERVICE                                          5
459 #define LOGON32_LOGON_UNLOCK                                           7
460
461 #if (_WIN32_WINNT >= 0x0500)
462 #define LOGON32_LOGON_NETWORK_CLEARTEXT                                8
463 #define LOGON32_LOGON_NEW_CREDENTIALS                                  9
464 #endif
465
466 #define MOVEFILE_REPLACE_EXISTING                                      1
467 #define MOVEFILE_COPY_ALLOWED                                          2
468 #define MOVEFILE_DELAY_UNTIL_REBOOT                                    4
469 #define MOVEFILE_WRITE_THROUGH                                         8
470 #define MAXIMUM_WAIT_OBJECTS                                          64
471 #define MAXIMUM_SUSPEND_COUNT                                       0x7F
472 #define WAIT_OBJECT_0                                                  0
473 #define WAIT_ABANDONED_0                                             128
474
475 #ifndef WAIT_TIMEOUT
476 /* FIXME: This guard MUST be removed!  Even if WAIT_TIMEOUT is also defined
477  * in <winerror.h>, the definitions MUST be IDENTICALLY the same; guards such
478  * as this deny the compiler any opportunity to check this, and thus invite
479  * inconsistency, broken definitions, and hard-to-locate bugs.
480  */
481 #define WAIT_TIMEOUT                                                 258
482 #else
483 /* FIXME: Redundant definition, to force compile time check; may be removed,
484  * when resolving the <winerror.h> duplication issue.
485  */
486 #define WAIT_TIMEOUT                                                 258
487 #endif
488
489 #define WAIT_IO_COMPLETION                                          0xC0
490 #define WAIT_ABANDONED                                               128
491 #define WAIT_FAILED                                  ((DWORD)(0xFFFFFFFF))
492 #define PURGE_TXABORT                                                  1
493 #define PURGE_RXABORT                                                  2
494 #define PURGE_TXCLEAR                                                  4
495 #define PURGE_RXCLEAR                                                  8
496 #define EVENTLOG_SUCCESS                                               0
497 #define EVENTLOG_FORWARDS_READ                                         4
498 #define EVENTLOG_BACKWARDS_READ                                        8
499 #define EVENTLOG_SEEK_READ                                             2
500 #define EVENTLOG_SEQUENTIAL_READ                                       1
501 #define EVENTLOG_ERROR_TYPE                                            1
502 #define EVENTLOG_WARNING_TYPE                                          2
503 #define EVENTLOG_INFORMATION_TYPE                                      4
504 #define EVENTLOG_AUDIT_SUCCESS                                         8
505 #define EVENTLOG_AUDIT_FAILURE                                        16
506 #define FORMAT_MESSAGE_ALLOCATE_BUFFER                               256
507 #define FORMAT_MESSAGE_IGNORE_INSERTS                                512
508 #define FORMAT_MESSAGE_FROM_STRING                                  1024
509 #define FORMAT_MESSAGE_FROM_HMODULE                                 2048
510 #define FORMAT_MESSAGE_FROM_SYSTEM                                  4096
511 #define FORMAT_MESSAGE_ARGUMENT_ARRAY                               8192
512 #define FORMAT_MESSAGE_MAX_WIDTH_MASK                                255
513 #define EV_BREAK                                                      64
514 #define EV_CTS                                                         8
515 #define EV_DSR                                                        16
516 #define EV_ERR                                                       128
517 #define EV_EVENT1                                                   2048
518 #define EV_EVENT2                                                   4096
519 #define EV_PERR                                                      512
520 #define EV_RING                                                      256
521 #define EV_RLSD                                                       32
522 #define EV_RX80FULL                                                 1024
523 #define EV_RXCHAR                                                      1
524 #define EV_RXFLAG                                                      2
525 #define EV_TXEMPTY                                                     4
526 /* also in ddk/ntapi.h */
527 /* To restore default error mode, call SetErrorMode (0).  */
528 #define SEM_FAILCRITICALERRORS                                    0x0001
529 #define SEM_NOGPFAULTERRORBOX                                     0x0002
530 #define SEM_NOALIGNMENTFAULTEXCEPT                                0x0004
531 #define SEM_NOOPENFILEERRORBOX                                    0x8000
532 /* end ntapi.h */
533 #define SLE_ERROR                                                      1
534 #define SLE_MINORERROR                                                 2
535 #define SLE_WARNING                                                    3
536 #define SHUTDOWN_NORETRY                                               1
537 #define EXCEPTION_EXECUTE_HANDLER                                      1
538 #define EXCEPTION_CONTINUE_EXECUTION                                 (-1)
539 #define EXCEPTION_CONTINUE_SEARCH                                      0
540 #define MAXINTATOM                                                0xC000
541 #define INVALID_ATOM                                           ((ATOM)(0))
542 #define IGNORE                                                         0
543 #define INFINITE                                              0xFFFFFFFF
544 #define NOPARITY                                                       0
545 #define ODDPARITY                                                      1
546 #define EVENPARITY                                                     2
547 #define MARKPARITY                                                     3
548 #define SPACEPARITY                                                    4
549 #define ONESTOPBIT                                                     0
550 #define ONE5STOPBITS                                                   1
551 #define TWOSTOPBITS                                                    2
552 #define CBR_110                                                      110
553 #define CBR_300                                                      300
554 #define CBR_600                                                      600
555 #define CBR_1200                                                    1200
556 #define CBR_2400                                                    2400
557 #define CBR_4800                                                    4800
558 #define CBR_9600                                                    9600
559 #define CBR_14400                                                  14400
560 #define CBR_19200                                                  19200
561 #define CBR_38400                                                  38400
562 #define CBR_56000                                                  56000
563 #define CBR_57600                                                  57600
564 #define CBR_115200                                                115200
565 #define CBR_128000                                                128000
566 #define CBR_256000                                                256000
567 #define BACKUP_INVALID                                                 0
568 #define BACKUP_DATA                                                    1
569 #define BACKUP_EA_DATA                                                 2
570 #define BACKUP_SECURITY_DATA                                           3
571 #define BACKUP_ALTERNATE_DATA                                          4
572 #define BACKUP_LINK                                                    5
573 #define BACKUP_PROPERTY_DATA                                           6
574 #define BACKUP_OBJECT_ID                                               7
575 #define BACKUP_REPARSE_DATA                                            8
576 #define BACKUP_SPARSE_BLOCK                                            9
577 #define STREAM_NORMAL_ATTRIBUTE                                        0
578 #define STREAM_MODIFIED_WHEN_READ                                      1
579 #define STREAM_CONTAINS_SECURITY                                       2
580 #define STREAM_CONTAINS_PROPERTIES                                     4
581 #define STARTF_USESHOWWINDOW                                           1
582 #define STARTF_USESIZE                                                 2
583 #define STARTF_USEPOSITION                                             4
584 #define STARTF_USECOUNTCHARS                                           8
585 #define STARTF_USEFILLATTRIBUTE                                       16
586 #define STARTF_RUNFULLSCREEN                                          32
587 #define STARTF_FORCEONFEEDBACK                                        64
588 #define STARTF_FORCEOFFFEEDBACK                                      128
589 #define STARTF_USESTDHANDLES                                         256
590 #define STARTF_USEHOTKEY                                             512
591 #define TC_NORMAL                                                      0
592 #define TC_HARDERR                                                     1
593 #define TC_GP_TRAP                                                     2
594 #define TC_SIGNAL                                                      3
595 #define AC_LINE_OFFLINE                                                0
596 #define AC_LINE_ONLINE                                                 1
597 #define AC_LINE_BACKUP_POWER                                           2
598 #define AC_LINE_UNKNOWN                                              255
599 #define BATTERY_FLAG_HIGH                                              1
600 #define BATTERY_FLAG_LOW                                               2
601 #define BATTERY_FLAG_CRITICAL                                          4
602 #define BATTERY_FLAG_CHARGING                                          8
603 #define BATTERY_FLAG_NO_BATTERY                                      128
604 #define BATTERY_FLAG_UNKNOWN                                         255
605 #define BATTERY_PERCENTAGE_UNKNOWN                                   255
606 #define BATTERY_LIFE_UNKNOWN                                  0xFFFFFFFF
607 #define DDD_RAW_TARGET_PATH                                            1
608 #define DDD_REMOVE_DEFINITION                                          2
609 #define DDD_EXACT_MATCH_ON_REMOVE                                      4
610 #define HINSTANCE_ERROR                                               32
611 #define MS_CTS_ON                                                     16
612 #define MS_DSR_ON                                                     32
613 #define MS_RING_ON                                                    64
614 #define MS_RLSD_ON                                                   128
615 #define DTR_CONTROL_DISABLE                                            0
616 #define DTR_CONTROL_ENABLE                                             1
617 #define DTR_CONTROL_HANDSHAKE                                          2
618 #define RTS_CONTROL_DISABLE                                            0
619 #define RTS_CONTROL_ENABLE                                             1
620 #define RTS_CONTROL_HANDSHAKE                                          2
621 #define RTS_CONTROL_TOGGLE                                             3
622 #define SECURITY_ANONYMOUS                            (SecurityAnonymous<<16)
623 #define SECURITY_IDENTIFICATION                       (SecurityIdentification<<16)
624 #define SECURITY_IMPERSONATION                        (SecurityImpersonation<<16)
625 #define SECURITY_DELEGATION                           (SecurityDelegation<<16)
626 #define SECURITY_CONTEXT_TRACKING                                0x40000
627 #define SECURITY_EFFECTIVE_ONLY                                  0x80000
628 #define SECURITY_SQOS_PRESENT                                   0x100000
629 #define SECURITY_VALID_SQOS_FLAGS                               0x1F0000
630 #define INVALID_FILE_SIZE                                     0xFFFFFFFF
631 #define TLS_OUT_OF_INDEXES                            (DWORD)(0xFFFFFFFF)
632 #define GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS                0x00000004
633 #define GET_MODULE_HANDLE_EX_FLAG_PIN                         0x00000001
634 #define GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT          0x00000002
635
636 #if (_WIN32_WINNT >= 0x0501)
637 #define ACTCTX_FLAG_PROCESSOR_ARCHITECTURE_VALID              0x00000001
638 #define ACTCTX_FLAG_LANGID_VALID                              0x00000002
639 #define ACTCTX_FLAG_ASSEMBLY_DIRECTORY_VALID                  0x00000004
640 #define ACTCTX_FLAG_RESOURCE_NAME_VALID                       0x00000008
641 #define ACTCTX_FLAG_SET_PROCESS_DEFAULT                       0x00000010
642 #define ACTCTX_FLAG_APPLICATION_NAME_VALID                    0x00000020
643 #define ACTCTX_FLAG_HMODULE_VALID                             0x00000080
644 #define DEACTIVATE_ACTCTX_FLAG_FORCE_EARLY_DEACTIVATION       0x00000001
645 #define FIND_ACTCTX_SECTION_KEY_RETURN_HACTCTX                0x00000001
646 #define QUERY_ACTCTX_FLAG_USE_ACTIVE_ACTCTX                   0x00000004
647 #define QUERY_ACTCTX_FLAG_ACTCTX_IS_HMODULE                   0x00000008
648 #define QUERY_ACTCTX_FLAG_ACTCTX_IS_ADDRESS                   0x00000010
649 #endif /* (_WIN32_WINNT >= 0x0501) */
650
651 #if (_WIN32_WINNT >= 0x0500)
652 #define REPLACEFILE_WRITE_THROUGH                             0x00000001
653 #define REPLACEFILE_IGNORE_MERGE_ERRORS                       0x00000002
654 #endif /* (_WIN32_WINNT >= 0x0500) */
655
656 #define WRITE_WATCH_FLAG_RESET                                         1
657
658 #if (_WIN32_WINNT >= 0x0601)
659 #define PROCESS_DEP_ENABLE                                             1
660 #define PROCESS_DEP_DISABLE_ATL_THUNK_EMULATION                        2
661 #endif
662
663 #if (_WIN32_WINNT >= 0x0600)
664 /* http://msdn.microsoft.com/en-us/library/aa363866%28VS.85%29.aspx */
665 #define SYMBOLIC_LINK_FLAG_DIRECTORY                                 0x1
666 /* http://msdn.microsoft.com/en-us/library/aa364962%28VS.85%29.aspx */
667 #define FILE_NAME_NORMALIZED                                         0x0
668 #define FILE_NAME_OPENED                                             0x8
669 #define VOLUME_NAME_DOS                                              0x0
670 #define VOLUME_NAME_GUID                                             0x1
671 #define VOLUME_NAME_NONE                                             0x4
672 #define VOLUME_NAME_NT                                               0x2
673 #endif /* (_WIN32_WINNT >= 0x0600) */
674
675 #ifndef RC_INVOKED
676
677 typedef struct _FILETIME
678 { DWORD                         dwLowDateTime;
679   DWORD                         dwHighDateTime;
680 } FILETIME, *PFILETIME, *LPFILETIME;
681
682 typedef struct _BY_HANDLE_FILE_INFORMATION
683 { DWORD                         dwFileAttributes;
684   FILETIME                      ftCreationTime;
685   FILETIME                      ftLastAccessTime;
686   FILETIME                      ftLastWriteTime;
687   DWORD                         dwVolumeSerialNumber;
688   DWORD                         nFileSizeHigh;
689   DWORD                         nFileSizeLow;
690   DWORD                         nNumberOfLinks;
691   DWORD                         nFileIndexHigh;
692   DWORD                         nFileIndexLow;
693 } BY_HANDLE_FILE_INFORMATION, *LPBY_HANDLE_FILE_INFORMATION;
694
695 #if (_WIN32_WINNT >= 0x0600)
696 typedef struct _FILE_BASIC_INFO
697 /* http://msdn.microsoft.com/en-us/library/aa364217%28VS.85%29.aspx */
698 { LARGE_INTEGER                 CreationTime;
699   LARGE_INTEGER                 LastAccessTime;
700   LARGE_INTEGER                 LastWriteTime;
701   LARGE_INTEGER                 ChangeTime;
702   DWORD                         FileAttributes;
703 } FILE_BASIC_INFO, *PFILE_BASIC_INFO, *LPFILE_BASIC_INFO;
704
705 typedef struct _FILE_STANDARD_INFO
706 /* http://msdn.microsoft.com/en-us/library/aa364401%28VS.85%29.aspx */
707 { LARGE_INTEGER                 AllocationSize;
708   LARGE_INTEGER                 EndOfFile;
709   DWORD                         NumberOfLinks;
710   BOOL                          DeletePending;
711   BOOL                          Directory;
712 } FILE_STANDARD_INFO, *PFILE_STANDARD_INFO, *LPFILE_STANDARD_INFO;
713
714 typedef struct _FILE_NAME_INFO
715 /* http://msdn.microsoft.com/en-us/library/aa364388%28v=VS.85%29.aspx */
716 { DWORD                         FileNameLength;
717   WCHAR                         FileName[1];
718 } FILE_NAME_INFO, *PFILE_NAME_INFO, *LPFILE_NAME_INFO;
719
720 typedef struct _FILE_STREAM_INFO
721 /* http://msdn.microsoft.com/en-us/library/aa364406%28v=VS.85%29.aspx */
722 { DWORD                         NextEntryOffset;
723   DWORD                         StreamNameLength;
724   LARGE_INTEGER                 StreamSize;
725   LARGE_INTEGER                 StreamAllocationSize;
726   WCHAR                         StreamName[1];
727 } FILE_STREAM_INFO, *PFILE_STREAM_INFO, *LPFILE_STREAM_INFO;
728
729 typedef struct _FILE_COMPRESSION_INFO
730 /* http://msdn.microsoft.com/en-us/library/aa364220%28v=VS.85%29.aspx */
731 { LARGE_INTEGER                 CompressedFileSize;
732   WORD                          CompressionFormat;
733   UCHAR                         CompressionUnitShift;
734   UCHAR                         ChunkShift;
735   UCHAR                         ClusterShift;
736   UCHAR                         Reserved[3];
737 } FILE_COMPRESSION_INFO, *PFILE_COMPRESSION_INFO, *LPFILE_COMPRESSION_INFO;
738
739 typedef struct _FILE_ATTRIBUTE_TAG_INFO
740 /* http://msdn.microsoft.com/en-us/library/aa364216%28v=VS.85%29.aspx */
741 { DWORD                         FileAttributes;
742   DWORD                         ReparseTag;
743 } FILE_ATTRIBUTE_TAG_INFO, *PFILE_ATTRIBUTE_TAG_INFO, *LPFILE_ATTRIBUTE_TAG_INFO;
744
745 typedef struct _FILE_ID_BOTH_DIR_INFO
746 /* http://msdn.microsoft.com/en-us/library/aa364226%28v=VS.85%29.aspx */
747 { DWORD                         NextEntryOffset;
748   DWORD                         FileIndex;
749   LARGE_INTEGER                 CreationTime;
750   LARGE_INTEGER                 LastAccessTime;
751   LARGE_INTEGER                 LastWriteTime;
752   LARGE_INTEGER                 ChangeTime;
753   LARGE_INTEGER                 EndOfFile;
754   LARGE_INTEGER                 AllocationSize;
755   DWORD                         FileAttributes;
756   DWORD                         FileNameLength;
757   DWORD                         EaSize;
758   CCHAR                         ShortNameLength;
759   WCHAR                         ShortName[12];
760   LARGE_INTEGER                 FileId;
761   WCHAR                         FileName[1];
762 } FILE_ID_BOTH_DIR_INFO, *PFILE_ID_BOTH_DIR_INFO, *LPFILE_ID_BOTH_DIR_INFO;
763
764 typedef struct _FILE_REMOTE_PROTOCOL_INFO
765 /* http://msdn.microsoft.com/en-us/library/dd979524%28v=VS.85%29.aspx */
766 { USHORT                        StructureVersion;
767   USHORT                        StructureSize;
768   ULONG                         Protocol;
769   USHORT                        ProtocolMajorVersion;
770   USHORT                        ProtocolMinorVersion;
771   USHORT                        ProtocolRevision;
772   USHORT                        Reserved;
773   ULONG                         Flags;
774   struct
775   { ULONG                         Reserved[8];
776   }                             GenericReserved;
777   struct
778   { ULONG                         Reserved[16];
779   }                             ProtocolSpecificReserved;
780 } FILE_REMOTE_PROTOCOL_INFO, *PFILE_REMOTE_PROTOCOL_INFO, *LPFILE_REMOTE_PROTOCOL_INFO;
781 #endif /* (_WIN32_WINNT >= 0x0600) */
782
783 typedef struct _DCB
784 { DWORD                         DCBlength;
785   DWORD                         BaudRate;
786   DWORD                         fBinary:1;
787   DWORD                         fParity:1;
788   DWORD                         fOutxCtsFlow:1;
789   DWORD                         fOutxDsrFlow:1;
790   DWORD                         fDtrControl:2;
791   DWORD                         fDsrSensitivity:1;
792   DWORD                         fTXContinueOnXoff:1;
793   DWORD                         fOutX:1;
794   DWORD                         fInX:1;
795   DWORD                         fErrorChar:1;
796   DWORD                         fNull:1;
797   DWORD                         fRtsControl:2;
798   DWORD                         fAbortOnError:1;
799   DWORD                         fDummy2:17;
800   WORD                          wReserved;
801   WORD                          XonLim;
802   WORD                          XoffLim;
803   BYTE                          ByteSize;
804   BYTE                          Parity;
805   BYTE                          StopBits;
806   char                          XonChar;
807   char                          XoffChar;
808   char                          ErrorChar;
809   char                          EofChar;
810   char                          EvtChar;
811   WORD                          wReserved1;
812 } DCB, *LPDCB;
813
814 typedef struct _COMM_CONFIG
815 { DWORD                         dwSize;
816   WORD                          wVersion;
817   WORD                          wReserved;
818   DCB                           dcb;
819   DWORD                         dwProviderSubType;
820   DWORD                         dwProviderOffset;
821   DWORD                         dwProviderSize;
822   WCHAR                         wcProviderData[1];
823 } COMMCONFIG, *LPCOMMCONFIG;
824
825 typedef struct _COMMPROP
826 { WORD                          wPacketLength;
827   WORD                          wPacketVersion;
828   DWORD                         dwServiceMask;
829   DWORD                         dwReserved1;
830   DWORD                         dwMaxTxQueue;
831   DWORD                         dwMaxRxQueue;
832   DWORD                         dwMaxBaud;
833   DWORD                         dwProvSubType;
834   DWORD                         dwProvCapabilities;
835   DWORD                         dwSettableParams;
836   DWORD                         dwSettableBaud;
837   WORD                          wSettableData;
838   WORD                          wSettableStopParity;
839   DWORD                         dwCurrentTxQueue;
840   DWORD                         dwCurrentRxQueue;
841   DWORD                         dwProvSpec1;
842   DWORD                         dwProvSpec2;
843   WCHAR                         wcProvChar[1];
844 } COMMPROP, *LPCOMMPROP;
845
846 typedef struct _COMMTIMEOUTS
847 { DWORD                         ReadIntervalTimeout;
848   DWORD                         ReadTotalTimeoutMultiplier;
849   DWORD                         ReadTotalTimeoutConstant;
850   DWORD                         WriteTotalTimeoutMultiplier;
851   DWORD                         WriteTotalTimeoutConstant;
852 } COMMTIMEOUTS, *LPCOMMTIMEOUTS;
853
854 typedef struct _COMSTAT
855 { DWORD                         fCtsHold:1;
856   DWORD                         fDsrHold:1;
857   DWORD                         fRlsdHold:1;
858   DWORD                         fXoffHold:1;
859   DWORD                         fXoffSent:1;
860   DWORD                         fEof:1;
861   DWORD                         fTxim:1;
862   DWORD                         fReserved:25;
863   DWORD                         cbInQue;
864   DWORD                         cbOutQue;
865 } COMSTAT, *LPCOMSTAT;
866
867 typedef DWORD (WINAPI *LPTHREAD_START_ROUTINE)(LPVOID);
868
869 typedef struct _CREATE_PROCESS_DEBUG_INFO
870 { HANDLE                        hFile;
871   HANDLE                        hProcess;
872   HANDLE                        hThread;
873   LPVOID                        lpBaseOfImage;
874   DWORD                         dwDebugInfoFileOffset;
875   DWORD                         nDebugInfoSize;
876   LPVOID                        lpThreadLocalBase;
877   LPTHREAD_START_ROUTINE        lpStartAddress;
878   LPVOID                        lpImageName;
879   WORD                          fUnicode;
880 } CREATE_PROCESS_DEBUG_INFO, *LPCREATE_PROCESS_DEBUG_INFO;
881
882 typedef struct _CREATE_THREAD_DEBUG_INFO
883 { HANDLE                        hThread;
884   LPVOID                        lpThreadLocalBase;
885   LPTHREAD_START_ROUTINE        lpStartAddress;
886 } CREATE_THREAD_DEBUG_INFO, *LPCREATE_THREAD_DEBUG_INFO;
887
888 typedef struct _EXCEPTION_DEBUG_INFO
889 { EXCEPTION_RECORD              ExceptionRecord;
890   DWORD                         dwFirstChance;
891 } EXCEPTION_DEBUG_INFO, *LPEXCEPTION_DEBUG_INFO;
892
893 typedef struct _EXIT_THREAD_DEBUG_INFO
894 { DWORD                         dwExitCode;
895 } EXIT_THREAD_DEBUG_INFO, *LPEXIT_THREAD_DEBUG_INFO;
896
897 typedef struct _EXIT_PROCESS_DEBUG_INFO
898 { DWORD                         dwExitCode;
899 } EXIT_PROCESS_DEBUG_INFO, *LPEXIT_PROCESS_DEBUG_INFO;
900
901 typedef struct _LOAD_DLL_DEBUG_INFO
902 { HANDLE                        hFile;
903   LPVOID                        lpBaseOfDll;
904   DWORD                         dwDebugInfoFileOffset;
905   DWORD                         nDebugInfoSize;
906   LPVOID                        lpImageName;
907   WORD                          fUnicode;
908 } LOAD_DLL_DEBUG_INFO, *LPLOAD_DLL_DEBUG_INFO;
909
910 typedef struct _UNLOAD_DLL_DEBUG_INFO
911 { LPVOID                        lpBaseOfDll;
912 } UNLOAD_DLL_DEBUG_INFO, *LPUNLOAD_DLL_DEBUG_INFO;
913
914 typedef struct _OUTPUT_DEBUG_STRING_INFO
915 { LPSTR                         lpDebugStringData;
916   WORD                          fUnicode;
917   WORD                          nDebugStringLength;
918 } OUTPUT_DEBUG_STRING_INFO, *LPOUTPUT_DEBUG_STRING_INFO;
919
920 typedef struct _RIP_INFO
921 { DWORD                         dwError;
922   DWORD                         dwType;
923 } RIP_INFO, *LPRIP_INFO;
924
925 typedef struct _DEBUG_EVENT
926 { DWORD                         dwDebugEventCode;
927   DWORD                         dwProcessId;
928   DWORD                         dwThreadId;
929   union
930   { EXCEPTION_DEBUG_INFO          Exception;
931     CREATE_THREAD_DEBUG_INFO      CreateThread;
932     CREATE_PROCESS_DEBUG_INFO     CreateProcessInfo;
933     EXIT_THREAD_DEBUG_INFO        ExitThread;
934     EXIT_PROCESS_DEBUG_INFO       ExitProcess;
935     LOAD_DLL_DEBUG_INFO           LoadDll;
936     UNLOAD_DLL_DEBUG_INFO         UnloadDll;
937     OUTPUT_DEBUG_STRING_INFO      DebugString;
938     RIP_INFO                      RipInfo;
939   }                             u;
940 } DEBUG_EVENT, *LPDEBUG_EVENT;
941
942 typedef struct _OVERLAPPED
943 { ULONG_PTR                     Internal;
944   ULONG_PTR                     InternalHigh;
945   __GNUC_EXTENSION union
946   { __GNUC_EXTENSION struct
947     { DWORD                         Offset;
948       DWORD                         OffsetHigh;
949     };
950     PVOID                         Pointer;
951   };
952   HANDLE                        hEvent;
953 } OVERLAPPED, *POVERLAPPED, *LPOVERLAPPED;
954
955 typedef struct _STARTUPINFOA
956 { DWORD                         cb;
957   LPSTR                         lpReserved;
958   LPSTR                         lpDesktop;
959   LPSTR                         lpTitle;
960   DWORD                         dwX;
961   DWORD                         dwY;
962   DWORD                         dwXSize;
963   DWORD                         dwYSize;
964   DWORD                         dwXCountChars;
965   DWORD                         dwYCountChars;
966   DWORD                         dwFillAttribute;
967   DWORD                         dwFlags;
968   WORD                          wShowWindow;
969   WORD                          cbReserved2;
970   PBYTE                         lpReserved2;
971   HANDLE                        hStdInput;
972   HANDLE                        hStdOutput;
973   HANDLE                        hStdError;
974 } STARTUPINFOA, *LPSTARTUPINFOA;
975
976 typedef struct _STARTUPINFOW
977 { DWORD                         cb;
978   LPWSTR                        lpReserved;
979   LPWSTR                        lpDesktop;
980   LPWSTR                        lpTitle;
981   DWORD                         dwX;
982   DWORD                         dwY;
983   DWORD                         dwXSize;
984   DWORD                         dwYSize;
985   DWORD                         dwXCountChars;
986   DWORD                         dwYCountChars;
987   DWORD                         dwFillAttribute;
988   DWORD                         dwFlags;
989   WORD                          wShowWindow;
990   WORD                          cbReserved2;
991   PBYTE                         lpReserved2;
992   HANDLE                        hStdInput;
993   HANDLE                        hStdOutput;
994   HANDLE                        hStdError;
995 } STARTUPINFOW, *LPSTARTUPINFOW;
996
997 typedef __AW_ALIAS__(STARTUPINFO), *LPSTARTUPINFO;
998
999 typedef struct _PROCESS_INFORMATION
1000 { HANDLE                        hProcess;
1001   HANDLE                        hThread;
1002   DWORD                         dwProcessId;
1003   DWORD                         dwThreadId;
1004 } PROCESS_INFORMATION, *PPROCESS_INFORMATION, *LPPROCESS_INFORMATION;
1005
1006 typedef struct _CRITICAL_SECTION_DEBUG
1007 { WORD                          Type;
1008   WORD                          CreatorBackTraceIndex;
1009   struct _CRITICAL_SECTION *CriticalSection;
1010   LIST_ENTRY                    ProcessLocksList;
1011   DWORD                         EntryCount;
1012   DWORD                         ContentionCount;
1013   DWORD                         Spare[2];
1014 } CRITICAL_SECTION_DEBUG, *PCRITICAL_SECTION_DEBUG;
1015
1016 typedef struct _CRITICAL_SECTION
1017 { PCRITICAL_SECTION_DEBUG       DebugInfo;
1018   LONG                          LockCount;
1019   LONG                          RecursionCount;
1020   HANDLE                        OwningThread;
1021   HANDLE                        LockSemaphore;
1022   DWORD                         SpinCount;
1023 } CRITICAL_SECTION, *PCRITICAL_SECTION, *LPCRITICAL_SECTION;
1024
1025 typedef struct _SYSTEMTIME
1026 { WORD                          wYear;
1027   WORD                          wMonth;
1028   WORD                          wDayOfWeek;
1029   WORD                          wDay;
1030   WORD                          wHour;
1031   WORD                          wMinute;
1032   WORD                          wSecond;
1033   WORD                          wMilliseconds;
1034 } SYSTEMTIME, *LPSYSTEMTIME;
1035
1036 typedef struct _WIN32_FILE_ATTRIBUTE_DATA
1037 { DWORD                         dwFileAttributes;
1038   FILETIME                      ftCreationTime;
1039   FILETIME                      ftLastAccessTime;
1040   FILETIME                      ftLastWriteTime;
1041   DWORD                         nFileSizeHigh;
1042   DWORD                         nFileSizeLow;
1043 } WIN32_FILE_ATTRIBUTE_DATA, *LPWIN32_FILE_ATTRIBUTE_DATA;
1044
1045 typedef struct _WIN32_FIND_DATAA
1046 { DWORD                         dwFileAttributes;
1047   FILETIME                      ftCreationTime;
1048   FILETIME                      ftLastAccessTime;
1049   FILETIME                      ftLastWriteTime;
1050   DWORD                         nFileSizeHigh;
1051   DWORD                         nFileSizeLow;
1052 # ifdef _WIN32_WCE
1053   DWORD                         dwOID;
1054 # else
1055   DWORD                         dwReserved0;
1056   DWORD                         dwReserved1;
1057 # endif
1058   CHAR                          cFileName[MAX_PATH];
1059 # ifndef _WIN32_WCE
1060   CHAR                          cAlternateFileName[14];
1061 # endif
1062 } WIN32_FIND_DATAA, *PWIN32_FIND_DATAA, *LPWIN32_FIND_DATAA;
1063
1064 typedef struct _WIN32_FIND_DATAW
1065 { DWORD                         dwFileAttributes;
1066   FILETIME                      ftCreationTime;
1067   FILETIME                      ftLastAccessTime;
1068   FILETIME                      ftLastWriteTime;
1069   DWORD                         nFileSizeHigh;
1070   DWORD                         nFileSizeLow;
1071 # ifdef _WIN32_WCE
1072   DWORD                         dwOID;
1073 # else
1074   DWORD                         dwReserved0;
1075   DWORD                         dwReserved1;
1076 # endif
1077   WCHAR                         cFileName[MAX_PATH];
1078 # ifndef _WIN32_WCE
1079   WCHAR                         cAlternateFileName[14];
1080 # endif
1081 } WIN32_FIND_DATAW, *PWIN32_FIND_DATAW, *LPWIN32_FIND_DATAW;
1082
1083 typedef __AW_ALIAS__(WIN32_FIND_DATA), *PWIN32_FIND_DATA, *LPWIN32_FIND_DATA;
1084
1085 typedef struct _WIN32_STREAM_ID
1086 { DWORD                         dwStreamId;
1087   DWORD                         dwStreamAttributes;
1088   LARGE_INTEGER                 Size;
1089   DWORD                         dwStreamNameSize;
1090   WCHAR                         cStreamName[ANYSIZE_ARRAY];
1091 } WIN32_STREAM_ID, *LPWIN32_STREAM_ID;
1092
1093 typedef enum _FINDEX_INFO_LEVELS
1094 { FindExInfoStandard,
1095   FindExInfoMaxInfoLevel
1096 } FINDEX_INFO_LEVELS;
1097
1098 typedef enum _FINDEX_SEARCH_OPS
1099 { FindExSearchNameMatch,
1100   FindExSearchLimitToDirectories,
1101   FindExSearchLimitToDevices,
1102   FindExSearchMaxSearchOp
1103 } FINDEX_SEARCH_OPS;
1104
1105 typedef enum _ACL_INFORMATION_CLASS
1106 { AclRevisionInformation=1,
1107   AclSizeInformation
1108 } ACL_INFORMATION_CLASS;
1109
1110 typedef struct tagHW_PROFILE_INFOA
1111 { DWORD                         dwDockInfo;
1112   CHAR                          szHwProfileGuid[HW_PROFILE_GUIDLEN];
1113   CHAR                          szHwProfileName[MAX_PROFILE_LEN];
1114 } HW_PROFILE_INFOA, *LPHW_PROFILE_INFOA;
1115
1116 typedef struct tagHW_PROFILE_INFOW
1117 { DWORD                         dwDockInfo;
1118   WCHAR                         szHwProfileGuid[HW_PROFILE_GUIDLEN];
1119   WCHAR                         szHwProfileName[MAX_PROFILE_LEN];
1120 } HW_PROFILE_INFOW, *LPHW_PROFILE_INFOW;
1121
1122 typedef __AW_ALIAS__(HW_PROFILE_INFO), *LPHW_PROFILE_INFO;
1123
1124 typedef enum _GET_FILEEX_INFO_LEVELS
1125 { GetFileExInfoStandard,
1126   GetFileExMaxInfoLevel
1127 } GET_FILEEX_INFO_LEVELS;
1128
1129 typedef struct _SYSTEM_INFO
1130 { _ANONYMOUS_UNION union
1131   { DWORD                         dwOemId;
1132     _ANONYMOUS_STRUCT struct
1133     { WORD                          wProcessorArchitecture;
1134       WORD                          wReserved;
1135     }                             DUMMYSTRUCTNAME;
1136   }                             DUMMYUNIONNAME;
1137   DWORD                         dwPageSize;
1138   PVOID                         lpMinimumApplicationAddress;
1139   PVOID                         lpMaximumApplicationAddress;
1140   DWORD                         dwActiveProcessorMask;
1141   DWORD                         dwNumberOfProcessors;
1142   DWORD                         dwProcessorType;
1143   DWORD                         dwAllocationGranularity;
1144   WORD                          wProcessorLevel;
1145   WORD                          wProcessorRevision;
1146 } SYSTEM_INFO, *LPSYSTEM_INFO;
1147
1148 typedef struct _SYSTEM_POWER_STATUS
1149 { BYTE                          ACLineStatus;
1150   BYTE                          BatteryFlag;
1151   BYTE                          BatteryLifePercent;
1152   BYTE                          Reserved1;
1153   DWORD                         BatteryLifeTime;
1154   DWORD                         BatteryFullLifeTime;
1155 } SYSTEM_POWER_STATUS, *LPSYSTEM_POWER_STATUS;
1156
1157 typedef struct _TIME_ZONE_INFORMATION
1158 { LONG                          Bias;
1159   WCHAR                         StandardName[32];
1160   SYSTEMTIME                    StandardDate;
1161   LONG                          StandardBias;
1162   WCHAR                         DaylightName[32];
1163   SYSTEMTIME                    DaylightDate;
1164   LONG                          DaylightBias;
1165 } TIME_ZONE_INFORMATION, *LPTIME_ZONE_INFORMATION;
1166
1167 typedef struct _MEMORYSTATUS
1168 { DWORD                         dwLength;
1169   DWORD                         dwMemoryLoad;
1170   DWORD                         dwTotalPhys;
1171   DWORD                         dwAvailPhys;
1172   DWORD                         dwTotalPageFile;
1173   DWORD                         dwAvailPageFile;
1174   DWORD                         dwTotalVirtual;
1175   DWORD                         dwAvailVirtual;
1176 } MEMORYSTATUS, *LPMEMORYSTATUS;
1177
1178 #if (_WIN32_WINNT >= 0x0500)
1179 typedef struct _MEMORYSTATUSEX
1180 { DWORD                         dwLength;
1181   DWORD                         dwMemoryLoad;
1182   DWORDLONG                     ullTotalPhys;
1183   DWORDLONG                     ullAvailPhys;
1184   DWORDLONG                     ullTotalPageFile;
1185   DWORDLONG                     ullAvailPageFile;
1186   DWORDLONG                     ullTotalVirtual;
1187   DWORDLONG                     ullAvailVirtual;
1188   DWORDLONG                     ullAvailExtendedVirtual;
1189 } MEMORYSTATUSEX, *LPMEMORYSTATUSEX;
1190 #endif
1191
1192 typedef struct _LDT_ENTRY
1193 { WORD                          LimitLow;
1194   WORD                          BaseLow;
1195   union
1196   { struct
1197     { BYTE                          BaseMid;
1198       BYTE                          Flags1;
1199       BYTE                          Flags2;
1200       BYTE                          BaseHi;
1201     }                             Bytes;
1202     struct
1203     { DWORD                         BaseMid:8;
1204       DWORD                         Type:5;
1205       DWORD                         Dpl:2;
1206       DWORD                         Pres:1;
1207       DWORD                         LimitHi:4;
1208       DWORD                         Sys:1;
1209       DWORD                         Reserved_0:1;
1210       DWORD                         Default_Big:1;
1211       DWORD                         Granularity:1;
1212       DWORD                         BaseHi:8;
1213     }                             Bits;
1214   }                             HighWord;
1215 } LDT_ENTRY, *PLDT_ENTRY, *LPLDT_ENTRY;
1216
1217 typedef struct _PROCESS_HEAP_ENTRY
1218 { PVOID                         lpData;
1219   DWORD                         cbData;
1220   BYTE cbOverhead;
1221   BYTE iRegionIndex;
1222   WORD wFlags;
1223   _ANONYMOUS_UNION union
1224   { struct
1225     { HANDLE hMem;
1226       DWORD dwReserved[3];
1227     } Block;
1228     struct
1229     { DWORD dwCommittedSize;
1230       DWORD dwUnCommittedSize;
1231       LPVOID lpFirstBlock;
1232       LPVOID lpLastBlock;
1233     } Region;
1234   } DUMMYUNIONNAME;
1235 } PROCESS_HEAP_ENTRY, *LPPROCESS_HEAP_ENTRY;
1236
1237 typedef struct _OFSTRUCT
1238 { BYTE cBytes;
1239   BYTE fFixedDisk;
1240   WORD nErrCode;
1241   WORD Reserved1;
1242   WORD Reserved2;
1243   CHAR szPathName[OFS_MAXPATHNAME];
1244 } OFSTRUCT, *LPOFSTRUCT, *POFSTRUCT;
1245
1246 typedef struct _WIN_CERTIFICATE
1247 { DWORD                         dwLength;
1248   WORD wRevision;
1249   WORD wCertificateType;
1250   BYTE bCertificate[1];
1251 } WIN_CERTIFICATE, *LPWIN_CERTIFICATE;
1252
1253 #if (_WIN32_WINNT >= 0x0501)
1254
1255 typedef struct tagACTCTXA
1256 { ULONG                         cbSize;
1257   DWORD                         dwFlags;
1258   LPCSTR lpSource;
1259   USHORT wProcessorArchitecture;
1260   LANGID wLangId;
1261   LPCSTR lpAssemblyDirectory;
1262   LPCSTR lpResourceName;
1263   LPCSTR lpApplicationName;
1264   HMODULE hModule;
1265 } ACTCTXA, *PACTCTXA;
1266
1267 typedef struct tagACTCTXW
1268 { ULONG                         cbSize;
1269   DWORD                         dwFlags;
1270   LPCWSTR lpSource;
1271   USHORT wProcessorArchitecture;
1272   LANGID wLangId;
1273   LPCWSTR lpAssemblyDirectory;
1274   LPCWSTR lpResourceName;
1275   LPCWSTR lpApplicationName;
1276   HMODULE hModule;
1277 } ACTCTXW, *PACTCTXW;
1278
1279 typedef const ACTCTXA *PCACTCTXA;
1280 typedef const ACTCTXW *PCACTCTXW;
1281
1282 typedef __AW_ALIAS__(ACTCTX), *PACTCTX;
1283 typedef __AW_ALIAS__(PCACTCTX);
1284
1285 typedef struct tagACTCTX_SECTION_KEYED_DATA
1286 { ULONG                         cbSize;
1287   ULONG                         ulDataFormatVersion;
1288   PVOID                         lpData;
1289   ULONG                         ulLength;
1290   PVOID                         lpSectionGlobalData;
1291   ULONG                         ulSectionGlobalDataLength;
1292   PVOID                         lpSectionBase;
1293   ULONG                         ulSectionTotalLength;
1294   HANDLE hActCtx;
1295   HANDLE ulAssemblyRosterIndex;
1296 } ACTCTX_SECTION_KEYED_DATA, *PACTCTX_SECTION_KEYED_DATA;
1297
1298 typedef const ACTCTX_SECTION_KEYED_DATA *PCACTCTX_SECTION_KEYED_DATA;
1299
1300 typedef enum
1301 { LowMemoryResourceNotification,
1302   HighMemoryResourceNotification
1303 } MEMORY_RESOURCE_NOTIFICATION_TYPE;
1304 #endif
1305
1306 #if (_WIN32_WINNT >= 0x0500)
1307 typedef enum _COMPUTER_NAME_FORMAT
1308 { ComputerNameNetBIOS,
1309   ComputerNameDnsHostname,
1310   ComputerNameDnsDomain,
1311   ComputerNameDnsFullyQualified,
1312   ComputerNamePhysicalNetBIOS,
1313   ComputerNamePhysicalDnsHostname,
1314   ComputerNamePhysicalDnsDomain,
1315   ComputerNamePhysicalDnsFullyQualified,
1316   ComputerNameMax
1317 } COMPUTER_NAME_FORMAT;
1318 #endif
1319
1320 #if (_WIN32_WINNT >= 0x0500 || _WIN32_WINDOWS >= 0x0410)
1321 typedef DWORD EXECUTION_STATE;
1322 #endif
1323
1324 #if (_WIN32_WINNT >= 0x0600)
1325 typedef enum _DEP_SYSTEM_POLICY_TYPE
1326 { AlwaysOn,
1327   AlwaysOff,
1328   OptIn,
1329   OptOut
1330 } DEP_SYSTEM_POLICY_TYPE;
1331
1332 typedef enum _FILE_INFO_BY_HANDLE_CLASS
1333 /* http://msdn.microsoft.com/en-us/library/aa364228%28v=VS.85%29.aspx */
1334 { FileBasicInfo,
1335   FileStandardInfo,
1336   FileNameInfo,
1337   FileRenameInfo,
1338   FileDispositionInfo,
1339   FileAllocationInfo,
1340   FileEndOfFileInfo,
1341   FileStreamInfo,
1342   FileCompressionInfo,
1343   FileAttributeTagInfo,
1344   FileIdBothDirectoryInfo,
1345   FileIdBothDirectoryRestartInfo,
1346   FileIoPriorityHintInfo,
1347   FileRemoteProtocolInfo,
1348   MaximumFileInfoByHandlesClass
1349 } FILE_INFO_BY_HANDLE_CLASS, *PFILE_INFO_BY_HANDLE_CLASS;
1350 #endif
1351
1352 typedef DWORD (WINAPI *LPPROGRESS_ROUTINE)
1353 ( LARGE_INTEGER, LARGE_INTEGER, LARGE_INTEGER, LARGE_INTEGER,
1354   DWORD, DWORD, HANDLE, HANDLE, LPVOID
1355 );
1356 typedef void (WINAPI *LPFIBER_START_ROUTINE)(PVOID);
1357
1358 #define ENUMRESLANGPROC __AW_SUFFIXED__(ENUMRESLANGPROC)
1359 typedef BOOL (CALLBACK *ENUMRESLANGPROCA)(HMODULE, LPCSTR, LPCSTR, WORD, LONG);
1360 typedef BOOL (CALLBACK *ENUMRESLANGPROCW)
1361 (HMODULE, LPCWSTR, LPCWSTR, WORD, LONG);
1362
1363 #define ENUMRESNAMEPROC __AW_SUFFIXED__(ENUMRESNAMEPROC)
1364 typedef BOOL (CALLBACK *ENUMRESNAMEPROCA)(HMODULE, LPCSTR, LPSTR, LONG);
1365 typedef BOOL (CALLBACK *ENUMRESNAMEPROCW)(HMODULE, LPCWSTR, LPWSTR, LONG);
1366
1367 #define ENUMRESTYPEPROC __AW_SUFFIXED__(ENUMRESTYPEPROC)
1368 typedef BOOL (CALLBACK *ENUMRESTYPEPROCA)(HMODULE, LPSTR, LONG);
1369 typedef BOOL (CALLBACK *ENUMRESTYPEPROCW)(HMODULE, LPWSTR, LONG);
1370
1371 typedef void (CALLBACK *LPOVERLAPPED_COMPLETION_ROUTINE)
1372 (DWORD, DWORD, LPOVERLAPPED);
1373 typedef LONG (CALLBACK *PTOP_LEVEL_EXCEPTION_FILTER)(LPEXCEPTION_POINTERS);
1374 typedef PTOP_LEVEL_EXCEPTION_FILTER LPTOP_LEVEL_EXCEPTION_FILTER;
1375 typedef void (APIENTRY *PAPCFUNC)(ULONG_PTR);
1376 typedef void (CALLBACK *PTIMERAPCROUTINE)(PVOID, DWORD, DWORD);
1377
1378 #if (_WIN32_WINNT >= 0x0500)
1379 typedef void (CALLBACK *WAITORTIMERCALLBACK)(PVOID, BOOLEAN);
1380 #endif
1381
1382 #define MAKEINTATOM(i)  (LPTSTR)((DWORD)((WORD)(i)))
1383
1384 /* Functions */
1385 #ifndef UNDER_CE
1386 int APIENTRY WinMain (HINSTANCE, HINSTANCE, LPSTR, int);
1387 #else
1388 int APIENTRY WinMain (HINSTANCE, HINSTANCE, LPWSTR, int);
1389 #endif
1390
1391 int APIENTRY wWinMain (HINSTANCE, HINSTANCE, LPWSTR, int);
1392
1393 WINBASEAPI long WINAPI _hread (HFILE, LPVOID, long);
1394 WINBASEAPI long WINAPI _hwrite (HFILE, LPCSTR, long);
1395 WINBASEAPI HFILE WINAPI _lclose (HFILE);
1396 WINBASEAPI HFILE WINAPI _lcreat (LPCSTR, int);
1397 WINBASEAPI LONG WINAPI _llseek (HFILE, LONG, int);
1398 WINBASEAPI HFILE WINAPI _lopen (LPCSTR, int);
1399 WINBASEAPI UINT WINAPI _lread (HFILE, LPVOID, UINT);
1400 WINBASEAPI UINT WINAPI _lwrite (HFILE, LPCSTR, UINT);
1401
1402 #define AbnormalTermination()  FALSE
1403
1404 WINBASEAPI BOOL WINAPI AccessCheck
1405 ( PSECURITY_DESCRIPTOR, HANDLE, DWORD, PGENERIC_MAPPING, PPRIVILEGE_SET,
1406   PDWORD, PDWORD, PBOOL
1407 );
1408
1409 #define AccessCheckAndAuditAlarm __AW_SUFFIXED__(AccessCheckAndAuditAlarm)
1410 WINBASEAPI BOOL WINAPI AccessCheckAndAuditAlarmA
1411 ( LPCSTR, LPVOID, LPSTR, LPSTR, PSECURITY_DESCRIPTOR, DWORD, PGENERIC_MAPPING,
1412   BOOL, PDWORD, PBOOL, PBOOL
1413 );
1414 WINBASEAPI BOOL WINAPI AccessCheckAndAuditAlarmW
1415 ( LPCWSTR, LPVOID, LPWSTR, LPWSTR, PSECURITY_DESCRIPTOR, DWORD,
1416   PGENERIC_MAPPING, BOOL, PDWORD, PBOOL, PBOOL
1417 );
1418
1419 #if (_WIN32_WINNT >= 0x0501)
1420 WINBASEAPI BOOL WINAPI ActivateActCtx (HANDLE, ULONG_PTR *);
1421 #endif
1422
1423 WINBASEAPI BOOL WINAPI AddAccessAllowedAce (PACL, DWORD, DWORD, PSID);
1424 WINBASEAPI BOOL WINAPI AddAccessDeniedAce (PACL, DWORD, DWORD, PSID);
1425
1426 #if (_WIN32_WINNT >= 0x0500)
1427 WINBASEAPI BOOL WINAPI AddAccessAllowedAceEx (PACL, DWORD, DWORD, DWORD, PSID);
1428 WINBASEAPI BOOL WINAPI AddAccessDeniedAceEx (PACL, DWORD, DWORD, DWORD, PSID);
1429 #endif
1430
1431 WINBASEAPI BOOL WINAPI AddAce (PACL, DWORD, DWORD, PVOID, DWORD);
1432
1433 #define AddAtom __AW_SUFFIXED__(AddAtom)
1434 WINBASEAPI ATOM WINAPI AddAtomA (LPCSTR);
1435 WINBASEAPI ATOM WINAPI AddAtomW (LPCWSTR);
1436
1437 WINBASEAPI BOOL WINAPI AddAuditAccessAce (PACL, DWORD, DWORD, PSID, BOOL, BOOL);
1438
1439 #if (_WIN32_WINNT >= 0x0501)
1440 WINBASEAPI void WINAPI AddRefActCtx (HANDLE);
1441 #endif
1442
1443 #if (_WIN32_WINNT >= 0x0500)
1444 WINBASEAPI PVOID WINAPI AddVectoredExceptionHandler
1445 (ULONG, PVECTORED_EXCEPTION_HANDLER);
1446 #endif
1447
1448 WINBASEAPI BOOL WINAPI AdjustTokenGroups
1449 (HANDLE, BOOL, PTOKEN_GROUPS, DWORD, PTOKEN_GROUPS, PDWORD);
1450 WINBASEAPI BOOL WINAPI AdjustTokenPrivileges
1451 (HANDLE, BOOL, PTOKEN_PRIVILEGES, DWORD, PTOKEN_PRIVILEGES, PDWORD);
1452 WINBASEAPI BOOL WINAPI AllocateAndInitializeSid
1453 ( PSID_IDENTIFIER_AUTHORITY, BYTE, DWORD, DWORD, DWORD, DWORD, DWORD, DWORD,
1454   DWORD, DWORD, PSID *
1455 );
1456 WINBASEAPI BOOL WINAPI AllocateLocallyUniqueId (PLUID);
1457 WINBASEAPI BOOL WINAPI AreAllAccessesGranted (DWORD, DWORD);
1458 WINBASEAPI BOOL WINAPI AreAnyAccessesGranted (DWORD, DWORD);
1459 WINBASEAPI BOOL WINAPI AreFileApisANSI (void);
1460
1461 #define BackupEventLog __AW_SUFFIXED__(BackupEventLog)
1462 WINBASEAPI BOOL WINAPI BackupEventLogA (HANDLE, LPCSTR);
1463 WINBASEAPI BOOL WINAPI BackupEventLogW (HANDLE, LPCWSTR);
1464
1465 WINBASEAPI BOOL WINAPI BackupRead
1466 (HANDLE, LPBYTE, DWORD, LPDWORD, BOOL, BOOL, LPVOID *);
1467 WINBASEAPI BOOL WINAPI BackupSeek
1468 (HANDLE, DWORD, DWORD, LPDWORD, LPDWORD, LPVOID *);
1469 WINBASEAPI BOOL WINAPI BackupWrite
1470 (HANDLE, LPBYTE, DWORD, LPDWORD, BOOL, BOOL, LPVOID *);
1471 WINBASEAPI BOOL WINAPI Beep (DWORD, DWORD);
1472
1473 #define BeginUpdateResource __AW_SUFFIXED__(BeginUpdateResource)
1474 WINBASEAPI HANDLE WINAPI BeginUpdateResourceA (LPCSTR, BOOL);
1475 WINBASEAPI HANDLE WINAPI BeginUpdateResourceW (LPCWSTR, BOOL);
1476
1477 #define BuildCommDCB __AW_SUFFIXED__(BuildCommDCB)
1478 WINBASEAPI BOOL WINAPI BuildCommDCBA (LPCSTR, LPDCB);
1479 WINBASEAPI BOOL WINAPI BuildCommDCBW (LPCWSTR, LPDCB);
1480
1481 #define BuildCommDCBAndTimeouts __AW_SUFFIXED__(BuildCommDCBAndTimeouts)
1482 WINBASEAPI BOOL WINAPI BuildCommDCBAndTimeoutsA (LPCSTR, LPDCB, LPCOMMTIMEOUTS);
1483 WINBASEAPI BOOL WINAPI BuildCommDCBAndTimeoutsW
1484 (LPCWSTR, LPDCB, LPCOMMTIMEOUTS);
1485
1486 #define CallNamedPipe __AW_SUFFIXED__(CallNamedPipe)
1487 WINBASEAPI BOOL WINAPI CallNamedPipeA
1488 (LPCSTR, PVOID, DWORD, PVOID, DWORD, PDWORD, DWORD);
1489 WINBASEAPI BOOL WINAPI CallNamedPipeW
1490 (LPCWSTR, PVOID, DWORD, PVOID, DWORD, PDWORD, DWORD);
1491
1492 WINBASEAPI BOOL WINAPI CancelDeviceWakeupRequest (HANDLE);
1493 WINBASEAPI BOOL WINAPI CancelIo (HANDLE);
1494 WINBASEAPI BOOL WINAPI CancelWaitableTimer (HANDLE);
1495
1496 #if (_WIN32_WINNT >= 0x0500)
1497 WINBASEAPI BOOL WINAPI ChangeTimerQueueTimer (HANDLE, HANDLE, ULONG, ULONG);
1498 #endif
1499
1500 #if (_WIN32_WINNT >= 0x0501)
1501 #define CheckNameLegalDOS8Dot3 __AW_SUFFIXED__(CheckNameLegalDOS8Dot3)
1502 WINBASEAPI BOOL WINAPI CheckNameLegalDOS8Dot3A
1503 (LPCSTR, LPSTR, DWORD, PBOOL, PBOOL);
1504 WINBASEAPI BOOL WINAPI CheckNameLegalDOS8Dot3W
1505 (LPCWSTR, LPSTR, DWORD, PBOOL, PBOOL);
1506
1507 WINBASEAPI BOOL WINAPI CheckRemoteDebuggerPresent (HANDLE, PBOOL);
1508 #endif
1509
1510 #if (_WIN32_WINNT >= 0x0500)
1511 WINBASEAPI BOOL WINAPI CheckTokenMembership (HANDLE, PSID, PBOOL);
1512 #endif
1513
1514 WINBASEAPI BOOL WINAPI ClearCommBreak (HANDLE);
1515 WINBASEAPI BOOL WINAPI ClearCommError (HANDLE, PDWORD, LPCOMSTAT);
1516
1517 #define ClearEventLog __AW_SUFFIXED__(ClearEventLog)
1518 WINBASEAPI BOOL WINAPI ClearEventLogA (HANDLE, LPCSTR);
1519 WINBASEAPI BOOL WINAPI ClearEventLogW (HANDLE, LPCWSTR);
1520
1521 WINBASEAPI BOOL WINAPI CloseEventLog (HANDLE);
1522 WINBASEAPI BOOL WINAPI CloseHandle (HANDLE);
1523
1524 #define CommConfigDialog __AW_SUFFIXED__(CommConfigDialog)
1525 WINBASEAPI BOOL WINAPI CommConfigDialogA (LPCSTR, HWND, LPCOMMCONFIG);
1526 WINBASEAPI BOOL WINAPI CommConfigDialogW (LPCWSTR, HWND, LPCOMMCONFIG);
1527
1528 WINBASEAPI LONG WINAPI CompareFileTime (CONST FILETIME *, CONST FILETIME *);
1529 WINBASEAPI BOOL WINAPI ConnectNamedPipe (HANDLE, LPOVERLAPPED);
1530 WINBASEAPI BOOL WINAPI ContinueDebugEvent (DWORD, DWORD, DWORD);
1531
1532 #if (_WIN32_WINNT >= 0x0400)
1533 WINBASEAPI BOOL WINAPI ConvertFiberToThread (void);
1534 #endif
1535 WINBASEAPI PVOID WINAPI ConvertThreadToFiber (PVOID);
1536
1537 #define CopyFile __AW_SUFFIXED__(CopyFile)
1538 WINBASEAPI BOOL WINAPI CopyFileA (LPCSTR, LPCSTR, BOOL);
1539 WINBASEAPI BOOL WINAPI CopyFileW (LPCWSTR, LPCWSTR, BOOL);
1540
1541 #define CopyFileEx __AW_SUFFIXED__(CopyFileEx)
1542 WINBASEAPI BOOL WINAPI CopyFileExA
1543 (LPCSTR, LPCSTR, LPPROGRESS_ROUTINE, LPVOID, LPBOOL, DWORD);
1544 WINBASEAPI BOOL WINAPI CopyFileExW
1545 (LPCWSTR, LPCWSTR, LPPROGRESS_ROUTINE, LPVOID, LPBOOL, DWORD);
1546
1547 #define RtlMoveMemory         memmove
1548 #define RtlCopyMemory         memcpy
1549 #define RtlFillMemory(d,l,f)  memset((d),(f),(l))
1550 #define RtlZeroMemory(d,l)    RtlFillMemory((d),(l),0)
1551 #define MoveMemory            RtlMoveMemory
1552 #define CopyMemory            RtlCopyMemory
1553 #define FillMemory            RtlFillMemory
1554 #define ZeroMemory            RtlZeroMemory
1555
1556 WINBASEAPI BOOL WINAPI CopySid (DWORD, PSID, PSID);
1557
1558 #if (_WIN32_WINNT >= 0x0501)
1559 #define CreateActCtx __AW_SUFFIXED__(CreateActCtx)
1560 WINBASEAPI HANDLE WINAPI CreateActCtxA (PCACTCTXA);
1561 WINBASEAPI HANDLE WINAPI CreateActCtxW (PCACTCTXW);
1562 #endif
1563
1564 #define CreateDirectory __AW_SUFFIXED__(CreateDirectory)
1565 WINBASEAPI BOOL WINAPI CreateDirectoryA (LPCSTR, LPSECURITY_ATTRIBUTES);
1566 WINBASEAPI BOOL WINAPI CreateDirectoryW (LPCWSTR, LPSECURITY_ATTRIBUTES);
1567
1568 #define CreateDirectoryEx __AW_SUFFIXED__(CreateDirectoryEx)
1569 WINBASEAPI BOOL WINAPI CreateDirectoryExA
1570 (LPCSTR, LPCSTR, LPSECURITY_ATTRIBUTES);
1571 WINBASEAPI BOOL WINAPI CreateDirectoryExW
1572 (LPCWSTR, LPCWSTR, LPSECURITY_ATTRIBUTES);
1573
1574 #define CreateEvent __AW_SUFFIXED__(CreateEvent)
1575 WINBASEAPI HANDLE WINAPI CreateEventA
1576 (LPSECURITY_ATTRIBUTES, BOOL, BOOL, LPCSTR);
1577 WINBASEAPI HANDLE WINAPI CreateEventW
1578 (LPSECURITY_ATTRIBUTES, BOOL, BOOL, LPCWSTR);
1579
1580 WINBASEAPI LPVOID WINAPI CreateFiber (SIZE_T, LPFIBER_START_ROUTINE, LPVOID);
1581
1582 #if (_WIN32_WINNT >= 0x0400)
1583 WINBASEAPI LPVOID WINAPI CreateFiberEx
1584 (SIZE_T, SIZE_T, DWORD, LPFIBER_START_ROUTINE, LPVOID);
1585 #endif
1586
1587 #define CreateFile __AW_SUFFIXED__(CreateFile)
1588 WINBASEAPI HANDLE WINAPI CreateFileA
1589 (LPCSTR, DWORD, DWORD, LPSECURITY_ATTRIBUTES, DWORD, DWORD, HANDLE);
1590 WINBASEAPI HANDLE WINAPI CreateFileW
1591 (LPCWSTR, DWORD, DWORD, LPSECURITY_ATTRIBUTES, DWORD, DWORD, HANDLE);
1592
1593 #define CreateFileMapping __AW_SUFFIXED__(CreateFileMapping)
1594 WINBASEAPI HANDLE WINAPI CreateFileMappingA
1595 (HANDLE, LPSECURITY_ATTRIBUTES, DWORD, DWORD, DWORD, LPCSTR);
1596 WINBASEAPI HANDLE WINAPI CreateFileMappingW
1597 (HANDLE, LPSECURITY_ATTRIBUTES, DWORD, DWORD, DWORD, LPCWSTR);
1598
1599 #if (_WIN32_WINNT >= 0x0500)
1600 #define CreateHardLink __AW_SUFFIXED__(CreateHardLink)
1601 WINBASEAPI BOOL WINAPI CreateHardLinkA (LPCSTR, LPCSTR, LPSECURITY_ATTRIBUTES);
1602 WINBASEAPI BOOL WINAPI CreateHardLinkW
1603 (LPCWSTR, LPCWSTR, LPSECURITY_ATTRIBUTES);
1604 #endif
1605
1606 WINBASEAPI HANDLE WINAPI CreateIoCompletionPort
1607 (HANDLE, HANDLE, ULONG_PTR, DWORD);
1608
1609 #if (_WIN32_WINNT >= 0x0500)
1610 #define CreateJobObject __AW_SUFFIXED__(CreateJobObject)
1611 WINBASEAPI HANDLE WINAPI CreateJobObjectA (LPSECURITY_ATTRIBUTES, LPCSTR);
1612 WINBASEAPI HANDLE WINAPI CreateJobObjectW (LPSECURITY_ATTRIBUTES, LPCWSTR);
1613
1614 WINBASEAPI BOOL WINAPI TerminateJobObject (HANDLE, UINT);
1615 WINBASEAPI BOOL WINAPI AssignProcessToJobObject (HANDLE, HANDLE);
1616 WINBASEAPI BOOL WINAPI SetInformationJobObject
1617 (HANDLE, JOBOBJECTINFOCLASS, LPVOID, DWORD);
1618 WINBASEAPI BOOL WINAPI QueryInformationJobObject
1619 (HANDLE, JOBOBJECTINFOCLASS, LPVOID, DWORD, LPDWORD);
1620 #endif
1621
1622 #define CreateMailslot __AW_SUFFIXED__(CreateMailslot)
1623 WINBASEAPI HANDLE WINAPI CreateMailslotA
1624 (LPCSTR, DWORD, DWORD, LPSECURITY_ATTRIBUTES);
1625 WINBASEAPI HANDLE WINAPI CreateMailslotW
1626 (LPCWSTR, DWORD, DWORD, LPSECURITY_ATTRIBUTES);
1627
1628 #if (_WIN32_WINNT >= 0x0501)
1629 WINBASEAPI HANDLE WINAPI CreateMemoryResourceNotification
1630 (MEMORY_RESOURCE_NOTIFICATION_TYPE);
1631 #endif
1632
1633 #define CreateMutex __AW_SUFFIXED__(CreateMutex)
1634 WINBASEAPI HANDLE WINAPI CreateMutexA (LPSECURITY_ATTRIBUTES, BOOL, LPCSTR);
1635 WINBASEAPI HANDLE WINAPI CreateMutexW (LPSECURITY_ATTRIBUTES, BOOL, LPCWSTR);
1636
1637 #define CreateNamedPipe __AW_SUFFIXED__(CreateNamedPipe)
1638 WINBASEAPI HANDLE WINAPI CreateNamedPipeA
1639 (LPCSTR, DWORD, DWORD, DWORD, DWORD, DWORD, DWORD, LPSECURITY_ATTRIBUTES);
1640 WINBASEAPI HANDLE WINAPI CreateNamedPipeW
1641 (LPCWSTR, DWORD, DWORD, DWORD, DWORD, DWORD, DWORD, LPSECURITY_ATTRIBUTES);
1642
1643 WINBASEAPI BOOL WINAPI CreatePipe
1644 (PHANDLE, PHANDLE, LPSECURITY_ATTRIBUTES, DWORD);
1645 WINBASEAPI BOOL WINAPI CreatePrivateObjectSecurity
1646 ( PSECURITY_DESCRIPTOR, PSECURITY_DESCRIPTOR, PSECURITY_DESCRIPTOR *, BOOL,
1647   HANDLE, PGENERIC_MAPPING
1648 );
1649
1650 #define CreateProcess __AW_SUFFIXED__(CreateProcess)
1651 WINBASEAPI BOOL WINAPI CreateProcessA
1652 ( LPCSTR, LPSTR, LPSECURITY_ATTRIBUTES, LPSECURITY_ATTRIBUTES, BOOL, DWORD,
1653   PVOID, LPCSTR, LPSTARTUPINFOA, LPPROCESS_INFORMATION
1654 );
1655 WINBASEAPI BOOL WINAPI CreateProcessW
1656 ( LPCWSTR, LPWSTR, LPSECURITY_ATTRIBUTES, LPSECURITY_ATTRIBUTES, BOOL,
1657   DWORD, PVOID, LPCWSTR, LPSTARTUPINFOW, LPPROCESS_INFORMATION
1658 );
1659
1660 #define CreateProcessAsUser __AW_SUFFIXED__(CreateProcessAsUser)
1661 WINBASEAPI BOOL WINAPI CreateProcessAsUserA
1662 ( HANDLE, LPCSTR, LPSTR, LPSECURITY_ATTRIBUTES, LPSECURITY_ATTRIBUTES, BOOL,
1663   DWORD, PVOID, LPCSTR, LPSTARTUPINFOA, LPPROCESS_INFORMATION
1664 );
1665 WINBASEAPI BOOL WINAPI CreateProcessAsUserW
1666 ( HANDLE, LPCWSTR, LPWSTR, LPSECURITY_ATTRIBUTES, LPSECURITY_ATTRIBUTES,
1667   BOOL, DWORD, PVOID, LPCWSTR, LPSTARTUPINFOW, LPPROCESS_INFORMATION
1668 );
1669
1670 #if (_WIN32_WINNT >= 0x0500)
1671 WINBASEAPI BOOL WINAPI CreateProcessWithLogonW
1672 ( LPCWSTR, LPCWSTR, LPCWSTR, DWORD, LPCWSTR, LPWSTR, DWORD, LPVOID,
1673   LPCWSTR, LPSTARTUPINFOW, LPPROCESS_INFORMATION
1674 );
1675 #define LOGON_WITH_PROFILE              0x00000001
1676 #define LOGON_NETCREDENTIALS_ONLY       0x00000002
1677 #endif
1678
1679 WINBASEAPI HANDLE WINAPI CreateRemoteThread
1680 ( HANDLE, LPSECURITY_ATTRIBUTES, DWORD, LPTHREAD_START_ROUTINE,
1681   LPVOID, DWORD, LPDWORD
1682 );
1683
1684 #if (_WIN32_WINNT >= 0x0500)
1685 WINBASEAPI BOOL WINAPI CreateRestrictedToken
1686 ( HANDLE, DWORD, DWORD, PSID_AND_ATTRIBUTES, DWORD, PLUID_AND_ATTRIBUTES,
1687   DWORD, PSID_AND_ATTRIBUTES, PHANDLE
1688 );
1689 #define DISABLE_MAX_PRIVILEGE   1
1690 #define SANDBOX_INERT           2
1691 #define LUA_TOKEN               4
1692 #define WRITE_RESTRICTED        8
1693 #endif
1694
1695 #define CreateSemaphore __AW_SUFFIXED__(CreateSemaphore)
1696 WINBASEAPI HANDLE WINAPI CreateSemaphoreA
1697 (LPSECURITY_ATTRIBUTES, LONG, LONG, LPCSTR);
1698 WINBASEAPI HANDLE WINAPI CreateSemaphoreW
1699 (LPSECURITY_ATTRIBUTES, LONG, LONG, LPCWSTR);
1700
1701 #if (_WIN32_WINNT >= 0x0600)
1702 #define CreateSymbolicLink __AW_SUFFIXED__(CreateSymbolicLink)
1703 WINBASEAPI BOOL WINAPI CreateSymbolicLinkA (LPCSTR, LPCSTR, DWORD);
1704 WINBASEAPI BOOL WINAPI CreateSymbolicLinkW (LPCWSTR, LPCWSTR, DWORD);
1705 #endif
1706
1707 WINBASEAPI DWORD WINAPI CreateTapePartition (HANDLE, DWORD, DWORD, DWORD);
1708
1709 #if (_WIN32_WINNT >= 0x0500)
1710 WINBASEAPI HANDLE WINAPI CreateTimerQueue (void);
1711 WINBASEAPI BOOL WINAPI CreateTimerQueueTimer
1712 (PHANDLE, HANDLE, WAITORTIMERCALLBACK, PVOID, DWORD, DWORD, ULONG);
1713 #endif
1714
1715 WINBASEAPI HANDLE WINAPI CreateThread
1716 (LPSECURITY_ATTRIBUTES, DWORD, LPTHREAD_START_ROUTINE, PVOID, DWORD, PDWORD);
1717
1718 #define CreateWaitableTimer __AW_SUFFIXED__(CreateWaitableTimer)
1719 WINBASEAPI HANDLE WINAPI CreateWaitableTimerA
1720 (LPSECURITY_ATTRIBUTES, BOOL, LPCSTR);
1721 WINBASEAPI HANDLE WINAPI CreateWaitableTimerW
1722 (LPSECURITY_ATTRIBUTES, BOOL, LPCWSTR);
1723
1724 #if (_WIN32_WINNT >= 0x0501)
1725 WINBASEAPI BOOL WINAPI DeactivateActCtx (DWORD, ULONG_PTR);
1726 #endif
1727
1728 WINBASEAPI BOOL WINAPI DebugActiveProcess (DWORD);
1729
1730 #if (_WIN32_WINNT >= 0x0501)
1731 WINBASEAPI BOOL WINAPI DebugActiveProcessStop (DWORD);
1732 #endif
1733
1734 WINBASEAPI void WINAPI DebugBreak (void);
1735
1736 #if (_WIN32_WINNT >= 0x0501)
1737 WINBASEAPI BOOL WINAPI DebugBreakProcess (HANDLE);
1738 WINBASEAPI BOOL WINAPI DebugSetProcessKillOnExit (BOOL);
1739 #endif
1740
1741 #define DefineDosDevice __AW_SUFFIXED__(DefineDosDevice)
1742 WINBASEAPI BOOL WINAPI DefineDosDeviceA (DWORD, LPCSTR, LPCSTR);
1743 WINBASEAPI BOOL WINAPI DefineDosDeviceW (DWORD, LPCWSTR, LPCWSTR);
1744
1745 #define DefineHandleTable(w)  ((w), TRUE)
1746
1747 WINBASEAPI BOOL WINAPI DeleteAce (PACL, DWORD);
1748 WINBASEAPI ATOM WINAPI DeleteAtom (ATOM);
1749 WINBASEAPI void WINAPI DeleteCriticalSection (PCRITICAL_SECTION);
1750 WINBASEAPI void WINAPI DeleteFiber (PVOID);
1751
1752 #define DeleteFile __AW_SUFFIXED__(DeleteFile)
1753 WINBASEAPI BOOL WINAPI DeleteFileA (LPCSTR);
1754 WINBASEAPI BOOL WINAPI DeleteFileW (LPCWSTR);
1755
1756 #if (_WIN32_WINNT >= 0x0500)
1757 WINBASEAPI BOOL WINAPI DeleteTimerQueue (HANDLE);
1758 WINBASEAPI BOOL WINAPI DeleteTimerQueueEx (HANDLE, HANDLE);
1759 WINBASEAPI BOOL WINAPI DeleteTimerQueueTimer (HANDLE, HANDLE, HANDLE);
1760
1761 #define DeleteVolumeMountPoint __AW_SUFFIXED__(DeleteVolumeMountPoint)
1762 WINBASEAPI BOOL WINAPI DeleteVolumeMountPointA (LPCSTR);
1763 WINBASEAPI BOOL WINAPI DeleteVolumeMountPointW (LPCWSTR);
1764 #endif
1765
1766 WINBASEAPI BOOL WINAPI DeregisterEventSource (HANDLE);
1767 WINBASEAPI BOOL WINAPI DestroyPrivateObjectSecurity (PSECURITY_DESCRIPTOR *);
1768 WINBASEAPI BOOL WINAPI DeviceIoControl
1769 (HANDLE, DWORD, PVOID, DWORD, PVOID, DWORD, PDWORD, POVERLAPPED);
1770 WINBASEAPI BOOL WINAPI DisableThreadLibraryCalls (HMODULE);
1771
1772 #if (_WIN32_WINNT >= 0x0500)
1773 #define DnsHostnameToComputerName __AW_SUFFIXED__(DnsHostnameToComputerName)
1774 WINBASEAPI BOOL WINAPI DnsHostnameToComputerNameA (LPCSTR, LPSTR, LPDWORD);
1775 WINBASEAPI BOOL WINAPI DnsHostnameToComputerNameW (LPCWSTR, LPWSTR, LPDWORD);
1776 #endif
1777
1778 WINBASEAPI BOOL WINAPI DisconnectNamedPipe (HANDLE);
1779 WINBASEAPI BOOL WINAPI DosDateTimeToFileTime (WORD, WORD, LPFILETIME);
1780 WINBASEAPI BOOL WINAPI DuplicateHandle
1781 (HANDLE, HANDLE, HANDLE, PHANDLE, DWORD, BOOL, DWORD);
1782 WINBASEAPI BOOL WINAPI DuplicateToken
1783 (HANDLE, SECURITY_IMPERSONATION_LEVEL, PHANDLE);
1784 WINBASEAPI BOOL WINAPI DuplicateTokenEx
1785 ( HANDLE, DWORD, LPSECURITY_ATTRIBUTES, SECURITY_IMPERSONATION_LEVEL,
1786   TOKEN_TYPE, PHANDLE
1787 );
1788
1789 #define EncryptFile __AW_SUFFIXED__(EncryptFile)
1790 WINBASEAPI BOOL WINAPI EncryptFileA (LPCSTR);
1791 WINBASEAPI BOOL WINAPI EncryptFileW (LPCWSTR);
1792
1793 #define EndUpdateResource __AW_SUFFIXED__(EndUpdateResource)
1794 WINBASEAPI BOOL WINAPI EndUpdateResourceA (HANDLE, BOOL);
1795 WINBASEAPI BOOL WINAPI EndUpdateResourceW (HANDLE, BOOL);
1796
1797 WINBASEAPI void WINAPI EnterCriticalSection (LPCRITICAL_SECTION);
1798
1799 #define EnumResourceLanguages __AW_SUFFIXED__(EnumResourceLanguages)
1800 WINBASEAPI BOOL WINAPI EnumResourceLanguagesA
1801 (HMODULE, LPCSTR, LPCSTR, ENUMRESLANGPROCA, LONG_PTR);
1802 WINBASEAPI BOOL WINAPI EnumResourceLanguagesW
1803 (HMODULE, LPCWSTR, LPCWSTR, ENUMRESLANGPROCW, LONG_PTR);
1804
1805 #define EnumResourceNames __AW_SUFFIXED__(EnumResourceNames)
1806 WINBASEAPI BOOL WINAPI EnumResourceNamesA
1807 (HMODULE, LPCSTR, ENUMRESNAMEPROCA, LONG_PTR);
1808 WINBASEAPI BOOL WINAPI EnumResourceNamesW
1809 (HMODULE, LPCWSTR, ENUMRESNAMEPROCW, LONG_PTR);
1810
1811 #define EnumResourceTypes __AW_SUFFIXED__(EnumResourceTypes)
1812 WINBASEAPI BOOL WINAPI EnumResourceTypesA (HMODULE, ENUMRESTYPEPROCA, LONG_PTR);
1813 WINBASEAPI BOOL WINAPI EnumResourceTypesW (HMODULE, ENUMRESTYPEPROCW, LONG_PTR);
1814
1815 WINBASEAPI BOOL WINAPI EqualPrefixSid (PSID, PSID);
1816 WINBASEAPI BOOL WINAPI EqualSid (PSID, PSID);
1817 WINBASEAPI DWORD WINAPI EraseTape (HANDLE, DWORD, BOOL);
1818 WINBASEAPI BOOL WINAPI EscapeCommFunction (HANDLE, DWORD);
1819 DECLSPEC_NORETURN WINBASEAPI void WINAPI ExitProcess (UINT);
1820 DECLSPEC_NORETURN WINBASEAPI void WINAPI ExitThread (DWORD);
1821
1822 #define ExpandEnvironmentStrings __AW_SUFFIXED__(ExpandEnvironmentStrings)
1823 WINBASEAPI DWORD WINAPI ExpandEnvironmentStringsA (LPCSTR, LPSTR, DWORD);
1824 WINBASEAPI DWORD WINAPI ExpandEnvironmentStringsW (LPCWSTR, LPWSTR, DWORD);
1825
1826 #define FatalAppExit __AW_SUFFIXED__(FatalAppExit)
1827 WINBASEAPI void WINAPI FatalAppExitA (UINT, LPCSTR);
1828 WINBASEAPI void WINAPI FatalAppExitW (UINT, LPCWSTR);
1829
1830 WINBASEAPI void WINAPI FatalExit (int);
1831
1832 #define FileEncryptionStatus __AW_SUFFIXED__(FileEncryptionStatus)
1833 WINBASEAPI BOOL WINAPI FileEncryptionStatusA (LPCSTR, LPDWORD);
1834 WINBASEAPI BOOL WINAPI FileEncryptionStatusW (LPCWSTR, LPDWORD);
1835
1836 WINBASEAPI BOOL WINAPI FileTimeToDosDateTime (CONST FILETIME *, LPWORD, LPWORD);
1837 WINBASEAPI BOOL WINAPI FileTimeToLocalFileTime (CONST FILETIME *, LPFILETIME);
1838 WINBASEAPI BOOL WINAPI FileTimeToSystemTime (CONST FILETIME *, LPSYSTEMTIME);
1839
1840 #if (_WIN32_WINNT >= 0x0501)
1841 WINBASEAPI BOOL WINAPI FindActCtxSectionGuid
1842 (DWORD, const GUID *, ULONG, const GUID *, PACTCTX_SECTION_KEYED_DATA);
1843
1844 #define FindActCtxSectionString __AW_SUFFIXED__(FindActCtxSectionString)
1845 WINBASEAPI BOOL WINAPI FindActCtxSectionStringA
1846 (DWORD, const GUID *, ULONG, LPCSTR, PACTCTX_SECTION_KEYED_DATA);
1847 WINBASEAPI BOOL WINAPI FindActCtxSectionStringW
1848 (DWORD, const GUID *, ULONG, LPCWSTR, PACTCTX_SECTION_KEYED_DATA);
1849 #endif
1850
1851 #define FindAtom __AW_SUFFIXED__(FindAtom)
1852 WINBASEAPI ATOM WINAPI FindAtomA (LPCSTR);
1853 WINBASEAPI ATOM WINAPI FindAtomW (LPCWSTR);
1854
1855 WINBASEAPI BOOL WINAPI FindClose (HANDLE);
1856 WINBASEAPI BOOL WINAPI FindCloseChangeNotification (HANDLE);
1857
1858 #define FindFirstChangeNotification __AW_SUFFIXED__(FindFirstChangeNotification)
1859 WINBASEAPI HANDLE WINAPI FindFirstChangeNotificationA (LPCSTR, BOOL, DWORD);
1860 WINBASEAPI HANDLE WINAPI FindFirstChangeNotificationW (LPCWSTR, BOOL, DWORD);
1861
1862 #define FindFirstFile __AW_SUFFIXED__(FindFirstFile)
1863 WINBASEAPI HANDLE WINAPI FindFirstFileA (LPCSTR, LPWIN32_FIND_DATAA);
1864 WINBASEAPI HANDLE WINAPI FindFirstFileW (LPCWSTR, LPWIN32_FIND_DATAW);
1865
1866 #define FindFirstFileEx __AW_SUFFIXED__(FindFirstFileEx)
1867 WINBASEAPI HANDLE WINAPI FindFirstFileExA
1868 (LPCSTR, FINDEX_INFO_LEVELS, PVOID, FINDEX_SEARCH_OPS, PVOID, DWORD);
1869 WINBASEAPI HANDLE WINAPI FindFirstFileExW
1870 (LPCWSTR, FINDEX_INFO_LEVELS, PVOID, FINDEX_SEARCH_OPS, PVOID, DWORD);
1871
1872 WINBASEAPI BOOL WINAPI FindFirstFreeAce (PACL, PVOID *);
1873
1874 #if (_WIN32_WINNT >= 0x0500)
1875 #define FindFirstVolume __AW_SUFFIXED__(FindFirstVolume)
1876 WINBASEAPI HANDLE WINAPI FindFirstVolumeA (LPCSTR, DWORD);
1877 WINBASEAPI HANDLE WINAPI FindFirstVolumeW (LPCWSTR, DWORD);
1878
1879 #define FindFirstVolumeMountPoint __AW_SUFFIXED__(FindFirstVolumeMountPoint)
1880 WINBASEAPI HANDLE WINAPI FindFirstVolumeMountPointA (LPSTR, LPSTR, DWORD);
1881 WINBASEAPI HANDLE WINAPI FindFirstVolumeMountPointW (LPWSTR, LPWSTR, DWORD);
1882 #endif
1883
1884 WINBASEAPI BOOL WINAPI FindNextChangeNotification (HANDLE);
1885
1886 #define FindNextFile __AW_SUFFIXED__(FindNextFile)
1887 WINBASEAPI BOOL WINAPI FindNextFileA (HANDLE, LPWIN32_FIND_DATAA);
1888 WINBASEAPI BOOL WINAPI FindNextFileW (HANDLE, LPWIN32_FIND_DATAW);
1889
1890 #if (_WIN32_WINNT >= 0x0500)
1891 #define FindNextVolume __AW_SUFFIXED__(FindNextVolume)
1892 WINBASEAPI BOOL WINAPI FindNextVolumeA (HANDLE, LPCSTR, DWORD);
1893 WINBASEAPI BOOL WINAPI FindNextVolumeW (HANDLE, LPWSTR, DWORD);
1894
1895 #define FindNextVolumeMountPoint __AW_SUFFIXED__(FindNextVolumeMountPoint)
1896 WINBASEAPI BOOL WINAPI FindNextVolumeMountPointA (HANDLE, LPSTR, DWORD);
1897 WINBASEAPI BOOL WINAPI FindNextVolumeMountPointW (HANDLE, LPWSTR, DWORD);
1898
1899 WINBASEAPI BOOL WINAPI FindVolumeClose (HANDLE);
1900 WINBASEAPI BOOL WINAPI FindVolumeMountPointClose (HANDLE);
1901 #endif
1902
1903 #define FindResource __AW_SUFFIXED__(FindResource)
1904 WINBASEAPI HRSRC WINAPI FindResourceA (HMODULE, LPCSTR, LPCSTR);
1905 WINBASEAPI HRSRC WINAPI FindResourceW (HINSTANCE, LPCWSTR, LPCWSTR);
1906
1907 #define FindResourceEx __AW_SUFFIXED__(FindResourceEx)
1908 WINBASEAPI HRSRC WINAPI FindResourceExA (HINSTANCE, LPCSTR, LPCSTR, WORD);
1909 WINBASEAPI HRSRC WINAPI FindResourceExW (HINSTANCE, LPCWSTR, LPCWSTR, WORD);
1910
1911 #if (_WIN32_WINNT >= 0x0502)
1912 /* GetFirmwareEnvironmentVariable: previously missing UNICODE vs. ANSI define */
1913 #define \
1914 GetFirmwareEnvironmentVariable __AW_SUFFIXED__(GetFirmwareEnvironmentVariable)
1915 WINBASEAPI DWORD WINAPI GetFirmwareEnvironmentVariableA
1916 (LPCSTR, LPCSTR, PVOID, DWORD);
1917 WINBASEAPI DWORD WINAPI GetFirmwareEnvironmentVariableW
1918 (LPCWSTR, LPCWSTR, PVOID, DWORD);
1919 #endif
1920
1921 WINBASEAPI BOOL WINAPI FlushFileBuffers (HANDLE);
1922 WINBASEAPI BOOL WINAPI FlushInstructionCache (HANDLE, PCVOID, DWORD);
1923 WINBASEAPI BOOL WINAPI FlushViewOfFile (PCVOID, DWORD);
1924
1925 #define FormatMessage __AW_SUFFIXED__(FormatMessage)
1926 WINBASEAPI DWORD WINAPI FormatMessageA
1927 (DWORD, PCVOID, DWORD, DWORD, LPSTR, DWORD, va_list *);
1928 WINBASEAPI DWORD WINAPI FormatMessageW
1929 (DWORD, PCVOID, DWORD, DWORD, LPWSTR, DWORD, va_list *);
1930
1931 #define FreeEnvironmentStrings __AW_SUFFIXED__(FreeEnvironmentStrings)
1932 WINBASEAPI BOOL WINAPI FreeEnvironmentStringsA (LPSTR);
1933 WINBASEAPI BOOL WINAPI FreeEnvironmentStringsW (LPWSTR);
1934
1935 WINBASEAPI BOOL WINAPI FreeLibrary (HMODULE);
1936 DECLSPEC_NORETURN WINBASEAPI void WINAPI FreeLibraryAndExitThread
1937 (HMODULE, DWORD);
1938
1939 #define FreeModule(m)        FreeLibrary(m)
1940 #define FreeProcInstance(p)  (void)(p)
1941
1942 #ifndef XFree86Server
1943 WINBASEAPI BOOL WINAPI FreeResource (HGLOBAL);
1944 #endif /* ndef XFree86Server */
1945
1946 WINBASEAPI PVOID WINAPI FreeSid (PSID);
1947 WINBASEAPI BOOL WINAPI GetAce (PACL, DWORD, LPVOID *);
1948 WINBASEAPI BOOL WINAPI GetAclInformation
1949 (PACL, PVOID, DWORD, ACL_INFORMATION_CLASS);
1950
1951 #define GetAtomName __AW_SUFFIXED__(GetAtomName)
1952 WINBASEAPI UINT WINAPI GetAtomNameA (ATOM, LPSTR, int);
1953 WINBASEAPI UINT WINAPI GetAtomNameW (ATOM, LPWSTR, int);
1954
1955 #define GetBinaryType __AW_SUFFIXED__(GetBinaryType)
1956 WINBASEAPI BOOL WINAPI GetBinaryTypeA (LPCSTR, PDWORD);
1957 WINBASEAPI BOOL WINAPI GetBinaryTypeW (LPCWSTR, PDWORD);
1958
1959 #define GetCommandLine __AW_SUFFIXED__(GetCommandLine)
1960 WINBASEAPI LPSTR WINAPI GetCommandLineA (VOID);
1961 WINBASEAPI LPWSTR WINAPI GetCommandLineW (VOID);
1962
1963 WINBASEAPI BOOL WINAPI GetCommConfig (HANDLE, LPCOMMCONFIG, PDWORD);
1964 WINBASEAPI BOOL WINAPI GetCommMask (HANDLE, PDWORD);
1965 WINBASEAPI BOOL WINAPI GetCommModemStatus (HANDLE, PDWORD);
1966 WINBASEAPI BOOL WINAPI GetCommProperties (HANDLE, LPCOMMPROP);
1967 WINBASEAPI BOOL WINAPI GetCommState (HANDLE, LPDCB);
1968 WINBASEAPI BOOL WINAPI GetCommTimeouts (HANDLE, LPCOMMTIMEOUTS);
1969
1970 #define GetCompressedFileSize __AW_SUFFIXED__(GetCompressedFileSize)
1971 WINBASEAPI DWORD WINAPI GetCompressedFileSizeA (LPCSTR, PDWORD);
1972 WINBASEAPI DWORD WINAPI GetCompressedFileSizeW (LPCWSTR, PDWORD);
1973
1974 #define GetComputerName __AW_SUFFIXED__(GetComputerName)
1975 WINBASEAPI BOOL WINAPI GetComputerNameA (LPSTR, PDWORD);
1976 WINBASEAPI BOOL WINAPI GetComputerNameW (LPWSTR, PDWORD);
1977
1978 #if (_WIN32_WINNT >= 0x0500)
1979 #define GetComputerNameEx __AW_SUFFIXED__(GetComputerNameEx)
1980 WINBASEAPI BOOL WINAPI GetComputerNameExA
1981 (COMPUTER_NAME_FORMAT, LPSTR, LPDWORD);
1982 WINBASEAPI BOOL WINAPI GetComputerNameExW
1983 (COMPUTER_NAME_FORMAT, LPWSTR, LPDWORD);
1984 #endif
1985
1986 #if (_WIN32_WINNT >= 0x0501)
1987 WINBASEAPI BOOL WINAPI GetCurrentActCtx (HANDLE *);
1988 #endif
1989
1990 #define GetCurrentDirectory __AW_SUFFIXED__(GetCurrentDirectory)
1991 WINBASEAPI DWORD WINAPI GetCurrentDirectoryA (DWORD, LPSTR);
1992 WINBASEAPI DWORD WINAPI GetCurrentDirectoryW (DWORD, LPWSTR);
1993
1994 /* GetCurrentHwProfile: previously missing UNICODE vs. ANSI define */
1995 #define GetCurrentHwProfile __AW_SUFFIXED__(GetCurrentHwProfile)
1996 WINBASEAPI BOOL WINAPI GetCurrentHwProfileA (LPHW_PROFILE_INFOA);
1997 WINBASEAPI BOOL WINAPI GetCurrentHwProfileW (LPHW_PROFILE_INFOW);
1998
1999 WINBASEAPI HANDLE WINAPI GetCurrentProcess (void);
2000 WINBASEAPI DWORD WINAPI GetCurrentProcessId (void);
2001 WINBASEAPI HANDLE WINAPI GetCurrentThread (void);
2002
2003 #ifdef _WIN32_WCE
2004 extern DWORD GetCurrentThreadId (void);
2005 #else
2006 WINBASEAPI DWORD WINAPI GetCurrentThreadId (void);
2007 #endif
2008
2009 #define GetCurrentTime  GetTickCount
2010
2011 #define GetDefaultCommConfig __AW_SUFFIXED__(GetDefaultCommConfig)
2012 WINBASEAPI BOOL WINAPI GetDefaultCommConfigA (LPCSTR, LPCOMMCONFIG, PDWORD);
2013 WINBASEAPI BOOL WINAPI GetDefaultCommConfigW (LPCWSTR, LPCOMMCONFIG, PDWORD);
2014
2015 WINBASEAPI BOOL WINAPI GetDevicePowerState (HANDLE, BOOL *);
2016
2017 #define GetDiskFreeSpace __AW_SUFFIXED__(GetDiskFreeSpace)
2018 WINBASEAPI BOOL WINAPI GetDiskFreeSpaceA
2019 (LPCSTR, PDWORD, PDWORD, PDWORD, PDWORD);
2020 WINBASEAPI BOOL WINAPI GetDiskFreeSpaceW
2021 (LPCWSTR, PDWORD, PDWORD, PDWORD, PDWORD);
2022
2023 #define GetDiskFreeSpaceEx __AW_SUFFIXED__(GetDiskFreeSpaceEx)
2024 WINBASEAPI BOOL WINAPI GetDiskFreeSpaceExA
2025 (LPCSTR, PULARGE_INTEGER, PULARGE_INTEGER, PULARGE_INTEGER);
2026 WINBASEAPI BOOL WINAPI GetDiskFreeSpaceExW
2027 (LPCWSTR, PULARGE_INTEGER, PULARGE_INTEGER, PULARGE_INTEGER);
2028
2029 #if (_WIN32_WINNT >= 0x0502)
2030 #define GetDllDirectory __AW_SUFFIXED__(GetDllDirectory)
2031 WINBASEAPI DWORD WINAPI GetDllDirectoryA (DWORD, LPSTR);
2032 WINBASEAPI DWORD WINAPI GetDllDirectoryW (DWORD, LPWSTR);
2033 #endif
2034
2035 #define GetDriveType __AW_SUFFIXED__(GetDriveType)
2036 WINBASEAPI UINT WINAPI GetDriveTypeA (LPCSTR);
2037 WINBASEAPI UINT WINAPI GetDriveTypeW (LPCWSTR);
2038
2039 WINBASEAPI LPCH WINAPI GetEnvironmentStrings (void);
2040
2041 #define GetEnvironmentStrings __AW_SUFFIXED__(GetEnvironmentStrings)
2042 WINBASEAPI LPCH WINAPI GetEnvironmentStringsA (void);
2043 WINBASEAPI LPWCH WINAPI GetEnvironmentStringsW (void);
2044
2045 #define GetEnvironmentVariable __AW_SUFFIXED__(GetEnvironmentVariable)
2046 WINBASEAPI DWORD WINAPI GetEnvironmentVariableA (LPCSTR, LPSTR, DWORD);
2047 WINBASEAPI DWORD WINAPI GetEnvironmentVariableW (LPCWSTR, LPWSTR, DWORD);
2048
2049 WINBASEAPI BOOL WINAPI GetExitCodeProcess (HANDLE, PDWORD);
2050 WINBASEAPI BOOL WINAPI GetExitCodeThread (HANDLE, PDWORD);
2051
2052 #define GetFileAttributes __AW_SUFFIXED__(GetFileAttributes)
2053 WINBASEAPI DWORD WINAPI GetFileAttributesA (LPCSTR);
2054 WINBASEAPI DWORD WINAPI GetFileAttributesW (LPCWSTR);
2055
2056 #define GetFileAttributesEx __AW_SUFFIXED__(GetFileAttributesEx)
2057 WINBASEAPI BOOL WINAPI GetFileAttributesExA
2058 (LPCSTR, GET_FILEEX_INFO_LEVELS, PVOID);
2059 WINBASEAPI BOOL WINAPI GetFileAttributesExW
2060 (LPCWSTR, GET_FILEEX_INFO_LEVELS, PVOID);
2061
2062 WINBASEAPI BOOL WINAPI GetFileInformationByHandle
2063 (HANDLE, LPBY_HANDLE_FILE_INFORMATION);
2064
2065 #if (_WIN32_WINNT >= 0x0600)
2066 /* http://msdn.microsoft.com/en-us/library/aa364953%28VS.85%29.aspx */
2067 WINBASEAPI BOOL WINAPI GetFileInformationByHandleEx
2068 (HANDLE, FILE_INFO_BY_HANDLE_CLASS, LPVOID, DWORD);
2069 #endif
2070
2071 #define GetFileSecurity __AW_SUFFIXED__(GetFileSecurity)
2072 WINBASEAPI BOOL WINAPI GetFileSecurityA
2073 (LPCSTR, SECURITY_INFORMATION, PSECURITY_DESCRIPTOR, DWORD, PDWORD);
2074 WINBASEAPI BOOL WINAPI GetFileSecurityW
2075 (LPCWSTR, SECURITY_INFORMATION, PSECURITY_DESCRIPTOR, DWORD, PDWORD);
2076
2077 WINBASEAPI DWORD WINAPI GetFileSize (HANDLE, PDWORD);
2078
2079 #if (_WIN32_WINNT >= 0x0500)
2080 WINBASEAPI BOOL WINAPI GetFileSizeEx (HANDLE, PLARGE_INTEGER);
2081 #endif
2082
2083 WINBASEAPI BOOL WINAPI GetFileTime (HANDLE, LPFILETIME, LPFILETIME, LPFILETIME);
2084 WINBASEAPI DWORD WINAPI GetFileType (HANDLE);
2085
2086 #if (_WIN32_WINNT >= 0x0600)
2087 /* http://msdn.microsoft.com/en-us/library/aa364962%28VS.85%29.aspx */
2088 #define GetFinalPathNameByHandle __AW_SUFFIXED__(GetFinalPathNameByHandle)
2089 WINBASEAPI DWORD WINAPI GetFinalPathNameByHandleA (HANDLE, LPSTR, DWORD, DWORD);
2090 WINBASEAPI DWORD WINAPI GetFinalPathNameByHandleW
2091 (HANDLE, LPWSTR, DWORD, DWORD);
2092 #endif
2093
2094 #define GetFreeSpace(w)  (0x100000L)
2095
2096 #define GetFullPathName __AW_SUFFIXED__(GetFullPathName)
2097 WINBASEAPI DWORD WINAPI GetFullPathNameA (LPCSTR, DWORD, LPSTR, LPSTR *);
2098 WINBASEAPI DWORD WINAPI GetFullPathNameW (LPCWSTR, DWORD, LPWSTR, LPWSTR *);
2099
2100 WINBASEAPI BOOL WINAPI GetHandleInformation (HANDLE, PDWORD);
2101 WINBASEAPI BOOL WINAPI GetKernelObjectSecurity
2102 (HANDLE, SECURITY_INFORMATION, PSECURITY_DESCRIPTOR, DWORD, PDWORD);
2103 WINBASEAPI DWORD WINAPI GetLastError (void);
2104 WINBASEAPI DWORD WINAPI GetLengthSid (PSID);
2105 WINBASEAPI void WINAPI GetLocalTime (LPSYSTEMTIME);
2106 WINBASEAPI DWORD WINAPI GetLogicalDrives (void);
2107
2108 #define GetLogicalDriveStrings __AW_SUFFIXED__(GetLogicalDriveStrings)
2109 WINBASEAPI DWORD WINAPI GetLogicalDriveStringsA (DWORD, LPSTR);
2110 WINBASEAPI DWORD WINAPI GetLogicalDriveStringsW (DWORD, LPWSTR);
2111
2112 #if (_WIN32_WINNT >= 0x0500 || _WIN32_WINDOWS >= 0x0410)
2113 #define GetLongPathName __AW_SUFFIXED__(GetLongPathName)
2114 WINBASEAPI DWORD WINAPI GetLongPathNameA (LPCSTR, LPSTR, DWORD);
2115 WINBASEAPI DWORD WINAPI GetLongPathNameW (LPCWSTR, LPWSTR, DWORD);
2116 #endif
2117
2118 WINBASEAPI BOOL WINAPI GetMailslotInfo (HANDLE, PDWORD, PDWORD, PDWORD, PDWORD);
2119
2120 #define GetModuleFileName __AW_SUFFIXED__(GetModuleFileName)
2121 WINBASEAPI DWORD WINAPI GetModuleFileNameA (HINSTANCE, LPSTR, DWORD);
2122 WINBASEAPI DWORD WINAPI GetModuleFileNameW (HINSTANCE, LPWSTR, DWORD);
2123
2124 #define GetModuleHandle __AW_SUFFIXED__(GetModuleHandle)
2125 WINBASEAPI HMODULE WINAPI GetModuleHandleA (LPCSTR);
2126 WINBASEAPI HMODULE WINAPI GetModuleHandleW (LPCWSTR);
2127
2128 #if (_WIN32_WINNT >= 0x0501)
2129 #define GetModuleHandleEx __AW_SUFFIXED__(GetModuleHandleEx)
2130 WINBASEAPI BOOL WINAPI GetModuleHandleExA (DWORD, LPCSTR, HMODULE *);
2131 WINBASEAPI BOOL WINAPI GetModuleHandleExW (DWORD, LPCWSTR, HMODULE *);
2132 #endif
2133
2134 #define GetNamedPipeHandleState __AW_SUFFIXED__(GetNamedPipeHandleState)
2135 WINBASEAPI BOOL WINAPI GetNamedPipeHandleStateA
2136 (HANDLE, PDWORD, PDWORD, PDWORD, PDWORD, LPSTR, DWORD);
2137 WINBASEAPI BOOL WINAPI GetNamedPipeHandleStateW
2138 (HANDLE, PDWORD, PDWORD, PDWORD, PDWORD, LPWSTR, DWORD);
2139
2140 WINBASEAPI BOOL WINAPI GetNamedPipeInfo
2141 (HANDLE, PDWORD, PDWORD, PDWORD, PDWORD);
2142
2143 #if (_WIN32_WINNT >= 0x0501)
2144 WINBASEAPI VOID WINAPI GetNativeSystemInfo (LPSYSTEM_INFO);
2145 #endif
2146
2147 WINBASEAPI BOOL WINAPI GetNumberOfEventLogRecords (HANDLE, PDWORD);
2148 WINBASEAPI BOOL WINAPI GetOldestEventLogRecord (HANDLE, PDWORD);
2149 WINBASEAPI BOOL WINAPI GetOverlappedResult (HANDLE, LPOVERLAPPED, PDWORD, BOOL);
2150 WINBASEAPI DWORD WINAPI GetPriorityClass (HANDLE);
2151 WINBASEAPI BOOL WINAPI GetPrivateObjectSecurity
2152 ( PSECURITY_DESCRIPTOR, SECURITY_INFORMATION, PSECURITY_DESCRIPTOR,
2153   DWORD, PDWORD
2154 );
2155
2156 #define GetPrivateProfileInt __AW_SUFFIXED__(GetPrivateProfileInt)
2157 WINBASEAPI UINT WINAPI GetPrivateProfileIntA (LPCSTR, LPCSTR, INT, LPCSTR);
2158 WINBASEAPI UINT WINAPI GetPrivateProfileIntW (LPCWSTR, LPCWSTR, INT, LPCWSTR);
2159
2160 #define GetPrivateProfileSection __AW_SUFFIXED__(GetPrivateProfileSection)
2161 WINBASEAPI DWORD WINAPI GetPrivateProfileSectionA
2162 (LPCSTR, LPSTR, DWORD, LPCSTR);
2163 WINBASEAPI DWORD WINAPI GetPrivateProfileSectionW
2164 (LPCWSTR, LPWSTR, DWORD, LPCWSTR);
2165
2166 #define \
2167 GetPrivateProfileSectionNames __AW_SUFFIXED__(GetPrivateProfileSectionNames)
2168 WINBASEAPI DWORD WINAPI GetPrivateProfileSectionNamesA (LPSTR, DWORD, LPCSTR);
2169 WINBASEAPI DWORD WINAPI GetPrivateProfileSectionNamesW (LPWSTR, DWORD, LPCWSTR);
2170
2171 #define GetPrivateProfileString __AW_SUFFIXED__(GetPrivateProfileString)
2172 WINBASEAPI DWORD WINAPI GetPrivateProfileStringA
2173 (LPCSTR, LPCSTR, LPCSTR, LPSTR, DWORD, LPCSTR);
2174 WINBASEAPI DWORD WINAPI GetPrivateProfileStringW
2175 (LPCWSTR, LPCWSTR, LPCWSTR, LPWSTR, DWORD, LPCWSTR);
2176
2177 #define GetPrivateProfileStruct __AW_SUFFIXED__(GetPrivateProfileStruct)
2178 WINBASEAPI BOOL WINAPI GetPrivateProfileStructA
2179 (LPCSTR, LPCSTR, LPVOID, UINT, LPCSTR);
2180 WINBASEAPI BOOL WINAPI GetPrivateProfileStructW
2181 (LPCWSTR, LPCWSTR, LPVOID, UINT, LPCWSTR);
2182
2183 WINBASEAPI FARPROC WINAPI GetProcAddress (HINSTANCE, LPCSTR);
2184 WINBASEAPI BOOL WINAPI GetProcessAffinityMask (HANDLE, PDWORD, PDWORD);
2185
2186 #if (_WIN32_WINNT >= 0x0601)
2187 WINBASEAPI BOOL WINAPI GetProcessDEPPolicy (HANDLE, LPDWORD, PBOOL);
2188 #endif
2189
2190 #if (_WIN32_WINNT >= 0x0501)
2191 WINBASEAPI BOOL WINAPI GetProcessHandleCount (HANDLE, PDWORD);
2192 #endif
2193
2194 WINBASEAPI HANDLE WINAPI GetProcessHeap (VOID);
2195 WINBASEAPI DWORD WINAPI GetProcessHeaps (DWORD, PHANDLE);
2196
2197 #if (_WIN32_WINNT >= 0x0501)
2198 WINBASEAPI DWORD WINAPI GetProcessId (HANDLE);
2199 #endif
2200
2201 #if (_WIN32_WINNT >= 0x0500)
2202 WINBASEAPI BOOL WINAPI GetProcessIoCounters (HANDLE, PIO_COUNTERS);
2203 #endif
2204
2205 WINBASEAPI BOOL WINAPI GetProcessPriorityBoost (HANDLE, PBOOL);
2206 WINBASEAPI BOOL WINAPI GetProcessShutdownParameters (PDWORD, PDWORD);
2207 WINBASEAPI BOOL WINAPI GetProcessTimes
2208 (HANDLE, LPFILETIME, LPFILETIME, LPFILETIME, LPFILETIME);
2209 WINBASEAPI DWORD WINAPI GetProcessVersion (DWORD);
2210 WINBASEAPI HWINSTA WINAPI GetProcessWindowStation (void);
2211 WINBASEAPI BOOL WINAPI GetProcessWorkingSetSize (HANDLE, PSIZE_T, PSIZE_T);
2212
2213 #define GetProfileInt __AW_SUFFIXED__(GetProfileInt)
2214 WINBASEAPI UINT WINAPI GetProfileIntA (LPCSTR, LPCSTR, INT);
2215 WINBASEAPI UINT WINAPI GetProfileIntW (LPCWSTR, LPCWSTR, INT);
2216
2217 #define GetProfileSection __AW_SUFFIXED__(GetProfileSection)
2218 WINBASEAPI DWORD WINAPI GetProfileSectionA (LPCSTR, LPSTR, DWORD);
2219 WINBASEAPI DWORD WINAPI GetProfileSectionW (LPCWSTR, LPWSTR, DWORD);
2220
2221 #define GetProfileString __AW_SUFFIXED__(GetProfileString)
2222 WINBASEAPI DWORD WINAPI GetProfileStringA
2223 (LPCSTR, LPCSTR, LPCSTR, LPSTR, DWORD);
2224 WINBASEAPI DWORD WINAPI GetProfileStringW
2225 (LPCWSTR, LPCWSTR, LPCWSTR, LPWSTR, DWORD);
2226
2227 WINBASEAPI BOOL WINAPI GetQueuedCompletionStatus
2228 (HANDLE, PDWORD, PULONG_PTR, LPOVERLAPPED *, DWORD);
2229 WINBASEAPI BOOL WINAPI GetSecurityDescriptorControl
2230 (PSECURITY_DESCRIPTOR, PSECURITY_DESCRIPTOR_CONTROL, PDWORD);
2231 WINBASEAPI BOOL WINAPI GetSecurityDescriptorDacl
2232 (PSECURITY_DESCRIPTOR, LPBOOL, PACL *, LPBOOL);
2233 WINBASEAPI BOOL WINAPI GetSecurityDescriptorGroup
2234 (PSECURITY_DESCRIPTOR, PSID *, LPBOOL);
2235 WINBASEAPI DWORD WINAPI GetSecurityDescriptorLength (PSECURITY_DESCRIPTOR);
2236 WINBASEAPI BOOL WINAPI GetSecurityDescriptorOwner
2237 (PSECURITY_DESCRIPTOR, PSID *, LPBOOL);
2238 WINBASEAPI BOOL WINAPI GetSecurityDescriptorSacl
2239 (PSECURITY_DESCRIPTOR, LPBOOL, PACL *, LPBOOL);
2240
2241 #define GetShortPathName __AW_SUFFIXED__(GetShortPathName)
2242 WINBASEAPI DWORD WINAPI GetShortPathNameA (LPCSTR, LPSTR, DWORD);
2243 WINBASEAPI DWORD WINAPI GetShortPathNameW (LPCWSTR, LPWSTR, DWORD);
2244
2245 WINBASEAPI PSID_IDENTIFIER_AUTHORITY WINAPI GetSidIdentifierAuthority (PSID);
2246 WINBASEAPI DWORD WINAPI GetSidLengthRequired (UCHAR);
2247 WINBASEAPI PDWORD WINAPI GetSidSubAuthority (PSID, DWORD);
2248 WINBASEAPI PUCHAR WINAPI GetSidSubAuthorityCount (PSID);
2249
2250 #define GetStartupInfo __AW_SUFFIXED__(GetStartupInfo)
2251 WINBASEAPI VOID WINAPI GetStartupInfoA (LPSTARTUPINFOA);
2252 WINBASEAPI VOID WINAPI GetStartupInfoW (LPSTARTUPINFOW);
2253
2254 WINBASEAPI HANDLE WINAPI GetStdHandle (DWORD);
2255
2256 #if (_WIN32_WINNT >= 0x0601)
2257 WINBASEAPI DEP_SYSTEM_POLICY_TYPE WINAPI GetSystemDEPPolicy (void);
2258 #endif
2259
2260 #define GetSystemDirectory __AW_SUFFIXED__(GetSystemDirectory)
2261 WINBASEAPI UINT WINAPI GetSystemDirectoryA (LPSTR, UINT);
2262 WINBASEAPI UINT WINAPI GetSystemDirectoryW (LPWSTR, UINT);
2263
2264 WINBASEAPI VOID WINAPI GetSystemInfo (LPSYSTEM_INFO);
2265 WINBASEAPI BOOL WINAPI GetSystemPowerStatus (LPSYSTEM_POWER_STATUS);
2266
2267 #if (_WIN32_WINNT >= 0x0501)
2268 WINBASEAPI BOOL WINAPI GetSystemRegistryQuota (PDWORD, PDWORD);
2269 #endif
2270
2271 WINBASEAPI VOID WINAPI GetSystemTime (LPSYSTEMTIME);
2272
2273 #if (_WIN32_WINNT >= 0x0501)
2274 WINBASEAPI BOOL WINAPI GetSystemTimes (LPFILETIME, LPFILETIME, LPFILETIME);
2275 #endif
2276
2277 WINBASEAPI BOOL WINAPI GetSystemTimeAdjustment (PDWORD, PDWORD, PBOOL);
2278 WINBASEAPI void WINAPI GetSystemTimeAsFileTime (LPFILETIME);
2279
2280 #if (_WIN32_WINNT >= 0x0500)
2281 #define GetSystemWindowsDirectory __AW_SUFFIXED__(GetSystemWindowsDirectory)
2282 WINBASEAPI UINT WINAPI GetSystemWindowsDirectoryA (LPSTR, UINT);
2283 WINBASEAPI UINT WINAPI GetSystemWindowsDirectoryW (LPWSTR, UINT);
2284 #endif
2285
2286 #if (_WIN32_WINNT >= 0x0501)
2287 #define GetSystemWow64Directory __AW_SUFFIXED__(GetSystemWow64Directory)
2288 WINBASEAPI UINT WINAPI GetSystemWow64DirectoryA (LPSTR, UINT);
2289 WINBASEAPI UINT WINAPI GetSystemWow64DirectoryW (LPWSTR, UINT);
2290 #endif
2291
2292 WINBASEAPI DWORD WINAPI GetTapeParameters (HANDLE, DWORD, PDWORD, PVOID);
2293 WINBASEAPI DWORD WINAPI GetTapePosition (HANDLE, DWORD, PDWORD, PDWORD, PDWORD);
2294 WINBASEAPI DWORD WINAPI GetTapeStatus (HANDLE);
2295
2296 #define GetTempFileName __AW_SUFFIXED__(GetTempFileName)
2297 WINBASEAPI UINT WINAPI GetTempFileNameA (LPCSTR, LPCSTR, UINT, LPSTR);
2298 WINBASEAPI UINT WINAPI GetTempFileNameW (LPCWSTR, LPCWSTR, UINT, LPWSTR);
2299
2300 #define GetTempPath __AW_SUFFIXED__(GetTempPath)
2301 WINBASEAPI DWORD WINAPI GetTempPathA (DWORD, LPSTR);
2302 WINBASEAPI DWORD WINAPI GetTempPathW (DWORD, LPWSTR);
2303
2304 WINBASEAPI BOOL WINAPI GetThreadContext (HANDLE, LPCONTEXT);
2305
2306 #if (_WIN32_WINNT >= 0x0501)
2307 WINBASEAPI BOOL WINAPI GetThreadIOPendingFlag (HANDLE, PBOOL);
2308 #endif
2309
2310 WINBASEAPI int WINAPI GetThreadPriority (HANDLE);
2311 WINBASEAPI BOOL WINAPI GetThreadPriorityBoost (HANDLE, PBOOL);
2312 WINBASEAPI BOOL WINAPI GetThreadSelectorEntry (HANDLE, DWORD, LPLDT_ENTRY);
2313 WINBASEAPI BOOL WINAPI GetThreadTimes
2314 (HANDLE, LPFILETIME, LPFILETIME, LPFILETIME, LPFILETIME);
2315 WINBASEAPI DWORD WINAPI GetTickCount (VOID);
2316 WINBASEAPI DWORD WINAPI GetTimeZoneInformation (LPTIME_ZONE_INFORMATION);
2317 WINBASEAPI BOOL WINAPI GetTokenInformation
2318 (HANDLE, TOKEN_INFORMATION_CLASS, PVOID, DWORD, PDWORD);
2319
2320 #define GetUserName __AW_SUFFIXED__(GetUserName)
2321 WINBASEAPI BOOL WINAPI GetUserNameA (LPSTR, PDWORD);
2322 WINBASEAPI BOOL WINAPI GetUserNameW (LPWSTR, PDWORD);
2323
2324 WINBASEAPI DWORD WINAPI GetVersion (void);
2325
2326 #define GetVersionEx __AW_SUFFIXED__(GetVersionEx)
2327 WINBASEAPI BOOL WINAPI GetVersionExA (LPOSVERSIONINFOA);
2328 WINBASEAPI BOOL WINAPI GetVersionExW (LPOSVERSIONINFOW);
2329
2330 #define GetVolumeInformation __AW_SUFFIXED__(GetVolumeInformation)
2331 WINBASEAPI BOOL WINAPI GetVolumeInformationA
2332 (LPCSTR, LPSTR, DWORD, PDWORD, PDWORD, PDWORD, LPSTR, DWORD);
2333 WINBASEAPI BOOL WINAPI GetVolumeInformationW
2334 (LPCWSTR, LPWSTR, DWORD, PDWORD, PDWORD, PDWORD, LPWSTR, DWORD);
2335
2336 #if (_WIN32_WINNT >= 0x0500)
2337 #define \
2338 GetVolumeNameForVolumeMountPoint __AW_SUFFIXED__(GetVolumeNameForVolumeMountPoint)
2339 WINBASEAPI BOOL WINAPI GetVolumeNameForVolumeMountPointA (LPCSTR, LPSTR, DWORD);
2340 WINBASEAPI BOOL WINAPI GetVolumeNameForVolumeMountPointW
2341 (LPCWSTR, LPWSTR, DWORD);
2342
2343 #define GetVolumePathName __AW_SUFFIXED__(GetVolumePathName)
2344 WINBASEAPI BOOL WINAPI GetVolumePathNameA (LPCSTR, LPSTR, DWORD);
2345 WINBASEAPI BOOL WINAPI GetVolumePathNameW (LPCWSTR, LPWSTR, DWORD);
2346 #endif
2347
2348 #if (_WIN32_WINNT >= 0x0501)
2349 #define \
2350 GetVolumePathNamesForVolumeName __AW_SUFFIXED__(GetVolumePathNamesForVolumeName)
2351 WINBASEAPI BOOL WINAPI GetVolumePathNamesForVolumeNameA
2352 (LPCSTR, LPSTR, DWORD, PDWORD);
2353 WINBASEAPI BOOL WINAPI GetVolumePathNamesForVolumeNameW
2354 (LPCWSTR, LPWSTR, DWORD, PDWORD);
2355 #endif
2356
2357 #define GetWindowsDirectory __AW_SUFFIXED__(GetWindowsDirectory)
2358 WINBASEAPI UINT WINAPI GetWindowsDirectoryA (LPSTR, UINT);
2359 WINBASEAPI UINT WINAPI GetWindowsDirectoryW (LPWSTR, UINT);
2360
2361 WINBASEAPI DWORD WINAPI GetWindowThreadProcessId (HWND, PDWORD);
2362 WINBASEAPI UINT WINAPI GetWriteWatch
2363 (DWORD, PVOID, SIZE_T, PVOID *, PULONG_PTR, PULONG);
2364
2365 #define GlobalAddAtom __AW_SUFFIXED__(GlobalAddAtom)
2366 WINBASEAPI ATOM WINAPI GlobalAddAtomA (LPCSTR);
2367 WINBASEAPI ATOM WINAPI GlobalAddAtomW (LPCWSTR);
2368
2369 WINBASEAPI HGLOBAL WINAPI GlobalAlloc (UINT, DWORD);
2370 WINBASEAPI SIZE_T WINAPI GlobalCompact (DWORD); /* Obsolete: Has no effect. */
2371 WINBASEAPI ATOM WINAPI GlobalDeleteAtom (ATOM);
2372
2373 #define GlobalDiscard(hMem)  GlobalReAlloc((hMem), 0, GMEM_MOVEABLE)
2374
2375 #define GlobalFindAtom __AW_SUFFIXED__(GlobalFindAtom)
2376 WINBASEAPI ATOM WINAPI GlobalFindAtomA (LPCSTR);
2377 WINBASEAPI ATOM WINAPI GlobalFindAtomW (LPCWSTR);
2378
2379 WINBASEAPI VOID WINAPI GlobalFix (HGLOBAL); /* Obsolete: Has no effect. */
2380 WINBASEAPI UINT WINAPI GlobalFlags (HGLOBAL); /* Obsolete: Has no effect. */
2381 WINBASEAPI HGLOBAL WINAPI GlobalFree (HGLOBAL);
2382
2383 #define GlobalGetAtomName __AW_SUFFIXED__(GlobalGetAtomName)
2384 WINBASEAPI UINT WINAPI GlobalGetAtomNameA (ATOM, LPSTR, int);
2385 WINBASEAPI UINT WINAPI GlobalGetAtomNameW (ATOM, LPWSTR, int);
2386
2387 WINBASEAPI HGLOBAL WINAPI GlobalHandle (PCVOID);
2388 WINBASEAPI LPVOID WINAPI GlobalLock (HGLOBAL);
2389 WINBASEAPI VOID WINAPI GlobalMemoryStatus (LPMEMORYSTATUS);
2390
2391 #if (_WIN32_WINNT >= 0x0500)
2392 WINBASEAPI BOOL WINAPI GlobalMemoryStatusEx (LPMEMORYSTATUSEX);
2393 #endif
2394
2395 WINBASEAPI HGLOBAL WINAPI GlobalReAlloc (HGLOBAL, DWORD, UINT);
2396 WINBASEAPI DWORD WINAPI GlobalSize (HGLOBAL);
2397 WINBASEAPI VOID WINAPI GlobalUnfix (HGLOBAL); /* Obsolete: Has no effect. */
2398 WINBASEAPI BOOL WINAPI GlobalUnlock (HGLOBAL);
2399 WINBASEAPI BOOL WINAPI GlobalUnWire (HGLOBAL); /* Obsolete: Has no effect. */
2400 WINBASEAPI PVOID WINAPI GlobalWire (HGLOBAL); /* Obsolete: Has no effect. */
2401
2402 #define HasOverlappedIoCompleted(lpOverlapped)  \
2403   ((lpOverlapped)->Internal != STATUS_PENDING)
2404
2405 WINBASEAPI PVOID WINAPI HeapAlloc (HANDLE, DWORD, DWORD);
2406 SIZE_T WINAPI HeapCompact (HANDLE, DWORD);
2407 WINBASEAPI HANDLE WINAPI HeapCreate (DWORD, DWORD, DWORD);
2408 WINBASEAPI BOOL WINAPI HeapDestroy (HANDLE);
2409 WINBASEAPI BOOL WINAPI HeapFree (HANDLE, DWORD, PVOID);
2410 WINBASEAPI BOOL WINAPI HeapLock (HANDLE);
2411
2412 #if (_WIN32_WINNT >= 0x0501)
2413 WINBASEAPI BOOL WINAPI HeapQueryInformation
2414 (HANDLE, HEAP_INFORMATION_CLASS, PVOID, SIZE_T, PSIZE_T);
2415 #endif
2416
2417 WINBASEAPI PVOID WINAPI HeapReAlloc (HANDLE, DWORD, PVOID, DWORD);
2418
2419 #if (_WIN32_WINNT >= 0x0501)
2420 WINBASEAPI BOOL WINAPI HeapSetInformation
2421 (HANDLE, HEAP_INFORMATION_CLASS, PVOID, SIZE_T);
2422 #endif
2423
2424 WINBASEAPI DWORD WINAPI HeapSize (HANDLE, DWORD, PCVOID);
2425 WINBASEAPI BOOL WINAPI HeapUnlock (HANDLE);
2426 WINBASEAPI BOOL WINAPI HeapValidate (HANDLE, DWORD, PCVOID);
2427 WINBASEAPI BOOL WINAPI HeapWalk (HANDLE, LPPROCESS_HEAP_ENTRY);
2428 WINBASEAPI BOOL WINAPI ImpersonateLoggedOnUser (HANDLE);
2429 WINBASEAPI BOOL WINAPI ImpersonateNamedPipeClient (HANDLE);
2430 WINBASEAPI BOOL WINAPI ImpersonateSelf (SECURITY_IMPERSONATION_LEVEL);
2431 WINBASEAPI BOOL WINAPI InitAtomTable (DWORD);
2432 WINBASEAPI BOOL WINAPI InitializeAcl (PACL, DWORD, DWORD);
2433 WINBASEAPI VOID WINAPI InitializeCriticalSection (LPCRITICAL_SECTION);
2434 WINBASEAPI BOOL WINAPI InitializeCriticalSectionAndSpinCount
2435 (LPCRITICAL_SECTION, DWORD);
2436 WINBASEAPI DWORD WINAPI SetCriticalSectionSpinCount (LPCRITICAL_SECTION, DWORD);
2437 WINBASEAPI BOOL WINAPI InitializeSecurityDescriptor
2438 (PSECURITY_DESCRIPTOR, DWORD);
2439 WINBASEAPI BOOL WINAPI InitializeSid (PSID, PSID_IDENTIFIER_AUTHORITY, BYTE);
2440
2441 #if !(__USE_NTOSKRNL__)
2442 /* CAREFUL: These are exported from ntoskrnl.exe and declared in winddk.h
2443    as __fastcall functions, but are  exported from kernel32.dll as __stdcall */
2444 #if (_WIN32_WINNT >= 0x0501)
2445 WINBASEAPI VOID WINAPI InitializeSListHead (PSLIST_HEADER);
2446 #endif
2447
2448 #ifndef __INTERLOCKED_DECLARED
2449 /* FIXME: Is this another invitation for inconsistent definition?
2450  * Where else is this declared?
2451  */
2452 #define __INTERLOCKED_DECLARED
2453 LONG WINAPI InterlockedCompareExchange (LONG volatile *, LONG, LONG);
2454 /* PVOID WINAPI InterlockedCompareExchangePointer (PVOID *, PVOID, PVOID); */
2455 #define InterlockedCompareExchangePointer(d, e, c)  \
2456   (PVOID)InterlockedCompareExchange((LONG volatile *)(d),(LONG)(e),(LONG)(c))
2457 LONG WINAPI InterlockedDecrement (LONG volatile *);
2458 LONG WINAPI InterlockedExchange (LONG volatile *, LONG);
2459 /* PVOID WINAPI InterlockedExchangePointer (PVOID *, PVOID); */
2460 #define InterlockedExchangePointer(t, v)  \
2461   (PVOID)InterlockedExchange((LONG volatile *)(t),(LONG)(v))
2462 LONG WINAPI InterlockedExchangeAdd (LONG volatile *, LONG);
2463
2464 #if (_WIN32_WINNT >= 0x0501)
2465 PSLIST_ENTRY WINAPI InterlockedFlushSList (PSLIST_HEADER);
2466 #endif
2467
2468 LONG WINAPI InterlockedIncrement (LONG volatile *);
2469
2470 #if (_WIN32_WINNT >= 0x0501)
2471 PSLIST_ENTRY WINAPI InterlockedPopEntrySList (PSLIST_HEADER);
2472 PSLIST_ENTRY WINAPI InterlockedPushEntrySList (PSLIST_HEADER, PSLIST_ENTRY);
2473 #endif
2474 #endif /* __INTERLOCKED_DECLARED */
2475 #endif /*  __USE_NTOSKRNL__ */
2476
2477 WINBASEAPI BOOL WINAPI IsBadCodePtr (FARPROC);
2478 WINBASEAPI BOOL WINAPI IsBadHugeReadPtr (PCVOID, UINT);
2479 WINBASEAPI BOOL WINAPI IsBadHugeWritePtr (PVOID, UINT);
2480 WINBASEAPI BOOL WINAPI IsBadReadPtr (PCVOID, UINT);
2481
2482 #define IsBadStringPtr __AW_SUFFIXED__(IsBadStringPtr)
2483 WINBASEAPI BOOL WINAPI IsBadStringPtrA (LPCSTR, UINT);
2484 WINBASEAPI BOOL WINAPI IsBadStringPtrW (LPCWSTR, UINT);
2485
2486 WINBASEAPI BOOL WINAPI IsBadWritePtr (PVOID, UINT);
2487 WINBASEAPI BOOL WINAPI IsDebuggerPresent (void);
2488
2489 #if (_WIN32_WINNT >= 0x0501)
2490 WINBASEAPI BOOL IsProcessInJob (HANDLE, HANDLE, PBOOL);
2491 #endif
2492
2493 WINBASEAPI BOOL WINAPI IsProcessorFeaturePresent (DWORD);
2494 WINBASEAPI BOOL WINAPI IsSystemResumeAutomatic (void);
2495 WINBASEAPI BOOL WINAPI IsTextUnicode (PCVOID, int, LPINT);
2496
2497 #if (_WIN32_WINNT >= 0x0500)
2498 WINBASEAPI BOOL WINAPI IsTokenRestricted (HANDLE);
2499 #endif
2500
2501 WINBASEAPI BOOL WINAPI IsValidAcl (PACL);
2502 WINBASEAPI BOOL WINAPI IsValidSecurityDescriptor (PSECURITY_DESCRIPTOR);
2503 WINBASEAPI BOOL WINAPI IsValidSid (PSID);
2504
2505 #if (_WIN32_WINNT >= 0x0501)
2506 WINBASEAPI BOOL WINAPI IsWow64Process (HANDLE, PBOOL);
2507 #endif
2508
2509 WINBASEAPI void WINAPI LeaveCriticalSection (LPCRITICAL_SECTION);
2510
2511 #define LimitEmsPages(n)
2512
2513 #define LoadLibrary __AW_SUFFIXED__(LoadLibrary)
2514 WINBASEAPI HINSTANCE WINAPI LoadLibraryA (LPCSTR);
2515 WINBASEAPI HINSTANCE WINAPI LoadLibraryW (LPCWSTR);
2516
2517 #define LoadLibraryEx __AW_SUFFIXED__(LoadLibraryEx)
2518 WINBASEAPI HINSTANCE WINAPI LoadLibraryExA (LPCSTR, HANDLE, DWORD);
2519 WINBASEAPI HINSTANCE WINAPI LoadLibraryExW (LPCWSTR, HANDLE, DWORD);
2520
2521 WINBASEAPI DWORD WINAPI LoadModule (LPCSTR, PVOID);
2522 WINBASEAPI HGLOBAL WINAPI LoadResource (HINSTANCE, HRSRC);
2523 WINBASEAPI HLOCAL WINAPI LocalAlloc (UINT, SIZE_T);
2524 WINBASEAPI SIZE_T WINAPI LocalCompact (UINT); /* Obsolete: Has no effect. */
2525 WINBASEAPI HLOCAL LocalDiscard (HLOCAL);
2526 WINBASEAPI BOOL WINAPI LocalFileTimeToFileTime (CONST FILETIME *, LPFILETIME);
2527 WINBASEAPI UINT WINAPI LocalFlags (HLOCAL); /* Obsolete: Has no effect. */
2528 WINBASEAPI HLOCAL WINAPI LocalFree (HLOCAL);
2529 WINBASEAPI HLOCAL WINAPI LocalHandle (LPCVOID);
2530 WINBASEAPI PVOID WINAPI LocalLock (HLOCAL);
2531 WINBASEAPI HLOCAL WINAPI LocalReAlloc (HLOCAL, SIZE_T, UINT);
2532 WINBASEAPI SIZE_T WINAPI LocalShrink (HLOCAL, UINT);  /* Obsolete: Has no effect. */
2533 WINBASEAPI UINT WINAPI LocalSize (HLOCAL);
2534 WINBASEAPI BOOL WINAPI LocalUnlock (HLOCAL);
2535 WINBASEAPI BOOL WINAPI LockFile (HANDLE, DWORD, DWORD, DWORD, DWORD);
2536 WINBASEAPI BOOL WINAPI LockFileEx
2537 (HANDLE, DWORD, DWORD, DWORD, DWORD, LPOVERLAPPED);
2538 WINBASEAPI PVOID WINAPI LockResource (HGLOBAL);
2539
2540 #define LockSegment(w)  GlobalFix((HANDLE)(w)) /* Obsolete: Has no effect. */
2541
2542 #define LogonUser __AW_SUFFIXED__(LogonUser)
2543 WINBASEAPI BOOL WINAPI LogonUserA (LPSTR, LPSTR, LPSTR, DWORD, DWORD, PHANDLE);
2544 WINBASEAPI BOOL WINAPI LogonUserW
2545 (LPWSTR, LPWSTR, LPWSTR, DWORD, DWORD, PHANDLE);
2546
2547 #define LookupAccountName __AW_SUFFIXED__(LookupAccountName)
2548 WINBASEAPI BOOL WINAPI LookupAccountNameA
2549 (LPCSTR, LPCSTR, PSID, PDWORD, LPSTR, PDWORD, PSID_NAME_USE);
2550 WINBASEAPI BOOL WINAPI LookupAccountNameW
2551 (LPCWSTR, LPCWSTR, PSID, PDWORD, LPWSTR, PDWORD, PSID_NAME_USE);
2552
2553 #define LookupAccountSid __AW_SUFFIXED__(LookupAccountSid)
2554 WINBASEAPI BOOL WINAPI LookupAccountSidA
2555 (LPCSTR, PSID, LPSTR, PDWORD, LPSTR, PDWORD, PSID_NAME_USE);
2556 WINBASEAPI BOOL WINAPI LookupAccountSidW
2557 (LPCWSTR, PSID, LPWSTR, PDWORD, LPWSTR, PDWORD, PSID_NAME_USE);
2558
2559 #define LookupPrivilegeDisplayName __AW_SUFFIXED__(LookupPrivilegeDisplayName)
2560 WINBASEAPI BOOL WINAPI LookupPrivilegeDisplayNameA
2561 (LPCSTR, LPCSTR, LPSTR, PDWORD, PDWORD);
2562 WINBASEAPI BOOL WINAPI LookupPrivilegeDisplayNameW
2563 (LPCWSTR, LPCWSTR, LPWSTR, PDWORD, PDWORD);
2564
2565 #define LookupPrivilegeName __AW_SUFFIXED__(LookupPrivilegeName)
2566 WINBASEAPI BOOL WINAPI LookupPrivilegeNameA (LPCSTR, PLUID, LPSTR, PDWORD);
2567 WINBASEAPI BOOL WINAPI LookupPrivilegeNameW (LPCWSTR, PLUID, LPWSTR, PDWORD);
2568
2569 #define LookupPrivilegeValue __AW_SUFFIXED__(LookupPrivilegeValue)
2570 WINBASEAPI BOOL WINAPI LookupPrivilegeValueA (LPCSTR, LPCSTR, PLUID);
2571 WINBASEAPI BOOL WINAPI LookupPrivilegeValueW (LPCWSTR, LPCWSTR, PLUID);
2572
2573 #define lstrcat __AW_SUFFIXED__(lstrcat)
2574 WINBASEAPI LPSTR WINAPI lstrcatA (LPSTR, LPCSTR);
2575 WINBASEAPI LPWSTR WINAPI lstrcatW (LPWSTR, LPCWSTR);
2576
2577 #define lstrcmp __AW_SUFFIXED__(lstrcmp)
2578 WINBASEAPI int WINAPI lstrcmpA (LPCSTR, LPCSTR);
2579 WINBASEAPI int WINAPI lstrcmpW (LPCWSTR, LPCWSTR);
2580
2581 #define lstrcmpi __AW_SUFFIXED__(lstrcmpi)
2582 WINBASEAPI int WINAPI lstrcmpiA (LPCSTR, LPCSTR);
2583 WINBASEAPI int WINAPI lstrcmpiW (LPCWSTR, LPCWSTR);
2584
2585 #define lstrcpy __AW_SUFFIXED__(lstrcpy)
2586 WINBASEAPI LPSTR WINAPI lstrcpyA (LPSTR, LPCSTR);
2587 WINBASEAPI LPWSTR WINAPI lstrcpyW (LPWSTR, LPCWSTR);
2588
2589 #define lstrcpyn __AW_SUFFIXED__(lstrcpyn)
2590 WINBASEAPI LPSTR WINAPI lstrcpynA (LPSTR, LPCSTR, int);
2591 WINBASEAPI LPWSTR WINAPI lstrcpynW (LPWSTR, LPCWSTR, int);
2592
2593 #define lstrlen __AW_SUFFIXED__(lstrlen)
2594 WINBASEAPI int WINAPI lstrlenA (LPCSTR);
2595 WINBASEAPI int WINAPI lstrlenW (LPCWSTR);
2596
2597 WINBASEAPI BOOL WINAPI MakeAbsoluteSD
2598 ( PSECURITY_DESCRIPTOR, PSECURITY_DESCRIPTOR, PDWORD, PACL, PDWORD, PACL,
2599   PDWORD, PSID, PDWORD, PSID, PDWORD
2600 );
2601
2602 #define MakeProcInstance(p, i)  (p)
2603
2604 WINBASEAPI BOOL WINAPI MakeSelfRelativeSD
2605 (PSECURITY_DESCRIPTOR, PSECURITY_DESCRIPTOR, PDWORD);
2606 WINBASEAPI VOID WINAPI MapGenericMask (PDWORD, PGENERIC_MAPPING);
2607 WINBASEAPI PVOID WINAPI MapViewOfFile (HANDLE, DWORD, DWORD, DWORD, DWORD);
2608 WINBASEAPI PVOID WINAPI MapViewOfFileEx
2609 (HANDLE, DWORD, DWORD, DWORD, DWORD, PVOID);
2610
2611 #define MoveFile __AW_SUFFIXED__(MoveFile)
2612 WINBASEAPI BOOL WINAPI MoveFileA (LPCSTR, LPCSTR);
2613 WINBASEAPI BOOL WINAPI MoveFileW (LPCWSTR, LPCWSTR);
2614
2615 #define MoveFileEx __AW_SUFFIXED__(MoveFileEx)
2616 WINBASEAPI BOOL WINAPI MoveFileExA (LPCSTR, LPCSTR, DWORD);
2617 WINBASEAPI BOOL WINAPI MoveFileExW (LPCWSTR, LPCWSTR, DWORD);
2618
2619 #if (_WIN32_WINNT >= 0x0500)
2620 #define MoveFileWithProgress __AW_SUFFIXED__(MoveFileWithProgress)
2621 WINBASEAPI BOOL WINAPI MoveFileWithProgressA
2622 (LPCSTR, LPCSTR, LPPROGRESS_ROUTINE, LPVOID, DWORD);
2623 WINBASEAPI BOOL WINAPI MoveFileWithProgressW
2624 (LPCWSTR, LPCWSTR, LPPROGRESS_ROUTINE, LPVOID, DWORD);
2625 #endif
2626
2627 WINBASEAPI int WINAPI MulDiv (int, int, int);
2628 WINBASEAPI BOOL WINAPI NotifyChangeEventLog (HANDLE, HANDLE);
2629
2630 #define ObjectCloseAuditAlarm __AW_SUFFIXED__(ObjectCloseAuditAlarm)
2631 WINBASEAPI BOOL WINAPI ObjectCloseAuditAlarmA (LPCSTR, PVOID, BOOL);
2632 WINBASEAPI BOOL WINAPI ObjectCloseAuditAlarmW (LPCWSTR, PVOID, BOOL);
2633
2634 #define ObjectDeleteAuditAlarm __AW_SUFFIXED__(ObjectDeleteAuditAlarm)
2635 WINBASEAPI BOOL WINAPI ObjectDeleteAuditAlarmA (LPCSTR, PVOID, BOOL);
2636 WINBASEAPI BOOL WINAPI ObjectDeleteAuditAlarmW (LPCWSTR, PVOID, BOOL);
2637
2638 #define ObjectOpenAuditAlarm __AW_SUFFIXED__(ObjectOpenAuditAlarm)
2639 WINBASEAPI BOOL WINAPI ObjectOpenAuditAlarmA
2640 ( LPCSTR, PVOID, LPSTR, LPSTR, PSECURITY_DESCRIPTOR, HANDLE, DWORD, DWORD,
2641   PPRIVILEGE_SET, BOOL, BOOL, PBOOL
2642 );
2643 WINBASEAPI BOOL WINAPI ObjectOpenAuditAlarmW
2644 ( LPCWSTR, PVOID, LPWSTR, LPWSTR, PSECURITY_DESCRIPTOR, HANDLE, DWORD,
2645   DWORD, PPRIVILEGE_SET, BOOL, BOOL, PBOOL
2646 );
2647
2648 #define ObjectPrivilegeAuditAlarm __AW_SUFFIXED__(ObjectPrivilegeAuditAlarm)
2649 WINBASEAPI BOOL WINAPI ObjectPrivilegeAuditAlarmA
2650 (LPCSTR, PVOID, HANDLE, DWORD, PPRIVILEGE_SET, BOOL);
2651 WINBASEAPI BOOL WINAPI ObjectPrivilegeAuditAlarmW
2652 (LPCWSTR, PVOID, HANDLE, DWORD, PPRIVILEGE_SET, BOOL);
2653
2654 #define OpenBackupEventLog __AW_SUFFIXED__(OpenBackupEventLog)
2655 WINBASEAPI HANDLE WINAPI OpenBackupEventLogA (LPCSTR, LPCSTR);
2656 WINBASEAPI HANDLE WINAPI OpenBackupEventLogW (LPCWSTR, LPCWSTR);
2657
2658 #define OpenEvent __AW_SUFFIXED__(OpenEvent)
2659 WINBASEAPI HANDLE WINAPI OpenEventA (DWORD, BOOL, LPCSTR);
2660 WINBASEAPI HANDLE WINAPI OpenEventW (DWORD, BOOL, LPCWSTR);
2661
2662 #define OpenEventLog __AW_SUFFIXED__(OpenEventLog)
2663 WINBASEAPI HANDLE WINAPI OpenEventLogA (LPCSTR, LPCSTR);
2664 WINBASEAPI HANDLE WINAPI OpenEventLogW (LPCWSTR, LPCWSTR);
2665
2666 WINBASEAPI HFILE WINAPI OpenFile (LPCSTR, LPOFSTRUCT, UINT);
2667
2668 #define OpenFileMapping __AW_SUFFIXED__(OpenFileMapping)
2669 WINBASEAPI HANDLE WINAPI OpenFileMappingA (DWORD, BOOL, LPCSTR);
2670 WINBASEAPI HANDLE WINAPI OpenFileMappingW (DWORD, BOOL, LPCWSTR);
2671
2672 #define OpenMutex __AW_SUFFIXED__(OpenMutex)
2673 WINBASEAPI HANDLE WINAPI OpenMutexA (DWORD, BOOL, LPCSTR);
2674 WINBASEAPI HANDLE WINAPI OpenMutexW (DWORD, BOOL, LPCWSTR);
2675
2676 WINBASEAPI HANDLE WINAPI OpenProcess (DWORD, BOOL, DWORD);
2677 WINBASEAPI BOOL WINAPI OpenProcessToken (HANDLE, DWORD, PHANDLE);
2678
2679 #define OpenSemaphore __AW_SUFFIXED__(OpenSemaphore)
2680 WINBASEAPI HANDLE WINAPI OpenSemaphoreA (DWORD, BOOL, LPCSTR);
2681 WINBASEAPI HANDLE WINAPI OpenSemaphoreW (DWORD, BOOL, LPCWSTR);
2682
2683 #if (_WIN32_WINNT >= 0x0500) || (_WIN32_WINDOWS >= 0x0490)
2684 WINBASEAPI HANDLE WINAPI OpenThread (DWORD, BOOL, DWORD);
2685 #endif
2686
2687 WINBASEAPI BOOL WINAPI OpenThreadToken (HANDLE, DWORD, BOOL, PHANDLE);
2688
2689 /* OpenWaitableTimer: previously missing UNICODE vs. ANSI define */
2690 #define OpenWaitableTimer __AW_SUFFIXED__(OpenWaitableTimer)
2691 WINBASEAPI HANDLE WINAPI OpenWaitableTimerA (DWORD, BOOL, LPCSTR);
2692 WINBASEAPI HANDLE WINAPI OpenWaitableTimerW (DWORD, BOOL, LPCWSTR);
2693
2694 #define OutputDebugString __AW_SUFFIXED__(OutputDebugString)
2695 WINBASEAPI void WINAPI OutputDebugStringA (LPCSTR);
2696 WINBASEAPI void WINAPI OutputDebugStringW (LPCWSTR);
2697
2698 WINBASEAPI BOOL WINAPI PeekNamedPipe
2699 (HANDLE, PVOID, DWORD, PDWORD, PDWORD, PDWORD);
2700 WINBASEAPI BOOL WINAPI PostQueuedCompletionStatus
2701 (HANDLE, DWORD, ULONG_PTR, LPOVERLAPPED);
2702 WINBASEAPI DWORD WINAPI PrepareTape (HANDLE, DWORD, BOOL);
2703 WINBASEAPI BOOL WINAPI PrivilegeCheck (HANDLE, PPRIVILEGE_SET, PBOOL);
2704
2705 #define PrivilegedServiceAuditAlarm __AW_SUFFIXED__(PrivilegedServiceAuditAlarm)
2706 WINBASEAPI BOOL WINAPI PrivilegedServiceAuditAlarmA
2707 (LPCSTR, LPCSTR, HANDLE, PPRIVILEGE_SET, BOOL);
2708 WINBASEAPI BOOL WINAPI PrivilegedServiceAuditAlarmW
2709 (LPCWSTR, LPCWSTR, HANDLE, PPRIVILEGE_SET, BOOL);
2710
2711 #if (_WIN32_WINNT >= 0x0500)
2712 WINBASEAPI BOOL WINAPI ProcessIdToSessionId (DWORD, DWORD *);
2713 #endif
2714
2715 WINBASEAPI BOOL WINAPI PulseEvent (HANDLE);
2716 WINBASEAPI BOOL WINAPI PurgeComm (HANDLE, DWORD);
2717
2718 #if (_WIN32_WINNT >= 0x0501)
2719 WINBASEAPI BOOL WINAPI QueryActCtxW
2720 (DWORD, HANDLE, PVOID, ULONG, PVOID, SIZE_T, SIZE_T *);
2721 #endif
2722
2723 #define QueryDosDevice __AW_SUFFIXED__(QueryDosDevice)
2724 WINBASEAPI DWORD WINAPI QueryDosDeviceA (LPCSTR, LPSTR, DWORD);
2725 WINBASEAPI DWORD WINAPI QueryDosDeviceW (LPCWSTR, LPWSTR, DWORD);
2726
2727 #if (_WIN32_WINNT >= 0x0501)
2728 WINBASEAPI BOOL WINAPI QueryMemoryResourceNotification (HANDLE, PBOOL);
2729 #endif
2730
2731 WINBASEAPI BOOL WINAPI QueryPerformanceCounter (PLARGE_INTEGER);
2732 WINBASEAPI BOOL WINAPI QueryPerformanceFrequency (PLARGE_INTEGER);
2733 WINBASEAPI DWORD WINAPI QueueUserAPC (PAPCFUNC, HANDLE, ULONG_PTR);
2734
2735 #if (_WIN32_WINNT >= 0x0500)
2736 WINBASEAPI BOOL WINAPI QueueUserWorkItem (LPTHREAD_START_ROUTINE, PVOID, ULONG);
2737 #endif
2738
2739 WINBASEAPI void WINAPI RaiseException (DWORD, DWORD, DWORD, const DWORD *);
2740 WINBASEAPI BOOL WINAPI ReadDirectoryChangesW
2741 ( HANDLE, PVOID, DWORD, BOOL, DWORD, PDWORD, LPOVERLAPPED,
2742   LPOVERLAPPED_COMPLETION_ROUTINE
2743 );
2744
2745 #define ReadEventLog __AW_SUFFIXED__(ReadEventLog)
2746 WINBASEAPI BOOL WINAPI ReadEventLogA
2747 (HANDLE, DWORD, DWORD, PVOID, DWORD, DWORD *, DWORD *);
2748 WINBASEAPI BOOL WINAPI ReadEventLogW
2749 (HANDLE, DWORD, DWORD, PVOID, DWORD, DWORD *, DWORD *);
2750
2751 WINBASEAPI BOOL WINAPI ReadFile (HANDLE, PVOID, DWORD, PDWORD, LPOVERLAPPED);
2752 WINBASEAPI BOOL WINAPI ReadFileEx
2753 (HANDLE, PVOID, DWORD, LPOVERLAPPED, LPOVERLAPPED_COMPLETION_ROUTINE);
2754 WINBASEAPI BOOL WINAPI ReadFileScatter
2755 (HANDLE, FILE_SEGMENT_ELEMENT *, DWORD, LPDWORD, LPOVERLAPPED);
2756 WINBASEAPI BOOL WINAPI ReadProcessMemory (HANDLE, PCVOID, PVOID, DWORD, PDWORD);
2757
2758 #define RegisterEventSource __AW_SUFFIXED__(RegisterEventSource)
2759 WINBASEAPI HANDLE WINAPI RegisterEventSourceA (LPCSTR, LPCSTR);
2760 WINBASEAPI HANDLE WINAPI RegisterEventSourceW (LPCWSTR, LPCWSTR);
2761
2762 #if (_WIN32_WINNT >= 0x0500)
2763 WINBASEAPI BOOL WINAPI RegisterWaitForSingleObject
2764 (PHANDLE, HANDLE, WAITORTIMERCALLBACK, PVOID, ULONG, ULONG);
2765 WINBASEAPI HANDLE WINAPI RegisterWaitForSingleObjectEx
2766 (HANDLE, WAITORTIMERCALLBACK, PVOID, ULONG, ULONG);
2767 #endif
2768
2769 #if (_WIN32_WINNT >= 0x0501)
2770 WINBASEAPI void WINAPI ReleaseActCtx (HANDLE);
2771 #endif
2772
2773 WINBASEAPI BOOL WINAPI ReleaseMutex (HANDLE);
2774 WINBASEAPI BOOL WINAPI ReleaseSemaphore (HANDLE, LONG, LPLONG);
2775
2776 #define RemoveDirectory __AW_SUFFIXED__(RemoveDirectory)
2777 WINBASEAPI BOOL WINAPI RemoveDirectoryA (LPCSTR);
2778 WINBASEAPI BOOL WINAPI RemoveDirectoryW (LPCWSTR);
2779
2780 #if (_WIN32_WINNT >= 0x0500)
2781 WINBASEAPI ULONG WINAPI RemoveVectoredExceptionHandler (PVOID);
2782 #endif
2783
2784 #if (_WIN32_WINNT >= 0x0502)
2785 WINBASEAPI HANDLE WINAPI ReOpenFile (HANDLE, DWORD, DWORD, DWORD);
2786 #endif
2787
2788 #if (_WIN32_WINNT >= 0x0500)
2789 #define ReplaceFile __AW_SUFFIXED__(ReplaceFile)
2790 WINBASEAPI BOOL WINAPI ReplaceFileA
2791 (LPCSTR, LPCSTR, LPCSTR, DWORD, LPVOID, LPVOID);
2792 WINBASEAPI BOOL WINAPI ReplaceFileW
2793 (LPCWSTR, LPCWSTR, LPCWSTR, DWORD, LPVOID, LPVOID);
2794 #endif
2795
2796 #define ReportEvent __AW_SUFFIXED__(ReportEvent)
2797 WINBASEAPI BOOL WINAPI ReportEventA
2798 (HANDLE, WORD, WORD, DWORD, PSID, WORD, DWORD, LPCSTR *, PVOID);
2799 WINBASEAPI BOOL WINAPI ReportEventW
2800 (HANDLE, WORD, WORD, DWORD, PSID, WORD, DWORD, LPCWSTR *, PVOID);
2801
2802 #ifdef _WIN32_WCE
2803 extern BOOL ResetEvent (HANDLE);
2804 #else
2805 WINBASEAPI BOOL WINAPI ResetEvent (HANDLE);
2806 #endif
2807
2808 WINBASEAPI UINT WINAPI ResetWriteWatch (LPVOID, SIZE_T);
2809
2810 #if (_WIN32_WINNT >= 0x0510) /* Huh? Typo for 0x0501? */
2811 WINBASEAPI VOID WINAPI RestoreLastError (DWORD);
2812 #endif
2813
2814 WINBASEAPI DWORD WINAPI ResumeThread (HANDLE);
2815 WINBASEAPI BOOL WINAPI RevertToSelf (void);
2816
2817 #define SearchPath __AW_SUFFIXED__(SearchPath)
2818 WINBASEAPI DWORD WINAPI SearchPathA
2819 (LPCSTR, LPCSTR, LPCSTR, DWORD, LPSTR, LPSTR *);
2820 WINBASEAPI DWORD WINAPI SearchPathW
2821 (LPCWSTR, LPCWSTR, LPCWSTR, DWORD, LPWSTR, LPWSTR *);
2822
2823 WINBASEAPI BOOL WINAPI SetAclInformation
2824 (PACL, PVOID, DWORD, ACL_INFORMATION_CLASS);
2825 WINBASEAPI BOOL WINAPI SetCommBreak (HANDLE);
2826 WINBASEAPI BOOL WINAPI SetCommConfig (HANDLE, LPCOMMCONFIG, DWORD);
2827 WINBASEAPI BOOL WINAPI SetCommMask (HANDLE, DWORD);
2828 WINBASEAPI BOOL WINAPI SetCommState (HANDLE, LPDCB);
2829 WINBASEAPI BOOL WINAPI SetCommTimeouts (HANDLE, LPCOMMTIMEOUTS);
2830
2831 #define SetComputerName __AW_SUFFIXED__(SetComputerName)
2832 WINBASEAPI BOOL WINAPI SetComputerNameA (LPCSTR);
2833 WINBASEAPI BOOL WINAPI SetComputerNameW (LPCWSTR);
2834
2835 #if (_WIN32_WINNT >= 0x0500)
2836 /* SetComputerNameEx: previously missing UNICODE vs. ANSI define */
2837 #define SetComputerNameEx __AW_SUFFIXED__(SetComputerNameEx)
2838 WINBASEAPI BOOL WINAPI SetComputerNameExA (COMPUTER_NAME_FORMAT, LPCSTR);
2839 WINBASEAPI BOOL WINAPI SetComputerNameExW (COMPUTER_NAME_FORMAT, LPCWSTR);
2840 #endif
2841
2842 #define SetCurrentDirectory __AW_SUFFIXED__(SetCurrentDirectory)
2843 WINBASEAPI BOOL WINAPI SetCurrentDirectoryA (LPCSTR);
2844 WINBASEAPI BOOL WINAPI SetCurrentDirectoryW (LPCWSTR);
2845
2846 #define SetDefaultCommConfig __AW_SUFFIXED__(SetDefaultCommConfig)
2847 WINBASEAPI BOOL WINAPI SetDefaultCommConfigA (LPCSTR, LPCOMMCONFIG, DWORD);
2848 WINBASEAPI BOOL WINAPI SetDefaultCommConfigW (LPCWSTR, LPCOMMCONFIG, DWORD);
2849
2850 #if (_WIN32_WINNT >= 0x0502)
2851 #define SetDllDirectory __AW_SUFFIXED__(SetDllDirectory)
2852 WINBASEAPI BOOL WINAPI SetDllDirectoryA (LPCSTR);
2853 WINBASEAPI BOOL WINAPI SetDllDirectoryW (LPCWSTR);
2854 #endif
2855
2856 WINBASEAPI BOOL WINAPI SetEndOfFile (HANDLE);
2857
2858 #define SetEnvironmentVariable __AW_SUFFIXED__(SetEnvironmentVariable)
2859 WINBASEAPI BOOL WINAPI SetEnvironmentVariableA (LPCSTR, LPCSTR);
2860 WINBASEAPI BOOL WINAPI SetEnvironmentVariableW (LPCWSTR, LPCWSTR);
2861
2862 WINBASEAPI UINT WINAPI SetErrorMode (UINT);
2863
2864 #ifdef _WIN32_WCE
2865 extern BOOL SetEvent (HANDLE);
2866 #else
2867 WINBASEAPI BOOL WINAPI SetEvent (HANDLE);
2868 #endif
2869
2870 WINBASEAPI VOID WINAPI SetFileApisToANSI (void);
2871 WINBASEAPI VOID WINAPI SetFileApisToOEM (void);
2872
2873 #define SetFileAttributes __AW_SUFFIXED__(SetFileAttributes)
2874 WINBASEAPI BOOL WINAPI SetFileAttributesA (LPCSTR, DWORD);
2875 WINBASEAPI BOOL WINAPI SetFileAttributesW (LPCWSTR, DWORD);
2876
2877 WINBASEAPI DWORD WINAPI SetFilePointer (HANDLE, LONG, PLONG, DWORD);
2878 WINBASEAPI BOOL WINAPI SetFilePointerEx
2879 (HANDLE, LARGE_INTEGER, PLARGE_INTEGER, DWORD);
2880
2881 #define SetFileSecurity __AW_SUFFIXED__(SetFileSecurity)
2882 WINBASEAPI BOOL WINAPI SetFileSecurityA
2883 (LPCSTR, SECURITY_INFORMATION, PSECURITY_DESCRIPTOR);
2884 WINBASEAPI BOOL WINAPI SetFileSecurityW
2885 (LPCWSTR, SECURITY_INFORMATION, PSECURITY_DESCRIPTOR);
2886
2887 #if (_WIN32_WINNT >= 0x0501)
2888 #define SetFileShortName __AW_SUFFIXED__(SetFileShortName)
2889 WINBASEAPI BOOL WINAPI SetFileShortNameA (HANDLE, LPCSTR);
2890 WINBASEAPI BOOL WINAPI SetFileShortNameW (HANDLE, LPCWSTR);
2891 #endif
2892
2893 WINBASEAPI BOOL WINAPI SetFileTime
2894 (HANDLE, const FILETIME *, const FILETIME *, const FILETIME *);
2895
2896 #if (_WIN32_WINNT >= 0x0501)
2897 WINBASEAPI BOOL WINAPI SetFileValidData (HANDLE, LONGLONG);
2898 #endif
2899
2900 #if (_WIN32_WINNT >= 0x0502)
2901 #define \
2902 SetFirmwareEnvironmentVariable __AW_SUFFIXED__(SetFirmwareEnvironmentVariable)
2903 WINBASEAPI BOOL WINAPI SetFirmwareEnvironmentVariableA
2904 (LPCSTR, LPCSTR, PVOID, DWORD);
2905 WINBASEAPI BOOL WINAPI SetFirmwareEnvironmentVariableW
2906 (LPCWSTR, LPCWSTR, PVOID, DWORD);
2907 #endif
2908
2909 WINBASEAPI UINT WINAPI SetHandleCount (UINT);
2910 WINBASEAPI BOOL WINAPI SetHandleInformation (HANDLE, DWORD, DWORD);
2911 WINBASEAPI BOOL WINAPI SetKernelObjectSecurity
2912 (HANDLE, SECURITY_INFORMATION, PSECURITY_DESCRIPTOR);
2913 WINBASEAPI void WINAPI SetLastError (DWORD);
2914 WINBASEAPI void WINAPI SetLastErrorEx (DWORD, DWORD);
2915 WINBASEAPI BOOL WINAPI SetLocalTime (const SYSTEMTIME *);
2916 WINBASEAPI BOOL WINAPI SetMailslotInfo (HANDLE, DWORD);
2917 WINBASEAPI BOOL WINAPI SetNamedPipeHandleState (HANDLE, PDWORD, PDWORD, PDWORD);
2918 WINBASEAPI BOOL WINAPI SetPriorityClass (HANDLE, DWORD);
2919 WINBASEAPI BOOL WINAPI SetPrivateObjectSecurity
2920 ( SECURITY_INFORMATION, PSECURITY_DESCRIPTOR, PSECURITY_DESCRIPTOR *,
2921   PGENERIC_MAPPING, HANDLE
2922 );
2923 WINBASEAPI BOOL WINAPI SetProcessAffinityMask (HANDLE, DWORD);
2924
2925 #if (_WIN32_WINNT >= 0x0601)
2926 WINBASEAPI BOOL WINAPI SetProcessDEPPolicy (DWORD);
2927 #endif
2928
2929 WINBASEAPI BOOL WINAPI SetProcessPriorityBoost (HANDLE, BOOL);
2930 WINBASEAPI BOOL WINAPI SetProcessShutdownParameters (DWORD, DWORD);
2931 WINBASEAPI BOOL WINAPI SetProcessWorkingSetSize (HANDLE, SIZE_T, SIZE_T);
2932 WINBASEAPI BOOL WINAPI SetSecurityDescriptorControl
2933 ( PSECURITY_DESCRIPTOR, SECURITY_DESCRIPTOR_CONTROL, SECURITY_DESCRIPTOR_CONTROL
2934 );
2935 WINBASEAPI BOOL WINAPI SetSecurityDescriptorDacl
2936 (PSECURITY_DESCRIPTOR, BOOL, PACL, BOOL);
2937 WINBASEAPI BOOL WINAPI SetSecurityDescriptorGroup
2938 (PSECURITY_DESCRIPTOR, PSID, BOOL);
2939 WINBASEAPI BOOL WINAPI SetSecurityDescriptorOwner
2940 (PSECURITY_DESCRIPTOR, PSID, BOOL);
2941 WINBASEAPI BOOL WINAPI SetSecurityDescriptorSacl
2942 (PSECURITY_DESCRIPTOR, BOOL, PACL, BOOL);
2943 WINBASEAPI BOOL WINAPI SetStdHandle (DWORD, HANDLE);
2944
2945 #define SetSwapAreaSize(w)  (w)
2946
2947 WINBASEAPI BOOL WINAPI SetSystemPowerState (BOOL, BOOL);
2948 WINBASEAPI BOOL WINAPI SetSystemTime (const SYSTEMTIME *);
2949 WINBASEAPI BOOL WINAPI SetSystemTimeAdjustment (DWORD, BOOL);
2950 WINBASEAPI DWORD WINAPI SetTapeParameters (HANDLE, DWORD, PVOID);
2951 WINBASEAPI DWORD WINAPI SetTapePosition
2952 (HANDLE, DWORD, DWORD, DWORD, DWORD, BOOL);
2953 WINBASEAPI DWORD WINAPI SetThreadAffinityMask (HANDLE, DWORD);
2954 WINBASEAPI BOOL WINAPI SetThreadContext (HANDLE, const CONTEXT *);
2955
2956 #if (_WIN32_WINNT >= 0x0500 || _WIN32_WINDOWS >= 0x0410)
2957 WINBASEAPI EXECUTION_STATE WINAPI SetThreadExecutionState (EXECUTION_STATE);
2958 #endif
2959
2960 WINBASEAPI DWORD WINAPI SetThreadIdealProcessor (HANDLE, DWORD);
2961 WINBASEAPI BOOL WINAPI SetThreadPriority (HANDLE, int);
2962 WINBASEAPI BOOL WINAPI SetThreadPriorityBoost (HANDLE, BOOL);
2963 WINBASEAPI BOOL WINAPI SetThreadToken (PHANDLE, HANDLE);
2964 WINBASEAPI BOOL WINAPI SetTimeZoneInformation (const TIME_ZONE_INFORMATION *);
2965 WINBASEAPI BOOL WINAPI SetTokenInformation
2966 (HANDLE, TOKEN_INFORMATION_CLASS, PVOID, DWORD);
2967 WINBASEAPI LPTOP_LEVEL_EXCEPTION_FILTER WINAPI SetUnhandledExceptionFilter
2968 (LPTOP_LEVEL_EXCEPTION_FILTER);
2969 WINBASEAPI BOOL WINAPI SetupComm (HANDLE, DWORD, DWORD);
2970
2971 #define SetVolumeLabel __AW_SUFFIXED__(SetVolumeLabel)
2972 WINBASEAPI BOOL WINAPI SetVolumeLabelA (LPCSTR, LPCSTR);
2973 WINBASEAPI BOOL WINAPI SetVolumeLabelW (LPCWSTR, LPCWSTR);
2974
2975 #if (_WIN32_WINNT >= 0x0500)
2976 #define SetVolumeMountPoint __AW_SUFFIXED__(SetVolumeMountPoint)
2977 WINBASEAPI BOOL WINAPI SetVolumeMountPointA (LPCSTR, LPCSTR);
2978 WINBASEAPI BOOL WINAPI SetVolumeMountPointW (LPCWSTR, LPCWSTR);
2979 #endif
2980
2981 WINBASEAPI BOOL WINAPI SetWaitableTimer
2982 (HANDLE, const LARGE_INTEGER *, LONG, PTIMERAPCROUTINE, PVOID, BOOL);
2983 WINBASEAPI DWORD WINAPI SignalObjectAndWait (HANDLE, HANDLE, DWORD, BOOL);
2984 WINBASEAPI DWORD WINAPI SizeofResource (HINSTANCE, HRSRC);
2985 WINBASEAPI void WINAPI Sleep (DWORD);
2986 WINBASEAPI DWORD WINAPI SleepEx (DWORD, BOOL);
2987 WINBASEAPI DWORD WINAPI SuspendThread (HANDLE);
2988 WINBASEAPI void WINAPI SwitchToFiber (PVOID);
2989 WINBASEAPI BOOL WINAPI SwitchToThread (void);
2990 WINBASEAPI BOOL WINAPI SystemTimeToFileTime (const SYSTEMTIME *, LPFILETIME);
2991
2992 #if (_WIN32_WINNT >= 0x501)
2993 WINBASEAPI BOOL WINAPI TzSpecificLocalTimeToSystemTime
2994 (LPTIME_ZONE_INFORMATION, LPSYSTEMTIME, LPSYSTEMTIME);
2995 #endif
2996
2997 WINBASEAPI BOOL WINAPI SystemTimeToTzSpecificLocalTime
2998 (LPTIME_ZONE_INFORMATION, LPSYSTEMTIME, LPSYSTEMTIME);
2999 WINBASEAPI BOOL WINAPI TerminateProcess (HANDLE, UINT);
3000 WINBASEAPI BOOL WINAPI TerminateThread (HANDLE, DWORD);
3001 WINBASEAPI DWORD WINAPI TlsAlloc (VOID);
3002 WINBASEAPI BOOL WINAPI TlsFree (DWORD);
3003 WINBASEAPI PVOID WINAPI TlsGetValue (DWORD);
3004 WINBASEAPI BOOL WINAPI TlsSetValue (DWORD, PVOID);
3005 WINBASEAPI BOOL WINAPI TransactNamedPipe
3006 (HANDLE, PVOID, DWORD, PVOID, DWORD, PDWORD, LPOVERLAPPED);
3007 WINBASEAPI BOOL WINAPI TransmitCommChar (HANDLE, char);
3008 WINBASEAPI BOOL WINAPI TryEnterCriticalSection (LPCRITICAL_SECTION);
3009 WINBASEAPI LONG WINAPI UnhandledExceptionFilter (LPEXCEPTION_POINTERS);
3010 WINBASEAPI BOOL WINAPI UnlockFile (HANDLE, DWORD, DWORD, DWORD, DWORD);
3011 WINBASEAPI BOOL WINAPI UnlockFileEx (HANDLE, DWORD, DWORD, DWORD, LPOVERLAPPED);
3012
3013 #define UnlockResource(h)  (h)
3014 #define UnlockSegment(w)   GlobalUnfix((HANDLE)(w)) /* Obsolete: Has no effect. */
3015
3016 WINBASEAPI BOOL WINAPI UnmapViewOfFile (LPCVOID);
3017
3018 #if (_WIN32_WINNT >= 0x0500)
3019 WINBASEAPI BOOL WINAPI UnregisterWait (HANDLE);
3020 WINBASEAPI BOOL WINAPI UnregisterWaitEx (HANDLE, HANDLE);
3021 #endif
3022
3023 #define UpdateResource __AW_SUFFIXED__(UpdateResource)
3024 WINBASEAPI BOOL WINAPI UpdateResourceA
3025 (HANDLE, LPCSTR, LPCSTR, WORD, PVOID, DWORD);
3026 WINBASEAPI BOOL WINAPI UpdateResourceW
3027 (HANDLE, LPCWSTR, LPCWSTR, WORD, PVOID, DWORD);
3028
3029 #define VerifyVersionInfo __AW_SUFFIXED__(VerifyVersionInfo)
3030 WINBASEAPI BOOL WINAPI VerifyVersionInfoA
3031 (LPOSVERSIONINFOEXA, DWORD, DWORDLONG);
3032 WINBASEAPI BOOL WINAPI VerifyVersionInfoW
3033 (LPOSVERSIONINFOEXW, DWORD, DWORDLONG);
3034
3035 WINBASEAPI PVOID WINAPI VirtualAlloc (PVOID, DWORD, DWORD, DWORD);
3036 WINBASEAPI PVOID WINAPI VirtualAllocEx (HANDLE, PVOID, DWORD, DWORD, DWORD);
3037 WINBASEAPI BOOL WINAPI VirtualFree (PVOID, DWORD, DWORD);
3038 WINBASEAPI BOOL WINAPI VirtualFreeEx (HANDLE, PVOID, DWORD, DWORD);
3039 WINBASEAPI BOOL WINAPI VirtualLock (PVOID, DWORD);
3040 WINBASEAPI BOOL WINAPI VirtualProtect (PVOID, DWORD, DWORD, PDWORD);
3041 WINBASEAPI BOOL WINAPI VirtualProtectEx (HANDLE, PVOID, DWORD, DWORD, PDWORD);
3042 WINBASEAPI DWORD WINAPI VirtualQuery (LPCVOID, PMEMORY_BASIC_INFORMATION, DWORD);
3043 WINBASEAPI DWORD WINAPI VirtualQueryEx
3044 (HANDLE, LPCVOID, PMEMORY_BASIC_INFORMATION, DWORD);
3045 WINBASEAPI BOOL WINAPI VirtualUnlock (PVOID, DWORD);
3046 WINBASEAPI BOOL WINAPI WaitCommEvent (HANDLE, PDWORD, LPOVERLAPPED);
3047 WINBASEAPI BOOL WINAPI WaitForDebugEvent (LPDEBUG_EVENT, DWORD);
3048 WINBASEAPI DWORD WINAPI WaitForMultipleObjects
3049 (DWORD, const HANDLE *, BOOL, DWORD);
3050 WINBASEAPI DWORD WINAPI WaitForMultipleObjectsEx
3051 (DWORD, const HANDLE *, BOOL, DWORD, BOOL);
3052 WINBASEAPI DWORD WINAPI WaitForSingleObject (HANDLE, DWORD);
3053 WINBASEAPI DWORD WINAPI WaitForSingleObjectEx (HANDLE, DWORD, BOOL);
3054
3055 #define WaitNamedPipe __AW_SUFFIXED__(WaitNamedPipe)
3056 WINBASEAPI BOOL WINAPI WaitNamedPipeA (LPCSTR, DWORD);
3057 WINBASEAPI BOOL WINAPI WaitNamedPipeW (LPCWSTR, DWORD);
3058
3059 WINBASEAPI BOOL WINAPI WinLoadTrustProvider (GUID *);
3060 WINBASEAPI BOOL WINAPI WriteFile (HANDLE, PCVOID, DWORD, PDWORD, LPOVERLAPPED);
3061 WINBASEAPI BOOL WINAPI WriteFileEx
3062 (HANDLE, PCVOID, DWORD, LPOVERLAPPED, LPOVERLAPPED_COMPLETION_ROUTINE);
3063 WINBASEAPI BOOL WINAPI WriteFileGather
3064 (HANDLE, FILE_SEGMENT_ELEMENT *, DWORD, LPDWORD, LPOVERLAPPED);
3065
3066 #define WritePrivateProfileSection __AW_SUFFIXED__(WritePrivateProfileSection)
3067 WINBASEAPI BOOL WINAPI WritePrivateProfileSectionA (LPCSTR, LPCSTR, LPCSTR);
3068 WINBASEAPI BOOL WINAPI WritePrivateProfileSectionW (LPCWSTR, LPCWSTR, LPCWSTR);
3069
3070 #define WritePrivateProfileString __AW_SUFFIXED__(WritePrivateProfileString)
3071 WINBASEAPI BOOL WINAPI WritePrivateProfileStringA
3072 (LPCSTR, LPCSTR, LPCSTR, LPCSTR);
3073 WINBASEAPI BOOL WINAPI WritePrivateProfileStringW
3074 (LPCWSTR, LPCWSTR, LPCWSTR, LPCWSTR);
3075
3076 #define WritePrivateProfileStruct __AW_SUFFIXED__(WritePrivateProfileStruct)
3077 WINBASEAPI BOOL WINAPI WritePrivateProfileStructA
3078 (LPCSTR, LPCSTR, LPVOID, UINT, LPCSTR);
3079 WINBASEAPI BOOL WINAPI WritePrivateProfileStructW
3080 (LPCWSTR, LPCWSTR, LPVOID, UINT, LPCWSTR);
3081
3082 WINBASEAPI BOOL WINAPI WriteProcessMemory
3083 (HANDLE, LPVOID, LPCVOID, SIZE_T, SIZE_T *);
3084
3085 #define WriteProfileSection __AW_SUFFIXED__(WriteProfileSection)
3086 WINBASEAPI BOOL WINAPI WriteProfileSectionA (LPCSTR, LPCSTR);
3087 WINBASEAPI BOOL WINAPI WriteProfileSectionW (LPCWSTR, LPCWSTR);
3088
3089 #define WriteProfileString __AW_SUFFIXED__(WriteProfileString)
3090 WINBASEAPI BOOL WINAPI WriteProfileStringA (LPCSTR, LPCSTR, LPCSTR);
3091 WINBASEAPI BOOL WINAPI WriteProfileStringW (LPCWSTR, LPCWSTR, LPCWSTR);
3092
3093 WINBASEAPI DWORD WINAPI WriteTapemark (HANDLE, DWORD, DWORD, BOOL);
3094
3095 #define Yield()
3096
3097 #if (_WIN32_WINNT >= 0x0501)
3098 WINBASEAPI BOOL WINAPI ZombifyActCtx (HANDLE);
3099 #endif
3100
3101 #if (_WIN32_WINNT >= 0x0500)
3102 WINBASEAPI BOOL WINAPI AllocateUserPhysicalPages
3103 (HANDLE, PULONG_PTR, PULONG_PTR);
3104 WINBASEAPI BOOL WINAPI FreeUserPhysicalPages (HANDLE, PULONG_PTR, PULONG_PTR);
3105 WINBASEAPI BOOL WINAPI MapUserPhysicalPages (PVOID, ULONG_PTR, PULONG_PTR);
3106 WINBASEAPI BOOL WINAPI MapUserPhysicalPagesScatter
3107 (PVOID *, ULONG_PTR, PULONG_PTR);
3108 #endif
3109
3110 #endif  /* ! RC_INVOKED */
3111
3112 _END_C_DECLS
3113
3114 #endif  /* !_WINBASE_H: $RCSfile$: end of file */