09812fc128fc7fe9cc4dccda94316682ab0bea50
[reactos.git] / sdk / include / psdk / winbase.h
1 #ifndef _WINBASE_
2 #define _WINBASE_
3
4 #if !defined(_KERNEL32_)
5 #define WINBASEAPI DECLSPEC_IMPORT
6 #else
7 #define WINBASEAPI
8 #endif
9
10 #ifdef __cplusplus
11 extern "C" {
12 #endif
13
14 #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 struct _PROC_THREAD_ATTRIBUTE_LIST *PPROC_THREAD_ATTRIBUTE_LIST, *LPPROC_THREAD_ATTRIBUTE_LIST;
1346
1347 #define PROC_THREAD_ATTRIBUTE_NUMBER 0x0000ffff
1348 #define PROC_THREAD_ATTRIBUTE_THREAD 0x00010000
1349 #define PROC_THREAD_ATTRIBUTE_INPUT 0x00020000
1350 #define PROC_THREAD_ATTRIBUTE_ADDITIVE 0x00040000
1351
1352 typedef enum _PROC_THREAD_ATTRIBUTE_NUM {
1353 ProcThreadAttributeParentProcess = 0,
1354 ProcThreadAttributeHandleList = 2,
1355 ProcThreadAttributeGroupAffinity = 3,
1356 ProcThreadAttributeIdealProcessor = 5,
1357 ProcThreadAttributeUmsThread = 6,
1358 ProcThreadAttributeMitigationPolicy = 7,
1359 ProcThreadAttributeSecurityCapabilities = 9,
1360 ProcThreadAttributeProtectionLevel = 11,
1361 ProcThreadAttributeJobList = 13,
1362 ProcThreadAttributeChildProcessPolicy = 14,
1363 ProcThreadAttributeAllApplicationPackagesPolicy = 15,
1364 ProcThreadAttributeWin32kFilter = 16,
1365 ProcThreadAttributeSafeOpenPromptOriginClaim = 17,
1366 } PROC_THREAD_ATTRIBUTE_NUM;
1367
1368 #define PROC_THREAD_ATTRIBUTE_IDEAL_PROCESSOR (ProcThreadAttributeIdealProcessor | PROC_THREAD_ATTRIBUTE_THREAD | PROC_THREAD_ATTRIBUTE_INPUT)
1369 #define PROC_THREAD_ATTRIBUTE_HANDLE_LIST (ProcThreadAttributeHandleList | PROC_THREAD_ATTRIBUTE_INPUT)
1370 #define PROC_THREAD_ATTRIBUTE_PARENT_PROCESS (ProcThreadAttributeParentProcess | PROC_THREAD_ATTRIBUTE_INPUT)
1371
1372 typedef DWORD
1373 (WINAPI *PFE_EXPORT_FUNC)(
1374 _In_reads_bytes_(ulLength) PBYTE pbData,
1375 _In_opt_ PVOID pvCallbackContext,
1376 _In_ ULONG ulLength);
1377
1378 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);
1379
1380 typedef VOID (WINAPI *PFIBER_START_ROUTINE)( LPVOID lpFiberParameter );
1381 typedef PFIBER_START_ROUTINE LPFIBER_START_ROUTINE;
1382
1383 typedef VOID (WINAPI *PFLS_CALLBACK_FUNCTION)(PVOID);
1384 typedef BOOL(CALLBACK *ENUMRESLANGPROCA)(HMODULE,LPCSTR,LPCSTR,WORD,LONG_PTR);
1385 typedef BOOL(CALLBACK *ENUMRESLANGPROCW)(HMODULE,LPCWSTR,LPCWSTR,WORD,LONG_PTR);
1386 typedef BOOL(CALLBACK *ENUMRESNAMEPROCA)(HMODULE,LPCSTR,LPSTR,LONG_PTR);
1387 typedef BOOL(CALLBACK *ENUMRESNAMEPROCW)(HMODULE,LPCWSTR,LPWSTR,LONG_PTR);
1388 typedef BOOL(CALLBACK *ENUMRESTYPEPROCA)(HMODULE,LPSTR,LONG_PTR);
1389 typedef BOOL(CALLBACK *ENUMRESTYPEPROCW)(HMODULE,LPWSTR,LONG_PTR);
1390 typedef void(CALLBACK *LPOVERLAPPED_COMPLETION_ROUTINE)(DWORD,DWORD,LPOVERLAPPED);
1391 typedef LONG(CALLBACK *PTOP_LEVEL_EXCEPTION_FILTER)(LPEXCEPTION_POINTERS);
1392 typedef PTOP_LEVEL_EXCEPTION_FILTER LPTOP_LEVEL_EXCEPTION_FILTER;
1393 typedef void(APIENTRY *PAPCFUNC)(ULONG_PTR);
1394 typedef void(CALLBACK *PTIMERAPCROUTINE)(PVOID,DWORD,DWORD);
1395 #if (_WIN32_WINNT >= 0x0600)
1396 typedef DWORD (WINAPI *APPLICATION_RECOVERY_CALLBACK)(PVOID);
1397 #endif
1398
1399 #ifdef WINE_NO_UNICODE_MACROS /* force using a cast */
1400 #define MAKEINTATOM(atom) ((ULONG_PTR)((WORD)(atom)))
1401 #else
1402 #define MAKEINTATOM(i) (LPTSTR)((ULONG_PTR)((WORD)(i)))
1403 #endif
1404
1405 typedef DWORD
1406 (WINAPI *PFE_IMPORT_FUNC)(
1407 _Out_writes_bytes_to_(*ulLength, *ulLength) PBYTE pbData,
1408 _In_opt_ PVOID pvCallbackContext,
1409 _Inout_ PULONG ulLength);
1410
1411 /* Functions */
1412 #ifndef UNDER_CE
1413 int APIENTRY WinMain(_In_ HINSTANCE, _In_opt_ HINSTANCE, _In_ LPSTR, _In_ int);
1414 #else
1415 int APIENTRY WinMain(_In_ HINSTANCE, _In_opt_ HINSTANCE, _In_ LPWSTR, _In_ int);
1416 #endif
1417 int APIENTRY wWinMain(_In_ HINSTANCE, _In_opt_ HINSTANCE, _In_ LPWSTR, _In_ int);
1418
1419 long
1420 WINAPI
1421 _hread(
1422 _In_ HFILE hFile,
1423 _Out_writes_bytes_to_(lBytes, return) LPVOID lpBuffer,
1424 _In_ long lBytes);
1425
1426 long
1427 WINAPI
1428 _hwrite(
1429 _In_ HFILE hFile,
1430 _In_reads_bytes_(lBytes) LPCCH lpBuffer,
1431 _In_ long lBytes);
1432
1433 HFILE WINAPI _lclose(_In_ HFILE);
1434 HFILE WINAPI _lcreat(_In_ LPCSTR, _In_ int);
1435 LONG WINAPI _llseek(_In_ HFILE, _In_ LONG, _In_ int);
1436 HFILE WINAPI _lopen(_In_ LPCSTR, _In_ int);
1437
1438 UINT
1439 WINAPI
1440 _lread(
1441 _In_ HFILE hFile,
1442 _Out_writes_bytes_to_(uBytes, return) LPVOID lpBuffer,
1443 _In_ UINT uBytes);
1444
1445 UINT
1446 WINAPI
1447 _lwrite(
1448 _In_ HFILE hFile,
1449 _In_reads_bytes_(uBytes) LPCCH lpBuffer,
1450 _In_ UINT uBytes);
1451
1452 BOOL WINAPI AccessCheck(PSECURITY_DESCRIPTOR,HANDLE,DWORD,PGENERIC_MAPPING,PPRIVILEGE_SET,PDWORD,PDWORD,PBOOL);
1453
1454 BOOL
1455 WINAPI
1456 AccessCheckAndAuditAlarmA(
1457 _In_ LPCSTR SubsystemName,
1458 _In_opt_ LPVOID HandleId,
1459 _In_ LPSTR ObjectTypeName,
1460 _In_opt_ LPSTR ObjectName,
1461 _In_ PSECURITY_DESCRIPTOR SecurityDescriptor,
1462 _In_ DWORD DesiredAccess,
1463 _In_ PGENERIC_MAPPING GenericMapping,
1464 _In_ BOOL ObjectCreation,
1465 _Out_ LPDWORD GrantedAccess,
1466 _Out_ LPBOOL AccessStatus,
1467 _Out_ LPBOOL pfGenerateOnClose);
1468
1469 BOOL WINAPI AccessCheckAndAuditAlarmW(LPCWSTR,LPVOID,LPWSTR,LPWSTR,PSECURITY_DESCRIPTOR,DWORD,PGENERIC_MAPPING,BOOL,PDWORD,PBOOL,PBOOL);
1470 #if (_WIN32_WINNT >= 0x0600)
1471 VOID WINAPI AcquireSRWLockExclusive(PSRWLOCK);
1472 VOID WINAPI AcquireSRWLockShared(PSRWLOCK);
1473 #endif
1474 #if (_WIN32_WINNT >= 0x0501)
1475 BOOL WINAPI ActivateActCtx(_Inout_opt_ HANDLE, _Out_ ULONG_PTR*);
1476 #endif
1477 BOOL WINAPI AddAccessAllowedAce(PACL,DWORD,DWORD,PSID);
1478 BOOL WINAPI AddAccessDeniedAce(PACL,DWORD,DWORD,PSID);
1479 #if (_WIN32_WINNT >= 0x0500)
1480 BOOL WINAPI AddAccessAllowedAceEx(PACL,DWORD,DWORD,DWORD,PSID);
1481 BOOL WINAPI AddAccessDeniedAceEx(PACL,DWORD,DWORD,DWORD,PSID);
1482 BOOL WINAPI AddAccessAllowedObjectAce(PACL,DWORD,DWORD,DWORD,GUID*,GUID*,PSID);
1483 BOOL WINAPI AddAccessDeniedObjectAce(PACL,DWORD,DWORD,DWORD,GUID*,GUID*,PSID);
1484 #endif
1485 BOOL WINAPI AddAce(PACL,DWORD,DWORD,PVOID,DWORD);
1486 ATOM WINAPI AddAtomA(_In_opt_ LPCSTR);
1487 ATOM WINAPI AddAtomW(_In_opt_ LPCWSTR);
1488 BOOL WINAPI AddAuditAccessAce(PACL,DWORD,DWORD,PSID,BOOL,BOOL);
1489 #if (_WIN32_WINNT >= 0x0500)
1490 BOOL WINAPI AddAuditAccessObjectAce(PACL,DWORD,DWORD,DWORD,GUID*,GUID*,PSID,BOOL,BOOL);
1491 #endif
1492 #if (_WIN32_WINNT >= 0x0501)
1493 void WINAPI AddRefActCtx(_Inout_ HANDLE);
1494 #endif
1495 #if (_WIN32_WINNT >= 0x0500)
1496 _Ret_maybenull_ PVOID WINAPI AddVectoredExceptionHandler(_In_ ULONG, _In_ PVECTORED_EXCEPTION_HANDLER);
1497 _Ret_maybenull_ PVOID WINAPI AddVectoredContinueHandler(_In_ ULONG, _In_ PVECTORED_EXCEPTION_HANDLER);
1498 #endif
1499 BOOL WINAPI AccessCheckByType(PSECURITY_DESCRIPTOR,PSID,HANDLE,DWORD,POBJECT_TYPE_LIST,DWORD,PGENERIC_MAPPING,PPRIVILEGE_SET,LPDWORD,LPDWORD,LPBOOL);
1500 BOOL WINAPI AdjustTokenGroups(HANDLE,BOOL,PTOKEN_GROUPS,DWORD,PTOKEN_GROUPS,PDWORD);
1501 BOOL WINAPI AdjustTokenPrivileges(HANDLE,BOOL,PTOKEN_PRIVILEGES,DWORD,PTOKEN_PRIVILEGES,PDWORD);
1502 BOOL WINAPI AllocateAndInitializeSid(PSID_IDENTIFIER_AUTHORITY,BYTE,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,PSID*);
1503 BOOL WINAPI CheckTokenMembership(HANDLE,PSID,PBOOL);
1504 BOOL WINAPI AllocateLocallyUniqueId(PLUID);
1505 BOOL WINAPI AreAllAccessesGranted(DWORD,DWORD);
1506 BOOL WINAPI AreAnyAccessesGranted(DWORD,DWORD);
1507 BOOL WINAPI AreFileApisANSI(void);
1508 BOOL WINAPI BackupEventLogA(_In_ HANDLE, _In_ LPCSTR);
1509 BOOL WINAPI BackupEventLogW(_In_ HANDLE, _In_ LPCWSTR);
1510
1511 BOOL
1512 WINAPI
1513 BackupRead(
1514 _In_ HANDLE hFile,
1515 _Out_writes_bytes_to_(nNumberOfBytesToRead, *lpNumberOfBytesRead) LPBYTE lpBuffer,
1516 _In_ DWORD nNumberOfBytesToRead,
1517 _Out_ LPDWORD lpNumberOfBytesRead,
1518 _In_ BOOL bAbort,
1519 _In_ BOOL bProcessSecurity,
1520 _Inout_ LPVOID *lpContext);
1521
1522 BOOL WINAPI BackupSeek(_In_ HANDLE, _In_ DWORD, _In_ DWORD, _Out_ LPDWORD, _Out_ LPDWORD, _Inout_ LPVOID*);
1523
1524 BOOL
1525 WINAPI
1526 BackupWrite(
1527 _In_ HANDLE hFile,
1528 _In_reads_bytes_(nNumberOfBytesToWrite) LPBYTE lpBuffer,
1529 _In_ DWORD nNumberOfBytesToWrite,
1530 _Out_ LPDWORD lpNumberOfBytesWritten,
1531 _In_ BOOL bAbort,
1532 _In_ BOOL bProcessSecurity,
1533 _Inout_ LPVOID *lpContext);
1534
1535 BOOL WINAPI Beep(DWORD,DWORD);
1536 HANDLE WINAPI BeginUpdateResourceA(_In_ LPCSTR, _In_ BOOL);
1537 HANDLE WINAPI BeginUpdateResourceW(_In_ LPCWSTR, _In_ BOOL);
1538 #if (_WIN32_WINNT >= 0x0500)
1539 BOOL WINAPI BindIoCompletionCallback(_In_ HANDLE, _In_ LPOVERLAPPED_COMPLETION_ROUTINE, _In_ ULONG);
1540 #endif
1541 BOOL WINAPI BuildCommDCBA(_In_ LPCSTR, _Out_ LPDCB);
1542 BOOL WINAPI BuildCommDCBW(_In_ LPCWSTR, _Out_ LPDCB);
1543 BOOL WINAPI BuildCommDCBAndTimeoutsA(_In_ LPCSTR, _Out_ LPDCB, _Out_ LPCOMMTIMEOUTS);
1544 BOOL WINAPI BuildCommDCBAndTimeoutsW(_In_ LPCWSTR, _Out_ LPDCB, _Out_ LPCOMMTIMEOUTS);
1545
1546 BOOL
1547 WINAPI
1548 CallNamedPipeA(
1549 _In_ LPCSTR lpNamedPipeName,
1550 _In_reads_bytes_opt_(nInBufferSize) LPVOID lpInBuffer,
1551 _In_ DWORD nInBufferSize,
1552 _Out_writes_bytes_to_opt_(nOutBufferSize, *lpBytesRead) LPVOID lpOutBuffer,
1553 _In_ DWORD nOutBufferSize,
1554 _Out_ LPDWORD lpBytesRead,
1555 _In_ DWORD nTimeOut);
1556
1557 BOOL
1558 WINAPI
1559 CallNamedPipeW(
1560 _In_ LPCWSTR lpNamedPipeName,
1561 _In_reads_bytes_opt_(nInBufferSize) LPVOID lpInBuffer,
1562 _In_ DWORD nInBufferSize,
1563 _Out_writes_bytes_to_opt_(nOutBufferSize, *lpBytesRead) LPVOID lpOutBuffer,
1564 _In_ DWORD nOutBufferSize,
1565 _Out_ LPDWORD lpBytesRead,
1566 _In_ DWORD nTimeOut);
1567
1568 BOOL WINAPI CancelDeviceWakeupRequest(_In_ HANDLE);
1569 BOOL WINAPI CancelIo(HANDLE);
1570 #if (_WIN32_WINNT >= 0x0600)
1571 BOOL WINAPI CancelIoEx(HANDLE,LPOVERLAPPED);
1572 BOOL WINAPI CancelSynchronousIo(HANDLE);
1573 #endif
1574 BOOL WINAPI CancelWaitableTimer(HANDLE);
1575
1576 #if (_WIN32_WINNT >= 0x0501)
1577
1578 BOOL
1579 WINAPI
1580 CheckNameLegalDOS8Dot3A(
1581 _In_ LPCSTR lpName,
1582 _Out_writes_opt_(OemNameSize) LPSTR lpOemName,
1583 _In_ DWORD OemNameSize,
1584 _Out_opt_ PBOOL pbNameContainsSpaces,
1585 _Out_ PBOOL pbNameLegal);
1586
1587 BOOL
1588 WINAPI
1589 CheckNameLegalDOS8Dot3W(
1590 _In_ LPCWSTR lpName,
1591 _Out_writes_opt_(OemNameSize) LPSTR lpOemName,
1592 _In_ DWORD OemNameSize,
1593 _Out_opt_ PBOOL pbNameContainsSpaces,
1594 _Out_ PBOOL pbNameLegal);
1595
1596 BOOL WINAPI CheckRemoteDebuggerPresent(_In_ HANDLE, _Out_ PBOOL);
1597 #endif
1598
1599 BOOL WINAPI ClearCommBreak(_In_ HANDLE);
1600 BOOL WINAPI ClearCommError(_In_ HANDLE, _Out_opt_ PDWORD, _Out_opt_ LPCOMSTAT);
1601 BOOL WINAPI ClearEventLogA(_In_ HANDLE, _In_opt_ LPCSTR);
1602 BOOL WINAPI ClearEventLogW(_In_ HANDLE, _In_opt_ LPCWSTR);
1603 BOOL WINAPI CloseEventLog(_In_ HANDLE);
1604 BOOL WINAPI CloseHandle(HANDLE);
1605 BOOL WINAPI CommConfigDialogA(_In_ LPCSTR, _In_opt_ HWND, _Inout_ LPCOMMCONFIG);
1606 BOOL WINAPI CommConfigDialogW(_In_ LPCWSTR, _In_opt_ HWND, _Inout_ LPCOMMCONFIG);
1607 LONG WINAPI CompareFileTime(CONST FILETIME*,CONST FILETIME*);
1608 BOOL WINAPI ConnectNamedPipe(HANDLE,LPOVERLAPPED);
1609 BOOL WINAPI ContinueDebugEvent(DWORD,DWORD,DWORD);
1610 #if (_WIN32_WINNT >= 0x0400)
1611 BOOL WINAPI ConvertFiberToThread(void);
1612 #endif
1613 _Ret_maybenull_ PVOID WINAPI ConvertThreadToFiber(_In_opt_ PVOID);
1614 BOOL WINAPI CopyFileA(_In_ LPCSTR, _In_ LPCSTR, _In_ BOOL);
1615 BOOL WINAPI CopyFileW(_In_ LPCWSTR, _In_ LPCWSTR, _In_ BOOL);
1616 BOOL WINAPI CopyFileExA(_In_ LPCSTR, _In_ LPCSTR, _In_opt_ LPPROGRESS_ROUTINE, _In_opt_ LPVOID, _In_opt_ LPBOOL, _In_ DWORD);
1617 BOOL WINAPI CopyFileExW(_In_ LPCWSTR, _In_ LPCWSTR, _In_opt_ LPPROGRESS_ROUTINE, _In_opt_ LPVOID, _In_opt_ LPBOOL, _In_ DWORD);
1618 #define MoveMemory RtlMoveMemory
1619 #define CopyMemory RtlCopyMemory
1620 #define FillMemory RtlFillMemory
1621 #define ZeroMemory RtlZeroMemory
1622 #define SecureZeroMemory RtlSecureZeroMemory
1623 BOOL WINAPI CopySid(DWORD,PSID,PSID);
1624 #if (_WIN32_WINNT >= 0x0501)
1625 HANDLE WINAPI CreateActCtxA(_In_ PCACTCTXA);
1626 HANDLE WINAPI CreateActCtxW(_In_ PCACTCTXW);
1627 #endif
1628 BOOL WINAPI CreateDirectoryA(LPCSTR,LPSECURITY_ATTRIBUTES);
1629 BOOL WINAPI CreateDirectoryW(LPCWSTR,LPSECURITY_ATTRIBUTES);
1630 BOOL WINAPI CreateDirectoryExA(_In_ LPCSTR, _In_ LPCSTR, _In_opt_ LPSECURITY_ATTRIBUTES);
1631 BOOL WINAPI CreateDirectoryExW(_In_ LPCWSTR, _In_ LPCWSTR, _In_opt_ LPSECURITY_ATTRIBUTES);
1632 HANDLE WINAPI CreateEventA(LPSECURITY_ATTRIBUTES,BOOL,BOOL,LPCSTR);
1633 HANDLE WINAPI CreateEventW(LPSECURITY_ATTRIBUTES,BOOL,BOOL,LPCWSTR);
1634 #if (_WIN32_WINNT >= 0x0600)
1635 HANDLE WINAPI CreateEventExA(LPSECURITY_ATTRIBUTES,LPCSTR,DWORD,DWORD);
1636 HANDLE WINAPI CreateEventExW(LPSECURITY_ATTRIBUTES,LPCWSTR,DWORD,DWORD);
1637 #endif
1638 _Ret_maybenull_ LPVOID WINAPI CreateFiber(_In_ SIZE_T, _In_ LPFIBER_START_ROUTINE, _In_opt_ LPVOID);
1639 #if (_WIN32_WINNT >= 0x0400)
1640 _Ret_maybenull_ LPVOID WINAPI CreateFiberEx(_In_ SIZE_T, _In_ SIZE_T, _In_ DWORD, _In_ LPFIBER_START_ROUTINE, _In_opt_ LPVOID);
1641 #endif
1642 HANDLE WINAPI CreateFileA(LPCSTR,DWORD,DWORD,LPSECURITY_ATTRIBUTES,DWORD,DWORD,HANDLE);
1643 HANDLE WINAPI CreateFileW(LPCWSTR,DWORD,DWORD,LPSECURITY_ATTRIBUTES,DWORD,DWORD,HANDLE);
1644 _Ret_maybenull_ HANDLE WINAPI CreateFileMappingA(_In_ HANDLE, _In_opt_ LPSECURITY_ATTRIBUTES, _In_ DWORD, _In_ DWORD, _In_ DWORD, _In_opt_ LPCSTR);
1645 HANDLE WINAPI CreateFileMappingW(HANDLE,LPSECURITY_ATTRIBUTES,DWORD,DWORD,DWORD,LPCWSTR);
1646 #if (_WIN32_WINNT >= 0x0500)
1647 BOOL WINAPI CreateHardLinkA(_In_ LPCSTR, _In_ LPCSTR, _Reserved_ LPSECURITY_ATTRIBUTES);
1648 BOOL WINAPI CreateHardLinkW(_In_ LPCWSTR, _In_ LPCWSTR, _Reserved_ LPSECURITY_ATTRIBUTES);
1649 #endif
1650 HANDLE WINAPI CreateIoCompletionPort(HANDLE,HANDLE,ULONG_PTR,DWORD);
1651 #if (_WIN32_WINNT >= 0x0500)
1652 _Ret_maybenull_ HANDLE WINAPI CreateJobObjectA(_In_opt_ LPSECURITY_ATTRIBUTES, _In_opt_ LPCSTR);
1653 _Ret_maybenull_ HANDLE WINAPI CreateJobObjectW(_In_opt_ LPSECURITY_ATTRIBUTES, _In_opt_ LPCWSTR);
1654 BOOL WINAPI TerminateJobObject(_In_ HANDLE, _In_ UINT);
1655 BOOL WINAPI AssignProcessToJobObject(_In_ HANDLE, _In_ HANDLE);
1656 #endif
1657 HANDLE WINAPI CreateMailslotA(_In_ LPCSTR, _In_ DWORD, _In_ DWORD, _In_opt_ LPSECURITY_ATTRIBUTES);
1658 HANDLE WINAPI CreateMailslotW(_In_ LPCWSTR, _In_ DWORD, _In_ DWORD, _In_opt_ LPSECURITY_ATTRIBUTES);
1659 #if (_WIN32_WINNT >= 0x0501)
1660 HANDLE WINAPI CreateMemoryResourceNotification(MEMORY_RESOURCE_NOTIFICATION_TYPE);
1661 #endif
1662 HANDLE WINAPI CreateMutexA(LPSECURITY_ATTRIBUTES,BOOL,LPCSTR);
1663 HANDLE WINAPI CreateMutexW(LPSECURITY_ATTRIBUTES,BOOL,LPCWSTR);
1664 #if (_WIN32_WINNT >= 0x0600)
1665 HANDLE WINAPI CreateMutexExA(LPSECURITY_ATTRIBUTES,LPCSTR,DWORD,DWORD);
1666 HANDLE WINAPI CreateMutexExW(LPSECURITY_ATTRIBUTES,LPCWSTR,DWORD,DWORD);
1667 #endif
1668 HANDLE WINAPI CreateNamedPipeA(_In_ LPCSTR, _In_ DWORD, _In_ DWORD, _In_ DWORD, _In_ DWORD, _In_ DWORD, _In_ DWORD, _In_opt_ LPSECURITY_ATTRIBUTES);
1669 HANDLE WINAPI CreateNamedPipeW(_In_ LPCWSTR, _In_ DWORD, _In_ DWORD, _In_ DWORD, _In_ DWORD, _In_ DWORD, _In_ DWORD, _In_opt_ LPSECURITY_ATTRIBUTES);
1670 BOOL WINAPI CreatePipe(PHANDLE,PHANDLE,LPSECURITY_ATTRIBUTES,DWORD);
1671 BOOL WINAPI CreatePrivateObjectSecurity(PSECURITY_DESCRIPTOR,PSECURITY_DESCRIPTOR,PSECURITY_DESCRIPTOR*,BOOL,HANDLE,PGENERIC_MAPPING);
1672 BOOL WINAPI CreateProcessA(LPCSTR,LPSTR,LPSECURITY_ATTRIBUTES,LPSECURITY_ATTRIBUTES,BOOL,DWORD,PVOID,LPCSTR,LPSTARTUPINFOA,LPPROCESS_INFORMATION);
1673 BOOL WINAPI CreateProcessW(LPCWSTR,LPWSTR,LPSECURITY_ATTRIBUTES,LPSECURITY_ATTRIBUTES,BOOL,DWORD,PVOID,LPCWSTR,LPSTARTUPINFOW,LPPROCESS_INFORMATION);
1674
1675 BOOL
1676 WINAPI
1677 CreateProcessAsUserA(
1678 _In_opt_ HANDLE,
1679 _In_opt_ LPCSTR,
1680 _Inout_opt_ LPSTR,
1681 _In_opt_ LPSECURITY_ATTRIBUTES,
1682 _In_opt_ LPSECURITY_ATTRIBUTES,
1683 _In_ BOOL,
1684 _In_ DWORD,
1685 _In_opt_ PVOID,
1686 _In_opt_ LPCSTR,
1687 _In_ LPSTARTUPINFOA,
1688 _Out_ LPPROCESS_INFORMATION);
1689
1690 BOOL WINAPI CreateProcessAsUserW(HANDLE,LPCWSTR,LPWSTR,LPSECURITY_ATTRIBUTES,LPSECURITY_ATTRIBUTES,BOOL,DWORD,PVOID,LPCWSTR,LPSTARTUPINFOW,LPPROCESS_INFORMATION);
1691 HANDLE WINAPI CreateRemoteThread(HANDLE,LPSECURITY_ATTRIBUTES,DWORD,LPTHREAD_START_ROUTINE,LPVOID,DWORD,LPDWORD);
1692
1693 BOOL
1694 WINAPI
1695 CreateRestrictedToken(
1696 _In_ HANDLE ExistingTokenHandle,
1697 _In_ DWORD Flags,
1698 _In_ DWORD DisableSidCount,
1699 _In_reads_opt_(DisableSidCount) PSID_AND_ATTRIBUTES SidsToDisable,
1700 _In_ DWORD DeletePrivilegeCount,
1701 _In_reads_opt_(DeletePrivilegeCount) PLUID_AND_ATTRIBUTES PrivilegesToDelete,
1702 _In_ DWORD RestrictedSidCount,
1703 _In_reads_opt_(RestrictedSidCount) PSID_AND_ATTRIBUTES SidsToRestrict,
1704 _Outptr_ PHANDLE NewTokenHandle);
1705
1706 _Ret_maybenull_ HANDLE WINAPI CreateSemaphoreA(_In_opt_ LPSECURITY_ATTRIBUTES, _In_ LONG, _In_ LONG, _In_opt_ LPCSTR);
1707 _Ret_maybenull_ HANDLE WINAPI CreateSemaphoreW(_In_opt_ LPSECURITY_ATTRIBUTES, _In_ LONG, _In_ LONG, _In_opt_ LPCWSTR);
1708 #if (_WIN32_WINNT >= 0x0600)
1709 _Ret_maybenull_ HANDLE WINAPI CreateSemaphoreExA(_In_opt_ LPSECURITY_ATTRIBUTES, _In_ LONG, _In_ LONG, _In_opt_ LPCSTR, _Reserved_ DWORD, _In_ DWORD);
1710 HANDLE WINAPI CreateSemaphoreExW(LPSECURITY_ATTRIBUTES,LONG,LONG,LPCWSTR,DWORD,DWORD);
1711 #endif
1712 DWORD WINAPI CreateTapePartition(_In_ HANDLE, _In_ DWORD, _In_ DWORD, _In_ DWORD);
1713 #if (_WIN32_WINNT >= 0x0500)
1714 HANDLE WINAPI CreateTimerQueue(void);
1715 BOOL WINAPI CreateTimerQueueTimer(PHANDLE,HANDLE,WAITORTIMERCALLBACK,PVOID,DWORD,DWORD,ULONG);
1716 #endif
1717 HANDLE WINAPI CreateThread(LPSECURITY_ATTRIBUTES,DWORD,LPTHREAD_START_ROUTINE,PVOID,DWORD,PDWORD);
1718 _Ret_maybenull_ HANDLE WINAPI CreateWaitableTimerA(_In_opt_ LPSECURITY_ATTRIBUTES, _In_ BOOL, _In_opt_ LPCSTR);
1719 _Ret_maybenull_ HANDLE WINAPI CreateWaitableTimerW(_In_opt_ LPSECURITY_ATTRIBUTES, _In_ BOOL, _In_opt_ LPCWSTR);
1720 #if (_WIN32_WINNT >= 0x0600)
1721 _Ret_maybenull_ HANDLE WINAPI CreateWaitableTimerExA(_In_opt_ LPSECURITY_ATTRIBUTES, _In_opt_ LPCSTR, _In_ DWORD, _In_ DWORD);
1722 HANDLE WINAPI CreateWaitableTimerExW(LPSECURITY_ATTRIBUTES,LPCWSTR,DWORD,DWORD);
1723 #endif
1724 #if (_WIN32_WINNT >= 0x0501)
1725 BOOL WINAPI CreateWellKnownSid(WELL_KNOWN_SID_TYPE,PSID,PSID,DWORD*);
1726 BOOL WINAPI DeactivateActCtx(_In_ DWORD, _In_ ULONG_PTR);
1727 #endif
1728 BOOL WINAPI DebugActiveProcess(DWORD);
1729 #if (_WIN32_WINNT >= 0x0501)
1730 BOOL WINAPI DebugActiveProcessStop(DWORD);
1731 #endif
1732 void WINAPI DebugBreak(void);
1733 #if (_WIN32_WINNT >= 0x0501)
1734 BOOL WINAPI DebugBreakProcess(_In_ HANDLE);
1735 BOOL WINAPI DebugSetProcessKillOnExit(_In_ BOOL);
1736 #endif
1737 PVOID WINAPI DecodePointer(PVOID);
1738 PVOID WINAPI DecodeSystemPointer(PVOID);
1739 BOOL WINAPI DecryptFileA(_In_ LPCSTR, _Reserved_ DWORD);
1740 BOOL WINAPI DecryptFileW(_In_ LPCWSTR, _Reserved_ DWORD);
1741 BOOL WINAPI DefineDosDeviceA(_In_ DWORD, _In_ LPCSTR, _In_opt_ LPCSTR);
1742 BOOL WINAPI DefineDosDeviceW(DWORD,LPCWSTR,LPCWSTR);
1743 #define DefineHandleTable(w) ((w),TRUE)
1744 BOOL WINAPI DeleteAce(PACL,DWORD);
1745 ATOM WINAPI DeleteAtom(_In_ ATOM);
1746 void WINAPI DeleteCriticalSection(PCRITICAL_SECTION);
1747 void WINAPI DeleteFiber(_In_ PVOID);
1748 BOOL WINAPI DeleteFileA(LPCSTR);
1749 BOOL WINAPI DeleteFileW(LPCWSTR);
1750 #if (_WIN32_WINNT >= 0x0500)
1751 _Must_inspect_result_ BOOL WINAPI DeleteTimerQueue(_In_ HANDLE);
1752 BOOL WINAPI DeleteTimerQueueEx(HANDLE,HANDLE);
1753 BOOL WINAPI DeleteTimerQueueTimer(HANDLE,HANDLE,HANDLE);
1754 BOOL WINAPI DeleteVolumeMountPointA(_In_ LPCSTR);
1755 BOOL WINAPI DeleteVolumeMountPointW(LPCWSTR);
1756 #endif
1757 BOOL WINAPI DeregisterEventSource(_In_ HANDLE);
1758 BOOL WINAPI DestroyPrivateObjectSecurity(PSECURITY_DESCRIPTOR*);
1759 BOOL WINAPI DeviceIoControl(HANDLE,DWORD,PVOID,DWORD,PVOID,DWORD,PDWORD,POVERLAPPED);
1760 BOOL WINAPI DisableThreadLibraryCalls(HMODULE);
1761
1762 #if (_WIN32_WINNT >= 0x0500)
1763
1764 _Success_(return != FALSE)
1765 BOOL
1766 WINAPI
1767 DnsHostnameToComputerNameA(
1768 _In_ LPCSTR Hostname,
1769 _Out_writes_to_opt_(*nSize, *nSize + 1) LPSTR ComputerName,
1770 _Inout_ LPDWORD nSize);
1771
1772 _Success_(return != FALSE)
1773 BOOL
1774 WINAPI
1775 DnsHostnameToComputerNameW(
1776 _In_ LPCWSTR Hostname,
1777 _Out_writes_to_opt_(*nSize, *nSize + 1) LPWSTR ComputerName,
1778 _Inout_ LPDWORD nSize);
1779
1780 #endif
1781
1782 BOOL WINAPI DisconnectNamedPipe(HANDLE);
1783 BOOL WINAPI DosDateTimeToFileTime(_In_ WORD, _In_ WORD, _Out_ LPFILETIME);
1784 BOOL WINAPI DuplicateHandle(HANDLE,HANDLE,HANDLE,PHANDLE,DWORD,BOOL,DWORD);
1785 BOOL WINAPI DuplicateToken(HANDLE,SECURITY_IMPERSONATION_LEVEL,PHANDLE);
1786 BOOL WINAPI DuplicateTokenEx(HANDLE,DWORD,LPSECURITY_ATTRIBUTES,SECURITY_IMPERSONATION_LEVEL,TOKEN_TYPE,PHANDLE);
1787 PVOID WINAPI EncodePointer(PVOID);
1788 PVOID WINAPI EncodeSystemPointer(PVOID);
1789 BOOL WINAPI EncryptFileA(_In_ LPCSTR);
1790 BOOL WINAPI EncryptFileW(_In_ LPCWSTR);
1791 BOOL WINAPI EndUpdateResourceA(_In_ HANDLE, _In_ BOOL);
1792 BOOL WINAPI EndUpdateResourceW(_In_ HANDLE, _In_ BOOL);
1793 void WINAPI EnterCriticalSection(LPCRITICAL_SECTION);
1794 BOOL WINAPI EnumResourceLanguagesA(_In_opt_ HMODULE, _In_ LPCSTR, _In_ LPCSTR, _In_ ENUMRESLANGPROCA, _In_ LONG_PTR);
1795 BOOL WINAPI EnumResourceLanguagesW(_In_opt_ HMODULE, _In_ LPCWSTR, _In_ LPCWSTR, _In_ ENUMRESLANGPROCW, _In_ LONG_PTR);
1796 BOOL WINAPI EnumResourceNamesA(_In_opt_ HMODULE, _In_ LPCSTR, _In_ ENUMRESNAMEPROCA, _In_ LONG_PTR);
1797 BOOL WINAPI EnumResourceNamesW(_In_opt_ HMODULE, _In_ LPCWSTR, _In_ ENUMRESNAMEPROCW, _In_ LONG_PTR);
1798 BOOL WINAPI EnumResourceTypesA(_In_opt_ HMODULE, _In_ ENUMRESTYPEPROCA, _In_ LONG_PTR);
1799 BOOL WINAPI EnumResourceTypesW(_In_opt_ HMODULE, _In_ ENUMRESTYPEPROCW, _In_ LONG_PTR);
1800 BOOL WINAPI EqualPrefixSid(PSID,PSID);
1801 BOOL WINAPI EqualSid(PSID,PSID);
1802 DWORD WINAPI EraseTape(_In_ HANDLE, _In_ DWORD, _In_ BOOL);
1803 BOOL WINAPI EscapeCommFunction(_In_ HANDLE, _In_ DWORD);
1804 DECLSPEC_NORETURN void WINAPI ExitProcess(UINT);
1805 DECLSPEC_NORETURN void WINAPI ExitThread(DWORD);
1806 DWORD WINAPI ExpandEnvironmentStringsA(LPCSTR,LPSTR,DWORD);
1807 DWORD WINAPI ExpandEnvironmentStringsW(LPCWSTR,LPWSTR,DWORD);
1808 void WINAPI FatalAppExitA(UINT,LPCSTR);
1809 void WINAPI FatalAppExitW(UINT,LPCWSTR);
1810 __analysis_noreturn void WINAPI FatalExit(_In_ int);
1811 BOOL WINAPI FileEncryptionStatusA(_In_ LPCSTR, _Out_ LPDWORD);
1812 BOOL WINAPI FileEncryptionStatusW(_In_ LPCWSTR, _Out_ LPDWORD);
1813 BOOL WINAPI FileTimeToDosDateTime(_In_ CONST FILETIME *, _Out_ LPWORD, _Out_ LPWORD);
1814 BOOL WINAPI FileTimeToLocalFileTime(CONST FILETIME *,LPFILETIME);
1815 BOOL WINAPI FileTimeToSystemTime(CONST FILETIME *,LPSYSTEMTIME);
1816 #if (_WIN32_WINNT >= 0x0501)
1817 BOOL WINAPI FindActCtxSectionGuid(_In_ DWORD, _Reserved_ const GUID*, _In_ ULONG, _In_opt_ const GUID*, _Out_ PACTCTX_SECTION_KEYED_DATA);
1818 BOOL WINAPI FindActCtxSectionStringA(_In_ DWORD, _Reserved_ const GUID*, _In_ ULONG, _In_ LPCSTR, _Out_ PACTCTX_SECTION_KEYED_DATA);
1819 BOOL WINAPI FindActCtxSectionStringW(_In_ DWORD, _Reserved_ const GUID*, _In_ ULONG, _In_ LPCWSTR, _Out_ PACTCTX_SECTION_KEYED_DATA);
1820 #endif
1821 ATOM WINAPI FindAtomA(_In_opt_ LPCSTR);
1822 ATOM WINAPI FindAtomW(_In_opt_ LPCWSTR);
1823 BOOL WINAPI FindClose(HANDLE);
1824 BOOL WINAPI FindCloseChangeNotification(HANDLE);
1825 HANDLE WINAPI FindFirstChangeNotificationA(LPCSTR,BOOL,DWORD);
1826 HANDLE WINAPI FindFirstChangeNotificationW(LPCWSTR,BOOL,DWORD);
1827 HANDLE WINAPI FindFirstFileA(LPCSTR,LPWIN32_FIND_DATAA);
1828 HANDLE WINAPI FindFirstFileW(LPCWSTR,LPWIN32_FIND_DATAW);
1829 HANDLE WINAPI FindFirstFileExA(LPCSTR,FINDEX_INFO_LEVELS,PVOID,FINDEX_SEARCH_OPS,PVOID,DWORD);
1830 HANDLE WINAPI FindFirstFileExW(LPCWSTR,FINDEX_INFO_LEVELS,PVOID,FINDEX_SEARCH_OPS,PVOID,DWORD);
1831 #if (_WIN32_WINNT >= 0x0501)
1832 HANDLE WINAPI FindFirstStreamW(_In_ LPCWSTR, _In_ STREAM_INFO_LEVELS, _Out_ LPVOID, _Reserved_ DWORD);
1833 #endif
1834 BOOL WINAPI FindFirstFreeAce(PACL,PVOID*);
1835
1836 #if (_WIN32_WINNT >= 0x0500)
1837
1838 HANDLE
1839 WINAPI
1840 FindFirstVolumeA(
1841 _Out_writes_(cchBufferLength) LPSTR lpszVolumeName,
1842 _In_ DWORD cchBufferLength);
1843
1844 HANDLE WINAPI FindFirstVolumeW(LPWSTR,DWORD);
1845
1846 HANDLE
1847 WINAPI
1848 FindFirstVolumeMountPointA(
1849 _In_ LPCSTR lpszRootPathName,
1850 _Out_writes_(cchBufferLength) LPSTR lpszVolumeMountPoint,
1851 _In_ DWORD cchBufferLength);
1852
1853 HANDLE
1854 WINAPI
1855 FindFirstVolumeMountPointW(
1856 _In_ LPCWSTR lpszRootPathName,
1857 _Out_writes_(cchBufferLength) LPWSTR lpszVolumeMountPoint,
1858 _In_ DWORD cchBufferLength);
1859
1860 #endif
1861
1862 BOOL WINAPI FindNextChangeNotification(HANDLE);
1863 BOOL WINAPI FindNextFileA(HANDLE,LPWIN32_FIND_DATAA);
1864 BOOL WINAPI FindNextFileW(HANDLE,LPWIN32_FIND_DATAW);
1865 #if (_WIN32_WINNT >= 0x0501)
1866 BOOL WINAPI FindNextStreamW(_In_ HANDLE, _Out_ LPVOID);
1867 #endif
1868
1869 #if (_WIN32_WINNT >= 0x0500)
1870
1871 BOOL
1872 WINAPI
1873 FindNextVolumeA(
1874 _Inout_ HANDLE hFindVolume,
1875 _Out_writes_(cchBufferLength) LPSTR lpszVolumeName,
1876 _In_ DWORD cchBufferLength);
1877
1878 BOOL WINAPI FindNextVolumeW(HANDLE,LPWSTR,DWORD);
1879
1880 BOOL
1881 WINAPI
1882 FindNextVolumeMountPointA(
1883 _In_ HANDLE hFindVolumeMountPoint,
1884 _Out_writes_(cchBufferLength) LPSTR lpszVolumeMountPoint,
1885 _In_ DWORD cchBufferLength);
1886
1887 BOOL
1888 WINAPI
1889 FindNextVolumeMountPointW(
1890 _In_ HANDLE hFindVolumeMountPoint,
1891 _Out_writes_(cchBufferLength) LPWSTR lpszVolumeMountPoint,
1892 _In_ DWORD cchBufferLength);
1893
1894 BOOL WINAPI FindVolumeClose(HANDLE);
1895 BOOL WINAPI FindVolumeMountPointClose(_In_ HANDLE);
1896
1897 #endif
1898
1899 _Ret_maybenull_ HRSRC WINAPI FindResourceA(_In_opt_ HMODULE,_In_ LPCSTR, _In_ LPCSTR);
1900 _Ret_maybenull_ HRSRC WINAPI FindResourceW(_In_opt_ HMODULE,_In_ LPCWSTR, _In_ LPCWSTR);
1901 _Ret_maybenull_ HRSRC WINAPI FindResourceExA(_In_opt_ HMODULE, _In_ LPCSTR, _In_ LPCSTR, _In_ WORD);
1902 HRSRC WINAPI FindResourceExW(HINSTANCE,LPCWSTR,LPCWSTR,WORD);
1903 #if (_WIN32_WINNT >= 0x0502)
1904
1905 DWORD
1906 WINAPI
1907 GetFirmwareEnvironmentVariableA(
1908 _In_ LPCSTR lpName,
1909 _In_ LPCSTR lpGuid,
1910 _Out_writes_bytes_to_opt_(nSize, return) PVOID pBuffer,
1911 _In_ DWORD nSize);
1912
1913 DWORD
1914 WINAPI
1915 GetFirmwareEnvironmentVariableW(
1916 _In_ LPCWSTR lpName,
1917 _In_ LPCWSTR lpGuid,
1918 _Out_writes_bytes_to_opt_(nSize, return) PVOID pBuffer,
1919 _In_ DWORD nSize);
1920
1921 #endif
1922 BOOL WINAPI FlushFileBuffers(HANDLE);
1923 BOOL WINAPI FlushInstructionCache(HANDLE,LPCVOID,SIZE_T);
1924 BOOL WINAPI FlushViewOfFile(LPCVOID,SIZE_T);
1925 DWORD WINAPI FlsAlloc(PFLS_CALLBACK_FUNCTION);
1926 PVOID WINAPI FlsGetValue(DWORD);
1927 BOOL WINAPI FlsSetValue(DWORD,PVOID);
1928 BOOL WINAPI FlsFree(DWORD);
1929 DWORD WINAPI FormatMessageA(DWORD,LPCVOID,DWORD,DWORD,LPSTR,DWORD,va_list*);
1930 DWORD WINAPI FormatMessageW(DWORD,LPCVOID,DWORD,DWORD,LPWSTR,DWORD,va_list*);
1931 BOOL WINAPI FreeEnvironmentStringsA(LPSTR);
1932 BOOL WINAPI FreeEnvironmentStringsW(LPWSTR);
1933 BOOL WINAPI FreeLibrary(HMODULE);
1934 DECLSPEC_NORETURN void WINAPI FreeLibraryAndExitThread(HMODULE,DWORD);
1935 #define FreeModule(m) FreeLibrary(m)
1936 #define FreeProcInstance(p) (void)(p)
1937 #ifndef XFree86Server
1938 BOOL WINAPI FreeResource(HGLOBAL);
1939 #endif /* ndef XFree86Server */
1940 PVOID WINAPI FreeSid(PSID);
1941 BOOL WINAPI GetAce(PACL,DWORD,LPVOID*);
1942 BOOL WINAPI GetAclInformation(PACL,PVOID,DWORD,ACL_INFORMATION_CLASS);
1943 #if (_WIN32_WINNT >= 0x0600)
1944 HRESULT WINAPI GetApplicationRecoveryCallback(_In_ HANDLE, _Out_ APPLICATION_RECOVERY_CALLBACK*, _Outptr_opt_result_maybenull_ PVOID*, _Out_opt_ DWORD*, _Out_opt_ DWORD*);
1945 HRESULT WINAPI GetApplicationRestart(HANDLE,PWSTR,PDWORD,PDWORD);
1946 #endif
1947
1948 UINT
1949 WINAPI
1950 GetAtomNameA(
1951 _In_ ATOM nAtom,
1952 _Out_writes_to_(nSize, return + 1) LPSTR lpBuffer,
1953 _In_ int nSize);
1954
1955 UINT
1956 WINAPI
1957 GetAtomNameW(
1958 _In_ ATOM nAtom,
1959 _Out_writes_to_(nSize, return + 1) LPWSTR lpBuffer,
1960 _In_ int nSize);
1961
1962 BOOL WINAPI GetBinaryTypeA(_In_ LPCSTR, _Out_ PDWORD);
1963 BOOL WINAPI GetBinaryTypeW(_In_ LPCWSTR, _Out_ PDWORD);
1964 LPSTR WINAPI GetCommandLineA(VOID);
1965 LPWSTR WINAPI GetCommandLineW(VOID);
1966
1967 _Success_(return != FALSE)
1968 BOOL
1969 WINAPI
1970 GetCommConfig(
1971 _In_ HANDLE hCommDev,
1972 _Out_writes_bytes_opt_(*lpdwSize) LPCOMMCONFIG lpCC,
1973 _Inout_ LPDWORD lpdwSize);
1974
1975 BOOL WINAPI GetCommMask(_In_ HANDLE, _Out_ PDWORD);
1976 BOOL WINAPI GetCommModemStatus(_In_ HANDLE, _Out_ PDWORD);
1977 BOOL WINAPI GetCommProperties(_In_ HANDLE, _Inout_ LPCOMMPROP);
1978 BOOL WINAPI GetCommState(_In_ HANDLE, _Out_ LPDCB);
1979 BOOL WINAPI GetCommTimeouts(_In_ HANDLE, _Out_ LPCOMMTIMEOUTS);
1980 DWORD WINAPI GetCompressedFileSizeA(_In_ LPCSTR, _Out_opt_ PDWORD);
1981 DWORD WINAPI GetCompressedFileSizeW(_In_ LPCWSTR, _Out_opt_ PDWORD);
1982
1983 _Success_(return != 0)
1984 BOOL
1985 WINAPI
1986 GetComputerNameA(
1987 _Out_writes_to_opt_(*nSize, *nSize + 1) LPSTR lpBuffer,
1988 _Inout_ LPDWORD nSize);
1989
1990 _Success_(return != 0)
1991 BOOL
1992 WINAPI
1993 GetComputerNameW(
1994 _Out_writes_to_opt_(*nSize, *nSize + 1) LPWSTR lpBuffer,
1995 _Inout_ LPDWORD nSize);
1996
1997 #if (_WIN32_WINNT >= 0x0500)
1998 BOOL WINAPI GetComputerNameExA(COMPUTER_NAME_FORMAT,LPSTR,LPDWORD);
1999 BOOL WINAPI GetComputerNameExW(COMPUTER_NAME_FORMAT,LPWSTR,LPDWORD);
2000 #endif
2001 #if (_WIN32_WINNT >= 0x0501)
2002 BOOL WINAPI GetCurrentActCtx( _Outptr_ HANDLE*);
2003 #endif
2004 DWORD WINAPI GetCurrentDirectoryA(DWORD,LPSTR);
2005 DWORD WINAPI GetCurrentDirectoryW(DWORD,LPWSTR);
2006 BOOL WINAPI GetCurrentHwProfileA(_Out_ LPHW_PROFILE_INFOA);
2007 BOOL WINAPI GetCurrentHwProfileW(_Out_ LPHW_PROFILE_INFOW);
2008 HANDLE WINAPI GetCurrentProcess(void);
2009 DWORD WINAPI GetCurrentProcessId(void);
2010 HANDLE WINAPI GetCurrentThread(void);
2011 DWORD WINAPI GetCurrentThreadId(void);
2012 #define GetCurrentTime GetTickCount
2013
2014 BOOL
2015 WINAPI
2016 GetDefaultCommConfigA(
2017 _In_ LPCSTR lpszName,
2018 _Out_writes_bytes_to_(*lpdwSize, *lpdwSize) LPCOMMCONFIG lpCC,
2019 _Inout_ LPDWORD lpdwSize);
2020
2021 BOOL
2022 WINAPI
2023 GetDefaultCommConfigW(
2024 _In_ LPCWSTR lpszName,
2025 _Out_writes_bytes_to_(*lpdwSize, *lpdwSize) LPCOMMCONFIG lpCC,
2026 _Inout_ LPDWORD lpdwSize);
2027
2028 BOOL WINAPI GetDiskFreeSpaceA(LPCSTR,PDWORD,PDWORD,PDWORD,PDWORD);
2029 BOOL WINAPI GetDiskFreeSpaceW(LPCWSTR,PDWORD,PDWORD,PDWORD,PDWORD);
2030 BOOL WINAPI GetDiskFreeSpaceExA(LPCSTR,PULARGE_INTEGER,PULARGE_INTEGER,PULARGE_INTEGER);
2031 BOOL WINAPI GetDiskFreeSpaceExW(LPCWSTR,PULARGE_INTEGER,PULARGE_INTEGER,PULARGE_INTEGER);
2032
2033 #if (_WIN32_WINNT >= 0x0502)
2034
2035 _Success_(return != 0 && return < nBufferLength)
2036 DWORD
2037 WINAPI
2038 GetDllDirectoryA(
2039 _In_ DWORD nBufferLength,
2040 _Out_writes_to_opt_(nBufferLength, return + 1) LPSTR lpBuffer);
2041
2042 _Success_(return != 0 && return < nBufferLength)
2043 DWORD
2044 WINAPI
2045 GetDllDirectoryW(
2046 _In_ DWORD nBufferLength,
2047 _Out_writes_to_opt_(nBufferLength, return + 1) LPWSTR lpBuffer);
2048
2049 #endif
2050
2051 UINT WINAPI GetDriveTypeA(LPCSTR);
2052 UINT WINAPI GetDriveTypeW(LPCWSTR);
2053 LPSTR WINAPI GetEnvironmentStrings(void);
2054 LPWSTR WINAPI GetEnvironmentStringsW(void);
2055 DWORD WINAPI GetEnvironmentVariableA(LPCSTR,LPSTR,DWORD);
2056 DWORD WINAPI GetEnvironmentVariableW(LPCWSTR,LPWSTR,DWORD);
2057 BOOL WINAPI GetExitCodeProcess(HANDLE,PDWORD);
2058 BOOL WINAPI GetExitCodeThread(HANDLE,PDWORD);
2059 DWORD WINAPI GetFileAttributesA(LPCSTR);
2060 #if (_WIN32_WINNT >= 0x0600)
2061 BOOL WINAPI GetFileAttributesByHandle(HANDLE,LPDWORD,DWORD);
2062 DWORD WINAPI GetFinalPathNameByHandleA(HANDLE,LPSTR,DWORD,DWORD);
2063 DWORD WINAPI GetFinalPathNameByHandleW(HANDLE,LPWSTR,DWORD,DWORD);
2064 #endif
2065 DWORD WINAPI GetFileAttributesW(LPCWSTR);
2066 BOOL WINAPI GetFileAttributesExA(LPCSTR,GET_FILEEX_INFO_LEVELS,PVOID);
2067 BOOL WINAPI GetFileAttributesExW(LPCWSTR,GET_FILEEX_INFO_LEVELS,PVOID);
2068 #if (_WIN32_WINNT >= 0x0600)
2069 BOOL WINAPI GetFileBandwidthReservation(_In_ HANDLE, _Out_ LPDWORD, _Out_ LPDWORD, _Out_ LPBOOL, _Out_ LPDWORD, _Out_ LPDWORD);
2070 #endif
2071 BOOL WINAPI GetFileInformationByHandle(HANDLE,LPBY_HANDLE_FILE_INFORMATION);
2072
2073 #if (_WIN32_WINNT >= 0x0600)
2074 BOOL
2075 WINAPI
2076 GetFileInformationByHandleEx(
2077 _In_ HANDLE hFile,
2078 _In_ FILE_INFO_BY_HANDLE_CLASS FileInformationClass,
2079 _Out_writes_bytes_(dwBufferSize) LPVOID lpFileInformation,
2080 _In_ DWORD dwBufferSize);
2081 #endif
2082
2083 BOOL
2084 WINAPI
2085 GetFileSecurityA(
2086 _In_ LPCSTR lpFileName,
2087 _In_ SECURITY_INFORMATION RequestedInformation,
2088 _Out_writes_bytes_to_opt_(nLength, *lpnLengthNeeded) PSECURITY_DESCRIPTOR pSecurityDescriptor,
2089 _In_ DWORD nLength,
2090 _Out_ LPDWORD lpnLengthNeeded);
2091
2092 BOOL WINAPI GetFileSecurityW(LPCWSTR,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR,DWORD,PDWORD);
2093 DWORD WINAPI GetFileSize(HANDLE,PDWORD);
2094 BOOL WINAPI GetFileSizeEx(HANDLE,PLARGE_INTEGER);
2095 BOOL WINAPI GetFileTime(HANDLE,LPFILETIME,LPFILETIME,LPFILETIME);
2096 DWORD WINAPI GetFileType(HANDLE);
2097 #define GetFreeSpace(w) (0x100000L)
2098 DWORD WINAPI GetFullPathNameA(LPCSTR,DWORD,LPSTR,LPSTR*);
2099 DWORD WINAPI GetFullPathNameW(LPCWSTR,DWORD,LPWSTR,LPWSTR*);
2100 BOOL WINAPI GetHandleInformation(HANDLE,PDWORD);
2101 BOOL WINAPI GetKernelObjectSecurity(HANDLE,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR,DWORD,PDWORD);
2102 DWORD WINAPI GetLastError(void);
2103 DWORD WINAPI GetLengthSid(PSID);
2104 void WINAPI GetLocalTime(LPSYSTEMTIME);
2105 DWORD WINAPI GetLogicalDrives(void);
2106
2107 _Success_(return != 0 && return <= nBufferLength)
2108 DWORD
2109 WINAPI
2110 GetLogicalDriveStringsA(
2111 _In_ DWORD nBufferLength,
2112 _Out_writes_to_opt_(nBufferLength, return + 1) LPSTR lpBuffer);
2113
2114 DWORD WINAPI GetLogicalDriveStringsW(DWORD,LPWSTR);
2115 #if (_WIN32_WINNT >= 0x0500 || _WIN32_WINDOWS >= 0x0410)
2116 DWORD WINAPI GetLongPathNameA(LPCSTR,LPSTR,DWORD);
2117 DWORD WINAPI GetLongPathNameW(LPCWSTR,LPWSTR,DWORD);
2118 #endif
2119 BOOL WINAPI GetMailslotInfo(_In_ HANDLE, _Out_opt_ PDWORD, _Out_opt_ PDWORD, _Out_opt_ PDWORD, _Out_opt_ PDWORD);
2120 DWORD WINAPI GetModuleFileNameA(HINSTANCE,LPSTR,DWORD);
2121 DWORD WINAPI GetModuleFileNameW(HINSTANCE,LPWSTR,DWORD);
2122 HMODULE WINAPI GetModuleHandleA(LPCSTR);
2123 HMODULE WINAPI GetModuleHandleW(LPCWSTR);
2124 #if (_WIN32_WINNT >= 0x0500)
2125 BOOL WINAPI GetModuleHandleExA(DWORD,LPCSTR,HMODULE*);
2126 BOOL WINAPI GetModuleHandleExW(DWORD,LPCWSTR,HMODULE*);
2127 #endif
2128
2129 #if _WIN32_WINNT >= 0x0502
2130 WINBASEAPI WINBOOL WINAPI NeedCurrentDirectoryForExePathA(LPCSTR ExeName);
2131 WINBASEAPI WINBOOL WINAPI NeedCurrentDirectoryForExePathW(LPCWSTR ExeName);
2132 #endif
2133
2134 BOOL
2135 WINAPI
2136 GetNamedPipeHandleStateA(
2137 _In_ HANDLE hNamedPipe,
2138 _Out_opt_ LPDWORD lpState,
2139 _Out_opt_ LPDWORD lpCurInstances,
2140 _Out_opt_ LPDWORD lpMaxCollectionCount,
2141 _Out_opt_ LPDWORD lpCollectDataTimeout,
2142 _Out_writes_opt_(nMaxUserNameSize) LPSTR lpUserName,
2143 _In_ DWORD nMaxUserNameSize);
2144
2145 BOOL
2146 WINAPI
2147 GetNamedPipeHandleStateW(
2148 _In_ HANDLE hNamedPipe,
2149 _Out_opt_ LPDWORD lpState,
2150 _Out_opt_ LPDWORD lpCurInstances,
2151 _Out_opt_ LPDWORD lpMaxCollectionCount,
2152 _Out_opt_ LPDWORD lpCollectDataTimeout,
2153 _Out_writes_opt_(nMaxUserNameSize) LPWSTR lpUserName,
2154 _In_ DWORD nMaxUserNameSize);
2155
2156 BOOL WINAPI GetNamedPipeInfo(_In_ HANDLE, _Out_opt_ PDWORD, _Out_opt_ PDWORD, _Out_opt_ PDWORD, _Out_opt_ PDWORD);
2157 #if (_WIN32_WINNT >= 0x0501)
2158 VOID WINAPI GetNativeSystemInfo(LPSYSTEM_INFO);
2159 #endif
2160
2161 BOOL
2162 WINAPI
2163 GetEventLogInformation(
2164 _In_ HANDLE hEventLog,
2165 _In_ DWORD dwInfoLevel,
2166 _Out_writes_bytes_to_(cbBufSize, *pcbBytesNeeded) LPVOID lpBuffer,
2167 _In_ DWORD cbBufSize,
2168 _Out_ LPDWORD pcbBytesNeeded);
2169
2170 BOOL WINAPI GetNumberOfEventLogRecords(_In_ HANDLE, _Out_ PDWORD);
2171 BOOL WINAPI GetOldestEventLogRecord(_In_ HANDLE, _Out_ PDWORD);
2172 BOOL WINAPI GetOverlappedResult(HANDLE,LPOVERLAPPED,PDWORD,BOOL);
2173 DWORD WINAPI GetPriorityClass(HANDLE);
2174 BOOL WINAPI GetPrivateObjectSecurity(PSECURITY_DESCRIPTOR,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR,DWORD,PDWORD);
2175 UINT WINAPI GetPrivateProfileIntA(_In_ LPCSTR, _In_ LPCSTR, _In_ INT, _In_opt_ LPCSTR);
2176 UINT WINAPI GetPrivateProfileIntW(_In_ LPCWSTR, _In_ LPCWSTR, _In_ INT, _In_opt_ LPCWSTR);
2177
2178 DWORD
2179 WINAPI
2180 GetPrivateProfileSectionA(
2181 _In_ LPCSTR lpAppName,
2182 _Out_writes_to_opt_(nSize, return + 1) LPSTR lpReturnedString,
2183 _In_ DWORD nSize,
2184 _In_opt_ LPCSTR lpFileName);
2185
2186 DWORD
2187 WINAPI
2188 GetPrivateProfileSectionW(
2189 _In_ LPCWSTR lpAppName,
2190 _Out_writes_to_opt_(nSize, return + 1) LPWSTR lpReturnedString,
2191 _In_ DWORD nSize,
2192 _In_opt_ LPCWSTR lpFileName);
2193
2194 DWORD
2195 WINAPI
2196 GetPrivateProfileSectionNamesA(
2197 _Out_writes_to_opt_(nSize, return + 1) LPSTR lpszReturnBuffer,
2198 _In_ DWORD nSize,
2199 _In_opt_ LPCSTR lpFileName);
2200
2201 DWORD
2202 WINAPI
2203 GetPrivateProfileSectionNamesW(
2204 _Out_writes_to_opt_(nSize, return + 1) LPWSTR lpszReturnBuffer,
2205 _In_ DWORD nSize,
2206 _In_opt_ LPCWSTR lpFileName);
2207
2208 DWORD
2209 WINAPI
2210 GetPrivateProfileStringA(
2211 _In_opt_ LPCSTR lpAppName,
2212 _In_opt_ LPCSTR lpKeyName,
2213 _In_opt_ LPCSTR lpDefault,
2214 _Out_writes_to_opt_(nSize, return + 1) LPSTR lpReturnedString,
2215 _In_ DWORD nSize,
2216 _In_opt_ LPCSTR lpFileName);
2217
2218 DWORD
2219 WINAPI
2220 GetPrivateProfileStringW(
2221 _In_opt_ LPCWSTR lpAppName,
2222 _In_opt_ LPCWSTR lpKeyName,
2223 _In_opt_ LPCWSTR lpDefault,
2224 _Out_writes_to_opt_(nSize, return + 1) LPWSTR lpReturnedString,
2225 _In_ DWORD nSize,
2226 _In_opt_ LPCWSTR lpFileName);
2227
2228 BOOL
2229 WINAPI
2230 GetPrivateProfileStructA(
2231 _In_ LPCSTR lpszSection,
2232 _In_ LPCSTR lpszKey,
2233 _Out_writes_bytes_opt_(uSizeStruct) LPVOID lpStruct,
2234 _In_ UINT uSizeStruct,
2235 _In_opt_ LPCSTR szFile);
2236
2237 BOOL
2238 WINAPI
2239 GetPrivateProfileStructW(
2240 _In_ LPCWSTR lpszSection,
2241 _In_ LPCWSTR lpszKey,
2242 _Out_writes_bytes_opt_(uSizeStruct) LPVOID lpStruct,
2243 _In_ UINT uSizeStruct,
2244 _In_opt_ LPCWSTR szFile);
2245
2246 FARPROC WINAPI GetProcAddress(HINSTANCE,LPCSTR);
2247 BOOL WINAPI GetProcessAffinityMask(_In_ HANDLE, _Out_ PDWORD_PTR, _Out_ PDWORD_PTR);
2248 #if (_WIN32_WINNT >= 0x0502)
2249 BOOL WINAPI GetProcessHandleCount(_In_ HANDLE, _Out_ PDWORD);
2250 #endif
2251 HANDLE WINAPI GetProcessHeap(VOID);
2252 DWORD WINAPI GetProcessHeaps(DWORD,PHANDLE);
2253 #if (_WIN32_WINNT >= 0x0502)
2254 DWORD WINAPI GetProcessId(HANDLE);
2255 #endif
2256 #if (_WIN32_WINNT >= 0x0500)
2257 BOOL WINAPI GetProcessIoCounters(_In_ HANDLE, _Out_ PIO_COUNTERS);
2258 #endif
2259 BOOL WINAPI GetProcessPriorityBoost(_In_ HANDLE, _Out_ PBOOL);
2260 BOOL WINAPI GetProcessShutdownParameters(_Out_ PDWORD, _Out_ PDWORD);
2261 BOOL WINAPI GetProcessTimes(HANDLE,LPFILETIME,LPFILETIME,LPFILETIME,LPFILETIME);
2262 DWORD WINAPI GetProcessVersion(DWORD);
2263 HWINSTA WINAPI GetProcessWindowStation(void);
2264 BOOL WINAPI GetProcessWorkingSetSize(_In_ HANDLE, _Out_ PSIZE_T, _Out_ PSIZE_T);
2265 UINT WINAPI GetProfileIntA(_In_ LPCSTR, _In_ LPCSTR, _In_ INT);
2266 UINT WINAPI GetProfileIntW(_In_ LPCWSTR, _In_ LPCWSTR, _In_ INT);
2267
2268 DWORD
2269 WINAPI
2270 GetProfileSectionA(
2271 _In_ LPCSTR lpAppName,
2272 _Out_writes_to_opt_(nSize, return + 1) LPSTR lpReturnedString,
2273 _In_ DWORD nSize);
2274
2275 DWORD
2276 WINAPI
2277 GetProfileSectionW(
2278 _In_ LPCWSTR lpAppName,
2279 _Out_writes_to_opt_(nSize, return + 1) LPWSTR lpReturnedString,
2280 _In_ DWORD nSize);
2281
2282 DWORD
2283 WINAPI
2284 GetProfileStringA(
2285 _In_opt_ LPCSTR lpAppName,
2286 _In_opt_ LPCSTR lpKeyName,
2287 _In_opt_ LPCSTR lpDefault,
2288 _Out_writes_to_opt_(nSize, return + 1) LPSTR lpReturnedString,
2289 _In_ DWORD nSize);
2290
2291 DWORD
2292 WINAPI
2293 GetProfileStringW(
2294 _In_opt_ LPCWSTR lpAppName,
2295 _In_opt_ LPCWSTR lpKeyName,
2296 _In_opt_ LPCWSTR lpDefault,
2297 _Out_writes_to_opt_(nSize, return + 1) LPWSTR lpReturnedString,
2298 _In_ DWORD nSize);
2299
2300 BOOL WINAPI GetQueuedCompletionStatus(HANDLE,PDWORD,PULONG_PTR,LPOVERLAPPED*,DWORD);
2301 BOOL WINAPI GetSecurityDescriptorControl(PSECURITY_DESCRIPTOR,PSECURITY_DESCRIPTOR_CONTROL,PDWORD);
2302 BOOL WINAPI GetSecurityDescriptorDacl(PSECURITY_DESCRIPTOR,LPBOOL,PACL*,LPBOOL);
2303 BOOL WINAPI GetSecurityDescriptorGroup(PSECURITY_DESCRIPTOR,PSID*,LPBOOL);
2304 DWORD WINAPI GetSecurityDescriptorLength(PSECURITY_DESCRIPTOR);
2305 BOOL WINAPI GetSecurityDescriptorOwner(PSECURITY_DESCRIPTOR,PSID*,LPBOOL);
2306 DWORD WINAPI GetSecurityDescriptorRMControl(PSECURITY_DESCRIPTOR,PUCHAR);
2307 BOOL WINAPI GetSecurityDescriptorSacl(PSECURITY_DESCRIPTOR,LPBOOL,PACL*,LPBOOL);
2308
2309 _Success_(return != 0 && return < cchBuffer)
2310 DWORD
2311 WINAPI
2312 GetShortPathNameA(
2313 _In_ LPCSTR lpszLongPath,
2314 _Out_writes_to_opt_(cchBuffer, return + 1) LPSTR lpszShortPath,
2315 _In_ DWORD cchBuffer);
2316
2317 DWORD WINAPI GetShortPathNameW(LPCWSTR,LPWSTR,DWORD);
2318 PSID_IDENTIFIER_AUTHORITY WINAPI GetSidIdentifierAuthority(PSID);
2319 DWORD WINAPI GetSidLengthRequired(UCHAR);
2320 PDWORD WINAPI GetSidSubAuthority(PSID,DWORD);
2321 PUCHAR WINAPI GetSidSubAuthorityCount(PSID);
2322 VOID WINAPI GetStartupInfoA(_Out_ LPSTARTUPINFOA);
2323 VOID WINAPI GetStartupInfoW(LPSTARTUPINFOW);
2324 HANDLE WINAPI GetStdHandle(_In_ DWORD);
2325 UINT WINAPI GetSystemDirectoryA(LPSTR,UINT);
2326 UINT WINAPI GetSystemDirectoryW(LPWSTR,UINT);
2327 VOID WINAPI GetSystemInfo(LPSYSTEM_INFO);
2328 BOOL WINAPI GetSystemPowerStatus(_Out_ LPSYSTEM_POWER_STATUS);
2329 #if (_WIN32_WINNT >= 0x0502)
2330 BOOL WINAPI GetSystemRegistryQuota(_Out_opt_ PDWORD, _Out_opt_ PDWORD);
2331 #endif
2332 VOID WINAPI GetSystemTime(LPSYSTEMTIME);
2333 #if (_WIN32_WINNT >= 0x0501)
2334 BOOL WINAPI GetSystemTimes(_Out_opt_ LPFILETIME, _Out_opt_ LPFILETIME, _Out_opt_ LPFILETIME);
2335 #endif
2336 BOOL WINAPI GetSystemTimeAdjustment(PDWORD,PDWORD,PBOOL);
2337 void WINAPI GetSystemTimeAsFileTime(LPFILETIME);
2338 #if (_WIN32_WINNT >= 0x0500)
2339 UINT WINAPI GetSystemWindowsDirectoryA(LPSTR,UINT);
2340 UINT WINAPI GetSystemWindowsDirectoryW(LPWSTR,UINT);
2341 #endif
2342
2343 #if (_WIN32_WINNT >= 0x0501)
2344
2345 _Success_(return != 0 && return < uSize)
2346 UINT
2347 WINAPI
2348 GetSystemWow64DirectoryA(
2349 _Out_writes_to_opt_(uSize, return + 1) LPSTR lpBuffer,
2350 _In_ UINT uSize);
2351
2352 _Success_(return != 0 && return < uSize)
2353 UINT
2354 WINAPI
2355 GetSystemWow64DirectoryW(
2356 _Out_writes_to_opt_(uSize, return + 1) LPWSTR lpBuffer,
2357 _In_ UINT uSize);
2358
2359 #endif
2360
2361 DWORD
2362 WINAPI
2363 GetTapeParameters(
2364 _In_ HANDLE hDevice,
2365 _In_ DWORD dwOperation,
2366 _Inout_ LPDWORD lpdwSize,
2367 _Out_writes_bytes_(*lpdwSize) LPVOID lpTapeInformation);
2368
2369 DWORD WINAPI GetTapePosition(_In_ HANDLE, _In_ DWORD, _Out_ PDWORD, _Out_ PDWORD, _Out_ PDWORD);
2370 DWORD WINAPI GetTapeStatus(_In_ HANDLE);
2371
2372 UINT
2373 WINAPI
2374 GetTempFileNameA(
2375 _In_ LPCSTR lpPathName,
2376 _In_ LPCSTR lpPrefixString,
2377 _In_ UINT uUnique,
2378 _Out_writes_(MAX_PATH) LPSTR lpTempFileName);
2379
2380 UINT WINAPI GetTempFileNameW(LPCWSTR,LPCWSTR,UINT,LPWSTR);
2381
2382 DWORD
2383 WINAPI
2384 GetTempPathA(
2385 _In_ DWORD nBufferLength,
2386 _Out_writes_to_opt_(nBufferLength, return + 1) LPSTR lpBuffer);
2387
2388 DWORD WINAPI GetTempPathW(DWORD,LPWSTR);
2389 BOOL WINAPI GetThreadContext(HANDLE,LPCONTEXT);
2390 #if (_WIN32_WINNT >= 0x0502)
2391 BOOL WINAPI GetThreadIOPendingFlag(_In_ HANDLE, _Out_ PBOOL);
2392 #endif
2393 int WINAPI GetThreadPriority(HANDLE);
2394 BOOL WINAPI GetThreadPriorityBoost(HANDLE,PBOOL);
2395 BOOL WINAPI GetThreadSelectorEntry(_In_ HANDLE, _In_ DWORD, _Out_ LPLDT_ENTRY);
2396 BOOL WINAPI GetThreadTimes(HANDLE,LPFILETIME,LPFILETIME,LPFILETIME,LPFILETIME);
2397 DWORD WINAPI GetTickCount(VOID);
2398 #if (_WIN32_WINNT >= 0x0600)
2399 ULONGLONG WINAPI GetTickCount64(VOID);
2400 #endif
2401 DWORD WINAPI GetThreadId(HANDLE);
2402 DWORD WINAPI GetTimeZoneInformation(LPTIME_ZONE_INFORMATION);
2403 BOOL WINAPI GetTokenInformation(HANDLE,TOKEN_INFORMATION_CLASS,PVOID,DWORD,PDWORD);
2404
2405 BOOL
2406 WINAPI
2407 GetUserNameA(
2408 _Out_writes_to_opt_(*pcbBuffer, *pcbBuffer) LPSTR lpBuffer,
2409 _Inout_ LPDWORD pcbBuffer);
2410
2411 BOOL
2412 WINAPI
2413 GetUserNameW(
2414 _Out_writes_to_opt_(*pcbBuffer, *pcbBuffer) LPWSTR lpBuffer,
2415 _Inout_ LPDWORD pcbBuffer);
2416
2417 DWORD WINAPI GetVersion(void);
2418 BOOL WINAPI GetVersionExA(LPOSVERSIONINFOA);
2419 BOOL WINAPI GetVersionExW(LPOSVERSIONINFOW);
2420
2421 BOOL
2422 WINAPI
2423 GetVolumeInformationA(
2424 _In_opt_ LPCSTR lpRootPathName,
2425 _Out_writes_opt_(nVolumeNameSize) LPSTR lpVolumeNameBuffer,
2426 _In_ DWORD nVolumeNameSize,
2427 _Out_opt_ LPDWORD lpVolumeSerialNumber,
2428 _Out_opt_ LPDWORD lpMaximumComponentLength,
2429 _Out_opt_ LPDWORD lpFileSystemFlags,
2430 _Out_writes_opt_(nFileSystemNameSize) LPSTR lpFileSystemNameBuffer,
2431 _In_ DWORD nFileSystemNameSize);
2432
2433 BOOL WINAPI GetVolumeInformationW(LPCWSTR,LPWSTR,DWORD,PDWORD,PDWORD,PDWORD,LPWSTR,DWORD);
2434
2435 #if (_WIN32_WINNT >= 0x0500)
2436
2437 BOOL
2438 WINAPI
2439 GetVolumeNameForVolumeMountPointA(
2440 _In_ LPCSTR lpszVolumeMountPoint,
2441 _Out_writes_(cchBufferLength) LPSTR lpszVolumeName,
2442 _In_ DWORD cchBufferLength);
2443
2444 BOOL WINAPI GetVolumeNameForVolumeMountPointW(LPCWSTR,LPWSTR,DWORD);
2445
2446 BOOL
2447 WINAPI
2448 GetVolumePathNameA(
2449 _In_ LPCSTR lpszFileName,
2450 _Out_writes_(cchBufferLength) LPSTR lpszVolumePathName,
2451 _In_ DWORD cchBufferLength);
2452
2453 BOOL WINAPI GetVolumePathNameW(LPCWSTR,LPWSTR,DWORD);
2454
2455 #endif
2456
2457 #if (_WIN32_WINNT >= 0x0501)
2458
2459 BOOL
2460 WINAPI
2461 GetVolumePathNamesForVolumeNameA(
2462 _In_ LPCSTR lpszVolumeName,
2463 _Out_writes_to_opt_(cchBufferLength, *lpcchReturnLength) _Post_ _NullNull_terminated_ LPCH lpszVolumePathNames,
2464 _In_ DWORD cchBufferLength,
2465 _Out_ PDWORD lpcchReturnLength);
2466
2467 BOOL WINAPI GetVolumePathNamesForVolumeNameW(LPCWSTR,LPWSTR,DWORD,PDWORD);
2468
2469 #endif
2470
2471 UINT WINAPI GetWindowsDirectoryA(LPSTR,UINT);
2472 UINT WINAPI GetWindowsDirectoryW(LPWSTR,UINT);
2473 DWORD WINAPI GetWindowThreadProcessId(HWND,PDWORD);
2474 UINT WINAPI GetWriteWatch(DWORD,PVOID,SIZE_T,PVOID*,PULONG_PTR,PULONG);
2475 ATOM WINAPI GlobalAddAtomA(_In_opt_ LPCSTR);
2476 ATOM WINAPI GlobalAddAtomW(_In_opt_ LPCWSTR);
2477 HGLOBAL WINAPI GlobalAlloc(UINT,SIZE_T);
2478 SIZE_T WINAPI GlobalCompact(_In_ DWORD); /* Obsolete: Has no effect. */
2479 ATOM WINAPI GlobalDeleteAtom(_In_ ATOM);
2480 #define GlobalDiscard(m) GlobalReAlloc((m),0,GMEM_MOVEABLE)
2481 ATOM WINAPI GlobalFindAtomA(_In_opt_ LPCSTR);
2482 ATOM WINAPI GlobalFindAtomW(_In_opt_ LPCWSTR);
2483 VOID WINAPI GlobalFix(_In_ HGLOBAL); /* Obsolete: Has no effect. */
2484 UINT WINAPI GlobalFlags(_In_ HGLOBAL); /* Obsolete: Has no effect. */
2485 HGLOBAL WINAPI GlobalFree(HGLOBAL);
2486
2487 UINT
2488 WINAPI
2489 GlobalGetAtomNameA(
2490 _In_ ATOM nAtom,
2491 _Out_writes_to_(nSize, return + 1) LPSTR lpBuffer,
2492 _In_ int nSize);
2493
2494 UINT
2495 WINAPI
2496 GlobalGetAtomNameW(
2497 _In_ ATOM nAtom,
2498 _Out_writes_to_(nSize, return + 1) LPWSTR lpBuffer,
2499 _In_ int nSize);
2500
2501 _Ret_maybenull_ HGLOBAL WINAPI GlobalHandle(_In_ LPCVOID);
2502 _Ret_maybenull_ LPVOID WINAPI GlobalLock(_In_ HGLOBAL);
2503 VOID WINAPI GlobalMemoryStatus(_Out_ LPMEMORYSTATUS);
2504 #if (_WIN32_WINNT >= 0x0500)
2505 BOOL WINAPI GlobalMemoryStatusEx(LPMEMORYSTATUSEX);
2506 #endif
2507 HGLOBAL WINAPI GlobalReAlloc(HGLOBAL,SIZE_T,UINT);
2508 SIZE_T WINAPI GlobalSize(_In_ HGLOBAL);
2509 VOID WINAPI GlobalUnfix(_In_ HGLOBAL); /* Obsolete: Has no effect. */
2510 BOOL WINAPI GlobalUnlock(_In_ HGLOBAL);
2511 BOOL WINAPI GlobalUnWire(_In_ HGLOBAL); /* Obsolete: Has no effect. */
2512 PVOID WINAPI GlobalWire(_In_ HGLOBAL); /* Obsolete: Has no effect. */
2513 #define HasOverlappedIoCompleted(lpOverlapped) ((lpOverlapped)->Internal != STATUS_PENDING)
2514 PVOID WINAPI HeapAlloc(HANDLE,DWORD,SIZE_T);
2515 SIZE_T WINAPI HeapCompact(HANDLE,DWORD);
2516 HANDLE WINAPI HeapCreate(DWORD,SIZE_T,SIZE_T);
2517 BOOL WINAPI HeapDestroy(HANDLE);
2518 BOOL WINAPI HeapFree(HANDLE,DWORD,PVOID);
2519 BOOL WINAPI HeapLock(HANDLE);
2520 #if (_WIN32_WINNT >= 0x0501)
2521 BOOL WINAPI HeapQueryInformation(HANDLE,HEAP_INFORMATION_CLASS,PVOID,SIZE_T,PSIZE_T);
2522 #endif
2523 PVOID WINAPI HeapReAlloc(HANDLE,DWORD,PVOID,SIZE_T);
2524 #if (_WIN32_WINNT >= 0x0501)
2525 BOOL WINAPI HeapSetInformation(HANDLE,HEAP_INFORMATION_CLASS,PVOID,SIZE_T);
2526 #endif
2527 SIZE_T WINAPI HeapSize(HANDLE,DWORD,LPCVOID);
2528 BOOL WINAPI HeapUnlock(HANDLE);
2529 BOOL WINAPI HeapValidate(HANDLE,DWORD,LPCVOID);
2530 BOOL WINAPI HeapWalk(HANDLE,LPPROCESS_HEAP_ENTRY);
2531 BOOL WINAPI ImpersonateAnonymousToken(HANDLE);
2532 BOOL WINAPI ImpersonateLoggedOnUser(HANDLE);
2533 BOOL WINAPI ImpersonateNamedPipeClient(HANDLE);
2534 BOOL WINAPI ImpersonateSelf(SECURITY_IMPERSONATION_LEVEL);
2535 BOOL WINAPI InitAtomTable(_In_ DWORD);
2536 BOOL WINAPI InitializeAcl(PACL,DWORD,DWORD);
2537 #if (_WIN32_WINNT >= 0x0600)
2538 VOID WINAPI InitializeConditionVariable(PCONDITION_VARIABLE);
2539 #endif
2540 VOID WINAPI InitializeCriticalSection(LPCRITICAL_SECTION);
2541 BOOL WINAPI InitializeCriticalSectionAndSpinCount(LPCRITICAL_SECTION,DWORD);
2542 DWORD WINAPI SetCriticalSectionSpinCount(LPCRITICAL_SECTION,DWORD);
2543 BOOL WINAPI InitializeSecurityDescriptor(PSECURITY_DESCRIPTOR,DWORD);
2544 BOOL WINAPI InitializeSid (PSID,PSID_IDENTIFIER_AUTHORITY,BYTE);
2545
2546 #if (_WIN32_WINNT >= 0x0600)
2547 VOID WINAPI InitializeSRWLock(PSRWLOCK);
2548 #endif
2549
2550 BOOL WINAPI IsBadCodePtr(_In_opt_ FARPROC);
2551 BOOL WINAPI IsBadHugeReadPtr(_In_opt_ CONST VOID*, _In_ UINT_PTR);
2552 BOOL WINAPI IsBadHugeWritePtr(_In_opt_ PVOID, _In_ UINT_PTR);
2553 BOOL WINAPI IsBadReadPtr(_In_opt_ CONST VOID*, _In_ UINT_PTR);
2554 BOOL WINAPI IsBadStringPtrA(_In_opt_ LPCSTR, _In_ UINT_PTR);
2555 BOOL WINAPI IsBadStringPtrW(_In_opt_ LPCWSTR, _In_ UINT_PTR);
2556 BOOL WINAPI IsBadWritePtr(_In_opt_ PVOID, _In_ UINT_PTR);
2557 BOOL WINAPI IsDebuggerPresent(void);
2558 #if (_WIN32_WINNT >= 0x0501)
2559 BOOL WINAPI IsProcessInJob(HANDLE,HANDLE,PBOOL);
2560 #endif
2561 BOOL WINAPI IsProcessorFeaturePresent(DWORD);
2562 BOOL WINAPI IsSystemResumeAutomatic(void);
2563
2564 BOOL
2565 WINAPI
2566 IsTextUnicode(
2567 _In_reads_bytes_(iSize) CONST VOID *lpv,
2568 _In_ int iSize,
2569 _Inout_opt_ LPINT lpiResult);
2570
2571 #if (_WIN32_WINNT >= 0x0600)
2572 BOOL WINAPI IsThreadAFiber(VOID);
2573 #endif
2574 BOOL WINAPI IsValidAcl(PACL);
2575 BOOL WINAPI IsValidSecurityDescriptor(PSECURITY_DESCRIPTOR);
2576 BOOL WINAPI IsValidSid(PSID);
2577 #if (_WIN32_WINNT >= 0x0501)
2578 BOOL WINAPI IsWellKnownSid(PSID,WELL_KNOWN_SID_TYPE);
2579 BOOL WINAPI IsWow64Process(HANDLE,PBOOL);
2580 #endif
2581 void WINAPI LeaveCriticalSection(LPCRITICAL_SECTION);
2582 #define LimitEmsPages(n)
2583 _Ret_maybenull_ HINSTANCE WINAPI LoadLibraryA(_In_ LPCSTR);
2584 _Ret_maybenull_ HINSTANCE WINAPI LoadLibraryW(_In_ LPCWSTR);
2585 HINSTANCE WINAPI LoadLibraryExA(LPCSTR,HANDLE,DWORD);
2586 HINSTANCE WINAPI LoadLibraryExW(LPCWSTR,HANDLE,DWORD);
2587 DWORD WINAPI LoadModule(_In_ LPCSTR, _In_ PVOID);
2588 HGLOBAL WINAPI LoadResource(HINSTANCE,HRSRC);
2589 HLOCAL WINAPI LocalAlloc(UINT,SIZE_T);
2590 SIZE_T WINAPI LocalCompact(_In_ UINT); /* Obsolete: Has no effect. */
2591 #define LocalDiscard(m) (LocalReAlloc((m),0,LMEM_MOVEABLE))
2592 BOOL WINAPI LocalFileTimeToFileTime(CONST FILETIME *,LPFILETIME);
2593 UINT WINAPI LocalFlags(_In_ HLOCAL); /* Obsolete: Has no effect. */
2594 HLOCAL WINAPI LocalFree(HLOCAL);
2595 _Ret_maybenull_ HLOCAL WINAPI LocalHandle(_In_ LPCVOID);
2596 PVOID WINAPI LocalLock(HLOCAL);
2597 HLOCAL WINAPI LocalReAlloc(HLOCAL,SIZE_T,UINT);
2598 SIZE_T WINAPI LocalShrink(_In_ HLOCAL, _In_ UINT); /* Obsolete: Has no effect. */
2599 SIZE_T WINAPI LocalSize(_In_ HLOCAL);
2600 BOOL WINAPI LocalUnlock(HLOCAL);
2601 BOOL WINAPI LockFile(HANDLE,DWORD,DWORD,DWORD,DWORD);
2602 BOOL WINAPI LockFileEx(HANDLE,DWORD,DWORD,DWORD,DWORD,LPOVERLAPPED);
2603 PVOID WINAPI LockResource(HGLOBAL);
2604 #define LockSegment(w) GlobalFix((HANDLE)(w)) /* Obsolete: Has no effect. */
2605 BOOL WINAPI LogonUserA(_In_ LPSTR, _In_opt_ LPSTR, _In_opt_ LPSTR, _In_ DWORD, _In_ DWORD, _Outptr_ PHANDLE);
2606 BOOL WINAPI LogonUserW(_In_ LPWSTR, _In_opt_ LPWSTR, _In_opt_ LPWSTR, _In_ DWORD, _In_ DWORD, _Outptr_ PHANDLE);
2607
2608 _Success_(return != FALSE)
2609 BOOL
2610 WINAPI
2611 LogonUserExA(
2612 _In_ LPSTR lpszUsername,
2613 _In_opt_ LPSTR lpszDomain,
2614 _In_opt_ LPSTR lpszPassword,
2615 _In_ DWORD dwLogonType,
2616 _In_ DWORD dwLogonProvider,
2617 _Out_opt_ PHANDLE phToken,
2618 _Out_opt_ PSID *ppLogonSid,
2619 _Out_opt_ PVOID *ppProfileBuffer,
2620 _Out_opt_ LPDWORD pdwProfileLength,
2621 _Out_opt_ PQUOTA_LIMITS pQuotaLimits);
2622
2623 _Success_(return != FALSE)
2624 BOOL
2625 WINAPI
2626 LogonUserExW(
2627 _In_ LPWSTR lpszUsername,
2628 _In_opt_ LPWSTR lpszDomain,
2629 _In_opt_ LPWSTR lpszPassword,
2630 _In_ DWORD dwLogonType,
2631 _In_ DWORD dwLogonProvider,
2632 _Out_opt_ PHANDLE phToken,
2633 _Out_opt_ PSID *ppLogonSid,
2634 _Out_opt_ PVOID *ppProfileBuffer,
2635 _Out_opt_ LPDWORD pdwProfileLength,
2636 _Out_opt_ PQUOTA_LIMITS pQuotaLimits);
2637
2638 _Success_(return != FALSE)
2639 BOOL
2640 WINAPI
2641 LookupAccountNameA(
2642 _In_opt_ LPCSTR lpSystemName,
2643 _In_ LPCSTR lpAccountName,
2644 _Out_writes_bytes_to_opt_(*cbSid, *cbSid) PSID Sid,
2645 _Inout_ LPDWORD cbSid,
2646 _Out_writes_to_opt_(*cchReferencedDomainName, *cchReferencedDomainName + 1) LPSTR ReferencedDomainName,
2647 _Inout_ LPDWORD cchReferencedDomainName,
2648 _Out_ PSID_NAME_USE peUse);
2649
2650 _Success_(return != FALSE)
2651 BOOL
2652 WINAPI
2653 LookupAccountNameW(
2654 _In_opt_ LPCWSTR lpSystemName,
2655 _In_ LPCWSTR lpAccountName,
2656 _Out_writes_bytes_to_opt_(*cbSid, *cbSid) PSID Sid,
2657 _Inout_ LPDWORD cbSid,
2658 _Out_writes_to_opt_(*cchReferencedDomainName, *cchReferencedDomainName + 1) LPWSTR ReferencedDomainName,
2659 _Inout_ LPDWORD cchReferencedDomainName,
2660 _Out_ PSID_NAME_USE peUse);
2661
2662 _Success_(return != FALSE)
2663 BOOL
2664 WINAPI
2665 LookupAccountSidA(
2666 _In_opt_ LPCSTR lpSystemName,
2667 _In_ PSID Sid,
2668 _Out_writes_to_opt_(*cchName, *cchName + 1) LPSTR Name,
2669 _Inout_ LPDWORD cchName,
2670 _Out_writes_to_opt_(*cchReferencedDomainName, *cchReferencedDomainName + 1) LPSTR ReferencedDomainName,
2671 _Inout_ LPDWORD cchReferencedDomainName,
2672 _Out_ PSID_NAME_USE peUse);
2673
2674 _Success_(return != FALSE)
2675 BOOL
2676 WINAPI
2677 LookupAccountSidW(
2678 _In_opt_ LPCWSTR lpSystemName,
2679 _In_ PSID Sid,
2680 _Out_writes_to_opt_(*cchName, *cchName + 1) LPWSTR Name,
2681 _Inout_ LPDWORD cchName,
2682 _Out_writes_to_opt_(*cchReferencedDomainName, *cchReferencedDomainName + 1) LPWSTR ReferencedDomainName,
2683 _Inout_ LPDWORD cchReferencedDomainName,
2684 _Out_ PSID_NAME_USE peUse);
2685
2686 _Success_(return != FALSE)
2687 BOOL
2688 WINAPI
2689 LookupPrivilegeDisplayNameA(
2690 _In_opt_ LPCSTR lpSystemName,
2691 _In_ LPCSTR lpName,
2692 _Out_writes_to_opt_(*cchDisplayName, *cchDisplayName + 1) LPSTR lpDisplayName,
2693 _Inout_ LPDWORD cchDisplayName,
2694 _Out_ LPDWORD lpLanguageId);
2695
2696 _Success_(return != FALSE)
2697 BOOL
2698 WINAPI
2699 LookupPrivilegeDisplayNameW(
2700 _In_opt_ LPCWSTR lpSystemName,
2701 _In_ LPCWSTR lpName,
2702 _Out_writes_to_opt_(*cchDisplayName, *cchDisplayName + 1) LPWSTR lpDisplayName,
2703 _Inout_ LPDWORD cchDisplayName,
2704 _Out_ LPDWORD lpLanguageId);
2705
2706 _Success_(return != FALSE)
2707 BOOL
2708 WINAPI
2709 LookupPrivilegeNameA(
2710 _In_opt_ LPCSTR lpSystemName,
2711 _In_ PLUID lpLuid,
2712 _Out_writes_to_opt_(*cchName, *cchName + 1) LPSTR lpName,
2713 _Inout_ LPDWORD cchName);
2714
2715 _Success_(return != FALSE)
2716 BOOL
2717 WINAPI
2718 LookupPrivilegeNameW(
2719 _In_opt_ LPCWSTR lpSystemName,
2720 _In_ PLUID lpLuid,
2721 _Out_writes_to_opt_(*cchName, *cchName + 1) LPWSTR lpName,
2722 _Inout_ LPDWORD cchName);
2723
2724 BOOL WINAPI LookupPrivilegeValueA(_In_opt_ LPCSTR, _In_ LPCSTR, _Out_ PLUID);
2725 BOOL WINAPI LookupPrivilegeValueW(_In_opt_ LPCWSTR, _In_ LPCWSTR, _Out_ PLUID);
2726
2727 LPSTR
2728 WINAPI
2729 lstrcatA(
2730 _Inout_updates_z_(_String_length_(lpString1) + _String_length_(lpString2) + 1) LPSTR lpString1,
2731 _In_ LPCSTR lpString2);
2732
2733 LPWSTR
2734 WINAPI
2735 lstrcatW(
2736 _Inout_updates_z_(_String_length_(lpString1) + _String_length_(lpString2) + 1) LPWSTR lpString1,
2737 _In_ LPCWSTR lpString2);
2738
2739 int WINAPI lstrcmpA(LPCSTR,LPCSTR);
2740 int WINAPI lstrcmpiA(LPCSTR,LPCSTR);
2741 int WINAPI lstrcmpiW( LPCWSTR,LPCWSTR);
2742 int WINAPI lstrcmpW(LPCWSTR,LPCWSTR);
2743
2744 LPSTR
2745 WINAPI
2746 lstrcpyA(
2747 _Out_writes_(_String_length_(lpString2) + 1) LPSTR lpString1,
2748 _In_ LPCSTR lpString2);
2749
2750 LPWSTR
2751 WINAPI
2752 lstrcpyW(
2753 _Out_writes_(_String_length_(lpString2) + 1) LPWSTR lpString1,
2754 _In_ LPCWSTR lpString2);
2755
2756 LPSTR WINAPI lstrcpynA(LPSTR,LPCSTR,int);
2757 LPWSTR WINAPI lstrcpynW(LPWSTR,LPCWSTR,int);
2758 int WINAPI lstrlenA(LPCSTR);
2759 int WINAPI lstrlenW(LPCWSTR);
2760 BOOL WINAPI MakeAbsoluteSD(PSECURITY_DESCRIPTOR,PSECURITY_DESCRIPTOR,PDWORD,PACL,PDWORD,PACL,PDWORD,PSID,PDWORD,PSID,PDWORD);
2761 #define MakeProcInstance(p,i) (p)
2762 BOOL WINAPI MakeSelfRelativeSD(PSECURITY_DESCRIPTOR,PSECURITY_DESCRIPTOR,PDWORD);
2763 VOID WINAPI MapGenericMask(PDWORD,PGENERIC_MAPPING);
2764 PVOID WINAPI MapViewOfFile(HANDLE,DWORD,DWORD,DWORD,SIZE_T);
2765 PVOID WINAPI MapViewOfFileEx(HANDLE,DWORD,DWORD,DWORD,SIZE_T,PVOID);
2766 BOOL WINAPI MoveFileA(_In_ LPCSTR, _In_ LPCSTR);
2767 BOOL WINAPI MoveFileW(_In_ LPCWSTR, _In_ LPCWSTR);
2768 BOOL WINAPI MoveFileExA(_In_ LPCSTR, _In_opt_ LPCSTR, _In_ DWORD);
2769 BOOL WINAPI MoveFileExW(_In_ LPCWSTR, _In_opt_ LPCWSTR, _In_ DWORD);
2770 BOOL WINAPI MoveFileWithProgressA(_In_ LPCSTR, _In_opt_ LPCSTR, _In_opt_ LPPROGRESS_ROUTINE, _In_opt_ LPVOID, _In_ DWORD);
2771 BOOL WINAPI MoveFileWithProgressW(_In_ LPCWSTR, _In_opt_ LPCWSTR, _In_opt_ LPPROGRESS_ROUTINE, _In_opt_ LPVOID, _In_ DWORD);
2772 int WINAPI MulDiv(_In_ int, _In_ int, _In_ int);
2773 BOOL WINAPI NotifyChangeEventLog(_In_ HANDLE, _In_ HANDLE);
2774 BOOL WINAPI ObjectCloseAuditAlarmA(_In_ LPCSTR, _In_ PVOID, _In_ BOOL);
2775 BOOL WINAPI ObjectCloseAuditAlarmW(LPCWSTR,PVOID,BOOL);
2776 BOOL WINAPI ObjectDeleteAuditAlarmA(_In_ LPCSTR, _In_ PVOID, _In_ BOOL);
2777 BOOL WINAPI ObjectDeleteAuditAlarmW(LPCWSTR,PVOID,BOOL);
2778 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);
2779 BOOL WINAPI ObjectOpenAuditAlarmW(LPCWSTR,PVOID,LPWSTR,LPWSTR,PSECURITY_DESCRIPTOR,HANDLE,DWORD,DWORD,PPRIVILEGE_SET,BOOL,BOOL,PBOOL);
2780 BOOL WINAPI ObjectPrivilegeAuditAlarmA(_In_ LPCSTR, _In_ PVOID, _In_ HANDLE, _In_ DWORD, _In_ PPRIVILEGE_SET, _In_ BOOL);
2781 BOOL WINAPI ObjectPrivilegeAuditAlarmW(LPCWSTR,PVOID,HANDLE,DWORD,PPRIVILEGE_SET,BOOL);
2782 HANDLE WINAPI OpenBackupEventLogA(_In_opt_ LPCSTR, _In_ LPCSTR);
2783 HANDLE WINAPI OpenBackupEventLogW(_In_opt_ LPCWSTR, _In_ LPCWSTR);
2784 HANDLE WINAPI OpenEventA(DWORD,BOOL,LPCSTR);
2785 HANDLE WINAPI OpenEventLogA(_In_opt_ LPCSTR, _In_ LPCSTR);
2786 HANDLE WINAPI OpenEventLogW(_In_opt_ LPCWSTR, _In_ LPCWSTR);
2787 HANDLE WINAPI OpenEventW(DWORD,BOOL,LPCWSTR);
2788 HFILE WINAPI OpenFile(_In_ LPCSTR, _Inout_ LPOFSTRUCT, _In_ UINT);
2789 #if (_WIN32_WINNT >= 0x0600)
2790 HANDLE WINAPI OpenFileById(_In_ HANDLE, _In_ LPFILE_ID_DESCRIPTOR, _In_ DWORD, _In_ DWORD, _In_opt_ LPSECURITY_ATTRIBUTES, _In_ DWORD);
2791 #endif
2792 HANDLE WINAPI OpenFileMappingA(_In_ DWORD, _In_ BOOL, _In_ LPCSTR);
2793 HANDLE WINAPI OpenFileMappingW(DWORD,BOOL,LPCWSTR);
2794 _Ret_maybenull_ HANDLE WINAPI OpenMutexA(_In_ DWORD, _In_ BOOL, _In_ LPCSTR);
2795 HANDLE WINAPI OpenMutexW(DWORD,BOOL,LPCWSTR);
2796 HANDLE WINAPI OpenProcess(DWORD,BOOL,DWORD);
2797 BOOL WINAPI OpenProcessToken(HANDLE,DWORD,PHANDLE);
2798 _Ret_maybenull_ HANDLE WINAPI OpenSemaphoreA(_In_ DWORD, _In_ BOOL, _In_ LPCSTR);
2799 HANDLE WINAPI OpenSemaphoreW(DWORD,BOOL,LPCWSTR);
2800 #if (_WIN32_WINNT >= 0x0500) || (_WIN32_WINDOWS >= 0x0490)
2801 HANDLE WINAPI OpenThread(DWORD,BOOL,DWORD);
2802 #endif
2803 BOOL WINAPI OpenThreadToken(HANDLE,DWORD,BOOL,PHANDLE);
2804 _Ret_maybenull_ HANDLE WINAPI OpenWaitableTimerA(_In_ DWORD, _In_ BOOL, _In_ LPCSTR);
2805 HANDLE WINAPI OpenWaitableTimerW(DWORD,BOOL,LPCWSTR);
2806 WINBASEAPI void WINAPI OutputDebugStringA(LPCSTR);
2807 WINBASEAPI void WINAPI OutputDebugStringW(LPCWSTR);
2808 BOOL WINAPI PeekNamedPipe(HANDLE,PVOID,DWORD,PDWORD,PDWORD,PDWORD);
2809 BOOL WINAPI PostQueuedCompletionStatus(HANDLE,DWORD,ULONG_PTR,LPOVERLAPPED);
2810 DWORD WINAPI PrepareTape(_In_ HANDLE, _In_ DWORD, _In_ BOOL);
2811 BOOL WINAPI PrivilegeCheck (HANDLE,PPRIVILEGE_SET,PBOOL);
2812 BOOL WINAPI PrivilegedServiceAuditAlarmA(_In_ LPCSTR, _In_ LPCSTR, _In_ HANDLE, _In_ PPRIVILEGE_SET, _In_ BOOL);
2813 BOOL WINAPI PrivilegedServiceAuditAlarmW(LPCWSTR,LPCWSTR,HANDLE,PPRIVILEGE_SET,BOOL);
2814 #if (_WIN32_WINNT >= 0x0500)
2815 BOOL WINAPI ProcessIdToSessionId(DWORD,DWORD*);
2816 #endif
2817 BOOL WINAPI PulseEvent(HANDLE);
2818 BOOL WINAPI PurgeComm(_In_ HANDLE, _In_ DWORD);
2819
2820 #if (_WIN32_WINNT >= 0x0501)
2821 BOOL
2822 WINAPI
2823 QueryActCtxW(
2824 _In_ DWORD dwFlags,
2825 _In_ HANDLE hActCtx,
2826 _In_opt_ PVOID pvSubInstance,
2827 _In_ ULONG ulInfoClass,
2828 _Out_writes_bytes_to_opt_(cbBuffer, *pcbWrittenOrRequired) PVOID pvBuffer,
2829 _In_ SIZE_T cbBuffer,
2830 _Out_opt_ SIZE_T *pcbWrittenOrRequired);
2831 #endif
2832
2833 DWORD
2834 WINAPI
2835 QueryDosDeviceA(
2836 _In_opt_ LPCSTR lpDeviceName,
2837 _Out_writes_to_opt_(ucchMax, return) LPSTR lpTargetPath,
2838 _In_ DWORD ucchMax);
2839
2840 DWORD WINAPI QueryDosDeviceW(LPCWSTR,LPWSTR,DWORD);
2841 #if (_WIN32_WINNT >= 0x0501)
2842 BOOL WINAPI QueryMemoryResourceNotification(HANDLE,PBOOL);
2843 #endif
2844 BOOL WINAPI QueryPerformanceCounter(PLARGE_INTEGER);
2845 BOOL WINAPI QueryPerformanceFrequency(PLARGE_INTEGER);
2846 #if (_WIN32_WINNT >= 0x0600)
2847 VOID WINAPI QuerySecurityAccessMask(SECURITY_INFORMATION,LPDWORD);
2848 #endif
2849 DWORD WINAPI QueueUserAPC(PAPCFUNC,HANDLE,ULONG_PTR);
2850 #if (_WIN32_WINNT >= 0x0500)
2851 BOOL WINAPI QueueUserWorkItem(LPTHREAD_START_ROUTINE,PVOID,ULONG);
2852 #endif
2853 void WINAPI RaiseException(DWORD,DWORD,DWORD,const ULONG_PTR*);
2854
2855 BOOL
2856 WINAPI
2857 QueryInformationJobObject(
2858 _In_opt_ HANDLE hJob,
2859 _In_ JOBOBJECTINFOCLASS JobObjectInformationClass,
2860 _Out_writes_bytes_to_(cbJobObjectInformationLength, *lpReturnLength) LPVOID lpJobObjectInformation,
2861 _In_ DWORD cbJobObjectInformationLength,
2862 _Out_opt_ LPDWORD lpReturnLength);
2863
2864 BOOL
2865 WINAPI
2866 ReadDirectoryChangesW(
2867 _In_ HANDLE hDirectory,
2868 _Out_writes_bytes_to_(nBufferLength, *lpBytesReturned) LPVOID lpBuffer,
2869 _In_ DWORD nBufferLength,
2870 _In_ BOOL bWatchSubtree,
2871 _In_ DWORD dwNotifyFilter,
2872 _Out_opt_ LPDWORD lpBytesReturned,
2873 _Inout_opt_ LPOVERLAPPED lpOverlapped,
2874 _In_opt_ LPOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine);
2875
2876 BOOL
2877 WINAPI
2878 ReadEventLogA(
2879 _In_ HANDLE hEventLog,
2880 _In_ DWORD dwReadFlags,
2881 _In_ DWORD dwRecordOffset,
2882 _Out_writes_bytes_to_(nNumberOfBytesToRead, *pnBytesRead) LPVOID lpBuffer,
2883 _In_ DWORD nNumberOfBytesToRead,
2884 _Out_ DWORD *pnBytesRead,
2885 _Out_ DWORD *pnMinNumberOfBytesNeeded);
2886
2887 BOOL
2888 WINAPI
2889 ReadEventLogW(
2890 _In_ HANDLE hEventLog,
2891 _In_ DWORD dwReadFlags,
2892 _In_ DWORD dwRecordOffset,
2893 _Out_writes_bytes_to_(nNumberOfBytesToRead, *pnBytesRead) LPVOID lpBuffer,
2894 _In_ DWORD nNumberOfBytesToRead,
2895 _Out_ DWORD *pnBytesRead,
2896 _Out_ DWORD *pnMinNumberOfBytesNeeded);
2897
2898 BOOL WINAPI ReadFile(HANDLE,PVOID,DWORD,PDWORD,LPOVERLAPPED);
2899 BOOL WINAPI ReadFileEx(HANDLE,PVOID,DWORD,LPOVERLAPPED,LPOVERLAPPED_COMPLETION_ROUTINE);
2900 BOOL WINAPI ReadFileScatter(HANDLE,FILE_SEGMENT_ELEMENT*,DWORD,LPDWORD,LPOVERLAPPED);
2901 BOOL WINAPI ReadProcessMemory(HANDLE,LPCVOID,LPVOID,SIZE_T,PSIZE_T);
2902 #if (_WIN32_WINNT >= 0x0600)
2903 VOID WINAPI RecoveryFinished(BOOL);
2904 HRESULT WINAPI RecoveryInProgress(OUT PBOOL);
2905 HRESULT WINAPI RegisterApplicationRecoveryCallback(_In_ APPLICATION_RECOVERY_CALLBACK, _In_opt_ PVOID, _In_ DWORD, _In_ DWORD);
2906 HRESULT WINAPI RegisterApplicationRestart(_In_opt_ PCWSTR, _In_ DWORD);
2907 #endif
2908 HANDLE WINAPI RegisterEventSourceA(_In_opt_ LPCSTR, _In_ LPCSTR);
2909 HANDLE WINAPI RegisterEventSourceW(_In_opt_ LPCWSTR, _In_ LPCWSTR);
2910 #if (_WIN32_WINNT >= 0x0500)
2911 BOOL WINAPI RegisterWaitForSingleObject(_Outptr_ PHANDLE, _In_ HANDLE, _In_ WAITORTIMERCALLBACK, _In_opt_ PVOID, _In_ ULONG, _In_ ULONG);
2912 HANDLE WINAPI RegisterWaitForSingleObjectEx(HANDLE,WAITORTIMERCALLBACK,PVOID,ULONG,ULONG);
2913 #endif
2914 #if (_WIN32_WINNT >= 0x0501)
2915 void WINAPI ReleaseActCtx(_Inout_ HANDLE);
2916 #endif
2917 BOOL WINAPI ReleaseMutex(HANDLE);
2918 BOOL WINAPI ReleaseSemaphore(HANDLE,LONG,LPLONG);
2919 #if (_WIN32_WINNT >= 0x0600)
2920 VOID WINAPI ReleaseSRWLockExclusive(PSRWLOCK);
2921 VOID WINAPI ReleaseSRWLockShared(PSRWLOCK);
2922 #endif
2923 BOOL WINAPI RemoveDirectoryA(LPCSTR);
2924 BOOL WINAPI RemoveDirectoryW(LPCWSTR);
2925 #if (_WIN32_WINNT >= 0x0500)
2926 ULONG WINAPI RemoveVectoredExceptionHandler(_In_ PVOID);
2927 ULONG WINAPI RemoveVectoredContinueHandler(_In_ PVOID);
2928 #endif
2929 #if (_WIN32_WINNT >= 0x0500)
2930 BOOL WINAPI ReplaceFileA(_In_ LPCSTR, _In_ LPCSTR, _In_opt_ LPCSTR, _In_ DWORD, _Reserved_ LPVOID, _Reserved_ LPVOID);
2931 BOOL WINAPI ReplaceFileW(_In_ LPCWSTR, _In_ LPCWSTR, _In_opt_ LPCWSTR, _In_ DWORD, _Reserved_ LPVOID, _Reserved_ LPVOID);
2932 #endif
2933
2934 BOOL
2935 WINAPI
2936 ReportEventA(
2937 _In_ HANDLE hEventLog,
2938 _In_ WORD wType,
2939 _In_ WORD wCategory,
2940 _In_ DWORD dwEventID,
2941 _In_opt_ PSID lpUserSid,
2942 _In_ WORD wNumStrings,
2943 _In_ DWORD dwDataSize,
2944 _In_reads_opt_(wNumStrings) LPCSTR *lpStrings,
2945 _In_reads_bytes_opt_(dwDataSize) LPVOID lpRawData);
2946
2947 BOOL
2948 WINAPI
2949 ReportEventW(
2950 _In_ HANDLE hEventLog,
2951 _In_ WORD wType,
2952 _In_ WORD wCategory,
2953 _In_ DWORD dwEventID,
2954 _In_opt_ PSID lpUserSid,
2955 _In_ WORD wNumStrings,
2956 _In_ DWORD dwDataSize,
2957 _In_reads_opt_(wNumStrings) LPCWSTR *lpStrings,
2958 _In_reads_bytes_opt_(dwDataSize) LPVOID lpRawData);
2959
2960 BOOL WINAPI ResetEvent(HANDLE);
2961 UINT WINAPI ResetWriteWatch(LPVOID,SIZE_T);
2962 #if (_WIN32_WINNT >= 0x0510)
2963 VOID WINAPI RestoreLastError(_In_ DWORD);
2964 #endif
2965 DWORD WINAPI ResumeThread(HANDLE);
2966 BOOL WINAPI RevertToSelf(void);
2967
2968 _Success_(return != 0 && return < nBufferLength)
2969 DWORD
2970 WINAPI
2971 SearchPathA(
2972 _In_opt_ LPCSTR lpPath,
2973 _In_ LPCSTR lpFileName,
2974 _In_opt_ LPCSTR lpExtension,
2975 _In_ DWORD nBufferLength,
2976 _Out_writes_to_opt_(nBufferLength, return + 1) LPSTR lpBuffer,
2977 _Out_opt_ LPSTR *lpFilePart);
2978
2979 DWORD WINAPI SearchPathW(LPCWSTR,LPCWSTR,LPCWSTR,DWORD,LPWSTR,LPWSTR*);
2980 BOOL WINAPI SetAclInformation(PACL,PVOID,DWORD,ACL_INFORMATION_CLASS);
2981 BOOL WINAPI SetCommBreak(_In_ HANDLE);
2982
2983 BOOL
2984 WINAPI
2985 SetCommConfig(
2986 _In_ HANDLE hCommDev,
2987 _In_reads_bytes_(dwSize) LPCOMMCONFIG lpCC,
2988 _In_ DWORD dwSize);
2989
2990 BOOL WINAPI SetCommMask(_In_ HANDLE, _In_ DWORD);
2991 BOOL WINAPI SetCommState(_In_ HANDLE, _In_ LPDCB);
2992 BOOL WINAPI SetCommTimeouts(_In_ HANDLE, _In_ LPCOMMTIMEOUTS);
2993 BOOL WINAPI SetComputerNameA(_In_ LPCSTR);
2994 BOOL WINAPI SetComputerNameW(_In_ LPCWSTR);
2995 #if (_WIN32_WINNT >= 0x0500)
2996 BOOL WINAPI SetComputerNameExA(_In_ COMPUTER_NAME_FORMAT, _In_ LPCSTR);
2997 BOOL WINAPI SetComputerNameExW(COMPUTER_NAME_FORMAT,LPCWSTR);
2998 #endif
2999 BOOL WINAPI SetCurrentDirectoryA(LPCSTR);
3000 BOOL WINAPI SetCurrentDirectoryW(LPCWSTR);
3001
3002 BOOL
3003 WINAPI
3004 SetDefaultCommConfigA(
3005 _In_ LPCSTR lpszName,
3006 _In_reads_bytes_(dwSize) LPCOMMCONFIG lpCC,
3007 _In_ DWORD dwSize);
3008
3009 BOOL
3010 WINAPI
3011 SetDefaultCommConfigW(
3012 _In_ LPCWSTR lpszName,
3013 _In_reads_bytes_(dwSize) LPCOMMCONFIG lpCC,
3014 _In_ DWORD dwSize);
3015
3016 #if (_WIN32_WINNT >= 0x0502)
3017 BOOL WINAPI SetDllDirectoryA(_In_opt_ LPCSTR);
3018 BOOL WINAPI SetDllDirectoryW(_In_opt_ LPCWSTR);
3019 #endif
3020 BOOL WINAPI SetEndOfFile(HANDLE);
3021 BOOL WINAPI SetEnvironmentVariableA(LPCSTR,LPCSTR);
3022 BOOL WINAPI SetEnvironmentVariableW(LPCWSTR,LPCWSTR);
3023 UINT WINAPI SetErrorMode(UINT);
3024 BOOL WINAPI SetEvent(HANDLE);
3025 VOID WINAPI SetFileApisToANSI(void);
3026 VOID WINAPI SetFileApisToOEM(void);
3027 BOOL WINAPI SetFileAttributesA(LPCSTR,DWORD);
3028 #if (_WIN32_WINNT >= 0x0600)
3029 BOOL WINAPI SetFileAttributesByHandle(HANDLE,DWORD,DWORD);
3030 #endif
3031 BOOL WINAPI SetFileAttributesW(LPCWSTR,DWORD);
3032 #if (_WIN32_WINNT >= 0x0600)
3033 BOOL WINAPI SetFileBandwidthReservation(_In_ HANDLE, _In_ DWORD, _In_ DWORD, _In_ BOOL, _Out_ LPDWORD, _Out_ LPDWORD);
3034 BOOL WINAPI SetFileCompletionNotificationModes(_In_ HANDLE, _In_ UCHAR);
3035 #endif
3036 DWORD WINAPI SetFilePointer(HANDLE,LONG,PLONG,DWORD);
3037 BOOL WINAPI SetFilePointerEx(HANDLE,LARGE_INTEGER,PLARGE_INTEGER,DWORD);
3038 BOOL WINAPI SetFileSecurityA(_In_ LPCSTR, _In_ SECURITY_INFORMATION, _In_ PSECURITY_DESCRIPTOR);
3039 BOOL WINAPI SetFileSecurityW(LPCWSTR,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR);
3040 #if (_WIN32_WINNT >= 0x0501)
3041 BOOL WINAPI SetFileShortNameA(_In_ HANDLE, _In_ LPCSTR);
3042 BOOL WINAPI SetFileShortNameW(_In_ HANDLE, _In_ LPCWSTR);
3043 #endif
3044 BOOL WINAPI SetFileTime(HANDLE,const FILETIME*,const FILETIME*,const FILETIME*);
3045 #if (_WIN32_WINNT >= 0x0501)
3046 BOOL WINAPI SetFileValidData(HANDLE,LONGLONG);
3047 #endif
3048
3049 #if (_WIN32_WINNT >= 0x0502)
3050
3051 BOOL
3052 WINAPI
3053 SetFirmwareEnvironmentVariableA(
3054 _In_ LPCSTR lpName,
3055 _In_ LPCSTR lpGuid,
3056 _In_reads_bytes_opt_(nSize) PVOID pValue,
3057 _In_ DWORD nSize);
3058
3059 BOOL
3060 WINAPI
3061 SetFirmwareEnvironmentVariableW(
3062 _In_ LPCWSTR lpName,
3063 _In_ LPCWSTR lpGuid,
3064 _In_reads_bytes_opt_(nSize) PVOID pValue,
3065 _In_ DWORD nSize);
3066
3067 #endif
3068
3069 UINT WINAPI SetHandleCount(UINT);
3070 BOOL WINAPI SetHandleInformation(HANDLE,DWORD,DWORD);
3071
3072 BOOL
3073 WINAPI
3074 SetInformationJobObject(
3075 _In_ HANDLE hJob,
3076 _In_ JOBOBJECTINFOCLASS JobObjectInformationClass,
3077 _In_reads_bytes_(cbJobObjectInformationLength) LPVOID lpJobObjectInformation,
3078 _In_ DWORD cbJobObjectInformationLength);
3079
3080 BOOL WINAPI SetKernelObjectSecurity(HANDLE,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR);
3081 void WINAPI SetLastError(DWORD);
3082 void WINAPI SetLastErrorEx(DWORD,DWORD);
3083 BOOL WINAPI SetLocalTime(const SYSTEMTIME*);
3084 BOOL WINAPI SetMailslotInfo(_In_ HANDLE, _In_ DWORD);
3085 BOOL WINAPI SetNamedPipeHandleState(HANDLE,PDWORD,PDWORD,PDWORD);
3086 BOOL WINAPI SetPriorityClass(HANDLE,DWORD);
3087 BOOL WINAPI SetPrivateObjectSecurity(SECURITY_INFORMATION,PSECURITY_DESCRIPTOR,PSECURITY_DESCRIPTOR *,PGENERIC_MAPPING,HANDLE);
3088 BOOL WINAPI SetProcessAffinityMask(_In_ HANDLE, _In_ DWORD_PTR);
3089 BOOL WINAPI SetProcessPriorityBoost(_In_ HANDLE, _In_ BOOL);
3090 BOOL WINAPI SetProcessShutdownParameters(DWORD,DWORD);
3091 BOOL WINAPI SetProcessWorkingSetSize(_In_ HANDLE, _In_ SIZE_T, _In_ SIZE_T);
3092 #if (_WIN32_WINNT >= 0x0600)
3093 VOID WINAPI SetSecurityAccessMask(SECURITY_INFORMATION,LPDWORD);
3094 #endif
3095 BOOL WINAPI SetSecurityDescriptorControl(PSECURITY_DESCRIPTOR,SECURITY_DESCRIPTOR_CONTROL,SECURITY_DESCRIPTOR_CONTROL);
3096 BOOL WINAPI SetSecurityDescriptorDacl(PSECURITY_DESCRIPTOR,BOOL,PACL,BOOL);
3097 BOOL WINAPI SetSecurityDescriptorGroup(PSECURITY_DESCRIPTOR,PSID,BOOL);
3098 BOOL WINAPI SetSecurityDescriptorOwner(PSECURITY_DESCRIPTOR,PSID,BOOL);
3099 DWORD WINAPI SetSecurityDescriptorRMControl(PSECURITY_DESCRIPTOR,PUCHAR);
3100 BOOL WINAPI SetSecurityDescriptorSacl(PSECURITY_DESCRIPTOR,BOOL,PACL,BOOL);
3101 BOOL WINAPI SetStdHandle(_In_ DWORD, _In_ HANDLE);
3102 #define SetSwapAreaSize(w) (w)
3103 BOOL WINAPI SetSystemPowerState(_In_ BOOL, _In_ BOOL);
3104 BOOL WINAPI SetSystemTime(const SYSTEMTIME*);
3105 BOOL WINAPI SetSystemTimeAdjustment(_In_ DWORD, _In_ BOOL);
3106 DWORD WINAPI SetTapeParameters(_In_ HANDLE, _In_ DWORD, _In_ PVOID);
3107 DWORD WINAPI SetTapePosition(_In_ HANDLE, _In_ DWORD, _In_ DWORD, _In_ DWORD, _In_ DWORD, _In_ BOOL);
3108 DWORD_PTR WINAPI SetThreadAffinityMask(_In_ HANDLE, _In_ DWORD_PTR);
3109 BOOL WINAPI SetThreadContext(HANDLE,const CONTEXT*);
3110 DWORD WINAPI SetThreadIdealProcessor(_In_ HANDLE, _In_ DWORD);
3111 BOOL WINAPI SetThreadPriority(HANDLE,int);
3112 BOOL WINAPI SetThreadPriorityBoost(HANDLE,BOOL);
3113 BOOL WINAPI SetThreadToken (PHANDLE,HANDLE);
3114 BOOL WINAPI SetTimeZoneInformation(const TIME_ZONE_INFORMATION *);
3115 BOOL WINAPI SetTokenInformation(HANDLE,TOKEN_INFORMATION_CLASS,PVOID,DWORD);
3116 LPTOP_LEVEL_EXCEPTION_FILTER WINAPI SetUnhandledExceptionFilter(LPTOP_LEVEL_EXCEPTION_FILTER);
3117 BOOL WINAPI SetupComm(_In_ HANDLE, _In_ DWORD, _In_ DWORD);
3118 BOOL WINAPI SetVolumeLabelA(_In_opt_ LPCSTR, _In_opt_ LPCSTR);
3119 BOOL WINAPI SetVolumeLabelW(_In_opt_ LPCWSTR, _In_opt_ LPCWSTR);
3120 #if (_WIN32_WINNT >= 0x0500)
3121 BOOL WINAPI SetVolumeMountPointA(_In_ LPCSTR, _In_ LPCSTR);
3122 BOOL WINAPI SetVolumeMountPointW(_In_ LPCWSTR, _In_ LPCWSTR);
3123 #endif
3124 BOOL WINAPI SetWaitableTimer(HANDLE,const LARGE_INTEGER*,LONG,PTIMERAPCROUTINE,PVOID,BOOL);
3125 DWORD WINAPI SignalObjectAndWait(_In_ HANDLE, _In_ HANDLE, _In_ DWORD, _In_ BOOL);
3126 DWORD WINAPI SizeofResource(HINSTANCE,HRSRC);
3127 WINBASEAPI void WINAPI Sleep(DWORD);
3128 #if (_WIN32_WINNT >= 0x0600)
3129 BOOL WINAPI SleepConditionVariableCS(PCONDITION_VARIABLE,PCRITICAL_SECTION,DWORD);
3130 BOOL WINAPI SleepConditionVariableSRW(PCONDITION_VARIABLE,PSRWLOCK,DWORD,ULONG);
3131 #endif
3132 DWORD WINAPI SleepEx(DWORD,BOOL);
3133 DWORD WINAPI SuspendThread(HANDLE);
3134 void WINAPI SwitchToFiber(_In_ PVOID);
3135 BOOL WINAPI SwitchToThread(void);
3136 BOOL WINAPI SystemTimeToFileTime(const SYSTEMTIME*,LPFILETIME);
3137 BOOL WINAPI SystemTimeToTzSpecificLocalTime(CONST TIME_ZONE_INFORMATION*,CONST SYSTEMTIME*,LPSYSTEMTIME);
3138 BOOL WINAPI TerminateProcess(HANDLE,UINT);
3139 BOOL WINAPI TerminateThread(HANDLE,DWORD);
3140 DWORD WINAPI TlsAlloc(VOID);
3141 BOOL WINAPI TlsFree(DWORD);
3142 PVOID WINAPI TlsGetValue(DWORD);
3143 BOOL WINAPI TlsSetValue(DWORD,PVOID);
3144 BOOL WINAPI TransactNamedPipe(HANDLE,PVOID,DWORD,PVOID,DWORD,PDWORD,LPOVERLAPPED);
3145 BOOL WINAPI TransmitCommChar(_In_ HANDLE, _In_ char);
3146 BOOL WINAPI TryEnterCriticalSection(LPCRITICAL_SECTION);
3147 BOOL WINAPI TzSpecificLocalTimeToSystemTime(LPTIME_ZONE_INFORMATION,LPSYSTEMTIME,LPSYSTEMTIME);
3148 LONG WINAPI UnhandledExceptionFilter(LPEXCEPTION_POINTERS);
3149 BOOL WINAPI UnlockFile(HANDLE,DWORD,DWORD,DWORD,DWORD);
3150 BOOL WINAPI UnlockFileEx(HANDLE,DWORD,DWORD,DWORD,LPOVERLAPPED);
3151 #define UnlockResource(h) (h)
3152 #define UnlockSegment(w) GlobalUnfix((HANDLE)(w)) /* Obsolete: Has no effect. */
3153 BOOL WINAPI UnmapViewOfFile(LPCVOID);
3154 #if (_WIN32_WINNT >= 0x0500)
3155 _Must_inspect_result_ BOOL WINAPI UnregisterWait(_In_ HANDLE);
3156 BOOL WINAPI UnregisterWaitEx(HANDLE,HANDLE);
3157 #endif
3158
3159 BOOL
3160 WINAPI
3161 UpdateResourceA(
3162 _In_ HANDLE hUpdate,
3163 _In_ LPCSTR lpType,
3164 _In_ LPCSTR lpName,
3165 _In_ WORD wLanguage,
3166 _In_reads_bytes_opt_(cb) LPVOID lpData,
3167 _In_ DWORD cb);
3168
3169 BOOL
3170 WINAPI
3171 UpdateResourceW(
3172 _In_ HANDLE hUpdate,
3173 _In_ LPCWSTR lpType,
3174 _In_ LPCWSTR lpName,
3175 _In_ WORD wLanguage,
3176 _In_reads_bytes_opt_(cb) LPVOID lpData,
3177 _In_ DWORD cb);
3178
3179 BOOL WINAPI VerifyVersionInfoA(_Inout_ LPOSVERSIONINFOEXA, _In_ DWORD, _In_ DWORDLONG);
3180 BOOL WINAPI VerifyVersionInfoW(_Inout_ LPOSVERSIONINFOEXW, _In_ DWORD, _In_ DWORDLONG);
3181 PVOID WINAPI VirtualAlloc(PVOID,SIZE_T,DWORD,DWORD);
3182 PVOID WINAPI VirtualAllocEx(HANDLE,PVOID,SIZE_T,DWORD,DWORD);
3183 BOOL WINAPI VirtualFree(PVOID,SIZE_T,DWORD);
3184 BOOL WINAPI VirtualFreeEx(HANDLE,PVOID,SIZE_T,DWORD);
3185 BOOL WINAPI VirtualLock(PVOID,SIZE_T);
3186 BOOL WINAPI VirtualProtect(PVOID,SIZE_T,DWORD,PDWORD);
3187 BOOL WINAPI VirtualProtectEx(HANDLE,PVOID,SIZE_T,DWORD,PDWORD);
3188 SIZE_T WINAPI VirtualQuery(LPCVOID,PMEMORY_BASIC_INFORMATION,SIZE_T);
3189 SIZE_T WINAPI VirtualQueryEx(HANDLE,LPCVOID,PMEMORY_BASIC_INFORMATION,SIZE_T);
3190 BOOL WINAPI VirtualUnlock(PVOID,SIZE_T);
3191 BOOL WINAPI WaitCommEvent(_In_ HANDLE, _Inout_ PDWORD, _Inout_opt_ LPOVERLAPPED);
3192 BOOL WINAPI WaitForDebugEvent(LPDEBUG_EVENT,DWORD);
3193
3194 DWORD
3195 WINAPI
3196 WaitForMultipleObjects(
3197 _In_ DWORD nCount,
3198 _In_reads_(nCount) CONST HANDLE *lpHandles,
3199 _In_ BOOL bWaitAll,
3200 _In_ DWORD dwMilliseconds);
3201
3202 DWORD WINAPI WaitForMultipleObjectsEx(DWORD,const HANDLE*,BOOL,DWORD,BOOL);
3203 DWORD WINAPI WaitForSingleObject(HANDLE,DWORD);
3204 DWORD WINAPI WaitForSingleObjectEx(HANDLE,DWORD,BOOL);
3205 BOOL WINAPI WaitNamedPipeA(_In_ LPCSTR, _In_ DWORD);
3206 BOOL WINAPI WaitNamedPipeW(_In_ LPCWSTR, _In_ DWORD);
3207 #if (_WIN32_WINNT >= 0x0600)
3208 VOID WINAPI WakeConditionVariable(PCONDITION_VARIABLE);
3209 VOID WINAPI WakeAllConditionVariable(PCONDITION_VARIABLE);
3210 #endif
3211 BOOL WINAPI WinLoadTrustProvider(GUID*);
3212 BOOL WINAPI Wow64DisableWow64FsRedirection(PVOID*);
3213 BOOLEAN WINAPI Wow64EnableWow64FsRedirection(_In_ BOOLEAN);
3214 BOOL WINAPI Wow64RevertWow64FsRedirection(PVOID);
3215 DWORD WINAPI WriteEncryptedFileRaw(_In_ PFE_IMPORT_FUNC, _In_opt_ PVOID, _In_ PVOID);
3216 BOOL WINAPI WriteFile(HANDLE,LPCVOID,DWORD,LPDWORD,LPOVERLAPPED);
3217 BOOL WINAPI WriteFileEx(HANDLE,LPCVOID,DWORD,LPOVERLAPPED,LPOVERLAPPED_COMPLETION_ROUTINE);
3218 BOOL WINAPI WriteFileGather(HANDLE,FILE_SEGMENT_ELEMENT*,DWORD,LPDWORD,LPOVERLAPPED);
3219 BOOL WINAPI WritePrivateProfileSectionA(_In_opt_ LPCSTR, _In_opt_ LPCSTR, _In_opt_ LPCSTR);
3220 BOOL WINAPI WritePrivateProfileSectionW(_In_opt_ LPCWSTR, _In_opt_ LPCWSTR, _In_opt_ LPCWSTR);
3221 BOOL WINAPI WritePrivateProfileStringA(_In_opt_ LPCSTR, _In_opt_ LPCSTR, _In_opt_ LPCSTR, _In_opt_ LPCSTR);
3222 BOOL WINAPI WritePrivateProfileStringW(_In_opt_ LPCWSTR, _In_opt_ LPCWSTR, _In_opt_ LPCWSTR, _In_opt_ LPCWSTR);
3223
3224 BOOL
3225 WINAPI
3226 WritePrivateProfileStructA(
3227 _In_ LPCSTR lpszSection,
3228 _In_ LPCSTR lpszKey,
3229 _In_reads_bytes_opt_(uSizeStruct) LPVOID lpStruct,
3230 _In_ UINT uSizeStruct,
3231 _In_opt_ LPCSTR szFile);
3232
3233 BOOL
3234 WINAPI
3235 WritePrivateProfileStructW(
3236 _In_ LPCWSTR lpszSection,
3237 _In_ LPCWSTR lpszKey,
3238 _In_reads_bytes_opt_(uSizeStruct) LPVOID lpStruct,
3239 _In_ UINT uSizeStruct,
3240 _In_opt_ LPCWSTR szFile);
3241
3242 BOOL WINAPI WriteProcessMemory(HANDLE,LPVOID,LPCVOID,SIZE_T,SIZE_T*);
3243 BOOL WINAPI WriteProfileSectionA(_In_ LPCSTR, _In_ LPCSTR);
3244 BOOL WINAPI WriteProfileSectionW(_In_ LPCWSTR, _In_ LPCWSTR);
3245 BOOL WINAPI WriteProfileStringA(_In_opt_ LPCSTR, _In_opt_ LPCSTR, _In_opt_ LPCSTR);
3246 BOOL WINAPI WriteProfileStringW(_In_opt_ LPCWSTR, _In_opt_ LPCWSTR, _In_opt_ LPCWSTR);
3247 DWORD WINAPI WriteTapemark(_In_ HANDLE, _In_ DWORD, _In_ DWORD, _In_ BOOL);
3248 #define Yield()
3249 #if (_WIN32_WINNT >= 0x0501)
3250 BOOL WINAPI ZombifyActCtx(_Inout_ HANDLE);
3251 #endif
3252
3253 #if (_WIN32_WINNT >= 0x0500)
3254
3255 BOOL
3256 WINAPI
3257 AllocateUserPhysicalPages(
3258 _In_ HANDLE hProcess,
3259 _Inout_ PULONG_PTR NumberOfPages,
3260 _Out_writes_to_(*NumberOfPages, *NumberOfPages) PULONG_PTR PageArray);
3261
3262 BOOL
3263 WINAPI
3264 FreeUserPhysicalPages(
3265 _In_ HANDLE hProcess,
3266 _Inout_ PULONG_PTR NumberOfPages,
3267 _In_reads_(*NumberOfPages) PULONG_PTR PageArray);
3268
3269 BOOL
3270 WINAPI
3271 MapUserPhysicalPages(
3272 _In_ PVOID VirtualAddress,
3273 _In_ ULONG_PTR NumberOfPages,
3274 _In_reads_opt_(NumberOfPages) PULONG_PTR PageArray);
3275
3276 BOOL
3277 WINAPI
3278 MapUserPhysicalPagesScatter(
3279 _In_reads_(NumberOfPages) PVOID *VirtualAddresses,
3280 _In_ ULONG_PTR NumberOfPages,
3281 _In_reads_opt_(NumberOfPages) PULONG_PTR PageArray);
3282
3283 #endif
3284
3285 #ifdef UNICODE
3286 typedef STARTUPINFOW STARTUPINFO,*LPSTARTUPINFO;
3287 typedef WIN32_FIND_DATAW WIN32_FIND_DATA, *PWIN32_FIND_DATA, *LPWIN32_FIND_DATA;
3288 typedef HW_PROFILE_INFOW HW_PROFILE_INFO,*LPHW_PROFILE_INFO;
3289 typedef ENUMRESLANGPROCW ENUMRESLANGPROC;
3290 typedef ENUMRESNAMEPROCW ENUMRESNAMEPROC;
3291 typedef ENUMRESTYPEPROCW ENUMRESTYPEPROC;
3292 #if (_WIN32_WINNT >= 0x0501)
3293 typedef ACTCTXW ACTCTX,*PACTCTX;
3294 typedef PCACTCTXW PCACTCTX;
3295 #endif
3296 #define AccessCheckAndAuditAlarm AccessCheckAndAuditAlarmW
3297 #define AddAtom AddAtomW
3298 #define BackupEventLog BackupEventLogW
3299 #define BeginUpdateResource BeginUpdateResourceW
3300 #define BuildCommDCB BuildCommDCBW
3301 #define BuildCommDCBAndTimeouts BuildCommDCBAndTimeoutsW
3302 #define CallNamedPipe CallNamedPipeW
3303 #if (_WIN32_WINNT >= 0x0501)
3304 #define CheckNameLegalDOS8Dot3 CheckNameLegalDOS8Dot3W
3305 #endif
3306 #define ClearEventLog ClearEventLogW
3307 #define CommConfigDialog CommConfigDialogW
3308 #define CopyFile CopyFileW
3309 #define CopyFileEx CopyFileExW
3310 #if (_WIN32_WINNT >= 0x0501)
3311 #define CreateActCtx CreateActCtxW
3312 #endif
3313 #define CreateDirectory CreateDirectoryW
3314 #define CreateDirectoryEx CreateDirectoryExW
3315 #define CreateEvent CreateEventW
3316 #define CreateFile CreateFileW
3317 #define CreateFileMapping CreateFileMappingW
3318 #if (_WIN32_WINNT >= 0x0500)
3319 #define CreateHardLink CreateHardLinkW
3320 #define CreateJobObject CreateJobObjectW
3321 #endif
3322 #define CreateMailslot CreateMailslotW
3323 #define CreateMutex CreateMutexW
3324 #define CreateNamedPipe CreateNamedPipeW
3325 #define CreateProcess CreateProcessW
3326 #define CreateProcessAsUser CreateProcessAsUserW
3327 #define CreateSemaphore CreateSemaphoreW
3328 #define CreateWaitableTimer CreateWaitableTimerW
3329 #define DecryptFile DecryptFileW
3330 #define DefineDosDevice DefineDosDeviceW
3331 #define DeleteFile DeleteFileW
3332 #if (_WIN32_WINNT >= 0x0500)
3333 #define DeleteVolumeMountPoint DeleteVolumeMountPointW
3334 #define DnsHostnameToComputerName DnsHostnameToComputerNameW
3335 #endif
3336 #define EncryptFile EncryptFileW
3337 #define EndUpdateResource EndUpdateResourceW
3338 #define EnumResourceLanguages EnumResourceLanguagesW
3339 #define EnumResourceNames EnumResourceNamesW
3340 #define EnumResourceTypes EnumResourceTypesW
3341 #define ExpandEnvironmentStrings ExpandEnvironmentStringsW
3342 #define FatalAppExit FatalAppExitW
3343 #define FileEncryptionStatus FileEncryptionStatusW
3344 #if (_WIN32_WINNT >= 0x0501)
3345 #define FindActCtxSectionString FindActCtxSectionStringW
3346 #endif
3347 #define FindAtom FindAtomW
3348 #define FindFirstChangeNotification FindFirstChangeNotificationW
3349 #define FindFirstFile FindFirstFileW
3350 #define FindFirstFileEx FindFirstFileExW
3351 #if (_WIN32_WINNT >= 0x0500)
3352 #define FindFirstVolume FindFirstVolumeW
3353 #define FindFirstVolumeMountPoint FindFirstVolumeMountPointW
3354 #endif
3355 #define FindNextFile FindNextFileW
3356 #if (_WIN32_WINNT >= 0x0500)
3357 #define FindNextVolume FindNextVolumeW
3358 #define FindNextVolumeMountPoint FindNextVolumeMountPointW
3359 #endif
3360 #define FindResource FindResourceW
3361 #define FindResourceEx FindResourceExW
3362 #define FormatMessage FormatMessageW
3363 #define FreeEnvironmentStrings FreeEnvironmentStringsW
3364 #define GetAtomName GetAtomNameW
3365 #define GetBinaryType GetBinaryTypeW
3366 #define GetCommandLine GetCommandLineW
3367 #define GetCompressedFileSize GetCompressedFileSizeW
3368 #define GetComputerName GetComputerNameW
3369 #if (_WIN32_WINNT >= 0x0500)
3370 #define GetComputerNameEx GetComputerNameExW
3371 #endif
3372 #define GetCurrentDirectory GetCurrentDirectoryW
3373 #define GetDefaultCommConfig GetDefaultCommConfigW
3374 #define GetDiskFreeSpace GetDiskFreeSpaceW
3375 #define GetDiskFreeSpaceEx GetDiskFreeSpaceExW
3376 #if (_WIN32_WINNT >= 0x0502)
3377 #define GetDllDirectory GetDllDirectoryW
3378 #endif
3379 #define GetDriveType GetDriveTypeW
3380 #define GetEnvironmentStrings GetEnvironmentStringsW
3381 #define GetEnvironmentVariable GetEnvironmentVariableW
3382 #define GetFileAttributes GetFileAttributesW
3383 #define GetFileAttributesEx GetFileAttributesExW
3384 #define GetFileSecurity GetFileSecurityW
3385 #if (_WIN32_WINNT >= 0x0600)
3386 #define GetFinalPathNameByHandle GetFinalPathNameByHandleW
3387 #endif
3388 #define GetFullPathName GetFullPathNameW
3389 #define GetLogicalDriveStrings GetLogicalDriveStringsW
3390 #if (_WIN32_WINNT >= 0x0500 || _WIN32_WINDOWS >= 0x0410)
3391 #define GetLongPathName GetLongPathNameW
3392 #endif
3393 #define GetModuleFileName GetModuleFileNameW
3394 #define GetModuleHandle GetModuleHandleW
3395 #if (_WIN32_WINNT >= 0x0500)
3396 #define GetModuleHandleEx GetModuleHandleExW
3397 #endif
3398 #define GetNamedPipeHandleState GetNamedPipeHandleStateW
3399 #define GetPrivateProfileInt GetPrivateProfileIntW
3400 #define GetPrivateProfileSection GetPrivateProfileSectionW
3401 #define GetPrivateProfileSectionNames GetPrivateProfileSectionNamesW
3402 #define GetPrivateProfileString GetPrivateProfileStringW
3403 #define GetPrivateProfileStruct GetPrivateProfileStructW
3404 #define GetProfileInt GetProfileIntW
3405 #define GetProfileSection GetProfileSectionW
3406 #define GetProfileString GetProfileStringW
3407 #define GetShortPathName GetShortPathNameW
3408 #define GetStartupInfo GetStartupInfoW
3409 #define GetSystemDirectory GetSystemDirectoryW
3410 #if (_WIN32_WINNT >= 0x0500)
3411 #define GetSystemWindowsDirectory GetSystemWindowsDirectoryW
3412 #endif
3413 #if (_WIN32_WINNT >= 0x0501)
3414 #define GetSystemWow64Directory GetSystemWow64DirectoryW
3415 #endif
3416 #define GetTempFileName GetTempFileNameW
3417 #define GetTempPath GetTempPathW
3418 #define GetUserName GetUserNameW
3419 #define GetVersionEx GetVersionExW
3420 #define GetVolumeInformation GetVolumeInformationW
3421 #define GetVolumeNameForVolumeMountPoint GetVolumeNameForVolumeMountPointW
3422 #define GetVolumePathName GetVolumePathNameW
3423 #define GetVolumePathNamesForVolumeName GetVolumePathNamesForVolumeNameW
3424 #define GetWindowsDirectory GetWindowsDirectoryW
3425 #define GlobalAddAtom GlobalAddAtomW
3426 #define GlobalFindAtom GlobalFindAtomW
3427 #define GlobalGetAtomName GlobalGetAtomNameW
3428 #define IsBadStringPtr IsBadStringPtrW
3429 #define LoadLibrary LoadLibraryW
3430 #define LoadLibraryEx LoadLibraryExW
3431 #define LogonUser LogonUserW
3432 #define LogonUserEx LogonUserExW
3433 #define LookupAccountName LookupAccountNameW
3434 #define LookupAccountSid LookupAccountSidW
3435 #define LookupPrivilegeDisplayName LookupPrivilegeDisplayNameW
3436 #define LookupPrivilegeName LookupPrivilegeNameW
3437 #define LookupPrivilegeValue LookupPrivilegeValueW
3438 #define lstrcat lstrcatW
3439 #define lstrcmp lstrcmpW
3440 #define lstrcmpi lstrcmpiW
3441 #define lstrcpy lstrcpyW
3442 #define lstrcpyn lstrcpynW
3443 #define lstrlen lstrlenW
3444 #define MoveFile MoveFileW
3445 #define MoveFileEx MoveFileExW
3446 #define MoveFileWithProgress MoveFileWithProgressW
3447 #define ObjectCloseAuditAlarm ObjectCloseAuditAlarmW
3448 #define ObjectDeleteAuditAlarm ObjectDeleteAuditAlarmW
3449 #define ObjectOpenAuditAlarm ObjectOpenAuditAlarmW
3450 #define ObjectPrivilegeAuditAlarm ObjectPrivilegeAuditAlarmW
3451 #define OpenBackupEventLog OpenBackupEventLogW
3452 #define OpenEvent OpenEventW
3453 #define OpenEventLog OpenEventLogW
3454 #define OpenFileMapping OpenFileMappingW
3455 #define OpenMutex OpenMutexW
3456 #define OpenSemaphore OpenSemaphoreW
3457 #define OutputDebugString OutputDebugStringW
3458 #define PrivilegedServiceAuditAlarm PrivilegedServiceAuditAlarmW
3459 #define QueryDosDevice QueryDosDeviceW
3460 #define ReadEventLog ReadEventLogW
3461 #define RegisterEventSource RegisterEventSourceW
3462 #define RemoveDirectory RemoveDirectoryW
3463 #if (_WIN32_WINNT >= 0x0500)
3464 #define ReplaceFile ReplaceFileW
3465 #endif
3466 #define ReportEvent ReportEventW
3467 #define SearchPath SearchPathW
3468 #define SetComputerName SetComputerNameW
3469 #define SetComputerNameEx SetComputerNameExW
3470 #define SetCurrentDirectory SetCurrentDirectoryW
3471 #define SetDefaultCommConfig SetDefaultCommConfigW
3472 #if (_WIN32_WINNT >= 0x0502)
3473 #define SetDllDirectory SetDllDirectoryW
3474 #endif
3475 #define SetEnvironmentVariable SetEnvironmentVariableW
3476 #define SetFileAttributes SetFileAttributesW
3477 #define SetFileSecurity SetFileSecurityW
3478 #if (_WIN32_WINNT >= 0x0501)
3479 #define SetFileShortName SetFileShortNameW
3480 #endif
3481 #if (_WIN32_WINNT >= 0x0502)
3482 #define SetFirmwareEnvironmentVariable SetFirmwareEnvironmentVariableW
3483 #endif
3484 #define SetVolumeLabel SetVolumeLabelW
3485 #define SetVolumeMountPoint SetVolumeMountPointW
3486 #define UpdateResource UpdateResourceW
3487 #define VerifyVersionInfo VerifyVersionInfoW
3488 #define WaitNamedPipe WaitNamedPipeW
3489 #define WritePrivateProfileSection WritePrivateProfileSectionW
3490 #define WritePrivateProfileString WritePrivateProfileStringW
3491 #define WritePrivateProfileStruct WritePrivateProfileStructW
3492 #define WriteProfileSection WriteProfileSectionW
3493 #define WriteProfileString WriteProfileStringW
3494 #else
3495 typedef STARTUPINFOA STARTUPINFO,*LPSTARTUPINFO;
3496 typedef WIN32_FIND_DATAA WIN32_FIND_DATA, *PWIN32_FIND_DATA, *LPWIN32_FIND_DATA;
3497 typedef HW_PROFILE_INFOA HW_PROFILE_INFO,*LPHW_PROFILE_INFO;
3498 #if (_WIN32_WINNT >= 0x0501)
3499 typedef ACTCTXA ACTCTX,*PACTCTX;
3500 typedef PCACTCTXA PCACTCTX;
3501 #endif
3502 typedef ENUMRESLANGPROCA ENUMRESLANGPROC;
3503 typedef ENUMRESNAMEPROCA ENUMRESNAMEPROC;
3504 typedef ENUMRESTYPEPROCA ENUMRESTYPEPROC;
3505 #define AccessCheckAndAuditAlarm AccessCheckAndAuditAlarmA
3506 #define AddAtom AddAtomA
3507 #define BackupEventLog BackupEventLogA
3508 #define BeginUpdateResource BeginUpdateResourceA
3509 #define BuildCommDCB BuildCommDCBA
3510 #define BuildCommDCBAndTimeouts BuildCommDCBAndTimeoutsA
3511 #define CallNamedPipe CallNamedPipeA
3512 #if (_WIN32_WINNT >= 0x0501)
3513 #define CheckNameLegalDOS8Dot3 CheckNameLegalDOS8Dot3A
3514 #endif
3515 #define ClearEventLog ClearEventLogA
3516 #define CommConfigDialog CommConfigDialogA
3517 #define CopyFile CopyFileA
3518 #define CopyFileEx CopyFileExA
3519 #if (_WIN32_WINNT >= 0x0501)
3520 #define CreateActCtx CreateActCtxA
3521 #endif
3522 #define CreateDirectory CreateDirectoryA
3523 #define CreateDirectoryEx CreateDirectoryExA
3524 #define CreateEvent CreateEventA
3525 #define CreateFile CreateFileA
3526 #define CreateFileMapping CreateFileMappingA
3527 #if (_WIN32_WINNT >= 0x0500)
3528 #define CreateHardLink CreateHardLinkA
3529 #define CreateJobObject CreateJobObjectA
3530 #endif
3531 #define CreateMailslot CreateMailslotA
3532 #define CreateMutex CreateMutexA
3533 #define CreateNamedPipe CreateNamedPipeA
3534 #define CreateProcess CreateProcessA
3535 #define CreateProcessAsUser CreateProcessAsUserA
3536 #define CreateSemaphore CreateSemaphoreA
3537 #define CreateWaitableTimer CreateWaitableTimerA
3538 #define DecryptFile DecryptFileA
3539 #define DefineDosDevice DefineDosDeviceA
3540 #define DeleteFile DeleteFileA
3541 #if (_WIN32_WINNT >= 0x0500)
3542 #define DeleteVolumeMountPoint DeleteVolumeMountPointA
3543 #define DnsHostnameToComputerName DnsHostnameToComputerNameA
3544 #endif
3545 #define EncryptFile EncryptFileA
3546 #define EndUpdateResource EndUpdateResourceA
3547 #define EnumResourceLanguages EnumResourceLanguagesA
3548 #define EnumResourceNames EnumResourceNamesA
3549 #define EnumResourceTypes EnumResourceTypesA
3550 #define ExpandEnvironmentStrings ExpandEnvironmentStringsA
3551 #define FatalAppExit FatalAppExitA
3552 #define FileEncryptionStatus FileEncryptionStatusA
3553 #if (_WIN32_WINNT >= 0x0501)
3554 #define FindActCtxSectionString FindActCtxSectionStringA
3555 #endif
3556 #define FindAtom FindAtomA
3557 #define FindFirstChangeNotification FindFirstChangeNotificationA
3558 #define FindFirstFile FindFirstFileA
3559 #define FindFirstFileEx FindFirstFileExA
3560 #if (_WIN32_WINNT >= 0x0500)
3561 #define FindFirstVolume FindFirstVolumeA
3562 #define FindFirstVolumeMountPoint FindFirstVolumeMountPointA
3563 #endif
3564 #define FindNextFile FindNextFileA
3565 #if (_WIN32_WINNT >= 0x0500)
3566 #define FindNextVolume FindNextVolumeA
3567 #define FindNextVolumeMountPoint FindNextVolumeMountPointA
3568 #endif
3569 #define FindResource FindResourceA
3570 #define FindResourceEx FindResourceExA
3571 #define FormatMessage FormatMessageA
3572 #define FreeEnvironmentStrings FreeEnvironmentStringsA
3573 #define GetAtomName GetAtomNameA
3574 #define GetBinaryType GetBinaryTypeA
3575 #define GetCommandLine GetCommandLineA
3576 #define GetComputerName GetComputerNameA
3577 #if (_WIN32_WINNT >= 0x0500)
3578 #define GetComputerNameEx GetComputerNameExA
3579 #endif
3580 #define GetCompressedFileSize GetCompressedFileSizeA
3581 #define GetCurrentDirectory GetCurrentDirectoryA
3582 #define GetDefaultCommConfig GetDefaultCommConfigA
3583 #define GetDiskFreeSpace GetDiskFreeSpaceA
3584 #define GetDiskFreeSpaceEx GetDiskFreeSpaceExA
3585 #if (_WIN32_WINNT >= 0x0502)
3586 #define GetDllDirectory GetDllDirectoryA
3587 #endif
3588 #define GetDriveType GetDriveTypeA
3589 #define GetEnvironmentStringsA GetEnvironmentStrings
3590 #define GetEnvironmentVariable GetEnvironmentVariableA
3591 #define GetFileAttributes GetFileAttributesA
3592 #define GetFileAttributesEx GetFileAttributesExA
3593 #define GetFileSecurity GetFileSecurityA
3594 #if (_WIN32_WINNT >= 0x0600)
3595 #define GetFinalPathNameByHandle GetFinalPathNameByHandleA
3596 #endif
3597 #define GetFullPathName GetFullPathNameA
3598 #define GetLogicalDriveStrings GetLogicalDriveStringsA
3599 #if (_WIN32_WINNT >= 0x0500 || _WIN32_WINDOWS >= 0x0410)
3600 #define GetLongPathName GetLongPathNameA
3601 #endif
3602 #define GetNamedPipeHandleState GetNamedPipeHandleStateA
3603 #define GetModuleHandle GetModuleHandleA
3604 #if (_WIN32_WINNT >= 0x0500)
3605 #define GetModuleHandleEx GetModuleHandleExA
3606 #endif
3607 #define GetModuleFileName GetModuleFileNameA
3608 #define GetPrivateProfileInt GetPrivateProfileIntA
3609 #define GetPrivateProfileSection GetPrivateProfileSectionA
3610 #define GetPrivateProfileSectionNames GetPrivateProfileSectionNamesA
3611 #define GetPrivateProfileString GetPrivateProfileStringA
3612 #define GetPrivateProfileStruct GetPrivateProfileStructA
3613 #define GetProfileInt GetProfileIntA
3614 #define GetProfileSection GetProfileSectionA
3615 #define GetProfileString GetProfileStringA
3616 #define GetShortPathName GetShortPathNameA
3617 #define GetStartupInfo GetStartupInfoA
3618 #define GetSystemDirectory GetSystemDirectoryA
3619 #if (_WIN32_WINNT >= 0x0500)
3620 #define GetSystemWindowsDirectory GetSystemWindowsDirectoryA
3621 #endif
3622 #if (_WIN32_WINNT >= 0x0501)
3623 #define GetSystemWow64Directory GetSystemWow64DirectoryA
3624 #endif
3625 #define GetTempFileName GetTempFileNameA
3626 #define GetTempPath GetTempPathA
3627 #define GetUserName GetUserNameA
3628 #define GetVersionEx GetVersionExA
3629 #define GetVolumeInformation GetVolumeInformationA
3630 #define GetVolumeNameForVolumeMountPoint GetVolumeNameForVolumeMountPointA
3631 #define GetVolumePathName GetVolumePathNameA
3632 #define GetVolumePathNamesForVolumeName GetVolumePathNamesForVolumeNameA
3633 #define GetWindowsDirectory GetWindowsDirectoryA
3634 #define GlobalAddAtom GlobalAddAtomA
3635 #define GlobalFindAtom GlobalFindAtomA
3636 #define GlobalGetAtomName GlobalGetAtomNameA
3637 #define IsBadStringPtr IsBadStringPtrA
3638 #define LoadLibrary LoadLibraryA
3639 #define LoadLibraryEx LoadLibraryExA
3640 #define LogonUser LogonUserA
3641 #define LogonUserEx LogonUserExA
3642 #define LookupAccountName LookupAccountNameA
3643 #define LookupAccountSid LookupAccountSidA
3644 #define LookupPrivilegeDisplayName LookupPrivilegeDisplayNameA
3645 #define LookupPrivilegeName LookupPrivilegeNameA
3646 #define LookupPrivilegeValue LookupPrivilegeValueA
3647 #define lstrcat lstrcatA
3648 #define lstrcmp lstrcmpA
3649 #define lstrcmpi lstrcmpiA
3650 #define lstrcpy lstrcpyA
3651 #define lstrcpyn lstrcpynA
3652 #define lstrlen lstrlenA
3653 #define MoveFile MoveFileA
3654 #define MoveFileEx MoveFileExA
3655 #define MoveFileWithProgress MoveFileWithProgressA
3656 #define ObjectCloseAuditAlarm ObjectCloseAuditAlarmA
3657 #define ObjectDeleteAuditAlarm ObjectDeleteAuditAlarmA
3658 #define ObjectOpenAuditAlarm ObjectOpenAuditAlarmA
3659 #define ObjectPrivilegeAuditAlarm ObjectPrivilegeAuditAlarmA
3660 #define OpenBackupEventLog OpenBackupEventLogA
3661 #define OpenEvent OpenEventA
3662 #define OpenEventLog OpenEventLogA
3663 #define OpenFileMapping OpenFileMappingA
3664 #define OpenMutex OpenMutexA
3665 #define OpenSemaphore OpenSemaphoreA
3666 #define OutputDebugString OutputDebugStringA
3667 #define PrivilegedServiceAuditAlarm PrivilegedServiceAuditAlarmA
3668 #define QueryDosDevice QueryDosDeviceA
3669 #define ReadEventLog ReadEventLogA
3670 #define RegisterEventSource RegisterEventSourceA
3671 #define RemoveDirectory RemoveDirectoryA
3672 #if (_WIN32_WINNT >= 0x0500)
3673 #define ReplaceFile ReplaceFileA
3674 #endif
3675 #define ReportEvent ReportEventA
3676 #define SearchPath SearchPathA
3677 #define SetComputerName SetComputerNameA
3678 #define SetComputerNameEx SetComputerNameExA
3679 #define SetCurrentDirectory SetCurrentDirectoryA
3680 #define SetDefaultCommConfig SetDefaultCommConfigA
3681 #if (_WIN32_WINNT >= 0x0502)
3682 #define SetDllDirectory SetDllDirectoryA
3683 #endif
3684 #define SetEnvironmentVariable SetEnvironmentVariableA
3685 #define SetFileAttributes SetFileAttributesA
3686 #define SetFileSecurity SetFileSecurityA
3687 #if (_WIN32_WINNT >= 0x0501)
3688 #define SetFileShortName SetFileShortNameA
3689 #endif
3690 #if (_WIN32_WINNT >= 0x0502)
3691 #define SetFirmwareEnvironmentVariable SetFirmwareEnvironmentVariableA
3692 #endif
3693 #define SetVolumeLabel SetVolumeLabelA
3694 #define SetVolumeMountPoint SetVolumeMountPointA
3695 #define UpdateResource UpdateResourceA
3696 #define VerifyVersionInfo VerifyVersionInfoA
3697 #define WaitNamedPipe WaitNamedPipeA
3698 #define WritePrivateProfileSection WritePrivateProfileSectionA
3699 #define WritePrivateProfileString WritePrivateProfileStringA
3700 #define WritePrivateProfileStruct WritePrivateProfileStructA
3701 #define WriteProfileSection WriteProfileSectionA
3702 #define WriteProfileString WriteProfileStringA
3703 #endif
3704 #endif
3705
3706 /* one-time initialisation API */
3707 typedef RTL_RUN_ONCE INIT_ONCE;
3708 typedef PRTL_RUN_ONCE PINIT_ONCE;
3709 typedef PRTL_RUN_ONCE LPINIT_ONCE;
3710
3711 #define INIT_ONCE_CHECK_ONLY RTL_RUN_ONCE_CHECK_ONLY
3712 #define INIT_ONCE_ASYNC RTL_RUN_ONCE_ASYNC
3713 #define INIT_ONCE_INIT_FAILED RTL_RUN_ONCE_INIT_FAILED
3714
3715 typedef BOOL
3716 (WINAPI *PINIT_ONCE_FN)(
3717 _Inout_ PINIT_ONCE InitOnce,
3718 _Inout_opt_ PVOID Parameter,
3719 _Outptr_opt_result_maybenull_ PVOID *Context);
3720
3721 #if _WIN32_WINNT >= 0x0601
3722
3723 #define COPYFILE2_MESSAGE_COPY_OFFLOAD 0x00000001L
3724
3725 typedef enum _COPYFILE2_MESSAGE_TYPE {
3726 COPYFILE2_CALLBACK_NONE = 0,
3727 COPYFILE2_CALLBACK_CHUNK_STARTED,
3728 COPYFILE2_CALLBACK_CHUNK_FINISHED,
3729 COPYFILE2_CALLBACK_STREAM_STARTED,
3730 COPYFILE2_CALLBACK_STREAM_FINISHED,
3731 COPYFILE2_CALLBACK_POLL_CONTINUE,
3732 COPYFILE2_CALLBACK_ERROR,
3733 COPYFILE2_CALLBACK_MAX,
3734 } COPYFILE2_MESSAGE_TYPE;
3735
3736 typedef enum _COPYFILE2_MESSAGE_ACTION {
3737 COPYFILE2_PROGRESS_CONTINUE = 0,
3738 COPYFILE2_PROGRESS_CANCEL,
3739 COPYFILE2_PROGRESS_STOP,
3740 COPYFILE2_PROGRESS_QUIET,
3741 COPYFILE2_PROGRESS_PAUSE,
3742 } COPYFILE2_MESSAGE_ACTION;
3743
3744 typedef enum _COPYFILE2_COPY_PHASE {
3745 COPYFILE2_PHASE_NONE = 0,
3746 COPYFILE2_PHASE_PREPARE_SOURCE,
3747 COPYFILE2_PHASE_PREPARE_DEST,
3748 COPYFILE2_PHASE_READ_SOURCE,
3749 COPYFILE2_PHASE_WRITE_DESTINATION,
3750 COPYFILE2_PHASE_SERVER_COPY,
3751 COPYFILE2_PHASE_NAMEGRAFT_COPY,
3752 COPYFILE2_PHASE_MAX,
3753 } COPYFILE2_COPY_PHASE;
3754
3755 typedef struct COPYFILE2_MESSAGE {
3756 COPYFILE2_MESSAGE_TYPE Type;
3757 DWORD dwPadding;
3758 union {
3759 struct {
3760 DWORD dwStreamNumber;
3761 DWORD dwReserved;
3762 HANDLE hSourceFile;
3763 HANDLE hDestinationFile;
3764 ULARGE_INTEGER uliChunkNumber;
3765 ULARGE_INTEGER uliChunkSize;
3766 ULARGE_INTEGER uliStreamSize;
3767 ULARGE_INTEGER uliTotalFileSize;
3768 } ChunkStarted;
3769 struct {
3770 DWORD dwStreamNumber;
3771 DWORD dwFlags;
3772 HANDLE hSourceFile;
3773 HANDLE hDestinationFile;
3774 ULARGE_INTEGER uliChunkNumber;
3775 ULARGE_INTEGER uliChunkSize;
3776 ULARGE_INTEGER uliStreamSize;
3777 ULARGE_INTEGER uliStreamBytesTransferred;
3778 ULARGE_INTEGER uliTotalFileSize;
3779 ULARGE_INTEGER uliTotalBytesTransferred;
3780 } ChunkFinished;
3781 struct {
3782 DWORD dwStreamNumber;
3783 DWORD dwReserved;
3784 HANDLE hSourceFile;
3785 HANDLE hDestinationFile;
3786 ULARGE_INTEGER uliStreamSize;
3787 ULARGE_INTEGER uliTotalFileSize;
3788 } StreamStarted;
3789 struct {
3790 DWORD dwStreamNumber;
3791 DWORD dwReserved;
3792 HANDLE hSourceFile;
3793 HANDLE hDestinationFile;
3794 ULARGE_INTEGER uliStreamSize;
3795 ULARGE_INTEGER uliStreamBytesTransferred;
3796 ULARGE_INTEGER uliTotalFileSize;
3797 ULARGE_INTEGER uliTotalBytesTransferred;
3798 } StreamFinished;
3799 struct {
3800 DWORD dwReserved;
3801 } PollContinue;
3802 struct {
3803 COPYFILE2_COPY_PHASE CopyPhase;
3804 DWORD dwStreamNumber;
3805 HRESULT hrFailure;
3806 DWORD dwReserved;
3807 ULARGE_INTEGER uliChunkNumber;
3808 ULARGE_INTEGER uliStreamSize;
3809 ULARGE_INTEGER uliStreamBytesTransferred;
3810 ULARGE_INTEGER uliTotalFileSize;
3811 ULARGE_INTEGER uliTotalBytesTransferred;
3812 } Error;
3813 } Info;
3814 } COPYFILE2_MESSAGE;
3815
3816 typedef COPYFILE2_MESSAGE_ACTION
3817 (CALLBACK *PCOPYFILE2_PROGRESS_ROUTINE)(
3818 _In_ const COPYFILE2_MESSAGE *pMessage,
3819 _In_opt_ PVOID pvCallbackContext);
3820
3821 typedef struct COPYFILE2_EXTENDED_PARAMETERS {
3822 DWORD dwSize;
3823 DWORD dwCopyFlags;
3824 BOOL *pfCancel;
3825 PCOPYFILE2_PROGRESS_ROUTINE pProgressRoutine;
3826 PVOID pvCallbackContext;
3827 } COPYFILE2_EXTENDED_PARAMETERS;
3828
3829 WINBASEAPI
3830 HRESULT
3831 WINAPI
3832 CopyFile2(
3833 _In_ PCWSTR pwszExistingFileName,
3834 _In_ PCWSTR pwszNewFileName,
3835 _In_opt_ COPYFILE2_EXTENDED_PARAMETERS *pExtendedParameters);
3836
3837 #endif /* _WIN32_WINNT >= 0x0601 */
3838
3839 WINBASEAPI
3840 BOOL
3841 WINAPI
3842 InitOnceExecuteOnce(
3843 _Inout_ PINIT_ONCE InitOnce,
3844 _In_ __callback PINIT_ONCE_FN InitFn,
3845 _Inout_opt_ PVOID Parameter,
3846 _Outptr_opt_result_maybenull_ LPVOID *Context);
3847
3848 WINBASEAPI
3849 VOID
3850 WINAPI
3851 InitializeSListHead(
3852 _Out_ PSLIST_HEADER ListHead);
3853
3854 #ifdef _MSC_VER
3855 #pragma warning(pop)
3856 #endif
3857
3858 #ifdef __cplusplus
3859 }
3860 #endif
3861 #endif /* _WINBASE_H */