ReactOS  0.4.15-dev-976-g0f66c66
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 #ifndef MIDL_PASS
786 #endif
787 
788 typedef struct _OVERLAPPED {
791  union {
792  struct {
795  } DUMMYSTRUCTNAME;
797  } DUMMYUNIONNAME;
800 
801 typedef struct _OVERLAPPED_ENTRY {
807 
808 typedef struct _STARTUPINFOA {
828 
829 typedef struct _STARTUPINFOW {
849 
850 typedef struct _PROCESS_INFORMATION {
856 
857 typedef struct _CRITICAL_SECTION_DEBUG {
864 //#ifdef __WINESRC__ //not all wine code is marked so
865  DWORD_PTR Spare[8/sizeof(DWORD_PTR)];/* in Wine they store a string here */
866 //#else
867  //WORD SpareWORD;
868 //#endif
870 
871 typedef struct _CRITICAL_SECTION {
879 
880 #ifndef _SYSTEMTIME_
881 #define _SYSTEMTIME_
882 typedef struct _SYSTEMTIME {
892 #endif /* _SYSTEMTIME_ */
893 #if (_WIN32_WINNT >= 0x0500)
895 #endif
904 typedef struct _WIN32_FIND_DATAA {
916 typedef struct _WIN32_FIND_DATAW {
928 
929 #if (_WIN32_WINNT >= 0x0501)
930 typedef enum _STREAM_INFO_LEVELS {
931  FindStreamInfoStandard
932 } STREAM_INFO_LEVELS;
933 
934 typedef struct _WIN32_FIND_STREAM_DATA {
935  LARGE_INTEGER StreamSize;
936  WCHAR cStreamName[MAX_PATH + 36];
937 } WIN32_FIND_STREAM_DATA, *PWIN32_FIND_STREAM_DATA;
938 #endif
939 
940 typedef struct _WIN32_STREAM_ID {
947 
948 #if (_WIN32_WINNT >= 0x0600)
949 
950 typedef enum _FILE_ID_TYPE {
951  FileIdType,
952  ObjectIdType,
953  ExtendedFileIdType,
954  MaximumFileIdType
955 } FILE_ID_TYPE, *PFILE_ID_TYPE;
956 
957 typedef struct _FILE_ID_DESCRIPTOR {
958  DWORD dwSize;
959  FILE_ID_TYPE Type;
960  union {
961  LARGE_INTEGER FileId;
962  GUID ObjectId;
963  } DUMMYUNIONNAME;
964 } FILE_ID_DESCRIPTOR, *LPFILE_ID_DESCRIPTOR;
965 
966 typedef enum _FILE_INFO_BY_HANDLE_CLASS {
967  FileBasicInfo,
968  FileStandardInfo,
969  FileNameInfo,
970  FileRenameInfo,
971  FileDispositionInfo,
972  FileAllocationInfo,
973  FileEndOfFileInfo,
974  FileStreamInfo,
975  FileCompressionInfo,
976  FileAttributeTagInfo,
977  FileIdBothDirectoryInfo,
978  FileIdBothDirectoryRestartInfo,
979  FileIoPriorityHintInfo,
980  FileRemoteProtocolInfo,
981  FileFullDirectoryInfo,
982  FileFullDirectoryRestartInfo,
983  FileStorageInfo,
984  FileAlignmentInfo,
985  FileIdInfo,
986  FileIdExtdDirectoryInfo,
987  FileIdExtdDirectoryRestartInfo,
988  MaximumFileInfoByHandlesClass
989 } FILE_INFO_BY_HANDLE_CLASS, *PFILE_INFO_BY_HANDLE_CLASS;
990 
991 typedef struct _FILE_ID_BOTH_DIR_INFO {
992  DWORD NextEntryOffset;
993  DWORD FileIndex;
994  LARGE_INTEGER CreationTime;
995  LARGE_INTEGER LastAccessTime;
996  LARGE_INTEGER LastWriteTime;
997  LARGE_INTEGER ChangeTime;
998  LARGE_INTEGER EndOfFile;
1002  DWORD EaSize;
1003  CCHAR ShortNameLength;
1004  WCHAR ShortName[12];
1005  LARGE_INTEGER FileId;
1006  WCHAR FileName[1];
1007 } FILE_ID_BOTH_DIR_INFO, *PFILE_ID_BOTH_DIR_INFO;
1008 
1009 typedef struct _FILE_BASIC_INFO {
1010  LARGE_INTEGER CreationTime;
1011  LARGE_INTEGER LastAccessTime;
1012  LARGE_INTEGER LastWriteTime;
1013  LARGE_INTEGER ChangeTime;
1015 } FILE_BASIC_INFO, *PFILE_BASIC_INFO;
1016 
1017 typedef struct _FILE_STANDARD_INFO {
1019  LARGE_INTEGER EndOfFile;
1020  DWORD NumberOfLinks;
1021  BOOLEAN DeletePending;
1023 } FILE_STANDARD_INFO, *PFILE_STANDARD_INFO;
1024 
1025 typedef struct _FILE_NAME_INFO {
1027  WCHAR FileName[1];
1028 } FILE_NAME_INFO, *PFILE_NAME_INFO;
1029 
1030 typedef enum _PRIORITY_HINT {
1031  IoPriorityHintVeryLow,
1032  IoPriorityHintLow,
1033  IoPriorityHintNormal,
1034  MaximumIoPriorityHintType
1035 } PRIORITY_HINT;
1036 
1037 typedef struct _FILE_IO_PRIORITY_HINT_INFO {
1038  PRIORITY_HINT PriorityHint;
1039 } FILE_IO_PRIORITY_HINT_INFO;
1040 
1041 typedef struct _FILE_ALLOCATION_INFO {
1043 } FILE_ALLOCATION_INFO, *PFILE_ALLOCATION_INFO;
1044 
1045 typedef struct _FILE_DISPOSITION_INFO {
1047 } FILE_DISPOSITION_INFO, *PFILE_DISPOSITION_INFO;
1048 
1049 typedef struct _FILE_END_OF_FILE_INFO {
1050  LARGE_INTEGER EndOfFile;
1051 } FILE_END_OF_FILE_INFO, *PFILE_END_OF_FILE_INFO;
1052 
1053 typedef struct _FILE_RENAME_INFO {
1054  BOOLEAN ReplaceIfExists;
1057  WCHAR FileName[1];
1058 } FILE_RENAME_INFO, *PFILE_RENAME_INFO;
1059 
1060 typedef struct _FILE_ATTRIBUTE_TAG_INFO {
1062  DWORD ReparseTag;
1063 } FILE_ATTRIBUTE_TAG_INFO, *PFILE_ATTRIBUTE_TAG_INFO;
1064 
1065 typedef struct _FILE_COMPRESSION_INFO {
1066  LARGE_INTEGER CompressedFileSize;
1067  WORD CompressionFormat;
1068  UCHAR CompressionUnitShift;
1069  UCHAR ChunkShift;
1070  UCHAR ClusterShift;
1071  UCHAR Reserved[3];
1072 } FILE_COMPRESSION_INFO, *PFILE_COMPRESSION_INFO;
1073 
1074 typedef struct _FILE_REMOTE_PROTOCOL_INFO {
1075  USHORT StructureVersion;
1076  USHORT StructureSize;
1077  ULONG Protocol;
1078  USHORT ProtocolMajorVersion;
1079  USHORT ProtocolMinorVersion;
1080  USHORT ProtocolRevision;
1081  USHORT Reserved;
1082  ULONG Flags;
1083  struct {
1084  ULONG Reserved[8];
1085  } GenericReserved;
1086  struct {
1087  ULONG Reserved[16];
1088  } ProtocolSpecificReserved;
1089 } FILE_REMOTE_PROTOCOL_INFO, *PFILE_REMOTE_PROTOCOL_INFO;
1090 
1091 #endif
1092 
1093 typedef enum _FINDEX_INFO_LEVELS {
1098 
1099 typedef enum _FINDEX_SEARCH_OPS {
1105 
1106 typedef struct tagHW_PROFILE_INFOA {
1111 
1112 typedef struct tagHW_PROFILE_INFOW {
1117 
1118 /* Event Logging */
1119 
1120 #define EVENTLOG_FULL_INFO 0
1121 
1125 
1130 
1131 typedef struct _SYSTEM_INFO {
1132  _ANONYMOUS_UNION union {
1134  _ANONYMOUS_STRUCT struct {
1137  } DUMMYSTRUCTNAME;
1138  } DUMMYUNIONNAME;
1149 
1150 typedef struct _SYSTEM_POWER_STATUS {
1158 
1170 
1171 typedef struct _TIME_ZONE_INFORMATION {
1180 
1181 typedef struct _MEMORYSTATUS {
1191 
1192 #if (_WIN32_WINNT >= 0x0500)
1193 typedef struct _MEMORYSTATUSEX {
1194  DWORD dwLength;
1195  DWORD dwMemoryLoad;
1196  DWORDLONG ullTotalPhys;
1197  DWORDLONG ullAvailPhys;
1198  DWORDLONG ullTotalPageFile;
1199  DWORDLONG ullAvailPageFile;
1200  DWORDLONG ullTotalVirtual;
1201  DWORDLONG ullAvailVirtual;
1202  DWORDLONG ullAvailExtendedVirtual;
1203 } MEMORYSTATUSEX, *LPMEMORYSTATUSEX;
1204 #endif
1205 
1206 #ifndef _LDT_ENTRY_DEFINED
1207 #define _LDT_ENTRY_DEFINED
1208 typedef struct _LDT_ENTRY {
1209  WORD LimitLow;
1210  WORD BaseLow;
1211  union {
1212  struct {
1213  BYTE BaseMid;
1214  BYTE Flags1;
1215  BYTE Flags2;
1216  BYTE BaseHi;
1217  } Bytes;
1218  struct {
1219  DWORD BaseMid:8;
1220  DWORD Type:5;
1221  DWORD Dpl:2;
1222  DWORD Pres:1;
1223  DWORD LimitHi:4;
1224  DWORD Sys:1;
1225  DWORD Reserved_0:1;
1226  DWORD Default_Big:1;
1227  DWORD Granularity:1;
1228  DWORD BaseHi:8;
1229  } Bits;
1230  } HighWord;
1232 #endif
1233 
1234 typedef struct _PROCESS_HEAP_ENTRY {
1240  _ANONYMOUS_UNION union {
1241  struct {
1244  } Block;
1245  struct {
1250  } Region;
1251  } DUMMYUNIONNAME;
1253 
1254 typedef struct _OFSTRUCT {
1262 
1263 #if (_WIN32_WINNT >= 0x0501)
1264 typedef struct tagACTCTXA {
1265  ULONG cbSize;
1266  DWORD dwFlags;
1267  LPCSTR lpSource;
1268  USHORT wProcessorArchitecture;
1269  LANGID wLangId;
1270  LPCSTR lpAssemblyDirectory;
1271  LPCSTR lpResourceName;
1272  LPCSTR lpApplicationName;
1273  HMODULE hModule;
1274 } ACTCTXA,*PACTCTXA;
1275 typedef const ACTCTXA *PCACTCTXA;
1276 
1277 typedef struct tagACTCTXW {
1278  ULONG cbSize;
1279  DWORD dwFlags;
1280  LPCWSTR lpSource;
1281  USHORT wProcessorArchitecture;
1282  LANGID wLangId;
1283  LPCWSTR lpAssemblyDirectory;
1284  LPCWSTR lpResourceName;
1285  LPCWSTR lpApplicationName;
1286  HMODULE hModule;
1287 } ACTCTXW,*PACTCTXW;
1288 typedef const ACTCTXW *PCACTCTXW;
1289 
1290 typedef struct tagACTCTX_SECTION_KEYED_DATA_2600 {
1291  ULONG cbSize;
1292  ULONG ulDataFormatVersion;
1293  PVOID lpData;
1294  ULONG ulLength;
1295  PVOID lpSectionGlobalData;
1296  ULONG ulSectionGlobalDataLength;
1297  PVOID lpSectionBase;
1298  ULONG ulSectionTotalLength;
1299  HANDLE hActCtx;
1300  ULONG ulAssemblyRosterIndex;
1301 } ACTCTX_SECTION_KEYED_DATA_2600, *PACTCTX_SECTION_KEYED_DATA_2600;
1302 typedef const ACTCTX_SECTION_KEYED_DATA_2600 *PCACTCTX_SECTION_KEYED_DATA_2600;
1303 
1304 typedef struct tagACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA {
1305  PVOID lpInformation;
1306  PVOID lpSectionBase;
1307  ULONG ulSectionLength;
1308  PVOID lpSectionGlobalDataBase;
1309  ULONG ulSectionGlobalDataLength;
1310 } ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA, *PACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA;
1311 typedef const ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA *PCACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA;
1312 
1313 typedef struct tagACTCTX_SECTION_KEYED_DATA {
1314  ULONG cbSize;
1315  ULONG ulDataFormatVersion;
1316  PVOID lpData;
1317  ULONG ulLength;
1318  PVOID lpSectionGlobalData;
1319  ULONG ulSectionGlobalDataLength;
1320  PVOID lpSectionBase;
1321  ULONG ulSectionTotalLength;
1322  HANDLE hActCtx;
1323  ULONG ulAssemblyRosterIndex;
1324  /* Non 2600 extra fields */
1325  ULONG ulFlags;
1326  ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA AssemblyMetadata;
1327 } ACTCTX_SECTION_KEYED_DATA,*PACTCTX_SECTION_KEYED_DATA;
1328 
1329 typedef const ACTCTX_SECTION_KEYED_DATA *PCACTCTX_SECTION_KEYED_DATA;
1330 
1331 typedef struct _ACTIVATION_CONTEXT_BASIC_INFORMATION {
1332  HANDLE hActCtx;
1333  DWORD dwFlags;
1334 } ACTIVATION_CONTEXT_BASIC_INFORMATION, *PACTIVATION_CONTEXT_BASIC_INFORMATION;
1335 typedef const struct _ACTIVATION_CONTEXT_BASIC_INFORMATION *PCACTIVATION_CONTEXT_BASIC_INFORMATION;
1336 
1337 typedef BOOL
1338 (WINAPI *PQUERYACTCTXW_FUNC)(
1339  _In_ DWORD dwFlags,
1340  _In_ HANDLE hActCtx,
1341  _In_opt_ PVOID pvSubInstance,
1342  _In_ ULONG ulInfoClass,
1343  _Out_writes_bytes_to_opt_(cbBuffer, *pcbWrittenOrRequired) PVOID pvBuffer,
1344  _In_ SIZE_T cbBuffer,
1345  _Out_opt_ SIZE_T *pcbWrittenOrRequired);
1346 
1347 typedef enum {
1348  LowMemoryResourceNotification ,
1349  HighMemoryResourceNotification
1350 } MEMORY_RESOURCE_NOTIFICATION_TYPE;
1351 #endif /* (_WIN32_WINNT >= 0x0501) */
1352 
1353 #if (_WIN32_WINNT >= 0x0500)
1354 typedef enum _COMPUTER_NAME_FORMAT {
1355  ComputerNameNetBIOS,
1356  ComputerNameDnsHostname,
1357  ComputerNameDnsDomain,
1358  ComputerNameDnsFullyQualified,
1359  ComputerNamePhysicalNetBIOS,
1360  ComputerNamePhysicalDnsHostname,
1361  ComputerNamePhysicalDnsDomain,
1362  ComputerNamePhysicalDnsFullyQualified,
1363  ComputerNameMax
1364 } COMPUTER_NAME_FORMAT;
1365 #endif /* (_WIN32_WINNT >= 0x0500) */
1366 
1367 #if (_WIN32_WINNT >= 0x0600)
1368 typedef RTL_SRWLOCK SRWLOCK, *PSRWLOCK;
1369 typedef RTL_CONDITION_VARIABLE CONDITION_VARIABLE, *PCONDITION_VARIABLE;
1370 #endif
1371 
1373 
1374 #define PROC_THREAD_ATTRIBUTE_NUMBER 0x0000ffff
1375 #define PROC_THREAD_ATTRIBUTE_THREAD 0x00010000
1376 #define PROC_THREAD_ATTRIBUTE_INPUT 0x00020000
1377 #define PROC_THREAD_ATTRIBUTE_ADDITIVE 0x00040000
1378 
1394 
1395 #define PROC_THREAD_ATTRIBUTE_IDEAL_PROCESSOR (ProcThreadAttributeIdealProcessor | PROC_THREAD_ATTRIBUTE_THREAD | PROC_THREAD_ATTRIBUTE_INPUT)
1396 #define PROC_THREAD_ATTRIBUTE_HANDLE_LIST (ProcThreadAttributeHandleList | PROC_THREAD_ATTRIBUTE_INPUT)
1397 #define PROC_THREAD_ATTRIBUTE_PARENT_PROCESS (ProcThreadAttributeParentProcess | PROC_THREAD_ATTRIBUTE_INPUT)
1398 
1399 typedef DWORD
1401  _In_reads_bytes_(ulLength) PBYTE pbData,
1402  _In_opt_ PVOID pvCallbackContext,
1403  _In_ ULONG ulLength);
1404 
1406 
1407 typedef VOID (WINAPI *PFIBER_START_ROUTINE)( LPVOID lpFiberParameter );
1409 
1422 #if (_WIN32_WINNT >= 0x0600)
1423 typedef DWORD (WINAPI *APPLICATION_RECOVERY_CALLBACK)(PVOID);
1424 #endif
1425 
1426 #ifdef WINE_NO_UNICODE_MACROS /* force using a cast */
1427 #define MAKEINTATOM(atom) ((ULONG_PTR)((WORD)(atom)))
1428 #else
1429 #define MAKEINTATOM(i) (LPTSTR)((ULONG_PTR)((WORD)(i)))
1430 #endif
1431 
1432 typedef DWORD
1434  _Out_writes_bytes_to_(*ulLength, *ulLength) PBYTE pbData,
1435  _In_opt_ PVOID pvCallbackContext,
1436  _Inout_ PULONG ulLength);
1437 
1438 /* Functions */
1439 #ifndef UNDER_CE
1441 #else
1443 #endif
1445 
1446 long
1447 WINAPI
1448 _hread(
1449  _In_ HFILE hFile,
1450  _Out_writes_bytes_to_(lBytes, return) LPVOID lpBuffer,
1451  _In_ long lBytes);
1452 
1453 long
1454 WINAPI
1455 _hwrite(
1456  _In_ HFILE hFile,
1458  _In_ long lBytes);
1459 
1464 
1465 UINT
1466 WINAPI
1467 _lread(
1468  _In_ HFILE hFile,
1469  _Out_writes_bytes_to_(uBytes, return) LPVOID lpBuffer,
1470  _In_ UINT uBytes);
1471 
1472 UINT
1473 WINAPI
1474 _lwrite(
1475  _In_ HFILE hFile,
1477  _In_ UINT uBytes);
1478 
1480 
1481 BOOL
1482 WINAPI
1484  _In_ LPCSTR SubsystemName,
1485  _In_opt_ LPVOID HandleId,
1491  _In_ BOOL ObjectCreation,
1494  _Out_ LPBOOL pfGenerateOnClose);
1495 
1497 #if (_WIN32_WINNT >= 0x0600)
1500 #endif
1501 #if (_WIN32_WINNT >= 0x0501)
1503 #endif
1506 #if (_WIN32_WINNT >= 0x0500)
1511 #endif
1516 #if (_WIN32_WINNT >= 0x0500)
1518 #endif
1519 #if (_WIN32_WINNT >= 0x0501)
1521 #endif
1522 #if (_WIN32_WINNT >= 0x0500)
1523 _Ret_maybenull_ PVOID WINAPI AddVectoredExceptionHandler(_In_ ULONG, _In_ PVECTORED_EXCEPTION_HANDLER);
1525 #endif
1537 
1538 BOOL
1539 WINAPI
1540 BackupRead(
1541  _In_ HANDLE hFile,
1542  _Out_writes_bytes_to_(nNumberOfBytesToRead, *lpNumberOfBytesRead) LPBYTE lpBuffer,
1543  _In_ DWORD nNumberOfBytesToRead,
1544  _Out_ LPDWORD lpNumberOfBytesRead,
1545  _In_ BOOL bAbort,
1546  _In_ BOOL bProcessSecurity,
1547  _Inout_ LPVOID *lpContext);
1548 
1550 
1551 BOOL
1552 WINAPI
1553 BackupWrite(
1554  _In_ HANDLE hFile,
1557  _Out_ LPDWORD lpNumberOfBytesWritten,
1558  _In_ BOOL bAbort,
1559  _In_ BOOL bProcessSecurity,
1560  _Inout_ LPVOID *lpContext);
1561 
1565 #if (_WIN32_WINNT >= 0x0500)
1567 #endif
1572 
1573 BOOL
1574 WINAPI
1576  _In_ LPCSTR lpNamedPipeName,
1577  _In_reads_bytes_opt_(nInBufferSize) LPVOID lpInBuffer,
1578  _In_ DWORD nInBufferSize,
1579  _Out_writes_bytes_to_opt_(nOutBufferSize, *lpBytesRead) LPVOID lpOutBuffer,
1580  _In_ DWORD nOutBufferSize,
1581  _Out_ LPDWORD lpBytesRead,
1582  _In_ DWORD nTimeOut);
1583 
1584 BOOL
1585 WINAPI
1587  _In_ LPCWSTR lpNamedPipeName,
1588  _In_reads_bytes_opt_(nInBufferSize) LPVOID lpInBuffer,
1589  _In_ DWORD nInBufferSize,
1590  _Out_writes_bytes_to_opt_(nOutBufferSize, *lpBytesRead) LPVOID lpOutBuffer,
1591  _In_ DWORD nOutBufferSize,
1592  _Out_ LPDWORD lpBytesRead,
1593  _In_ DWORD nTimeOut);
1594 
1597 #if (_WIN32_WINNT >= 0x0600)
1598 BOOL WINAPI CancelIoEx(HANDLE,LPOVERLAPPED);
1599 BOOL WINAPI CancelSynchronousIo(HANDLE);
1600 #endif
1602 
1603 #if (_WIN32_WINNT >= 0x0501)
1604 
1605 BOOL
1606 WINAPI
1608  _In_ LPCSTR lpName,
1609  _Out_writes_opt_(OemNameSize) LPSTR lpOemName,
1610  _In_ DWORD OemNameSize,
1611  _Out_opt_ PBOOL pbNameContainsSpaces,
1612  _Out_ PBOOL pbNameLegal);
1613 
1614 BOOL
1615 WINAPI
1618  _Out_writes_opt_(OemNameSize) LPSTR lpOemName,
1619  _In_ DWORD OemNameSize,
1620  _Out_opt_ PBOOL pbNameContainsSpaces,
1621  _Out_ PBOOL pbNameLegal);
1622 
1624 #endif
1625 
1637 #if (_WIN32_WINNT >= 0x0400)
1639 #endif
1645 #define MoveMemory RtlMoveMemory
1646 #define CopyMemory RtlCopyMemory
1647 #define FillMemory RtlFillMemory
1648 #define ZeroMemory RtlZeroMemory
1649 #define SecureZeroMemory RtlSecureZeroMemory
1651 #if (_WIN32_WINNT >= 0x0501)
1652 HANDLE WINAPI CreateActCtxA(_In_ PCACTCTXA);
1653 HANDLE WINAPI CreateActCtxW(_In_ PCACTCTXW);
1654 #endif
1659 HANDLE WINAPI CreateEventA(_In_opt_ LPSECURITY_ATTRIBUTES lpEventAttributes, _In_ BOOL bManualReset, _In_ BOOL bInitialState, _In_opt_ LPCSTR lpName);
1661 #if (_WIN32_WINNT >= 0x0600)
1664 #endif
1666 #if (_WIN32_WINNT >= 0x0400)
1668 #endif
1673 #if (_WIN32_WINNT >= 0x0500)
1676 #endif
1678 #if (_WIN32_WINNT >= 0x0500)
1683 #endif
1686 #if (_WIN32_WINNT >= 0x0501)
1687 HANDLE WINAPI CreateMemoryResourceNotification(MEMORY_RESOURCE_NOTIFICATION_TYPE);
1688 #endif
1691 #if (_WIN32_WINNT >= 0x0600)
1694 #endif
1701 
1702 BOOL
1703 WINAPI
1705  _In_opt_ HANDLE,
1706  _In_opt_ LPCSTR,
1710  _In_ BOOL,
1711  _In_ DWORD,
1712  _In_opt_ PVOID,
1713  _In_opt_ LPCSTR,
1716 
1719 
1720 BOOL
1721 WINAPI
1723  _In_ HANDLE ExistingTokenHandle,
1724  _In_ DWORD Flags,
1725  _In_ DWORD DisableSidCount,
1726  _In_reads_opt_(DisableSidCount) PSID_AND_ATTRIBUTES SidsToDisable,
1727  _In_ DWORD DeletePrivilegeCount,
1728  _In_reads_opt_(DeletePrivilegeCount) PLUID_AND_ATTRIBUTES PrivilegesToDelete,
1729  _In_ DWORD RestrictedSidCount,
1730  _In_reads_opt_(RestrictedSidCount) PSID_AND_ATTRIBUTES SidsToRestrict,
1732 
1735 #if (_WIN32_WINNT >= 0x0600)
1738 #endif
1740 
1741 #if (_WIN32_WINNT >= 0x0500)
1742 
1744 
1745 BOOL
1746 WINAPI
1748  _Outptr_ PHANDLE,
1749  _In_opt_ HANDLE,
1751  _In_opt_ PVOID,
1752  _In_ DWORD,
1753  _In_ DWORD,
1754  _In_ ULONG);
1755 
1757 BOOL
1758 WINAPI
1760  _In_opt_ HANDLE TimerQueue,
1762  _In_ ULONG DueTime,
1763  _In_ ULONG Period);
1764 
1765 #endif /* (_WIN32_WINNT >= 0x0500) */
1766 
1770 #if (_WIN32_WINNT >= 0x0600)
1772 HANDLE WINAPI CreateWaitableTimerExW(LPSECURITY_ATTRIBUTES,LPCWSTR,DWORD,DWORD);
1773 #endif
1774 #if (_WIN32_WINNT >= 0x0501)
1777 #endif
1779 #if (_WIN32_WINNT >= 0x0501)
1781 #endif
1782 void WINAPI DebugBreak(void);
1783 #if (_WIN32_WINNT >= 0x0501)
1786 #endif
1793 #define DefineHandleTable(w) ((w),TRUE)
1800 #if (_WIN32_WINNT >= 0x0500)
1806 #endif
1811 
1812 #if (_WIN32_WINNT >= 0x0500)
1813 
1814 _Success_(return != FALSE)
1815 BOOL
1816 WINAPI
1818  _In_ LPCSTR Hostname,
1819  _Out_writes_to_opt_(*nSize, *nSize + 1) LPSTR ComputerName,
1821 
1822 _Success_(return != FALSE)
1823 BOOL
1824 WINAPI
1826  _In_ LPCWSTR Hostname,
1827  _Out_writes_to_opt_(*nSize, *nSize + 1) LPWSTR ComputerName,
1829 
1830 #endif
1831 
1855 DECLSPEC_NORETURN void WINAPI ExitThread(_In_ DWORD dwExitCode);
1866 #if (_WIN32_WINNT >= 0x0501)
1870 #endif
1881 #if (_WIN32_WINNT >= 0x0501)
1883 #endif
1885 
1886 #if (_WIN32_WINNT >= 0x0500)
1887 
1888 HANDLE
1889 WINAPI
1891  _Out_writes_(cchBufferLength) LPSTR lpszVolumeName,
1892  _In_ DWORD cchBufferLength);
1893 
1895 
1896 HANDLE
1897 WINAPI
1899  _In_ LPCSTR lpszRootPathName,
1900  _Out_writes_(cchBufferLength) LPSTR lpszVolumeMountPoint,
1901  _In_ DWORD cchBufferLength);
1902 
1903 HANDLE
1904 WINAPI
1906  _In_ LPCWSTR lpszRootPathName,
1907  _Out_writes_(cchBufferLength) LPWSTR lpszVolumeMountPoint,
1908  _In_ DWORD cchBufferLength);
1909 
1910 #endif
1911 
1915 #if (_WIN32_WINNT >= 0x0501)
1917 #endif
1918 
1919 #if (_WIN32_WINNT >= 0x0500)
1920 
1921 BOOL
1922 WINAPI
1924  _Inout_ HANDLE hFindVolume,
1925  _Out_writes_(cchBufferLength) LPSTR lpszVolumeName,
1926  _In_ DWORD cchBufferLength);
1927 
1929 
1930 BOOL
1931 WINAPI
1933  _In_ HANDLE hFindVolumeMountPoint,
1934  _Out_writes_(cchBufferLength) LPSTR lpszVolumeMountPoint,
1935  _In_ DWORD cchBufferLength);
1936 
1937 BOOL
1938 WINAPI
1940  _In_ HANDLE hFindVolumeMountPoint,
1941  _Out_writes_(cchBufferLength) LPWSTR lpszVolumeMountPoint,
1942  _In_ DWORD cchBufferLength);
1943 
1946 
1947 #endif
1948 
1953 #if (_WIN32_WINNT >= 0x0502)
1954 
1955 DWORD
1956 WINAPI
1958  _In_ LPCSTR lpName,
1959  _In_ LPCSTR lpGuid,
1961  _In_ DWORD nSize);
1962 
1963 DWORD
1964 WINAPI
1967  _In_ LPCWSTR lpGuid,
1969  _In_ DWORD nSize);
1970 
1971 #endif
1985 #define FreeModule(m) FreeLibrary(m)
1986 #define FreeProcInstance(p) (void)(p)
1987 #ifndef XFree86Server
1989 #endif /* ndef XFree86Server */
1993 #if (_WIN32_WINNT >= 0x0600)
1994 HRESULT WINAPI GetApplicationRecoveryCallback(_In_ HANDLE, _Out_ APPLICATION_RECOVERY_CALLBACK*, _Outptr_opt_result_maybenull_ PVOID*, _Out_opt_ DWORD*, _Out_opt_ DWORD*);
1995 HRESULT WINAPI GetApplicationRestart(HANDLE,PWSTR,PDWORD,PDWORD);
1996 #endif
1997 
1998 UINT
1999 WINAPI
2000 GetAtomNameA(
2001  _In_ ATOM nAtom,
2002  _Out_writes_to_(nSize, return + 1) LPSTR lpBuffer,
2003  _In_ int nSize);
2004 
2005 UINT
2006 WINAPI
2007 GetAtomNameW(
2008  _In_ ATOM nAtom,
2009  _Out_writes_to_(nSize, return + 1) LPWSTR lpBuffer,
2010  _In_ int nSize);
2011 
2016 
2017 _Success_(return != FALSE)
2018 BOOL
2019 WINAPI
2021  _In_ HANDLE hCommDev,
2024 
2032 
2033 _Success_(return != 0)
2034 BOOL
2035 WINAPI
2039 
2040 _Success_(return != 0)
2041 BOOL
2042 WINAPI
2046 
2047 #if (_WIN32_WINNT >= 0x0500)
2048 BOOL WINAPI GetComputerNameExA(COMPUTER_NAME_FORMAT,LPSTR,LPDWORD);
2049 BOOL WINAPI GetComputerNameExW(COMPUTER_NAME_FORMAT,LPWSTR,LPDWORD);
2050 #endif
2051 #if (_WIN32_WINNT >= 0x0501)
2053 #endif
2062 #define GetCurrentTime GetTickCount
2063 
2064 BOOL
2065 WINAPI
2067  _In_ LPCSTR lpszName,
2070 
2071 BOOL
2072 WINAPI
2074  _In_ LPCWSTR lpszName,
2077 
2082 
2083 #if (_WIN32_WINNT >= 0x0502)
2084 
2085 _Success_(return != 0 && return < nBufferLength)
2086 DWORD
2087 WINAPI
2091 
2092 _Success_(return != 0 && return < nBufferLength)
2093 DWORD
2094 WINAPI
2098 
2099 #endif
2100 
2110 #if (_WIN32_WINNT >= 0x0600)
2112 DWORD WINAPI GetFinalPathNameByHandleA(HANDLE,LPSTR,DWORD,DWORD);
2113 DWORD WINAPI GetFinalPathNameByHandleW(HANDLE,LPWSTR,DWORD,DWORD);
2114 #endif
2118 #if (_WIN32_WINNT >= 0x0600)
2119 BOOL WINAPI GetFileBandwidthReservation(_In_ HANDLE, _Out_ LPDWORD, _Out_ LPDWORD, _Out_ LPBOOL, _Out_ LPDWORD, _Out_ LPDWORD);
2120 #endif
2122 
2123 #if (_WIN32_WINNT >= 0x0600)
2124 BOOL
2125 WINAPI
2127  _In_ HANDLE hFile,
2129  _Out_writes_bytes_(dwBufferSize) LPVOID lpFileInformation,
2130  _In_ DWORD dwBufferSize);
2131 #endif
2132 
2133 BOOL
2134 WINAPI
2137  _In_ SECURITY_INFORMATION RequestedInformation,
2138  _Out_writes_bytes_to_opt_(nLength, *lpnLengthNeeded) PSECURITY_DESCRIPTOR pSecurityDescriptor,
2139  _In_ DWORD nLength,
2140  _Out_ LPDWORD lpnLengthNeeded);
2141 
2147 #define GetFreeSpace(w) (0x100000L)
2152 DWORD WINAPI GetLastError(void);
2156 
2157 _Success_(return != 0 && return <= nBufferLength)
2158 DWORD
2159 WINAPI
2163 
2165 #if (_WIN32_WINNT >= 0x0500 || _WIN32_WINDOWS >= 0x0410)
2168 #endif
2174 #if (_WIN32_WINNT >= 0x0500)
2177 #endif
2178 
2179 #if _WIN32_WINNT >= 0x0502
2182 #endif
2183 
2184 BOOL
2185 WINAPI
2187  _In_ HANDLE hNamedPipe,
2188  _Out_opt_ LPDWORD lpState,
2189  _Out_opt_ LPDWORD lpCurInstances,
2190  _Out_opt_ LPDWORD lpMaxCollectionCount,
2191  _Out_opt_ LPDWORD lpCollectDataTimeout,
2192  _Out_writes_opt_(nMaxUserNameSize) LPSTR lpUserName,
2193  _In_ DWORD nMaxUserNameSize);
2194 
2195 BOOL
2196 WINAPI
2198  _In_ HANDLE hNamedPipe,
2199  _Out_opt_ LPDWORD lpState,
2200  _Out_opt_ LPDWORD lpCurInstances,
2201  _Out_opt_ LPDWORD lpMaxCollectionCount,
2202  _Out_opt_ LPDWORD lpCollectDataTimeout,
2203  _Out_writes_opt_(nMaxUserNameSize) LPWSTR lpUserName,
2204  _In_ DWORD nMaxUserNameSize);
2205 
2207 #if (_WIN32_WINNT >= 0x0501)
2209 #endif
2210 
2211 BOOL
2212 WINAPI
2214  _In_ HANDLE hEventLog,
2219 
2227 
2228 DWORD
2229 WINAPI
2231  _In_ LPCSTR lpAppName,
2232  _Out_writes_to_opt_(nSize, return + 1) LPSTR lpReturnedString,
2233  _In_ DWORD nSize,
2235 
2236 DWORD
2237 WINAPI
2239  _In_ LPCWSTR lpAppName,
2240  _Out_writes_to_opt_(nSize, return + 1) LPWSTR lpReturnedString,
2241  _In_ DWORD nSize,
2243 
2244 DWORD
2245 WINAPI
2247  _Out_writes_to_opt_(nSize, return + 1) LPSTR lpszReturnBuffer,
2248  _In_ DWORD nSize,
2250 
2251 DWORD
2252 WINAPI
2254  _Out_writes_to_opt_(nSize, return + 1) LPWSTR lpszReturnBuffer,
2255  _In_ DWORD nSize,
2257 
2258 DWORD
2259 WINAPI
2261  _In_opt_ LPCSTR lpAppName,
2262  _In_opt_ LPCSTR lpKeyName,
2263  _In_opt_ LPCSTR lpDefault,
2264  _Out_writes_to_opt_(nSize, return + 1) LPSTR lpReturnedString,
2265  _In_ DWORD nSize,
2267 
2268 DWORD
2269 WINAPI
2271  _In_opt_ LPCWSTR lpAppName,
2272  _In_opt_ LPCWSTR lpKeyName,
2273  _In_opt_ LPCWSTR lpDefault,
2274  _Out_writes_to_opt_(nSize, return + 1) LPWSTR lpReturnedString,
2275  _In_ DWORD nSize,
2277 
2278 BOOL
2279 WINAPI
2281  _In_ LPCSTR lpszSection,
2282  _In_ LPCSTR lpszKey,
2283  _Out_writes_bytes_opt_(uSizeStruct) LPVOID lpStruct,
2284  _In_ UINT uSizeStruct,
2285  _In_opt_ LPCSTR szFile);
2286 
2287 BOOL
2288 WINAPI
2290  _In_ LPCWSTR lpszSection,
2291  _In_ LPCWSTR lpszKey,
2292  _Out_writes_bytes_opt_(uSizeStruct) LPVOID lpStruct,
2293  _In_ UINT uSizeStruct,
2294  _In_opt_ LPCWSTR szFile);
2295 
2298 #if (_WIN32_WINNT >= 0x0502)
2300 #endif
2303 #if (_WIN32_WINNT >= 0x0502)
2306 #endif
2307 #if (_WIN32_WINNT >= 0x0500)
2309 #endif
2314 HWINSTA WINAPI GetProcessWindowStation(void);
2318 
2319 DWORD
2320 WINAPI
2322  _In_ LPCSTR lpAppName,
2323  _Out_writes_to_opt_(nSize, return + 1) LPSTR lpReturnedString,
2324  _In_ DWORD nSize);
2325 
2326 DWORD
2327 WINAPI
2329  _In_ LPCWSTR lpAppName,
2330  _Out_writes_to_opt_(nSize, return + 1) LPWSTR lpReturnedString,
2331  _In_ DWORD nSize);
2332 
2333 DWORD
2334 WINAPI
2336  _In_opt_ LPCSTR lpAppName,
2337  _In_opt_ LPCSTR lpKeyName,
2338  _In_opt_ LPCSTR lpDefault,
2339  _Out_writes_to_opt_(nSize, return + 1) LPSTR lpReturnedString,
2340  _In_ DWORD nSize);
2341 
2342 DWORD
2343 WINAPI
2345  _In_opt_ LPCWSTR lpAppName,
2346  _In_opt_ LPCWSTR lpKeyName,
2347  _In_opt_ LPCWSTR lpDefault,
2348  _Out_writes_to_opt_(nSize, return + 1) LPWSTR lpReturnedString,
2349  _In_ DWORD nSize);
2350 
2359 
2360 _Success_(return != 0 && return < cchBuffer)
2361 DWORD
2362 WINAPI
2364  _In_ LPCSTR lpszLongPath,
2365  _Out_writes_to_opt_(cchBuffer, return + 1) LPSTR lpszShortPath,
2367 
2378 
2379 WINBASEAPI
2380 UINT
2381 WINAPI
2383  _In_ DWORD FirmwareTableProviderSignature,
2384  _In_ DWORD FirmwareTableID,
2385  _Out_writes_bytes_to_opt_(BufferSize,return) PVOID pFirmwareTableBuffer,
2387 
2390 #if (_WIN32_WINNT >= 0x0502)
2392 #endif
2394 #if (_WIN32_WINNT >= 0x0501)
2396 #endif
2399 #if (_WIN32_WINNT >= 0x0500)
2402 #endif
2403 
2404 #if (_WIN32_WINNT >= 0x0501)
2405 
2406 _Success_(return != 0 && return < uSize)
2407 UINT
2408 WINAPI
2410  _Out_writes_to_opt_(uSize, return + 1) LPSTR lpBuffer,
2411  _In_ UINT uSize);
2412 
2413 _Success_(return != 0 && return < uSize)
2414 UINT
2415 WINAPI
2417  _Out_writes_to_opt_(uSize, return + 1) LPWSTR lpBuffer,
2418  _In_ UINT uSize);
2419 
2420 #endif
2421 
2422 DWORD
2423 WINAPI
2425  _In_ HANDLE hDevice,
2426  _In_ DWORD dwOperation,
2428  _Out_writes_bytes_(*lpdwSize) LPVOID lpTapeInformation);
2429 
2432 
2433 UINT
2434 WINAPI
2436  _In_ LPCSTR lpPathName,
2437  _In_ LPCSTR lpPrefixString,
2438  _In_ UINT uUnique,
2439  _Out_writes_(MAX_PATH) LPSTR lpTempFileName);
2440 
2442 
2443 DWORD
2444 WINAPI
2445 GetTempPathA(
2448 
2451 #if (_WIN32_WINNT >= 0x0502)
2453 #endif
2459 #if (_WIN32_WINNT >= 0x0600)
2461 #endif
2465 
2466 BOOL
2467 WINAPI
2468 GetUserNameA(
2469  _Out_writes_to_opt_(*pcbBuffer, *pcbBuffer) LPSTR lpBuffer,
2470  _Inout_ LPDWORD pcbBuffer);
2471 
2472 BOOL
2473 WINAPI
2474 GetUserNameW(
2475  _Out_writes_to_opt_(*pcbBuffer, *pcbBuffer) LPWSTR lpBuffer,
2476  _Inout_ LPDWORD pcbBuffer);
2477 
2478 DWORD WINAPI GetVersion(void);
2481 
2482 BOOL
2483 WINAPI
2485  _In_opt_ LPCSTR lpRootPathName,
2486  _Out_writes_opt_(nVolumeNameSize) LPSTR lpVolumeNameBuffer,
2487  _In_ DWORD nVolumeNameSize,
2488  _Out_opt_ LPDWORD lpVolumeSerialNumber,
2489  _Out_opt_ LPDWORD lpMaximumComponentLength,
2490  _Out_opt_ LPDWORD lpFileSystemFlags,
2491  _Out_writes_opt_(nFileSystemNameSize) LPSTR lpFileSystemNameBuffer,
2492  _In_ DWORD nFileSystemNameSize);
2493 
2495 
2496 #if (_WIN32_WINNT >= 0x0500)
2497 
2498 BOOL
2499 WINAPI
2501  _In_ LPCSTR lpszVolumeMountPoint,
2502  _Out_writes_(cchBufferLength) LPSTR lpszVolumeName,
2503  _In_ DWORD cchBufferLength);
2504 
2506 
2507 BOOL
2508 WINAPI
2510  _In_ LPCSTR lpszFileName,
2511  _Out_writes_(cchBufferLength) LPSTR lpszVolumePathName,
2512  _In_ DWORD cchBufferLength);
2513 
2515 
2516 #endif
2517 
2518 #if (_WIN32_WINNT >= 0x0501)
2519 
2520 BOOL
2521 WINAPI
2523  _In_ LPCSTR lpszVolumeName,
2524  _Out_writes_to_opt_(cchBufferLength, *lpcchReturnLength) _Post_ _NullNull_terminated_ LPCH lpszVolumePathNames,
2525  _In_ DWORD cchBufferLength,
2526  _Out_ PDWORD lpcchReturnLength);
2527 
2529 
2530 #endif
2531 
2539 SIZE_T WINAPI GlobalCompact(_In_ DWORD); /* Obsolete: Has no effect. */
2541 #define GlobalDiscard(m) GlobalReAlloc((m),0,GMEM_MOVEABLE)
2544 VOID WINAPI GlobalFix(_In_ HGLOBAL); /* Obsolete: Has no effect. */
2545 UINT WINAPI GlobalFlags(_In_ HGLOBAL); /* Obsolete: Has no effect. */
2547 
2548 UINT
2549 WINAPI
2551  _In_ ATOM nAtom,
2552  _Out_writes_to_(nSize, return + 1) LPSTR lpBuffer,
2553  _In_ int nSize);
2554 
2555 UINT
2556 WINAPI
2558  _In_ ATOM nAtom,
2559  _Out_writes_to_(nSize, return + 1) LPWSTR lpBuffer,
2560  _In_ int nSize);
2561 
2565 #if (_WIN32_WINNT >= 0x0500)
2566 BOOL WINAPI GlobalMemoryStatusEx(LPMEMORYSTATUSEX);
2567 #endif
2570 VOID WINAPI GlobalUnfix(_In_ HGLOBAL); /* Obsolete: Has no effect. */
2572 BOOL WINAPI GlobalUnWire(_In_ HGLOBAL); /* Obsolete: Has no effect. */
2573 PVOID WINAPI GlobalWire(_In_ HGLOBAL); /* Obsolete: Has no effect. */
2574 #define HasOverlappedIoCompleted(lpOverlapped) ((lpOverlapped)->Internal != STATUS_PENDING)
2581 #if (_WIN32_WINNT >= 0x0501)
2583 #endif
2585 #if (_WIN32_WINNT >= 0x0501)
2587 #endif
2598 #if (_WIN32_WINNT >= 0x0600)
2599 VOID WINAPI InitializeConditionVariable(PCONDITION_VARIABLE);
2600 #endif
2606 
2607 #if (_WIN32_WINNT >= 0x0600)
2609 #endif
2610 
2619 #if (_WIN32_WINNT >= 0x0501)
2621 #endif
2624 
2625 BOOL
2626 WINAPI
2628  _In_reads_bytes_(iSize) CONST VOID *lpv,
2629  _In_ int iSize,
2630  _Inout_opt_ LPINT lpiResult);
2631 
2632 #if (_WIN32_WINNT >= 0x0600)
2634 #endif
2638 #if (_WIN32_WINNT >= 0x0501)
2641 #endif
2643 #define LimitEmsPages(n)
2651 SIZE_T WINAPI LocalCompact(_In_ UINT); /* Obsolete: Has no effect. */
2652 #define LocalDiscard(m) (LocalReAlloc((m),0,LMEM_MOVEABLE))
2654 UINT WINAPI LocalFlags(_In_ HLOCAL); /* Obsolete: Has no effect. */
2659 SIZE_T WINAPI LocalShrink(_In_ HLOCAL, _In_ UINT); /* Obsolete: Has no effect. */
2665 #define LockSegment(w) GlobalFix((HANDLE)(w)) /* Obsolete: Has no effect. */
2668 
2669 _Success_(return != FALSE)
2670 BOOL
2671 WINAPI
2672 LogonUserExA(
2673  _In_ LPSTR lpszUsername,
2683 
2684 _Success_(return != FALSE)
2685 BOOL
2686 WINAPI
2687 LogonUserExW(
2688  _In_ LPWSTR lpszUsername,
2698 
2699 _Success_(return != FALSE)
2700 BOOL
2701 WINAPI
2703  _In_opt_ LPCSTR lpSystemName,
2710 
2711 _Success_(return != FALSE)
2712 BOOL
2713 WINAPI
2715  _In_opt_ LPCWSTR lpSystemName,
2722 
2723 _Success_(return != FALSE)
2724 BOOL
2725 WINAPI
2727  _In_opt_ LPCSTR lpSystemName,
2728  _In_ PSID Sid,
2734 
2735 _Success_(return != FALSE)
2736 BOOL
2737 WINAPI
2739  _In_opt_ LPCWSTR lpSystemName,
2740  _In_ PSID Sid,
2746 
2747 _Success_(return != FALSE)
2748 BOOL
2749 WINAPI
2751  _In_opt_ LPCSTR lpSystemName,
2756 
2757 _Success_(return != FALSE)
2758 BOOL
2759 WINAPI
2761  _In_opt_ LPCWSTR lpSystemName,
2766 
2767 _Success_(return != FALSE)
2768 BOOL
2769 WINAPI
2771  _In_opt_ LPCSTR lpSystemName,
2775 
2776 _Success_(return != FALSE)
2777 BOOL
2778 WINAPI
2780  _In_opt_ LPCWSTR lpSystemName,
2781  _In_ PLUID lpLuid,
2784 
2787 
2788 LPSTR
2789 WINAPI
2790 lstrcatA(
2791  _Inout_updates_z_(_String_length_(lpString1) + _String_length_(lpString2) + 1) LPSTR lpString1,
2792  _In_ LPCSTR lpString2);
2793 
2794 LPWSTR
2795 WINAPI
2796 lstrcatW(
2797  _Inout_updates_z_(_String_length_(lpString1) + _String_length_(lpString2) + 1) LPWSTR lpString1,
2798  _In_ LPCWSTR lpString2);
2799 
2804 
2805 LPSTR
2806 WINAPI
2807 lstrcpyA(
2808  _Out_writes_(_String_length_(lpString2) + 1) LPSTR lpString1,
2809  _In_ LPCSTR lpString2);
2810 
2811 LPWSTR
2812 WINAPI
2813 lstrcpyW(
2814  _Out_writes_(_String_length_(lpString2) + 1) LPWSTR lpString1,
2815  _In_ LPCWSTR lpString2);
2816 
2819 int WINAPI lstrlenA(LPCSTR);
2820 int WINAPI lstrlenW(LPCWSTR);
2822 #define MakeProcInstance(p,i) (p)
2833 int WINAPI MulDiv(_In_ int, _In_ int, _In_ int);
2850 #if (_WIN32_WINNT >= 0x0600)
2852 #endif
2861 #if (_WIN32_WINNT >= 0x0500) || (_WIN32_WINDOWS >= 0x0490)
2863 #endif
2875 #if (_WIN32_WINNT >= 0x0500)
2877 #endif
2880 
2881 #if (_WIN32_WINNT >= 0x0501)
2882 BOOL
2883 WINAPI
2884 QueryActCtxW(
2885  _In_ DWORD dwFlags,
2886  _In_ HANDLE hActCtx,
2887  _In_opt_ PVOID pvSubInstance,
2888  _In_ ULONG ulInfoClass,
2889  _Out_writes_bytes_to_opt_(cbBuffer, *pcbWrittenOrRequired) PVOID pvBuffer,
2890  _In_ SIZE_T cbBuffer,
2891  _Out_opt_ SIZE_T *pcbWrittenOrRequired);
2892 #endif
2893 
2894 DWORD
2895 WINAPI
2897  _In_opt_ LPCSTR lpDeviceName,
2898  _Out_writes_to_opt_(ucchMax, return) LPSTR lpTargetPath,
2899  _In_ DWORD ucchMax);
2900 
2902 #if (_WIN32_WINNT >= 0x0501)
2904 #endif
2907 #if (_WIN32_WINNT >= 0x0600)
2909 #endif
2911 #if (_WIN32_WINNT >= 0x0500)
2913 #endif
2915 
2916 BOOL
2917 WINAPI
2919  _In_opt_ HANDLE hJob,
2920  _In_ JOBOBJECTINFOCLASS JobObjectInformationClass,
2921  _Out_writes_bytes_to_(cbJobObjectInformationLength, *lpReturnLength) LPVOID lpJobObjectInformation,
2922  _In_ DWORD cbJobObjectInformationLength,
2923  _Out_opt_ LPDWORD lpReturnLength);
2924 
2925 BOOL
2926 WINAPI
2928  _In_ HANDLE hDirectory,
2931  _In_ BOOL bWatchSubtree,
2932  _In_ DWORD dwNotifyFilter,
2935  _In_opt_ LPOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine);
2936 
2937 BOOL
2938 WINAPI
2940  _In_ HANDLE hEventLog,
2941  _In_ DWORD dwReadFlags,
2942  _In_ DWORD dwRecordOffset,
2943  _Out_writes_bytes_to_(nNumberOfBytesToRead, *pnBytesRead) LPVOID lpBuffer,
2944  _In_ DWORD nNumberOfBytesToRead,
2945  _Out_ DWORD *pnBytesRead,
2946  _Out_ DWORD *pnMinNumberOfBytesNeeded);
2947 
2948 BOOL
2949 WINAPI
2951  _In_ HANDLE hEventLog,
2952  _In_ DWORD dwReadFlags,
2953  _In_ DWORD dwRecordOffset,
2954  _Out_writes_bytes_to_(nNumberOfBytesToRead, *pnBytesRead) LPVOID lpBuffer,
2955  _In_ DWORD nNumberOfBytesToRead,
2956  _Out_ DWORD *pnBytesRead,
2957  _Out_ DWORD *pnMinNumberOfBytesNeeded);
2958 
2963 #if (_WIN32_WINNT >= 0x0600)
2964 VOID WINAPI RecoveryFinished(BOOL);
2965 HRESULT WINAPI RecoveryInProgress(OUT PBOOL);
2966 HRESULT WINAPI RegisterApplicationRecoveryCallback(_In_ APPLICATION_RECOVERY_CALLBACK, _In_opt_ PVOID, _In_ DWORD, _In_ DWORD);
2967 HRESULT WINAPI RegisterApplicationRestart(_In_opt_ PCWSTR, _In_ DWORD);
2968 #endif
2971 #if (_WIN32_WINNT >= 0x0500)
2974 #endif
2975 #if (_WIN32_WINNT >= 0x0501)
2977 #endif
2980 #if (_WIN32_WINNT >= 0x0600)
2983 #endif
2986 #if (_WIN32_WINNT >= 0x0500)
2987 ULONG WINAPI RemoveVectoredExceptionHandler(_In_ PVOID);
2988 ULONG WINAPI RemoveVectoredContinueHandler(_In_ PVOID);
2989 #endif
2990 #if (_WIN32_WINNT >= 0x0500)
2993 #endif
2994