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