[PSDK] Add missing DYNAMIC_TIME_ZONE_INFORMATION and QueryInformationJobObject.
[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 BOOL
1953 WINAPI
1954 GetFileSecurityA(
1955 _In_ LPCSTR lpFileName,
1956 _In_ SECURITY_INFORMATION RequestedInformation,
1957 _Out_writes_bytes_to_opt_(nLength, *lpnLengthNeeded) PSECURITY_DESCRIPTOR pSecurityDescriptor,
1958 _In_ DWORD nLength,
1959 _Out_ LPDWORD lpnLengthNeeded);
1960
1961 BOOL WINAPI GetFileSecurityW(LPCWSTR,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR,DWORD,PDWORD);
1962 DWORD WINAPI GetFileSize(HANDLE,PDWORD);
1963 BOOL WINAPI GetFileSizeEx(HANDLE,PLARGE_INTEGER);
1964 BOOL WINAPI GetFileTime(HANDLE,LPFILETIME,LPFILETIME,LPFILETIME);
1965 DWORD WINAPI GetFileType(HANDLE);
1966 #define GetFreeSpace(w) (0x100000L)
1967 DWORD WINAPI GetFullPathNameA(LPCSTR,DWORD,LPSTR,LPSTR*);
1968 DWORD WINAPI GetFullPathNameW(LPCWSTR,DWORD,LPWSTR,LPWSTR*);
1969 BOOL WINAPI GetHandleInformation(HANDLE,PDWORD);
1970 BOOL WINAPI GetKernelObjectSecurity(HANDLE,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR,DWORD,PDWORD);
1971 DWORD WINAPI GetLastError(void);
1972 DWORD WINAPI GetLengthSid(PSID);
1973 void WINAPI GetLocalTime(LPSYSTEMTIME);
1974 DWORD WINAPI GetLogicalDrives(void);
1975
1976 _Success_(return != 0 && return <= nBufferLength)
1977 DWORD
1978 WINAPI
1979 GetLogicalDriveStringsA(
1980 _In_ DWORD nBufferLength,
1981 _Out_writes_to_opt_(nBufferLength, return + 1) LPSTR lpBuffer);
1982
1983 DWORD WINAPI GetLogicalDriveStringsW(DWORD,LPWSTR);
1984 #if (_WIN32_WINNT >= 0x0500 || _WIN32_WINDOWS >= 0x0410)
1985 DWORD WINAPI GetLongPathNameA(LPCSTR,LPSTR,DWORD);
1986 DWORD WINAPI GetLongPathNameW(LPCWSTR,LPWSTR,DWORD);
1987 #endif
1988 BOOL WINAPI GetMailslotInfo(_In_ HANDLE, _Out_opt_ PDWORD, _Out_opt_ PDWORD, _Out_opt_ PDWORD, _Out_opt_ PDWORD);
1989 DWORD WINAPI GetModuleFileNameA(HINSTANCE,LPSTR,DWORD);
1990 DWORD WINAPI GetModuleFileNameW(HINSTANCE,LPWSTR,DWORD);
1991 HMODULE WINAPI GetModuleHandleA(LPCSTR);
1992 HMODULE WINAPI GetModuleHandleW(LPCWSTR);
1993 #if (_WIN32_WINNT >= 0x0500)
1994 BOOL WINAPI GetModuleHandleExA(DWORD,LPCSTR,HMODULE*);
1995 BOOL WINAPI GetModuleHandleExW(DWORD,LPCWSTR,HMODULE*);
1996 #endif
1997
1998 #if _WIN32_WINNT >= 0x0502
1999 WINBASEAPI WINBOOL WINAPI NeedCurrentDirectoryForExePathA(LPCSTR ExeName);
2000 WINBASEAPI WINBOOL WINAPI NeedCurrentDirectoryForExePathW(LPCWSTR ExeName);
2001 #endif
2002
2003 BOOL
2004 WINAPI
2005 GetNamedPipeHandleStateA(
2006 _In_ HANDLE hNamedPipe,
2007 _Out_opt_ LPDWORD lpState,
2008 _Out_opt_ LPDWORD lpCurInstances,
2009 _Out_opt_ LPDWORD lpMaxCollectionCount,
2010 _Out_opt_ LPDWORD lpCollectDataTimeout,
2011 _Out_writes_opt_(nMaxUserNameSize) LPSTR lpUserName,
2012 _In_ DWORD nMaxUserNameSize);
2013
2014 BOOL
2015 WINAPI
2016 GetNamedPipeHandleStateW(
2017 _In_ HANDLE hNamedPipe,
2018 _Out_opt_ LPDWORD lpState,
2019 _Out_opt_ LPDWORD lpCurInstances,
2020 _Out_opt_ LPDWORD lpMaxCollectionCount,
2021 _Out_opt_ LPDWORD lpCollectDataTimeout,
2022 _Out_writes_opt_(nMaxUserNameSize) LPWSTR lpUserName,
2023 _In_ DWORD nMaxUserNameSize);
2024
2025 BOOL WINAPI GetNamedPipeInfo(_In_ HANDLE, _Out_opt_ PDWORD, _Out_opt_ PDWORD, _Out_opt_ PDWORD, _Out_opt_ PDWORD);
2026 #if (_WIN32_WINNT >= 0x0501)
2027 VOID WINAPI GetNativeSystemInfo(LPSYSTEM_INFO);
2028 #endif
2029
2030 BOOL
2031 WINAPI
2032 GetEventLogInformation(
2033 _In_ HANDLE hEventLog,
2034 _In_ DWORD dwInfoLevel,
2035 _Out_writes_bytes_to_(cbBufSize, *pcbBytesNeeded) LPVOID lpBuffer,
2036 _In_ DWORD cbBufSize,
2037 _Out_ LPDWORD pcbBytesNeeded);
2038
2039 BOOL WINAPI GetNumberOfEventLogRecords(_In_ HANDLE, _Out_ PDWORD);
2040 BOOL WINAPI GetOldestEventLogRecord(_In_ HANDLE, _Out_ PDWORD);
2041 BOOL WINAPI GetOverlappedResult(HANDLE,LPOVERLAPPED,PDWORD,BOOL);
2042 DWORD WINAPI GetPriorityClass(HANDLE);
2043 BOOL WINAPI GetPrivateObjectSecurity(PSECURITY_DESCRIPTOR,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR,DWORD,PDWORD);
2044 UINT WINAPI GetPrivateProfileIntA(_In_ LPCSTR, _In_ LPCSTR, _In_ INT, _In_opt_ LPCSTR);
2045 UINT WINAPI GetPrivateProfileIntW(_In_ LPCWSTR, _In_ LPCWSTR, _In_ INT, _In_opt_ LPCWSTR);
2046
2047 DWORD
2048 WINAPI
2049 GetPrivateProfileSectionA(
2050 _In_ LPCSTR lpAppName,
2051 _Out_writes_to_opt_(nSize, return + 1) LPSTR lpReturnedString,
2052 _In_ DWORD nSize,
2053 _In_opt_ LPCSTR lpFileName);
2054
2055 DWORD
2056 WINAPI
2057 GetPrivateProfileSectionW(
2058 _In_ LPCWSTR lpAppName,
2059 _Out_writes_to_opt_(nSize, return + 1) LPWSTR lpReturnedString,
2060 _In_ DWORD nSize,
2061 _In_opt_ LPCWSTR lpFileName);
2062
2063 DWORD
2064 WINAPI
2065 GetPrivateProfileSectionNamesA(
2066 _Out_writes_to_opt_(nSize, return + 1) LPSTR lpszReturnBuffer,
2067 _In_ DWORD nSize,
2068 _In_opt_ LPCSTR lpFileName);
2069
2070 DWORD
2071 WINAPI
2072 GetPrivateProfileSectionNamesW(
2073 _Out_writes_to_opt_(nSize, return + 1) LPWSTR lpszReturnBuffer,
2074 _In_ DWORD nSize,
2075 _In_opt_ LPCWSTR lpFileName);
2076
2077 DWORD
2078 WINAPI
2079 GetPrivateProfileStringA(
2080 _In_opt_ LPCSTR lpAppName,
2081 _In_opt_ LPCSTR lpKeyName,
2082 _In_opt_ LPCSTR lpDefault,
2083 _Out_writes_to_opt_(nSize, return + 1) LPSTR lpReturnedString,
2084 _In_ DWORD nSize,
2085 _In_opt_ LPCSTR lpFileName);
2086
2087 DWORD
2088 WINAPI
2089 GetPrivateProfileStringW(
2090 _In_opt_ LPCWSTR lpAppName,
2091 _In_opt_ LPCWSTR lpKeyName,
2092 _In_opt_ LPCWSTR lpDefault,
2093 _Out_writes_to_opt_(nSize, return + 1) LPWSTR lpReturnedString,
2094 _In_ DWORD nSize,
2095 _In_opt_ LPCWSTR lpFileName);
2096
2097 BOOL
2098 WINAPI
2099 GetPrivateProfileStructA(
2100 _In_ LPCSTR lpszSection,
2101 _In_ LPCSTR lpszKey,
2102 _Out_writes_bytes_opt_(uSizeStruct) LPVOID lpStruct,
2103 _In_ UINT uSizeStruct,
2104 _In_opt_ LPCSTR szFile);
2105
2106 BOOL
2107 WINAPI
2108 GetPrivateProfileStructW(
2109 _In_ LPCWSTR lpszSection,
2110 _In_ LPCWSTR lpszKey,
2111 _Out_writes_bytes_opt_(uSizeStruct) LPVOID lpStruct,
2112 _In_ UINT uSizeStruct,
2113 _In_opt_ LPCWSTR szFile);
2114
2115 FARPROC WINAPI GetProcAddress(HINSTANCE,LPCSTR);
2116 BOOL WINAPI GetProcessAffinityMask(_In_ HANDLE, _Out_ PDWORD_PTR, _Out_ PDWORD_PTR);
2117 #if (_WIN32_WINNT >= 0x0502)
2118 BOOL WINAPI GetProcessHandleCount(_In_ HANDLE, _Out_ PDWORD);
2119 #endif
2120 HANDLE WINAPI GetProcessHeap(VOID);
2121 DWORD WINAPI GetProcessHeaps(DWORD,PHANDLE);
2122 #if (_WIN32_WINNT >= 0x0502)
2123 DWORD WINAPI GetProcessId(HANDLE);
2124 #endif
2125 #if (_WIN32_WINNT >= 0x0500)
2126 BOOL WINAPI GetProcessIoCounters(_In_ HANDLE, _Out_ PIO_COUNTERS);
2127 #endif
2128 BOOL WINAPI GetProcessPriorityBoost(_In_ HANDLE, _Out_ PBOOL);
2129 BOOL WINAPI GetProcessShutdownParameters(_Out_ PDWORD, _Out_ PDWORD);
2130 BOOL WINAPI GetProcessTimes(HANDLE,LPFILETIME,LPFILETIME,LPFILETIME,LPFILETIME);
2131 DWORD WINAPI GetProcessVersion(DWORD);
2132 HWINSTA WINAPI GetProcessWindowStation(void);
2133 BOOL WINAPI GetProcessWorkingSetSize(_In_ HANDLE, _Out_ PSIZE_T, _Out_ PSIZE_T);
2134 UINT WINAPI GetProfileIntA(_In_ LPCSTR, _In_ LPCSTR, _In_ INT);
2135 UINT WINAPI GetProfileIntW(_In_ LPCWSTR, _In_ LPCWSTR, _In_ INT);
2136
2137 DWORD
2138 WINAPI
2139 GetProfileSectionA(
2140 _In_ LPCSTR lpAppName,
2141 _Out_writes_to_opt_(nSize, return + 1) LPSTR lpReturnedString,
2142 _In_ DWORD nSize);
2143
2144 DWORD
2145 WINAPI
2146 GetProfileSectionW(
2147 _In_ LPCWSTR lpAppName,
2148 _Out_writes_to_opt_(nSize, return + 1) LPWSTR lpReturnedString,
2149 _In_ DWORD nSize);
2150
2151 DWORD
2152 WINAPI
2153 GetProfileStringA(
2154 _In_opt_ LPCSTR lpAppName,
2155 _In_opt_ LPCSTR lpKeyName,
2156 _In_opt_ LPCSTR lpDefault,
2157 _Out_writes_to_opt_(nSize, return + 1) LPSTR lpReturnedString,
2158 _In_ DWORD nSize);
2159
2160 DWORD
2161 WINAPI
2162 GetProfileStringW(
2163 _In_opt_ LPCWSTR lpAppName,
2164 _In_opt_ LPCWSTR lpKeyName,
2165 _In_opt_ LPCWSTR lpDefault,
2166 _Out_writes_to_opt_(nSize, return + 1) LPWSTR lpReturnedString,
2167 _In_ DWORD nSize);
2168
2169 BOOL WINAPI GetQueuedCompletionStatus(HANDLE,PDWORD,PULONG_PTR,LPOVERLAPPED*,DWORD);
2170 BOOL WINAPI GetSecurityDescriptorControl(PSECURITY_DESCRIPTOR,PSECURITY_DESCRIPTOR_CONTROL,PDWORD);
2171 BOOL WINAPI GetSecurityDescriptorDacl(PSECURITY_DESCRIPTOR,LPBOOL,PACL*,LPBOOL);
2172 BOOL WINAPI GetSecurityDescriptorGroup(PSECURITY_DESCRIPTOR,PSID*,LPBOOL);
2173 DWORD WINAPI GetSecurityDescriptorLength(PSECURITY_DESCRIPTOR);
2174 BOOL WINAPI GetSecurityDescriptorOwner(PSECURITY_DESCRIPTOR,PSID*,LPBOOL);
2175 DWORD WINAPI GetSecurityDescriptorRMControl(PSECURITY_DESCRIPTOR,PUCHAR);
2176 BOOL WINAPI GetSecurityDescriptorSacl(PSECURITY_DESCRIPTOR,LPBOOL,PACL*,LPBOOL);
2177
2178 _Success_(return != 0 && return < cchBuffer)
2179 DWORD
2180 WINAPI
2181 GetShortPathNameA(
2182 _In_ LPCSTR lpszLongPath,
2183 _Out_writes_to_opt_(cchBuffer, return + 1) LPSTR lpszShortPath,
2184 _In_ DWORD cchBuffer);
2185
2186 DWORD WINAPI GetShortPathNameW(LPCWSTR,LPWSTR,DWORD);
2187 PSID_IDENTIFIER_AUTHORITY WINAPI GetSidIdentifierAuthority(PSID);
2188 DWORD WINAPI GetSidLengthRequired(UCHAR);
2189 PDWORD WINAPI GetSidSubAuthority(PSID,DWORD);
2190 PUCHAR WINAPI GetSidSubAuthorityCount(PSID);
2191 VOID WINAPI GetStartupInfoA(_Out_ LPSTARTUPINFOA);
2192 VOID WINAPI GetStartupInfoW(LPSTARTUPINFOW);
2193 HANDLE WINAPI GetStdHandle(DWORD);
2194 UINT WINAPI GetSystemDirectoryA(LPSTR,UINT);
2195 UINT WINAPI GetSystemDirectoryW(LPWSTR,UINT);
2196 VOID WINAPI GetSystemInfo(LPSYSTEM_INFO);
2197 BOOL WINAPI GetSystemPowerStatus(_Out_ LPSYSTEM_POWER_STATUS);
2198 #if (_WIN32_WINNT >= 0x0502)
2199 BOOL WINAPI GetSystemRegistryQuota(_Out_opt_ PDWORD, _Out_opt_ PDWORD);
2200 #endif
2201 VOID WINAPI GetSystemTime(LPSYSTEMTIME);
2202 #if (_WIN32_WINNT >= 0x0501)
2203 BOOL WINAPI GetSystemTimes(_Out_opt_ LPFILETIME, _Out_opt_ LPFILETIME, _Out_opt_ LPFILETIME);
2204 #endif
2205 BOOL WINAPI GetSystemTimeAdjustment(PDWORD,PDWORD,PBOOL);
2206 void WINAPI GetSystemTimeAsFileTime(LPFILETIME);
2207 #if (_WIN32_WINNT >= 0x0500)
2208 UINT WINAPI GetSystemWindowsDirectoryA(LPSTR,UINT);
2209 UINT WINAPI GetSystemWindowsDirectoryW(LPWSTR,UINT);
2210 #endif
2211
2212 #if (_WIN32_WINNT >= 0x0501)
2213
2214 _Success_(return != 0 && return < uSize)
2215 UINT
2216 WINAPI
2217 GetSystemWow64DirectoryA(
2218 _Out_writes_to_opt_(uSize, return + 1) LPSTR lpBuffer,
2219 _In_ UINT uSize);
2220
2221 _Success_(return != 0 && return < uSize)
2222 UINT
2223 WINAPI
2224 GetSystemWow64DirectoryW(
2225 _Out_writes_to_opt_(uSize, return + 1) LPWSTR lpBuffer,
2226 _In_ UINT uSize);
2227
2228 #endif
2229
2230 DWORD
2231 WINAPI
2232 GetTapeParameters(
2233 _In_ HANDLE hDevice,
2234 _In_ DWORD dwOperation,
2235 _Inout_ LPDWORD lpdwSize,
2236 _Out_writes_bytes_(*lpdwSize) LPVOID lpTapeInformation);
2237
2238 DWORD WINAPI GetTapePosition(_In_ HANDLE, _In_ DWORD, _Out_ PDWORD, _Out_ PDWORD, _Out_ PDWORD);
2239 DWORD WINAPI GetTapeStatus(_In_ HANDLE);
2240
2241 UINT
2242 WINAPI
2243 GetTempFileNameA(
2244 _In_ LPCSTR lpPathName,
2245 _In_ LPCSTR lpPrefixString,
2246 _In_ UINT uUnique,
2247 _Out_writes_(MAX_PATH) LPSTR lpTempFileName);
2248
2249 UINT WINAPI GetTempFileNameW(LPCWSTR,LPCWSTR,UINT,LPWSTR);
2250
2251 DWORD
2252 WINAPI
2253 GetTempPathA(
2254 _In_ DWORD nBufferLength,
2255 _Out_writes_to_opt_(nBufferLength, return + 1) LPSTR lpBuffer);
2256
2257 DWORD WINAPI GetTempPathW(DWORD,LPWSTR);
2258 BOOL WINAPI GetThreadContext(HANDLE,LPCONTEXT);
2259 #if (_WIN32_WINNT >= 0x0502)
2260 BOOL WINAPI GetThreadIOPendingFlag(_In_ HANDLE, _Out_ PBOOL);
2261 #endif
2262 int WINAPI GetThreadPriority(HANDLE);
2263 BOOL WINAPI GetThreadPriorityBoost(HANDLE,PBOOL);
2264 BOOL WINAPI GetThreadSelectorEntry(_In_ HANDLE, _In_ DWORD, _Out_ LPLDT_ENTRY);
2265 BOOL WINAPI GetThreadTimes(HANDLE,LPFILETIME,LPFILETIME,LPFILETIME,LPFILETIME);
2266 DWORD WINAPI GetTickCount(VOID);
2267 #if (_WIN32_WINNT >= 0x0600)
2268 ULONGLONG WINAPI GetTickCount64(VOID);
2269 #endif
2270 DWORD WINAPI GetThreadId(HANDLE);
2271 DWORD WINAPI GetTimeZoneInformation(LPTIME_ZONE_INFORMATION);
2272 BOOL WINAPI GetTokenInformation(HANDLE,TOKEN_INFORMATION_CLASS,PVOID,DWORD,PDWORD);
2273
2274 BOOL
2275 WINAPI
2276 GetUserNameA(
2277 _Out_writes_to_opt_(*pcbBuffer, *pcbBuffer) LPSTR lpBuffer,
2278 _Inout_ LPDWORD pcbBuffer);
2279
2280 BOOL
2281 WINAPI
2282 GetUserNameW(
2283 _Out_writes_to_opt_(*pcbBuffer, *pcbBuffer) LPWSTR lpBuffer,
2284 _Inout_ LPDWORD pcbBuffer);
2285
2286 DWORD WINAPI GetVersion(void);
2287 BOOL WINAPI GetVersionExA(LPOSVERSIONINFOA);
2288 BOOL WINAPI GetVersionExW(LPOSVERSIONINFOW);
2289
2290 BOOL
2291 WINAPI
2292 GetVolumeInformationA(
2293 _In_opt_ LPCSTR lpRootPathName,
2294 _Out_writes_opt_(nVolumeNameSize) LPSTR lpVolumeNameBuffer,
2295 _In_ DWORD nVolumeNameSize,
2296 _Out_opt_ LPDWORD lpVolumeSerialNumber,
2297 _Out_opt_ LPDWORD lpMaximumComponentLength,
2298 _Out_opt_ LPDWORD lpFileSystemFlags,
2299 _Out_writes_opt_(nFileSystemNameSize) LPSTR lpFileSystemNameBuffer,
2300 _In_ DWORD nFileSystemNameSize);
2301
2302 BOOL WINAPI GetVolumeInformationW(LPCWSTR,LPWSTR,DWORD,PDWORD,PDWORD,PDWORD,LPWSTR,DWORD);
2303
2304 #if (_WIN32_WINNT >= 0x0500)
2305
2306 BOOL
2307 WINAPI
2308 GetVolumeNameForVolumeMountPointA(
2309 _In_ LPCSTR lpszVolumeMountPoint,
2310 _Out_writes_(cchBufferLength) LPSTR lpszVolumeName,
2311 _In_ DWORD cchBufferLength);
2312
2313 BOOL WINAPI GetVolumeNameForVolumeMountPointW(LPCWSTR,LPWSTR,DWORD);
2314
2315 BOOL
2316 WINAPI
2317 GetVolumePathNameA(
2318 _In_ LPCSTR lpszFileName,
2319 _Out_writes_(cchBufferLength) LPSTR lpszVolumePathName,
2320 _In_ DWORD cchBufferLength);
2321
2322 BOOL WINAPI GetVolumePathNameW(LPCWSTR,LPWSTR,DWORD);
2323
2324 #endif
2325
2326 #if (_WIN32_WINNT >= 0x0501)
2327
2328 BOOL
2329 WINAPI
2330 GetVolumePathNamesForVolumeNameA(
2331 _In_ LPCSTR lpszVolumeName,
2332 _Out_writes_to_opt_(cchBufferLength, *lpcchReturnLength) _Post_ _NullNull_terminated_ LPCH lpszVolumePathNames,
2333 _In_ DWORD cchBufferLength,
2334 _Out_ PDWORD lpcchReturnLength);
2335
2336 BOOL WINAPI GetVolumePathNamesForVolumeNameW(LPCWSTR,LPWSTR,DWORD,PDWORD);
2337
2338 #endif
2339
2340 UINT WINAPI GetWindowsDirectoryA(LPSTR,UINT);
2341 UINT WINAPI GetWindowsDirectoryW(LPWSTR,UINT);
2342 DWORD WINAPI GetWindowThreadProcessId(HWND,PDWORD);
2343 UINT WINAPI GetWriteWatch(DWORD,PVOID,SIZE_T,PVOID*,PULONG_PTR,PULONG);
2344 ATOM WINAPI GlobalAddAtomA(_In_opt_ LPCSTR);
2345 ATOM WINAPI GlobalAddAtomW(_In_opt_ LPCWSTR);
2346 HGLOBAL WINAPI GlobalAlloc(UINT,SIZE_T);
2347 SIZE_T WINAPI GlobalCompact(_In_ DWORD); /* Obsolete: Has no effect. */
2348 ATOM WINAPI GlobalDeleteAtom(_In_ ATOM);
2349 #define GlobalDiscard(m) GlobalReAlloc((m),0,GMEM_MOVEABLE)
2350 ATOM WINAPI GlobalFindAtomA(_In_opt_ LPCSTR);
2351 ATOM WINAPI GlobalFindAtomW(_In_opt_ LPCWSTR);
2352 VOID WINAPI GlobalFix(_In_ HGLOBAL); /* Obsolete: Has no effect. */
2353 UINT WINAPI GlobalFlags(_In_ HGLOBAL); /* Obsolete: Has no effect. */
2354 HGLOBAL WINAPI GlobalFree(HGLOBAL);
2355
2356 UINT
2357 WINAPI
2358 GlobalGetAtomNameA(
2359 _In_ ATOM nAtom,
2360 _Out_writes_to_(nSize, return + 1) LPSTR lpBuffer,
2361 _In_ int nSize);
2362
2363 UINT
2364 WINAPI
2365 GlobalGetAtomNameW(
2366 _In_ ATOM nAtom,
2367 _Out_writes_to_(nSize, return + 1) LPWSTR lpBuffer,
2368 _In_ int nSize);
2369
2370 _Ret_maybenull_ HGLOBAL WINAPI GlobalHandle(_In_ LPCVOID);
2371 _Ret_maybenull_ LPVOID WINAPI GlobalLock(_In_ HGLOBAL);
2372 VOID WINAPI GlobalMemoryStatus(_Out_ LPMEMORYSTATUS);
2373 #if (_WIN32_WINNT >= 0x0500)
2374 BOOL WINAPI GlobalMemoryStatusEx(LPMEMORYSTATUSEX);
2375 #endif
2376 HGLOBAL WINAPI GlobalReAlloc(HGLOBAL,SIZE_T,UINT);
2377 SIZE_T WINAPI GlobalSize(_In_ HGLOBAL);
2378 VOID WINAPI GlobalUnfix(_In_ HGLOBAL); /* Obsolete: Has no effect. */
2379 BOOL WINAPI GlobalUnlock(_In_ HGLOBAL);
2380 BOOL WINAPI GlobalUnWire(_In_ HGLOBAL); /* Obsolete: Has no effect. */
2381 PVOID WINAPI GlobalWire(_In_ HGLOBAL); /* Obsolete: Has no effect. */
2382 #define HasOverlappedIoCompleted(lpOverlapped) ((lpOverlapped)->Internal != STATUS_PENDING)
2383 PVOID WINAPI HeapAlloc(HANDLE,DWORD,SIZE_T);
2384 SIZE_T WINAPI HeapCompact(HANDLE,DWORD);
2385 HANDLE WINAPI HeapCreate(DWORD,SIZE_T,SIZE_T);
2386 BOOL WINAPI HeapDestroy(HANDLE);
2387 BOOL WINAPI HeapFree(HANDLE,DWORD,PVOID);
2388 BOOL WINAPI HeapLock(HANDLE);
2389 #if (_WIN32_WINNT >= 0x0501)
2390 BOOL WINAPI HeapQueryInformation(HANDLE,HEAP_INFORMATION_CLASS,PVOID,SIZE_T,PSIZE_T);
2391 #endif
2392 PVOID WINAPI HeapReAlloc(HANDLE,DWORD,PVOID,SIZE_T);
2393 #if (_WIN32_WINNT >= 0x0501)
2394 BOOL WINAPI HeapSetInformation(HANDLE,HEAP_INFORMATION_CLASS,PVOID,SIZE_T);
2395 #endif
2396 SIZE_T WINAPI HeapSize(HANDLE,DWORD,LPCVOID);
2397 BOOL WINAPI HeapUnlock(HANDLE);
2398 BOOL WINAPI HeapValidate(HANDLE,DWORD,LPCVOID);
2399 BOOL WINAPI HeapWalk(HANDLE,LPPROCESS_HEAP_ENTRY);
2400 BOOL WINAPI ImpersonateAnonymousToken(HANDLE);
2401 BOOL WINAPI ImpersonateLoggedOnUser(HANDLE);
2402 BOOL WINAPI ImpersonateNamedPipeClient(HANDLE);
2403 BOOL WINAPI ImpersonateSelf(SECURITY_IMPERSONATION_LEVEL);
2404 BOOL WINAPI InitAtomTable(_In_ DWORD);
2405 BOOL WINAPI InitializeAcl(PACL,DWORD,DWORD);
2406 #if (_WIN32_WINNT >= 0x0600)
2407 VOID WINAPI InitializeConditionVariable(PCONDITION_VARIABLE);
2408 #endif
2409 VOID WINAPI InitializeCriticalSection(LPCRITICAL_SECTION);
2410 BOOL WINAPI InitializeCriticalSectionAndSpinCount(LPCRITICAL_SECTION,DWORD);
2411 DWORD WINAPI SetCriticalSectionSpinCount(LPCRITICAL_SECTION,DWORD);
2412 BOOL WINAPI InitializeSecurityDescriptor(PSECURITY_DESCRIPTOR,DWORD);
2413 BOOL WINAPI InitializeSid (PSID,PSID_IDENTIFIER_AUTHORITY,BYTE);
2414
2415 #if (_WIN32_WINNT >= 0x0600)
2416 VOID WINAPI InitializeSRWLock(PSRWLOCK);
2417 #endif
2418
2419 BOOL WINAPI IsBadCodePtr(_In_opt_ FARPROC);
2420 BOOL WINAPI IsBadHugeReadPtr(_In_opt_ CONST VOID*, _In_ UINT_PTR);
2421 BOOL WINAPI IsBadHugeWritePtr(_In_opt_ PVOID, _In_ UINT_PTR);
2422 BOOL WINAPI IsBadReadPtr(_In_opt_ CONST VOID*, _In_ UINT_PTR);
2423 BOOL WINAPI IsBadStringPtrA(_In_opt_ LPCSTR, _In_ UINT_PTR);
2424 BOOL WINAPI IsBadStringPtrW(_In_opt_ LPCWSTR, _In_ UINT_PTR);
2425 BOOL WINAPI IsBadWritePtr(_In_opt_ PVOID, _In_ UINT_PTR);
2426 BOOL WINAPI IsDebuggerPresent(void);
2427 #if (_WIN32_WINNT >= 0x0501)
2428 BOOL WINAPI IsProcessInJob(HANDLE,HANDLE,PBOOL);
2429 #endif
2430 BOOL WINAPI IsProcessorFeaturePresent(DWORD);
2431 BOOL WINAPI IsSystemResumeAutomatic(void);
2432
2433 BOOL
2434 WINAPI
2435 IsTextUnicode(
2436 _In_reads_bytes_(iSize) CONST VOID *lpv,
2437 _In_ int iSize,
2438 _Inout_opt_ LPINT lpiResult);
2439
2440 #if (_WIN32_WINNT >= 0x0600)
2441 BOOL WINAPI IsThreadAFiber(VOID);
2442 #endif
2443 BOOL WINAPI IsValidAcl(PACL);
2444 BOOL WINAPI IsValidSecurityDescriptor(PSECURITY_DESCRIPTOR);
2445 BOOL WINAPI IsValidSid(PSID);
2446 #if (_WIN32_WINNT >= 0x0501)
2447 BOOL WINAPI IsWellKnownSid(PSID,WELL_KNOWN_SID_TYPE);
2448 BOOL WINAPI IsWow64Process(HANDLE,PBOOL);
2449 #endif
2450 void WINAPI LeaveCriticalSection(LPCRITICAL_SECTION);
2451 #define LimitEmsPages(n)
2452 _Ret_maybenull_ HINSTANCE WINAPI LoadLibraryA(_In_ LPCSTR);
2453 _Ret_maybenull_ HINSTANCE WINAPI LoadLibraryW(_In_ LPCWSTR);
2454 HINSTANCE WINAPI LoadLibraryExA(LPCSTR,HANDLE,DWORD);
2455 HINSTANCE WINAPI LoadLibraryExW(LPCWSTR,HANDLE,DWORD);
2456 DWORD WINAPI LoadModule(_In_ LPCSTR, _In_ PVOID);
2457 HGLOBAL WINAPI LoadResource(HINSTANCE,HRSRC);
2458 HLOCAL WINAPI LocalAlloc(UINT,SIZE_T);
2459 SIZE_T WINAPI LocalCompact(_In_ UINT); /* Obsolete: Has no effect. */
2460 #define LocalDiscard(m) (LocalReAlloc((m),0,LMEM_MOVEABLE))
2461 BOOL WINAPI LocalFileTimeToFileTime(CONST FILETIME *,LPFILETIME);
2462 UINT WINAPI LocalFlags(_In_ HLOCAL); /* Obsolete: Has no effect. */
2463 HLOCAL WINAPI LocalFree(HLOCAL);
2464 _Ret_maybenull_ HLOCAL WINAPI LocalHandle(_In_ LPCVOID);
2465 PVOID WINAPI LocalLock(HLOCAL);
2466 HLOCAL WINAPI LocalReAlloc(HLOCAL,SIZE_T,UINT);
2467 SIZE_T WINAPI LocalShrink(_In_ HLOCAL, _In_ UINT); /* Obsolete: Has no effect. */
2468 SIZE_T WINAPI LocalSize(_In_ HLOCAL);
2469 BOOL WINAPI LocalUnlock(HLOCAL);
2470 BOOL WINAPI LockFile(HANDLE,DWORD,DWORD,DWORD,DWORD);
2471 BOOL WINAPI LockFileEx(HANDLE,DWORD,DWORD,DWORD,DWORD,LPOVERLAPPED);
2472 PVOID WINAPI LockResource(HGLOBAL);
2473 #define LockSegment(w) GlobalFix((HANDLE)(w)) /* Obsolete: Has no effect. */
2474 BOOL WINAPI LogonUserA(_In_ LPSTR, _In_opt_ LPSTR, _In_opt_ LPSTR, _In_ DWORD, _In_ DWORD, _Outptr_ PHANDLE);
2475 BOOL WINAPI LogonUserW(_In_ LPWSTR, _In_opt_ LPWSTR, _In_opt_ LPWSTR, _In_ DWORD, _In_ DWORD, _Outptr_ PHANDLE);
2476
2477 _Success_(return != FALSE)
2478 BOOL
2479 WINAPI
2480 LookupAccountNameA(
2481 _In_opt_ LPCSTR lpSystemName,
2482 _In_ LPCSTR lpAccountName,
2483 _Out_writes_bytes_to_opt_(*cbSid, *cbSid) PSID Sid,
2484 _Inout_ LPDWORD cbSid,
2485 _Out_writes_to_opt_(*cchReferencedDomainName, *cchReferencedDomainName + 1) LPSTR ReferencedDomainName,
2486 _Inout_ LPDWORD cchReferencedDomainName,
2487 _Out_ PSID_NAME_USE peUse);
2488
2489 _Success_(return != FALSE)
2490 BOOL
2491 WINAPI
2492 LookupAccountNameW(
2493 _In_opt_ LPCWSTR lpSystemName,
2494 _In_ LPCWSTR lpAccountName,
2495 _Out_writes_bytes_to_opt_(*cbSid, *cbSid) PSID Sid,
2496 _Inout_ LPDWORD cbSid,
2497 _Out_writes_to_opt_(*cchReferencedDomainName, *cchReferencedDomainName + 1) LPWSTR ReferencedDomainName,
2498 _Inout_ LPDWORD cchReferencedDomainName,
2499 _Out_ PSID_NAME_USE peUse);
2500
2501 _Success_(return != FALSE)
2502 BOOL
2503 WINAPI
2504 LookupAccountSidA(
2505 _In_opt_ LPCSTR lpSystemName,
2506 _In_ PSID Sid,
2507 _Out_writes_to_opt_(*cchName, *cchName + 1) LPSTR Name,
2508 _Inout_ LPDWORD cchName,
2509 _Out_writes_to_opt_(*cchReferencedDomainName, *cchReferencedDomainName + 1) LPSTR ReferencedDomainName,
2510 _Inout_ LPDWORD cchReferencedDomainName,
2511 _Out_ PSID_NAME_USE peUse);
2512
2513 _Success_(return != FALSE)
2514 BOOL
2515 WINAPI
2516 LookupAccountSidW(
2517 _In_opt_ LPCWSTR lpSystemName,
2518 _In_ PSID Sid,
2519 _Out_writes_to_opt_(*cchName, *cchName + 1) LPWSTR Name,
2520 _Inout_ LPDWORD cchName,
2521 _Out_writes_to_opt_(*cchReferencedDomainName, *cchReferencedDomainName + 1) LPWSTR ReferencedDomainName,
2522 _Inout_ LPDWORD cchReferencedDomainName,
2523 _Out_ PSID_NAME_USE peUse);
2524
2525 _Success_(return != FALSE)
2526 BOOL
2527 WINAPI
2528 LookupPrivilegeDisplayNameA(
2529 _In_opt_ LPCSTR lpSystemName,
2530 _In_ LPCSTR lpName,
2531 _Out_writes_to_opt_(*cchDisplayName, *cchDisplayName + 1) LPSTR lpDisplayName,
2532 _Inout_ LPDWORD cchDisplayName,
2533 _Out_ LPDWORD lpLanguageId);
2534
2535 _Success_(return != FALSE)
2536 BOOL
2537 WINAPI
2538 LookupPrivilegeDisplayNameW(
2539 _In_opt_ LPCWSTR lpSystemName,
2540 _In_ LPCWSTR lpName,
2541 _Out_writes_to_opt_(*cchDisplayName, *cchDisplayName + 1) LPWSTR lpDisplayName,
2542 _Inout_ LPDWORD cchDisplayName,
2543 _Out_ LPDWORD lpLanguageId);
2544
2545 _Success_(return != FALSE)
2546 BOOL
2547 WINAPI
2548 LookupPrivilegeNameA(
2549 _In_opt_ LPCSTR lpSystemName,
2550 _In_ PLUID lpLuid,
2551 _Out_writes_to_opt_(*cchName, *cchName + 1) LPSTR lpName,
2552 _Inout_ LPDWORD cchName);
2553
2554 _Success_(return != FALSE)
2555 BOOL
2556 WINAPI
2557 LookupPrivilegeNameW(
2558 _In_opt_ LPCWSTR lpSystemName,
2559 _In_ PLUID lpLuid,
2560 _Out_writes_to_opt_(*cchName, *cchName + 1) LPWSTR lpName,
2561 _Inout_ LPDWORD cchName);
2562
2563 BOOL WINAPI LookupPrivilegeValueA(_In_opt_ LPCSTR, _In_ LPCSTR, _Out_ PLUID);
2564 BOOL WINAPI LookupPrivilegeValueW(_In_opt_ LPCWSTR, _In_ LPCWSTR, _Out_ PLUID);
2565
2566 LPSTR
2567 WINAPI
2568 lstrcatA(
2569 _Inout_updates_z_(_String_length_(lpString1) + _String_length_(lpString2) + 1) LPSTR lpString1,
2570 _In_ LPCSTR lpString2);
2571
2572 LPWSTR
2573 WINAPI
2574 lstrcatW(
2575 _Inout_updates_z_(_String_length_(lpString1) + _String_length_(lpString2) + 1) LPWSTR lpString1,
2576 _In_ LPCWSTR lpString2);
2577
2578 int WINAPI lstrcmpA(LPCSTR,LPCSTR);
2579 int WINAPI lstrcmpiA(LPCSTR,LPCSTR);
2580 int WINAPI lstrcmpiW( LPCWSTR,LPCWSTR);
2581 int WINAPI lstrcmpW(LPCWSTR,LPCWSTR);
2582
2583 LPSTR
2584 WINAPI
2585 lstrcpyA(
2586 _Out_writes_(_String_length_(lpString2) + 1) LPSTR lpString1,
2587 _In_ LPCSTR lpString2);
2588
2589 LPWSTR
2590 WINAPI
2591 lstrcpyW(
2592 _Out_writes_(_String_length_(lpString2) + 1) LPWSTR lpString1,
2593 _In_ LPCWSTR lpString2);
2594
2595 LPSTR WINAPI lstrcpynA(LPSTR,LPCSTR,int);
2596 LPWSTR WINAPI lstrcpynW(LPWSTR,LPCWSTR,int);
2597 int WINAPI lstrlenA(LPCSTR);
2598 int WINAPI lstrlenW(LPCWSTR);
2599 BOOL WINAPI MakeAbsoluteSD(PSECURITY_DESCRIPTOR,PSECURITY_DESCRIPTOR,PDWORD,PACL,PDWORD,PACL,PDWORD,PSID,PDWORD,PSID,PDWORD);
2600 #define MakeProcInstance(p,i) (p)
2601 BOOL WINAPI MakeSelfRelativeSD(PSECURITY_DESCRIPTOR,PSECURITY_DESCRIPTOR,PDWORD);
2602 VOID WINAPI MapGenericMask(PDWORD,PGENERIC_MAPPING);
2603 PVOID WINAPI MapViewOfFile(HANDLE,DWORD,DWORD,DWORD,SIZE_T);
2604 PVOID WINAPI MapViewOfFileEx(HANDLE,DWORD,DWORD,DWORD,SIZE_T,PVOID);
2605 BOOL WINAPI MoveFileA(_In_ LPCSTR, _In_ LPCSTR);
2606 BOOL WINAPI MoveFileW(_In_ LPCWSTR, _In_ LPCWSTR);
2607 BOOL WINAPI MoveFileExA(_In_ LPCSTR, _In_opt_ LPCSTR, _In_ DWORD);
2608 BOOL WINAPI MoveFileExW(_In_ LPCWSTR, _In_opt_ LPCWSTR, _In_ DWORD);
2609 BOOL WINAPI MoveFileWithProgressA(_In_ LPCSTR, _In_opt_ LPCSTR, _In_opt_ LPPROGRESS_ROUTINE, _In_opt_ LPVOID, _In_ DWORD);
2610 BOOL WINAPI MoveFileWithProgressW(_In_ LPCWSTR, _In_opt_ LPCWSTR, _In_opt_ LPPROGRESS_ROUTINE, _In_opt_ LPVOID, _In_ DWORD);
2611 int WINAPI MulDiv(_In_ int, _In_ int, _In_ int);
2612 BOOL WINAPI NotifyChangeEventLog(_In_ HANDLE, _In_ HANDLE);
2613 BOOL WINAPI ObjectCloseAuditAlarmA(_In_ LPCSTR, _In_ PVOID, _In_ BOOL);
2614 BOOL WINAPI ObjectCloseAuditAlarmW(LPCWSTR,PVOID,BOOL);
2615 BOOL WINAPI ObjectDeleteAuditAlarmA(_In_ LPCSTR, _In_ PVOID, _In_ BOOL);
2616 BOOL WINAPI ObjectDeleteAuditAlarmW(LPCWSTR,PVOID,BOOL);
2617 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);
2618 BOOL WINAPI ObjectOpenAuditAlarmW(LPCWSTR,PVOID,LPWSTR,LPWSTR,PSECURITY_DESCRIPTOR,HANDLE,DWORD,DWORD,PPRIVILEGE_SET,BOOL,BOOL,PBOOL);
2619 BOOL WINAPI ObjectPrivilegeAuditAlarmA(_In_ LPCSTR, _In_ PVOID, _In_ HANDLE, _In_ DWORD, _In_ PPRIVILEGE_SET, _In_ BOOL);
2620 BOOL WINAPI ObjectPrivilegeAuditAlarmW(LPCWSTR,PVOID,HANDLE,DWORD,PPRIVILEGE_SET,BOOL);
2621 HANDLE WINAPI OpenBackupEventLogA(_In_opt_ LPCSTR, _In_ LPCSTR);
2622 HANDLE WINAPI OpenBackupEventLogW(_In_opt_ LPCWSTR, _In_ LPCWSTR);
2623 HANDLE WINAPI OpenEventA(DWORD,BOOL,LPCSTR);
2624 HANDLE WINAPI OpenEventLogA(_In_opt_ LPCSTR, _In_ LPCSTR);
2625 HANDLE WINAPI OpenEventLogW(_In_opt_ LPCWSTR, _In_ LPCWSTR);
2626 HANDLE WINAPI OpenEventW(DWORD,BOOL,LPCWSTR);
2627 HFILE WINAPI OpenFile(_In_ LPCSTR, _Inout_ LPOFSTRUCT, _In_ UINT);
2628 #if (_WIN32_WINNT >= 0x0600)
2629 HANDLE WINAPI OpenFileById(_In_ HANDLE, _In_ LPFILE_ID_DESCRIPTOR, _In_ DWORD, _In_ DWORD, _In_opt_ LPSECURITY_ATTRIBUTES, _In_ DWORD);
2630 #endif
2631 HANDLE WINAPI OpenFileMappingA(_In_ DWORD, _In_ BOOL, _In_ LPCSTR);
2632 HANDLE WINAPI OpenFileMappingW(DWORD,BOOL,LPCWSTR);
2633 _Ret_maybenull_ HANDLE WINAPI OpenMutexA(_In_ DWORD, _In_ BOOL, _In_ LPCSTR);
2634 HANDLE WINAPI OpenMutexW(DWORD,BOOL,LPCWSTR);
2635 HANDLE WINAPI OpenProcess(DWORD,BOOL,DWORD);
2636 BOOL WINAPI OpenProcessToken(HANDLE,DWORD,PHANDLE);
2637 _Ret_maybenull_ HANDLE WINAPI OpenSemaphoreA(_In_ DWORD, _In_ BOOL, _In_ LPCSTR);
2638 HANDLE WINAPI OpenSemaphoreW(DWORD,BOOL,LPCWSTR);
2639 #if (_WIN32_WINNT >= 0x0500) || (_WIN32_WINDOWS >= 0x0490)
2640 HANDLE WINAPI OpenThread(DWORD,BOOL,DWORD);
2641 #endif
2642 BOOL WINAPI OpenThreadToken(HANDLE,DWORD,BOOL,PHANDLE);
2643 _Ret_maybenull_ HANDLE WINAPI OpenWaitableTimerA(_In_ DWORD, _In_ BOOL, _In_ LPCSTR);
2644 HANDLE WINAPI OpenWaitableTimerW(DWORD,BOOL,LPCWSTR);
2645 WINBASEAPI void WINAPI OutputDebugStringA(LPCSTR);
2646 WINBASEAPI void WINAPI OutputDebugStringW(LPCWSTR);
2647 BOOL WINAPI PeekNamedPipe(HANDLE,PVOID,DWORD,PDWORD,PDWORD,PDWORD);
2648 BOOL WINAPI PostQueuedCompletionStatus(HANDLE,DWORD,ULONG_PTR,LPOVERLAPPED);
2649 DWORD WINAPI PrepareTape(_In_ HANDLE, _In_ DWORD, _In_ BOOL);
2650 BOOL WINAPI PrivilegeCheck (HANDLE,PPRIVILEGE_SET,PBOOL);
2651 BOOL WINAPI PrivilegedServiceAuditAlarmA(_In_ LPCSTR, _In_ LPCSTR, _In_ HANDLE, _In_ PPRIVILEGE_SET, _In_ BOOL);
2652 BOOL WINAPI PrivilegedServiceAuditAlarmW(LPCWSTR,LPCWSTR,HANDLE,PPRIVILEGE_SET,BOOL);
2653 #if (_WIN32_WINNT >= 0x0500)
2654 BOOL WINAPI ProcessIdToSessionId(DWORD,DWORD*);
2655 #endif
2656 BOOL WINAPI PulseEvent(HANDLE);
2657 BOOL WINAPI PurgeComm(_In_ HANDLE, _In_ DWORD);
2658
2659 #if (_WIN32_WINNT >= 0x0501)
2660 BOOL
2661 WINAPI
2662 QueryActCtxW(
2663 _In_ DWORD dwFlags,
2664 _In_ HANDLE hActCtx,
2665 _In_opt_ PVOID pvSubInstance,
2666 _In_ ULONG ulInfoClass,
2667 _Out_writes_bytes_to_opt_(cbBuffer, *pcbWrittenOrRequired) PVOID pvBuffer,
2668 _In_ SIZE_T cbBuffer,
2669 _Out_opt_ SIZE_T *pcbWrittenOrRequired);
2670 #endif
2671
2672 DWORD
2673 WINAPI
2674 QueryDosDeviceA(
2675 _In_opt_ LPCSTR lpDeviceName,
2676 _Out_writes_to_opt_(ucchMax, return) LPSTR lpTargetPath,
2677 _In_ DWORD ucchMax);
2678
2679 DWORD WINAPI QueryDosDeviceW(LPCWSTR,LPWSTR,DWORD);
2680 #if (_WIN32_WINNT >= 0x0501)
2681 BOOL WINAPI QueryMemoryResourceNotification(HANDLE,PBOOL);
2682 #endif
2683 BOOL WINAPI QueryPerformanceCounter(PLARGE_INTEGER);
2684 BOOL WINAPI QueryPerformanceFrequency(PLARGE_INTEGER);
2685 #if (_WIN32_WINNT >= 0x0600)
2686 VOID WINAPI QuerySecurityAccessMask(SECURITY_INFORMATION,LPDWORD);
2687 #endif
2688 DWORD WINAPI QueueUserAPC(PAPCFUNC,HANDLE,ULONG_PTR);
2689 #if (_WIN32_WINNT >= 0x0500)
2690 BOOL WINAPI QueueUserWorkItem(LPTHREAD_START_ROUTINE,PVOID,ULONG);
2691 #endif
2692 void WINAPI RaiseException(DWORD,DWORD,DWORD,const ULONG_PTR*);
2693
2694 BOOL
2695 WINAPI
2696 QueryInformationJobObject(
2697 _In_opt_ HANDLE hJob,
2698 _In_ JOBOBJECTINFOCLASS JobObjectInformationClass,
2699 _Out_writes_bytes_to_(cbJobObjectInformationLength, *lpReturnLength) LPVOID lpJobObjectInformation,
2700 _In_ DWORD cbJobObjectInformationLength,
2701 _Out_opt_ LPDWORD lpReturnLength);
2702
2703 BOOL
2704 WINAPI
2705 ReadDirectoryChangesW(
2706 _In_ HANDLE hDirectory,
2707 _Out_writes_bytes_to_(nBufferLength, *lpBytesReturned) LPVOID lpBuffer,
2708 _In_ DWORD nBufferLength,
2709 _In_ BOOL bWatchSubtree,
2710 _In_ DWORD dwNotifyFilter,
2711 _Out_opt_ LPDWORD lpBytesReturned,
2712 _Inout_opt_ LPOVERLAPPED lpOverlapped,
2713 _In_opt_ LPOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine);
2714
2715 BOOL
2716 WINAPI
2717 ReadEventLogA(
2718 _In_ HANDLE hEventLog,
2719 _In_ DWORD dwReadFlags,
2720 _In_ DWORD dwRecordOffset,
2721 _Out_writes_bytes_to_(nNumberOfBytesToRead, *pnBytesRead) LPVOID lpBuffer,
2722 _In_ DWORD nNumberOfBytesToRead,
2723 _Out_ DWORD *pnBytesRead,
2724 _Out_ DWORD *pnMinNumberOfBytesNeeded);
2725
2726 BOOL
2727 WINAPI
2728 ReadEventLogW(
2729 _In_ HANDLE hEventLog,
2730 _In_ DWORD dwReadFlags,
2731 _In_ DWORD dwRecordOffset,
2732 _Out_writes_bytes_to_(nNumberOfBytesToRead, *pnBytesRead) LPVOID lpBuffer,
2733 _In_ DWORD nNumberOfBytesToRead,
2734 _Out_ DWORD *pnBytesRead,
2735 _Out_ DWORD *pnMinNumberOfBytesNeeded);
2736
2737 BOOL WINAPI ReadFile(HANDLE,PVOID,DWORD,PDWORD,LPOVERLAPPED);
2738 BOOL WINAPI ReadFileEx(HANDLE,PVOID,DWORD,LPOVERLAPPED,LPOVERLAPPED_COMPLETION_ROUTINE);
2739 BOOL WINAPI ReadFileScatter(HANDLE,FILE_SEGMENT_ELEMENT*,DWORD,LPDWORD,LPOVERLAPPED);
2740 BOOL WINAPI ReadProcessMemory(HANDLE,LPCVOID,LPVOID,SIZE_T,PSIZE_T);
2741 #if (_WIN32_WINNT >= 0x0600)
2742 VOID WINAPI RecoveryFinished(BOOL);
2743 HRESULT WINAPI RecoveryInProgress(OUT PBOOL);
2744 HRESULT WINAPI RegisterApplicationRecoveryCallback(_In_ APPLICATION_RECOVERY_CALLBACK, _In_opt_ PVOID, _In_ DWORD, _In_ DWORD);
2745 HRESULT WINAPI RegisterApplicationRestart(_In_opt_ PCWSTR, _In_ DWORD);
2746 #endif
2747 HANDLE WINAPI RegisterEventSourceA(_In_opt_ LPCSTR, _In_ LPCSTR);
2748 HANDLE WINAPI RegisterEventSourceW(_In_opt_ LPCWSTR, _In_ LPCWSTR);
2749 #if (_WIN32_WINNT >= 0x0500)
2750 BOOL WINAPI RegisterWaitForSingleObject(_Outptr_ PHANDLE, _In_ HANDLE, _In_ WAITORTIMERCALLBACK, _In_opt_ PVOID, _In_ ULONG, _In_ ULONG);
2751 HANDLE WINAPI RegisterWaitForSingleObjectEx(HANDLE,WAITORTIMERCALLBACK,PVOID,ULONG,ULONG);
2752 #endif
2753 #if (_WIN32_WINNT >= 0x0501)
2754 void WINAPI ReleaseActCtx(_Inout_ HANDLE);
2755 #endif
2756 BOOL WINAPI ReleaseMutex(HANDLE);
2757 BOOL WINAPI ReleaseSemaphore(HANDLE,LONG,LPLONG);
2758 #if (_WIN32_WINNT >= 0x0600)
2759 VOID WINAPI ReleaseSRWLockExclusive(PSRWLOCK);
2760 VOID WINAPI ReleaseSRWLockShared(PSRWLOCK);
2761 #endif
2762 BOOL WINAPI RemoveDirectoryA(LPCSTR);
2763 BOOL WINAPI RemoveDirectoryW(LPCWSTR);
2764 #if (_WIN32_WINNT >= 0x0500)
2765 ULONG WINAPI RemoveVectoredExceptionHandler(_In_ PVOID);
2766 #endif
2767 #if (_WIN32_WINNT >= 0x0500)
2768 BOOL WINAPI ReplaceFileA(_In_ LPCSTR, _In_ LPCSTR, _In_opt_ LPCSTR, _In_ DWORD, _Reserved_ LPVOID, _Reserved_ LPVOID);
2769 BOOL WINAPI ReplaceFileW(_In_ LPCWSTR, _In_ LPCWSTR, _In_opt_ LPCWSTR, _In_ DWORD, _Reserved_ LPVOID, _Reserved_ LPVOID);
2770 #endif
2771
2772 BOOL
2773 WINAPI
2774 ReportEventA(
2775 _In_ HANDLE hEventLog,
2776 _In_ WORD wType,
2777 _In_ WORD wCategory,
2778 _In_ DWORD dwEventID,
2779 _In_opt_ PSID lpUserSid,
2780 _In_ WORD wNumStrings,
2781 _In_ DWORD dwDataSize,
2782 _In_reads_opt_(wNumStrings) LPCSTR *lpStrings,
2783 _In_reads_bytes_opt_(dwDataSize) LPVOID lpRawData);
2784
2785 BOOL
2786 WINAPI
2787 ReportEventW(
2788 _In_ HANDLE hEventLog,
2789 _In_ WORD wType,
2790 _In_ WORD wCategory,
2791 _In_ DWORD dwEventID,
2792 _In_opt_ PSID lpUserSid,
2793 _In_ WORD wNumStrings,
2794 _In_ DWORD dwDataSize,
2795 _In_reads_opt_(wNumStrings) LPCWSTR *lpStrings,
2796 _In_reads_bytes_opt_(dwDataSize) LPVOID lpRawData);
2797
2798 BOOL WINAPI ResetEvent(HANDLE);
2799 UINT WINAPI ResetWriteWatch(LPVOID,SIZE_T);
2800 #if (_WIN32_WINNT >= 0x0510)
2801 VOID WINAPI RestoreLastError(_In_ DWORD);
2802 #endif
2803 DWORD WINAPI ResumeThread(HANDLE);
2804 BOOL WINAPI RevertToSelf(void);
2805
2806 _Success_(return != 0 && return < nBufferLength)
2807 DWORD
2808 WINAPI
2809 SearchPathA(
2810 _In_opt_ LPCSTR lpPath,
2811 _In_ LPCSTR lpFileName,
2812 _In_opt_ LPCSTR lpExtension,
2813 _In_ DWORD nBufferLength,
2814 _Out_writes_to_opt_(nBufferLength, return + 1) LPSTR lpBuffer,
2815 _Out_opt_ LPSTR *lpFilePart);
2816
2817 DWORD WINAPI SearchPathW(LPCWSTR,LPCWSTR,LPCWSTR,DWORD,LPWSTR,LPWSTR*);
2818 BOOL WINAPI SetAclInformation(PACL,PVOID,DWORD,ACL_INFORMATION_CLASS);
2819 BOOL WINAPI SetCommBreak(_In_ HANDLE);
2820
2821 BOOL
2822 WINAPI
2823 SetCommConfig(
2824 _In_ HANDLE hCommDev,
2825 _In_reads_bytes_(dwSize) LPCOMMCONFIG lpCC,
2826 _In_ DWORD dwSize);
2827
2828 BOOL WINAPI SetCommMask(_In_ HANDLE, _In_ DWORD);
2829 BOOL WINAPI SetCommState(_In_ HANDLE, _In_ LPDCB);
2830 BOOL WINAPI SetCommTimeouts(_In_ HANDLE, _In_ LPCOMMTIMEOUTS);
2831 BOOL WINAPI SetComputerNameA(_In_ LPCSTR);
2832 BOOL WINAPI SetComputerNameW(_In_ LPCWSTR);
2833 #if (_WIN32_WINNT >= 0x0500)
2834 BOOL WINAPI SetComputerNameExA(_In_ COMPUTER_NAME_FORMAT, _In_ LPCSTR);
2835 BOOL WINAPI SetComputerNameExW(COMPUTER_NAME_FORMAT,LPCWSTR);
2836 #endif
2837 BOOL WINAPI SetCurrentDirectoryA(LPCSTR);
2838 BOOL WINAPI SetCurrentDirectoryW(LPCWSTR);
2839
2840 BOOL
2841 WINAPI
2842 SetDefaultCommConfigA(
2843 _In_ LPCSTR lpszName,
2844 _In_reads_bytes_(dwSize) LPCOMMCONFIG lpCC,
2845 _In_ DWORD dwSize);
2846
2847 BOOL
2848 WINAPI
2849 SetDefaultCommConfigW(
2850 _In_ LPCWSTR lpszName,
2851 _In_reads_bytes_(dwSize) LPCOMMCONFIG lpCC,
2852 _In_ DWORD dwSize);
2853
2854 #if (_WIN32_WINNT >= 0x0502)
2855 BOOL WINAPI SetDllDirectoryA(_In_opt_ LPCSTR);
2856 BOOL WINAPI SetDllDirectoryW(_In_opt_ LPCWSTR);
2857 #endif
2858 BOOL WINAPI SetEndOfFile(HANDLE);
2859 BOOL WINAPI SetEnvironmentVariableA(LPCSTR,LPCSTR);
2860 BOOL WINAPI SetEnvironmentVariableW(LPCWSTR,LPCWSTR);
2861 UINT WINAPI SetErrorMode(UINT);
2862 BOOL WINAPI SetEvent(HANDLE);
2863 VOID WINAPI SetFileApisToANSI(void);
2864 VOID WINAPI SetFileApisToOEM(void);
2865 BOOL WINAPI SetFileAttributesA(LPCSTR,DWORD);
2866 #if (_WIN32_WINNT >= 0x0600)
2867 BOOL WINAPI SetFileAttributesByHandle(HANDLE,DWORD,DWORD);
2868 #endif
2869 BOOL WINAPI SetFileAttributesW(LPCWSTR,DWORD);
2870 #if (_WIN32_WINNT >= 0x0600)
2871 BOOL WINAPI SetFileBandwidthReservation(_In_ HANDLE, _In_ DWORD, _In_ DWORD, _In_ BOOL, _Out_ LPDWORD, _Out_ LPDWORD);
2872 BOOL WINAPI SetFileCompletionNotificationModes(_In_ HANDLE, _In_ UCHAR);
2873 #endif
2874 DWORD WINAPI SetFilePointer(HANDLE,LONG,PLONG,DWORD);
2875 BOOL WINAPI SetFilePointerEx(HANDLE,LARGE_INTEGER,PLARGE_INTEGER,DWORD);
2876 BOOL WINAPI SetFileSecurityA(_In_ LPCSTR, _In_ SECURITY_INFORMATION, _In_ PSECURITY_DESCRIPTOR);
2877 BOOL WINAPI SetFileSecurityW(LPCWSTR,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR);
2878 #if (_WIN32_WINNT >= 0x0501)
2879 BOOL WINAPI SetFileShortNameA(_In_ HANDLE, _In_ LPCSTR);
2880 BOOL WINAPI SetFileShortNameW(_In_ HANDLE, _In_ LPCWSTR);
2881 #endif
2882 BOOL WINAPI SetFileTime(HANDLE,const FILETIME*,const FILETIME*,const FILETIME*);
2883 #if (_WIN32_WINNT >= 0x0501)
2884 BOOL WINAPI SetFileValidData(HANDLE,LONGLONG);
2885 #endif
2886
2887 #if (_WIN32_WINNT >= 0x0502)
2888
2889 BOOL
2890 WINAPI
2891 SetFirmwareEnvironmentVariableA(
2892 _In_ LPCSTR lpName,
2893 _In_ LPCSTR lpGuid,
2894 _In_reads_bytes_opt_(nSize) PVOID pValue,
2895 _In_ DWORD nSize);
2896
2897 BOOL
2898 WINAPI
2899 SetFirmwareEnvironmentVariableW(
2900 _In_ LPCWSTR lpName,
2901 _In_ LPCWSTR lpGuid,
2902 _In_reads_bytes_opt_(nSize) PVOID pValue,
2903 _In_ DWORD nSize);
2904
2905 #endif
2906
2907 UINT WINAPI SetHandleCount(UINT);
2908 BOOL WINAPI SetHandleInformation(HANDLE,DWORD,DWORD);
2909 BOOL WINAPI SetKernelObjectSecurity(HANDLE,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR);
2910 void WINAPI SetLastError(DWORD);
2911 void WINAPI SetLastErrorEx(DWORD,DWORD);
2912 BOOL WINAPI SetLocalTime(const SYSTEMTIME*);
2913 BOOL WINAPI SetMailslotInfo(_In_ HANDLE, _In_ DWORD);
2914 BOOL WINAPI SetNamedPipeHandleState(HANDLE,PDWORD,PDWORD,PDWORD);
2915 BOOL WINAPI SetPriorityClass(HANDLE,DWORD);
2916 BOOL WINAPI SetPrivateObjectSecurity(SECURITY_INFORMATION,PSECURITY_DESCRIPTOR,PSECURITY_DESCRIPTOR *,PGENERIC_MAPPING,HANDLE);
2917 BOOL WINAPI SetProcessAffinityMask(_In_ HANDLE, _In_ DWORD_PTR);
2918 BOOL WINAPI SetProcessPriorityBoost(_In_ HANDLE, _In_ BOOL);
2919 BOOL WINAPI SetProcessShutdownParameters(DWORD,DWORD);
2920 BOOL WINAPI SetProcessWorkingSetSize(_In_ HANDLE, _In_ SIZE_T, _In_ SIZE_T);
2921 #if (_WIN32_WINNT >= 0x0600)
2922 VOID WINAPI SetSecurityAccessMask(SECURITY_INFORMATION,LPDWORD);
2923 #endif
2924 BOOL WINAPI SetSecurityDescriptorControl(PSECURITY_DESCRIPTOR,SECURITY_DESCRIPTOR_CONTROL,SECURITY_DESCRIPTOR_CONTROL);
2925 BOOL WINAPI SetSecurityDescriptorDacl(PSECURITY_DESCRIPTOR,BOOL,PACL,BOOL);
2926 BOOL WINAPI SetSecurityDescriptorGroup(PSECURITY_DESCRIPTOR,PSID,BOOL);
2927 BOOL WINAPI SetSecurityDescriptorOwner(PSECURITY_DESCRIPTOR,PSID,BOOL);
2928 DWORD WINAPI SetSecurityDescriptorRMControl(PSECURITY_DESCRIPTOR,PUCHAR);
2929 BOOL WINAPI SetSecurityDescriptorSacl(PSECURITY_DESCRIPTOR,BOOL,PACL,BOOL);
2930 BOOL WINAPI SetStdHandle(DWORD,HANDLE);
2931 #define SetSwapAreaSize(w) (w)
2932 BOOL WINAPI SetSystemPowerState(_In_ BOOL, _In_ BOOL);
2933 BOOL WINAPI SetSystemTime(const SYSTEMTIME*);
2934 BOOL WINAPI SetSystemTimeAdjustment(_In_ DWORD, _In_ BOOL);
2935 DWORD WINAPI SetTapeParameters(_In_ HANDLE, _In_ DWORD, _In_ PVOID);
2936 DWORD WINAPI SetTapePosition(_In_ HANDLE, _In_ DWORD, _In_ DWORD, _In_ DWORD, _In_ DWORD, _In_ BOOL);
2937 DWORD_PTR WINAPI SetThreadAffinityMask(_In_ HANDLE, _In_ DWORD_PTR);
2938 BOOL WINAPI SetThreadContext(HANDLE,const CONTEXT*);
2939 DWORD WINAPI SetThreadIdealProcessor(_In_ HANDLE, _In_ DWORD);
2940 BOOL WINAPI SetThreadPriority(HANDLE,int);
2941 BOOL WINAPI SetThreadPriorityBoost(HANDLE,BOOL);
2942 BOOL WINAPI SetThreadToken (PHANDLE,HANDLE);
2943 BOOL WINAPI SetTimeZoneInformation(const TIME_ZONE_INFORMATION *);
2944 BOOL WINAPI SetTokenInformation(HANDLE,TOKEN_INFORMATION_CLASS,PVOID,DWORD);
2945 LPTOP_LEVEL_EXCEPTION_FILTER WINAPI SetUnhandledExceptionFilter(LPTOP_LEVEL_EXCEPTION_FILTER);
2946 BOOL WINAPI SetupComm(_In_ HANDLE, _In_ DWORD, _In_ DWORD);
2947 BOOL WINAPI SetVolumeLabelA(_In_opt_ LPCSTR, _In_opt_ LPCSTR);
2948 BOOL WINAPI SetVolumeLabelW(_In_opt_ LPCWSTR, _In_opt_ LPCWSTR);
2949 #if (_WIN32_WINNT >= 0x0500)
2950 BOOL WINAPI SetVolumeMountPointA(_In_ LPCSTR, _In_ LPCSTR);
2951 BOOL WINAPI SetVolumeMountPointW(_In_ LPCWSTR, _In_ LPCWSTR);
2952 #endif
2953 BOOL WINAPI SetWaitableTimer(HANDLE,const LARGE_INTEGER*,LONG,PTIMERAPCROUTINE,PVOID,BOOL);
2954 DWORD WINAPI SignalObjectAndWait(_In_ HANDLE, _In_ HANDLE, _In_ DWORD, _In_ BOOL);
2955 DWORD WINAPI SizeofResource(HINSTANCE,HRSRC);
2956 WINBASEAPI void WINAPI Sleep(DWORD);
2957 #if (_WIN32_WINNT >= 0x0600)
2958 BOOL WINAPI SleepConditionVariableCS(PCONDITION_VARIABLE,PCRITICAL_SECTION,DWORD);
2959 BOOL WINAPI SleepConditionVariableSRW(PCONDITION_VARIABLE,PSRWLOCK,DWORD,ULONG);
2960 #endif
2961 DWORD WINAPI SleepEx(DWORD,BOOL);
2962 DWORD WINAPI SuspendThread(HANDLE);
2963 void WINAPI SwitchToFiber(_In_ PVOID);
2964 BOOL WINAPI SwitchToThread(void);
2965 BOOL WINAPI SystemTimeToFileTime(const SYSTEMTIME*,LPFILETIME);
2966 BOOL WINAPI SystemTimeToTzSpecificLocalTime(CONST TIME_ZONE_INFORMATION*,CONST SYSTEMTIME*,LPSYSTEMTIME);
2967 BOOL WINAPI TerminateProcess(HANDLE,UINT);
2968 BOOL WINAPI TerminateThread(HANDLE,DWORD);
2969 DWORD WINAPI TlsAlloc(VOID);
2970 BOOL WINAPI TlsFree(DWORD);
2971 PVOID WINAPI TlsGetValue(DWORD);
2972 BOOL WINAPI TlsSetValue(DWORD,PVOID);
2973 BOOL WINAPI TransactNamedPipe(HANDLE,PVOID,DWORD,PVOID,DWORD,PDWORD,LPOVERLAPPED);
2974 BOOL WINAPI TransmitCommChar(_In_ HANDLE, _In_ char);
2975 BOOL WINAPI TryEnterCriticalSection(LPCRITICAL_SECTION);
2976 BOOL WINAPI TzSpecificLocalTimeToSystemTime(LPTIME_ZONE_INFORMATION,LPSYSTEMTIME,LPSYSTEMTIME);
2977 LONG WINAPI UnhandledExceptionFilter(LPEXCEPTION_POINTERS);
2978 BOOL WINAPI UnlockFile(HANDLE,DWORD,DWORD,DWORD,DWORD);
2979 BOOL WINAPI UnlockFileEx(HANDLE,DWORD,DWORD,DWORD,LPOVERLAPPED);
2980 #define UnlockResource(h) (h)
2981 #define UnlockSegment(w) GlobalUnfix((HANDLE)(w)) /* Obsolete: Has no effect. */
2982 BOOL WINAPI UnmapViewOfFile(LPCVOID);
2983 #if (_WIN32_WINNT >= 0x0500)
2984 _Must_inspect_result_ BOOL WINAPI UnregisterWait(_In_ HANDLE);
2985 BOOL WINAPI UnregisterWaitEx(HANDLE,HANDLE);
2986 #endif
2987
2988 BOOL
2989 WINAPI
2990 UpdateResourceA(
2991 _In_ HANDLE hUpdate,
2992 _In_ LPCSTR lpType,
2993 _In_ LPCSTR lpName,
2994 _In_ WORD wLanguage,
2995 _In_reads_bytes_opt_(cb) LPVOID lpData,
2996 _In_ DWORD cb);
2997
2998 BOOL
2999 WINAPI
3000 UpdateResourceW(
3001 _In_ HANDLE hUpdate,
3002 _In_ LPCWSTR lpType,
3003 _In_ LPCWSTR lpName,
3004 _In_ WORD wLanguage,
3005 _In_reads_bytes_opt_(cb) LPVOID lpData,
3006 _In_ DWORD cb);
3007
3008 BOOL WINAPI VerifyVersionInfoA(_Inout_ LPOSVERSIONINFOEXA, _In_ DWORD, _In_ DWORDLONG);
3009 BOOL WINAPI VerifyVersionInfoW(_Inout_ LPOSVERSIONINFOEXW, _In_ DWORD, _In_ DWORDLONG);
3010 PVOID WINAPI VirtualAlloc(PVOID,SIZE_T,DWORD,DWORD);
3011 PVOID WINAPI VirtualAllocEx(HANDLE,PVOID,SIZE_T,DWORD,DWORD);
3012 BOOL WINAPI VirtualFree(PVOID,SIZE_T,DWORD);
3013 BOOL WINAPI VirtualFreeEx(HANDLE,PVOID,SIZE_T,DWORD);
3014 BOOL WINAPI VirtualLock(PVOID,SIZE_T);
3015 BOOL WINAPI VirtualProtect(PVOID,SIZE_T,DWORD,PDWORD);
3016 BOOL WINAPI VirtualProtectEx(HANDLE,PVOID,SIZE_T,DWORD,PDWORD);
3017 SIZE_T WINAPI VirtualQuery(LPCVOID,PMEMORY_BASIC_INFORMATION,SIZE_T);
3018 SIZE_T WINAPI VirtualQueryEx(HANDLE,LPCVOID,PMEMORY_BASIC_INFORMATION,SIZE_T);
3019 BOOL WINAPI VirtualUnlock(PVOID,SIZE_T);
3020 BOOL WINAPI WaitCommEvent(_In_ HANDLE, _Inout_ PDWORD, _Inout_opt_ LPOVERLAPPED);
3021 BOOL WINAPI WaitForDebugEvent(LPDEBUG_EVENT,DWORD);
3022
3023 DWORD
3024 WINAPI
3025 WaitForMultipleObjects(
3026 _In_ DWORD nCount,
3027 _In_reads_(nCount) CONST HANDLE *lpHandles,
3028 _In_ BOOL bWaitAll,
3029 _In_ DWORD dwMilliseconds);
3030
3031 DWORD WINAPI WaitForMultipleObjectsEx(DWORD,const HANDLE*,BOOL,DWORD,BOOL);
3032 DWORD WINAPI WaitForSingleObject(HANDLE,DWORD);
3033 DWORD WINAPI WaitForSingleObjectEx(HANDLE,DWORD,BOOL);
3034 BOOL WINAPI WaitNamedPipeA(_In_ LPCSTR, _In_ DWORD);
3035 BOOL WINAPI WaitNamedPipeW(_In_ LPCWSTR, _In_ DWORD);
3036 #if (_WIN32_WINNT >= 0x0600)
3037 VOID WINAPI WakeConditionVariable(PCONDITION_VARIABLE);
3038 VOID WINAPI WakeAllConditionVariable(PCONDITION_VARIABLE);
3039 #endif
3040 BOOL WINAPI WinLoadTrustProvider(GUID*);
3041 BOOL WINAPI Wow64DisableWow64FsRedirection(PVOID*);
3042 BOOLEAN WINAPI Wow64EnableWow64FsRedirection(_In_ BOOLEAN);
3043 BOOL WINAPI Wow64RevertWow64FsRedirection(PVOID);
3044 DWORD WINAPI WriteEncryptedFileRaw(_In_ PFE_IMPORT_FUNC, _In_opt_ PVOID, _In_ PVOID);
3045 BOOL WINAPI WriteFile(HANDLE,LPCVOID,DWORD,LPDWORD,LPOVERLAPPED);
3046 BOOL WINAPI WriteFileEx(HANDLE,LPCVOID,DWORD,LPOVERLAPPED,LPOVERLAPPED_COMPLETION_ROUTINE);
3047 BOOL WINAPI WriteFileGather(HANDLE,FILE_SEGMENT_ELEMENT*,DWORD,LPDWORD,LPOVERLAPPED);
3048 BOOL WINAPI WritePrivateProfileSectionA(_In_opt_ LPCSTR, _In_opt_ LPCSTR, _In_opt_ LPCSTR);
3049 BOOL WINAPI WritePrivateProfileSectionW(_In_opt_ LPCWSTR, _In_opt_ LPCWSTR, _In_opt_ LPCWSTR);
3050 BOOL WINAPI WritePrivateProfileStringA(_In_opt_ LPCSTR, _In_opt_ LPCSTR, _In_opt_ LPCSTR, _In_opt_ LPCSTR);
3051 BOOL WINAPI WritePrivateProfileStringW(_In_opt_ LPCWSTR, _In_opt_ LPCWSTR, _In_opt_ LPCWSTR, _In_opt_ LPCWSTR);
3052
3053 BOOL
3054 WINAPI
3055 WritePrivateProfileStructA(
3056 _In_ LPCSTR lpszSection,
3057 _In_ LPCSTR lpszKey,
3058 _In_reads_bytes_opt_(uSizeStruct) LPVOID lpStruct,
3059 _In_ UINT uSizeStruct,
3060 _In_opt_ LPCSTR szFile);
3061
3062 BOOL
3063 WINAPI
3064 WritePrivateProfileStructW(
3065 _In_ LPCWSTR lpszSection,
3066 _In_ LPCWSTR lpszKey,
3067 _In_reads_bytes_opt_(uSizeStruct) LPVOID lpStruct,
3068 _In_ UINT uSizeStruct,
3069 _In_opt_ LPCWSTR szFile);
3070
3071 BOOL WINAPI WriteProcessMemory(HANDLE,LPVOID,LPCVOID,SIZE_T,SIZE_T*);
3072 BOOL WINAPI WriteProfileSectionA(_In_ LPCSTR, _In_ LPCSTR);
3073 BOOL WINAPI WriteProfileSectionW(_In_ LPCWSTR, _In_ LPCWSTR);
3074 BOOL WINAPI WriteProfileStringA(_In_opt_ LPCSTR, _In_opt_ LPCSTR, _In_opt_ LPCSTR);
3075 BOOL WINAPI WriteProfileStringW(_In_opt_ LPCWSTR, _In_opt_ LPCWSTR, _In_opt_ LPCWSTR);
3076 DWORD WINAPI WriteTapemark(_In_ HANDLE, _In_ DWORD, _In_ DWORD, _In_ BOOL);
3077 #define Yield()
3078 #if (_WIN32_WINNT >= 0x0501)
3079 BOOL WINAPI ZombifyActCtx(_Inout_ HANDLE);
3080 #endif
3081
3082 #if (_WIN32_WINNT >= 0x0500)
3083
3084 BOOL
3085 WINAPI
3086 AllocateUserPhysicalPages(
3087 _In_ HANDLE hProcess,
3088 _Inout_ PULONG_PTR NumberOfPages,
3089 _Out_writes_to_(*NumberOfPages, *NumberOfPages) PULONG_PTR PageArray);
3090
3091 BOOL
3092 WINAPI
3093 FreeUserPhysicalPages(
3094 _In_ HANDLE hProcess,
3095 _Inout_ PULONG_PTR NumberOfPages,
3096 _In_reads_(*NumberOfPages) PULONG_PTR PageArray);
3097
3098 BOOL
3099 WINAPI
3100 MapUserPhysicalPages(
3101 _In_ PVOID VirtualAddress,
3102 _In_ ULONG_PTR NumberOfPages,
3103 _In_reads_opt_(NumberOfPages) PULONG_PTR PageArray);
3104
3105 BOOL
3106 WINAPI
3107 MapUserPhysicalPagesScatter(
3108 _In_reads_(NumberOfPages) PVOID *VirtualAddresses,
3109 _In_ ULONG_PTR NumberOfPages,
3110 _In_reads_opt_(NumberOfPages) PULONG_PTR PageArray);
3111
3112 #endif
3113
3114 #ifdef UNICODE
3115 typedef STARTUPINFOW STARTUPINFO,*LPSTARTUPINFO;
3116 typedef WIN32_FIND_DATAW WIN32_FIND_DATA, *PWIN32_FIND_DATA, *LPWIN32_FIND_DATA;
3117 typedef HW_PROFILE_INFOW HW_PROFILE_INFO,*LPHW_PROFILE_INFO;
3118 typedef ENUMRESLANGPROCW ENUMRESLANGPROC;
3119 typedef ENUMRESNAMEPROCW ENUMRESNAMEPROC;
3120 typedef ENUMRESTYPEPROCW ENUMRESTYPEPROC;
3121 #if (_WIN32_WINNT >= 0x0501)
3122 typedef ACTCTXW ACTCTX,*PACTCTX;
3123 typedef PCACTCTXW PCACTCTX;
3124 #endif
3125 #define AccessCheckAndAuditAlarm AccessCheckAndAuditAlarmW
3126 #define AddAtom AddAtomW
3127 #define BackupEventLog BackupEventLogW
3128 #define BeginUpdateResource BeginUpdateResourceW
3129 #define BuildCommDCB BuildCommDCBW
3130 #define BuildCommDCBAndTimeouts BuildCommDCBAndTimeoutsW
3131 #define CallNamedPipe CallNamedPipeW
3132 #if (_WIN32_WINNT >= 0x0501)
3133 #define CheckNameLegalDOS8Dot3 CheckNameLegalDOS8Dot3W
3134 #endif
3135 #define ClearEventLog ClearEventLogW
3136 #define CommConfigDialog CommConfigDialogW
3137 #define CopyFile CopyFileW
3138 #define CopyFileEx CopyFileExW
3139 #if (_WIN32_WINNT >= 0x0501)
3140 #define CreateActCtx CreateActCtxW
3141 #endif
3142 #define CreateDirectory CreateDirectoryW
3143 #define CreateDirectoryEx CreateDirectoryExW
3144 #define CreateEvent CreateEventW
3145 #define CreateFile CreateFileW
3146 #define CreateFileMapping CreateFileMappingW
3147 #if (_WIN32_WINNT >= 0x0500)
3148 #define CreateHardLink CreateHardLinkW
3149 #define CreateJobObject CreateJobObjectW
3150 #endif
3151 #define CreateMailslot CreateMailslotW
3152 #define CreateMutex CreateMutexW
3153 #define CreateNamedPipe CreateNamedPipeW
3154 #define CreateProcess CreateProcessW
3155 #define CreateProcessAsUser CreateProcessAsUserW
3156 #define CreateSemaphore CreateSemaphoreW
3157 #define CreateWaitableTimer CreateWaitableTimerW
3158 #define DecryptFile DecryptFileW
3159 #define DefineDosDevice DefineDosDeviceW
3160 #define DeleteFile DeleteFileW
3161 #if (_WIN32_WINNT >= 0x0500)
3162 #define DeleteVolumeMountPoint DeleteVolumeMountPointW
3163 #define DnsHostnameToComputerName DnsHostnameToComputerNameW
3164 #endif
3165 #define EncryptFile EncryptFileW
3166 #define EndUpdateResource EndUpdateResourceW
3167 #define EnumResourceLanguages EnumResourceLanguagesW
3168 #define EnumResourceNames EnumResourceNamesW
3169 #define EnumResourceTypes EnumResourceTypesW
3170 #define ExpandEnvironmentStrings ExpandEnvironmentStringsW
3171 #define FatalAppExit FatalAppExitW
3172 #define FileEncryptionStatus FileEncryptionStatusW
3173 #if (_WIN32_WINNT >= 0x0501)
3174 #define FindActCtxSectionString FindActCtxSectionStringW
3175 #endif
3176 #define FindAtom FindAtomW
3177 #define FindFirstChangeNotification FindFirstChangeNotificationW
3178 #define FindFirstFile FindFirstFileW
3179 #define FindFirstFileEx FindFirstFileExW
3180 #if (_WIN32_WINNT >= 0x0500)
3181 #define FindFirstVolume FindFirstVolumeW
3182 #define FindFirstVolumeMountPoint FindFirstVolumeMountPointW
3183 #endif
3184 #define FindNextFile FindNextFileW
3185 #if (_WIN32_WINNT >= 0x0500)
3186 #define FindNextVolume FindNextVolumeW
3187 #define FindNextVolumeMountPoint FindNextVolumeMountPointW
3188 #endif
3189 #define FindResource FindResourceW
3190 #define FindResourceEx FindResourceExW
3191 #define FormatMessage FormatMessageW
3192 #define FreeEnvironmentStrings FreeEnvironmentStringsW
3193 #define GetAtomName GetAtomNameW
3194 #define GetBinaryType GetBinaryTypeW
3195 #define GetCommandLine GetCommandLineW
3196 #define GetCompressedFileSize GetCompressedFileSizeW
3197 #define GetComputerName GetComputerNameW
3198 #if (_WIN32_WINNT >= 0x0500)
3199 #define GetComputerNameEx GetComputerNameExW
3200 #endif
3201 #define GetCurrentDirectory GetCurrentDirectoryW
3202 #define GetDefaultCommConfig GetDefaultCommConfigW
3203 #define GetDiskFreeSpace GetDiskFreeSpaceW
3204 #define GetDiskFreeSpaceEx GetDiskFreeSpaceExW
3205 #if (_WIN32_WINNT >= 0x0502)
3206 #define GetDllDirectory GetDllDirectoryW
3207 #endif
3208 #define GetDriveType GetDriveTypeW
3209 #define GetEnvironmentStrings GetEnvironmentStringsW
3210 #define GetEnvironmentVariable GetEnvironmentVariableW
3211 #define GetFileAttributes GetFileAttributesW
3212 #define GetFileAttributesEx GetFileAttributesExW
3213 #define GetFileSecurity GetFileSecurityW
3214 #if (_WIN32_WINNT >= 0x0600)
3215 #define GetFinalPathNameByHandle GetFinalPathNameByHandleW
3216 #endif
3217 #define GetFullPathName GetFullPathNameW
3218 #define GetLogicalDriveStrings GetLogicalDriveStringsW
3219 #if (_WIN32_WINNT >= 0x0500 || _WIN32_WINDOWS >= 0x0410)
3220 #define GetLongPathName GetLongPathNameW
3221 #endif
3222 #define GetModuleFileName GetModuleFileNameW
3223 #define GetModuleHandle GetModuleHandleW
3224 #if (_WIN32_WINNT >= 0x0500)
3225 #define GetModuleHandleEx GetModuleHandleExW
3226 #endif
3227 #define GetNamedPipeHandleState GetNamedPipeHandleStateW
3228 #define GetPrivateProfileInt GetPrivateProfileIntW
3229 #define GetPrivateProfileSection GetPrivateProfileSectionW
3230 #define GetPrivateProfileSectionNames GetPrivateProfileSectionNamesW
3231 #define GetPrivateProfileString GetPrivateProfileStringW
3232 #define GetPrivateProfileStruct GetPrivateProfileStructW
3233 #define GetProfileInt GetProfileIntW
3234 #define GetProfileSection GetProfileSectionW
3235 #define GetProfileString GetProfileStringW
3236 #define GetShortPathName GetShortPathNameW
3237 #define GetStartupInfo GetStartupInfoW
3238 #define GetSystemDirectory GetSystemDirectoryW
3239 #if (_WIN32_WINNT >= 0x0500)
3240 #define GetSystemWindowsDirectory GetSystemWindowsDirectoryW
3241 #endif
3242 #if (_WIN32_WINNT >= 0x0501)
3243 #define GetSystemWow64Directory GetSystemWow64DirectoryW
3244 #endif
3245 #define GetTempFileName GetTempFileNameW
3246 #define GetTempPath GetTempPathW
3247 #define GetUserName GetUserNameW
3248 #define GetVersionEx GetVersionExW
3249 #define GetVolumeInformation GetVolumeInformationW
3250 #define GetVolumeNameForVolumeMountPoint GetVolumeNameForVolumeMountPointW
3251 #define GetVolumePathName GetVolumePathNameW
3252 #define GetVolumePathNamesForVolumeName GetVolumePathNamesForVolumeNameW
3253 #define GetWindowsDirectory GetWindowsDirectoryW
3254 #define GlobalAddAtom GlobalAddAtomW
3255 #define GlobalFindAtom GlobalFindAtomW
3256 #define GlobalGetAtomName GlobalGetAtomNameW
3257 #define IsBadStringPtr IsBadStringPtrW
3258 #define LoadLibrary LoadLibraryW
3259 #define LoadLibraryEx LoadLibraryExW
3260 #define LogonUser LogonUserW
3261 #define LookupAccountName LookupAccountNameW
3262 #define LookupAccountSid LookupAccountSidW
3263 #define LookupPrivilegeDisplayName LookupPrivilegeDisplayNameW
3264 #define LookupPrivilegeName LookupPrivilegeNameW
3265 #define LookupPrivilegeValue LookupPrivilegeValueW
3266 #define lstrcat lstrcatW
3267 #define lstrcmp lstrcmpW
3268 #define lstrcmpi lstrcmpiW
3269 #define lstrcpy lstrcpyW
3270 #define lstrcpyn lstrcpynW
3271 #define lstrlen lstrlenW
3272 #define MoveFile MoveFileW
3273 #define MoveFileEx MoveFileExW
3274 #define MoveFileWithProgress MoveFileWithProgressW
3275 #define ObjectCloseAuditAlarm ObjectCloseAuditAlarmW
3276 #define ObjectDeleteAuditAlarm ObjectDeleteAuditAlarmW
3277 #define ObjectOpenAuditAlarm ObjectOpenAuditAlarmW
3278 #define ObjectPrivilegeAuditAlarm ObjectPrivilegeAuditAlarmW
3279 #define OpenBackupEventLog OpenBackupEventLogW
3280 #define OpenEvent OpenEventW
3281 #define OpenEventLog OpenEventLogW
3282 #define OpenFileMapping OpenFileMappingW
3283 #define OpenMutex OpenMutexW
3284 #define OpenSemaphore OpenSemaphoreW
3285 #define OutputDebugString OutputDebugStringW
3286 #define PrivilegedServiceAuditAlarm PrivilegedServiceAuditAlarmW
3287 #define QueryDosDevice QueryDosDeviceW
3288 #define ReadEventLog ReadEventLogW
3289 #define RegisterEventSource RegisterEventSourceW
3290 #define RemoveDirectory RemoveDirectoryW
3291 #if (_WIN32_WINNT >= 0x0500)
3292 #define ReplaceFile ReplaceFileW
3293 #endif
3294 #define ReportEvent ReportEventW
3295 #define SearchPath SearchPathW
3296 #define SetComputerName SetComputerNameW
3297 #define SetComputerNameEx SetComputerNameExW
3298 #define SetCurrentDirectory SetCurrentDirectoryW
3299 #define SetDefaultCommConfig SetDefaultCommConfigW
3300 #if (_WIN32_WINNT >= 0x0502)
3301 #define SetDllDirectory SetDllDirectoryW
3302 #endif
3303 #define SetEnvironmentVariable SetEnvironmentVariableW
3304 #define SetFileAttributes SetFileAttributesW
3305 #define SetFileSecurity SetFileSecurityW
3306 #if (_WIN32_WINNT >= 0x0501)
3307 #define SetFileShortName SetFileShortNameW
3308 #endif
3309 #if (_WIN32_WINNT >= 0x0502)
3310 #define SetFirmwareEnvironmentVariable SetFirmwareEnvironmentVariableW
3311 #endif
3312 #define SetVolumeLabel SetVolumeLabelW
3313 #define SetVolumeMountPoint SetVolumeMountPointW
3314 #define UpdateResource UpdateResourceW
3315 #define VerifyVersionInfo VerifyVersionInfoW
3316 #define WaitNamedPipe WaitNamedPipeW
3317 #define WritePrivateProfileSection WritePrivateProfileSectionW
3318 #define WritePrivateProfileString WritePrivateProfileStringW
3319 #define WritePrivateProfileStruct WritePrivateProfileStructW
3320 #define WriteProfileSection WriteProfileSectionW
3321 #define WriteProfileString WriteProfileStringW
3322 #else
3323 typedef STARTUPINFOA STARTUPINFO,*LPSTARTUPINFO;
3324 typedef WIN32_FIND_DATAA WIN32_FIND_DATA, *PWIN32_FIND_DATA, *LPWIN32_FIND_DATA;
3325 typedef HW_PROFILE_INFOA HW_PROFILE_INFO,*LPHW_PROFILE_INFO;
3326 #if (_WIN32_WINNT >= 0x0501)
3327 typedef ACTCTXA ACTCTX,*PACTCTX;
3328 typedef PCACTCTXA PCACTCTX;
3329 #endif
3330 typedef ENUMRESLANGPROCA ENUMRESLANGPROC;
3331 typedef ENUMRESNAMEPROCA ENUMRESNAMEPROC;
3332 typedef ENUMRESTYPEPROCA ENUMRESTYPEPROC;
3333 #define AccessCheckAndAuditAlarm AccessCheckAndAuditAlarmA
3334 #define AddAtom AddAtomA
3335 #define BackupEventLog BackupEventLogA
3336 #define BeginUpdateResource BeginUpdateResourceA
3337 #define BuildCommDCB BuildCommDCBA
3338 #define BuildCommDCBAndTimeouts BuildCommDCBAndTimeoutsA
3339 #define CallNamedPipe CallNamedPipeA
3340 #if (_WIN32_WINNT >= 0x0501)
3341 #define CheckNameLegalDOS8Dot3 CheckNameLegalDOS8Dot3A
3342 #endif
3343 #define ClearEventLog ClearEventLogA
3344 #define CommConfigDialog CommConfigDialogA
3345 #define CopyFile CopyFileA
3346 #define CopyFileEx CopyFileExA
3347 #if (_WIN32_WINNT >= 0x0501)
3348 #define CreateActCtx CreateActCtxA
3349 #endif
3350 #define CreateDirectory CreateDirectoryA
3351 #define CreateDirectoryEx CreateDirectoryExA
3352 #define CreateEvent CreateEventA
3353 #define CreateFile CreateFileA
3354 #define CreateFileMapping CreateFileMappingA
3355 #if (_WIN32_WINNT >= 0x0500)
3356 #define CreateHardLink CreateHardLinkA
3357 #define CreateJobObject CreateJobObjectA
3358 #endif
3359 #define CreateMailslot CreateMailslotA
3360 #define CreateMutex CreateMutexA
3361 #define CreateNamedPipe CreateNamedPipeA
3362 #define CreateProcess CreateProcessA
3363 #define CreateProcessAsUser CreateProcessAsUserA
3364 #define CreateSemaphore CreateSemaphoreA
3365 #define CreateWaitableTimer CreateWaitableTimerA
3366 #define DecryptFile DecryptFileA
3367 #define DefineDosDevice DefineDosDeviceA
3368 #define DeleteFile DeleteFileA
3369 #if (_WIN32_WINNT >= 0x0500)
3370 #define DeleteVolumeMountPoint DeleteVolumeMountPointA
3371 #define DnsHostnameToComputerName DnsHostnameToComputerNameA
3372 #endif
3373 #define EncryptFile EncryptFileA
3374 #define EndUpdateResource EndUpdateResourceA
3375 #define EnumResourceLanguages EnumResourceLanguagesA
3376 #define EnumResourceNames EnumResourceNamesA
3377 #define EnumResourceTypes EnumResourceTypesA
3378 #define ExpandEnvironmentStrings ExpandEnvironmentStringsA
3379 #define FatalAppExit FatalAppExitA
3380 #define FileEncryptionStatus FileEncryptionStatusA
3381 #if (_WIN32_WINNT >= 0x0501)
3382 #define FindActCtxSectionString FindActCtxSectionStringA
3383 #endif
3384 #define FindAtom FindAtomA
3385 #define FindFirstChangeNotification FindFirstChangeNotificationA
3386 #define FindFirstFile FindFirstFileA
3387 #define FindFirstFileEx FindFirstFileExA
3388 #if (_WIN32_WINNT >= 0x0500)
3389 #define FindFirstVolume FindFirstVolumeA
3390 #define FindFirstVolumeMountPoint FindFirstVolumeMountPointA
3391 #endif
3392 #define FindNextFile FindNextFileA
3393 #if (_WIN32_WINNT >= 0x0500)
3394 #define FindNextVolume FindNextVolumeA
3395 #define FindNextVolumeMountPoint FindNextVolumeMountPointA
3396 #endif
3397 #define FindResource FindResourceA
3398 #define FindResourceEx FindResourceExA
3399 #define FormatMessage FormatMessageA
3400 #define FreeEnvironmentStrings FreeEnvironmentStringsA
3401 #define GetAtomName GetAtomNameA
3402 #define GetBinaryType GetBinaryTypeA
3403 #define GetCommandLine GetCommandLineA
3404 #define GetComputerName GetComputerNameA
3405 #if (_WIN32_WINNT >= 0x0500)
3406 #define GetComputerNameEx GetComputerNameExA
3407 #endif
3408 #define GetCompressedFileSize GetCompressedFileSizeA
3409 #define GetCurrentDirectory GetCurrentDirectoryA
3410 #define GetDefaultCommConfig GetDefaultCommConfigA
3411 #define GetDiskFreeSpace GetDiskFreeSpaceA
3412 #define GetDiskFreeSpaceEx GetDiskFreeSpaceExA
3413 #if (_WIN32_WINNT >= 0x0502)
3414 #define GetDllDirectory GetDllDirectoryA
3415 #endif
3416 #define GetDriveType GetDriveTypeA
3417 #define GetEnvironmentStringsA GetEnvironmentStrings
3418 #define GetEnvironmentVariable GetEnvironmentVariableA
3419 #define GetFileAttributes GetFileAttributesA
3420 #define GetFileAttributesEx GetFileAttributesExA
3421 #define GetFileSecurity GetFileSecurityA
3422 #if (_WIN32_WINNT >= 0x0600)
3423 #define GetFinalPathNameByHandle GetFinalPathNameByHandleA
3424 #endif
3425 #define GetFullPathName GetFullPathNameA
3426 #define GetLogicalDriveStrings GetLogicalDriveStringsA
3427 #if (_WIN32_WINNT >= 0x0500 || _WIN32_WINDOWS >= 0x0410)
3428 #define GetLongPathName GetLongPathNameA
3429 #endif
3430 #define GetNamedPipeHandleState GetNamedPipeHandleStateA
3431 #define GetModuleHandle GetModuleHandleA
3432 #if (_WIN32_WINNT >= 0x0500)
3433 #define GetModuleHandleEx GetModuleHandleExA
3434 #endif
3435 #define GetModuleFileName GetModuleFileNameA
3436 #define GetPrivateProfileInt GetPrivateProfileIntA
3437 #define GetPrivateProfileSection GetPrivateProfileSectionA
3438 #define GetPrivateProfileSectionNames GetPrivateProfileSectionNamesA
3439 #define GetPrivateProfileString GetPrivateProfileStringA
3440 #define GetPrivateProfileStruct GetPrivateProfileStructA
3441 #define GetProfileInt GetProfileIntA
3442 #define GetProfileSection GetProfileSectionA
3443 #define GetProfileString GetProfileStringA
3444 #define GetShortPathName GetShortPathNameA
3445 #define GetStartupInfo GetStartupInfoA
3446 #define GetSystemDirectory GetSystemDirectoryA
3447 #if (_WIN32_WINNT >= 0x0500)
3448 #define GetSystemWindowsDirectory GetSystemWindowsDirectoryA
3449 #endif
3450 #if (_WIN32_WINNT >= 0x0501)
3451 #define GetSystemWow64Directory GetSystemWow64DirectoryA
3452 #endif
3453 #define GetTempFileName GetTempFileNameA
3454 #define GetTempPath GetTempPathA
3455 #define GetUserName GetUserNameA
3456 #define GetVersionEx GetVersionExA
3457 #define GetVolumeInformation GetVolumeInformationA
3458 #define GetVolumeNameForVolumeMountPoint GetVolumeNameForVolumeMountPointA
3459 #define GetVolumePathName GetVolumePathNameA
3460 #define GetVolumePathNamesForVolumeName GetVolumePathNamesForVolumeNameA
3461 #define GetWindowsDirectory GetWindowsDirectoryA
3462 #define GlobalAddAtom GlobalAddAtomA
3463 #define GlobalFindAtom GlobalFindAtomA
3464 #define GlobalGetAtomName GlobalGetAtomNameA
3465 #define IsBadStringPtr IsBadStringPtrA
3466 #define LoadLibrary LoadLibraryA
3467 #define LoadLibraryEx LoadLibraryExA
3468 #define LogonUser LogonUserA
3469 #define LookupAccountName LookupAccountNameA
3470 #define LookupAccountSid LookupAccountSidA
3471 #define LookupPrivilegeDisplayName LookupPrivilegeDisplayNameA
3472 #define LookupPrivilegeName LookupPrivilegeNameA
3473 #define LookupPrivilegeValue LookupPrivilegeValueA
3474 #define lstrcat lstrcatA
3475 #define lstrcmp lstrcmpA
3476 #define lstrcmpi lstrcmpiA
3477 #define lstrcpy lstrcpyA
3478 #define lstrcpyn lstrcpynA
3479 #define lstrlen lstrlenA
3480 #define MoveFile MoveFileA
3481 #define MoveFileEx MoveFileExA
3482 #define MoveFileWithProgress MoveFileWithProgressA
3483 #define ObjectCloseAuditAlarm ObjectCloseAuditAlarmA
3484 #define ObjectDeleteAuditAlarm ObjectDeleteAuditAlarmA
3485 #define ObjectOpenAuditAlarm ObjectOpenAuditAlarmA
3486 #define ObjectPrivilegeAuditAlarm ObjectPrivilegeAuditAlarmA
3487 #define OpenBackupEventLog OpenBackupEventLogA
3488 #define OpenEvent OpenEventA
3489 #define OpenEventLog OpenEventLogA
3490 #define OpenFileMapping OpenFileMappingA
3491 #define OpenMutex OpenMutexA
3492 #define OpenSemaphore OpenSemaphoreA
3493 #define OutputDebugString OutputDebugStringA
3494 #define PrivilegedServiceAuditAlarm PrivilegedServiceAuditAlarmA
3495 #define QueryDosDevice QueryDosDeviceA
3496 #define ReadEventLog ReadEventLogA
3497 #define RegisterEventSource RegisterEventSourceA
3498 #define RemoveDirectory RemoveDirectoryA
3499 #if (_WIN32_WINNT >= 0x0500)
3500 #define ReplaceFile ReplaceFileA
3501 #endif
3502 #define ReportEvent ReportEventA
3503 #define SearchPath SearchPathA
3504 #define SetComputerName SetComputerNameA
3505 #define SetComputerNameEx SetComputerNameExA
3506 #define SetCurrentDirectory SetCurrentDirectoryA
3507 #define SetDefaultCommConfig SetDefaultCommConfigA
3508 #if (_WIN32_WINNT >= 0x0502)
3509 #define SetDllDirectory SetDllDirectoryA
3510 #endif
3511 #define SetEnvironmentVariable SetEnvironmentVariableA
3512 #define SetFileAttributes SetFileAttributesA
3513 #define SetFileSecurity SetFileSecurityA
3514 #if (_WIN32_WINNT >= 0x0501)
3515 #define SetFileShortName SetFileShortNameA
3516 #endif
3517 #if (_WIN32_WINNT >= 0x0502)
3518 #define SetFirmwareEnvironmentVariable SetFirmwareEnvironmentVariableA
3519 #endif
3520 #define SetVolumeLabel SetVolumeLabelA
3521 #define SetVolumeMountPoint SetVolumeMountPointA
3522 #define UpdateResource UpdateResourceA
3523 #define VerifyVersionInfo VerifyVersionInfoA
3524 #define WaitNamedPipe WaitNamedPipeA
3525 #define WritePrivateProfileSection WritePrivateProfileSectionA
3526 #define WritePrivateProfileString WritePrivateProfileStringA
3527 #define WritePrivateProfileStruct WritePrivateProfileStructA
3528 #define WriteProfileSection WriteProfileSectionA
3529 #define WriteProfileString WriteProfileStringA
3530 #endif
3531 #endif
3532
3533 /* one-time initialisation API */
3534 typedef RTL_RUN_ONCE INIT_ONCE;
3535 typedef PRTL_RUN_ONCE PINIT_ONCE;
3536 typedef PRTL_RUN_ONCE LPINIT_ONCE;
3537
3538 #define INIT_ONCE_CHECK_ONLY RTL_RUN_ONCE_CHECK_ONLY
3539 #define INIT_ONCE_ASYNC RTL_RUN_ONCE_ASYNC
3540 #define INIT_ONCE_INIT_FAILED RTL_RUN_ONCE_INIT_FAILED
3541
3542 typedef BOOL
3543 (WINAPI *PINIT_ONCE_FN)(
3544 _Inout_ PINIT_ONCE InitOnce,
3545 _Inout_opt_ PVOID Parameter,
3546 _Outptr_opt_result_maybenull_ PVOID *Context);
3547
3548 #if _WIN32_WINNT >= 0x0601
3549
3550 #define COPYFILE2_MESSAGE_COPY_OFFLOAD 0x00000001L
3551
3552 typedef enum _COPYFILE2_MESSAGE_TYPE {
3553 COPYFILE2_CALLBACK_NONE = 0,
3554 COPYFILE2_CALLBACK_CHUNK_STARTED,
3555 COPYFILE2_CALLBACK_CHUNK_FINISHED,
3556 COPYFILE2_CALLBACK_STREAM_STARTED,
3557 COPYFILE2_CALLBACK_STREAM_FINISHED,
3558 COPYFILE2_CALLBACK_POLL_CONTINUE,
3559 COPYFILE2_CALLBACK_ERROR,
3560 COPYFILE2_CALLBACK_MAX,
3561 } COPYFILE2_MESSAGE_TYPE;
3562
3563 typedef enum _COPYFILE2_MESSAGE_ACTION {
3564 COPYFILE2_PROGRESS_CONTINUE = 0,
3565 COPYFILE2_PROGRESS_CANCEL,
3566 COPYFILE2_PROGRESS_STOP,
3567 COPYFILE2_PROGRESS_QUIET,
3568 COPYFILE2_PROGRESS_PAUSE,
3569 } COPYFILE2_MESSAGE_ACTION;
3570
3571 typedef enum _COPYFILE2_COPY_PHASE {
3572 COPYFILE2_PHASE_NONE = 0,
3573 COPYFILE2_PHASE_PREPARE_SOURCE,
3574 COPYFILE2_PHASE_PREPARE_DEST,
3575 COPYFILE2_PHASE_READ_SOURCE,
3576 COPYFILE2_PHASE_WRITE_DESTINATION,
3577 COPYFILE2_PHASE_SERVER_COPY,
3578 COPYFILE2_PHASE_NAMEGRAFT_COPY,
3579 COPYFILE2_PHASE_MAX,
3580 } COPYFILE2_COPY_PHASE;
3581
3582 typedef struct COPYFILE2_MESSAGE {
3583 COPYFILE2_MESSAGE_TYPE Type;
3584 DWORD dwPadding;
3585 union {
3586 struct {
3587 DWORD dwStreamNumber;
3588 DWORD dwReserved;
3589 HANDLE hSourceFile;
3590 HANDLE hDestinationFile;
3591 ULARGE_INTEGER uliChunkNumber;
3592 ULARGE_INTEGER uliChunkSize;
3593 ULARGE_INTEGER uliStreamSize;
3594 ULARGE_INTEGER uliTotalFileSize;
3595 } ChunkStarted;
3596 struct {
3597 DWORD dwStreamNumber;
3598 DWORD dwFlags;
3599 HANDLE hSourceFile;
3600 HANDLE hDestinationFile;
3601 ULARGE_INTEGER uliChunkNumber;
3602 ULARGE_INTEGER uliChunkSize;
3603 ULARGE_INTEGER uliStreamSize;
3604 ULARGE_INTEGER uliStreamBytesTransferred;
3605 ULARGE_INTEGER uliTotalFileSize;
3606 ULARGE_INTEGER uliTotalBytesTransferred;
3607 } ChunkFinished;
3608 struct {
3609 DWORD dwStreamNumber;
3610 DWORD dwReserved;
3611 HANDLE hSourceFile;
3612 HANDLE hDestinationFile;
3613 ULARGE_INTEGER uliStreamSize;
3614 ULARGE_INTEGER uliTotalFileSize;
3615 } StreamStarted;
3616 struct {
3617 DWORD dwStreamNumber;
3618 DWORD dwReserved;
3619 HANDLE hSourceFile;
3620 HANDLE hDestinationFile;
3621 ULARGE_INTEGER uliStreamSize;
3622 ULARGE_INTEGER uliStreamBytesTransferred;
3623 ULARGE_INTEGER uliTotalFileSize;
3624 ULARGE_INTEGER uliTotalBytesTransferred;
3625 } StreamFinished;
3626 struct {
3627 DWORD dwReserved;
3628 } PollContinue;
3629 struct {
3630 COPYFILE2_COPY_PHASE CopyPhase;
3631 DWORD dwStreamNumber;
3632 HRESULT hrFailure;
3633 DWORD dwReserved;
3634 ULARGE_INTEGER uliChunkNumber;
3635 ULARGE_INTEGER uliStreamSize;
3636 ULARGE_INTEGER uliStreamBytesTransferred;
3637 ULARGE_INTEGER uliTotalFileSize;
3638 ULARGE_INTEGER uliTotalBytesTransferred;
3639 } Error;
3640 } Info;
3641 } COPYFILE2_MESSAGE;
3642
3643 typedef COPYFILE2_MESSAGE_ACTION
3644 (CALLBACK *PCOPYFILE2_PROGRESS_ROUTINE)(
3645 _In_ const COPYFILE2_MESSAGE *pMessage,
3646 _In_opt_ PVOID pvCallbackContext);
3647
3648 typedef struct COPYFILE2_EXTENDED_PARAMETERS {
3649 DWORD dwSize;
3650 DWORD dwCopyFlags;
3651 BOOL *pfCancel;
3652 PCOPYFILE2_PROGRESS_ROUTINE pProgressRoutine;
3653 PVOID pvCallbackContext;
3654 } COPYFILE2_EXTENDED_PARAMETERS;
3655
3656 WINBASEAPI
3657 HRESULT
3658 WINAPI
3659 CopyFile2(
3660 _In_ PCWSTR pwszExistingFileName,
3661 _In_ PCWSTR pwszNewFileName,
3662 _In_opt_ COPYFILE2_EXTENDED_PARAMETERS *pExtendedParameters);
3663
3664 #endif /* _WIN32_WINNT >= 0x0601 */
3665
3666 WINBASEAPI
3667 BOOL
3668 WINAPI
3669 InitOnceExecuteOnce(
3670 _Inout_ PINIT_ONCE InitOnce,
3671 _In_ __callback PINIT_ONCE_FN InitFn,
3672 _Inout_opt_ PVOID Parameter,
3673 _Outptr_opt_result_maybenull_ LPVOID *Context);
3674
3675 WINBASEAPI
3676 VOID
3677 WINAPI
3678 InitializeSListHead(
3679 _Out_ PSLIST_HEADER ListHead);
3680
3681 #ifdef _MSC_VER
3682 #pragma warning(pop)
3683 #endif
3684
3685 #ifdef __cplusplus
3686 }
3687 #endif
3688 #endif /* _WINBASE_H */