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