OSDN Git Service

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