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