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