ReactOS  0.4.14-dev-114-gc8cbd56
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 #define DONT_RESOLVE_DLL_REFERENCES 1
338 #define LOAD_LIBRARY_AS_DATAFILE 2
339 #define LOAD_WITH_ALTERED_SEARCH_PATH 8
340 #define LOAD_IGNORE_CODE_AUTHZ_LEVEL 16
341 #define LOAD_LIBRARY_AS_IMAGE_RESOURCE 32
342 #define LOAD_LIBRARY_AS_DATAFILE_EXCLUSIVE 64
343 #define LOAD_LIBRARY_SEARCH_DLL_LOAD_DIR 256
344 #define LOAD_LIBRARY_SEARCH_APPLICATION_DIR 512
345 #define LOAD_LIBRARY_SEARCH_USER_DIRS 1024
346 #define LOAD_LIBRARY_SEARCH_SYSTEM32 2048
347 #define LOAD_LIBRARY_SEARCH_DEFAULT_DIRS 4096
348 
349 #define LMEM_FIXED 0
350 #define LMEM_MOVEABLE 2
351 #define LMEM_NONZEROLHND 2
352 #define LMEM_NONZEROLPTR 0
353 #define LMEM_DISCARDABLE 3840
354 #define LMEM_NOCOMPACT 16
355 #define LMEM_NODISCARD 32
356 #define LMEM_ZEROINIT 64
357 #define LMEM_DISCARDED 16384
358 #define LMEM_MODIFY 128
359 #define LMEM_INVALID_HANDLE 32768
360 #define LMEM_LOCKCOUNT 255
361 #define LMEM_VALID_FLAGS 0x0F72
362 #define LPTR 64
363 #define LHND 66
364 #define NONZEROLHND 2
365 #define NONZEROLPTR 0
366 #define LOCKFILE_FAIL_IMMEDIATELY 1
367 #define LOCKFILE_EXCLUSIVE_LOCK 2
368 #define LOGON32_PROVIDER_DEFAULT 0
369 #define LOGON32_PROVIDER_WINNT35 1
370 #define LOGON32_PROVIDER_WINNT40 2
371 #define LOGON32_PROVIDER_WINNT50 3
372 #define LOGON32_LOGON_INTERACTIVE 2
373 #define LOGON32_LOGON_NETWORK 3
374 #define LOGON32_LOGON_BATCH 4
375 #define LOGON32_LOGON_SERVICE 5
376 #define LOGON32_LOGON_UNLOCK 7
377 #define LOGON32_LOGON_NETWORK_CLEARTEXT 8
378 #define LOGON32_LOGON_NEW_CREDENTIALS 9
379 #define MOVEFILE_REPLACE_EXISTING 1
380 #define MOVEFILE_COPY_ALLOWED 2
381 #define MOVEFILE_DELAY_UNTIL_REBOOT 4
382 #define MOVEFILE_WRITE_THROUGH 8
383 #define MOVEFILE_CREATE_HARDLINK 16
384 #define MOVEFILE_FAIL_IF_NOT_TRACKABLE 32
385 #define MAXIMUM_WAIT_OBJECTS 64
386 #define MAXIMUM_SUSPEND_COUNT 0x7F
387 #define WAIT_OBJECT_0 0
388 #define WAIT_ABANDONED_0 128
389 #ifndef WAIT_TIMEOUT /* also in winerror.h */
390 #define WAIT_TIMEOUT 258
391 #endif
392 #define WAIT_IO_COMPLETION 0xC0
393 #define WAIT_ABANDONED 128
394 #define WAIT_FAILED ((DWORD)0xFFFFFFFF)
395 #define PURGE_TXABORT 1
396 #define PURGE_RXABORT 2
397 #define PURGE_TXCLEAR 4
398 #define PURGE_RXCLEAR 8
399 
400 #define FORMAT_MESSAGE_ALLOCATE_BUFFER 256
401 #define FORMAT_MESSAGE_IGNORE_INSERTS 512
402 #define FORMAT_MESSAGE_FROM_STRING 1024
403 #define FORMAT_MESSAGE_FROM_HMODULE 2048
404 #define FORMAT_MESSAGE_FROM_SYSTEM 4096
405 #define FORMAT_MESSAGE_ARGUMENT_ARRAY 8192
406 #define FORMAT_MESSAGE_MAX_WIDTH_MASK 255
407 #define EV_BREAK 64
408 #define EV_CTS 8
409 #define EV_DSR 16
410 #define EV_ERR 128
411 #define EV_EVENT1 2048
412 #define EV_EVENT2 4096
413 #define EV_PERR 512
414 #define EV_RING 256
415 #define EV_RLSD 32
416 #define EV_RX80FULL 1024
417 #define EV_RXCHAR 1
418 #define EV_RXFLAG 2
419 #define EV_TXEMPTY 4
420 /* also in ddk/ntapi.h */
421 #define SEM_FAILCRITICALERRORS 0x0001
422 #define SEM_NOGPFAULTERRORBOX 0x0002
423 #define SEM_NOALIGNMENTFAULTEXCEPT 0x0004
424 #define SEM_NOOPENFILEERRORBOX 0x8000
425 /* end ntapi.h */
426 #define SLE_ERROR 1
427 #define SLE_MINORERROR 2
428 #define SLE_WARNING 3
429 #define SHUTDOWN_NORETRY 1
430 #define MAXINTATOM 0xC000
431 #define INVALID_ATOM ((ATOM)0)
432 #define IGNORE 0
433 #define INFINITE 0xFFFFFFFF
434 #define NOPARITY 0
435 #define ODDPARITY 1
436 #define EVENPARITY 2
437 #define MARKPARITY 3
438 #define SPACEPARITY 4
439 #define ONESTOPBIT 0
440 #define ONE5STOPBITS 1
441 #define TWOSTOPBITS 2
442 #define CBR_110 110
443 #define CBR_300 300
444 #define CBR_600 600
445 #define CBR_1200 1200
446 #define CBR_2400 2400
447 #define CBR_4800 4800
448 #define CBR_9600 9600
449 #define CBR_14400 14400
450 #define CBR_19200 19200
451 #define CBR_38400 38400
452 #define CBR_56000 56000
453 #define CBR_57600 57600
454 #define CBR_115200 115200
455 #define CBR_128000 128000
456 #define CBR_256000 256000
457 #define BACKUP_INVALID 0
458 #define BACKUP_DATA 1
459 #define BACKUP_EA_DATA 2
460 #define BACKUP_SECURITY_DATA 3
461 #define BACKUP_ALTERNATE_DATA 4
462 #define BACKUP_LINK 5
463 #define BACKUP_PROPERTY_DATA 6
464 #define BACKUP_OBJECT_ID 7
465 #define BACKUP_REPARSE_DATA 8
466 #define BACKUP_SPARSE_BLOCK 9
467 #define STREAM_NORMAL_ATTRIBUTE 0
468 #define STREAM_MODIFIED_WHEN_READ 1
469 #define STREAM_CONTAINS_SECURITY 2
470 #define STREAM_CONTAINS_PROPERTIES 4
471 
472 #define STARTF_USESHOWWINDOW 0x00000001
473 #define STARTF_USESIZE 0x00000002
474 #define STARTF_USEPOSITION 0x00000004
475 #define STARTF_USECOUNTCHARS 0x00000008
476 #define STARTF_USEFILLATTRIBUTE 0x00000010
477 #define STARTF_RUNFULLSCREEN 0x00000020
478 #define STARTF_FORCEONFEEDBACK 0x00000040
479 #define STARTF_FORCEOFFFEEDBACK 0x00000080
480 #define STARTF_USESTDHANDLES 0x00000100
481 #if (WINVER >= 0x400)
482 #define STARTF_USEHOTKEY 0x00000200
483 #define STARTF_TITLEISLINKNAME 0x00000800
484 #define STARTF_TITLEISAPPID 0x00001000
485 #define STARTF_PREVENTPINNING 0x00002000
486 #endif /* (WINVER >= 0x400) */
487 
488 #define TC_NORMAL 0
489 #define TC_HARDERR 1
490 #define TC_GP_TRAP 2
491 #define TC_SIGNAL 3
492 #define AC_LINE_OFFLINE 0
493 #define AC_LINE_ONLINE 1
494 #define AC_LINE_BACKUP_POWER 2
495 #define AC_LINE_UNKNOWN 255
496 #define BATTERY_FLAG_HIGH 1
497 #define BATTERY_FLAG_LOW 2
498 #define BATTERY_FLAG_CRITICAL 4
499 #define BATTERY_FLAG_CHARGING 8
500 #define BATTERY_FLAG_NO_BATTERY 128
501 #define BATTERY_FLAG_UNKNOWN 255
502 #define BATTERY_PERCENTAGE_UNKNOWN 255
503 #define BATTERY_LIFE_UNKNOWN 0xFFFFFFFF
504 #define DDD_RAW_TARGET_PATH 1
505 #define DDD_REMOVE_DEFINITION 2
506 #define DDD_EXACT_MATCH_ON_REMOVE 4
507 #define DDD_NO_BROADCAST_SYSTEM 8
508 #define DDD_LUID_BROADCAST_DRIVE 16
509 #define HINSTANCE_ERROR 32
510 #define MS_CTS_ON 16
511 #define MS_DSR_ON 32
512 #define MS_RING_ON 64
513 #define MS_RLSD_ON 128
514 #define DTR_CONTROL_DISABLE 0
515 #define DTR_CONTROL_ENABLE 1
516 #define DTR_CONTROL_HANDSHAKE 2
517 #define RTS_CONTROL_DISABLE 0
518 #define RTS_CONTROL_ENABLE 1
519 #define RTS_CONTROL_HANDSHAKE 2
520 #define RTS_CONTROL_TOGGLE 3
521 #define SECURITY_ANONYMOUS (SecurityAnonymous<<16)
522 #define SECURITY_IDENTIFICATION (SecurityIdentification<<16)
523 #define SECURITY_IMPERSONATION (SecurityImpersonation<<16)
524 #define SECURITY_DELEGATION (SecurityDelegation<<16)
525 #define SECURITY_CONTEXT_TRACKING 0x40000
526 #define SECURITY_EFFECTIVE_ONLY 0x80000
527 #define SECURITY_SQOS_PRESENT 0x100000
528 #define SECURITY_VALID_SQOS_FLAGS 0x1F0000
529 #define INVALID_FILE_SIZE 0xFFFFFFFF
530 #define TLS_OUT_OF_INDEXES (DWORD)0xFFFFFFFF
531 #if (_WIN32_WINNT >= 0x0501)
532 #define ACTCTX_FLAG_PROCESSOR_ARCHITECTURE_VALID 0x00000001
533 #define ACTCTX_FLAG_LANGID_VALID 0x00000002
534 #define ACTCTX_FLAG_ASSEMBLY_DIRECTORY_VALID 0x00000004
535 #define ACTCTX_FLAG_RESOURCE_NAME_VALID 0x00000008
536 #define ACTCTX_FLAG_SET_PROCESS_DEFAULT 0x00000010
537 #define ACTCTX_FLAG_APPLICATION_NAME_VALID 0x00000020
538 #define ACTCTX_FLAG_SOURCE_IS_ASSEMBLYREF 0x00000040
539 #define ACTCTX_FLAG_HMODULE_VALID 0x00000080
540 #define DEACTIVATE_ACTCTX_FLAG_FORCE_EARLY_DEACTIVATION 0x00000001
541 #define FIND_ACTCTX_SECTION_KEY_RETURN_HACTCTX 0x00000001
542 #define QUERY_ACTCTX_FLAG_USE_ACTIVE_ACTCTX 0x00000004
543 #define QUERY_ACTCTX_FLAG_ACTCTX_IS_HMODULE 0x00000008
544 #define QUERY_ACTCTX_FLAG_ACTCTX_IS_ADDRESS 0x00000010
545 #define QUERY_ACTCTX_FLAG_NO_ADDREF 0x80000000
546 #if (_WIN32_WINNT >= 0x0600)
547 #define SYMBOLIC_LINK_FLAG_DIRECTORY 0x1
548 #endif
549 #endif /* (_WIN32_WINNT >= 0x0501) */
550 #if (_WIN32_WINNT >= 0x0500)
551 #define REPLACEFILE_WRITE_THROUGH 0x00000001
552 #define REPLACEFILE_IGNORE_MERGE_ERRORS 0x00000002
553 #endif /* (_WIN32_WINNT >= 0x0500) */
554 #if (_WIN32_WINNT >= 0x0400)
555 #define FIBER_FLAG_FLOAT_SWITCH 0x1
556 #endif
557 #define FLS_OUT_OF_INDEXES 0xFFFFFFFF
558 #define STACK_SIZE_PARAM_IS_A_RESERVATION 0x00010000
559 #if (_WIN32_WINNT >= 0x0600)
560 #define MAX_RESTART_CMD_LINE 0x800
561 #define RESTART_CYCLICAL 0x1
562 #define RESTART_NOTIFY_SOLUTION 0x2
563 #define RESTART_NOTIFY_FAULT 0x4
564 #define VOLUME_NAME_DOS 0x0
565 #define VOLUME_NAME_GUID 0x1
566 #define VOLUME_NAME_NT 0x2
567 #define VOLUME_NAME_NONE 0x4
568 #define FILE_NAME_NORMALIZED 0x0
569 #define FILE_NAME_OPENED 0x8
570 #define FILE_SKIP_COMPLETION_PORT_ON_SUCCESS 0x1
571 #define FILE_SKIP_SET_EVENT_ON_HANDLE 0x2
572 #endif
573 #if (_WIN32_WINNT >= 0x0500)
574 #define GET_MODULE_HANDLE_EX_FLAG_PIN 0x1
575 #define GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT 0x2
576 #define GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS 0x4
577 #endif
578 #if (_WIN32_WINNT >= 0x0600)
579 #define CREATE_EVENT_MANUAL_RESET 0x1
580 #define CREATE_EVENT_INITIAL_SET 0x2
581 #define CREATE_MUTEX_INITIAL_OWNER 0x1
582 #define CREATE_WAITABLE_TIMER_MANUAL_RESET 0x1
583 #define SRWLOCK_INIT RTL_SRWLOCK_INIT
584 #define CONDITION_VARIABLE_INIT RTL_CONDITION_VARIABLE_INIT
585 #define CONDITION_VARIABLE_LOCKMODE_SHARED RTL_CONDITION_VARIABLE_LOCKMODE_SHARED
586 #endif
587 
588 #define BASE_SEARCH_PATH_ENABLE_SAFE_SEARCHMODE 0x00001
589 #define BASE_SEARCH_PATH_DISABLE_SAFE_SEARCHMODE 0x10000
590 #define BASE_SEARCH_PATH_PERMANENT 0x08000
591 #define BASE_SEARCH_PATH_INVALID_FLAGS (~0x18001)
592 
593 #define INIT_ONCE_STATIC_INIT RTL_RUN_ONCE_INIT
594 
595 #if (_WIN32_WINNT >= 0x0600)
596 #define PROCESS_DEP_ENABLE 0x00000001
597 #define PROCESS_DEP_DISABLE_ATL_THUNK_EMULATION 0x00000002
598 #endif
599 
600 #ifndef RC_INVOKED
601 
602 #ifndef _FILETIME_
603 #define _FILETIME_
604 typedef struct _FILETIME {
608 #endif
609 
622 
623 typedef struct _DCB {
646  char XonChar;
647  char XoffChar;
648  char ErrorChar;
649  char EofChar;
650  char EvtChar;
652 } DCB,*LPDCB;
653 
654 typedef struct _COMM_CONFIG {
664 
665 typedef struct _COMMPROP {
685 
686 typedef struct _COMMTIMEOUTS {
693 
694 typedef struct _COMSTAT {
705 } COMSTAT,*LPCOMSTAT;
706 
708 
721 
727 
728 typedef struct _EXCEPTION_DEBUG_INFO {
732 
733 typedef struct _EXIT_THREAD_DEBUG_INFO {
736 
737 typedef struct _EXIT_PROCESS_DEBUG_INFO {
740 
741 typedef struct _LOAD_DLL_DEBUG_INFO {
749 
750 typedef struct _UNLOAD_DLL_DEBUG_INFO {
753 
759 
760 typedef struct _RIP_INFO {
764 
765 typedef struct _DEBUG_EVENT {
769  union {
779  } u;
781 
782 typedef struct _OVERLAPPED {
785  union {
786  struct {
789  } DUMMYSTRUCTNAME;
791  } DUMMYUNIONNAME;
794 
795 typedef struct _OVERLAPPED_ENTRY {
801 
802 typedef struct _STARTUPINFOA {
822 
823 typedef struct _STARTUPINFOW {
843 
844 typedef struct _PROCESS_INFORMATION {
850 
851 typedef struct _CRITICAL_SECTION_DEBUG {
858 //#ifdef __WINESRC__ //not all wine code is marked so
859  DWORD_PTR Spare[8/sizeof(DWORD_PTR)];/* in Wine they store a string here */
860 //#else
861  //WORD SpareWORD;
862 //#endif
864 
865 typedef struct _CRITICAL_SECTION {
873 
874 #ifndef _SYSTEMTIME_
875 #define _SYSTEMTIME_
876 typedef struct _SYSTEMTIME {
886 #endif /* _SYSTEMTIME_ */
887 #if (_WIN32_WINNT >= 0x0500)
889 #endif
898 typedef struct _WIN32_FIND_DATAA {
910 typedef struct _WIN32_FIND_DATAW {
922 
923 #if (_WIN32_WINNT >= 0x0501)
924 typedef enum _STREAM_INFO_LEVELS {
925  FindStreamInfoStandard
926 } STREAM_INFO_LEVELS;
927 
928 typedef struct _WIN32_FIND_STREAM_DATA {
929  LARGE_INTEGER StreamSize;
930  WCHAR cStreamName[MAX_PATH + 36];
931 } WIN32_FIND_STREAM_DATA, *PWIN32_FIND_STREAM_DATA;
932 #endif
933 
934 typedef struct _WIN32_STREAM_ID {
941 
942 #if (_WIN32_WINNT >= 0x0600)
943 
944 typedef enum _FILE_ID_TYPE {
945  FileIdType,
946  ObjectIdType,
947  ExtendedFileIdType,
948  MaximumFileIdType
949 } FILE_ID_TYPE, *PFILE_ID_TYPE;
950 
951 typedef struct _FILE_ID_DESCRIPTOR {
952  DWORD dwSize;
953  FILE_ID_TYPE Type;
954  union {
955  LARGE_INTEGER FileId;
956  GUID ObjectId;
957  } DUMMYUNIONNAME;
958 } FILE_ID_DESCRIPTOR, *LPFILE_ID_DESCRIPTOR;
959 
960 typedef enum _FILE_INFO_BY_HANDLE_CLASS {
961  FileBasicInfo,
962  FileStandardInfo,
963  FileNameInfo,
964  FileRenameInfo,
965  FileDispositionInfo,
966  FileAllocationInfo,
967  FileEndOfFileInfo,
968  FileStreamInfo,
969  FileCompressionInfo,
970  FileAttributeTagInfo,
971  FileIdBothDirectoryInfo,
972  FileIdBothDirectoryRestartInfo,
973  FileIoPriorityHintInfo,
974  FileRemoteProtocolInfo,
975  FileFullDirectoryInfo,
976  FileFullDirectoryRestartInfo,
977  FileStorageInfo,
978  FileAlignmentInfo,
979  FileIdInfo,
980  FileIdExtdDirectoryInfo,
981  FileIdExtdDirectoryRestartInfo,
982  MaximumFileInfoByHandlesClass
983 } FILE_INFO_BY_HANDLE_CLASS, *PFILE_INFO_BY_HANDLE_CLASS;
984 
985 typedef struct _FILE_ID_BOTH_DIR_INFO {
986  DWORD NextEntryOffset;
987  DWORD FileIndex;
988  LARGE_INTEGER CreationTime;
989  LARGE_INTEGER LastAccessTime;
990  LARGE_INTEGER LastWriteTime;
991  LARGE_INTEGER ChangeTime;
992  LARGE_INTEGER EndOfFile;
996  DWORD EaSize;
997  CCHAR ShortNameLength;
998  WCHAR ShortName[12];
999  LARGE_INTEGER FileId;
1000  WCHAR FileName[1];
1001 } FILE_ID_BOTH_DIR_INFO, *PFILE_ID_BOTH_DIR_INFO;
1002 
1003 typedef struct _FILE_BASIC_INFO {
1004  LARGE_INTEGER CreationTime;
1005  LARGE_INTEGER LastAccessTime;
1006  LARGE_INTEGER LastWriteTime;
1007  LARGE_INTEGER ChangeTime;
1009 } FILE_BASIC_INFO, *PFILE_BASIC_INFO;
1010 
1011 typedef struct _FILE_STANDARD_INFO {
1013  LARGE_INTEGER EndOfFile;
1014  DWORD NumberOfLinks;
1015  BOOLEAN DeletePending;
1017 } FILE_STANDARD_INFO, *PFILE_STANDARD_INFO;
1018 
1019 typedef struct _FILE_NAME_INFO {
1021  WCHAR FileName[1];
1022 } FILE_NAME_INFO, *PFILE_NAME_INFO;
1023 
1024 typedef enum _PRIORITY_HINT {
1025  IoPriorityHintVeryLow,
1026  IoPriorityHintLow,
1027  IoPriorityHintNormal,
1028  MaximumIoPriorityHintType
1029 } PRIORITY_HINT;
1030 
1031 typedef struct _FILE_IO_PRIORITY_HINT_INFO {
1032  PRIORITY_HINT PriorityHint;
1033 } FILE_IO_PRIORITY_HINT_INFO;
1034 
1035 typedef struct _FILE_ALLOCATION_INFO {
1037 } FILE_ALLOCATION_INFO, *PFILE_ALLOCATION_INFO;
1038 
1039 typedef struct _FILE_DISPOSITION_INFO {
1041 } FILE_DISPOSITION_INFO, *PFILE_DISPOSITION_INFO;
1042 
1043 typedef struct _FILE_END_OF_FILE_INFO {
1044  LARGE_INTEGER EndOfFile;
1045 } FILE_END_OF_FILE_INFO, *PFILE_END_OF_FILE_INFO;
1046 
1047 typedef struct _FILE_RENAME_INFO {
1048  BOOLEAN ReplaceIfExists;
1051  WCHAR FileName[1];
1052 } FILE_RENAME_INFO, *PFILE_RENAME_INFO;
1053 
1054 typedef struct _FILE_ATTRIBUTE_TAG_INFO {
1056  DWORD ReparseTag;
1057 } FILE_ATTRIBUTE_TAG_INFO, *PFILE_ATTRIBUTE_TAG_INFO;
1058 
1059 typedef struct _FILE_COMPRESSION_INFO {
1060  LARGE_INTEGER CompressedFileSize;
1061  WORD CompressionFormat;
1062  UCHAR CompressionUnitShift;
1063  UCHAR ChunkShift;
1064  UCHAR ClusterShift;
1065  UCHAR Reserved[3];
1066 } FILE_COMPRESSION_INFO, *PFILE_COMPRESSION_INFO;
1067 
1068 typedef struct _FILE_REMOTE_PROTOCOL_INFO {
1069  USHORT StructureVersion;
1070  USHORT StructureSize;
1071  ULONG Protocol;
1072  USHORT ProtocolMajorVersion;
1073  USHORT ProtocolMinorVersion;
1074  USHORT ProtocolRevision;
1075  USHORT Reserved;
1076  ULONG Flags;
1077  struct {
1078  ULONG Reserved[8];
1079  } GenericReserved;
1080  struct {
1081  ULONG Reserved[16];
1082  } ProtocolSpecificReserved;
1083 } FILE_REMOTE_PROTOCOL_INFO, *PFILE_REMOTE_PROTOCOL_INFO;
1084 
1085 #endif
1086 
1087 typedef enum _FINDEX_INFO_LEVELS {
1092 
1093 typedef enum _FINDEX_SEARCH_OPS {
1099 
1100 typedef struct tagHW_PROFILE_INFOA {
1105 
1106 typedef struct tagHW_PROFILE_INFOW {
1111 
1112 /* Event Logging */
1113 
1114 #define EVENTLOG_FULL_INFO 0
1115 
1119 
1124 
1125 typedef struct _SYSTEM_INFO {
1126  _ANONYMOUS_UNION union {
1128  _ANONYMOUS_STRUCT struct {
1131  } DUMMYSTRUCTNAME;
1132  } DUMMYUNIONNAME;
1143 
1144 typedef struct _SYSTEM_POWER_STATUS {
1152 
1164 
1165 typedef struct _TIME_ZONE_INFORMATION {
1174 
1175 typedef struct _MEMORYSTATUS {
1185 
1186 #if (_WIN32_WINNT >= 0x0500)
1187 typedef struct _MEMORYSTATUSEX {
1188  DWORD dwLength;
1189  DWORD dwMemoryLoad;
1190  DWORDLONG ullTotalPhys;
1191  DWORDLONG ullAvailPhys;
1192  DWORDLONG ullTotalPageFile;
1193  DWORDLONG ullAvailPageFile;
1194  DWORDLONG ullTotalVirtual;
1195  DWORDLONG ullAvailVirtual;
1196  DWORDLONG ullAvailExtendedVirtual;
1197 } MEMORYSTATUSEX, *LPMEMORYSTATUSEX;
1198 #endif
1199 
1200 #ifndef _LDT_ENTRY_DEFINED
1201 #define _LDT_ENTRY_DEFINED
1202 typedef struct _LDT_ENTRY {
1203  WORD LimitLow;
1204  WORD BaseLow;
1205  union {
1206  struct {
1207  BYTE BaseMid;
1208  BYTE Flags1;
1209  BYTE Flags2;
1210  BYTE BaseHi;
1211  } Bytes;
1212  struct {
1213  DWORD BaseMid:8;
1214  DWORD Type:5;
1215  DWORD Dpl:2;
1216  DWORD Pres:1;
1217  DWORD LimitHi:4;
1218  DWORD Sys:1;
1219  DWORD Reserved_0:1;
1220  DWORD Default_Big:1;
1221  DWORD Granularity:1;
1222  DWORD BaseHi:8;
1223  } Bits;
1224  } HighWord;
1226 #endif
1227 
1228 typedef struct _PROCESS_HEAP_ENTRY {
1234  _ANONYMOUS_UNION union {
1235  struct {
1238  } Block;
1239  struct {
1244  } Region;
1245  } DUMMYUNIONNAME;
1247 
1248 typedef struct _OFSTRUCT {
1256 
1257 #if (_WIN32_WINNT >= 0x0501)
1258 typedef struct tagACTCTXA {
1259  ULONG cbSize;
1260  DWORD dwFlags;
1261  LPCSTR lpSource;
1262  USHORT wProcessorArchitecture;
1263  LANGID wLangId;
1264  LPCSTR lpAssemblyDirectory;
1265  LPCSTR lpResourceName;
1266  LPCSTR lpApplicationName;
1267  HMODULE hModule;
1268 } ACTCTXA,*PACTCTXA;
1269 typedef const ACTCTXA *PCACTCTXA;
1270 
1271 typedef struct tagACTCTXW {
1272  ULONG cbSize;
1273  DWORD dwFlags;
1274  LPCWSTR lpSource;
1275  USHORT wProcessorArchitecture;
1276  LANGID wLangId;
1277  LPCWSTR lpAssemblyDirectory;
1278  LPCWSTR lpResourceName;
1279  LPCWSTR lpApplicationName;
1280  HMODULE hModule;
1281 } ACTCTXW,*PACTCTXW;
1282 typedef const ACTCTXW *PCACTCTXW;
1283 
1284 typedef struct tagACTCTX_SECTION_KEYED_DATA_2600 {
1285  ULONG cbSize;
1286  ULONG ulDataFormatVersion;
1287  PVOID lpData;
1288  ULONG ulLength;
1289  PVOID lpSectionGlobalData;
1290  ULONG ulSectionGlobalDataLength;
1291  PVOID lpSectionBase;
1292  ULONG ulSectionTotalLength;
1293  HANDLE hActCtx;
1294  ULONG ulAssemblyRosterIndex;
1295 } ACTCTX_SECTION_KEYED_DATA_2600, *PACTCTX_SECTION_KEYED_DATA_2600;
1296 typedef const ACTCTX_SECTION_KEYED_DATA_2600 *PCACTCTX_SECTION_KEYED_DATA_2600;
1297 
1298 typedef struct tagACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA {
1299  PVOID lpInformation;
1300  PVOID lpSectionBase;
1301  ULONG ulSectionLength;
1302  PVOID lpSectionGlobalDataBase;
1303  ULONG ulSectionGlobalDataLength;
1304 } ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA, *PACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA;
1305 typedef const ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA *PCACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA;
1306 
1307 typedef struct tagACTCTX_SECTION_KEYED_DATA {
1308  ULONG cbSize;
1309  ULONG ulDataFormatVersion;
1310  PVOID lpData;
1311  ULONG ulLength;
1312  PVOID lpSectionGlobalData;
1313  ULONG ulSectionGlobalDataLength;
1314  PVOID lpSectionBase;
1315  ULONG ulSectionTotalLength;
1316  HANDLE hActCtx;
1317  ULONG ulAssemblyRosterIndex;
1318  /* Non 2600 extra fields */
1319  ULONG ulFlags;
1320  ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA AssemblyMetadata;
1321 } ACTCTX_SECTION_KEYED_DATA,*PACTCTX_SECTION_KEYED_DATA;
1322 
1323 typedef const ACTCTX_SECTION_KEYED_DATA *PCACTCTX_SECTION_KEYED_DATA;
1324 
1325 typedef struct _ACTIVATION_CONTEXT_BASIC_INFORMATION {
1326  HANDLE hActCtx;
1327  DWORD dwFlags;
1328 } ACTIVATION_CONTEXT_BASIC_INFORMATION, *PACTIVATION_CONTEXT_BASIC_INFORMATION;
1329 typedef const struct _ACTIVATION_CONTEXT_BASIC_INFORMATION *PCACTIVATION_CONTEXT_BASIC_INFORMATION;
1330 
1331 typedef BOOL
1332 (WINAPI *PQUERYACTCTXW_FUNC)(
1333  _In_ DWORD dwFlags,
1334  _In_ HANDLE hActCtx,
1335  _In_opt_ PVOID pvSubInstance,
1336  _In_ ULONG ulInfoClass,
1337  _Out_writes_bytes_to_opt_(cbBuffer, *pcbWrittenOrRequired) PVOID pvBuffer,
1338  _In_ SIZE_T cbBuffer,
1339  _Out_opt_ SIZE_T *pcbWrittenOrRequired);
1340 
1341 typedef enum {
1342  LowMemoryResourceNotification ,
1343  HighMemoryResourceNotification
1344 } MEMORY_RESOURCE_NOTIFICATION_TYPE;
1345 #endif /* (_WIN32_WINNT >= 0x0501) */
1346 
1347 #if (_WIN32_WINNT >= 0x0500)
1348 typedef enum _COMPUTER_NAME_FORMAT {
1349  ComputerNameNetBIOS,
1350  ComputerNameDnsHostname,
1351  ComputerNameDnsDomain,
1352  ComputerNameDnsFullyQualified,
1353  ComputerNamePhysicalNetBIOS,
1354  ComputerNamePhysicalDnsHostname,
1355  ComputerNamePhysicalDnsDomain,
1356  ComputerNamePhysicalDnsFullyQualified,
1357  ComputerNameMax
1358 } COMPUTER_NAME_FORMAT;
1359 #endif /* (_WIN32_WINNT >= 0x0500) */
1360 
1361 #if (_WIN32_WINNT >= 0x0600)
1362 typedef RTL_SRWLOCK SRWLOCK, *PSRWLOCK;
1363 typedef RTL_CONDITION_VARIABLE CONDITION_VARIABLE, *PCONDITION_VARIABLE;
1364 #endif
1365 
1367 
1368 #define PROC_THREAD_ATTRIBUTE_NUMBER 0x0000ffff
1369 #define PROC_THREAD_ATTRIBUTE_THREAD 0x00010000
1370 #define PROC_THREAD_ATTRIBUTE_INPUT 0x00020000
1371 #define PROC_THREAD_ATTRIBUTE_ADDITIVE 0x00040000
1372 
1388 
1389 #define PROC_THREAD_ATTRIBUTE_IDEAL_PROCESSOR (ProcThreadAttributeIdealProcessor | PROC_THREAD_ATTRIBUTE_THREAD | PROC_THREAD_ATTRIBUTE_INPUT)
1390 #define PROC_THREAD_ATTRIBUTE_HANDLE_LIST (ProcThreadAttributeHandleList | PROC_THREAD_ATTRIBUTE_INPUT)
1391 #define PROC_THREAD_ATTRIBUTE_PARENT_PROCESS (ProcThreadAttributeParentProcess | PROC_THREAD_ATTRIBUTE_INPUT)
1392 
1393 typedef DWORD
1395  _In_reads_bytes_(ulLength) PBYTE pbData,
1396  _In_opt_ PVOID pvCallbackContext,
1397  _In_ ULONG ulLength);
1398 
1400 
1401 typedef VOID (WINAPI *PFIBER_START_ROUTINE)( LPVOID lpFiberParameter );
1403 
1416 #if (_WIN32_WINNT >= 0x0600)
1417 typedef DWORD (WINAPI *APPLICATION_RECOVERY_CALLBACK)(PVOID);
1418 #endif
1419 
1420 #ifdef WINE_NO_UNICODE_MACROS /* force using a cast */
1421 #define MAKEINTATOM(atom) ((ULONG_PTR)((WORD)(atom)))
1422 #else
1423 #define MAKEINTATOM(i) (LPTSTR)((ULONG_PTR)((WORD)(i)))
1424 #endif
1425 
1426 typedef DWORD
1428  _Out_writes_bytes_to_(*ulLength, *ulLength) PBYTE pbData,
1429  _In_opt_ PVOID pvCallbackContext,
1430  _Inout_ PULONG ulLength);
1431 
1432 /* Functions */
1433 #ifndef UNDER_CE
1435 #else
1437 #endif
1439 
1440 long
1441 WINAPI
1442 _hread(
1443  _In_ HFILE hFile,
1444  _Out_writes_bytes_to_(lBytes, return) LPVOID lpBuffer,
1445  _In_ long lBytes);
1446 
1447 long
1448 WINAPI
1449 _hwrite(
1450  _In_ HFILE hFile,
1452  _In_ long lBytes);
1453 
1458 
1459 UINT
1460 WINAPI
1461 _lread(
1462  _In_ HFILE hFile,
1463  _Out_writes_bytes_to_(uBytes, return) LPVOID lpBuffer,
1464  _In_ UINT uBytes);
1465 
1466 UINT
1467 WINAPI
1468 _lwrite(
1469  _In_ HFILE hFile,
1471  _In_ UINT uBytes);
1472 
1474 
1475 BOOL
1476 WINAPI
1478  _In_ LPCSTR SubsystemName,
1479  _In_opt_ LPVOID HandleId,
1485  _In_ BOOL ObjectCreation,
1488  _Out_ LPBOOL pfGenerateOnClose);
1489 
1491 #if (_WIN32_WINNT >= 0x0600)
1494 #endif
1495 #if (_WIN32_WINNT >= 0x0501)
1497 #endif
1500 #if (_WIN32_WINNT >= 0x0500)
1505 #endif
1510 #if (_WIN32_WINNT >= 0x0500)
1512 #endif
1513 #if (_WIN32_WINNT >= 0x0501)
1515 #endif
1516 #if (_WIN32_WINNT >= 0x0500)
1517 _Ret_maybenull_ PVOID WINAPI AddVectoredExceptionHandler(_In_ ULONG, _In_ PVECTORED_EXCEPTION_HANDLER);
1519 #endif
1531 
1532 BOOL
1533 WINAPI
1534 BackupRead(
1535  _In_ HANDLE hFile,
1536  _Out_writes_bytes_to_(nNumberOfBytesToRead, *lpNumberOfBytesRead) LPBYTE lpBuffer,
1537  _In_ DWORD nNumberOfBytesToRead,
1538  _Out_ LPDWORD lpNumberOfBytesRead,
1539  _In_ BOOL bAbort,
1540  _In_ BOOL bProcessSecurity,
1541  _Inout_ LPVOID *lpContext);
1542 
1544 
1545 BOOL
1546 WINAPI
1547 BackupWrite(
1548  _In_ HANDLE hFile,
1551  _Out_ LPDWORD lpNumberOfBytesWritten,
1552  _In_ BOOL bAbort,
1553  _In_ BOOL bProcessSecurity,
1554  _Inout_ LPVOID *lpContext);
1555 
1559 #if (_WIN32_WINNT >= 0x0500)
1561 #endif
1566 
1567 BOOL
1568 WINAPI
1570  _In_ LPCSTR lpNamedPipeName,
1571  _In_reads_bytes_opt_(nInBufferSize) LPVOID lpInBuffer,
1572  _In_ DWORD nInBufferSize,
1573  _Out_writes_bytes_to_opt_(nOutBufferSize, *lpBytesRead) LPVOID lpOutBuffer,
1574  _In_ DWORD nOutBufferSize,
1575  _Out_ LPDWORD lpBytesRead,
1576  _In_ DWORD nTimeOut);
1577 
1578 BOOL
1579 WINAPI
1581  _In_ LPCWSTR lpNamedPipeName,
1582  _In_reads_bytes_opt_(nInBufferSize) LPVOID lpInBuffer,
1583  _In_ DWORD nInBufferSize,
1584  _Out_writes_bytes_to_opt_(nOutBufferSize, *lpBytesRead) LPVOID lpOutBuffer,
1585  _In_ DWORD nOutBufferSize,
1586  _Out_ LPDWORD lpBytesRead,
1587  _In_ DWORD nTimeOut);
1588 
1591 #if (_WIN32_WINNT >= 0x0600)
1592 BOOL WINAPI CancelIoEx(HANDLE,LPOVERLAPPED);
1593 BOOL WINAPI CancelSynchronousIo(HANDLE);
1594 #endif
1596 
1597 #if (_WIN32_WINNT >= 0x0501)
1598 
1599 BOOL
1600 WINAPI
1602  _In_ LPCSTR lpName,
1603  _Out_writes_opt_(OemNameSize) LPSTR lpOemName,
1604  _In_ DWORD OemNameSize,
1605  _Out_opt_ PBOOL pbNameContainsSpaces,
1606  _Out_ PBOOL pbNameLegal);
1607 
1608 BOOL
1609 WINAPI
1612  _Out_writes_opt_(OemNameSize) LPSTR lpOemName,
1613  _In_ DWORD OemNameSize,
1614  _Out_opt_ PBOOL pbNameContainsSpaces,
1615  _Out_ PBOOL pbNameLegal);
1616 
1618 #endif
1619 
1631 #if (_WIN32_WINNT >= 0x0400)
1633 #endif
1639 #define MoveMemory RtlMoveMemory
1640 #define CopyMemory RtlCopyMemory
1641 #define FillMemory RtlFillMemory
1642 #define ZeroMemory RtlZeroMemory
1643 #define SecureZeroMemory RtlSecureZeroMemory
1645 #if (_WIN32_WINNT >= 0x0501)
1646 HANDLE WINAPI CreateActCtxA(_In_ PCACTCTXA);
1647 HANDLE WINAPI CreateActCtxW(_In_ PCACTCTXW);
1648 #endif
1655 #if (_WIN32_WINNT >= 0x0600)
1658 #endif
1660 #if (_WIN32_WINNT >= 0x0400)
1662 #endif
1667 #if (_WIN32_WINNT >= 0x0500)
1670 #endif
1672 #if (_WIN32_WINNT >= 0x0500)
1677 #endif
1680 #if (_WIN32_WINNT >= 0x0501)
1681 HANDLE WINAPI CreateMemoryResourceNotification(MEMORY_RESOURCE_NOTIFICATION_TYPE);
1682 #endif
1685 #if (_WIN32_WINNT >= 0x0600)
1688 #endif
1695 
1696 BOOL
1697 WINAPI
1699  _In_opt_ HANDLE,
1700  _In_opt_ LPCSTR,
1704  _In_ BOOL,
1705  _In_ DWORD,
1706  _In_opt_ PVOID,
1707  _In_opt_ LPCSTR,
1710 
1713 
1714 BOOL
1715 WINAPI
1717  _In_ HANDLE ExistingTokenHandle,
1718  _In_ DWORD Flags,
1719  _In_ DWORD DisableSidCount,
1720  _In_reads_opt_(DisableSidCount) PSID_AND_ATTRIBUTES SidsToDisable,
1721  _In_ DWORD DeletePrivilegeCount,
1722  _In_reads_opt_(DeletePrivilegeCount) PLUID_AND_ATTRIBUTES PrivilegesToDelete,
1723  _In_ DWORD RestrictedSidCount,
1724  _In_reads_opt_(RestrictedSidCount) PSID_AND_ATTRIBUTES SidsToRestrict,
1726 
1729 #if (_WIN32_WINNT >= 0x0600)
1732 #endif
1734 
1735 #if (_WIN32_WINNT >= 0x0500)
1736 
1738 
1739 BOOL
1740 WINAPI
1742  _Outptr_ PHANDLE,
1743  _In_opt_ HANDLE,
1745  _In_opt_ PVOID,
1746  _In_ DWORD,
1747  _In_ DWORD,
1748  _In_ ULONG);
1749 
1751 BOOL
1752 WINAPI
1754  _In_opt_ HANDLE TimerQueue,
1756  _In_ ULONG DueTime,
1757  _In_ ULONG Period);
1758 
1759 #endif /* (_WIN32_WINNT >= 0x0500) */
1760 
1764 #if (_WIN32_WINNT >= 0x0600)
1766 HANDLE WINAPI CreateWaitableTimerExW(LPSECURITY_ATTRIBUTES,LPCWSTR,DWORD,DWORD);
1767 #endif
1768 #if (_WIN32_WINNT >= 0x0501)
1771 #endif
1773 #if (_WIN32_WINNT >= 0x0501)
1775 #endif
1776 void WINAPI DebugBreak(void);
1777 #if (_WIN32_WINNT >= 0x0501)
1780 #endif
1787 #define DefineHandleTable(w) ((w),TRUE)
1794 #if (_WIN32_WINNT >= 0x0500)
1800 #endif
1805 
1806 #if (_WIN32_WINNT >= 0x0500)
1807 
1808 _Success_(return != FALSE)
1809 BOOL
1810 WINAPI
1812  _In_ LPCSTR Hostname,
1813  _Out_writes_to_opt_(*nSize, *nSize + 1) LPSTR ComputerName,
1815 
1816 _Success_(return != FALSE)
1817 BOOL
1818 WINAPI
1820  _In_ LPCWSTR Hostname,
1821  _Out_writes_to_opt_(*nSize, *nSize + 1) LPWSTR ComputerName,
1823 
1824 #endif
1825 
1860 #if (_WIN32_WINNT >= 0x0501)
1864 #endif
1875 #if (_WIN32_WINNT >= 0x0501)
1877 #endif
1879 
1880 #if (_WIN32_WINNT >= 0x0500)
1881 
1882 HANDLE
1883 WINAPI
1885  _Out_writes_(cchBufferLength) LPSTR lpszVolumeName,
1886  _In_ DWORD cchBufferLength);
1887 
1889 
1890 HANDLE
1891 WINAPI
1893  _In_ LPCSTR lpszRootPathName,
1894  _Out_writes_(cchBufferLength) LPSTR lpszVolumeMountPoint,
1895  _In_ DWORD cchBufferLength);
1896 
1897 HANDLE
1898 WINAPI
1900  _In_ LPCWSTR lpszRootPathName,
1901  _Out_writes_(cchBufferLength) LPWSTR lpszVolumeMountPoint,
1902  _In_ DWORD cchBufferLength);
1903 
1904 #endif
1905 
1909 #if (_WIN32_WINNT >= 0x0501)
1911 #endif
1912 
1913 #if (_WIN32_WINNT >= 0x0500)
1914 
1915 BOOL
1916 WINAPI
1918  _Inout_ HANDLE hFindVolume,
1919  _Out_writes_(cchBufferLength) LPSTR lpszVolumeName,
1920  _In_ DWORD cchBufferLength);
1921 
1923 
1924 BOOL
1925 WINAPI
1927  _In_ HANDLE hFindVolumeMountPoint,
1928  _Out_writes_(cchBufferLength) LPSTR lpszVolumeMountPoint,
1929  _In_ DWORD cchBufferLength);
1930 
1931 BOOL
1932 WINAPI
1934  _In_ HANDLE hFindVolumeMountPoint,
1935  _Out_writes_(cchBufferLength) LPWSTR lpszVolumeMountPoint,
1936  _In_ DWORD cchBufferLength);
1937 
1940 
1941 #endif
1942 
1947 #if (_WIN32_WINNT >= 0x0502)
1948 
1949 DWORD
1950 WINAPI
1952  _In_ LPCSTR lpName,
1953  _In_ LPCSTR lpGuid,
1955  _In_ DWORD nSize);
1956 
1957 DWORD
1958 WINAPI
1961  _In_ LPCWSTR lpGuid,
1963  _In_ DWORD nSize);
1964 
1965 #endif
1979 #define FreeModule(m) FreeLibrary(m)
1980 #define FreeProcInstance(p) (void)(p)
1981 #ifndef XFree86Server
1983 #endif /* ndef XFree86Server */
1987 #if (_WIN32_WINNT >= 0x0600)
1988 HRESULT WINAPI GetApplicationRecoveryCallback(_In_ HANDLE, _Out_ APPLICATION_RECOVERY_CALLBACK*, _Outptr_opt_result_maybenull_ PVOID*, _Out_opt_ DWORD*, _Out_opt_ DWORD*);
1989 HRESULT WINAPI GetApplicationRestart(HANDLE,PWSTR,PDWORD,PDWORD);
1990 #endif
1991 
1992 UINT
1993 WINAPI
1994 GetAtomNameA(
1995  _In_ ATOM nAtom,
1996  _Out_writes_to_(nSize, return + 1) LPSTR lpBuffer,
1997  _In_ int nSize);
1998 
1999 UINT
2000 WINAPI
2001 GetAtomNameW(
2002  _In_ ATOM nAtom,
2003  _Out_writes_to_(nSize, return + 1) LPWSTR lpBuffer,
2004  _In_ int nSize);
2005 
2010 
2011 _Success_(return != FALSE)
2012 BOOL
2013 WINAPI
2015  _In_ HANDLE hCommDev,
2018 
2026 
2027 _Success_(return != 0)
2028 BOOL
2029 WINAPI
2033 
2034 _Success_(return != 0)
2035 BOOL
2036 WINAPI
2040 
2041 #if (_WIN32_WINNT >= 0x0500)
2042 BOOL WINAPI GetComputerNameExA(COMPUTER_NAME_FORMAT,LPSTR,LPDWORD);
2043 BOOL WINAPI GetComputerNameExW(COMPUTER_NAME_FORMAT,LPWSTR,LPDWORD);
2044 #endif
2045 #if (_WIN32_WINNT >= 0x0501)
2047 #endif
2056 #define GetCurrentTime GetTickCount
2057 
2058 BOOL
2059 WINAPI
2061  _In_ LPCSTR lpszName,
2064 
2065 BOOL
2066 WINAPI
2068  _In_ LPCWSTR lpszName,
2071 
2076 
2077 #if (_WIN32_WINNT >= 0x0502)
2078 
2079 _Success_(return != 0 && return < nBufferLength)
2080 DWORD
2081 WINAPI
2085 
2086 _Success_(return != 0 && return < nBufferLength)
2087 DWORD
2088 WINAPI
2092 
2093 #endif
2094 
2104 #if (_WIN32_WINNT >= 0x0600)
2106 DWORD WINAPI GetFinalPathNameByHandleA(HANDLE,LPSTR,DWORD,DWORD);
2107 DWORD WINAPI GetFinalPathNameByHandleW(HANDLE,LPWSTR,DWORD,DWORD);
2108 #endif
2112 #if (_WIN32_WINNT >= 0x0600)
2113 BOOL WINAPI GetFileBandwidthReservation(_In_ HANDLE, _Out_ LPDWORD, _Out_ LPDWORD, _Out_ LPBOOL, _Out_ LPDWORD, _Out_ LPDWORD);
2114 #endif
2116 
2117 #if (_WIN32_WINNT >= 0x0600)
2118 BOOL
2119 WINAPI
2121  _In_ HANDLE hFile,
2123  _Out_writes_bytes_(dwBufferSize) LPVOID lpFileInformation,
2124  _In_ DWORD dwBufferSize);
2125 #endif
2126 
2127 BOOL
2128 WINAPI
2131  _In_ SECURITY_INFORMATION RequestedInformation,
2132  _Out_writes_bytes_to_opt_(nLength, *lpnLengthNeeded) PSECURITY_DESCRIPTOR pSecurityDescriptor,
2133  _In_ DWORD nLength,
2134  _Out_ LPDWORD lpnLengthNeeded);
2135 
2141 #define GetFreeSpace(w) (0x100000L)
2146 DWORD WINAPI GetLastError(void);
2150 
2151 _Success_(return != 0 && return <= nBufferLength)
2152 DWORD
2153 WINAPI
2157 
2159 #if (_WIN32_WINNT >= 0x0500 || _WIN32_WINDOWS >= 0x0410)
2162 #endif
2168 #if (_WIN32_WINNT >= 0x0500)
2171 #endif
2172 
2173 #if _WIN32_WINNT >= 0x0502
2176 #endif
2177 
2178 BOOL
2179 WINAPI
2181  _In_ HANDLE hNamedPipe,
2182  _Out_opt_ LPDWORD lpState,
2183  _Out_opt_ LPDWORD lpCurInstances,
2184  _Out_opt_ LPDWORD lpMaxCollectionCount,
2185  _Out_opt_ LPDWORD lpCollectDataTimeout,
2186  _Out_writes_opt_(nMaxUserNameSize) LPSTR lpUserName,
2187  _In_ DWORD nMaxUserNameSize);
2188 
2189 BOOL
2190 WINAPI
2192  _In_ HANDLE hNamedPipe,
2193  _Out_opt_ LPDWORD lpState,
2194  _Out_opt_ LPDWORD lpCurInstances,
2195  _Out_opt_ LPDWORD lpMaxCollectionCount,
2196  _Out_opt_ LPDWORD lpCollectDataTimeout,
2197  _Out_writes_opt_(nMaxUserNameSize) LPWSTR lpUserName,
2198  _In_ DWORD nMaxUserNameSize);
2199 
2201 #if (_WIN32_WINNT >= 0x0501)
2203 #endif
2204 
2205 BOOL
2206 WINAPI
2208  _In_ HANDLE hEventLog,
2213 
2221 
2222 DWORD
2223 WINAPI
2225  _In_ LPCSTR lpAppName,
2226  _Out_writes_to_opt_(nSize, return + 1) LPSTR lpReturnedString,
2227  _In_ DWORD nSize,
2229 
2230 DWORD
2231 WINAPI
2233  _In_ LPCWSTR lpAppName,
2234  _Out_writes_to_opt_(nSize, return + 1) LPWSTR lpReturnedString,
2235  _In_ DWORD nSize,
2237 
2238 DWORD
2239 WINAPI
2241  _Out_writes_to_opt_(nSize, return + 1) LPSTR lpszReturnBuffer,
2242  _In_ DWORD nSize,
2244 
2245 DWORD
2246 WINAPI
2248  _Out_writes_to_opt_(nSize, return + 1) LPWSTR lpszReturnBuffer,
2249  _In_ DWORD nSize,
2251 
2252 DWORD
2253 WINAPI
2255  _In_opt_ LPCSTR lpAppName,
2256  _In_opt_ LPCSTR lpKeyName,
2257  _In_opt_ LPCSTR lpDefault,
2258  _Out_writes_to_opt_(nSize, return + 1) LPSTR lpReturnedString,
2259  _In_ DWORD nSize,
2261 
2262 DWORD
2263 WINAPI
2265  _In_opt_ LPCWSTR lpAppName,
2266  _In_opt_ LPCWSTR lpKeyName,
2267  _In_opt_ LPCWSTR lpDefault,
2268  _Out_writes_to_opt_(nSize, return + 1) LPWSTR lpReturnedString,
2269  _In_ DWORD nSize,
2271 
2272 BOOL
2273 WINAPI
2275  _In_ LPCSTR lpszSection,
2276  _In_ LPCSTR lpszKey,
2277  _Out_writes_bytes_opt_(uSizeStruct) LPVOID lpStruct,
2278  _In_ UINT uSizeStruct,
2279  _In_opt_ LPCSTR szFile);
2280 
2281 BOOL
2282 WINAPI
2284  _In_ LPCWSTR lpszSection,
2285  _In_ LPCWSTR lpszKey,
2286  _Out_writes_bytes_opt_(uSizeStruct) LPVOID lpStruct,
2287  _In_ UINT uSizeStruct,
2288  _In_opt_ LPCWSTR szFile);
2289 
2292 #if (_WIN32_WINNT >= 0x0502)
2294 #endif
2297 #if (_WIN32_WINNT >= 0x0502)
2300 #endif
2301 #if (_WIN32_WINNT >= 0x0500)
2303 #endif
2308 HWINSTA WINAPI GetProcessWindowStation(void);
2312 
2313 DWORD
2314 WINAPI
2316  _In_ LPCSTR lpAppName,
2317  _Out_writes_to_opt_(nSize, return + 1) LPSTR lpReturnedString,
2318  _In_ DWORD nSize);
2319 
2320 DWORD
2321 WINAPI
2323  _In_ LPCWSTR lpAppName,
2324  _Out_writes_to_opt_(nSize, return + 1) LPWSTR lpReturnedString,
2325  _In_ DWORD nSize);
2326 
2327 DWORD
2328 WINAPI
2330  _In_opt_ LPCSTR lpAppName,
2331  _In_opt_ LPCSTR lpKeyName,
2332  _In_opt_ LPCSTR lpDefault,
2333  _Out_writes_to_opt_(nSize, return + 1) LPSTR lpReturnedString,
2334  _In_ DWORD nSize);
2335 
2336 DWORD
2337 WINAPI
2339  _In_opt_ LPCWSTR lpAppName,
2340  _In_opt_ LPCWSTR lpKeyName,
2341  _In_opt_ LPCWSTR lpDefault,
2342  _Out_writes_to_opt_(nSize, return + 1) LPWSTR lpReturnedString,
2343  _In_ DWORD nSize);
2344 
2353 
2354 _Success_(return != 0 && return < cchBuffer)
2355 DWORD
2356 WINAPI
2358  _In_ LPCSTR lpszLongPath,
2359  _Out_writes_to_opt_(cchBuffer, return + 1) LPSTR lpszShortPath,
2361 
2374 #if (_WIN32_WINNT >= 0x0502)
2376 #endif
2378 #if (_WIN32_WINNT >= 0x0501)
2380 #endif
2383 #if (_WIN32_WINNT >= 0x0500)
2386 #endif
2387 
2388 #if (_WIN32_WINNT >= 0x0501)
2389 
2390 _Success_(return != 0 && return < uSize)
2391 UINT
2392 WINAPI
2394  _Out_writes_to_opt_(uSize, return + 1) LPSTR lpBuffer,
2395  _In_ UINT uSize);
2396 
2397 _Success_(return != 0 && return < uSize)
2398 UINT
2399 WINAPI
2401  _Out_writes_to_opt_(uSize, return + 1) LPWSTR lpBuffer,
2402  _In_ UINT uSize);
2403 
2404 #endif
2405 
2406 DWORD
2407 WINAPI
2409  _In_ HANDLE hDevice,
2410  _In_ DWORD dwOperation,
2412  _Out_writes_bytes_(*lpdwSize) LPVOID lpTapeInformation);
2413 
2416 
2417 UINT
2418 WINAPI
2420  _In_ LPCSTR lpPathName,
2421  _In_ LPCSTR lpPrefixString,
2422  _In_ UINT uUnique,
2423  _Out_writes_(MAX_PATH) LPSTR lpTempFileName);
2424 
2426 
2427 DWORD
2428 WINAPI
2429 GetTempPathA(
2432 
2435 #if (_WIN32_WINNT >= 0x0502)
2437 #endif
2443 #if (_WIN32_WINNT >= 0x0600)
2445 #endif
2449 
2450 BOOL
2451 WINAPI
2452 GetUserNameA(
2453  _Out_writes_to_opt_(*pcbBuffer, *pcbBuffer) LPSTR lpBuffer,
2454  _Inout_ LPDWORD pcbBuffer);
2455 
2456 BOOL
2457 WINAPI
2458 GetUserNameW(
2459  _Out_writes_to_opt_(*pcbBuffer, *pcbBuffer) LPWSTR lpBuffer,
2460  _Inout_ LPDWORD pcbBuffer);
2461 
2462 DWORD WINAPI GetVersion(void);
2465 
2466 BOOL
2467 WINAPI
2469  _In_opt_ LPCSTR lpRootPathName,
2470  _Out_writes_opt_(nVolumeNameSize) LPSTR lpVolumeNameBuffer,
2471  _In_ DWORD nVolumeNameSize,
2472  _Out_opt_ LPDWORD lpVolumeSerialNumber,
2473  _Out_opt_ LPDWORD lpMaximumComponentLength,
2474  _Out_opt_ LPDWORD lpFileSystemFlags,
2475  _Out_writes_opt_(nFileSystemNameSize) LPSTR lpFileSystemNameBuffer,
2476  _In_ DWORD nFileSystemNameSize);
2477 
2479 
2480 #if (_WIN32_WINNT >= 0x0500)
2481 
2482 BOOL
2483 WINAPI
2485  _In_ LPCSTR lpszVolumeMountPoint,
2486  _Out_writes_(cchBufferLength) LPSTR lpszVolumeName,
2487  _In_ DWORD cchBufferLength);
2488 
2490 
2491 BOOL
2492 WINAPI
2494  _In_ LPCSTR lpszFileName,
2495  _Out_writes_(cchBufferLength) LPSTR lpszVolumePathName,
2496  _In_ DWORD cchBufferLength);
2497 
2499 
2500 #endif
2501 
2502 #if (_WIN32_WINNT >= 0x0501)
2503 
2504 BOOL
2505 WINAPI
2507  _In_ LPCSTR lpszVolumeName,
2508  _Out_writes_to_opt_(cchBufferLength, *lpcchReturnLength) _Post_ _NullNull_terminated_ LPCH lpszVolumePathNames,
2509  _In_ DWORD cchBufferLength,
2510  _Out_ PDWORD lpcchReturnLength);
2511 
2513 
2514 #endif
2515 
2523 SIZE_T WINAPI GlobalCompact(_In_ DWORD); /* Obsolete: Has no effect. */
2525 #define GlobalDiscard(m) GlobalReAlloc((m),0,GMEM_MOVEABLE)
2528 VOID WINAPI GlobalFix(_In_ HGLOBAL); /* Obsolete: Has no effect. */
2529 UINT WINAPI GlobalFlags(_In_ HGLOBAL); /* Obsolete: Has no effect. */
2531 
2532 UINT
2533 WINAPI
2535  _In_ ATOM nAtom,
2536  _Out_writes_to_(nSize, return + 1) LPSTR lpBuffer,
2537  _In_ int nSize);
2538 
2539 UINT
2540 WINAPI
2542  _In_ ATOM nAtom,
2543  _Out_writes_to_(nSize, return + 1) LPWSTR lpBuffer,
2544  _In_ int nSize);
2545 
2549 #if (_WIN32_WINNT >= 0x0500)
2550 BOOL WINAPI GlobalMemoryStatusEx(LPMEMORYSTATUSEX);
2551 #endif
2554 VOID WINAPI GlobalUnfix(_In_ HGLOBAL); /* Obsolete: Has no effect. */
2556 BOOL WINAPI GlobalUnWire(_In_ HGLOBAL); /* Obsolete: Has no effect. */
2557 PVOID WINAPI GlobalWire(_In_ HGLOBAL); /* Obsolete: Has no effect. */
2558 #define HasOverlappedIoCompleted(lpOverlapped) ((lpOverlapped)->Internal != STATUS_PENDING)
2565 #if (_WIN32_WINNT >= 0x0501)
2567 #endif
2569 #if (_WIN32_WINNT >= 0x0501)
2571 #endif
2582 #if (_WIN32_WINNT >= 0x0600)
2583 VOID WINAPI InitializeConditionVariable(PCONDITION_VARIABLE);
2584 #endif
2590 
2591 #if (_WIN32_WINNT >= 0x0600)
2593 #endif
2594 
2603 #if (_WIN32_WINNT >= 0x0501)
2605 #endif
2608 
2609 BOOL
2610 WINAPI
2612  _In_reads_bytes_(iSize) CONST VOID *lpv,
2613  _In_ int iSize,
2614  _Inout_opt_ LPINT lpiResult);
2615 
2616 #if (_WIN32_WINNT >= 0x0600)
2618 #endif
2622 #if (_WIN32_WINNT >= 0x0501)
2625 #endif
2627 #define LimitEmsPages(n)
2635 SIZE_T WINAPI LocalCompact(_In_ UINT); /* Obsolete: Has no effect. */
2636 #define LocalDiscard(m) (LocalReAlloc((m),0,LMEM_MOVEABLE))
2638 UINT WINAPI LocalFlags(_In_ HLOCAL); /* Obsolete: Has no effect. */
2643 SIZE_T WINAPI LocalShrink(_In_ HLOCAL, _In_ UINT); /* Obsolete: Has no effect. */
2649 #define LockSegment(w) GlobalFix((HANDLE)(w)) /* Obsolete: Has no effect. */
2652 
2653 _Success_(return != FALSE)
2654 BOOL
2655 WINAPI
2656 LogonUserExA(
2657  _In_ LPSTR lpszUsername,
2667 
2668 _Success_(return != FALSE)
2669 BOOL
2670 WINAPI
2671 LogonUserExW(
2672  _In_ LPWSTR lpszUsername,
2682 
2683 _Success_(return != FALSE)
2684 BOOL
2685 WINAPI
2687  _In_opt_ LPCSTR lpSystemName,
2694 
2695 _Success_(return != FALSE)
2696 BOOL
2697 WINAPI
2699  _In_opt_ LPCWSTR lpSystemName,
2706 
2707 _Success_(return != FALSE)
2708 BOOL
2709 WINAPI
2711  _In_opt_ LPCSTR lpSystemName,
2712  _In_ PSID Sid,
2718 
2719 _Success_(return != FALSE)
2720 BOOL
2721 WINAPI
2723  _In_opt_ LPCWSTR lpSystemName,
2724  _In_ PSID Sid,
2730 
2731 _Success_(return != FALSE)
2732 BOOL
2733 WINAPI
2735  _In_opt_ LPCSTR lpSystemName,
2740 
2741 _Success_(return != FALSE)
2742 BOOL
2743 WINAPI
2745  _In_opt_ LPCWSTR lpSystemName,
2750 
2751 _Success_(return != FALSE)
2752 BOOL
2753 WINAPI
2755  _In_opt_ LPCSTR lpSystemName,
2759 
2760 _Success_(return != FALSE)
2761 BOOL
2762 WINAPI
2764  _In_opt_ LPCWSTR lpSystemName,
2765  _In_ PLUID lpLuid,
2768 
2771 
2772 LPSTR
2773 WINAPI
2774 lstrcatA(
2775  _Inout_updates_z_(_String_length_(lpString1) + _String_length_(lpString2) + 1) LPSTR lpString1,
2776  _In_ LPCSTR lpString2);
2777 
2778 LPWSTR
2779 WINAPI
2780 lstrcatW(
2781  _Inout_updates_z_(_String_length_(lpString1) + _String_length_(lpString2) + 1) LPWSTR lpString1,
2782  _In_ LPCWSTR lpString2);
2783 
2788 
2789 LPSTR
2790 WINAPI
2791 lstrcpyA(
2792  _Out_writes_(_String_length_(lpString2) + 1) LPSTR lpString1,
2793  _In_ LPCSTR lpString2);
2794 
2795 LPWSTR
2796 WINAPI
2797 lstrcpyW(
2798  _Out_writes_(_String_length_(lpString2) + 1) LPWSTR lpString1,
2799  _In_ LPCWSTR lpString2);
2800 
2803 int WINAPI lstrlenA(LPCSTR);
2804 int WINAPI lstrlenW(LPCWSTR);
2806 #define MakeProcInstance(p,i) (p)
2817 int WINAPI MulDiv(_In_ int, _In_ int, _In_ int);
2834 #if (_WIN32_WINNT >= 0x0600)
2836 #endif
2845 #if (_WIN32_WINNT >= 0x0500) || (_WIN32_WINDOWS >= 0x0490)
2847 #endif
2859 #if (_WIN32_WINNT >= 0x0500)
2861 #endif
2864 
2865 #if (_WIN32_WINNT >= 0x0501)
2866 BOOL
2867 WINAPI
2868 QueryActCtxW(
2869  _In_ DWORD dwFlags,
2870  _In_ HANDLE hActCtx,
2871  _In_opt_ PVOID pvSubInstance,
2872  _In_ ULONG ulInfoClass,
2873  _Out_writes_bytes_to_opt_(cbBuffer, *pcbWrittenOrRequired) PVOID pvBuffer,
2874  _In_ SIZE_T cbBuffer,
2875  _Out_opt_ SIZE_T *pcbWrittenOrRequired);
2876 #endif
2877 
2878 DWORD
2879 WINAPI
2881  _In_opt_ LPCSTR lpDeviceName,
2882  _Out_writes_to_opt_(ucchMax, return) LPSTR lpTargetPath,
2883  _In_ DWORD ucchMax);
2884 
2886 #if (_WIN32_WINNT >= 0x0501)
2888 #endif
2891 #if (_WIN32_WINNT >= 0x0600)
2893 #endif
2895 #if (_WIN32_WINNT >= 0x0500)
2897 #endif
2899 
2900 BOOL
2901 WINAPI
2903  _In_opt_ HANDLE hJob,
2904  _In_ JOBOBJECTINFOCLASS JobObjectInformationClass,
2905  _Out_writes_bytes_to_(cbJobObjectInformationLength, *lpReturnLength) LPVOID lpJobObjectInformation,
2906  _In_ DWORD cbJobObjectInformationLength,
2907  _Out_opt_ LPDWORD lpReturnLength);
2908 
2909 BOOL
2910 WINAPI
2912  _In_ HANDLE hDirectory,
2915  _In_ BOOL bWatchSubtree,
2916  _In_ DWORD dwNotifyFilter,
2919  _In_opt_ LPOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine);
2920 
2921 BOOL
2922 WINAPI
2924  _In_ HANDLE hEventLog,
2925  _In_ DWORD dwReadFlags,
2926  _In_ DWORD dwRecordOffset,
2927  _Out_writes_bytes_to_(nNumberOfBytesToRead, *pnBytesRead) LPVOID lpBuffer,
2928  _In_ DWORD nNumberOfBytesToRead,
2929  _Out_ DWORD *pnBytesRead,
2930  _Out_ DWORD *pnMinNumberOfBytesNeeded);
2931 
2932 BOOL
2933 WINAPI
2935  _In_ HANDLE hEventLog,
2936  _In_ DWORD dwReadFlags,
2937  _In_ DWORD dwRecordOffset,
2938  _Out_writes_bytes_to_(nNumberOfBytesToRead, *pnBytesRead) LPVOID lpBuffer,
2939  _In_ DWORD nNumberOfBytesToRead,
2940  _Out_ DWORD *pnBytesRead,
2941  _Out_ DWORD *pnMinNumberOfBytesNeeded);
2942 
2947 #if (_WIN32_WINNT >= 0x0600)
2948 VOID WINAPI RecoveryFinished(BOOL);
2949 HRESULT WINAPI RecoveryInProgress(OUT PBOOL);
2950 HRESULT WINAPI RegisterApplicationRecoveryCallback(_In_ APPLICATION_RECOVERY_CALLBACK, _In_opt_ PVOID, _In_ DWORD, _In_ DWORD);
2951 HRESULT WINAPI RegisterApplicationRestart(_In_opt_ PCWSTR, _In_ DWORD);
2952 #endif
2955 #if (_WIN32_WINNT >= 0x0500)
2958 #endif
2959 #if (_WIN32_WINNT >= 0x0501)
2961 #endif
2964 #if (_WIN32_WINNT >= 0x0600)
2967 #endif
2970 #if (_WIN32_WINNT >= 0x0500)
2971 ULONG WINAPI RemoveVectoredExceptionHandler(_In_ PVOID);
2972 ULONG WINAPI RemoveVectoredContinueHandler(_In_ PVOID);
2973 #endif
2974 #if (_WIN32_WINNT >= 0x0500)
2977 #endif
2978 
2979 BOOL
2980 WINAPI
2981 ReportEventA(
2982  _In_ HANDLE hEventLog,
2983  _In_ WORD wType,
2984  _In_ WORD wCategory,
2985  _In_ DWORD dwEventID,
2986  _In_opt_ PSID lpUserSid,
2987  _In_ WORD wNumStrings,
2988  _In_ DWORD dwDataSize,
2989  _In_reads_opt_(wNumStrings) LPCSTR *lpStrings,
2990  _In_reads_bytes_opt_(dwDataSize) LPVOID lpRawData);
2991 
2992 BOOL
2993 WINAPI
2994 ReportEventW(
2995  _In_ HANDLE hEventLog,
2996  _In_ WORD wType,