ReactOS  0.4.15-dev-3326-ga91f5e8
winbase.h
Go to the documentation of this file.
1 #ifndef _WINBASE_
2 #define _WINBASE_
3 
4 #if !defined(_KERNEL32_)
5 #define WINBASEAPI DECLSPEC_IMPORT
6 #else
7 #define WINBASEAPI
8 #endif
9 
10 #ifdef __cplusplus
11 extern "C" {
12 #endif
13 
14 #include <libloaderapi.h>
15 
16 #ifdef _MSC_VER
17 #pragma warning(push)
18 #pragma warning(disable:4201)
19 #pragma warning(disable:4214)
20 #pragma warning(disable:4820)
21 #endif
22 
23 #define PROCESS_NAME_NATIVE 1
24 
25 #define FILE_ENCRYPTABLE 0
26 #define FILE_IS_ENCRYPTED 1
27 #define FILE_SYSTEM_ATTR 2
28 #define FILE_ROOT_DIR 3
29 #define FILE_SYSTEM_DIR 4
30 #define FILE_UNKNOWN 5
31 #define FILE_SYSTEM_NOT_SUPPORT 6
32 #define FILE_USER_DISALLOWED 7
33 #define FILE_READ_ONLY 8
34 #define FILE_DIR_DISALLOWED 9
35 
36 #define COMMPROP_INITIALIZED 0xE73CF52E
37 #define SP_SERIALCOMM 1
38 #define PST_UNSPECIFIED 0
39 #define PST_RS232 1
40 #define PST_PARALLELPORT 2
41 #define PST_RS422 3
42 #define PST_RS423 4
43 #define PST_RS449 5
44 #define PST_MODEM 6
45 #define PST_FAX 0x21
46 #define PST_SCANNER 0x22
47 #define PST_NETWORK_BRIDGE 0x100
48 #define PST_LAT 0x101
49 #define PST_TCPIP_TELNET 0x102
50 #define PST_X25 0x103
51 #define BAUD_075 1
52 #define BAUD_110 2
53 #define BAUD_134_5 4
54 #define BAUD_150 8
55 #define BAUD_300 16
56 #define BAUD_600 32
57 #define BAUD_1200 64
58 #define BAUD_1800 128
59 #define BAUD_2400 256
60 #define BAUD_4800 512
61 #define BAUD_7200 1024
62 #define BAUD_9600 2048
63 #define BAUD_14400 4096
64 #define BAUD_19200 8192
65 #define BAUD_38400 16384
66 #define BAUD_56K 32768
67 #define BAUD_128K 65536
68 #define BAUD_115200 131072
69 #define BAUD_57600 262144
70 #define BAUD_USER 0x10000000
71 #define PCF_DTRDSR 1
72 #define PCF_RTSCTS 2
73 #define PCF_RLSD 4
74 #define PCF_PARITY_CHECK 8
75 #define PCF_XONXOFF 16
76 #define PCF_SETXCHAR 32
77 #define PCF_TOTALTIMEOUTS 64
78 #define PCF_INTTIMEOUTS 128
79 #define PCF_SPECIALCHARS 256
80 #define PCF_16BITMODE 512
81 #define SP_PARITY 1
82 #define SP_BAUD 2
83 #define SP_DATABITS 4
84 #define SP_STOPBITS 8
85 #define SP_HANDSHAKING 16
86 #define SP_PARITY_CHECK 32
87 #define SP_RLSD 64
88 #define DATABITS_5 1
89 #define DATABITS_6 2
90 #define DATABITS_7 4
91 #define DATABITS_8 8
92 #define DATABITS_16 16
93 #define DATABITS_16X 32
94 #define STOPBITS_10 1
95 #define STOPBITS_15 2
96 #define STOPBITS_20 4
97 #define PARITY_NONE 256
98 #define PARITY_ODD 512
99 #define PARITY_EVEN 1024
100 #define PARITY_MARK 2048
101 #define PARITY_SPACE 4096
102 #define EXCEPTION_DEBUG_EVENT 1
103 #define CREATE_THREAD_DEBUG_EVENT 2
104 #define CREATE_PROCESS_DEBUG_EVENT 3
105 #define EXIT_THREAD_DEBUG_EVENT 4
106 #define EXIT_PROCESS_DEBUG_EVENT 5
107 #define LOAD_DLL_DEBUG_EVENT 6
108 #define UNLOAD_DLL_DEBUG_EVENT 7
109 #define OUTPUT_DEBUG_STRING_EVENT 8
110 #define RIP_EVENT 9
111 #define HFILE_ERROR ((HFILE)-1)
112 #define FILE_BEGIN 0
113 #define FILE_CURRENT 1
114 #define FILE_END 2
115 #define INVALID_SET_FILE_POINTER ((DWORD)-1)
116 #define OF_READ 0
117 #define OF_READWRITE 2
118 #define OF_WRITE 1
119 #define OF_SHARE_COMPAT 0
120 #define OF_SHARE_DENY_NONE 64
121 #define OF_SHARE_DENY_READ 48
122 #define OF_SHARE_DENY_WRITE 32
123 #define OF_SHARE_EXCLUSIVE 16
124 #define OF_CANCEL 2048
125 #define OF_CREATE 4096
126 #define OF_DELETE 512
127 #define OF_EXIST 16384
128 #define OF_PARSE 256
129 #define OF_PROMPT 8192
130 #define OF_REOPEN 32768
131 #define OF_VERIFY 1024
132 #define NMPWAIT_NOWAIT 1
133 #define NMPWAIT_WAIT_FOREVER ((DWORD)-1)
134 #define NMPWAIT_USE_DEFAULT_WAIT 0
135 #define CE_BREAK 16
136 #define CE_DNS 2048
137 #define CE_FRAME 8
138 #define CE_IOE 1024
139 #define CE_MODE 32768
140 #define CE_OOP 4096
141 #define CE_OVERRUN 2
142 #define CE_PTO 512
143 #define CE_RXOVER 1
144 #define CE_RXPARITY 4
145 #define CE_TXFULL 256
146 #define PROGRESS_CONTINUE 0
147 #define PROGRESS_CANCEL 1
148 #define PROGRESS_STOP 2
149 #define PROGRESS_QUIET 3
150 #define CALLBACK_CHUNK_FINISHED 0
151 #define CALLBACK_STREAM_SWITCH 1
152 #define OFS_MAXPATHNAME 128
153 #define FILE_MAP_COPY SECTION_QUERY
154 #define FILE_MAP_WRITE SECTION_MAP_WRITE
155 #define FILE_MAP_READ SECTION_MAP_READ
156 #define FILE_MAP_ALL_ACCESS SECTION_ALL_ACCESS
157 #define FILE_MAP_EXECUTE SECTION_MAP_EXECUTE_EXPLICIT
158 #define MUTEX_ALL_ACCESS 0x1f0001
159 #define MUTEX_MODIFY_STATE 1
160 #define SEMAPHORE_ALL_ACCESS 0x1f0003
161 #define SEMAPHORE_MODIFY_STATE 2
162 #define EVENT_ALL_ACCESS 0x1f0003
163 #define EVENT_MODIFY_STATE 2
164 #define PIPE_ACCESS_DUPLEX 3
165 #define PIPE_ACCESS_INBOUND 1
166 #define PIPE_ACCESS_OUTBOUND 2
167 #define PIPE_TYPE_BYTE 0
168 #define PIPE_TYPE_MESSAGE 4
169 #define PIPE_READMODE_BYTE 0
170 #define PIPE_READMODE_MESSAGE 2
171 #define PIPE_WAIT 0
172 #define PIPE_NOWAIT 1
173 #define PIPE_CLIENT_END 0
174 #define PIPE_SERVER_END 1
175 #define PIPE_UNLIMITED_INSTANCES 255
176 #define DEBUG_PROCESS 0x00000001
177 #define DEBUG_ONLY_THIS_PROCESS 0x00000002
178 #define CREATE_SUSPENDED 0x00000004
179 #define DETACHED_PROCESS 0x00000008
180 #define CREATE_NEW_CONSOLE 0x00000010
181 #define NORMAL_PRIORITY_CLASS 0x00000020
182 #define IDLE_PRIORITY_CLASS 0x00000040
183 #define HIGH_PRIORITY_CLASS 0x00000080
184 #define REALTIME_PRIORITY_CLASS 0x00000100
185 #define CREATE_NEW_PROCESS_GROUP 0x00000200
186 #define CREATE_UNICODE_ENVIRONMENT 0x00000400
187 #define CREATE_SEPARATE_WOW_VDM 0x00000800
188 #define CREATE_SHARED_WOW_VDM 0x00001000
189 #define CREATE_FORCEDOS 0x00002000
190 #define BELOW_NORMAL_PRIORITY_CLASS 0x00004000
191 #define ABOVE_NORMAL_PRIORITY_CLASS 0x00008000
192 #define CREATE_BREAKAWAY_FROM_JOB 0x01000000
193 #define CREATE_PRESERVE_CODE_AUTHZ_LEVEL 0x02000000
194 #define CREATE_DEFAULT_ERROR_MODE 0x04000000
195 #define CREATE_NO_WINDOW 0x08000000
196 #define PROFILE_USER 0x10000000
197 #define PROFILE_KERNEL 0x20000000
198 #define PROFILE_SERVER 0x40000000
199 #define CREATE_NEW 1
200 #define CREATE_ALWAYS 2
201 #define OPEN_EXISTING 3
202 #define OPEN_ALWAYS 4
203 #define TRUNCATE_EXISTING 5
204 #define COPY_FILE_ALLOW_DECRYPTED_DESTINATION 0x00000008
205 #define COPY_FILE_FAIL_IF_EXISTS 0x00000001
206 #define COPY_FILE_RESTARTABLE 0x00000002
207 #define COPY_FILE_OPEN_SOURCE_FOR_WRITE 0x00000004
208 #define FILE_FLAG_WRITE_THROUGH 0x80000000
209 #define FILE_FLAG_OVERLAPPED 1073741824
210 #define FILE_FLAG_NO_BUFFERING 536870912
211 #define FILE_FLAG_RANDOM_ACCESS 268435456
212 #define FILE_FLAG_SEQUENTIAL_SCAN 134217728
213 #define FILE_FLAG_DELETE_ON_CLOSE 67108864
214 #define FILE_FLAG_BACKUP_SEMANTICS 33554432
215 #define FILE_FLAG_POSIX_SEMANTICS 16777216
216 #define FILE_FLAG_OPEN_REPARSE_POINT 2097152
217 #define FILE_FLAG_OPEN_NO_RECALL 1048576
218 #if (_WIN32_WINNT >= 0x0500)
219 #define FILE_FLAG_FIRST_PIPE_INSTANCE 524288
220 #endif
221 #define CLRDTR 6
222 #define CLRRTS 4
223 #define SETDTR 5
224 #define SETRTS 3
225 #define SETXOFF 1
226 #define SETXON 2
227 #define RESETDEV 7
228 #define SETBREAK 8
229 #define CLRBREAK 9
230 #define STILL_ACTIVE 0x103
231 #define FIND_FIRST_EX_CASE_SENSITIVE 1
232 #define FIND_FIRST_EX_LARGE_FETCH 2
233 #define SCS_32BIT_BINARY 0
234 #define SCS_64BIT_BINARY 6
235 #define SCS_DOS_BINARY 1
236 #define SCS_OS216_BINARY 5
237 #define SCS_PIF_BINARY 3
238 #define SCS_POSIX_BINARY 4
239 #define SCS_WOW_BINARY 2
240 #define MAX_COMPUTERNAME_LENGTH 15
241 #define HW_PROFILE_GUIDLEN 39
242 #define MAX_PROFILE_LEN 80
243 #define DOCKINFO_UNDOCKED 1
244 #define DOCKINFO_DOCKED 2
245 #define DOCKINFO_USER_SUPPLIED 4
246 #define DOCKINFO_USER_UNDOCKED (DOCKINFO_USER_SUPPLIED|DOCKINFO_UNDOCKED)
247 #define DOCKINFO_USER_DOCKED (DOCKINFO_USER_SUPPLIED|DOCKINFO_DOCKED)
248 #define DRIVE_REMOVABLE 2
249 #define DRIVE_FIXED 3
250 #define DRIVE_REMOTE 4
251 #define DRIVE_CDROM 5
252 #define DRIVE_RAMDISK 6
253 #define DRIVE_UNKNOWN 0
254 #define DRIVE_NO_ROOT_DIR 1
255 #define FILE_TYPE_UNKNOWN 0
256 #define FILE_TYPE_DISK 1
257 #define FILE_TYPE_CHAR 2
258 #define FILE_TYPE_PIPE 3
259 #define FILE_TYPE_REMOTE 0x8000
260 /* also in ddk/ntapi.h */
261 #define HANDLE_FLAG_INHERIT 0x01
262 #define HANDLE_FLAG_PROTECT_FROM_CLOSE 0x02
263 /* end ntapi.h */
264 #define STD_INPUT_HANDLE (DWORD)(0xfffffff6)
265 #define STD_OUTPUT_HANDLE (DWORD)(0xfffffff5)
266 #define STD_ERROR_HANDLE (DWORD)(0xfffffff4)
267 #define INVALID_HANDLE_VALUE (HANDLE)(-1)
268 #define GET_TAPE_MEDIA_INFORMATION 0
269 #define GET_TAPE_DRIVE_INFORMATION 1
270 #define SET_TAPE_MEDIA_INFORMATION 0
271 #define SET_TAPE_DRIVE_INFORMATION 1
272 #define THREAD_PRIORITY_ABOVE_NORMAL 1
273 #define THREAD_PRIORITY_BELOW_NORMAL (-1)
274 #define THREAD_PRIORITY_HIGHEST 2
275 #define THREAD_PRIORITY_IDLE (-15)
276 #define THREAD_PRIORITY_LOWEST (-2)
277 #define THREAD_PRIORITY_NORMAL 0
278 #define THREAD_PRIORITY_TIME_CRITICAL 15
279 #define THREAD_PRIORITY_ERROR_RETURN 2147483647
280 #define TIME_ZONE_ID_UNKNOWN 0
281 #define TIME_ZONE_ID_STANDARD 1
282 #define TIME_ZONE_ID_DAYLIGHT 2
283 #define TIME_ZONE_ID_INVALID 0xFFFFFFFF
284 #define FS_CASE_IS_PRESERVED 2
285 #define FS_CASE_SENSITIVE 1
286 #define FS_UNICODE_STORED_ON_DISK 4
287 #define FS_PERSISTENT_ACLS 8
288 #define FS_FILE_COMPRESSION 16
289 #define FS_VOL_IS_COMPRESSED 32768
290 #define GMEM_FIXED 0
291 #define GMEM_MOVEABLE 2
292 #define GMEM_MODIFY 128
293 #define GPTR 64
294 #define GHND 66
295 #define GMEM_DDESHARE 8192
296 #define GMEM_DISCARDABLE 256
297 #define GMEM_LOWER 4096
298 #define GMEM_NOCOMPACT 16
299 #define GMEM_NODISCARD 32
300 #define GMEM_NOT_BANKED 4096
301 #define GMEM_NOTIFY 16384
302 #define GMEM_SHARE 8192
303 #define GMEM_ZEROINIT 64
304 #define GMEM_DISCARDED 16384
305 #define GMEM_INVALID_HANDLE 32768
306 #define GMEM_LOCKCOUNT 255
307 #define GMEM_VALID_FLAGS 32626
308 #define EXCEPTION_ACCESS_VIOLATION ((DWORD)0xC0000005)
309 #define EXCEPTION_DATATYPE_MISALIGNMENT ((DWORD)0x80000002)
310 #define EXCEPTION_BREAKPOINT ((DWORD)0x80000003)
311 #define EXCEPTION_SINGLE_STEP ((DWORD)0x80000004)
312 #define EXCEPTION_ARRAY_BOUNDS_EXCEEDED ((DWORD)0xC000008C)
313 #define EXCEPTION_FLT_DENORMAL_OPERAND ((DWORD)0xC000008D)
314 #define EXCEPTION_FLT_DIVIDE_BY_ZERO ((DWORD)0xC000008E)
315 #define EXCEPTION_FLT_INEXACT_RESULT ((DWORD)0xC000008F)
316 #define EXCEPTION_FLT_INVALID_OPERATION ((DWORD)0xC0000090)
317 #define EXCEPTION_FLT_OVERFLOW ((DWORD)0xC0000091)
318 #define EXCEPTION_FLT_STACK_CHECK ((DWORD)0xC0000092)
319 #define EXCEPTION_FLT_UNDERFLOW ((DWORD)0xC0000093)
320 #define EXCEPTION_INT_DIVIDE_BY_ZERO ((DWORD)0xC0000094)
321 #define EXCEPTION_INT_OVERFLOW ((DWORD)0xC0000095)
322 #define EXCEPTION_PRIV_INSTRUCTION ((DWORD)0xC0000096)
323 #define EXCEPTION_IN_PAGE_ERROR ((DWORD)0xC0000006)
324 #define EXCEPTION_ILLEGAL_INSTRUCTION ((DWORD)0xC000001D)
325 #define EXCEPTION_NONCONTINUABLE_EXCEPTION ((DWORD)0xC0000025)
326 #define EXCEPTION_STACK_OVERFLOW ((DWORD)0xC00000FD)
327 #define EXCEPTION_INVALID_DISPOSITION ((DWORD)0xC0000026)
328 #define EXCEPTION_GUARD_PAGE ((DWORD)0x80000001)
329 #define EXCEPTION_INVALID_HANDLE ((DWORD)0xC0000008L)
330 #define CONTROL_C_EXIT ((DWORD)0xC000013A)
331 #define PROCESS_HEAP_REGION 1
332 #define PROCESS_HEAP_UNCOMMITTED_RANGE 2
333 #define PROCESS_HEAP_ENTRY_BUSY 4
334 #define PROCESS_HEAP_ENTRY_MOVEABLE 16
335 #define PROCESS_HEAP_ENTRY_DDESHARE 32
336 
337 // LoadLibraryEx() dwFlags.
338 #define DONT_RESOLVE_DLL_REFERENCES 0x00000001
339 #define LOAD_LIBRARY_AS_DATAFILE 0x00000002
340 // #define LOAD_PACKAGED_LIBRARY 0x00000004 // Internal use only.
341 #define LOAD_WITH_ALTERED_SEARCH_PATH 0x00000008
342 #define LOAD_IGNORE_CODE_AUTHZ_LEVEL 0x00000010
343 #if (_WIN32_WINNT >= _WIN32_WINNT_VISTA)
344 #define LOAD_LIBRARY_AS_IMAGE_RESOURCE 0x00000020
345 #define LOAD_LIBRARY_AS_DATAFILE_EXCLUSIVE 0x00000040
346 #define LOAD_LIBRARY_REQUIRE_SIGNED_TARGET 0x00000080
347 #define LOAD_LIBRARY_SEARCH_DLL_LOAD_DIR 0x00000100
348 #define LOAD_LIBRARY_SEARCH_APPLICATION_DIR 0x00000200
349 #define LOAD_LIBRARY_SEARCH_USER_DIRS 0x00000400
350 #define LOAD_LIBRARY_SEARCH_SYSTEM32 0x00000800
351 #define LOAD_LIBRARY_SEARCH_DEFAULT_DIRS 0x00001000
352 #endif // _WIN32_WINNT_VISTA
353 #if (NTDDI_VERSION >= NTDDI_WIN10_RS1)
354 #define LOAD_LIBRARY_SAFE_CURRENT_DIRS 0x00002000
355 #define LOAD_LIBRARY_SEARCH_SYSTEM32_NO_FORWARDER 0x00004000
356 #else // NTDDI_WIN10_RS1
357 #if (_WIN32_WINNT >= _WIN32_WINNT_VISTA)
358 #define LOAD_LIBRARY_SEARCH_SYSTEM32_NO_FORWARDER LOAD_LIBRARY_SEARCH_SYSTEM32
359 #endif // _WIN32_WINNT_VISTA
360 #endif // NTDDI_WIN10_RS1
361 #if (NTDDI_VERSION >= NTDDI_WIN10_RS2)
362 #define LOAD_LIBRARY_OS_INTEGRITY_CONTINUITY 0x00008000
363 #endif // NTDDI_WIN10_RS2
364 
365 #define LMEM_FIXED 0
366 #define LMEM_MOVEABLE 2
367 #define LMEM_NONZEROLHND 2
368 #define LMEM_NONZEROLPTR 0
369 #define LMEM_DISCARDABLE 3840
370 #define LMEM_NOCOMPACT 16
371 #define LMEM_NODISCARD 32
372 #define LMEM_ZEROINIT 64
373 #define LMEM_DISCARDED 16384
374 #define LMEM_MODIFY 128
375 #define LMEM_INVALID_HANDLE 32768
376 #define LMEM_LOCKCOUNT 255
377 #define LMEM_VALID_FLAGS 0x0F72
378 #define LPTR 64
379 #define LHND 66
380 #define NONZEROLHND 2
381 #define NONZEROLPTR 0
382 #define LOCKFILE_FAIL_IMMEDIATELY 1
383 #define LOCKFILE_EXCLUSIVE_LOCK 2
384 #define LOGON32_PROVIDER_DEFAULT 0
385 #define LOGON32_PROVIDER_WINNT35 1
386 #define LOGON32_PROVIDER_WINNT40 2
387 #define LOGON32_PROVIDER_WINNT50 3
388 #define LOGON32_LOGON_INTERACTIVE 2
389 #define LOGON32_LOGON_NETWORK 3
390 #define LOGON32_LOGON_BATCH 4
391 #define LOGON32_LOGON_SERVICE 5
392 #define LOGON32_LOGON_UNLOCK 7
393 #define LOGON32_LOGON_NETWORK_CLEARTEXT 8
394 #define LOGON32_LOGON_NEW_CREDENTIALS 9
395 #define MOVEFILE_REPLACE_EXISTING 1
396 #define MOVEFILE_COPY_ALLOWED 2
397 #define MOVEFILE_DELAY_UNTIL_REBOOT 4
398 #define MOVEFILE_WRITE_THROUGH 8
399 #define MOVEFILE_CREATE_HARDLINK 16
400 #define MOVEFILE_FAIL_IF_NOT_TRACKABLE 32
401 #define MAXIMUM_WAIT_OBJECTS 64
402 #define MAXIMUM_SUSPEND_COUNT 0x7F
403 #define WAIT_OBJECT_0 0
404 #define WAIT_ABANDONED_0 128
405 #ifndef WAIT_TIMEOUT /* also in winerror.h */
406 #define WAIT_TIMEOUT 258
407 #endif
408 #define WAIT_IO_COMPLETION 0xC0
409 #define WAIT_ABANDONED 128
410 #define WAIT_FAILED ((DWORD)0xFFFFFFFF)
411 #define PURGE_TXABORT 1
412 #define PURGE_RXABORT 2
413 #define PURGE_TXCLEAR 4
414 #define PURGE_RXCLEAR 8
415 
416 #define FORMAT_MESSAGE_ALLOCATE_BUFFER 256
417 #define FORMAT_MESSAGE_IGNORE_INSERTS 512
418 #define FORMAT_MESSAGE_FROM_STRING 1024
419 #define FORMAT_MESSAGE_FROM_HMODULE 2048
420 #define FORMAT_MESSAGE_FROM_SYSTEM 4096
421 #define FORMAT_MESSAGE_ARGUMENT_ARRAY 8192
422 #define FORMAT_MESSAGE_MAX_WIDTH_MASK 255
423 #define EV_BREAK 64
424 #define EV_CTS 8
425 #define EV_DSR 16
426 #define EV_ERR 128
427 #define EV_EVENT1 2048
428 #define EV_EVENT2 4096
429 #define EV_PERR 512
430 #define EV_RING 256
431 #define EV_RLSD 32
432 #define EV_RX80FULL 1024
433 #define EV_RXCHAR 1
434 #define EV_RXFLAG 2
435 #define EV_TXEMPTY 4
436 /* also in ddk/ntapi.h */
437 #define SEM_FAILCRITICALERRORS 0x0001
438 #define SEM_NOGPFAULTERRORBOX 0x0002
439 #define SEM_NOALIGNMENTFAULTEXCEPT 0x0004
440 #define SEM_NOOPENFILEERRORBOX 0x8000
441 /* end ntapi.h */
442 #define SLE_ERROR 1
443 #define SLE_MINORERROR 2
444 #define SLE_WARNING 3
445 #define SHUTDOWN_NORETRY 1
446 #define MAXINTATOM 0xC000
447 #define INVALID_ATOM ((ATOM)0)
448 #define IGNORE 0
449 #define INFINITE 0xFFFFFFFF
450 #define NOPARITY 0
451 #define ODDPARITY 1
452 #define EVENPARITY 2
453 #define MARKPARITY 3
454 #define SPACEPARITY 4
455 #define ONESTOPBIT 0
456 #define ONE5STOPBITS 1
457 #define TWOSTOPBITS 2
458 #define CBR_110 110
459 #define CBR_300 300
460 #define CBR_600 600
461 #define CBR_1200 1200
462 #define CBR_2400 2400
463 #define CBR_4800 4800
464 #define CBR_9600 9600
465 #define CBR_14400 14400
466 #define CBR_19200 19200
467 #define CBR_38400 38400
468 #define CBR_56000 56000
469 #define CBR_57600 57600
470 #define CBR_115200 115200
471 #define CBR_128000 128000
472 #define CBR_256000 256000
473 #define BACKUP_INVALID 0
474 #define BACKUP_DATA 1
475 #define BACKUP_EA_DATA 2
476 #define BACKUP_SECURITY_DATA 3
477 #define BACKUP_ALTERNATE_DATA 4
478 #define BACKUP_LINK 5
479 #define BACKUP_PROPERTY_DATA 6
480 #define BACKUP_OBJECT_ID 7
481 #define BACKUP_REPARSE_DATA 8
482 #define BACKUP_SPARSE_BLOCK 9
483 #define STREAM_NORMAL_ATTRIBUTE 0
484 #define STREAM_MODIFIED_WHEN_READ 1
485 #define STREAM_CONTAINS_SECURITY 2
486 #define STREAM_CONTAINS_PROPERTIES 4
487 
488 #define STARTF_USESHOWWINDOW 0x00000001
489 #define STARTF_USESIZE 0x00000002
490 #define STARTF_USEPOSITION 0x00000004
491 #define STARTF_USECOUNTCHARS 0x00000008
492 #define STARTF_USEFILLATTRIBUTE 0x00000010
493 #define STARTF_RUNFULLSCREEN 0x00000020
494 #define STARTF_FORCEONFEEDBACK 0x00000040
495 #define STARTF_FORCEOFFFEEDBACK 0x00000080
496 #define STARTF_USESTDHANDLES 0x00000100
497 #if (WINVER >= 0x400)
498 #define STARTF_USEHOTKEY 0x00000200
499 #define STARTF_TITLEISLINKNAME 0x00000800
500 #define STARTF_TITLEISAPPID 0x00001000
501 #define STARTF_PREVENTPINNING 0x00002000
502 #endif /* (WINVER >= 0x400) */
503 
504 #define TC_NORMAL 0
505 #define TC_HARDERR 1
506 #define TC_GP_TRAP 2
507 #define TC_SIGNAL 3
508 #define AC_LINE_OFFLINE 0
509 #define AC_LINE_ONLINE 1
510 #define AC_LINE_BACKUP_POWER 2
511 #define AC_LINE_UNKNOWN 255
512 #define BATTERY_FLAG_HIGH 1
513 #define BATTERY_FLAG_LOW 2
514 #define BATTERY_FLAG_CRITICAL 4
515 #define BATTERY_FLAG_CHARGING 8
516 #define BATTERY_FLAG_NO_BATTERY 128
517 #define BATTERY_FLAG_UNKNOWN 255
518 #define BATTERY_PERCENTAGE_UNKNOWN 255
519 #define BATTERY_LIFE_UNKNOWN 0xFFFFFFFF
520 #define DDD_RAW_TARGET_PATH 1
521 #define DDD_REMOVE_DEFINITION 2
522 #define DDD_EXACT_MATCH_ON_REMOVE 4
523 #define DDD_NO_BROADCAST_SYSTEM 8
524 #define DDD_LUID_BROADCAST_DRIVE 16
525 #define HINSTANCE_ERROR 32
526 #define MS_CTS_ON 16
527 #define MS_DSR_ON 32
528 #define MS_RING_ON 64
529 #define MS_RLSD_ON 128
530 #define DTR_CONTROL_DISABLE 0
531 #define DTR_CONTROL_ENABLE 1
532 #define DTR_CONTROL_HANDSHAKE 2
533 #define RTS_CONTROL_DISABLE 0
534 #define RTS_CONTROL_ENABLE 1
535 #define RTS_CONTROL_HANDSHAKE 2
536 #define RTS_CONTROL_TOGGLE 3
537 #define SECURITY_ANONYMOUS (SecurityAnonymous<<16)
538 #define SECURITY_IDENTIFICATION (SecurityIdentification<<16)
539 #define SECURITY_IMPERSONATION (SecurityImpersonation<<16)
540 #define SECURITY_DELEGATION (SecurityDelegation<<16)
541 #define SECURITY_CONTEXT_TRACKING 0x40000
542 #define SECURITY_EFFECTIVE_ONLY 0x80000
543 #define SECURITY_SQOS_PRESENT 0x100000
544 #define SECURITY_VALID_SQOS_FLAGS 0x1F0000
545 #define INVALID_FILE_SIZE 0xFFFFFFFF
546 #define TLS_OUT_OF_INDEXES (DWORD)0xFFFFFFFF
547 #if (_WIN32_WINNT >= 0x0501)
548 #define ACTCTX_FLAG_PROCESSOR_ARCHITECTURE_VALID 0x00000001
549 #define ACTCTX_FLAG_LANGID_VALID 0x00000002
550 #define ACTCTX_FLAG_ASSEMBLY_DIRECTORY_VALID 0x00000004
551 #define ACTCTX_FLAG_RESOURCE_NAME_VALID 0x00000008
552 #define ACTCTX_FLAG_SET_PROCESS_DEFAULT 0x00000010
553 #define ACTCTX_FLAG_APPLICATION_NAME_VALID 0x00000020
554 #define ACTCTX_FLAG_SOURCE_IS_ASSEMBLYREF 0x00000040
555 #define ACTCTX_FLAG_HMODULE_VALID 0x00000080
556 #define DEACTIVATE_ACTCTX_FLAG_FORCE_EARLY_DEACTIVATION 0x00000001
557 #define FIND_ACTCTX_SECTION_KEY_RETURN_HACTCTX 0x00000001
558 #define QUERY_ACTCTX_FLAG_USE_ACTIVE_ACTCTX 0x00000004
559 #define QUERY_ACTCTX_FLAG_ACTCTX_IS_HMODULE 0x00000008
560 #define QUERY_ACTCTX_FLAG_ACTCTX_IS_ADDRESS 0x00000010
561 #define QUERY_ACTCTX_FLAG_NO_ADDREF 0x80000000
562 #if (_WIN32_WINNT >= 0x0600)
563 #define SYMBOLIC_LINK_FLAG_DIRECTORY 0x1
564 #endif
565 #endif /* (_WIN32_WINNT >= 0x0501) */
566 #if (_WIN32_WINNT >= 0x0500)
567 #define REPLACEFILE_WRITE_THROUGH 0x00000001
568 #define REPLACEFILE_IGNORE_MERGE_ERRORS 0x00000002
569 #endif /* (_WIN32_WINNT >= 0x0500) */
570 #if (_WIN32_WINNT >= 0x0400)
571 #define FIBER_FLAG_FLOAT_SWITCH 0x1
572 #endif
573 #define FLS_OUT_OF_INDEXES 0xFFFFFFFF
574 #define STACK_SIZE_PARAM_IS_A_RESERVATION 0x00010000
575 #if (_WIN32_WINNT >= 0x0600)
576 #define MAX_RESTART_CMD_LINE 0x800
577 #define RESTART_CYCLICAL 0x1
578 #define RESTART_NOTIFY_SOLUTION 0x2
579 #define RESTART_NOTIFY_FAULT 0x4
580 #define VOLUME_NAME_DOS 0x0
581 #define VOLUME_NAME_GUID 0x1
582 #define VOLUME_NAME_NT 0x2
583 #define VOLUME_NAME_NONE 0x4
584 #define FILE_NAME_NORMALIZED 0x0
585 #define FILE_NAME_OPENED 0x8
586 #define FILE_SKIP_COMPLETION_PORT_ON_SUCCESS 0x1
587 #define FILE_SKIP_SET_EVENT_ON_HANDLE 0x2
588 #endif
589 #if (_WIN32_WINNT >= 0x0500)
590 #define GET_MODULE_HANDLE_EX_FLAG_PIN 0x1
591 #define GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT 0x2
592 #define GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS 0x4
593 #endif
594 #if (_WIN32_WINNT >= 0x0600)
595 #define CREATE_EVENT_MANUAL_RESET 0x1
596 #define CREATE_EVENT_INITIAL_SET 0x2
597 #define CREATE_MUTEX_INITIAL_OWNER 0x1
598 #define CREATE_WAITABLE_TIMER_MANUAL_RESET 0x1
599 #define SRWLOCK_INIT RTL_SRWLOCK_INIT
600 #define CONDITION_VARIABLE_INIT RTL_CONDITION_VARIABLE_INIT
601 #define CONDITION_VARIABLE_LOCKMODE_SHARED RTL_CONDITION_VARIABLE_LOCKMODE_SHARED
602 #endif
603 
604 #define BASE_SEARCH_PATH_ENABLE_SAFE_SEARCHMODE 0x00001
605 #define BASE_SEARCH_PATH_DISABLE_SAFE_SEARCHMODE 0x10000
606 #define BASE_SEARCH_PATH_PERMANENT 0x08000
607 #define BASE_SEARCH_PATH_INVALID_FLAGS (~0x18001)
608 
609 #define INIT_ONCE_STATIC_INIT RTL_RUN_ONCE_INIT
610 
611 #if (_WIN32_WINNT >= 0x0600)
612 #define PROCESS_DEP_ENABLE 0x00000001
613 #define PROCESS_DEP_DISABLE_ATL_THUNK_EMULATION 0x00000002
614 #endif
615 
616 #ifndef RC_INVOKED
617 
618 #ifndef _FILETIME_
619 #define _FILETIME_
620 typedef struct _FILETIME {
624 #endif
625 
638 
639 typedef struct _DCB {
662  char XonChar;
663  char XoffChar;
664  char ErrorChar;
665  char EofChar;
666  char EvtChar;
668 } DCB,*LPDCB;
669 
670 typedef struct _COMM_CONFIG {
680 
681 typedef struct _COMMPROP {
701 
702 typedef struct _COMMTIMEOUTS {
709 
710 typedef struct _COMSTAT {
721 } COMSTAT,*LPCOMSTAT;
722 
724 
737 
743 
744 typedef struct _EXCEPTION_DEBUG_INFO {
748 
749 typedef struct _EXIT_THREAD_DEBUG_INFO {
752 
753 typedef struct _EXIT_PROCESS_DEBUG_INFO {
756 
757 typedef struct _LOAD_DLL_DEBUG_INFO {
765 
766 typedef struct _UNLOAD_DLL_DEBUG_INFO {
769 
775 
776 typedef struct _RIP_INFO {
780 
781 typedef struct _DEBUG_EVENT {
785  union {
795  } u;
797 
798 #ifndef MIDL_PASS
802 #endif
803 
804 typedef struct _OVERLAPPED {
807  union {
808  struct {
811  } DUMMYSTRUCTNAME;
813  } DUMMYUNIONNAME;
816 
817 typedef struct _OVERLAPPED_ENTRY {
823 
824 typedef struct _STARTUPINFOA {
844 
845 typedef struct _STARTUPINFOW {
865 
866 typedef struct _PROCESS_INFORMATION {
872 
873 typedef struct _CRITICAL_SECTION_DEBUG {
880 //#ifdef __WINESRC__ //not all wine code is marked so
881  DWORD_PTR Spare[8/sizeof(DWORD_PTR)];/* in Wine they store a string here */
882 //#else
883  //WORD SpareWORD;
884 //#endif
886 
887 typedef struct _CRITICAL_SECTION {
895 
896 #ifndef _SYSTEMTIME_
897 #define _SYSTEMTIME_
898 typedef struct _SYSTEMTIME {
908 #endif /* _SYSTEMTIME_ */
909 #if (_WIN32_WINNT >= 0x0500)
911 #endif
920 typedef struct _WIN32_FIND_DATAA {
932 typedef struct _WIN32_FIND_DATAW {
944 
945 #if (_WIN32_WINNT >= 0x0501)
946 typedef enum _STREAM_INFO_LEVELS {
947  FindStreamInfoStandard
948 } STREAM_INFO_LEVELS;
949 
950 typedef struct _WIN32_FIND_STREAM_DATA {
951  LARGE_INTEGER StreamSize;
952  WCHAR cStreamName[MAX_PATH + 36];
953 } WIN32_FIND_STREAM_DATA, *PWIN32_FIND_STREAM_DATA;
954 #endif
955 
956 typedef struct _WIN32_STREAM_ID {
963 
964 #if (_WIN32_WINNT >= 0x0600)
965 
966 typedef enum _FILE_ID_TYPE {
967  FileIdType,
968  ObjectIdType,
969  ExtendedFileIdType,
970  MaximumFileIdType
971 } FILE_ID_TYPE, *PFILE_ID_TYPE;
972 
973 typedef struct _FILE_ID_DESCRIPTOR {
974  DWORD dwSize;
975  FILE_ID_TYPE Type;
976  union {
977  LARGE_INTEGER FileId;
978  GUID ObjectId;
979  } DUMMYUNIONNAME;
980 } FILE_ID_DESCRIPTOR, *LPFILE_ID_DESCRIPTOR;
981 
982 typedef enum _FILE_INFO_BY_HANDLE_CLASS {
983  FileBasicInfo,
984  FileStandardInfo,
985  FileNameInfo,
986  FileRenameInfo,
987  FileDispositionInfo,
988  FileAllocationInfo,
989  FileEndOfFileInfo,
990  FileStreamInfo,
991  FileCompressionInfo,
992  FileAttributeTagInfo,
993  FileIdBothDirectoryInfo,
994  FileIdBothDirectoryRestartInfo,
995  FileIoPriorityHintInfo,
996  FileRemoteProtocolInfo,
997  FileFullDirectoryInfo,
998  FileFullDirectoryRestartInfo,
999  FileStorageInfo,
1000  FileAlignmentInfo,
1001  FileIdInfo,
1002  FileIdExtdDirectoryInfo,
1003  FileIdExtdDirectoryRestartInfo,
1004  MaximumFileInfoByHandlesClass
1005 } FILE_INFO_BY_HANDLE_CLASS, *PFILE_INFO_BY_HANDLE_CLASS;
1006 
1007 typedef struct _FILE_ID_BOTH_DIR_INFO {
1008  DWORD NextEntryOffset;
1009  DWORD FileIndex;
1010  LARGE_INTEGER CreationTime;
1011  LARGE_INTEGER LastAccessTime;
1012  LARGE_INTEGER LastWriteTime;
1013  LARGE_INTEGER ChangeTime;
1014  LARGE_INTEGER EndOfFile;
1018  DWORD EaSize;
1019  CCHAR ShortNameLength;
1020  WCHAR ShortName[12];
1021  LARGE_INTEGER FileId;
1022  WCHAR FileName[1];
1023 } FILE_ID_BOTH_DIR_INFO, *PFILE_ID_BOTH_DIR_INFO;
1024 
1025 typedef struct _FILE_BASIC_INFO {
1026  LARGE_INTEGER CreationTime;
1027  LARGE_INTEGER LastAccessTime;
1028  LARGE_INTEGER LastWriteTime;
1029  LARGE_INTEGER ChangeTime;
1031 } FILE_BASIC_INFO, *PFILE_BASIC_INFO;
1032 
1033 typedef struct _FILE_STANDARD_INFO {
1035  LARGE_INTEGER EndOfFile;
1036  DWORD NumberOfLinks;
1037  BOOLEAN DeletePending;
1039 } FILE_STANDARD_INFO, *PFILE_STANDARD_INFO;
1040 
1041 typedef struct _FILE_NAME_INFO {
1043  WCHAR FileName[1];
1044 } FILE_NAME_INFO, *PFILE_NAME_INFO;
1045 
1046 typedef enum _PRIORITY_HINT {
1047  IoPriorityHintVeryLow,
1048  IoPriorityHintLow,
1049  IoPriorityHintNormal,
1050  MaximumIoPriorityHintType
1051 } PRIORITY_HINT;
1052 
1053 typedef struct _FILE_IO_PRIORITY_HINT_INFO {
1054  PRIORITY_HINT PriorityHint;
1055 } FILE_IO_PRIORITY_HINT_INFO;
1056 
1057 typedef struct _FILE_ALLOCATION_INFO {
1059 } FILE_ALLOCATION_INFO, *PFILE_ALLOCATION_INFO;
1060 
1061 typedef struct _FILE_DISPOSITION_INFO {
1063 } FILE_DISPOSITION_INFO, *PFILE_DISPOSITION_INFO;
1064 
1065 typedef struct _FILE_END_OF_FILE_INFO {
1066  LARGE_INTEGER EndOfFile;
1067 } FILE_END_OF_FILE_INFO, *PFILE_END_OF_FILE_INFO;
1068 
1069 typedef struct _FILE_RENAME_INFO {
1070  BOOLEAN ReplaceIfExists;
1073  WCHAR FileName[1];
1074 } FILE_RENAME_INFO, *PFILE_RENAME_INFO;
1075 
1076 typedef struct _FILE_ATTRIBUTE_TAG_INFO {
1078  DWORD ReparseTag;
1079 } FILE_ATTRIBUTE_TAG_INFO, *PFILE_ATTRIBUTE_TAG_INFO;
1080 
1081 typedef struct _FILE_COMPRESSION_INFO {
1082  LARGE_INTEGER CompressedFileSize;
1083  WORD CompressionFormat;
1084  UCHAR CompressionUnitShift;
1085  UCHAR ChunkShift;
1086  UCHAR ClusterShift;
1087  UCHAR Reserved[3];
1088 } FILE_COMPRESSION_INFO, *PFILE_COMPRESSION_INFO;
1089 
1090 typedef struct _FILE_REMOTE_PROTOCOL_INFO {
1091  USHORT StructureVersion;
1092  USHORT StructureSize;
1093  ULONG Protocol;
1094  USHORT ProtocolMajorVersion;
1095  USHORT ProtocolMinorVersion;
1096  USHORT ProtocolRevision;
1097  USHORT Reserved;
1098  ULONG Flags;
1099  struct {
1100  ULONG Reserved[8];
1101  } GenericReserved;
1102  struct {
1103  ULONG Reserved[16];
1104  } ProtocolSpecificReserved;
1105 } FILE_REMOTE_PROTOCOL_INFO, *PFILE_REMOTE_PROTOCOL_INFO;
1106 
1107 #endif
1108 
1109 typedef enum _FINDEX_INFO_LEVELS {
1114 
1115 typedef enum _FINDEX_SEARCH_OPS {
1121 
1122 typedef struct tagHW_PROFILE_INFOA {
1127 
1128 typedef struct tagHW_PROFILE_INFOW {
1133 
1134 /* Event Logging */
1135 
1136 #define EVENTLOG_FULL_INFO 0
1137 
1141 
1146 
1147 typedef struct _SYSTEM_INFO {
1148  _ANONYMOUS_UNION union {
1150  _ANONYMOUS_STRUCT struct {
1153  } DUMMYSTRUCTNAME;
1154  } DUMMYUNIONNAME;
1165 
1166 typedef struct _SYSTEM_POWER_STATUS {
1174 
1186 
1187 typedef struct _TIME_ZONE_INFORMATION {
1196 
1197 typedef struct _MEMORYSTATUS {
1207 
1208 #if (_WIN32_WINNT >= 0x0500)
1209 typedef struct _MEMORYSTATUSEX {
1210  DWORD dwLength;
1211  DWORD dwMemoryLoad;
1212  DWORDLONG ullTotalPhys;
1213  DWORDLONG ullAvailPhys;
1214  DWORDLONG ullTotalPageFile;
1215  DWORDLONG ullAvailPageFile;
1216  DWORDLONG ullTotalVirtual;
1217  DWORDLONG ullAvailVirtual;
1218  DWORDLONG ullAvailExtendedVirtual;
1219 } MEMORYSTATUSEX, *LPMEMORYSTATUSEX;
1220 #endif
1221 
1222 #ifndef _LDT_ENTRY_DEFINED
1223 #define _LDT_ENTRY_DEFINED
1224 typedef struct _LDT_ENTRY {
1225  WORD LimitLow;
1226  WORD BaseLow;
1227  union {
1228  struct {
1229  BYTE BaseMid;
1230  BYTE Flags1;
1231  BYTE Flags2;
1232  BYTE BaseHi;
1233  } Bytes;
1234  struct {
1235  DWORD BaseMid:8;
1236  DWORD Type:5;
1237  DWORD Dpl:2;
1238  DWORD Pres:1;
1239  DWORD LimitHi:4;
1240  DWORD Sys:1;
1241  DWORD Reserved_0:1;
1242  DWORD Default_Big:1;
1243  DWORD Granularity:1;
1244  DWORD BaseHi:8;
1245  } Bits;
1246  } HighWord;
1248 #endif
1249 
1250 typedef struct _PROCESS_HEAP_ENTRY {
1256  _ANONYMOUS_UNION union {
1257  struct {
1260  } Block;
1261  struct {
1266  } Region;
1267  } DUMMYUNIONNAME;
1269 
1270 typedef struct _OFSTRUCT {
1278 
1279 #if (_WIN32_WINNT >= 0x0501)
1280 typedef struct tagACTCTXA {
1281  ULONG cbSize;
1282  DWORD dwFlags;
1283  LPCSTR lpSource;
1284  USHORT wProcessorArchitecture;
1285  LANGID wLangId;
1286  LPCSTR lpAssemblyDirectory;
1287  LPCSTR lpResourceName;
1288  LPCSTR lpApplicationName;
1289  HMODULE hModule;
1290 } ACTCTXA,*PACTCTXA;
1291 typedef const ACTCTXA *PCACTCTXA;
1292 
1293 typedef struct tagACTCTXW {
1294  ULONG cbSize;
1295  DWORD dwFlags;
1296  LPCWSTR lpSource;
1297  USHORT wProcessorArchitecture;
1298  LANGID wLangId;
1299  LPCWSTR lpAssemblyDirectory;
1300  LPCWSTR lpResourceName;
1301  LPCWSTR lpApplicationName;
1302  HMODULE hModule;
1303 } ACTCTXW,*PACTCTXW;
1304 typedef const ACTCTXW *PCACTCTXW;
1305 
1306 typedef struct tagACTCTX_SECTION_KEYED_DATA_2600 {
1307  ULONG cbSize;
1308  ULONG ulDataFormatVersion;
1309  PVOID lpData;
1310  ULONG ulLength;
1311  PVOID lpSectionGlobalData;
1312  ULONG ulSectionGlobalDataLength;
1313  PVOID lpSectionBase;
1314  ULONG ulSectionTotalLength;
1315  HANDLE hActCtx;
1316  ULONG ulAssemblyRosterIndex;
1317 } ACTCTX_SECTION_KEYED_DATA_2600, *PACTCTX_SECTION_KEYED_DATA_2600;
1318 typedef const ACTCTX_SECTION_KEYED_DATA_2600 *PCACTCTX_SECTION_KEYED_DATA_2600;
1319 
1320 typedef struct tagACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA {
1321  PVOID lpInformation;
1322  PVOID lpSectionBase;
1323  ULONG ulSectionLength;
1324  PVOID lpSectionGlobalDataBase;
1325  ULONG ulSectionGlobalDataLength;
1326 } ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA, *PACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA;
1327 typedef const ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA *PCACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA;
1328 
1329 typedef struct tagACTCTX_SECTION_KEYED_DATA {
1330  ULONG cbSize;
1331  ULONG ulDataFormatVersion;
1332  PVOID lpData;
1333  ULONG ulLength;
1334  PVOID lpSectionGlobalData;
1335  ULONG ulSectionGlobalDataLength;
1336  PVOID lpSectionBase;
1337  ULONG ulSectionTotalLength;
1338  HANDLE hActCtx;
1339  ULONG ulAssemblyRosterIndex;
1340  /* Non 2600 extra fields */
1341  ULONG ulFlags;
1342  ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA AssemblyMetadata;
1343 } ACTCTX_SECTION_KEYED_DATA,*PACTCTX_SECTION_KEYED_DATA;
1344 
1345 typedef const ACTCTX_SECTION_KEYED_DATA *PCACTCTX_SECTION_KEYED_DATA;
1346 
1347 typedef struct _ACTIVATION_CONTEXT_BASIC_INFORMATION {
1348  HANDLE hActCtx;
1349  DWORD dwFlags;
1350 } ACTIVATION_CONTEXT_BASIC_INFORMATION, *PACTIVATION_CONTEXT_BASIC_INFORMATION;
1351 typedef const struct _ACTIVATION_CONTEXT_BASIC_INFORMATION *PCACTIVATION_CONTEXT_BASIC_INFORMATION;
1352 
1353 typedef BOOL
1354 (WINAPI *PQUERYACTCTXW_FUNC)(
1355  _In_ DWORD dwFlags,
1356  _In_ HANDLE hActCtx,
1357  _In_opt_ PVOID pvSubInstance,
1358  _In_ ULONG ulInfoClass,
1359  _Out_writes_bytes_to_opt_(cbBuffer, *pcbWrittenOrRequired) PVOID pvBuffer,
1360  _In_ SIZE_T cbBuffer,
1361  _Out_opt_ SIZE_T *pcbWrittenOrRequired);
1362 
1363 typedef enum {
1364  LowMemoryResourceNotification ,
1365  HighMemoryResourceNotification
1366 } MEMORY_RESOURCE_NOTIFICATION_TYPE;
1367 #endif /* (_WIN32_WINNT >= 0x0501) */
1368 
1369 #if (_WIN32_WINNT >= 0x0500)
1370 typedef enum _COMPUTER_NAME_FORMAT {
1371  ComputerNameNetBIOS,
1372  ComputerNameDnsHostname,
1373  ComputerNameDnsDomain,
1374  ComputerNameDnsFullyQualified,
1375  ComputerNamePhysicalNetBIOS,
1376  ComputerNamePhysicalDnsHostname,
1377  ComputerNamePhysicalDnsDomain,
1378  ComputerNamePhysicalDnsFullyQualified,
1379  ComputerNameMax
1380 } COMPUTER_NAME_FORMAT;
1381 #endif /* (_WIN32_WINNT >= 0x0500) */
1382 
1383 #if (_WIN32_WINNT >= 0x0600)
1384 typedef RTL_SRWLOCK SRWLOCK, *PSRWLOCK;
1385 typedef RTL_CONDITION_VARIABLE CONDITION_VARIABLE, *PCONDITION_VARIABLE;
1386 #endif
1387 
1389 
1390 #define PROC_THREAD_ATTRIBUTE_NUMBER 0x0000ffff
1391 #define PROC_THREAD_ATTRIBUTE_THREAD 0x00010000
1392 #define PROC_THREAD_ATTRIBUTE_INPUT 0x00020000
1393 #define PROC_THREAD_ATTRIBUTE_ADDITIVE 0x00040000
1394 
1410 
1411 #define PROC_THREAD_ATTRIBUTE_IDEAL_PROCESSOR (ProcThreadAttributeIdealProcessor | PROC_THREAD_ATTRIBUTE_THREAD | PROC_THREAD_ATTRIBUTE_INPUT)
1412 #define PROC_THREAD_ATTRIBUTE_HANDLE_LIST (ProcThreadAttributeHandleList | PROC_THREAD_ATTRIBUTE_INPUT)
1413 #define PROC_THREAD_ATTRIBUTE_PARENT_PROCESS (ProcThreadAttributeParentProcess | PROC_THREAD_ATTRIBUTE_INPUT)
1414 
1415 typedef DWORD
1417  _In_reads_bytes_(ulLength) PBYTE pbData,
1418  _In_opt_ PVOID pvCallbackContext,
1419  _In_ ULONG ulLength);
1420 
1422 
1423 typedef VOID (WINAPI *PFIBER_START_ROUTINE)( LPVOID lpFiberParameter );
1425 
1438 #if (_WIN32_WINNT >= 0x0600)
1439 typedef DWORD (WINAPI *APPLICATION_RECOVERY_CALLBACK)(PVOID);
1440 #endif
1441 
1442 #ifdef WINE_NO_UNICODE_MACROS /* force using a cast */
1443 #define MAKEINTATOM(atom) ((ULONG_PTR)((WORD)(atom)))
1444 #else
1445 #define MAKEINTATOM(i) (LPTSTR)((ULONG_PTR)((WORD)(i)))
1446 #endif
1447 
1448 typedef DWORD
1450  _Out_writes_bytes_to_(*ulLength, *ulLength) PBYTE pbData,
1451  _In_opt_ PVOID pvCallbackContext,
1452  _Inout_ PULONG ulLength);
1453 
1454 /* Functions */
1455 #ifndef UNDER_CE
1457 #else
1459 #endif
1461 
1462 long
1463 WINAPI
1464 _hread(
1465  _In_ HFILE hFile,
1466  _Out_writes_bytes_to_(lBytes, return) LPVOID lpBuffer,
1467  _In_ long lBytes);
1468 
1469 long
1470 WINAPI
1471 _hwrite(
1472  _In_ HFILE hFile,
1474  _In_ long lBytes);
1475 
1480 
1481 UINT
1482 WINAPI
1483 _lread(
1484  _In_ HFILE hFile,
1485  _Out_writes_bytes_to_(uBytes, return) LPVOID lpBuffer,
1486  _In_ UINT uBytes);
1487 
1488 UINT
1489 WINAPI
1490 _lwrite(
1491  _In_ HFILE hFile,
1493  _In_ UINT uBytes);
1494 
1496 
1497 BOOL
1498 WINAPI
1500  _In_ LPCSTR SubsystemName,
1501  _In_opt_ LPVOID HandleId,
1507  _In_ BOOL ObjectCreation,
1510  _Out_ LPBOOL pfGenerateOnClose);
1511 
1513 #if (_WIN32_WINNT >= 0x0600)
1516 #endif
1517 #if (_WIN32_WINNT >= 0x0501)
1519 #endif
1522 #if (_WIN32_WINNT >= 0x0500)
1527 #endif
1532 #if (_WIN32_WINNT >= 0x0500)
1534 #endif
1535 #if (_WIN32_WINNT >= 0x0501)
1537 #endif
1538 #if (_WIN32_WINNT >= 0x0500)
1539 _Ret_maybenull_ PVOID WINAPI AddVectoredExceptionHandler(_In_ ULONG, _In_ PVECTORED_EXCEPTION_HANDLER);
1541 #endif
1553 
1554 BOOL
1555 WINAPI
1556 BackupRead(
1557  _In_ HANDLE hFile,
1558  _Out_writes_bytes_to_(nNumberOfBytesToRead, *lpNumberOfBytesRead) LPBYTE lpBuffer,
1559  _In_ DWORD nNumberOfBytesToRead,
1560  _Out_ LPDWORD lpNumberOfBytesRead,
1561  _In_ BOOL bAbort,
1562  _In_ BOOL bProcessSecurity,
1563  _Inout_ LPVOID *lpContext);
1564 
1566 
1567 BOOL
1568 WINAPI
1569 BackupWrite(
1570  _In_ HANDLE hFile,
1573  _Out_ LPDWORD lpNumberOfBytesWritten,
1574  _In_ BOOL bAbort,
1575  _In_ BOOL bProcessSecurity,
1576  _Inout_ LPVOID *lpContext);
1577 
1581 #if (_WIN32_WINNT >= 0x0500)
1583 #endif
1588 
1589 BOOL
1590 WINAPI
1592  _In_ LPCSTR lpNamedPipeName,
1593  _In_reads_bytes_opt_(nInBufferSize) LPVOID lpInBuffer,
1594  _In_ DWORD nInBufferSize,
1595  _Out_writes_bytes_to_opt_(nOutBufferSize, *lpBytesRead) LPVOID lpOutBuffer,
1596  _In_ DWORD nOutBufferSize,
1597  _Out_ LPDWORD lpBytesRead,
1598  _In_ DWORD nTimeOut);
1599 
1600 BOOL
1601 WINAPI
1603  _In_ LPCWSTR lpNamedPipeName,
1604  _In_reads_bytes_opt_(nInBufferSize) LPVOID lpInBuffer,
1605  _In_ DWORD nInBufferSize,
1606  _Out_writes_bytes_to_opt_(nOutBufferSize, *lpBytesRead) LPVOID lpOutBuffer,
1607  _In_ DWORD nOutBufferSize,
1608  _Out_ LPDWORD lpBytesRead,
1609  _In_ DWORD nTimeOut);
1610 
1613 #if (_WIN32_WINNT >= 0x0600)
1614 BOOL WINAPI CancelIoEx(HANDLE,LPOVERLAPPED);
1615 BOOL WINAPI CancelSynchronousIo(HANDLE);
1616 #endif
1618 
1619 #if (_WIN32_WINNT >= 0x0501)
1620 
1621 BOOL
1622 WINAPI
1624  _In_ LPCSTR lpName,
1625  _Out_writes_opt_(OemNameSize) LPSTR lpOemName,
1626  _In_ DWORD OemNameSize,
1627  _Out_opt_ PBOOL pbNameContainsSpaces,
1628  _Out_ PBOOL pbNameLegal);
1629 
1630 BOOL
1631 WINAPI
1634  _Out_writes_opt_(OemNameSize) LPSTR lpOemName,
1635  _In_ DWORD OemNameSize,
1636  _Out_opt_ PBOOL pbNameContainsSpaces,
1637  _Out_ PBOOL pbNameLegal);
1638 
1640 #endif
1641 
1653 #if (_WIN32_WINNT >= 0x0400)
1655 #endif
1658 BOOL WINAPI CopyFileW(_In_ LPCWSTR lpExistingFileName, _In_ LPCWSTR lpNewFileName, _In_ BOOL bFailIfExists);
1661 #define MoveMemory RtlMoveMemory
1662 #define CopyMemory RtlCopyMemory
1663 #define FillMemory RtlFillMemory
1664 #define ZeroMemory RtlZeroMemory
1665 #define SecureZeroMemory RtlSecureZeroMemory
1667 #if (_WIN32_WINNT >= 0x0501)
1668 HANDLE WINAPI CreateActCtxA(_In_ PCACTCTXA);
1669 HANDLE WINAPI CreateActCtxW(_In_ PCACTCTXW);
1670 #endif
1671 BOOL WINAPI CreateDirectoryA(LPCSTR lpPathName,LPSECURITY_ATTRIBUTES lpSecurityAttributes);
1672 BOOL WINAPI CreateDirectoryW(LPCWSTR lpPathName,LPSECURITY_ATTRIBUTES lpSecurityAttributes);
1675 HANDLE WINAPI CreateEventA(_In_opt_ LPSECURITY_ATTRIBUTES lpEventAttributes, _In_ BOOL bManualReset, _In_ BOOL bInitialState, _In_opt_ LPCSTR lpName);
1677 #if (_WIN32_WINNT >= 0x0600)
1680 #endif
1682 #if (_WIN32_WINNT >= 0x0400)
1684 #endif
1689 #if (_WIN32_WINNT >= 0x0500)
1692 #endif
1694 #if (_WIN32_WINNT >= 0x0500)
1699 #endif
1702 #if (_WIN32_WINNT >= 0x0501)
1703 HANDLE WINAPI CreateMemoryResourceNotification(MEMORY_RESOURCE_NOTIFICATION_TYPE);
1704 #endif
1707 #if (_WIN32_WINNT >= 0x0600)
1710 #endif
1717 
1718 BOOL
1719 WINAPI
1721  _In_opt_ HANDLE,
1722  _In_opt_ LPCSTR,
1726  _In_ BOOL,
1727  _In_ DWORD,
1728  _In_opt_ PVOID,
1729  _In_opt_ LPCSTR,
1732 
1735 
1736 BOOL
1737 WINAPI
1739  _In_ HANDLE ExistingTokenHandle,
1740  _In_ DWORD Flags,
1741  _In_ DWORD DisableSidCount,
1742  _In_reads_opt_(DisableSidCount) PSID_AND_ATTRIBUTES SidsToDisable,
1743  _In_ DWORD DeletePrivilegeCount,
1744  _In_reads_opt_(DeletePrivilegeCount) PLUID_AND_ATTRIBUTES PrivilegesToDelete,
1745  _In_ DWORD RestrictedSidCount,
1746  _In_reads_opt_(RestrictedSidCount) PSID_AND_ATTRIBUTES SidsToRestrict,
1748 
1751 #if (_WIN32_WINNT >= 0x0600)
1754 #endif
1756 
1757 #if (_WIN32_WINNT >= 0x0500)
1758 
1760 
1761 BOOL
1762 WINAPI
1764  _Outptr_ PHANDLE,
1765  _In_opt_ HANDLE,
1767  _In_opt_ PVOID,
1768  _In_ DWORD,
1769  _In_ DWORD,
1770  _In_ ULONG);
1771 
1773 BOOL
1774 WINAPI
1776  _In_opt_ HANDLE TimerQueue,
1778  _In_ ULONG DueTime,
1779  _In_ ULONG Period);
1780 
1781 #endif /* (_WIN32_WINNT >= 0x0500) */
1782 
1786 #if (_WIN32_WINNT >= 0x0600)
1788 HANDLE WINAPI CreateWaitableTimerExW(LPSECURITY_ATTRIBUTES,LPCWSTR,DWORD,DWORD);
1789 #endif
1790 #if (_WIN32_WINNT >= 0x0501)
1793 #endif
1795 #if (_WIN32_WINNT >= 0x0501)
1797 #endif
1798 void WINAPI DebugBreak(void);
1799 #if (_WIN32_WINNT >= 0x0501)
1802 #endif
1809 #define DefineHandleTable(w) ((w),TRUE)
1816 #if (_WIN32_WINNT >= 0x0500)
1822 #endif
1827 
1828 #if (_WIN32_WINNT >= 0x0500)
1829 
1830 _Success_(return != FALSE)
1831 BOOL
1832 WINAPI
1834  _In_ LPCSTR Hostname,
1835  _Out_writes_to_opt_(*nSize, *nSize + 1) LPSTR ComputerName,
1837 
1838 _Success_(return != FALSE)
1839 BOOL
1840 WINAPI
1842  _In_ LPCWSTR Hostname,
1843  _Out_writes_to_opt_(*nSize, *nSize + 1) LPWSTR ComputerName,
1845 
1846 #endif
1847 
1871 DECLSPEC_NORETURN void WINAPI ExitThread(_In_ DWORD dwExitCode);
1882 #if (_WIN32_WINNT >= 0x0501)
1886 #endif
1897 #if (_WIN32_WINNT >= 0x0501)
1899 #endif
1901 
1902 #if (_WIN32_WINNT >= 0x0500)
1903 
1904 HANDLE
1905 WINAPI
1907  _Out_writes_(cchBufferLength) LPSTR lpszVolumeName,
1908  _In_ DWORD cchBufferLength);
1909 
1911 
1912 HANDLE
1913 WINAPI
1915  _In_ LPCSTR lpszRootPathName,
1916  _Out_writes_(cchBufferLength) LPSTR lpszVolumeMountPoint,
1917  _In_ DWORD cchBufferLength);
1918 
1919 HANDLE
1920 WINAPI
1922  _In_ LPCWSTR lpszRootPathName,
1923  _Out_writes_(cchBufferLength) LPWSTR lpszVolumeMountPoint,
1924  _In_ DWORD cchBufferLength);
1925 
1926 #endif
1927 
1931 #if (_WIN32_WINNT >= 0x0501)
1933 #endif
1934 
1935 #if (_WIN32_WINNT >= 0x0500)
1936 
1937 BOOL
1938 WINAPI
1940  _Inout_ HANDLE hFindVolume,
1941  _Out_writes_(cchBufferLength) LPSTR lpszVolumeName,
1942  _In_ DWORD cchBufferLength);
1943 
1945 
1946 BOOL
1947 WINAPI
1949  _In_ HANDLE hFindVolumeMountPoint,
1950  _Out_writes_(cchBufferLength) LPSTR lpszVolumeMountPoint,
1951  _In_ DWORD cchBufferLength);
1952 
1953 BOOL
1954 WINAPI
1956  _In_ HANDLE hFindVolumeMountPoint,
1957  _Out_writes_(cchBufferLength) LPWSTR lpszVolumeMountPoint,
1958  _In_ DWORD cchBufferLength);
1959 
1962 
1963 #endif
1964 
1969 #if (_WIN32_WINNT >= 0x0502)
1970 
1971 DWORD
1972 WINAPI
1974  _In_ LPCSTR lpName,
1975  _In_ LPCSTR lpGuid,
1977  _In_ DWORD nSize);
1978 
1979 DWORD
1980 WINAPI
1983  _In_ LPCWSTR lpGuid,
1985  _In_ DWORD nSize);
1986 
1987 #endif
1995 DWORD WINAPI FormatMessageA(DWORD dwFlags, LPCVOID lpSource, DWORD dwMessageId, DWORD dwLanguageId, LPSTR lpBuffer, DWORD nSize, va_list* Arguments);
1996 DWORD WINAPI FormatMessageW(DWORD dwFlags, LPCVOID lpSource, DWORD dwMessageId, DWORD dwLanguageId, LPWSTR lpBuffer, DWORD nSize, va_list* Arguments);
2001 #define FreeModule(m) FreeLibrary(m)
2002 #define FreeProcInstance(p) (void)(p)
2003 #ifndef XFree86Server
2005 #endif /* ndef XFree86Server */
2009 #if (_WIN32_WINNT >= 0x0600)
2012 #endif
2013 
2014 UINT
2015 WINAPI
2016 GetAtomNameA(
2017  _In_ ATOM nAtom,
2018  _Out_writes_to_(nSize, return + 1) LPSTR lpBuffer,
2019  _In_ int nSize);
2020 
2021 UINT
2022 WINAPI
2023 GetAtomNameW(
2024  _In_ ATOM nAtom,
2025  _Out_writes_to_(nSize, return + 1) LPWSTR lpBuffer,
2026  _In_ int nSize);
2027 
2032 
2033 _Success_(return != FALSE)
2034 BOOL
2035 WINAPI
2037  _In_ HANDLE hCommDev,
2040 
2048 
2049 _Success_(return != 0)
2050 BOOL
2051 WINAPI
2055 
2056 _Success_(return != 0)
2057 BOOL
2058 WINAPI
2062 
2063 #if (_WIN32_WINNT >= 0x0500)
2064 BOOL WINAPI GetComputerNameExA(COMPUTER_NAME_FORMAT,LPSTR,LPDWORD);
2065 BOOL WINAPI GetComputerNameExW(COMPUTER_NAME_FORMAT,LPWSTR,LPDWORD);
2066 #endif
2067 #if (_WIN32_WINNT >= 0x0501)
2069 #endif
2078 #define GetCurrentTime GetTickCount
2079 
2080 BOOL
2081 WINAPI
2083  _In_ LPCSTR lpszName,
2086 
2087 BOOL
2088 WINAPI
2090  _In_ LPCWSTR lpszName,
2093 
2098 
2099 #if (_WIN32_WINNT >= 0x0502)
2100 
2101 _Success_(return != 0 && return < nBufferLength)
2102 DWORD
2103 WINAPI
2107 
2108 _Success_(return != 0 && return < nBufferLength)
2109 DWORD
2110 WINAPI
2114 
2115 #endif
2116 
2126 #if (_WIN32_WINNT >= 0x0600)
2130 #endif
2134 #if (_WIN32_WINNT >= 0x0600)
2136 #endif
2138 
2139 #if (_WIN32_WINNT >= 0x0600)
2140 BOOL
2141 WINAPI
2143  _In_ HANDLE hFile,
2145  _Out_writes_bytes_(dwBufferSize) LPVOID lpFileInformation,
2146  _In_ DWORD dwBufferSize);
2147 #endif
2148 
2149 BOOL
2150 WINAPI
2153  _In_ SECURITY_INFORMATION RequestedInformation,
2154  _Out_writes_bytes_to_opt_(nLength, *lpnLengthNeeded) PSECURITY_DESCRIPTOR pSecurityDescriptor,
2155  _In_ DWORD nLength,
2156  _Out_ LPDWORD lpnLengthNeeded);
2157 
2163 #define GetFreeSpace(w) (0x100000L)
2168 DWORD WINAPI GetLastError(void);
2172 
2173 _Success_(return != 0 && return <= nBufferLength)
2174 DWORD
2175 WINAPI
2179 
2181 #if (_WIN32_WINNT >= 0x0500 || _WIN32_WINDOWS >= 0x0410)
2184 #endif
2190 #if (_WIN32_WINNT >= 0x0500)
2193 #endif
2194 
2195 #if _WIN32_WINNT >= 0x0502
2198 #endif
2199 
2200 BOOL
2201 WINAPI
2203  _In_ HANDLE hNamedPipe,
2204  _Out_opt_ LPDWORD lpState,
2205  _Out_opt_ LPDWORD lpCurInstances,
2206  _Out_opt_ LPDWORD lpMaxCollectionCount,
2207  _Out_opt_ LPDWORD lpCollectDataTimeout,
2208  _Out_writes_opt_(nMaxUserNameSize) LPSTR lpUserName,
2209  _In_ DWORD nMaxUserNameSize);
2210 
2211 BOOL
2212 WINAPI
2214  _In_ HANDLE hNamedPipe,
2215  _Out_opt_ LPDWORD lpState,
2216  _Out_opt_ LPDWORD lpCurInstances,
2217  _Out_opt_ LPDWORD lpMaxCollectionCount,
2218  _Out_opt_ LPDWORD lpCollectDataTimeout,
2219  _Out_writes_opt_(nMaxUserNameSize) LPWSTR lpUserName,
2220  _In_ DWORD nMaxUserNameSize);
2221 
2223 #if (_WIN32_WINNT >= 0x0501)
2225 #endif
2226 
2227 BOOL
2228 WINAPI
2230  _In_ HANDLE hEventLog,
2235 
2243 
2244 DWORD
2245 WINAPI
2247  _In_ LPCSTR lpAppName,
2248  _Out_writes_to_opt_(nSize, return + 1) LPSTR lpReturnedString,
2249  _In_ DWORD nSize,
2251 
2252 DWORD
2253 WINAPI
2255  _In_ LPCWSTR lpAppName,
2256  _Out_writes_to_opt_(nSize, return + 1) LPWSTR lpReturnedString,
2257  _In_ DWORD nSize,
2259 
2260 DWORD
2261 WINAPI
2263  _Out_writes_to_opt_(nSize, return + 1) LPSTR lpszReturnBuffer,
2264  _In_ DWORD nSize,
2266 
2267 DWORD
2268 WINAPI
2270  _Out_writes_to_opt_(nSize, return + 1) LPWSTR lpszReturnBuffer,
2271  _In_ DWORD nSize,
2273 
2274 DWORD
2275 WINAPI
2277  _In_opt_ LPCSTR lpAppName,
2278  _In_opt_ LPCSTR lpKeyName,
2279  _In_opt_ LPCSTR lpDefault,
2280  _Out_writes_to_opt_(nSize, return + 1) LPSTR lpReturnedString,
2281  _In_ DWORD nSize,
2283 
2284 DWORD
2285 WINAPI
2287  _In_opt_ LPCWSTR lpAppName,
2288  _In_opt_ LPCWSTR lpKeyName,
2289  _In_opt_ LPCWSTR lpDefault,
2290  _Out_writes_to_opt_(nSize, return + 1) LPWSTR lpReturnedString,
2291  _In_ DWORD nSize,
2293 
2294 BOOL
2295 WINAPI
2297  _In_ LPCSTR lpszSection,
2298  _In_ LPCSTR lpszKey,
2299  _Out_writes_bytes_opt_(uSizeStruct) LPVOID lpStruct,
2300  _In_ UINT uSizeStruct,
2301  _In_opt_ LPCSTR szFile);
2302 
2303 BOOL
2304 WINAPI
2306  _In_ LPCWSTR lpszSection,
2307  _In_ LPCWSTR lpszKey,
2308  _Out_writes_bytes_opt_(uSizeStruct) LPVOID lpStruct,
2309  _In_ UINT uSizeStruct,
2310  _In_opt_ LPCWSTR szFile);
2311 
2314 #if (_WIN32_WINNT >= 0x0502)
2316 #endif
2319 #if (_WIN32_WINNT >= 0x0502)
2322 #endif
2323 #if (_WIN32_WINNT >= 0x0500)
2325 #endif
2330 HWINSTA WINAPI GetProcessWindowStation(void);
2334 
2335 DWORD
2336 WINAPI
2338  _In_ LPCSTR lpAppName,
2339  _Out_writes_to_opt_(nSize, return + 1) LPSTR lpReturnedString,
2340  _In_ DWORD nSize);
2341 
2342 DWORD
2343 WINAPI
2345  _In_ LPCWSTR lpAppName,
2346  _Out_writes_to_opt_(nSize, return + 1) LPWSTR lpReturnedString,
2347  _In_ DWORD nSize);
2348 
2349 DWORD
2350 WINAPI
2352  _In_opt_ LPCSTR lpAppName,
2353  _In_opt_ LPCSTR lpKeyName,
2354  _In_opt_ LPCSTR lpDefault,
2355  _Out_writes_to_opt_(nSize, return + 1) LPSTR lpReturnedString,
2356  _In_ DWORD nSize);
2357 
2358 DWORD
2359 WINAPI
2361  _In_opt_ LPCWSTR lpAppName,
2362  _In_opt_ LPCWSTR lpKeyName,
2363  _In_opt_ LPCWSTR lpDefault,
2364  _Out_writes_to_opt_(nSize, return + 1) LPWSTR lpReturnedString,
2365  _In_ DWORD nSize);
2366 
2375 
2376 _Success_(return != 0 && return < cchBuffer)
2377 DWORD
2378 WINAPI
2380  _In_ LPCSTR lpszLongPath,
2381  _Out_writes_to_opt_(cchBuffer, return + 1) LPSTR lpszShortPath,
2383 
2394 
2395 WINBASEAPI
2396 UINT
2397 WINAPI
2399  _In_ DWORD FirmwareTableProviderSignature,
2401  _Out_writes_bytes_to_opt_(BufferSize,return) PVOID pFirmwareTableBuffer,
2403 
2406 #if (_WIN32_WINNT >= 0x0502)
2408 #endif
2410 #if (_WIN32_WINNT >= 0x0501)
2412 #endif
2415 #if (_WIN32_WINNT >= 0x0500)
2418 #endif
2419 
2420 #if (_WIN32_WINNT >= 0x0501)
2421 
2422 _Success_(return != 0 && return < uSize)
2423 UINT
2424 WINAPI
2426  _Out_writes_to_opt_(uSize, return + 1) LPSTR lpBuffer,
2427  _In_ UINT uSize);
2428 
2429 _Success_(return != 0 && return < uSize)
2430 UINT
2431 WINAPI
2433  _Out_writes_to_opt_(uSize, return + 1) LPWSTR lpBuffer,
2434  _In_ UINT uSize);
2435 
2436 #endif
2437 
2438 DWORD
2439 WINAPI
2441  _In_ HANDLE hDevice,
2442  _In_ DWORD dwOperation,
2444  _Out_writes_bytes_(*lpdwSize) LPVOID lpTapeInformation);
2445 
2448 
2449 UINT
2450 WINAPI
2452  _In_ LPCSTR lpPathName,
2453  _In_ LPCSTR lpPrefixString,
2454  _In_ UINT uUnique,
2455  _Out_writes_(MAX_PATH) LPSTR lpTempFileName);
2456 
2458 
2459 DWORD
2460 WINAPI
2461 GetTempPathA(
2464 
2467 #if (_WIN32_WINNT >= 0x0502)
2469 #endif
2475 #if (_WIN32_WINNT >= 0x0600)
2477 #endif
2481 
2482 BOOL
2483 WINAPI
2484 GetUserNameA(
2485  _Out_writes_to_opt_(*pcbBuffer, *pcbBuffer) LPSTR lpBuffer,
2486  _Inout_ LPDWORD pcbBuffer);
2487 
2488 BOOL
2489 WINAPI
2490 GetUserNameW(
2491  _Out_writes_to_opt_(*pcbBuffer, *pcbBuffer) LPWSTR lpBuffer,
2492  _Inout_ LPDWORD pcbBuffer);
2493 
2494 DWORD WINAPI GetVersion(void);
2497 
2498 BOOL
2499 WINAPI
2501  _In_opt_ LPCSTR lpRootPathName,
2502  _Out_writes_opt_(nVolumeNameSize) LPSTR lpVolumeNameBuffer,
2503  _In_ DWORD nVolumeNameSize,
2504  _Out_opt_ LPDWORD lpVolumeSerialNumber,
2505  _Out_opt_ LPDWORD lpMaximumComponentLength,
2506  _Out_opt_ LPDWORD lpFileSystemFlags,
2507  _Out_writes_opt_(nFileSystemNameSize) LPSTR lpFileSystemNameBuffer,
2508  _In_ DWORD nFileSystemNameSize);
2509 
2511 
2512 #if (_WIN32_WINNT >= 0x0500)
2513 
2514 BOOL
2515 WINAPI
2517  _In_ LPCSTR lpszVolumeMountPoint,
2518  _Out_writes_(cchBufferLength) LPSTR lpszVolumeName,
2519  _In_ DWORD cchBufferLength);
2520 
2522 
2523 BOOL
2524 WINAPI
2526  _In_ LPCSTR lpszFileName,
2527  _Out_writes_(cchBufferLength) LPSTR lpszVolumePathName,
2528  _In_ DWORD cchBufferLength);
2529 
2531 
2532 #endif
2533 
2534 #if (_WIN32_WINNT >= 0x0501)
2535 
2536 BOOL
2537 WINAPI
2539  _In_ LPCSTR lpszVolumeName,
2540  _Out_writes_to_opt_(cchBufferLength, *lpcchReturnLength) _Post_ _NullNull_terminated_ LPCH lpszVolumePathNames,
2541  _In_ DWORD cchBufferLength,
2542  _Out_ PDWORD lpcchReturnLength);
2543 
2545 
2546 #endif
2547 
2555 SIZE_T WINAPI GlobalCompact(_In_ DWORD); /* Obsolete: Has no effect. */
2557 #define GlobalDiscard(m) GlobalReAlloc((m),0,GMEM_MOVEABLE)
2560 VOID WINAPI GlobalFix(_In_ HGLOBAL); /* Obsolete: Has no effect. */
2561 UINT WINAPI GlobalFlags(_In_ HGLOBAL); /* Obsolete: Has no effect. */
2563 
2564 UINT
2565 WINAPI
2567  _In_ ATOM nAtom,
2568  _Out_writes_to_(nSize, return + 1) LPSTR lpBuffer,
2569  _In_ int nSize);
2570 
2571 UINT
2572 WINAPI
2574  _In_ ATOM nAtom,
2575  _Out_writes_to_(nSize, return + 1) LPWSTR lpBuffer,
2576  _In_ int nSize);
2577 
2581 #if (_WIN32_WINNT >= 0x0500)
2582 BOOL WINAPI GlobalMemoryStatusEx(LPMEMORYSTATUSEX);
2583 #endif
2586 VOID WINAPI GlobalUnfix(_In_ HGLOBAL); /* Obsolete: Has no effect. */
2588 BOOL WINAPI GlobalUnWire(_In_ HGLOBAL); /* Obsolete: Has no effect. */
2589 PVOID WINAPI GlobalWire(_In_ HGLOBAL); /* Obsolete: Has no effect. */
2590 #define HasOverlappedIoCompleted(lpOverlapped) ((lpOverlapped)->Internal != STATUS_PENDING)
2597 #if (_WIN32_WINNT >= 0x0501)
2599 #endif
2601 #if (_WIN32_WINNT >= 0x0501)
2603 #endif
2614 #if (_WIN32_WINNT >= 0x0600)
2615 VOID WINAPI InitializeConditionVariable(PCONDITION_VARIABLE);
2616 #endif
2622 
2623 #if (_WIN32_WINNT >= 0x0600)
2625 #endif
2626 
2635 #if (_WIN32_WINNT >= 0x0501)
2637 #endif
2640 
2641 BOOL
2642 WINAPI
2644  _In_reads_bytes_(iSize) CONST VOID *lpv,
2645  _In_ int iSize,
2646  _Inout_opt_ LPINT lpiResult);
2647 
2648 #if (_WIN32_WINNT >= 0x0600)
2650 #endif
2654 #if (_WIN32_WINNT >= 0x0501)
2657 #endif
2659 #define LimitEmsPages(n)
2667 SIZE_T WINAPI LocalCompact(_In_ UINT); /* Obsolete: Has no effect. */
2668 #define LocalDiscard(m) (LocalReAlloc((m),0,LMEM_MOVEABLE))
2670 UINT WINAPI LocalFlags(_In_ HLOCAL); /* Obsolete: Has no effect. */
2675 SIZE_T WINAPI LocalShrink(_In_ HLOCAL, _In_ UINT); /* Obsolete: Has no effect. */
2681 #define LockSegment(w) GlobalFix((HANDLE)(w)) /* Obsolete: Has no effect. */
2684 
2685 _Success_(return != FALSE)
2686 BOOL
2687 WINAPI
2688 LogonUserExA(
2689  _In_ LPSTR lpszUsername,
2699 
2700 _Success_(return != FALSE)
2701 BOOL
2702 WINAPI
2703 LogonUserExW(
2704  _In_ LPWSTR lpszUsername,
2714 
2715 _Success_(return != FALSE)
2716 BOOL
2717 WINAPI
2719  _In_opt_ LPCSTR lpSystemName,
2726 
2727 _Success_(return != FALSE)
2728 BOOL
2729 WINAPI
2731  _In_opt_ LPCWSTR lpSystemName,
2738 
2739 _Success_(return != FALSE)
2740 BOOL
2741 WINAPI
2743  _In_opt_ LPCSTR lpSystemName,
2744  _In_ PSID Sid,
2750 
2751 _Success_(return != FALSE)
2752 BOOL
2753 WINAPI
2755  _In_opt_ LPCWSTR lpSystemName,
2756  _In_ PSID Sid,
2762 
2763 _Success_(return != FALSE)
2764 BOOL
2765 WINAPI
2767  _In_opt_ LPCSTR lpSystemName,
2772 
2773 _Success_(return != FALSE)
2774 BOOL
2775 WINAPI
2777  _In_opt_ LPCWSTR lpSystemName,
2782 
2783 _Success_(return != FALSE)
2784 BOOL
2785 WINAPI
2787  _In_opt_ LPCSTR lpSystemName,
2791 
2792 _Success_(return != FALSE)
2793 BOOL
2794 WINAPI
2796  _In_opt_ LPCWSTR lpSystemName,
2797  _In_ PLUID lpLuid,
2800 
2803 
2804 LPSTR
2805 WINAPI
2806 lstrcatA(
2807  _Inout_updates_z_(_String_length_(lpString1) + _String_length_(lpString2) + 1) LPSTR lpString1,
2808  _In_ LPCSTR lpString2);
2809 
2810 LPWSTR
2811 WINAPI
2812 lstrcatW(
2813  _Inout_updates_z_(_String_length_(lpString1) + _String_length_(lpString2) + 1) LPWSTR lpString1,
2814  _In_ LPCWSTR lpString2);
2815 
2820 
2821 LPSTR
2822 WINAPI
2823 lstrcpyA(
2824  _Out_writes_(_String_length_(lpString2) + 1) LPSTR lpString1,
2825  _In_ LPCSTR lpString2);
2826 
2827 LPWSTR
2828 WINAPI
2829 lstrcpyW(
2830  _Out_writes_(_String_length_(lpString2) + 1) LPWSTR lpString1,
2831  _In_ LPCWSTR lpString2);
2832 
2835 int WINAPI lstrlenA(LPCSTR);
2836 int WINAPI lstrlenW(LPCWSTR);
2838 #define MakeProcInstance(p,i) (p)
2849 int WINAPI MulDiv(_In_ int, _In_ int, _In_ int);
2866 #if (_WIN32_WINNT >= 0x0600)
2868 #endif
2877 #if (_WIN32_WINNT >= 0x0500) || (_WIN32_WINDOWS >= 0x0490)
2879 #endif
2891 #if (_WIN32_WINNT >= 0x0500)
2893 #endif
2896 
2897 #if (_WIN32_WINNT >= 0x0501)
2898 BOOL
2899 WINAPI
2900 QueryActCtxW(
2901  _In_ DWORD dwFlags,
2902  _In_ HANDLE hActCtx,
2903  _In_opt_ PVOID pvSubInstance,
2904  _In_ ULONG ulInfoClass,
2905  _Out_writes_bytes_to_opt_(cbBuffer, *pcbWrittenOrRequired) PVOID pvBuffer,
2906  _In_ SIZE_T cbBuffer,
2907  _Out_opt_ SIZE_T *pcbWrittenOrRequired);
2908 #endif
2909 
2910 DWORD
2911 WINAPI
2913  _In_opt_ LPCSTR lpDeviceName,
2914  _Out_writes_to_opt_(ucchMax, return) LPSTR lpTargetPath,
2915  _In_ DWORD ucchMax);
2916 
2918 #if (_WIN32_WINNT >= 0x0501)
2920 #endif
2923 #if (_WIN32_WINNT >= 0x0600)
2925 #endif
2927 #if (_WIN32_WINNT >= 0x0500)
2929 #endif
2931 
2932 BOOL
2933 WINAPI
2935  _In_opt_ HANDLE hJob,
2936  _In_ JOBOBJECTINFOCLASS JobObjectInformationClass,
2937  _Out_writes_bytes_to_(cbJobObjectInformationLength, *lpReturnLength) LPVOID lpJobObjectInformation,
2938  _In_ DWORD cbJobObjectInformationLength,
2939  _Out_opt_ LPDWORD lpReturnLength);
2940 
2941 BOOL
2942 WINAPI
2944  _In_ HANDLE hDirectory,
2947  _In_ BOOL bWatchSubtree,
2948  _In_ DWORD dwNotifyFilter,
2951  _In_opt_ LPOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine);
2952 
2953 BOOL
2954 WINAPI
2956  _In_ HANDLE hEventLog,
2957  _In_ DWORD dwReadFlags,
2958  _In_ DWORD dwRecordOffset,
2959  _Out_writes_bytes_to_(nNumberOfBytesToRead, *pnBytesRead) LPVOID lpBuffer,
2960  _In_ DWORD nNumberOfBytesToRead,
2961  _Out_ DWORD *pnBytesRead,
2962  _Out_ DWORD *pnMinNumberOfBytesNeeded);
2963 
2964 BOOL
2965 WINAPI
2967  _In_ HANDLE hEventLog,
2968  _In_ DWORD dwReadFlags,
2969  _In_ DWORD dwRecordOffset,
2970  _Out_writes_bytes_to_(nNumberOfBytesToRead, *pnBytesRead) LPVOID lpBuffer,
2971  _In_ DWORD nNumberOfBytesToRead,
2972  _Out_ DWORD *pnBytesRead,
2973  _Out_ DWORD *pnMinNumberOfBytesNeeded);
2974 
2979 #if (_WIN32_WINNT >= 0x0600)
2980 VOID WINAPI RecoveryFinished(BOOL);
2981 HRESULT WINAPI RecoveryInProgress(OUT PBOOL);
2984 #endif
2987 #if (_WIN32_WINNT >= 0x0500)
2990 #endif
2991 #if (_WIN32_WINNT >= 0x0501)
2993 #endif
2996 #if (_WIN32_WINNT >= 0x0600)
2999 #endif
3002 #if (_WIN32_WINNT >= 0x0500)
3003 ULONG WINAPI RemoveVectoredExceptionHandler(_In_ PVOID);
3004 UL