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