ReactOS 0.4.16-dev-41-ge8c7597
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
11extern "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
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 COPY_FILE_ALLOW_DECRYPTED_DESTINATION 0x00000008
209
210#define FILE_FLAG_WRITE_THROUGH 0x80000000
211#define FILE_FLAG_OVERLAPPED 0x40000000
212#define FILE_FLAG_NO_BUFFERING 0x20000000
213#define FILE_FLAG_RANDOM_ACCESS 0x10000000
214#define FILE_FLAG_SEQUENTIAL_SCAN 0x08000000
215#define FILE_FLAG_DELETE_ON_CLOSE 0x04000000
216#define FILE_FLAG_BACKUP_SEMANTICS 0x02000000
217#define FILE_FLAG_POSIX_SEMANTICS 0x01000000
218#define FILE_FLAG_OPEN_REPARSE_POINT 0x00200000
219#define FILE_FLAG_OPEN_NO_RECALL 0x00100000
220#if (_WIN32_WINNT >= 0x0500)
221#define FILE_FLAG_FIRST_PIPE_INSTANCE 0x00080000
222#endif
223
224#define CLRDTR 6
225#define CLRRTS 4
226#define SETDTR 5
227#define SETRTS 3
228#define SETXOFF 1
229#define SETXON 2
230#define RESETDEV 7
231#define SETBREAK 8
232#define CLRBREAK 9
233#define STILL_ACTIVE 0x103
234#define FIND_FIRST_EX_CASE_SENSITIVE 1
235#define FIND_FIRST_EX_LARGE_FETCH 2
236#define SCS_32BIT_BINARY 0
237#define SCS_64BIT_BINARY 6
238#define SCS_DOS_BINARY 1
239#define SCS_OS216_BINARY 5
240#define SCS_PIF_BINARY 3
241#define SCS_POSIX_BINARY 4
242#define SCS_WOW_BINARY 2
243#define MAX_COMPUTERNAME_LENGTH 15
244#define HW_PROFILE_GUIDLEN 39
245#define MAX_PROFILE_LEN 80
246#define DOCKINFO_UNDOCKED 1
247#define DOCKINFO_DOCKED 2
248#define DOCKINFO_USER_SUPPLIED 4
249#define DOCKINFO_USER_UNDOCKED (DOCKINFO_USER_SUPPLIED|DOCKINFO_UNDOCKED)
250#define DOCKINFO_USER_DOCKED (DOCKINFO_USER_SUPPLIED|DOCKINFO_DOCKED)
251#define DRIVE_REMOVABLE 2
252#define DRIVE_FIXED 3
253#define DRIVE_REMOTE 4
254#define DRIVE_CDROM 5
255#define DRIVE_RAMDISK 6
256#define DRIVE_UNKNOWN 0
257#define DRIVE_NO_ROOT_DIR 1
258#define FILE_TYPE_UNKNOWN 0
259#define FILE_TYPE_DISK 1
260#define FILE_TYPE_CHAR 2
261#define FILE_TYPE_PIPE 3
262#define FILE_TYPE_REMOTE 0x8000
263/* also in ddk/ntapi.h */
264#define HANDLE_FLAG_INHERIT 0x01
265#define HANDLE_FLAG_PROTECT_FROM_CLOSE 0x02
266/* end ntapi.h */
267#define STD_INPUT_HANDLE (DWORD)(0xfffffff6)
268#define STD_OUTPUT_HANDLE (DWORD)(0xfffffff5)
269#define STD_ERROR_HANDLE (DWORD)(0xfffffff4)
270#define INVALID_HANDLE_VALUE (HANDLE)(-1)
271#define GET_TAPE_MEDIA_INFORMATION 0
272#define GET_TAPE_DRIVE_INFORMATION 1
273#define SET_TAPE_MEDIA_INFORMATION 0
274#define SET_TAPE_DRIVE_INFORMATION 1
275#define THREAD_PRIORITY_ABOVE_NORMAL 1
276#define THREAD_PRIORITY_BELOW_NORMAL (-1)
277#define THREAD_PRIORITY_HIGHEST 2
278#define THREAD_PRIORITY_IDLE (-15)
279#define THREAD_PRIORITY_LOWEST (-2)
280#define THREAD_PRIORITY_NORMAL 0
281#define THREAD_PRIORITY_TIME_CRITICAL 15
282#define THREAD_PRIORITY_ERROR_RETURN 2147483647
283#define TIME_ZONE_ID_UNKNOWN 0
284#define TIME_ZONE_ID_STANDARD 1
285#define TIME_ZONE_ID_DAYLIGHT 2
286#define TIME_ZONE_ID_INVALID 0xFFFFFFFF
287#define FS_CASE_IS_PRESERVED 2
288#define FS_CASE_SENSITIVE 1
289#define FS_UNICODE_STORED_ON_DISK 4
290#define FS_PERSISTENT_ACLS 8
291#define FS_FILE_COMPRESSION 16
292#define FS_VOL_IS_COMPRESSED 32768
293#define GMEM_FIXED 0
294#define GMEM_MOVEABLE 2
295#define GMEM_MODIFY 128
296#define GPTR 64
297#define GHND 66
298#define GMEM_DDESHARE 8192
299#define GMEM_DISCARDABLE 256
300#define GMEM_LOWER 4096
301#define GMEM_NOCOMPACT 16
302#define GMEM_NODISCARD 32
303#define GMEM_NOT_BANKED 4096
304#define GMEM_NOTIFY 16384
305#define GMEM_SHARE 8192
306#define GMEM_ZEROINIT 64
307#define GMEM_DISCARDED 16384
308#define GMEM_INVALID_HANDLE 32768
309#define GMEM_LOCKCOUNT 255
310#define GMEM_VALID_FLAGS 32626
311#define EXCEPTION_ACCESS_VIOLATION ((DWORD)0xC0000005)
312#define EXCEPTION_DATATYPE_MISALIGNMENT ((DWORD)0x80000002)
313#define EXCEPTION_BREAKPOINT ((DWORD)0x80000003)
314#define EXCEPTION_SINGLE_STEP ((DWORD)0x80000004)
315#define EXCEPTION_ARRAY_BOUNDS_EXCEEDED ((DWORD)0xC000008C)
316#define EXCEPTION_FLT_DENORMAL_OPERAND ((DWORD)0xC000008D)
317#define EXCEPTION_FLT_DIVIDE_BY_ZERO ((DWORD)0xC000008E)
318#define EXCEPTION_FLT_INEXACT_RESULT ((DWORD)0xC000008F)
319#define EXCEPTION_FLT_INVALID_OPERATION ((DWORD)0xC0000090)
320#define EXCEPTION_FLT_OVERFLOW ((DWORD)0xC0000091)
321#define EXCEPTION_FLT_STACK_CHECK ((DWORD)0xC0000092)
322#define EXCEPTION_FLT_UNDERFLOW ((DWORD)0xC0000093)
323#define EXCEPTION_INT_DIVIDE_BY_ZERO ((DWORD)0xC0000094)
324#define EXCEPTION_INT_OVERFLOW ((DWORD)0xC0000095)
325#define EXCEPTION_PRIV_INSTRUCTION ((DWORD)0xC0000096)
326#define EXCEPTION_IN_PAGE_ERROR ((DWORD)0xC0000006)
327#define EXCEPTION_ILLEGAL_INSTRUCTION ((DWORD)0xC000001D)
328#define EXCEPTION_NONCONTINUABLE_EXCEPTION ((DWORD)0xC0000025)
329#define EXCEPTION_STACK_OVERFLOW ((DWORD)0xC00000FD)
330#define EXCEPTION_INVALID_DISPOSITION ((DWORD)0xC0000026)
331#define EXCEPTION_GUARD_PAGE ((DWORD)0x80000001)
332#define EXCEPTION_INVALID_HANDLE ((DWORD)0xC0000008L)
333#define CONTROL_C_EXIT ((DWORD)0xC000013A)
334#define PROCESS_HEAP_REGION 1
335#define PROCESS_HEAP_UNCOMMITTED_RANGE 2
336#define PROCESS_HEAP_ENTRY_BUSY 4
337#define PROCESS_HEAP_ENTRY_MOVEABLE 16
338#define PROCESS_HEAP_ENTRY_DDESHARE 32
339
340// LoadLibraryEx() dwFlags.
341#define DONT_RESOLVE_DLL_REFERENCES 0x00000001
342#define LOAD_LIBRARY_AS_DATAFILE 0x00000002
343// #define LOAD_PACKAGED_LIBRARY 0x00000004 // Internal use only.
344#define LOAD_WITH_ALTERED_SEARCH_PATH 0x00000008
345#define LOAD_IGNORE_CODE_AUTHZ_LEVEL 0x00000010
346#if (_WIN32_WINNT >= _WIN32_WINNT_VISTA)
347#define LOAD_LIBRARY_AS_IMAGE_RESOURCE 0x00000020
348#define LOAD_LIBRARY_AS_DATAFILE_EXCLUSIVE 0x00000040
349#define LOAD_LIBRARY_REQUIRE_SIGNED_TARGET 0x00000080
350#define LOAD_LIBRARY_SEARCH_DLL_LOAD_DIR 0x00000100
351#define LOAD_LIBRARY_SEARCH_APPLICATION_DIR 0x00000200
352#define LOAD_LIBRARY_SEARCH_USER_DIRS 0x00000400
353#define LOAD_LIBRARY_SEARCH_SYSTEM32 0x00000800
354#define LOAD_LIBRARY_SEARCH_DEFAULT_DIRS 0x00001000
355#endif // _WIN32_WINNT_VISTA
356#if (NTDDI_VERSION >= NTDDI_WIN10_RS1)
357#define LOAD_LIBRARY_SAFE_CURRENT_DIRS 0x00002000
358#define LOAD_LIBRARY_SEARCH_SYSTEM32_NO_FORWARDER 0x00004000
359#else // NTDDI_WIN10_RS1
360#if (_WIN32_WINNT >= _WIN32_WINNT_VISTA)
361#define LOAD_LIBRARY_SEARCH_SYSTEM32_NO_FORWARDER LOAD_LIBRARY_SEARCH_SYSTEM32
362#endif // _WIN32_WINNT_VISTA
363#endif // NTDDI_WIN10_RS1
364#if (NTDDI_VERSION >= NTDDI_WIN10_RS2)
365#define LOAD_LIBRARY_OS_INTEGRITY_CONTINUITY 0x00008000
366#endif // NTDDI_WIN10_RS2
367
368#define LMEM_FIXED 0
369#define LMEM_MOVEABLE 2
370#define LMEM_NONZEROLHND 2
371#define LMEM_NONZEROLPTR 0
372#define LMEM_DISCARDABLE 3840
373#define LMEM_NOCOMPACT 16
374#define LMEM_NODISCARD 32
375#define LMEM_ZEROINIT 64
376#define LMEM_DISCARDED 16384
377#define LMEM_MODIFY 128
378#define LMEM_INVALID_HANDLE 32768
379#define LMEM_LOCKCOUNT 255
380#define LMEM_VALID_FLAGS 0x0F72
381#define LPTR 64
382#define LHND 66
383#define NONZEROLHND 2
384#define NONZEROLPTR 0
385#define LOCKFILE_FAIL_IMMEDIATELY 1
386#define LOCKFILE_EXCLUSIVE_LOCK 2
387#define LOGON32_PROVIDER_DEFAULT 0
388#define LOGON32_PROVIDER_WINNT35 1
389#define LOGON32_PROVIDER_WINNT40 2
390#define LOGON32_PROVIDER_WINNT50 3
391#define LOGON32_LOGON_INTERACTIVE 2
392#define LOGON32_LOGON_NETWORK 3
393#define LOGON32_LOGON_BATCH 4
394#define LOGON32_LOGON_SERVICE 5
395#define LOGON32_LOGON_UNLOCK 7
396#define LOGON32_LOGON_NETWORK_CLEARTEXT 8
397#define LOGON32_LOGON_NEW_CREDENTIALS 9
398#define MOVEFILE_REPLACE_EXISTING 1
399#define MOVEFILE_COPY_ALLOWED 2
400#define MOVEFILE_DELAY_UNTIL_REBOOT 4
401#define MOVEFILE_WRITE_THROUGH 8
402#define MOVEFILE_CREATE_HARDLINK 16
403#define MOVEFILE_FAIL_IF_NOT_TRACKABLE 32
404#define MAXIMUM_WAIT_OBJECTS 64
405#define MAXIMUM_SUSPEND_COUNT 0x7F
406#define WAIT_OBJECT_0 0
407#define WAIT_ABANDONED_0 128
408#ifndef WAIT_TIMEOUT /* also in winerror.h */
409#define WAIT_TIMEOUT 258
410#endif
411#define WAIT_IO_COMPLETION 0xC0
412#define WAIT_ABANDONED 128
413#define WAIT_FAILED ((DWORD)0xFFFFFFFF)
414#define PURGE_TXABORT 1
415#define PURGE_RXABORT 2
416#define PURGE_TXCLEAR 4
417#define PURGE_RXCLEAR 8
418
419#define FORMAT_MESSAGE_ALLOCATE_BUFFER 256
420#define FORMAT_MESSAGE_IGNORE_INSERTS 512
421#define FORMAT_MESSAGE_FROM_STRING 1024
422#define FORMAT_MESSAGE_FROM_HMODULE 2048
423#define FORMAT_MESSAGE_FROM_SYSTEM 4096
424#define FORMAT_MESSAGE_ARGUMENT_ARRAY 8192
425#define FORMAT_MESSAGE_MAX_WIDTH_MASK 255
426#define EV_BREAK 64
427#define EV_CTS 8
428#define EV_DSR 16
429#define EV_ERR 128
430#define EV_EVENT1 2048
431#define EV_EVENT2 4096
432#define EV_PERR 512
433#define EV_RING 256
434#define EV_RLSD 32
435#define EV_RX80FULL 1024
436#define EV_RXCHAR 1
437#define EV_RXFLAG 2
438#define EV_TXEMPTY 4
439/* also in ddk/ntapi.h */
440#define SEM_FAILCRITICALERRORS 0x0001
441#define SEM_NOGPFAULTERRORBOX 0x0002
442#define SEM_NOALIGNMENTFAULTEXCEPT 0x0004
443#define SEM_NOOPENFILEERRORBOX 0x8000
444/* end ntapi.h */
445#define SLE_ERROR 1
446#define SLE_MINORERROR 2
447#define SLE_WARNING 3
448#define SHUTDOWN_NORETRY 1
449#define MAXINTATOM 0xC000
450#define INVALID_ATOM ((ATOM)0)
451#define IGNORE 0
452#define INFINITE 0xFFFFFFFF
453#define NOPARITY 0
454#define ODDPARITY 1
455#define EVENPARITY 2
456#define MARKPARITY 3
457#define SPACEPARITY 4
458#define ONESTOPBIT 0
459#define ONE5STOPBITS 1
460#define TWOSTOPBITS 2
461#define CBR_110 110
462#define CBR_300 300
463#define CBR_600 600
464#define CBR_1200 1200
465#define CBR_2400 2400
466#define CBR_4800 4800
467#define CBR_9600 9600
468#define CBR_14400 14400
469#define CBR_19200 19200
470#define CBR_38400 38400
471#define CBR_56000 56000
472#define CBR_57600 57600
473#define CBR_115200 115200
474#define CBR_128000 128000
475#define CBR_256000 256000
476#define BACKUP_INVALID 0
477#define BACKUP_DATA 1
478#define BACKUP_EA_DATA 2
479#define BACKUP_SECURITY_DATA 3
480#define BACKUP_ALTERNATE_DATA 4
481#define BACKUP_LINK 5
482#define BACKUP_PROPERTY_DATA 6
483#define BACKUP_OBJECT_ID 7
484#define BACKUP_REPARSE_DATA 8
485#define BACKUP_SPARSE_BLOCK 9
486#define STREAM_NORMAL_ATTRIBUTE 0
487#define STREAM_MODIFIED_WHEN_READ 1
488#define STREAM_CONTAINS_SECURITY 2
489#define STREAM_CONTAINS_PROPERTIES 4
490
491#define STARTF_USESHOWWINDOW 0x00000001
492#define STARTF_USESIZE 0x00000002
493#define STARTF_USEPOSITION 0x00000004
494#define STARTF_USECOUNTCHARS 0x00000008
495#define STARTF_USEFILLATTRIBUTE 0x00000010
496#define STARTF_RUNFULLSCREEN 0x00000020
497#define STARTF_FORCEONFEEDBACK 0x00000040
498#define STARTF_FORCEOFFFEEDBACK 0x00000080
499#define STARTF_USESTDHANDLES 0x00000100
500#if (WINVER >= 0x400)
501#define STARTF_USEHOTKEY 0x00000200
502#define STARTF_TITLEISLINKNAME 0x00000800
503#define STARTF_TITLEISAPPID 0x00001000
504#define STARTF_PREVENTPINNING 0x00002000
505#endif /* (WINVER >= 0x400) */
506
507#define TC_NORMAL 0
508#define TC_HARDERR 1
509#define TC_GP_TRAP 2
510#define TC_SIGNAL 3
511#define AC_LINE_OFFLINE 0
512#define AC_LINE_ONLINE 1
513#define AC_LINE_BACKUP_POWER 2
514#define AC_LINE_UNKNOWN 255
515#define BATTERY_FLAG_HIGH 1
516#define BATTERY_FLAG_LOW 2
517#define BATTERY_FLAG_CRITICAL 4
518#define BATTERY_FLAG_CHARGING 8
519#define BATTERY_FLAG_NO_BATTERY 128
520#define BATTERY_FLAG_UNKNOWN 255
521#define BATTERY_PERCENTAGE_UNKNOWN 255
522#define BATTERY_LIFE_UNKNOWN 0xFFFFFFFF
523#define DDD_RAW_TARGET_PATH 1
524#define DDD_REMOVE_DEFINITION 2
525#define DDD_EXACT_MATCH_ON_REMOVE 4
526#define DDD_NO_BROADCAST_SYSTEM 8
527#define DDD_LUID_BROADCAST_DRIVE 16
528#define HINSTANCE_ERROR 32
529#define MS_CTS_ON 16
530#define MS_DSR_ON 32
531#define MS_RING_ON 64
532#define MS_RLSD_ON 128
533#define DTR_CONTROL_DISABLE 0
534#define DTR_CONTROL_ENABLE 1
535#define DTR_CONTROL_HANDSHAKE 2
536#define RTS_CONTROL_DISABLE 0
537#define RTS_CONTROL_ENABLE 1
538#define RTS_CONTROL_HANDSHAKE 2
539#define RTS_CONTROL_TOGGLE 3
540#define SECURITY_ANONYMOUS (SecurityAnonymous<<16)
541#define SECURITY_IDENTIFICATION (SecurityIdentification<<16)
542#define SECURITY_IMPERSONATION (SecurityImpersonation<<16)
543#define SECURITY_DELEGATION (SecurityDelegation<<16)
544#define SECURITY_CONTEXT_TRACKING 0x40000
545#define SECURITY_EFFECTIVE_ONLY 0x80000
546#define SECURITY_SQOS_PRESENT 0x100000
547#define SECURITY_VALID_SQOS_FLAGS 0x1F0000
548#define INVALID_FILE_SIZE 0xFFFFFFFF
549#define TLS_OUT_OF_INDEXES (DWORD)0xFFFFFFFF
550#if (_WIN32_WINNT >= 0x0501)
551#define ACTCTX_FLAG_PROCESSOR_ARCHITECTURE_VALID 0x00000001
552#define ACTCTX_FLAG_LANGID_VALID 0x00000002
553#define ACTCTX_FLAG_ASSEMBLY_DIRECTORY_VALID 0x00000004
554#define ACTCTX_FLAG_RESOURCE_NAME_VALID 0x00000008
555#define ACTCTX_FLAG_SET_PROCESS_DEFAULT 0x00000010
556#define ACTCTX_FLAG_APPLICATION_NAME_VALID 0x00000020
557#define ACTCTX_FLAG_SOURCE_IS_ASSEMBLYREF 0x00000040
558#define ACTCTX_FLAG_HMODULE_VALID 0x00000080
559#define DEACTIVATE_ACTCTX_FLAG_FORCE_EARLY_DEACTIVATION 0x00000001
560#define FIND_ACTCTX_SECTION_KEY_RETURN_HACTCTX 0x00000001
561#define QUERY_ACTCTX_FLAG_USE_ACTIVE_ACTCTX 0x00000004
562#define QUERY_ACTCTX_FLAG_ACTCTX_IS_HMODULE 0x00000008
563#define QUERY_ACTCTX_FLAG_ACTCTX_IS_ADDRESS 0x00000010
564#define QUERY_ACTCTX_FLAG_NO_ADDREF 0x80000000
565#if (_WIN32_WINNT >= 0x0600)
566#define SYMBOLIC_LINK_FLAG_DIRECTORY 0x1
567#endif
568#endif /* (_WIN32_WINNT >= 0x0501) */
569#if (_WIN32_WINNT >= 0x0500)
570#define REPLACEFILE_WRITE_THROUGH 0x00000001
571#define REPLACEFILE_IGNORE_MERGE_ERRORS 0x00000002
572#endif /* (_WIN32_WINNT >= 0x0500) */
573#if (_WIN32_WINNT >= 0x0400)
574#define FIBER_FLAG_FLOAT_SWITCH 0x1
575#endif
576#define FLS_OUT_OF_INDEXES 0xFFFFFFFF
577#define STACK_SIZE_PARAM_IS_A_RESERVATION 0x00010000
578#if (_WIN32_WINNT >= 0x0600)
579#define MAX_RESTART_CMD_LINE 0x800
580#define RESTART_CYCLICAL 0x1
581#define RESTART_NOTIFY_SOLUTION 0x2
582#define RESTART_NOTIFY_FAULT 0x4
583#define VOLUME_NAME_DOS 0x0
584#define VOLUME_NAME_GUID 0x1
585#define VOLUME_NAME_NT 0x2
586#define VOLUME_NAME_NONE 0x4
587#define FILE_NAME_NORMALIZED 0x0
588#define FILE_NAME_OPENED 0x8
589#define FILE_SKIP_COMPLETION_PORT_ON_SUCCESS 0x1
590#define FILE_SKIP_SET_EVENT_ON_HANDLE 0x2
591#endif
592#if (_WIN32_WINNT >= 0x0500)
593#define GET_MODULE_HANDLE_EX_FLAG_PIN 0x1
594#define GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT 0x2
595#define GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS 0x4
596#endif
597#if (_WIN32_WINNT >= 0x0600)
598#define CREATE_EVENT_MANUAL_RESET 0x1
599#define CREATE_EVENT_INITIAL_SET 0x2
600#define CREATE_MUTEX_INITIAL_OWNER 0x1
601#define CREATE_WAITABLE_TIMER_MANUAL_RESET 0x1
602#define SRWLOCK_INIT RTL_SRWLOCK_INIT
603#define CONDITION_VARIABLE_INIT RTL_CONDITION_VARIABLE_INIT
604#define CONDITION_VARIABLE_LOCKMODE_SHARED RTL_CONDITION_VARIABLE_LOCKMODE_SHARED
605#endif
606
607#define BASE_SEARCH_PATH_ENABLE_SAFE_SEARCHMODE 0x00001
608#define BASE_SEARCH_PATH_DISABLE_SAFE_SEARCHMODE 0x10000
609#define BASE_SEARCH_PATH_PERMANENT 0x08000
610#define BASE_SEARCH_PATH_INVALID_FLAGS (~0x18001)
611
612#define INIT_ONCE_STATIC_INIT RTL_RUN_ONCE_INIT
613
614#if (_WIN32_WINNT >= 0x0600)
615#define PROCESS_DEP_ENABLE 0x00000001
616#define PROCESS_DEP_DISABLE_ATL_THUNK_EMULATION 0x00000002
617#endif
618
619#define LOGON_WITH_PROFILE 0x00000001
620#define LOGON_NETCREDENTIALS_ONLY 0x00000002
621
622#ifndef RC_INVOKED
623
624#ifndef _FILETIME_
625#define _FILETIME_
626typedef struct _FILETIME {
630#endif
631
644
645typedef struct _DCB {
675
676typedef struct _COMM_CONFIG {
686
687typedef struct _COMMPROP {
707
708typedef struct _COMMTIMEOUTS {
715
716typedef struct _COMSTAT {
728
730
743
749
750typedef struct _EXCEPTION_DEBUG_INFO {
754
758
762
763typedef struct _LOAD_DLL_DEBUG_INFO {
771
775
781
782typedef struct _RIP_INFO {
786
787typedef struct _DEBUG_EVENT {
791 union {
801 } u;
803
804#ifndef MIDL_PASS
808#endif
809
810typedef struct _OVERLAPPED {
813 union {
814 struct {
822
823typedef struct _OVERLAPPED_ENTRY {
829
830typedef struct _STARTUPINFOA {
850
851typedef struct _STARTUPINFOW {
871
872typedef struct _PROCESS_INFORMATION {
878
886//#ifdef __WINESRC__ //not all wine code is marked so
887 DWORD_PTR Spare[8/sizeof(DWORD_PTR)];/* in Wine they store a string here */
888//#else
889 //WORD SpareWORD;
890//#endif
892
893typedef struct _CRITICAL_SECTION {
901
902#ifndef _SYSTEMTIME_
903#define _SYSTEMTIME_
904typedef struct _SYSTEMTIME {
914#endif /* _SYSTEMTIME_ */
915#if (_WIN32_WINNT >= 0x0500)
917#endif
926typedef struct _WIN32_FIND_DATAA {
938typedef struct _WIN32_FIND_DATAW {
950
951#if (_WIN32_WINNT >= 0x0501)
952typedef enum _STREAM_INFO_LEVELS {
953 FindStreamInfoStandard
954} STREAM_INFO_LEVELS;
955
956typedef struct _WIN32_FIND_STREAM_DATA {
957 LARGE_INTEGER StreamSize;
958 WCHAR cStreamName[MAX_PATH + 36];
959} WIN32_FIND_STREAM_DATA, *PWIN32_FIND_STREAM_DATA;
960#endif
961
962typedef struct _WIN32_STREAM_ID {
969
970#if (_WIN32_WINNT >= 0x0600)
971
972typedef enum _FILE_ID_TYPE {
973 FileIdType,
974 ObjectIdType,
975 ExtendedFileIdType,
976 MaximumFileIdType
977} FILE_ID_TYPE, *PFILE_ID_TYPE;
978
979typedef struct _FILE_ID_DESCRIPTOR {
981 FILE_ID_TYPE Type;
982 union {
983 LARGE_INTEGER FileId;
984 GUID ObjectId;
986} FILE_ID_DESCRIPTOR, *LPFILE_ID_DESCRIPTOR;
987
988#if (NTDDI_VERSION >= NTDDI_LONGHORN) || defined(__REACTOS__)
989typedef enum _FILE_INFO_BY_HANDLE_CLASS {
990 FileBasicInfo,
991 FileStandardInfo,
992 FileNameInfo,
993 FileRenameInfo,
994 FileDispositionInfo,
995 FileAllocationInfo,
996 FileEndOfFileInfo,
997 FileStreamInfo,
998 FileCompressionInfo,
999 FileAttributeTagInfo,
1000 FileIdBothDirectoryInfo,
1001 FileIdBothDirectoryRestartInfo,
1002 FileIoPriorityHintInfo,
1003 FileRemoteProtocolInfo,
1004 FileFullDirectoryInfo,
1005 FileFullDirectoryRestartInfo,
1006#if (NTDDI_VERSION >= NTDDI_WIN8) || defined(__REACTOS__)
1007 FileStorageInfo,
1008 FileAlignmentInfo,
1009 FileIdInfo,
1010 FileIdExtdDirectoryInfo,
1011 FileIdExtdDirectoryRestartInfo,
1012#endif
1013#if (NTDDI_VERSION >= NTDDI_WIN10_RS1) || defined(__REACTOS__)
1014 FileDispositionInfoEx,
1015 FileRenameInfoEx,
1016#endif
1017#if (NTDDI_VERSION >= NTDDI_WIN10_19H1) || defined(__REACTOS__)
1018 FileCaseSensitiveInfo,
1019 FileNormalizedNameInfo,
1020#endif
1021 MaximumFileInfoByHandleClass
1022} FILE_INFO_BY_HANDLE_CLASS, *PFILE_INFO_BY_HANDLE_CLASS;
1023#endif
1024
1025typedef struct _FILE_ID_BOTH_DIR_INFO {
1026 DWORD NextEntryOffset;
1027 DWORD FileIndex;
1028 LARGE_INTEGER CreationTime;
1029 LARGE_INTEGER LastAccessTime;
1030 LARGE_INTEGER LastWriteTime;
1031 LARGE_INTEGER ChangeTime;
1032 LARGE_INTEGER EndOfFile;
1036 DWORD EaSize;
1037 CCHAR ShortNameLength;
1038 WCHAR ShortName[12];
1039 LARGE_INTEGER FileId;
1040 WCHAR FileName[1];
1041} FILE_ID_BOTH_DIR_INFO, *PFILE_ID_BOTH_DIR_INFO;
1042
1043typedef struct _FILE_BASIC_INFO {
1044 LARGE_INTEGER CreationTime;
1045 LARGE_INTEGER LastAccessTime;
1046 LARGE_INTEGER LastWriteTime;
1047 LARGE_INTEGER ChangeTime;
1049} FILE_BASIC_INFO, *PFILE_BASIC_INFO;
1050
1051typedef struct _FILE_STANDARD_INFO {
1053 LARGE_INTEGER EndOfFile;
1054 DWORD NumberOfLinks;
1055 BOOLEAN DeletePending;
1057} FILE_STANDARD_INFO, *PFILE_STANDARD_INFO;
1058
1059typedef struct _FILE_NAME_INFO {
1061 WCHAR FileName[1];
1062} FILE_NAME_INFO, *PFILE_NAME_INFO;
1063
1064typedef enum _PRIORITY_HINT {
1065 IoPriorityHintVeryLow,
1066 IoPriorityHintLow,
1067 IoPriorityHintNormal,
1068 MaximumIoPriorityHintType
1069} PRIORITY_HINT;
1070
1071typedef struct _FILE_IO_PRIORITY_HINT_INFO {
1072 PRIORITY_HINT PriorityHint;
1073} FILE_IO_PRIORITY_HINT_INFO;
1074
1075typedef struct _FILE_ALLOCATION_INFO {
1077} FILE_ALLOCATION_INFO, *PFILE_ALLOCATION_INFO;
1078
1079typedef struct _FILE_DISPOSITION_INFO {
1081} FILE_DISPOSITION_INFO, *PFILE_DISPOSITION_INFO;
1082
1083typedef struct _FILE_END_OF_FILE_INFO {
1084 LARGE_INTEGER EndOfFile;
1085} FILE_END_OF_FILE_INFO, *PFILE_END_OF_FILE_INFO;
1086
1087typedef struct _FILE_RENAME_INFO {
1088 BOOLEAN ReplaceIfExists;
1091 WCHAR FileName[1];
1092} FILE_RENAME_INFO, *PFILE_RENAME_INFO;
1093
1094typedef struct _FILE_ATTRIBUTE_TAG_INFO {
1096 DWORD ReparseTag;
1097} FILE_ATTRIBUTE_TAG_INFO, *PFILE_ATTRIBUTE_TAG_INFO;
1098
1099typedef struct _FILE_COMPRESSION_INFO {
1100 LARGE_INTEGER CompressedFileSize;
1101 WORD CompressionFormat;
1102 UCHAR CompressionUnitShift;
1103 UCHAR ChunkShift;
1104 UCHAR ClusterShift;
1105 UCHAR Reserved[3];
1106} FILE_COMPRESSION_INFO, *PFILE_COMPRESSION_INFO;
1107
1108typedef struct _FILE_REMOTE_PROTOCOL_INFO {
1109 USHORT StructureVersion;
1110 USHORT StructureSize;
1112 USHORT ProtocolMajorVersion;
1113 USHORT ProtocolMinorVersion;
1114 USHORT ProtocolRevision;
1116 ULONG Flags;
1117 struct {
1118 ULONG Reserved[8];
1119 } GenericReserved;
1120 struct {
1121 ULONG Reserved[16];
1122 } ProtocolSpecificReserved;
1123} FILE_REMOTE_PROTOCOL_INFO, *PFILE_REMOTE_PROTOCOL_INFO;
1124
1125#endif
1126
1132
1139
1140typedef struct tagHW_PROFILE_INFOA {
1145
1146typedef struct tagHW_PROFILE_INFOW {
1151
1152/* Event Logging */
1153
1154#define EVENTLOG_FULL_INFO 0
1155
1159
1164
1165typedef struct _SYSTEM_INFO {
1166 _ANONYMOUS_UNION union {
1168 _ANONYMOUS_STRUCT struct {
1183
1184typedef struct _SYSTEM_POWER_STATUS {
1192
1204
1214
1215typedef struct _MEMORYSTATUS {
1225
1226#if (_WIN32_WINNT >= 0x0500)
1227typedef struct _MEMORYSTATUSEX {
1229 DWORD dwMemoryLoad;
1230 DWORDLONG ullTotalPhys;
1231 DWORDLONG ullAvailPhys;
1232 DWORDLONG ullTotalPageFile;
1233 DWORDLONG ullAvailPageFile;
1234 DWORDLONG ullTotalVirtual;
1235 DWORDLONG ullAvailVirtual;
1236 DWORDLONG ullAvailExtendedVirtual;
1237} MEMORYSTATUSEX, *LPMEMORYSTATUSEX;
1238#endif
1239
1240#ifndef _LDT_ENTRY_DEFINED
1241#define _LDT_ENTRY_DEFINED
1242typedef struct _LDT_ENTRY {
1243 WORD LimitLow;
1244 WORD BaseLow;
1245 union {
1246 struct {
1247 BYTE BaseMid;
1248 BYTE Flags1;
1249 BYTE Flags2;
1250 BYTE BaseHi;
1252 struct {
1253 DWORD BaseMid:8;
1254 DWORD Type:5;
1255 DWORD Dpl:2;
1256 DWORD Pres:1;
1257 DWORD LimitHi:4;
1258 DWORD Sys:1;
1259 DWORD Reserved_0:1;
1262 DWORD BaseHi:8;
1266#endif
1267
1268typedef struct _PROCESS_HEAP_ENTRY {
1274 _ANONYMOUS_UNION union {
1275 struct {
1279 struct {
1287
1288typedef struct _OFSTRUCT {
1296
1297#if (_WIN32_WINNT >= 0x0501)
1298typedef struct tagACTCTXA {
1299 ULONG cbSize;
1300 DWORD dwFlags;
1301 LPCSTR lpSource;
1302 USHORT wProcessorArchitecture;
1303 LANGID wLangId;
1304 LPCSTR lpAssemblyDirectory;
1305 LPCSTR lpResourceName;
1306 LPCSTR lpApplicationName;
1308} ACTCTXA,*PACTCTXA;
1309typedef const ACTCTXA *PCACTCTXA;
1310
1311typedef struct tagACTCTXW {
1312 ULONG cbSize;
1313 DWORD dwFlags;
1314 LPCWSTR lpSource;
1315 USHORT wProcessorArchitecture;
1316 LANGID wLangId;
1317 LPCWSTR lpAssemblyDirectory;
1318 LPCWSTR lpResourceName;
1319 LPCWSTR lpApplicationName;
1321} ACTCTXW,*PACTCTXW;
1322typedef const ACTCTXW *PCACTCTXW;
1323
1324typedef struct tagACTCTX_SECTION_KEYED_DATA_2600 {
1325 ULONG cbSize;
1326 ULONG ulDataFormatVersion;
1327 PVOID lpData;
1328 ULONG ulLength;
1329 PVOID lpSectionGlobalData;
1330 ULONG ulSectionGlobalDataLength;
1331 PVOID lpSectionBase;
1332 ULONG ulSectionTotalLength;
1333 HANDLE hActCtx;
1334 ULONG ulAssemblyRosterIndex;
1335} ACTCTX_SECTION_KEYED_DATA_2600, *PACTCTX_SECTION_KEYED_DATA_2600;
1336typedef const ACTCTX_SECTION_KEYED_DATA_2600 *PCACTCTX_SECTION_KEYED_DATA_2600;
1337
1338typedef struct tagACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA {
1339 PVOID lpInformation;
1340 PVOID lpSectionBase;
1341 ULONG ulSectionLength;
1342 PVOID lpSectionGlobalDataBase;
1343 ULONG ulSectionGlobalDataLength;
1344} ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA, *PACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA;
1345typedef const ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA *PCACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA;
1346
1347typedef struct tagACTCTX_SECTION_KEYED_DATA {
1348 ULONG cbSize;
1349 ULONG ulDataFormatVersion;
1350 PVOID lpData;
1351 ULONG ulLength;
1352 PVOID lpSectionGlobalData;
1353 ULONG ulSectionGlobalDataLength;
1354 PVOID lpSectionBase;
1355 ULONG ulSectionTotalLength;
1356 HANDLE hActCtx;
1357 ULONG ulAssemblyRosterIndex;
1358 /* Non 2600 extra fields */
1359 ULONG ulFlags;
1360 ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA AssemblyMetadata;
1361} ACTCTX_SECTION_KEYED_DATA,*PACTCTX_SECTION_KEYED_DATA;
1362
1363typedef const ACTCTX_SECTION_KEYED_DATA *PCACTCTX_SECTION_KEYED_DATA;
1364
1365typedef struct _ACTIVATION_CONTEXT_BASIC_INFORMATION {
1366 HANDLE hActCtx;
1367 DWORD dwFlags;
1368} ACTIVATION_CONTEXT_BASIC_INFORMATION, *PACTIVATION_CONTEXT_BASIC_INFORMATION;
1369typedef const struct _ACTIVATION_CONTEXT_BASIC_INFORMATION *PCACTIVATION_CONTEXT_BASIC_INFORMATION;
1370
1371typedef BOOL
1372(WINAPI *PQUERYACTCTXW_FUNC)(
1374 _In_ HANDLE hActCtx,
1375 _In_opt_ PVOID pvSubInstance,
1376 _In_ ULONG ulInfoClass,
1377 _Out_writes_bytes_to_opt_(cbBuffer, *pcbWrittenOrRequired) PVOID pvBuffer,
1378 _In_ SIZE_T cbBuffer,
1379 _Out_opt_ SIZE_T *pcbWrittenOrRequired);
1380
1381typedef enum {
1382 LowMemoryResourceNotification ,
1383 HighMemoryResourceNotification
1384} MEMORY_RESOURCE_NOTIFICATION_TYPE;
1385#endif /* (_WIN32_WINNT >= 0x0501) */
1386
1387#if (_WIN32_WINNT >= 0x0500)
1388typedef enum _COMPUTER_NAME_FORMAT {
1389 ComputerNameNetBIOS,
1390 ComputerNameDnsHostname,
1391 ComputerNameDnsDomain,
1392 ComputerNameDnsFullyQualified,
1393 ComputerNamePhysicalNetBIOS,
1394 ComputerNamePhysicalDnsHostname,
1395 ComputerNamePhysicalDnsDomain,
1396 ComputerNamePhysicalDnsFullyQualified,
1397 ComputerNameMax
1398} COMPUTER_NAME_FORMAT;
1399#endif /* (_WIN32_WINNT >= 0x0500) */
1400
1401#if (_WIN32_WINNT >= 0x0600)
1402typedef RTL_SRWLOCK SRWLOCK, *PSRWLOCK;
1403typedef RTL_CONDITION_VARIABLE CONDITION_VARIABLE, *PCONDITION_VARIABLE;
1404#endif
1405
1407
1408#define PROC_THREAD_ATTRIBUTE_NUMBER 0x0000ffff
1409#define PROC_THREAD_ATTRIBUTE_THREAD 0x00010000
1410#define PROC_THREAD_ATTRIBUTE_INPUT 0x00020000
1411#define PROC_THREAD_ATTRIBUTE_ADDITIVE 0x00040000
1412
1428
1429#define PROC_THREAD_ATTRIBUTE_IDEAL_PROCESSOR (ProcThreadAttributeIdealProcessor | PROC_THREAD_ATTRIBUTE_THREAD | PROC_THREAD_ATTRIBUTE_INPUT)
1430#define PROC_THREAD_ATTRIBUTE_HANDLE_LIST (ProcThreadAttributeHandleList | PROC_THREAD_ATTRIBUTE_INPUT)
1431#define PROC_THREAD_ATTRIBUTE_PARENT_PROCESS (ProcThreadAttributeParentProcess | PROC_THREAD_ATTRIBUTE_INPUT)
1432
1433typedef DWORD
1435 _In_reads_bytes_(ulLength) PBYTE pbData,
1436 _In_opt_ PVOID pvCallbackContext,
1437 _In_ ULONG ulLength);
1438
1440
1441typedef VOID (WINAPI *PFIBER_START_ROUTINE)( LPVOID lpFiberParameter );
1443
1456#if (_WIN32_WINNT >= 0x0600)
1457typedef DWORD (WINAPI *APPLICATION_RECOVERY_CALLBACK)(PVOID);
1458#endif
1459
1460#ifdef WINE_NO_UNICODE_MACROS /* force using a cast */
1461#define MAKEINTATOM(atom) ((ULONG_PTR)((WORD)(atom)))
1462#else
1463#define MAKEINTATOM(i) (LPTSTR)((ULONG_PTR)((WORD)(i)))
1464#endif
1465
1466typedef DWORD
1468 _Out_writes_bytes_to_(*ulLength, *ulLength) PBYTE pbData,
1469 _In_opt_ PVOID pvCallbackContext,
1470 _Inout_ PULONG ulLength);
1471
1472/* Functions */
1473#ifndef UNDER_CE
1475#else
1477#endif
1479
1480long
1481WINAPI
1484 _Out_writes_bytes_to_(lBytes, return) LPVOID lpBuffer,
1485 _In_ long lBytes);
1486
1487long
1488WINAPI
1492 _In_ long lBytes);
1493
1498
1499UINT
1500WINAPI
1503 _Out_writes_bytes_to_(uBytes, return) LPVOID lpBuffer,
1504 _In_ UINT uBytes);
1505
1506UINT
1507WINAPI
1511 _In_ UINT uBytes);
1512
1514
1515BOOL
1516WINAPI
1518 _In_ LPCSTR SubsystemName,
1519 _In_opt_ LPVOID HandleId,
1525 _In_ BOOL ObjectCreation,
1528 _Out_ LPBOOL pfGenerateOnClose);
1529
1531#if (_WIN32_WINNT >= 0x0600)
1534#endif
1535#if (_WIN32_WINNT >= 0x0501)
1537#endif
1540#if (_WIN32_WINNT >= 0x0500)
1545#endif
1550#if (_WIN32_WINNT >= 0x0500)
1552#endif
1553#if (_WIN32_WINNT >= 0x0501)
1555#endif
1556#if (_WIN32_WINNT >= 0x0500)
1559#endif
1560
1561BOOL
1562WINAPI
1564 _In_ PSECURITY_DESCRIPTOR pSecurityDescriptor,
1565 _In_opt_ PSID PrincipalSelfSid,
1566 _In_ HANDLE ClientToken,
1568 _In_reads_opt_(ObjectTypeListLength) POBJECT_TYPE_LIST ObjectTypeList,
1569 _In_ DWORD ObjectTypeListLength,
1571 _Out_writes_bytes_(*PrivilegeSetLength)PPRIVILEGE_SET PrivilegeSet,
1572 _Inout_ LPDWORD PrivilegeSetLength,
1575
1576BOOL
1577WINAPI
1579 _In_ PSECURITY_DESCRIPTOR pSecurityDescriptor,
1580 _In_opt_ PSID PrincipalSelfSid,
1581 _In_ HANDLE ClientToken,
1583 _In_reads_(ObjectTypeListLength) POBJECT_TYPE_LIST ObjectTypeList,
1584 _In_ DWORD ObjectTypeListLength,
1586 _Out_writes_bytes_(*PrivilegeSetLength) PPRIVILEGE_SET PrivilegeSet,
1587 _Inout_ LPDWORD PrivilegeSetLength,
1588 _Out_writes_(ObjectTypeListLength) LPDWORD GrantedAccess,
1589 _Out_writes_(ObjectTypeListLength) LPBOOL AccessStatus);
1590
1601
1602BOOL
1603WINAPI
1606 _Out_writes_bytes_to_(nNumberOfBytesToRead, *lpNumberOfBytesRead) LPBYTE lpBuffer,
1607 _In_ DWORD nNumberOfBytesToRead,
1608 _Out_ LPDWORD lpNumberOfBytesRead,
1609 _In_ BOOL bAbort,
1610 _In_ BOOL bProcessSecurity,
1611 _Inout_ LPVOID *lpContext);
1612
1614
1615BOOL
1616WINAPI
1621 _Out_ LPDWORD lpNumberOfBytesWritten,
1622 _In_ BOOL bAbort,
1623 _In_ BOOL bProcessSecurity,
1624 _Inout_ LPVOID *lpContext);
1625
1629#if (_WIN32_WINNT >= 0x0500)
1631#endif
1636
1637BOOL
1638WINAPI
1640 _In_ LPCSTR lpNamedPipeName,
1641 _In_reads_bytes_opt_(nInBufferSize) LPVOID lpInBuffer,
1642 _In_ DWORD nInBufferSize,
1643 _Out_writes_bytes_to_opt_(nOutBufferSize, *lpBytesRead) LPVOID lpOutBuffer,
1644 _In_ DWORD nOutBufferSize,
1645 _Out_ LPDWORD lpBytesRead,
1646 _In_ DWORD nTimeOut);
1647
1648BOOL
1649WINAPI
1651 _In_ LPCWSTR lpNamedPipeName,
1652 _In_reads_bytes_opt_(nInBufferSize) LPVOID lpInBuffer,
1653 _In_ DWORD nInBufferSize,
1654 _Out_writes_bytes_to_opt_(nOutBufferSize, *lpBytesRead) LPVOID lpOutBuffer,
1655 _In_ DWORD nOutBufferSize,
1656 _Out_ LPDWORD lpBytesRead,
1657 _In_ DWORD nTimeOut);
1658
1661#if (_WIN32_WINNT >= 0x0600)
1662BOOL WINAPI CancelIoEx(HANDLE,LPOVERLAPPED);
1663BOOL WINAPI CancelSynchronousIo(HANDLE);
1664#endif
1666
1667#if (_WIN32_WINNT >= 0x0501)
1668
1669BOOL
1670WINAPI
1673 _Out_writes_opt_(OemNameSize) LPSTR lpOemName,
1674 _In_ DWORD OemNameSize,
1675 _Out_opt_ PBOOL pbNameContainsSpaces,
1676 _Out_ PBOOL pbNameLegal);
1677
1678BOOL
1679WINAPI
1682 _Out_writes_opt_(OemNameSize) LPSTR lpOemName,
1683 _In_ DWORD OemNameSize,
1684 _Out_opt_ PBOOL pbNameContainsSpaces,
1685 _Out_ PBOOL pbNameLegal);
1686
1688#endif
1689
1701#if (_WIN32_WINNT >= 0x0400)
1703#endif
1706BOOL WINAPI CopyFileW(_In_ LPCWSTR lpExistingFileName, _In_ LPCWSTR lpNewFileName, _In_ BOOL bFailIfExists);
1709#define MoveMemory RtlMoveMemory
1710#define CopyMemory RtlCopyMemory
1711#define FillMemory RtlFillMemory
1712#define ZeroMemory RtlZeroMemory
1713#define SecureZeroMemory RtlSecureZeroMemory
1715#if (_WIN32_WINNT >= 0x0501)
1716HANDLE WINAPI CreateActCtxA(_In_ PCACTCTXA);
1717HANDLE WINAPI CreateActCtxW(_In_ PCACTCTXW);
1718#endif
1725#if (_WIN32_WINNT >= 0x0600)
1728#endif
1730#if (_WIN32_WINNT >= 0x0400)
1732#endif
1737#if (_WIN32_WINNT >= 0x0500)
1740#endif
1742#if (_WIN32_WINNT >= 0x0500)
1747#endif
1750#if (_WIN32_WINNT >= 0x0501)
1751HANDLE WINAPI CreateMemoryResourceNotification(MEMORY_RESOURCE_NOTIFICATION_TYPE);
1752#endif
1755#if (_WIN32_WINNT >= 0x0600)
1758#endif
1765
1766BOOL
1767WINAPI
1774 _In_ BOOL,
1775 _In_ DWORD,
1780
1785
1786BOOL
1787WINAPI
1789 _In_ HANDLE ExistingTokenHandle,
1791 _In_ DWORD DisableSidCount,
1792 _In_reads_opt_(DisableSidCount) PSID_AND_ATTRIBUTES SidsToDisable,
1793 _In_ DWORD DeletePrivilegeCount,
1794 _In_reads_opt_(DeletePrivilegeCount) PLUID_AND_ATTRIBUTES PrivilegesToDelete,
1795 _In_ DWORD RestrictedSidCount,
1796 _In_reads_opt_(RestrictedSidCount) PSID_AND_ATTRIBUTES SidsToRestrict,
1798
1801#if (_WIN32_WINNT >= 0x0600)
1804#endif
1806
1807#if (_WIN32_WINNT >= 0x0500)
1808
1810
1811BOOL
1812WINAPI
1818 _In_ DWORD,
1819 _In_ DWORD,
1820 _In_ ULONG);
1821
1823BOOL
1824WINAPI
1826 _In_opt_ HANDLE TimerQueue,
1829 _In_ ULONG Period);
1830
1831#endif /* (_WIN32_WINNT >= 0x0500) */
1832
1836#if (_WIN32_WINNT >= 0x0600)
1838HANDLE WINAPI CreateWaitableTimerExW(LPSECURITY_ATTRIBUTES,LPCWSTR,DWORD,DWORD);
1839#endif
1840#if (_WIN32_WINNT >= 0x0501)
1843#endif
1845#if (_WIN32_WINNT >= 0x0501)
1847#endif
1849#if (_WIN32_WINNT >= 0x0501)
1852#endif
1859#define DefineHandleTable(w) ((w),TRUE)
1866#if (_WIN32_WINNT >= 0x0500)
1872#endif
1877
1878#if (_WIN32_WINNT >= 0x0500)
1879
1880_Success_(return != FALSE)
1881BOOL
1882WINAPI
1884 _In_ LPCSTR Hostname,
1885 _Out_writes_to_opt_(*nSize, *nSize + 1) LPSTR ComputerName,
1887
1888_Success_(return != FALSE)
1889BOOL
1890WINAPI
1892 _In_ LPCWSTR Hostname,
1893 _Out_writes_to_opt_(*nSize, *nSize + 1) LPWSTR ComputerName,
1895
1896#endif
1897
1932#if (_WIN32_WINNT >= 0x0501)
1936#endif
1947#if (_WIN32_WINNT >= 0x0501)
1949#endif
1951
1952#if (_WIN32_WINNT >= 0x0500)
1953
1954HANDLE
1955WINAPI
1957 _Out_writes_(cchBufferLength) LPSTR lpszVolumeName,
1958 _In_ DWORD cchBufferLength);
1959
1961
1962HANDLE
1963WINAPI
1965 _In_ LPCSTR lpszRootPathName,
1966 _Out_writes_(cchBufferLength) LPSTR lpszVolumeMountPoint,
1967 _In_ DWORD cchBufferLength);
1968
1969HANDLE
1970WINAPI
1972 _In_ LPCWSTR lpszRootPathName,
1973 _Out_writes_(cchBufferLength) LPWSTR lpszVolumeMountPoint,
1974 _In_ DWORD cchBufferLength);
1975
1976#endif
1977
1981#if (_WIN32_WINNT >= 0x0501)
1983#endif
1984
1985#if (_WIN32_WINNT >= 0x0500)
1986
1987BOOL
1988WINAPI
1990 _Inout_ HANDLE hFindVolume,
1991 _Out_writes_(cchBufferLength) LPSTR lpszVolumeName,
1992 _In_ DWORD cchBufferLength);
1993
1995
1996BOOL
1997WINAPI
1999 _In_ HANDLE hFindVolumeMountPoint,
2000 _Out_writes_(cchBufferLength) LPSTR lpszVolumeMountPoint,
2001 _In_ DWORD cchBufferLength);
2002
2003BOOL
2004WINAPI
2006 _In_ HANDLE hFindVolumeMountPoint,
2007 _Out_writes_(cchBufferLength) LPWSTR lpszVolumeMountPoint,
2008 _In_ DWORD cchBufferLength);
2009
2012
2013#endif
2014
2019
2027DWORD WINAPI FormatMessageA(DWORD dwFlags, LPCVOID lpSource, DWORD dwMessageId, DWORD dwLanguageId, LPSTR lpBuffer, DWORD nSize, va_list* Arguments);
2028DWORD WINAPI FormatMessageW(DWORD dwFlags, LPCVOID lpSource, DWORD dwMessageId, DWORD dwLanguageId, LPWSTR lpBuffer, DWORD nSize, va_list* Arguments);
2033#define FreeModule(m) FreeLibrary(m)
2034#define FreeProcInstance(p) (void)(p)
2039#if (_WIN32_WINNT >= 0x0600)
2042#endif
2043
2044UINT
2045WINAPI
2047 _In_ ATOM nAtom,
2048 _Out_writes_to_(nSize, return + 1) LPSTR lpBuffer,
2049 _In_ int nSize);
2050
2051UINT
2052WINAPI
2054 _In_ ATOM nAtom,
2055 _Out_writes_to_(nSize, return + 1) LPWSTR lpBuffer,
2056 _In_ int nSize);
2057
2062
2063_Success_(return != FALSE)
2064BOOL
2065WINAPI
2067 _In_ HANDLE hCommDev,
2070
2078
2079_Success_(return != 0)
2080BOOL
2081WINAPI
2085
2086_Success_(return != 0)
2087BOOL
2088WINAPI
2092
2093#if (_WIN32_WINNT >= 0x0500)
2094BOOL WINAPI GetComputerNameExA(COMPUTER_NAME_FORMAT,LPSTR,LPDWORD);
2095BOOL WINAPI GetComputerNameExW(COMPUTER_NAME_FORMAT,LPWSTR,LPDWORD);
2096#endif
2097#if (_WIN32_WINNT >= 0x0501)
2099#endif
2108#define GetCurrentTime GetTickCount
2109
2110BOOL
2111WINAPI
2113 _In_ LPCSTR lpszName,
2116
2117BOOL
2118WINAPI
2120 _In_ LPCWSTR lpszName,
2123
2128
2129#if (_WIN32_WINNT >= 0x0502)
2130
2131_Success_(return != 0 && return < nBufferLength)
2132DWORD
2133WINAPI
2137
2138_Success_(return != 0 && return < nBufferLength)
2139DWORD
2140WINAPI
2144
2145#endif
2146
2156#if (_WIN32_WINNT >= 0x0600)
2160#endif
2164#if (_WIN32_WINNT >= 0x0600)
2166#endif
2168
2169#if (_WIN32_WINNT >= 0x0600)
2170BOOL
2171WINAPI
2175 _Out_writes_bytes_(dwBufferSize) LPVOID lpFileInformation,
2176 _In_ DWORD dwBufferSize);
2177#endif
2178
2179BOOL
2180WINAPI
2183 _In_ SECURITY_INFORMATION RequestedInformation,
2184 _Out_writes_bytes_to_opt_(nLength, *lpnLengthNeeded) PSECURITY_DESCRIPTOR pSecurityDescriptor,
2186 _Out_ LPDWORD lpnLengthNeeded);
2187
2193#define GetFreeSpace(w) (0x100000L)
2202
2203_Success_(return != 0 && return <= nBufferLength)
2204DWORD
2205WINAPI
2209
2211#if (_WIN32_WINNT >= 0x0500 || _WIN32_WINDOWS >= 0x0410)
2214#endif
2220#if (_WIN32_WINNT >= 0x0500)
2223#endif
2224
2225#if _WIN32_WINNT >= 0x0502
2228#endif
2229
2230BOOL
2231WINAPI
2233 _In_ HANDLE hNamedPipe,
2234 _Out_opt_ LPDWORD lpState,
2235 _Out_opt_ LPDWORD lpCurInstances,
2236 _Out_opt_ LPDWORD lpMaxCollectionCount,
2237 _Out_opt_ LPDWORD lpCollectDataTimeout,
2238 _Out_writes_opt_(nMaxUserNameSize) LPSTR lpUserName,
2239 _In_ DWORD nMaxUserNameSize);
2240
2241BOOL
2242WINAPI
2244 _In_ HANDLE hNamedPipe,
2245 _Out_opt_ LPDWORD lpState,
2246 _Out_opt_ LPDWORD lpCurInstances,
2247 _Out_opt_ LPDWORD lpMaxCollectionCount,
2248 _Out_opt_ LPDWORD lpCollectDataTimeout,
2249 _Out_writes_opt_(nMaxUserNameSize) LPWSTR lpUserName,
2250 _In_ DWORD nMaxUserNameSize);
2251
2253#if (_WIN32_WINNT >= 0x0501)
2255#endif
2256
2257BOOL
2258WINAPI
2260 _In_ HANDLE hEventLog,
2265
2273
2274DWORD
2275WINAPI
2277 _In_ LPCSTR lpAppName,
2278 _Out_writes_to_opt_(nSize, return + 1) LPSTR lpReturnedString,
2281
2282DWORD
2283WINAPI
2285 _In_ LPCWSTR lpAppName,
2286 _Out_writes_to_opt_(nSize, return + 1) LPWSTR lpReturnedString,
2289
2290DWORD
2291WINAPI
2293 _Out_writes_to_opt_(nSize, return + 1) LPSTR lpszReturnBuffer,
2296
2297DWORD
2298WINAPI
2300 _Out_writes_to_opt_(nSize, return + 1) LPWSTR lpszReturnBuffer,
2303
2304DWORD
2305WINAPI
2307 _In_opt_ LPCSTR lpAppName,
2308 _In_opt_ LPCSTR lpKeyName,
2309 _In_opt_ LPCSTR lpDefault,
2310 _Out_writes_to_opt_(nSize, return + 1) LPSTR lpReturnedString,
2313
2314DWORD
2315WINAPI
2317 _In_opt_ LPCWSTR lpAppName,
2318 _In_opt_ LPCWSTR lpKeyName,
2319 _In_opt_ LPCWSTR lpDefault,
2320 _Out_writes_to_opt_(nSize, return + 1) LPWSTR lpReturnedString,
2323
2324BOOL
2325WINAPI
2327 _In_ LPCSTR lpszSection,
2328 _In_ LPCSTR lpszKey,
2329 _Out_writes_bytes_opt_(uSizeStruct) LPVOID lpStruct,
2330 _In_ UINT uSizeStruct,
2331 _In_opt_ LPCSTR szFile);
2332
2333BOOL
2334WINAPI
2336 _In_ LPCWSTR lpszSection,
2337 _In_ LPCWSTR lpszKey,
2338 _Out_writes_bytes_opt_(uSizeStruct) LPVOID lpStruct,
2339 _In_ UINT uSizeStruct,
2340 _In_opt_ LPCWSTR szFile);
2341
2344#if (_WIN32_WINNT >= 0x0502)
2346#endif
2349#if (_WIN32_WINNT >= 0x0502)
2352#endif
2353#if (_WIN32_WINNT >= 0x0500)
2355#endif
2360HWINSTA WINAPI GetProcessWindowStation(void);
2364
2365DWORD
2366WINAPI
2368 _In_ LPCSTR lpAppName,
2369 _Out_writes_to_opt_(nSize, return + 1) LPSTR lpReturnedString,
2370 _In_ DWORD nSize);
2371
2372DWORD
2373WINAPI
2375 _In_ LPCWSTR lpAppName,
2376 _Out_writes_to_opt_(nSize, return + 1) LPWSTR lpReturnedString,
2377 _In_ DWORD nSize);
2378
2379DWORD
2380WINAPI
2382 _In_opt_ LPCSTR lpAppName,
2383 _In_opt_ LPCSTR lpKeyName,
2384 _In_opt_ LPCSTR lpDefault,
2385 _Out_writes_to_opt_(nSize, return + 1) LPSTR lpReturnedString,
2386 _In_ DWORD nSize);
2387
2388DWORD
2389WINAPI
2391 _In_opt_ LPCWSTR lpAppName,
2392 _In_opt_ LPCWSTR lpKeyName,
2393 _In_opt_ LPCWSTR lpDefault,
2394 _Out_writes_to_opt_(nSize, return + 1) LPWSTR lpReturnedString,
2395 _In_ DWORD nSize);
2396
2405
2406_Success_(return != 0 && return < cchBuffer)
2407DWORD
2408WINAPI
2410 _In_ LPCSTR lpszLongPath,
2411 _Out_writes_to_opt_(cchBuffer, return + 1) LPSTR lpszShortPath,
2413
2424
2427#if (_WIN32_WINNT >= 0x0502)
2429#endif
2431#if (_WIN32_WINNT >= 0x0501)
2433#endif
2436#if (_WIN32_WINNT >= 0x0500)
2439#endif
2440
2441#if (_WIN32_WINNT >= 0x0501)
2442
2443_Success_(return != 0 && return < uSize)
2444UINT
2445WINAPI
2447 _Out_writes_to_opt_(uSize, return + 1) LPSTR lpBuffer,
2448 _In_ UINT uSize);
2449
2450_Success_(return != 0 && return < uSize)
2451UINT
2452WINAPI
2454 _Out_writes_to_opt_(uSize, return + 1) LPWSTR lpBuffer,
2455 _In_ UINT uSize);
2456
2457#endif
2458
2459DWORD
2460WINAPI
2462 _In_ HANDLE hDevice,
2463 _In_ DWORD dwOperation,
2465 _Out_writes_bytes_(*lpdwSize) LPVOID lpTapeInformation);
2466
2469
2470UINT
2471WINAPI
2473 _In_ LPCSTR lpPathName,
2474 _In_ LPCSTR lpPrefixString,
2475 _In_ UINT uUnique,
2476 _Out_writes_(MAX_PATH) LPSTR lpTempFileName);
2477
2479
2480DWORD
2481WINAPI
2485
2488#if (_WIN32_WINNT >= 0x0502)
2490#endif
2496#if (_WIN32_WINNT >= 0x0600)
2498#endif
2502
2503BOOL
2504WINAPI
2506 _Out_writes_to_opt_(*pcbBuffer, *pcbBuffer) LPSTR lpBuffer,
2507 _Inout_ LPDWORD pcbBuffer);
2508
2509BOOL
2510WINAPI
2512 _Out_writes_to_opt_(*pcbBuffer, *pcbBuffer) LPWSTR lpBuffer,
2513 _Inout_ LPDWORD pcbBuffer);
2514
2515DWORD WINAPI GetVersion(void);
2518
2519BOOL
2520WINAPI
2522 _In_opt_ LPCSTR lpRootPathName,
2523 _Out_writes_opt_(nVolumeNameSize) LPSTR lpVolumeNameBuffer,
2524 _In_ DWORD nVolumeNameSize,
2525 _Out_opt_ LPDWORD lpVolumeSerialNumber,
2526 _Out_opt_ LPDWORD lpMaximumComponentLength,
2527 _Out_opt_ LPDWORD lpFileSystemFlags,
2528 _Out_writes_opt_(nFileSystemNameSize) LPSTR lpFileSystemNameBuffer,
2529 _In_ DWORD nFileSystemNameSize);
2530
2532
2533#if (_WIN32_WINNT >= 0x0500)
2534
2535BOOL
2536WINAPI
2538 _In_ LPCSTR lpszVolumeMountPoint,
2539 _Out_writes_(cchBufferLength) LPSTR lpszVolumeName,
2540 _In_ DWORD cchBufferLength);
2541
2543
2544BOOL
2545WINAPI
2547 _In_ LPCSTR lpszFileName,
2548 _Out_writes_(cchBufferLength) LPSTR lpszVolumePathName,
2549 _In_ DWORD cchBufferLength);
2550
2552
2553#endif
2554
2555#if (_WIN32_WINNT >= 0x0501)
2556
2557BOOL
2558WINAPI
2560 _In_ LPCSTR lpszVolumeName,
2561 _Out_writes_to_opt_(cchBufferLength, *lpcchReturnLength) _Post_ _NullNull_terminated_ LPCH lpszVolumePathNames,
2562 _In_ DWORD cchBufferLength,
2563 _Out_ PDWORD lpcchReturnLength);
2564
2566
2567#endif
2568
2576SIZE_T WINAPI GlobalCompact(_In_ DWORD); /* Obsolete: Has no effect. */
2578#define GlobalDiscard(m) GlobalReAlloc((m),0,GMEM_MOVEABLE)
2581VOID WINAPI GlobalFix(_In_ HGLOBAL); /* Obsolete: Has no effect. */
2582UINT WINAPI GlobalFlags(_In_ HGLOBAL); /* Obsolete: Has no effect. */
2584
2585UINT
2586WINAPI
2588 _In_ ATOM nAtom,
2589 _Out_writes_to_(nSize, return + 1) LPSTR lpBuffer,
2590 _In_ int nSize);
2591
2592UINT
2593WINAPI
2595 _In_ ATOM nAtom,
2596 _Out_writes_to_(nSize, return + 1) LPWSTR lpBuffer,
2597 _In_ int nSize);
2598
2602#if (_WIN32_WINNT >= 0x0500)
2603BOOL WINAPI GlobalMemoryStatusEx(LPMEMORYSTATUSEX);
2604#endif
2607VOID WINAPI GlobalUnfix(_In_ HGLOBAL); /* Obsolete: Has no effect. */
2609BOOL WINAPI GlobalUnWire(_In_ HGLOBAL); /* Obsolete: Has no effect. */
2610PVOID WINAPI GlobalWire(_In_ HGLOBAL); /* Obsolete: Has no effect. */
2611#define HasOverlappedIoCompleted(lpOverlapped) ((lpOverlapped)->Internal != STATUS_PENDING)
2618#if (_WIN32_WINNT >= 0x0501)
2620#endif
2622#if (_WIN32_WINNT >= 0x0501)
2624#endif
2635#if (_WIN32_WINNT >= 0x0600)
2636VOID WINAPI InitializeConditionVariable(PCONDITION_VARIABLE);
2637#endif
2643
2644#if (_WIN32_WINNT >= 0x0600)
2646#endif
2647
2656#if (_WIN32_WINNT >= 0x0501)
2658#endif
2661
2662BOOL
2663WINAPI
2665 _In_reads_bytes_(iSize) CONST VOID *lpv,
2666 _In_ int iSize,
2667 _Inout_opt_ LPINT lpiResult);
2668
2669#if (_WIN32_WINNT >= 0x0600)
2671#endif
2675#if (_WIN32_WINNT >= 0x0501)
2678#endif
2680#define LimitEmsPages(n)
2688SIZE_T WINAPI LocalCompact(_In_ UINT); /* Obsolete: Has no effect. */
2689#define LocalDiscard(m) (LocalReAlloc((m),0,LMEM_MOVEABLE))
2691UINT WINAPI LocalFlags(_In_ HLOCAL); /* Obsolete: Has no effect. */
2696SIZE_T WINAPI LocalShrink(_In_ HLOCAL, _In_ UINT); /* Obsolete: Has no effect. */
2702#define LockSegment(w) GlobalFix((HANDLE)(w)) /* Obsolete: Has no effect. */
2705
2706_Success_(return != FALSE)
2707BOOL
2708WINAPI
2710 _In_ LPSTR lpszUsername,
2720
2721_Success_(return != FALSE)
2722BOOL
2723WINAPI
2725 _In_ LPWSTR lpszUsername,
2735
2736_Success_(return != FALSE)
2737BOOL
2738WINAPI
2740 _In_opt_ LPCSTR lpSystemName,
2747
2748_Success_(return != FALSE)
2749BOOL
2750WINAPI
2752 _In_opt_ LPCWSTR lpSystemName,
2759
2760_Success_(return != FALSE)
2761BOOL
2762WINAPI
2764 _In_opt_ LPCSTR lpSystemName,
2765 _In_ PSID Sid,
2771
2772_Success_(return != FALSE)
2773BOOL
2774WINAPI
2776