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