msvcrt/tests: Use standard wine_dbgstr_longlong.
[wine.git] / include / winbase.h
bloba8ccb2c02406b8f3d1973f282c46043d6d685886
1 /*
2 * Copyright (C) the Wine project
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
19 #ifndef __WINE_WINBASE_H
20 #define __WINE_WINBASE_H
22 #include <winerror.h>
24 #ifdef __cplusplus
25 extern "C" {
26 #endif
28 #ifdef _KERNEL32_
29 #define WINBASEAPI
30 #else
31 #define WINBASEAPI DECLSPEC_IMPORT
32 #endif
34 #ifdef _ADVAPI32_
35 #define WINADVAPI
36 #else
37 #define WINADVAPI DECLSPEC_IMPORT
38 #endif
40 /* Windows Exit Procedure flag values */
41 #define WEP_FREE_DLL 0
42 #define WEP_SYSTEM_EXIT 1
44 typedef DWORD (CALLBACK *LPTHREAD_START_ROUTINE)(LPVOID);
46 typedef VOID (WINAPI *PFIBER_START_ROUTINE)( LPVOID lpFiberParameter );
47 typedef PFIBER_START_ROUTINE LPFIBER_START_ROUTINE;
49 #define FIBER_FLAG_FLOAT_SWITCH 1
51 typedef RTL_CRITICAL_SECTION CRITICAL_SECTION;
52 typedef PRTL_CRITICAL_SECTION PCRITICAL_SECTION;
53 typedef PRTL_CRITICAL_SECTION LPCRITICAL_SECTION;
55 typedef RTL_CRITICAL_SECTION_DEBUG CRITICAL_SECTION_DEBUG;
56 typedef PRTL_CRITICAL_SECTION_DEBUG PCRITICAL_SECTION_DEBUG;
57 typedef PRTL_CRITICAL_SECTION_DEBUG LPCRITICAL_SECTION_DEBUG;
59 #define CRITICAL_SECTION_NO_DEBUG_INFO RTL_CRITICAL_SECTION_FLAG_NO_DEBUG_INFO
61 typedef RTL_SRWLOCK SRWLOCK;
62 typedef PRTL_SRWLOCK PSRWLOCK;
64 #define SRWLOCK_INIT RTL_SRWLOCK_INIT
66 typedef WAITORTIMERCALLBACKFUNC WAITORTIMERCALLBACK;
68 #define CONDITION_VARIABLE_INIT RTL_CONDITION_VARIABLE_INIT
69 #define CONDITION_VARIABLE_LOCKMODE_SHARED RTL_CONDITION_VARIABLE_LOCKMODE_SHARED
70 typedef RTL_CONDITION_VARIABLE CONDITION_VARIABLE, *PCONDITION_VARIABLE;
72 #define EXCEPTION_DEBUG_EVENT 1
73 #define CREATE_THREAD_DEBUG_EVENT 2
74 #define CREATE_PROCESS_DEBUG_EVENT 3
75 #define EXIT_THREAD_DEBUG_EVENT 4
76 #define EXIT_PROCESS_DEBUG_EVENT 5
77 #define LOAD_DLL_DEBUG_EVENT 6
78 #define UNLOAD_DLL_DEBUG_EVENT 7
79 #define OUTPUT_DEBUG_STRING_EVENT 8
80 #define RIP_EVENT 9
82 typedef struct _EXCEPTION_DEBUG_INFO {
83 EXCEPTION_RECORD ExceptionRecord;
84 DWORD dwFirstChance;
85 } EXCEPTION_DEBUG_INFO;
87 typedef struct _CREATE_THREAD_DEBUG_INFO {
88 HANDLE hThread;
89 LPVOID lpThreadLocalBase;
90 LPTHREAD_START_ROUTINE lpStartAddress;
91 } CREATE_THREAD_DEBUG_INFO;
93 typedef struct _CREATE_PROCESS_DEBUG_INFO {
94 HANDLE hFile;
95 HANDLE hProcess;
96 HANDLE hThread;
97 LPVOID lpBaseOfImage;
98 DWORD dwDebugInfoFileOffset;
99 DWORD nDebugInfoSize;
100 LPVOID lpThreadLocalBase;
101 LPTHREAD_START_ROUTINE lpStartAddress;
102 LPVOID lpImageName;
103 WORD fUnicode;
104 } CREATE_PROCESS_DEBUG_INFO;
106 typedef struct _EXIT_THREAD_DEBUG_INFO {
107 DWORD dwExitCode;
108 } EXIT_THREAD_DEBUG_INFO;
110 typedef struct _EXIT_PROCESS_DEBUG_INFO {
111 DWORD dwExitCode;
112 } EXIT_PROCESS_DEBUG_INFO;
114 typedef struct _LOAD_DLL_DEBUG_INFO {
115 HANDLE hFile;
116 LPVOID lpBaseOfDll;
117 DWORD dwDebugInfoFileOffset;
118 DWORD nDebugInfoSize;
119 LPVOID lpImageName;
120 WORD fUnicode;
121 } LOAD_DLL_DEBUG_INFO;
123 typedef struct _UNLOAD_DLL_DEBUG_INFO {
124 LPVOID lpBaseOfDll;
125 } UNLOAD_DLL_DEBUG_INFO;
127 typedef struct _OUTPUT_DEBUG_STRING_INFO {
128 LPSTR lpDebugStringData;
129 WORD fUnicode;
130 WORD nDebugStringLength;
131 } OUTPUT_DEBUG_STRING_INFO;
133 typedef struct _RIP_INFO {
134 DWORD dwError;
135 DWORD dwType;
136 } RIP_INFO;
138 typedef struct _DEBUG_EVENT {
139 DWORD dwDebugEventCode;
140 DWORD dwProcessId;
141 DWORD dwThreadId;
142 union {
143 EXCEPTION_DEBUG_INFO Exception;
144 CREATE_THREAD_DEBUG_INFO CreateThread;
145 CREATE_PROCESS_DEBUG_INFO CreateProcessInfo;
146 EXIT_THREAD_DEBUG_INFO ExitThread;
147 EXIT_PROCESS_DEBUG_INFO ExitProcess;
148 LOAD_DLL_DEBUG_INFO LoadDll;
149 UNLOAD_DLL_DEBUG_INFO UnloadDll;
150 OUTPUT_DEBUG_STRING_INFO DebugString;
151 RIP_INFO RipInfo;
152 } u;
153 } DEBUG_EVENT, *LPDEBUG_EVENT;
155 typedef PCONTEXT LPCONTEXT;
156 typedef PEXCEPTION_RECORD LPEXCEPTION_RECORD;
157 typedef PEXCEPTION_POINTERS LPEXCEPTION_POINTERS;
159 typedef LONG (CALLBACK *PTOP_LEVEL_EXCEPTION_FILTER)(PEXCEPTION_POINTERS);
160 typedef PTOP_LEVEL_EXCEPTION_FILTER LPTOP_LEVEL_EXCEPTION_FILTER;
162 #define OFS_MAXPATHNAME 128
163 typedef struct _OFSTRUCT
165 BYTE cBytes;
166 BYTE fFixedDisk;
167 WORD nErrCode;
168 WORD Reserved1;
169 WORD Reserved2;
170 CHAR szPathName[OFS_MAXPATHNAME];
171 } OFSTRUCT, *POFSTRUCT, *LPOFSTRUCT;
173 #define OF_READ 0x0000
174 #define OF_WRITE 0x0001
175 #define OF_READWRITE 0x0002
176 #define OF_SHARE_COMPAT 0x0000
177 #define OF_SHARE_EXCLUSIVE 0x0010
178 #define OF_SHARE_DENY_WRITE 0x0020
179 #define OF_SHARE_DENY_READ 0x0030
180 #define OF_SHARE_DENY_NONE 0x0040
181 #define OF_PARSE 0x0100
182 #define OF_DELETE 0x0200
183 #define OF_VERIFY 0x0400 /* Used with OF_REOPEN */
184 #define OF_SEARCH 0x0400 /* Used without OF_REOPEN */
185 #define OF_CANCEL 0x0800
186 #define OF_CREATE 0x1000
187 #define OF_PROMPT 0x2000
188 #define OF_EXIST 0x4000
189 #define OF_REOPEN 0x8000
191 /* SetErrorMode values */
192 #define SEM_FAILCRITICALERRORS 0x0001
193 #define SEM_NOGPFAULTERRORBOX 0x0002
194 #define SEM_NOALIGNMENTFAULTEXCEPT 0x0004
195 #define SEM_NOOPENFILEERRORBOX 0x8000
197 /* CopyFileEx flags */
198 #define COPY_FILE_FAIL_IF_EXISTS 0x00000001
199 #define COPY_FILE_RESTARTABLE 0x00000002
200 #define COPY_FILE_OPEN_SOURCE_FOR_WRITE 0x00000004
201 #define COPY_FILE_ALLOW_DECRYPTED_DESTINATION 0x00000008
202 #define COPY_FILE_COPY_SYMLINK 0x00000800
203 #define COPY_FILE_NO_BUFFERING 0x00001000
205 /* return values for CopyProgressRoutine */
206 #define PROGRESS_CONTINUE 0
207 #define PROGRESS_CANCEL 1
208 #define PROGRESS_STOP 2
209 #define PROGRESS_QUIET 3
211 /* reason codes for CopyProgressRoutine */
212 #define CALLBACK_CHUNK_FINISHED 0
213 #define CALLBACK_STREAM_SWITCH 1
215 /* GetTempFileName() Flags */
216 #define TF_FORCEDRIVE 0x80
218 #define DRIVE_UNKNOWN 0
219 #define DRIVE_NO_ROOT_DIR 1
220 #define DRIVE_REMOVABLE 2
221 #define DRIVE_FIXED 3
222 #define DRIVE_REMOTE 4
223 /* Win32 additions */
224 #define DRIVE_CDROM 5
225 #define DRIVE_RAMDISK 6
227 #define MAX_COMPUTERNAME_LENGTH 15
229 /* The security attributes structure */
230 typedef struct _SECURITY_ATTRIBUTES
232 DWORD nLength;
233 LPVOID lpSecurityDescriptor;
234 BOOL bInheritHandle;
235 } SECURITY_ATTRIBUTES, *PSECURITY_ATTRIBUTES, *LPSECURITY_ATTRIBUTES;
237 #ifndef _FILETIME_
238 #define _FILETIME_
239 /* 64 bit number of 100 nanoseconds intervals since January 1, 1601 */
240 typedef struct _FILETIME
242 #ifdef WORDS_BIGENDIAN
243 DWORD dwHighDateTime;
244 DWORD dwLowDateTime;
245 #else
246 DWORD dwLowDateTime;
247 DWORD dwHighDateTime;
248 #endif
249 } FILETIME, *PFILETIME, *LPFILETIME;
250 #endif /* _FILETIME_ */
252 /* Find* structures */
253 typedef struct _WIN32_FIND_DATAA
255 DWORD dwFileAttributes;
256 FILETIME ftCreationTime;
257 FILETIME ftLastAccessTime;
258 FILETIME ftLastWriteTime;
259 DWORD nFileSizeHigh;
260 DWORD nFileSizeLow;
261 DWORD dwReserved0;
262 DWORD dwReserved1;
263 CHAR cFileName[260];
264 CHAR cAlternateFileName[14];
265 } WIN32_FIND_DATAA, *PWIN32_FIND_DATAA, *LPWIN32_FIND_DATAA;
267 typedef struct _WIN32_FIND_DATAW
269 DWORD dwFileAttributes;
270 FILETIME ftCreationTime;
271 FILETIME ftLastAccessTime;
272 FILETIME ftLastWriteTime;
273 DWORD nFileSizeHigh;
274 DWORD nFileSizeLow;
275 DWORD dwReserved0;
276 DWORD dwReserved1;
277 WCHAR cFileName[260];
278 WCHAR cAlternateFileName[14];
279 } WIN32_FIND_DATAW, *PWIN32_FIND_DATAW, *LPWIN32_FIND_DATAW;
281 DECL_WINELIB_TYPE_AW(WIN32_FIND_DATA)
282 DECL_WINELIB_TYPE_AW(PWIN32_FIND_DATA)
283 DECL_WINELIB_TYPE_AW(LPWIN32_FIND_DATA)
285 typedef enum _FINDEX_INFO_LEVELS
287 FindExInfoStandard,
288 FindExInfoBasic,
289 FindExInfoMaxInfoLevel
290 } FINDEX_INFO_LEVELS;
292 #define FIND_FIRST_EX_CASE_SENSITIVE 1
293 #define FIND_FIRST_EX_LARGE_FETCH 2
295 typedef enum _FINDEX_SEARCH_OPS
297 FindExSearchNameMatch,
298 FindExSearchLimitToDirectories,
299 FindExSearchLimitToDevices,
300 FindExSearchMaxSearchOp
301 } FINDEX_SEARCH_OPS;
303 typedef struct _PROCESS_HEAP_ENTRY
305 LPVOID lpData;
306 DWORD cbData;
307 BYTE cbOverhead;
308 BYTE iRegionIndex;
309 WORD wFlags;
310 union {
311 struct {
312 HANDLE hMem;
313 DWORD dwReserved[3];
314 } Block;
315 struct {
316 DWORD dwCommittedSize;
317 DWORD dwUnCommittedSize;
318 LPVOID lpFirstBlock;
319 LPVOID lpLastBlock;
320 } Region;
321 } DUMMYUNIONNAME;
322 } PROCESS_HEAP_ENTRY, *PPROCESS_HEAP_ENTRY, *LPPROCESS_HEAP_ENTRY;
324 #define PROCESS_HEAP_REGION 0x0001
325 #define PROCESS_HEAP_UNCOMMITTED_RANGE 0x0002
326 #define PROCESS_HEAP_ENTRY_BUSY 0x0004
327 #define PROCESS_HEAP_ENTRY_MOVEABLE 0x0010
328 #define PROCESS_HEAP_ENTRY_DDESHARE 0x0020
330 #define INVALID_HANDLE_VALUE ((HANDLE)~(ULONG_PTR)0)
331 #define INVALID_FILE_SIZE (~0u)
332 #define INVALID_SET_FILE_POINTER (~0u)
333 #define INVALID_FILE_ATTRIBUTES (~0u)
335 #define LOCKFILE_FAIL_IMMEDIATELY 1
336 #define LOCKFILE_EXCLUSIVE_LOCK 2
338 #define FLS_OUT_OF_INDEXES (~0u)
339 #define TLS_OUT_OF_INDEXES (~0u)
341 #define SHUTDOWN_NORETRY 1
343 /* comm */
345 #define CBR_110 0xFF10
346 #define CBR_300 0xFF11
347 #define CBR_600 0xFF12
348 #define CBR_1200 0xFF13
349 #define CBR_2400 0xFF14
350 #define CBR_4800 0xFF15
351 #define CBR_9600 0xFF16
352 #define CBR_14400 0xFF17
353 #define CBR_19200 0xFF18
354 #define CBR_38400 0xFF1B
355 #define CBR_56000 0xFF1F
356 #define CBR_57600 0xFF20
357 #define CBR_115200 0xFF21
358 #define CBR_128000 0xFF23
359 #define CBR_256000 0xFF27
361 #define NOPARITY 0
362 #define ODDPARITY 1
363 #define EVENPARITY 2
364 #define MARKPARITY 3
365 #define SPACEPARITY 4
366 #define ONESTOPBIT 0
367 #define ONE5STOPBITS 1
368 #define TWOSTOPBITS 2
370 #define IGNORE 0
371 #define INFINITE 0xFFFFFFFF
373 #define CE_RXOVER 0x0001
374 #define CE_OVERRUN 0x0002
375 #define CE_RXPARITY 0x0004
376 #define CE_FRAME 0x0008
377 #define CE_BREAK 0x0010
378 #define CE_CTSTO 0x0020
379 #define CE_DSRTO 0x0040
380 #define CE_RLSDTO 0x0080
381 #define CE_TXFULL 0x0100
382 #define CE_PTO 0x0200
383 #define CE_IOE 0x0400
384 #define CE_DNS 0x0800
385 #define CE_OOP 0x1000
386 #define CE_MODE 0x8000
388 #define IE_BADID -1
389 #define IE_OPEN -2
390 #define IE_NOPEN -3
391 #define IE_MEMORY -4
392 #define IE_DEFAULT -5
393 #define IE_HARDWARE -10
394 #define IE_BYTESIZE -11
395 #define IE_BAUDRATE -12
397 #define EV_RXCHAR 0x0001
398 #define EV_RXFLAG 0x0002
399 #define EV_TXEMPTY 0x0004
400 #define EV_CTS 0x0008
401 #define EV_DSR 0x0010
402 #define EV_RLSD 0x0020
403 #define EV_BREAK 0x0040
404 #define EV_ERR 0x0080
405 #define EV_RING 0x0100
406 #define EV_PERR 0x0200
407 #define EV_RX80FULL 0x0400
408 #define EV_EVENT1 0x0800
409 #define EV_EVENT2 0x1000
411 #define SETXOFF 1
412 #define SETXON 2
413 #define SETRTS 3
414 #define CLRRTS 4
415 #define SETDTR 5
416 #define CLRDTR 6
417 #define RESETDEV 7
418 #define SETBREAK 8
419 #define CLRBREAK 9
421 /* Purge functions for Comm Port */
422 #define PURGE_TXABORT 0x0001 /* Kill the pending/current writes to the
423 comm port */
424 #define PURGE_RXABORT 0x0002 /*Kill the pending/current reads to
425 the comm port */
426 #define PURGE_TXCLEAR 0x0004 /* Kill the transmit queue if there*/
427 #define PURGE_RXCLEAR 0x0008 /* Kill the typeahead buffer if there*/
430 /* Modem Status Flags */
431 #define MS_CTS_ON ((DWORD)0x0010)
432 #define MS_DSR_ON ((DWORD)0x0020)
433 #define MS_RING_ON ((DWORD)0x0040)
434 #define MS_RLSD_ON ((DWORD)0x0080)
436 #define RTS_CONTROL_DISABLE 0
437 #define RTS_CONTROL_ENABLE 1
438 #define RTS_CONTROL_HANDSHAKE 2
439 #define RTS_CONTROL_TOGGLE 3
441 #define DTR_CONTROL_DISABLE 0
442 #define DTR_CONTROL_ENABLE 1
443 #define DTR_CONTROL_HANDSHAKE 2
446 #define LMEM_FIXED 0
447 #define LMEM_MOVEABLE 0x0002
448 #define LMEM_NOCOMPACT 0x0010
449 #define LMEM_NODISCARD 0x0020
450 #define LMEM_ZEROINIT 0x0040
451 #define LMEM_MODIFY 0x0080
452 #define LMEM_DISCARDABLE 0x0F00
453 #define LMEM_DISCARDED 0x4000
454 #define LMEM_INVALID_HANDLE 0x8000
455 #define LMEM_LOCKCOUNT 0x00FF
457 #define LPTR (LMEM_FIXED | LMEM_ZEROINIT)
458 #define LHND (LMEM_MOVEABLE | LMEM_ZEROINIT)
460 #define NONZEROLHND (LMEM_MOVEABLE)
461 #define NONZEROLPTR (LMEM_FIXED)
463 #define LocalDiscard(h) (LocalReAlloc((h),0,LMEM_MOVEABLE))
465 #define GMEM_FIXED 0x0000
466 #define GMEM_MOVEABLE 0x0002
467 #define GMEM_NOCOMPACT 0x0010
468 #define GMEM_NODISCARD 0x0020
469 #define GMEM_ZEROINIT 0x0040
470 #define GMEM_MODIFY 0x0080
471 #define GMEM_DISCARDABLE 0x0100
472 #define GMEM_NOT_BANKED 0x1000
473 #define GMEM_SHARE 0x2000
474 #define GMEM_DDESHARE 0x2000
475 #define GMEM_NOTIFY 0x4000
476 #define GMEM_LOWER GMEM_NOT_BANKED
477 #define GMEM_DISCARDED 0x4000
478 #define GMEM_LOCKCOUNT 0x00ff
479 #define GMEM_INVALID_HANDLE 0x8000
481 #define GHND (GMEM_MOVEABLE | GMEM_ZEROINIT)
482 #define GPTR (GMEM_FIXED | GMEM_ZEROINIT)
484 #define GlobalLRUNewest(h) ((HANDLE)(h))
485 #define GlobalLRUOldest(h) ((HANDLE)(h))
486 #define GlobalDiscard(h) (GlobalReAlloc((h),0,GMEM_MOVEABLE))
488 #define INVALID_ATOM ((ATOM)0)
489 #define MAXINTATOM 0xc000
490 #ifdef WINE_NO_UNICODE_MACROS /* force using a cast */
491 #define MAKEINTATOM(atom) ((ULONG_PTR)((WORD)(atom)))
492 #else
493 #define MAKEINTATOM(atom) ((LPTSTR)((ULONG_PTR)((WORD)(atom))))
494 #endif
496 typedef struct tagMEMORYSTATUS
498 DWORD dwLength;
499 DWORD dwMemoryLoad;
500 SIZE_T dwTotalPhys;
501 SIZE_T dwAvailPhys;
502 SIZE_T dwTotalPageFile;
503 SIZE_T dwAvailPageFile;
504 SIZE_T dwTotalVirtual;
505 SIZE_T dwAvailVirtual;
506 } MEMORYSTATUS, *LPMEMORYSTATUS;
508 #include <pshpack8.h>
509 typedef struct tagMEMORYSTATUSEX {
510 DWORD dwLength;
511 DWORD dwMemoryLoad;
512 DWORDLONG DECLSPEC_ALIGN(8) ullTotalPhys;
513 DWORDLONG DECLSPEC_ALIGN(8) ullAvailPhys;
514 DWORDLONG DECLSPEC_ALIGN(8) ullTotalPageFile;
515 DWORDLONG DECLSPEC_ALIGN(8) ullAvailPageFile;
516 DWORDLONG DECLSPEC_ALIGN(8) ullTotalVirtual;
517 DWORDLONG DECLSPEC_ALIGN(8) ullAvailVirtual;
518 DWORDLONG DECLSPEC_ALIGN(8) ullAvailExtendedVirtual;
519 } MEMORYSTATUSEX, *LPMEMORYSTATUSEX;
520 #include <poppack.h>
522 typedef enum _MEMORY_RESOURCE_NOTIFICATION_TYPE {
523 LowMemoryResourceNotification,
524 HighMemoryResourceNotification
525 } MEMORY_RESOURCE_NOTIFICATION_TYPE;
527 #ifndef _SYSTEMTIME_
528 #define _SYSTEMTIME_
529 typedef struct _SYSTEMTIME{
530 WORD wYear;
531 WORD wMonth;
532 WORD wDayOfWeek;
533 WORD wDay;
534 WORD wHour;
535 WORD wMinute;
536 WORD wSecond;
537 WORD wMilliseconds;
538 } SYSTEMTIME, *PSYSTEMTIME, *LPSYSTEMTIME;
539 #endif /* _SYSTEMTIME_ */
541 /* The 'overlapped' data structure used by async I/O functions.
543 typedef struct _OVERLAPPED {
544 #ifdef WORDS_BIGENDIAN
545 ULONG_PTR InternalHigh;
546 ULONG_PTR Internal;
547 #else
548 ULONG_PTR Internal;
549 ULONG_PTR InternalHigh;
550 #endif
551 union {
552 struct {
553 #ifdef WORDS_BIGENDIAN
554 DWORD OffsetHigh;
555 DWORD Offset;
556 #else
557 DWORD Offset;
558 DWORD OffsetHigh;
559 #endif
560 } DUMMYSTRUCTNAME;
561 PVOID Pointer;
562 } DUMMYUNIONNAME;
563 HANDLE hEvent;
564 } OVERLAPPED, *LPOVERLAPPED;
566 typedef VOID (CALLBACK *LPOVERLAPPED_COMPLETION_ROUTINE)(DWORD,DWORD,LPOVERLAPPED);
568 /* Process startup information.
571 /* STARTUPINFO.dwFlags */
572 #define STARTF_USESHOWWINDOW 0x00000001
573 #define STARTF_USESIZE 0x00000002
574 #define STARTF_USEPOSITION 0x00000004
575 #define STARTF_USECOUNTCHARS 0x00000008
576 #define STARTF_USEFILLATTRIBUTE 0x00000010
577 #define STARTF_RUNFULLSCREEN 0x00000020
578 #define STARTF_FORCEONFEEDBACK 0x00000040
579 #define STARTF_FORCEOFFFEEDBACK 0x00000080
580 #define STARTF_USESTDHANDLES 0x00000100
581 #define STARTF_USEHOTKEY 0x00000200
583 typedef struct _STARTUPINFOA{
584 DWORD cb; /* 00: size of struct */
585 LPSTR lpReserved; /* 04: */
586 LPSTR lpDesktop; /* 08: */
587 LPSTR lpTitle; /* 0c: */
588 DWORD dwX; /* 10: */
589 DWORD dwY; /* 14: */
590 DWORD dwXSize; /* 18: */
591 DWORD dwYSize; /* 1c: */
592 DWORD dwXCountChars; /* 20: */
593 DWORD dwYCountChars; /* 24: */
594 DWORD dwFillAttribute; /* 28: */
595 DWORD dwFlags; /* 2c: */
596 WORD wShowWindow; /* 30: */
597 WORD cbReserved2; /* 32: */
598 BYTE *lpReserved2; /* 34: */
599 HANDLE hStdInput; /* 38: */
600 HANDLE hStdOutput; /* 3c: */
601 HANDLE hStdError; /* 40: */
602 } STARTUPINFOA, *LPSTARTUPINFOA;
604 typedef struct _STARTUPINFOW{
605 DWORD cb;
606 LPWSTR lpReserved;
607 LPWSTR lpDesktop;
608 LPWSTR lpTitle;
609 DWORD dwX;
610 DWORD dwY;
611 DWORD dwXSize;
612 DWORD dwYSize;
613 DWORD dwXCountChars;
614 DWORD dwYCountChars;
615 DWORD dwFillAttribute;
616 DWORD dwFlags;
617 WORD wShowWindow;
618 WORD cbReserved2;
619 BYTE *lpReserved2;
620 HANDLE hStdInput;
621 HANDLE hStdOutput;
622 HANDLE hStdError;
623 } STARTUPINFOW, *LPSTARTUPINFOW;
625 DECL_WINELIB_TYPE_AW(STARTUPINFO)
626 DECL_WINELIB_TYPE_AW(LPSTARTUPINFO)
628 typedef struct _PROCESS_INFORMATION{
629 HANDLE hProcess;
630 HANDLE hThread;
631 DWORD dwProcessId;
632 DWORD dwThreadId;
633 } PROCESS_INFORMATION, *PPROCESS_INFORMATION, *LPPROCESS_INFORMATION;
635 typedef struct _TIME_DYNAMIC_ZONE_INFORMATION
637 LONG Bias;
638 WCHAR StandardName[32];
639 SYSTEMTIME StandardDate;
640 LONG StandardBias;
641 WCHAR DaylightName[32];
642 SYSTEMTIME DaylightDate;
643 LONG DaylightBias;
644 WCHAR TimeZoneKeyName[128];
645 BOOLEAN DynamicDaylightTimeDisabled;
646 } DYNAMIC_TIME_ZONE_INFORMATION, *PDYNAMIC_TIME_ZONE_INFORMATION;
648 typedef struct _TIME_ZONE_INFORMATION{
649 LONG Bias;
650 WCHAR StandardName[32];
651 SYSTEMTIME StandardDate;
652 LONG StandardBias;
653 WCHAR DaylightName[32];
654 SYSTEMTIME DaylightDate;
655 LONG DaylightBias;
656 } TIME_ZONE_INFORMATION, *PTIME_ZONE_INFORMATION, *LPTIME_ZONE_INFORMATION;
658 #define TIME_ZONE_ID_INVALID ((DWORD)0xFFFFFFFF)
659 #define TIME_ZONE_ID_UNKNOWN 0
660 #define TIME_ZONE_ID_STANDARD 1
661 #define TIME_ZONE_ID_DAYLIGHT 2
663 /* CreateProcess: dwCreationFlag values
665 #define DEBUG_PROCESS 0x00000001
666 #define DEBUG_ONLY_THIS_PROCESS 0x00000002
667 #define CREATE_SUSPENDED 0x00000004
668 #define DETACHED_PROCESS 0x00000008
669 #define CREATE_NEW_CONSOLE 0x00000010
670 #define NORMAL_PRIORITY_CLASS 0x00000020
671 #define IDLE_PRIORITY_CLASS 0x00000040
672 #define HIGH_PRIORITY_CLASS 0x00000080
673 #define REALTIME_PRIORITY_CLASS 0x00000100
674 #define BELOW_NORMAL_PRIORITY_CLASS 0x00004000
675 #define ABOVE_NORMAL_PRIORITY_CLASS 0x00008000
676 #define CREATE_NEW_PROCESS_GROUP 0x00000200
677 #define CREATE_UNICODE_ENVIRONMENT 0x00000400
678 #define CREATE_SEPARATE_WOW_VDM 0x00000800
679 #define CREATE_SHARED_WOW_VDM 0x00001000
680 #define STACK_SIZE_PARAM_IS_A_RESERVATION 0x00010000
681 #define CREATE_BREAKAWAY_FROM_JOB 0x01000000
682 #define CREATE_DEFAULT_ERROR_MODE 0x04000000
683 #define CREATE_NO_WINDOW 0x08000000
684 #define PROFILE_USER 0x10000000
685 #define PROFILE_KERNEL 0x20000000
686 #define PROFILE_SERVER 0x40000000
689 /* File object type definitions
691 #define FILE_TYPE_UNKNOWN 0
692 #define FILE_TYPE_DISK 1
693 #define FILE_TYPE_CHAR 2
694 #define FILE_TYPE_PIPE 3
695 #define FILE_TYPE_REMOTE 32768
697 /* File encryption status
699 #define FILE_ENCRYPTABLE 0
700 #define FILE_IS_ENCRYPTED 1
701 #define FILE_SYSTEM_ATTR 2
702 #define FILE_ROOT_DIR 3
703 #define FILE_SYSTEM_DIR 4
704 #define FILE_UNKNOWN 5
705 #define FILE_SYSTEM_NOT_SUPPORT 6
706 #define FILE_USER_DISALLOWED 7
707 #define FILE_READ_ONLY 8
708 #define FILE_DIR_DISALLOWED 9
710 typedef DWORD (WINAPI *PFE_EXPORT_FUNC)(PBYTE,PVOID,ULONG);
711 typedef DWORD (WINAPI *PFE_IMPORT_FUNC)(PBYTE,PVOID,ULONG);
713 #define CREATE_FOR_IMPORT (1)
714 #define CREATE_FOR_DIR (2)
715 #define OVERWRITE_HIDDEN (4)
716 #define EFSRPC_SECURE_ONLY (8)
718 /* File creation flags
720 #define FILE_FLAG_WRITE_THROUGH 0x80000000
721 #define FILE_FLAG_OVERLAPPED 0x40000000
722 #define FILE_FLAG_NO_BUFFERING 0x20000000
723 #define FILE_FLAG_RANDOM_ACCESS 0x10000000
724 #define FILE_FLAG_SEQUENTIAL_SCAN 0x08000000
725 #define FILE_FLAG_DELETE_ON_CLOSE 0x04000000
726 #define FILE_FLAG_BACKUP_SEMANTICS 0x02000000
727 #define FILE_FLAG_POSIX_SEMANTICS 0x01000000
728 #define FILE_FLAG_OPEN_REPARSE_POINT 0x00200000
729 #define FILE_FLAG_OPEN_NO_RECALL 0x00100000
730 #define FILE_FLAG_FIRST_PIPE_INSTANCE 0x00080000
732 #define CREATE_NEW 1
733 #define CREATE_ALWAYS 2
734 #define OPEN_EXISTING 3
735 #define OPEN_ALWAYS 4
736 #define TRUNCATE_EXISTING 5
738 /* Standard handle identifiers
740 #define STD_INPUT_HANDLE ((DWORD) -10)
741 #define STD_OUTPUT_HANDLE ((DWORD) -11)
742 #define STD_ERROR_HANDLE ((DWORD) -12)
744 /* Flags for GetFinalPathNameByHandle
746 #define FILE_NAME_NORMALIZED 0x0
747 #define FILE_NAME_OPENED 0x8
748 #define VOLUME_NAME_DOS 0x0
749 #define VOLUME_NAME_GUID 0x1
750 #define VOLUME_NAME_NT 0x2
751 #define VOLUME_NAME_NONE 0x4
753 typedef struct _BY_HANDLE_FILE_INFORMATION
755 DWORD dwFileAttributes;
756 FILETIME ftCreationTime;
757 FILETIME ftLastAccessTime;
758 FILETIME ftLastWriteTime;
759 DWORD dwVolumeSerialNumber;
760 DWORD nFileSizeHigh;
761 DWORD nFileSizeLow;
762 DWORD nNumberOfLinks;
763 DWORD nFileIndexHigh;
764 DWORD nFileIndexLow;
765 } BY_HANDLE_FILE_INFORMATION, *PBY_HANDLE_FILE_INFORMATION, *LPBY_HANDLE_FILE_INFORMATION ;
767 typedef enum _FILE_ID_TYPE {
768 FileIdType,
769 ObjectIdType,
770 ExtendedFileIdType,
771 MaximumFileIdType
772 } FILE_ID_TYPE, *PFILE_ID_TYPE;
774 typedef struct _FILE_ID_DESCRIPTOR {
775 DWORD dwSize;
776 FILE_ID_TYPE Type;
777 union {
778 LARGE_INTEGER FileId;
779 GUID ObjectId;
780 } DUMMYUNIONNAME;
781 } FILE_ID_DESCRIPTOR, *LPFILE_ID_DESCRIPTOR;
783 typedef enum _FILE_INFO_BY_HANDLE_CLASS {
784 FileBasicInfo,
785 FileStandardInfo,
786 FileNameInfo,
787 FileRenameInfo,
788 FileDispositionInfo,
789 FileAllocationInfo,
790 FileEndOfFileInfo,
791 FileStreamInfo,
792 FileCompressionInfo,
793 FileAttributeTagInfo,
794 FileIdBothDirectoryInfo,
795 FileIdBothDirectoryRestartInfo,
796 FileIoPriorityHintInfo,
797 FileRemoteProtocolInfo,
798 FileFullDirectoryInfo,
799 FileFullDirectoryRestartInfo,
800 FileStorageInfo,
801 FileAlignmentInfo,
802 FileIdInfo,
803 FileIdExtdDirectoryInfo,
804 FileIdExtdDirectoryRestartInfo,
805 MaximumFileInfoByHandlesClass
806 } FILE_INFO_BY_HANDLE_CLASS, *PFILE_INFO_BY_HANDLE_CLASS;
808 typedef struct _FILE_ID_BOTH_DIR_INFO {
809 DWORD NextEntryOffset;
810 DWORD FileIndex;
811 LARGE_INTEGER CreationTime;
812 LARGE_INTEGER LastAccessTime;
813 LARGE_INTEGER LastWriteTime;
814 LARGE_INTEGER ChangeTime;
815 LARGE_INTEGER EndOfFile;
816 LARGE_INTEGER AllocationSize;
817 DWORD FileAttributes;
818 DWORD FileNameLength;
819 DWORD EaSize;
820 CCHAR ShortNameLength;
821 WCHAR ShortName[12];
822 LARGE_INTEGER FileId;
823 WCHAR FileName[1];
824 } FILE_ID_BOTH_DIR_INFO, *PFILE_ID_BOTH_DIR_INFO;
826 typedef struct _FILE_BASIC_INFO {
827 LARGE_INTEGER CreationTime;
828 LARGE_INTEGER LastAccessTime;
829 LARGE_INTEGER LastWriteTime;
830 LARGE_INTEGER ChangeTime;
831 DWORD FileAttributes;
832 } FILE_BASIC_INFO, *PFILE_BASIC_INFO;
834 typedef struct _FILE_STANDARD_INFO {
835 LARGE_INTEGER AllocationSize;
836 LARGE_INTEGER EndOfFile;
837 DWORD NumberOfLinks;
838 BOOLEAN DeletePending;
839 BOOLEAN Directory;
840 } FILE_STANDARD_INFO, *PFILE_STANDARD_INFO;
842 typedef struct _FILE_NAME_INFO {
843 DWORD FileNameLength;
844 WCHAR FileName[1];
845 } FILE_NAME_INFO, *PFILE_NAME_INFO;
847 typedef enum _PRIORITY_HINT {
848 IoPriorityHintVeryLow,
849 IoPriorityHintLow,
850 IoPriorityHintNormal,
851 MaximumIoPriorityHintType
852 } PRIORITY_HINT;
854 typedef struct _FILE_IO_PRIORITY_HINT_INFO {
855 PRIORITY_HINT PriorityHint;
856 } FILE_IO_PRIORITY_HINT_INFO;
858 typedef struct _FILE_ALLOCATION_INFO {
859 LARGE_INTEGER AllocationSize;
860 } FILE_ALLOCATION_INFO, *PFILE_ALLOCATION_INFO;
862 typedef struct _FILE_DISPOSITION_INFO {
863 BOOLEAN DeleteFile;
864 } FILE_DISPOSITION_INFO, *PFILE_DISPOSITION_INFO;
866 typedef struct _FILE_END_OF_FILE_INFO {
867 LARGE_INTEGER EndOfFile;
868 } FILE_END_OF_FILE_INFO, *PFILE_END_OF_FILE_INFO;
870 typedef struct _FILE_RENAME_INFO {
871 BOOLEAN ReplaceIfExists;
872 HANDLE RootDirectory;
873 DWORD FileNameLength;
874 WCHAR FileName[1];
875 } FILE_RENAME_INFO, *PFILE_RENAME_INFO;
877 typedef struct _FILE_ATTRIBUTE_TAG_INFO {
878 DWORD FileAttributes;
879 DWORD ReparseTag;
880 } FILE_ATTRIBUTE_TAG_INFO, *PFILE_ATTRIBUTE_TAG_INFO;
882 typedef struct _FILE_COMPRESSION_INFO {
883 LARGE_INTEGER CompressedFileSize;
884 WORD CompressionFormat;
885 UCHAR CompressionUnitShift;
886 UCHAR ChunkShift;
887 UCHAR ClusterShift;
888 UCHAR Reserved[3];
889 } FILE_COMPRESSION_INFO, *PFILE_COMPRESSION_INFO;
891 typedef struct _FILE_REMOTE_PROTOCOL_INFO {
892 USHORT StructureVersion;
893 USHORT StructureSize;
894 ULONG Protocol;
895 USHORT ProtocolMajorVersion;
896 USHORT ProtocolMinorVersion;
897 USHORT ProtocolRevision;
898 USHORT Reserved;
899 ULONG Flags;
900 struct {
901 ULONG Reserved[8];
902 } GenericReserved;
903 struct {
904 ULONG Reserved[16];
905 } ProtocolSpecificReserved;
906 } FILE_REMOTE_PROTOCOL_INFO, *PFILE_REMOTE_PROTOCOL_INFO;
908 #define PIPE_ACCESS_INBOUND 1
909 #define PIPE_ACCESS_OUTBOUND 2
910 #define PIPE_ACCESS_DUPLEX 3
912 #define PIPE_CLIENT_END 0
913 #define PIPE_SERVER_END 1
914 #define PIPE_READMODE_BYTE 0
915 #define PIPE_READMODE_MESSAGE 2
916 #define PIPE_TYPE_BYTE 0
917 #define PIPE_TYPE_MESSAGE 4
919 #define PIPE_WAIT 0
920 #define PIPE_NOWAIT 1
922 #define PIPE_UNLIMITED_INSTANCES 255
924 #define NMPWAIT_WAIT_FOREVER 0xffffffff
925 #define NMPWAIT_NOWAIT 0x00000001
926 #define NMPWAIT_USE_DEFAULT_WAIT 0x00000000
928 /* Security flags for dwFlagsAndAttributes of CreateFile */
929 #define SECURITY_ANONYMOUS (SecurityAnonymous << 16)
930 #define SECURITY_IDENTIFICATION (SecurityIdentification << 16)
931 #define SECURITY_IMPERSONATION (SecurityImpersonation << 16)
932 #define SECURITY_DELEGATION (SecurityDelegation << 16)
934 #define SECURITY_CONTEXT_TRACKING 0x00040000
935 #define SECURITY_EFFECTIVE_ONLY 0x00080000
937 #define SECURITY_SQOS_PRESENT 0x00100000
938 #define SECURITY_VALID_SQOS_FLAGS 0x001f0000
940 typedef struct _SYSTEM_POWER_STATUS
942 BYTE ACLineStatus;
943 BYTE BatteryFlag;
944 BYTE BatteryLifePercent;
945 BYTE Reserved1;
946 DWORD BatteryLifeTime;
947 DWORD BatteryFullLifeTime;
948 } SYSTEM_POWER_STATUS, *LPSYSTEM_POWER_STATUS;
950 typedef enum _POWER_REQUEST_TYPE
952 PowerRequestDisplayRequired,
953 PowerRequestSystemRequired,
954 PowerRequestAwayModeRequired
955 } POWER_REQUEST_TYPE, *PPOWER_REQUEST_TYPE;
957 typedef struct _SYSTEM_INFO
959 union {
960 DWORD dwOemId; /* Obsolete field - do not use */
961 struct {
962 WORD wProcessorArchitecture;
963 WORD wReserved;
964 } DUMMYSTRUCTNAME;
965 } DUMMYUNIONNAME;
966 DWORD dwPageSize;
967 LPVOID lpMinimumApplicationAddress;
968 LPVOID lpMaximumApplicationAddress;
969 DWORD_PTR dwActiveProcessorMask;
970 DWORD dwNumberOfProcessors;
971 DWORD dwProcessorType;
972 DWORD dwAllocationGranularity;
973 WORD wProcessorLevel;
974 WORD wProcessorRevision;
975 } SYSTEM_INFO, *LPSYSTEM_INFO;
977 typedef BOOL (CALLBACK *ENUMRESTYPEPROCA)(HMODULE,LPSTR,LONG_PTR);
978 typedef BOOL (CALLBACK *ENUMRESTYPEPROCW)(HMODULE,LPWSTR,LONG_PTR);
979 typedef BOOL (CALLBACK *ENUMRESNAMEPROCA)(HMODULE,LPCSTR,LPSTR,LONG_PTR);
980 typedef BOOL (CALLBACK *ENUMRESNAMEPROCW)(HMODULE,LPCWSTR,LPWSTR,LONG_PTR);
981 typedef BOOL (CALLBACK *ENUMRESLANGPROCA)(HMODULE,LPCSTR,LPCSTR,WORD,LONG_PTR);
982 typedef BOOL (CALLBACK *ENUMRESLANGPROCW)(HMODULE,LPCWSTR,LPCWSTR,WORD,LONG_PTR);
984 DECL_WINELIB_TYPE_AW(ENUMRESTYPEPROC)
985 DECL_WINELIB_TYPE_AW(ENUMRESNAMEPROC)
986 DECL_WINELIB_TYPE_AW(ENUMRESLANGPROC)
988 /* flags that can be passed to LoadLibraryEx */
989 #define DONT_RESOLVE_DLL_REFERENCES 0x00000001
990 #define LOAD_LIBRARY_AS_DATAFILE 0x00000002
991 #define LOAD_WITH_ALTERED_SEARCH_PATH 0x00000008
992 #define LOAD_IGNORE_CODE_AUTHZ_LEVEL 0x00000010
993 #define LOAD_LIBRARY_AS_IMAGE_RESOURCE 0x00000020
994 #define LOAD_LIBRARY_AS_DATAFILE_EXCLUSIVE 0x00000040
995 #define LOAD_LIBRARY_REQUIRE_SIGNED_TARGET 0x00000080
996 #define LOAD_LIBRARY_SEARCH_DLL_LOAD_DIR 0x00000100
997 #define LOAD_LIBRARY_SEARCH_APPLICATION_DIR 0x00000200
998 #define LOAD_LIBRARY_SEARCH_USER_DIRS 0x00000400
999 #define LOAD_LIBRARY_SEARCH_SYSTEM32 0x00000800
1000 #define LOAD_LIBRARY_SEARCH_DEFAULT_DIRS 0x00001000
1002 #define GET_MODULE_HANDLE_EX_FLAG_PIN 1
1003 #define GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT 2
1004 #define GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS 4
1006 typedef PLDT_ENTRY LPLDT_ENTRY;
1008 typedef enum _GET_FILEEX_INFO_LEVELS {
1009 GetFileExInfoStandard
1010 } GET_FILEEX_INFO_LEVELS;
1012 typedef struct _WIN32_FILE_ATTRIBUTES_DATA {
1013 DWORD dwFileAttributes;
1014 FILETIME ftCreationTime;
1015 FILETIME ftLastAccessTime;
1016 FILETIME ftLastWriteTime;
1017 DWORD nFileSizeHigh;
1018 DWORD nFileSizeLow;
1019 } WIN32_FILE_ATTRIBUTE_DATA, *LPWIN32_FILE_ATTRIBUTE_DATA;
1022 * This one seems to be a Win32 only definition. It also is defined with
1023 * WINAPI instead of CALLBACK in the windows headers.
1025 typedef DWORD (CALLBACK *LPPROGRESS_ROUTINE)(LARGE_INTEGER, LARGE_INTEGER, LARGE_INTEGER,
1026 LARGE_INTEGER, DWORD, DWORD, HANDLE,
1027 HANDLE, LPVOID);
1029 typedef DWORD (WINAPI *APPLICATION_RECOVERY_CALLBACK)(PVOID);
1031 typedef enum _COPYFILE2_MESSAGE_TYPE
1033 COPYFILE2_CALLBACK_NONE = 0,
1034 COPYFILE2_CALLBACK_CHUNK_STARTED,
1035 COPYFILE2_CALLBACK_CHUNK_FINISHED,
1036 COPYFILE2_CALLBACK_STREAM_STARTED,
1037 COPYFILE2_CALLBACK_STREAM_FINISHED,
1038 COPYFILE2_CALLBACK_POLL_CONTINUE,
1039 COPYFILE2_CALLBACK_ERROR,
1040 COPYFILE2_CALLBACK_MAX,
1041 } COPYFILE2_MESSAGE_TYPE;
1043 typedef enum _COPYFILE2_MESSAGE_ACTION
1045 COPYFILE2_PROGRESS_CONTINUE = 0,
1046 COPYFILE2_PROGRESS_CANCEL,
1047 COPYFILE2_PROGRESS_STOP,
1048 COPYFILE2_PROGRESS_QUIET,
1049 COPYFILE2_PROGRESS_PAUSE,
1050 } COPYFILE2_MESSAGE_ACTION;
1052 typedef enum _COPYFILE2_COPY_PHASE
1054 COPYFILE2_PHASE_NONE = 0,
1055 COPYFILE2_PHASE_PREPARE_SOURCE,
1056 COPYFILE2_PHASE_PREPARE_DEST,
1057 COPYFILE2_PHASE_READ_SOURCE,
1058 COPYFILE2_PHASE_WRITE_DESTINATION,
1059 COPYFILE2_PHASE_SERVER_COPY,
1060 COPYFILE2_PHASE_NAMEGRAFT_COPY,
1061 COPYFILE2_PHASE_MAX,
1062 } COPYFILE2_COPY_PHASE;
1064 typedef struct COPYFILE2_MESSAGE
1066 COPYFILE2_MESSAGE_TYPE Type;
1067 DWORD dwPadding;
1068 union
1070 struct
1072 DWORD dwStreamNumber;
1073 DWORD dwReserved;
1074 HANDLE hSourceFile;
1075 HANDLE hDestinationFile;
1076 ULARGE_INTEGER uliChunkNumber;
1077 ULARGE_INTEGER uliChunkSize;
1078 ULARGE_INTEGER uliStreamSize;
1079 ULARGE_INTEGER uliTotalFileSize;
1080 } ChunkStarted;
1081 struct
1083 DWORD dwStreamNumber;
1084 DWORD dwFlags;
1085 HANDLE hSourceFile;
1086 HANDLE hDestinationFile;
1087 ULARGE_INTEGER uliChunkNumber;
1088 ULARGE_INTEGER uliChunkSize;
1089 ULARGE_INTEGER uliStreamSize;
1090 ULARGE_INTEGER uliStreamBytesTransferred;
1091 ULARGE_INTEGER uliTotalFileSize;
1092 ULARGE_INTEGER uliTotalBytesTransferred;
1093 } ChunkFinished;
1094 struct
1096 DWORD dwStreamNumber;
1097 DWORD dwReserved;
1098 HANDLE hSourceFile;
1099 HANDLE hDestinationFile;
1100 ULARGE_INTEGER uliStreamSize;
1101 ULARGE_INTEGER uliTotalFileSize;
1102 } StreamStarted;
1103 struct
1105 DWORD dwStreamNumber;
1106 DWORD dwReserved;
1107 HANDLE hSourceFile;
1108 HANDLE hDestinationFile;
1109 ULARGE_INTEGER uliStreamSize;
1110 ULARGE_INTEGER uliStreamBytesTransferred;
1111 ULARGE_INTEGER uliTotalFileSize;
1112 ULARGE_INTEGER uliTotalBytesTransferred;
1113 } StreamFinished;
1114 struct
1116 DWORD dwReserved;
1117 } PollContinue;
1118 struct
1120 COPYFILE2_COPY_PHASE CopyPhase;
1121 DWORD dwStreamNumber;
1122 HRESULT hrFailure;
1123 DWORD dwReserved;
1124 ULARGE_INTEGER uliChunkNumber;
1125 ULARGE_INTEGER uliStreamSize;
1126 ULARGE_INTEGER uliStreamBytesTransferred;
1127 ULARGE_INTEGER uliTotalFileSize;
1128 ULARGE_INTEGER uliTotalBytesTransferred;
1129 } Error;
1130 } Info;
1131 } COPYFILE2_MESSAGE;
1133 typedef COPYFILE2_MESSAGE_ACTION (CALLBACK *PCOPYFILE2_PROGRESS_ROUTINE)(const COPYFILE2_MESSAGE*,PVOID);
1135 typedef struct COPYFILE2_EXTENDED_PARAMETERS
1137 DWORD dwSize;
1138 DWORD dwCopyFlags;
1139 BOOL *pfCancel;
1140 PCOPYFILE2_PROGRESS_ROUTINE pProgressRoutine;
1141 PVOID pvCallbackContext;
1142 } COPYFILE2_EXTENDED_PARAMETERS;
1144 #define CREATE_EVENT_MANUAL_RESET 1
1145 #define CREATE_EVENT_INITIAL_SET 2
1147 #define CREATE_MUTEX_INITIAL_OWNER 1
1149 #define CREATE_WAITABLE_TIMER_MANUAL_RESET 1
1151 #define WAIT_FAILED 0xffffffff
1152 #define WAIT_OBJECT_0 0
1153 #define WAIT_ABANDONED STATUS_ABANDONED_WAIT_0
1154 #define WAIT_ABANDONED_0 STATUS_ABANDONED_WAIT_0
1155 #define WAIT_IO_COMPLETION STATUS_USER_APC
1156 #define STILL_ACTIVE STATUS_PENDING
1158 #define FILE_BEGIN 0
1159 #define FILE_CURRENT 1
1160 #define FILE_END 2
1162 #define FILE_MAP_COPY 0x00000001
1163 #define FILE_MAP_WRITE 0x00000002
1164 #define FILE_MAP_READ 0x00000004
1165 #define FILE_MAP_ALL_ACCESS 0x000f001f
1166 #define FILE_MAP_EXECUTE 0x00000020
1168 #define MOVEFILE_REPLACE_EXISTING 0x00000001
1169 #define MOVEFILE_COPY_ALLOWED 0x00000002
1170 #define MOVEFILE_DELAY_UNTIL_REBOOT 0x00000004
1171 #define MOVEFILE_WRITE_THROUGH 0x00000008
1173 #define REPLACEFILE_WRITE_THROUGH 0x00000001
1174 #define REPLACEFILE_IGNORE_MERGE_ERRORS 0x00000002
1176 #define FS_CASE_SENSITIVE FILE_CASE_SENSITIVE_SEARCH
1177 #define FS_CASE_IS_PRESERVED FILE_CASE_PRESERVED_NAMES
1178 #define FS_UNICODE_STORED_ON_DISK FILE_UNICODE_ON_DISK
1179 #define FS_PERSISTENT_ACLS FILE_PERSISTENT_ACLS
1180 #define FS_VOL_IS_COMPRESSED FILE_VOLUME_IS_COMPRESSED
1181 #define FS_FILE_COMPRESSION FILE_FILE_COMPRESSION
1183 #define MUTEX_MODIFY_STATE MUTANT_QUERY_STATE
1184 #define MUTEX_ALL_ACCESS MUTANT_ALL_ACCESS
1186 #define EXCEPTION_ACCESS_VIOLATION STATUS_ACCESS_VIOLATION
1187 #define EXCEPTION_DATATYPE_MISALIGNMENT STATUS_DATATYPE_MISALIGNMENT
1188 #define EXCEPTION_BREAKPOINT STATUS_BREAKPOINT
1189 #define EXCEPTION_SINGLE_STEP STATUS_SINGLE_STEP
1190 #define EXCEPTION_ARRAY_BOUNDS_EXCEEDED STATUS_ARRAY_BOUNDS_EXCEEDED
1191 #define EXCEPTION_FLT_DENORMAL_OPERAND STATUS_FLOAT_DENORMAL_OPERAND
1192 #define EXCEPTION_FLT_DIVIDE_BY_ZERO STATUS_FLOAT_DIVIDE_BY_ZERO
1193 #define EXCEPTION_FLT_INEXACT_RESULT STATUS_FLOAT_INEXACT_RESULT
1194 #define EXCEPTION_FLT_INVALID_OPERATION STATUS_FLOAT_INVALID_OPERATION
1195 #define EXCEPTION_FLT_OVERFLOW STATUS_FLOAT_OVERFLOW
1196 #define EXCEPTION_FLT_STACK_CHECK STATUS_FLOAT_STACK_CHECK
1197 #define EXCEPTION_FLT_UNDERFLOW STATUS_FLOAT_UNDERFLOW
1198 #define EXCEPTION_INT_DIVIDE_BY_ZERO STATUS_INTEGER_DIVIDE_BY_ZERO
1199 #define EXCEPTION_INT_OVERFLOW STATUS_INTEGER_OVERFLOW
1200 #define EXCEPTION_PRIV_INSTRUCTION STATUS_PRIVILEGED_INSTRUCTION
1201 #define EXCEPTION_IN_PAGE_ERROR STATUS_IN_PAGE_ERROR
1202 #define EXCEPTION_ILLEGAL_INSTRUCTION STATUS_ILLEGAL_INSTRUCTION
1203 #define EXCEPTION_NONCONTINUABLE_EXCEPTION STATUS_NONCONTINUABLE_EXCEPTION
1204 #define EXCEPTION_STACK_OVERFLOW STATUS_STACK_OVERFLOW
1205 #define EXCEPTION_INVALID_DISPOSITION STATUS_INVALID_DISPOSITION
1206 #define EXCEPTION_GUARD_PAGE STATUS_GUARD_PAGE_VIOLATION
1207 #define EXCEPTION_INVALID_HANDLE STATUS_INVALID_HANDLE
1208 #define CONTROL_C_EXIT STATUS_CONTROL_C_EXIT
1210 #define HANDLE_FLAG_INHERIT 0x00000001
1211 #define HANDLE_FLAG_PROTECT_FROM_CLOSE 0x00000002
1213 #define HINSTANCE_ERROR 32
1215 #define THREAD_PRIORITY_LOWEST THREAD_BASE_PRIORITY_MIN
1216 #define THREAD_PRIORITY_BELOW_NORMAL (THREAD_PRIORITY_LOWEST+1)
1217 #define THREAD_PRIORITY_NORMAL 0
1218 #define THREAD_PRIORITY_HIGHEST THREAD_BASE_PRIORITY_MAX
1219 #define THREAD_PRIORITY_ABOVE_NORMAL (THREAD_PRIORITY_HIGHEST-1)
1220 #define THREAD_PRIORITY_ERROR_RETURN (0x7fffffff)
1221 #define THREAD_PRIORITY_TIME_CRITICAL THREAD_BASE_PRIORITY_LOWRT
1222 #define THREAD_PRIORITY_IDLE THREAD_BASE_PRIORITY_IDLE
1224 /* flags to FormatMessage */
1225 #define FORMAT_MESSAGE_ALLOCATE_BUFFER 0x00000100
1226 #define FORMAT_MESSAGE_IGNORE_INSERTS 0x00000200
1227 #define FORMAT_MESSAGE_FROM_STRING 0x00000400
1228 #define FORMAT_MESSAGE_FROM_HMODULE 0x00000800
1229 #define FORMAT_MESSAGE_FROM_SYSTEM 0x00001000
1230 #define FORMAT_MESSAGE_ARGUMENT_ARRAY 0x00002000
1231 #define FORMAT_MESSAGE_MAX_WIDTH_MASK 0x000000FF
1233 /* flags to ACTCTX[AW] */
1234 #define ACTCTX_FLAG_PROCESSOR_ARCHITECTURE_VALID (0x00000001)
1235 #define ACTCTX_FLAG_LANGID_VALID (0x00000002)
1236 #define ACTCTX_FLAG_ASSEMBLY_DIRECTORY_VALID (0x00000004)
1237 #define ACTCTX_FLAG_RESOURCE_NAME_VALID (0x00000008)
1238 #define ACTCTX_FLAG_SET_PROCESS_DEFAULT (0x00000010)
1239 #define ACTCTX_FLAG_APPLICATION_NAME_VALID (0x00000020)
1240 #define ACTCTX_FLAG_SOURCE_IS_ASSEMBLYREF (0x00000040)
1241 #define ACTCTX_FLAG_HMODULE_VALID (0x00000080)
1243 /* flags to DeactiveActCtx */
1244 #define DEACTIVATE_ACTCTX_FLAG_FORCE_EARLY_DEACTIVATION (0x00000001)
1246 /* flags to FindActCtxSection{Guid,String[AW]} */
1247 #define FIND_ACTCTX_SECTION_KEY_RETURN_HACTCTX (0x00000001)
1248 #define FIND_ACTCTX_SECTION_KEY_RETURN_FLAGS (0x00000002)
1249 #define FIND_ACTCTX_SECTION_KEY_RETURN_ASSEMBLY_METADATA (0x00000004)
1251 /* flags to QueryActCtxW */
1252 #define QUERY_ACTCTX_FLAG_USE_ACTIVE_ACTCTX (0x00000004)
1253 #define QUERY_ACTCTX_FLAG_ACTCTX_IS_HMODULE (0x00000008)
1254 #define QUERY_ACTCTX_FLAG_ACTCTX_IS_ADDRESS (0x00000010)
1255 #define QUERY_ACTCTX_FLAG_NO_ADDREF (0x80000000)
1257 typedef struct tagACTCTXA {
1258 ULONG cbSize;
1259 DWORD dwFlags;
1260 LPCSTR lpSource;
1261 USHORT wProcessorArchitecture;
1262 LANGID wLangId;
1263 LPCSTR lpAssemblyDirectory;
1264 LPCSTR lpResourceName;
1265 LPCSTR lpApplicationName;
1266 HMODULE hModule;
1267 } ACTCTXA, *PACTCTXA;
1269 typedef struct tagACTCTXW {
1270 ULONG cbSize;
1271 DWORD dwFlags;
1272 LPCWSTR lpSource;
1273 USHORT wProcessorArchitecture;
1274 LANGID wLangId;
1275 LPCWSTR lpAssemblyDirectory;
1276 LPCWSTR lpResourceName;
1277 LPCWSTR lpApplicationName;
1278 HMODULE hModule;
1279 } ACTCTXW, *PACTCTXW;
1281 DECL_WINELIB_TYPE_AW(ACTCTX)
1282 DECL_WINELIB_TYPE_AW(PACTCTX)
1284 typedef const ACTCTXA *PCACTCTXA;
1285 typedef const ACTCTXW *PCACTCTXW;
1286 DECL_WINELIB_TYPE_AW(PCACTCTX)
1288 typedef struct tagACTCTX_SECTION_KEYED_DATA_2600 {
1289 ULONG cbSize;
1290 ULONG ulDataFormatVersion;
1291 PVOID lpData;
1292 ULONG ulLength;
1293 PVOID lpSectionGlobalData;
1294 ULONG ulSectionGlobalDataLength;
1295 PVOID lpSectionBase;
1296 ULONG ulSectionTotalLength;
1297 HANDLE hActCtx;
1298 ULONG ulAssemblyRosterIndex;
1299 } ACTCTX_SECTION_KEYED_DATA_2600, *PACTCTX_SECTION_KEYED_DATA_2600;
1300 typedef const ACTCTX_SECTION_KEYED_DATA_2600 *PCACTCTX_SECTION_KEYED_DATA_2600;
1302 typedef struct tagACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA {
1303 PVOID lpInformation;
1304 PVOID lpSectionBase;
1305 ULONG ulSectionLength;
1306 PVOID lpSectionGlobalDataBase;
1307 ULONG ulSectionGlobalDataLength;
1308 } ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA, *PACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA;
1309 typedef const ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA *PCACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA;
1311 typedef struct tagACTCTX_SECTION_KEYED_DATA {
1312 ULONG cbSize;
1313 ULONG ulDataFormatVersion;
1314 PVOID lpData;
1315 ULONG ulLength;
1316 PVOID lpSectionGlobalData;
1317 ULONG ulSectionGlobalDataLength;
1318 PVOID lpSectionBase;
1319 ULONG ulSectionTotalLength;
1320 HANDLE hActCtx;
1321 ULONG ulAssemblyRosterIndex;
1323 /* Non 2600 extra fields */
1324 ULONG ulFlags;
1325 ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA AssemblyMetadata;
1326 } ACTCTX_SECTION_KEYED_DATA, *PACTCTX_SECTION_KEYED_DATA;
1327 typedef const ACTCTX_SECTION_KEYED_DATA *PCACTCTX_SECTION_KEYED_DATA;
1329 typedef struct _ACTIVATION_CONTEXT_BASIC_INFORMATION {
1330 HANDLE hActCtx;
1331 DWORD dwFlags;
1332 } ACTIVATION_CONTEXT_BASIC_INFORMATION, *PACTIVATION_CONTEXT_BASIC_INFORMATION;
1334 typedef BOOL (WINAPI *PQUERYACTCTXW_FUNC)(DWORD,HANDLE,PVOID,ULONG,PVOID,SIZE_T,SIZE_T *);
1336 typedef struct tagCOMSTAT
1338 DWORD fCtsHold : 1;
1339 DWORD fDsrHold : 1;
1340 DWORD fRlsdHold : 1;
1341 DWORD fXoffHold : 1;
1342 DWORD fXoffSent : 1;
1343 DWORD fEof : 1;
1344 DWORD fTxim : 1;
1345 DWORD fReserved : 25;
1346 DWORD cbInQue;
1347 DWORD cbOutQue;
1348 } COMSTAT, *LPCOMSTAT;
1350 typedef struct tagDCB
1352 DWORD DCBlength;
1353 DWORD BaudRate;
1354 unsigned fBinary :1;
1355 unsigned fParity :1;
1356 unsigned fOutxCtsFlow :1;
1357 unsigned fOutxDsrFlow :1;
1358 unsigned fDtrControl :2;
1359 unsigned fDsrSensitivity :1;
1360 unsigned fTXContinueOnXoff :1;
1361 unsigned fOutX :1;
1362 unsigned fInX :1;
1363 unsigned fErrorChar :1;
1364 unsigned fNull :1;
1365 unsigned fRtsControl :2;
1366 unsigned fAbortOnError :1;
1367 unsigned fDummy2 :17;
1368 WORD wReserved;
1369 WORD XonLim;
1370 WORD XoffLim;
1371 BYTE ByteSize;
1372 BYTE Parity;
1373 BYTE StopBits;
1374 char XonChar;
1375 char XoffChar;
1376 char ErrorChar;
1377 char EofChar;
1378 char EvtChar;
1379 WORD wReserved1;
1380 } DCB, *LPDCB;
1382 typedef struct tagCOMMCONFIG {
1383 DWORD dwSize;
1384 WORD wVersion;
1385 WORD wReserved;
1386 DCB dcb;
1387 DWORD dwProviderSubType;
1388 DWORD dwProviderOffset;
1389 DWORD dwProviderSize;
1390 DWORD wcProviderData[1];
1391 } COMMCONFIG, *LPCOMMCONFIG;
1393 typedef struct tagCOMMPROP {
1394 WORD wPacketLength;
1395 WORD wPacketVersion;
1396 DWORD dwServiceMask;
1397 DWORD dwReserved1;
1398 DWORD dwMaxTxQueue;
1399 DWORD dwMaxRxQueue;
1400 DWORD dwMaxBaud;
1401 DWORD dwProvSubType;
1402 DWORD dwProvCapabilities;
1403 DWORD dwSettableParams;
1404 DWORD dwSettableBaud;
1405 WORD wSettableData;
1406 WORD wSettableStopParity;
1407 DWORD dwCurrentTxQueue;
1408 DWORD dwCurrentRxQueue;
1409 DWORD dwProvSpec1;
1410 DWORD dwProvSpec2;
1411 WCHAR wcProvChar[1];
1412 } COMMPROP, *LPCOMMPROP;
1414 #define SP_SERIALCOMM ((DWORD)1)
1416 #define BAUD_075 ((DWORD)0x01)
1417 #define BAUD_110 ((DWORD)0x02)
1418 #define BAUD_134_5 ((DWORD)0x04)
1419 #define BAUD_150 ((DWORD)0x08)
1420 #define BAUD_300 ((DWORD)0x10)
1421 #define BAUD_600 ((DWORD)0x20)
1422 #define BAUD_1200 ((DWORD)0x40)
1423 #define BAUD_1800 ((DWORD)0x80)
1424 #define BAUD_2400 ((DWORD)0x100)
1425 #define BAUD_4800 ((DWORD)0x200)
1426 #define BAUD_7200 ((DWORD)0x400)
1427 #define BAUD_9600 ((DWORD)0x800)
1428 #define BAUD_14400 ((DWORD)0x1000)
1429 #define BAUD_19200 ((DWORD)0x2000)
1430 #define BAUD_38400 ((DWORD)0x4000)
1431 #define BAUD_56K ((DWORD)0x8000)
1432 #define BAUD_57600 ((DWORD)0x40000)
1433 #define BAUD_115200 ((DWORD)0x20000)
1434 #define BAUD_128K ((DWORD)0x10000)
1435 #define BAUD_USER ((DWORD)0x10000000)
1437 #define PST_FAX ((DWORD)0x21)
1438 #define PST_LAT ((DWORD)0x101)
1439 #define PST_MODEM ((DWORD)0x06)
1440 #define PST_NETWORK_BRIDGE ((DWORD)0x100)
1441 #define PST_PARALLELPORT ((DWORD)0x02)
1442 #define PST_RS232 ((DWORD)0x01)
1443 #define PST_RS442 ((DWORD)0x03)
1444 #define PST_RS423 ((DWORD)0x04)
1445 #define PST_RS449 ((DWORD)0x06)
1446 #define PST_SCANNER ((DWORD)0x22)
1447 #define PST_TCPIP_TELNET ((DWORD)0x102)
1448 #define PST_UNSPECIFIED ((DWORD)0x00)
1449 #define PST_X25 ((DWORD)0x103)
1451 #define PCF_16BITMODE ((DWORD)0x200)
1452 #define PCF_DTRDSR ((DWORD)0x01)
1453 #define PCF_INTTIMEOUTS ((DWORD)0x80)
1454 #define PCF_PARITY_CHECK ((DWORD)0x08)
1455 #define PCF_RLSD ((DWORD)0x04)
1456 #define PCF_RTSCTS ((DWORD)0x02)
1457 #define PCF_SETXCHAR ((DWORD)0x20)
1458 #define PCF_SPECIALCHARS ((DWORD)0x100)
1459 #define PCF_TOTALTIMEOUTS ((DWORD)0x40)
1460 #define PCF_XONXOFF ((DWORD)0x10)
1462 #define SP_BAUD ((DWORD)0x02)
1463 #define SP_DATABITS ((DWORD)0x04)
1464 #define SP_HANDSHAKING ((DWORD)0x10)
1465 #define SP_PARITY ((DWORD)0x01)
1466 #define SP_PARITY_CHECK ((DWORD)0x20)
1467 #define SP_RLSD ((DWORD)0x40)
1468 #define SP_STOPBITS ((DWORD)0x08)
1470 #define DATABITS_5 ((DWORD)0x01)
1471 #define DATABITS_6 ((DWORD)0x02)
1472 #define DATABITS_7 ((DWORD)0x04)
1473 #define DATABITS_8 ((DWORD)0x08)
1474 #define DATABITS_16 ((DWORD)0x10)
1475 #define DATABITS_16X ((DWORD)0x20)
1477 #define STOPBITS_10 ((DWORD)1)
1478 #define STOPBITS_15 ((DWORD)2)
1479 #define STOPBITS_20 ((DWORD)4)
1481 #undef PARITY_NONE /* defined on Android */
1482 #define PARITY_NONE ((DWORD)0x100)
1483 #define PARITY_ODD ((DWORD)0x200)
1484 #define PARITY_EVEN ((DWORD)0x400)
1485 #define PARITY_MARK ((DWORD)0x800)
1486 #define PARITY_SPACE ((DWORD)0x1000)
1488 typedef struct tagCOMMTIMEOUTS {
1489 DWORD ReadIntervalTimeout;
1490 DWORD ReadTotalTimeoutMultiplier;
1491 DWORD ReadTotalTimeoutConstant;
1492 DWORD WriteTotalTimeoutMultiplier;
1493 DWORD WriteTotalTimeoutConstant;
1494 } COMMTIMEOUTS,*LPCOMMTIMEOUTS;
1496 #define GET_TAPE_MEDIA_INFORMATION 0
1497 #define GET_TAPE_DRIVE_INFORMATION 1
1498 #define SET_TAPE_MEDIA_INFORMATION 0
1499 #define SET_TAPE_DRIVE_INFORMATION 1
1501 #define PROCESS_NAME_NATIVE 1
1503 typedef void (CALLBACK *PAPCFUNC)(ULONG_PTR);
1504 typedef void (CALLBACK *PTIMERAPCROUTINE)(LPVOID,DWORD,DWORD);
1506 typedef enum _COMPUTER_NAME_FORMAT
1508 ComputerNameNetBIOS,
1509 ComputerNameDnsHostname,
1510 ComputerNameDnsDomain,
1511 ComputerNameDnsFullyQualified,
1512 ComputerNamePhysicalNetBIOS,
1513 ComputerNamePhysicalDnsHostname,
1514 ComputerNamePhysicalDnsDomain,
1515 ComputerNamePhysicalDnsFullyQualified,
1516 ComputerNameMax
1517 } COMPUTER_NAME_FORMAT;
1519 #define HW_PROFILE_GUIDLEN 39
1520 #define MAX_PROFILE_LEN 80
1522 #define DOCKINFO_UNDOCKED 0x1
1523 #define DOCKINFO_DOCKED 0x2
1524 #define DOCKINFO_USER_SUPPLIED 0x4
1525 #define DOCKINFO_USER_UNDOCKED (DOCKINFO_USER_SUPPLIED | DOCKINFO_UNDOCKED)
1526 #define DOCKINFO_USER_DOCKED (DOCKINFO_USER_SUPPLIED | DOCKINFO_DOCKED)
1528 typedef struct tagHW_PROFILE_INFOA {
1529 DWORD dwDockInfo;
1530 CHAR szHwProfileGuid[HW_PROFILE_GUIDLEN];
1531 CHAR szHwProfileName[MAX_PROFILE_LEN];
1532 } HW_PROFILE_INFOA, *LPHW_PROFILE_INFOA;
1534 typedef struct tagHW_PROFILE_INFOW {
1535 DWORD dwDockInfo;
1536 WCHAR szHwProfileGuid[HW_PROFILE_GUIDLEN];
1537 WCHAR szHwProfileName[MAX_PROFILE_LEN];
1538 } HW_PROFILE_INFOW, *LPHW_PROFILE_INFOW;
1540 DECL_WINELIB_TYPE_AW(HW_PROFILE_INFO)
1541 DECL_WINELIB_TYPE_AW(LPHW_PROFILE_INFO)
1543 typedef enum _DEP_SYSTEM_POLICY_TYPE {
1544 AlwaysOff = 0,
1545 AlwaysOn = 1,
1546 OptIn = 2,
1547 OptOut = 3
1548 } DEP_SYSTEM_POLICY_TYPE;
1550 #define PROCESS_DEP_ENABLE 1
1551 #define PROCESS_DEP_DISABLE_ATL_THUNK_EMULATION 2
1553 /* Event Logging */
1555 #define EVENTLOG_FULL_INFO 0
1557 typedef struct _EVENTLOG_FULL_INFORMATION {
1558 DWORD dwFull;
1559 } EVENTLOG_FULL_INFORMATION, *LPEVENTLOG_FULL_INFORMATION;
1562 /* Stream data structures and defines */
1563 /*the types of backup data -- WIN32_STREAM_ID.dwStreamId below*/
1564 #define BACKUP_INVALID 0
1565 #define BACKUP_DATA 1
1566 #define BACKUP_EA_DATA 2
1567 #define BACKUP_SECURITY_DATA 3
1568 #define BACKUP_ALTERNATE_DATA 4
1569 #define BACKUP_LINK 5
1570 #define BACKUP_PROPERTY_DATA 6
1571 #define BACKUP_OBJECT_ID 7
1572 #define BACKUP_REPARSE_DATA 8
1573 #define BACKUP_SPARSE_BLOCK 9
1575 /*flags for WIN32_STREAM_ID.dwStreamAttributes below*/
1576 #define STREAM_NORMAL_ATTRIBUTE 0
1577 #define STREAM_MODIFIED_WHEN_READ 1
1578 #define STREAM_CONTAINS_SECURITY 2
1579 #define STREAM_CONTAINS_PROPERTIES 4
1580 #define STREAM_SPARSE_ATTRIBUTE 8
1582 #include <pshpack8.h>
1583 typedef struct _WIN32_STREAM_ID {
1584 DWORD dwStreamId;
1585 DWORD dwStreamAttributes;
1586 LARGE_INTEGER DECLSPEC_ALIGN(8) Size;
1587 DWORD dwStreamNameSize;
1588 WCHAR cStreamName[ANYSIZE_ARRAY];
1589 } WIN32_STREAM_ID, *LPWIN32_STREAM_ID;
1590 #include <poppack.h>
1593 /* GetBinaryType return values.
1596 #define SCS_32BIT_BINARY 0
1597 #define SCS_DOS_BINARY 1
1598 #define SCS_WOW_BINARY 2
1599 #define SCS_PIF_BINARY 3
1600 #define SCS_POSIX_BINARY 4
1601 #define SCS_OS216_BINARY 5
1602 #define SCS_64BIT_BINARY 6
1604 /* flags for DefineDosDevice */
1605 #define DDD_RAW_TARGET_PATH 0x00000001
1606 #define DDD_REMOVE_DEFINITION 0x00000002
1607 #define DDD_EXACT_MATCH_ON_REMOVE 0x00000004
1608 #define DDD_NO_BROADCAST_SYSTEM 0x00000008
1609 #define DDD_LUID_BROADCAST_DRIVE 0x00000010
1611 #define LOGON_WITH_PROFILE 0x00000001
1612 #define LOGON_NETCREDENTIALS_ONLY 0x00000002
1613 #define LOGON_ZERO_PASSWORD_BUFFER 0x80000000
1615 /* one-time initialisation API */
1616 typedef RTL_RUN_ONCE INIT_ONCE;
1617 typedef PRTL_RUN_ONCE PINIT_ONCE;
1618 typedef PRTL_RUN_ONCE LPINIT_ONCE;
1619 #define INIT_ONCE_STATIC_INIT RTL_RUN_ONCE_INIT
1620 #define INIT_ONCE_CHECK_ONLY RTL_RUN_ONCE_CHECK_ONLY
1621 #define INIT_ONCE_ASYNC RTL_RUN_ONCE_ASYNC
1622 #define INIT_ONCE_INIT_FAILED RTL_RUN_ONCE_INIT_FAILED
1623 /* initialization callback prototype */
1624 typedef BOOL (WINAPI *PINIT_ONCE_FN)(PINIT_ONCE,PVOID,PVOID*);
1626 typedef struct _REASON_CONTEXT
1628 ULONG Version;
1629 DWORD Flags;
1630 union
1632 struct
1634 HMODULE LocalizedReasonModule;
1635 ULONG LocalizedReasonId;
1636 ULONG ReasonStringCount;
1637 LPWSTR *ReasonStrings;
1638 } Detailed;
1639 LPWSTR SimpleReasonString;
1640 } Reason;
1641 } REASON_CONTEXT, *PREASON_CONTEXT;
1643 #define RESOURCE_ENUM_LN 0x0001
1644 #define RESOURCE_ENUM_MUI 0x0002
1645 #define RESOURCE_ENUM_MUI_SYSTEM 0x0004
1646 #define RESOURCE_ENUM_VALIDATE 0x0008
1648 typedef struct _PROC_THREAD_ATTRIBUTE_LIST
1649 *PPROC_THREAD_ATTRIBUTE_LIST, *LPPROC_THREAD_ATTRIBUTE_LIST;
1651 #define PROC_THREAD_ATTRIBUTE_NUMBER 0x0000ffff
1652 #define PROC_THREAD_ATTRIBUTE_THREAD 0x00010000
1653 #define PROC_THREAD_ATTRIBUTE_INPUT 0x00020000
1654 #define PROC_THREAD_ATTRIBUTE_ADDITIVE 0x00040000
1656 typedef enum _PROC_THREAD_ATTRIBUTE_NUM
1658 ProcThreadAttributeParentProcess = 0,
1659 ProcThreadAttributeHandleList = 2,
1660 ProcThreadAttributeGroupAffinity = 3,
1661 ProcThreadAttributeIdealProcessor = 5,
1662 ProcThreadAttributeUmsThread = 6,
1663 ProcThreadAttributeMitigationPolicy = 7,
1664 ProcThreadAttributeSecurityCapabilities = 9,
1665 ProcThreadAttributeProtectionLevel = 11,
1666 ProcThreadAttributeJobList = 13,
1667 ProcThreadAttributeChildProcessPolicy = 14,
1668 ProcThreadAttributeAllApplicationPackagesPolicy = 15,
1669 ProcThreadAttributeWin32kFilter = 16,
1670 ProcThreadAttributeSafeOpenPromptOriginClaim = 17,
1671 } PROC_THREAD_ATTRIBUTE_NUM;
1673 #define PROC_THREAD_ATTRIBUTE_PARENT_PROCESS (ProcThreadAttributeParentProcess | PROC_THREAD_ATTRIBUTE_INPUT)
1674 #define PROC_THREAD_ATTRIBUTE_HANDLE_LIST (ProcThreadAttributeHandleList | PROC_THREAD_ATTRIBUTE_INPUT)
1675 #define PROC_THREAD_ATTRIBUTE_GROUP_AFFINITY (ProcThreadAttributeGroupAffinity | PROC_THREAD_ATTRIBUTE_THREAD | PROC_THREAD_ATTRIBUTE_INPUT)
1676 #define PROC_THREAD_ATTRIBUTE_IDEAL_PROCESSOR (ProcThreadAttributeIdealProcessor | PROC_THREAD_ATTRIBUTE_THREAD | PROC_THREAD_ATTRIBUTE_INPUT)
1677 #define PROC_THREAD_ATTRIBUTE_UMS_THREAD (ProcThreadAttributeUmsThread | PROC_THREAD_ATTRIBUTE_THREAD | PROC_THREAD_ATTRIBUTE_INPUT)
1678 #define PROC_THREAD_ATTRIBUTE_MIGITATION_POLICY (ProcThreadAttributeMitigationPolicy | PROC_THREAD_ATTRIBUTE_INPUT)
1679 #define PROC_THREAD_ATTRIBUTE_SECURITY_CAPABILITIES (ProcThreadAttributeSecurityCapabilities | PROC_THREAD_ATTRIBUTE_INPUT)
1680 #define PROC_THREAD_ATTRIBUTE_PROTECTION_LEVEL (ProcThreadAttributeProtectionLevel | PROC_THREAD_ATTRIBUTE_INPUT)
1681 #define PROC_THREAD_ATTRIBUTE_JOB_LIST (ProcThreadAttributeJobList | PROC_THREAD_ATTRIBUTE_INPUT)
1682 #define PROC_THREAD_ATTRIBUTE_CHILD_PROCESS_POLICY (ProcThreadAttributeChildProcessPolicy | PROC_THREAD_ATTRIBUTE_INPUT)
1683 #define PROC_THREAD_ATTRIBUTE_ALL_APPLICATION_PACKAGES_POLICY (ProcThreadAttributeAllApplicationPackagesPolicy | PROC_THREAD_ATTRIBUTE_INPUT)
1684 #define PROC_THREAD_ATTRIBUTE_WIN32K_FILTER (ProcThreadAttributeWin32kFilter | PROC_THREAD_ATTRIBUTE_INPUT)
1686 #define SYMBOLIC_LINK_FLAG_DIRECTORY (0x1)
1687 #define VALID_SYMBOLIC_LINK_FLAGS SYMBOLIC_LINK_FLAG_DIRECTORY
1689 WINBASEAPI BOOL WINAPI ActivateActCtx(HANDLE,ULONG_PTR *);
1690 WINADVAPI BOOL WINAPI AddAccessAllowedAce(PACL,DWORD,DWORD,PSID);
1691 WINADVAPI BOOL WINAPI AddAccessAllowedAceEx(PACL,DWORD,DWORD,DWORD,PSID);
1692 WINADVAPI BOOL WINAPI AddAccessDeniedAce(PACL,DWORD,DWORD,PSID);
1693 WINADVAPI BOOL WINAPI AddAccessDeniedAceEx(PACL,DWORD,DWORD,DWORD,PSID);
1694 WINADVAPI BOOL WINAPI AddAce(PACL,DWORD,DWORD,LPVOID,DWORD);
1695 WINBASEAPI ATOM WINAPI AddAtomA(LPCSTR);
1696 WINBASEAPI ATOM WINAPI AddAtomW(LPCWSTR);
1697 #define AddAtom WINELIB_NAME_AW(AddAtom)
1698 WINADVAPI BOOL WINAPI AddAuditAccessAce(PACL,DWORD,DWORD,PSID,BOOL,BOOL);
1699 WINADVAPI BOOL WINAPI AddAuditAccessAceEx(PACL,DWORD,DWORD,DWORD,PSID,BOOL,BOOL);
1700 WINADVAPI BOOL WINAPI AddMandatoryAce(PACL,DWORD,DWORD,DWORD,PSID);
1701 WINBASEAPI VOID WINAPI AddRefActCtx(HANDLE);
1702 WINBASEAPI PVOID WINAPI AddVectoredExceptionHandler(ULONG,PVECTORED_EXCEPTION_HANDLER);
1703 WINADVAPI BOOL WINAPI AdjustTokenGroups(HANDLE,BOOL,PTOKEN_GROUPS,DWORD,PTOKEN_GROUPS,PDWORD);
1704 WINADVAPI BOOL WINAPI AccessCheck(PSECURITY_DESCRIPTOR,HANDLE,DWORD,PGENERIC_MAPPING,PPRIVILEGE_SET,LPDWORD,LPDWORD,LPBOOL);
1705 WINADVAPI BOOL WINAPI AccessCheckAndAuditAlarmA(LPCSTR,LPVOID,LPSTR,LPSTR,PSECURITY_DESCRIPTOR,DWORD,PGENERIC_MAPPING,BOOL,LPDWORD,LPBOOL,LPBOOL);
1706 WINADVAPI BOOL WINAPI AccessCheckAndAuditAlarmW(LPCWSTR,LPVOID,LPWSTR,LPWSTR,PSECURITY_DESCRIPTOR,DWORD,PGENERIC_MAPPING,BOOL,LPDWORD,LPBOOL,LPBOOL);
1707 #define AccessCheckAndAuditAlarm WINELIB_NAME_AW(AccessCheckAndAuditAlarm)
1708 WINADVAPI BOOL WINAPI AccessCheckByType(PSECURITY_DESCRIPTOR,PSID,HANDLE,DWORD,POBJECT_TYPE_LIST,DWORD,PGENERIC_MAPPING,PPRIVILEGE_SET,LPDWORD,LPDWORD,LPBOOL);
1709 WINBASEAPI VOID WINAPI AcquireSRWLockExclusive(PSRWLOCK);
1710 WINBASEAPI VOID WINAPI AcquireSRWLockShared(PSRWLOCK);
1711 WINADVAPI BOOL WINAPI AdjustTokenPrivileges(HANDLE,BOOL,PTOKEN_PRIVILEGES,DWORD,PTOKEN_PRIVILEGES,PDWORD);
1712 WINADVAPI BOOL WINAPI AllocateAndInitializeSid(PSID_IDENTIFIER_AUTHORITY,BYTE,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,PSID *);
1713 WINADVAPI BOOL WINAPI AllocateLocallyUniqueId(PLUID);
1714 WINADVAPI BOOL WINAPI AreAllAccessesGranted(DWORD,DWORD);
1715 WINADVAPI BOOL WINAPI AreAnyAccessesGranted(DWORD,DWORD);
1716 WINBASEAPI BOOL WINAPI AreFileApisANSI(void);
1717 WINBASEAPI BOOL WINAPI AssignProcessToJobObject(HANDLE,HANDLE);
1718 WINADVAPI BOOL WINAPI BackupEventLogA(HANDLE,LPCSTR);
1719 WINADVAPI BOOL WINAPI BackupEventLogW(HANDLE,LPCWSTR);
1720 #define BackupEventLog WINELIB_NAME_AW(BackupEventLog)
1721 WINBASEAPI BOOL WINAPI BackupRead(HANDLE,LPBYTE,DWORD,LPDWORD,BOOL,BOOL,LPVOID*);
1722 WINBASEAPI BOOL WINAPI BackupSeek(HANDLE,DWORD,DWORD,LPDWORD,LPDWORD,LPVOID*);
1723 WINBASEAPI BOOL WINAPI BackupWrite(HANDLE,LPBYTE,DWORD,LPDWORD,BOOL,BOOL,LPVOID*);
1724 WINBASEAPI BOOL WINAPI Beep(DWORD,DWORD);
1725 WINBASEAPI HANDLE WINAPI BeginUpdateResourceA(LPCSTR,BOOL);
1726 WINBASEAPI HANDLE WINAPI BeginUpdateResourceW(LPCWSTR,BOOL);
1727 #define BeginUpdateResource WINELIB_NAME_AW(BeginUpdateResource)
1728 WINBASEAPI BOOL WINAPI BindIoCompletionCallback(HANDLE,LPOVERLAPPED_COMPLETION_ROUTINE,ULONG);
1729 WINBASEAPI BOOL WINAPI BuildCommDCBA(LPCSTR,LPDCB);
1730 WINBASEAPI BOOL WINAPI BuildCommDCBW(LPCWSTR,LPDCB);
1731 #define BuildCommDCB WINELIB_NAME_AW(BuildCommDCB)
1732 WINBASEAPI BOOL WINAPI BuildCommDCBAndTimeoutsA(LPCSTR,LPDCB,LPCOMMTIMEOUTS);
1733 WINBASEAPI BOOL WINAPI BuildCommDCBAndTimeoutsW(LPCWSTR,LPDCB,LPCOMMTIMEOUTS);
1734 #define BuildCommDCBAndTimeouts WINELIB_NAME_AW(BuildCommDCBAndTimeouts)
1735 WINBASEAPI BOOL WINAPI CallNamedPipeA(LPCSTR,LPVOID,DWORD,LPVOID,DWORD,LPDWORD,DWORD);
1736 WINBASEAPI BOOL WINAPI CallNamedPipeW(LPCWSTR,LPVOID,DWORD,LPVOID,DWORD,LPDWORD,DWORD);
1737 #define CallNamedPipe WINELIB_NAME_AW(CallNamedPipe)
1738 WINBASEAPI BOOL WINAPI CancelIo(HANDLE);
1739 WINBASEAPI BOOL WINAPI CancelIoEx(HANDLE,LPOVERLAPPED);
1740 WINBASEAPI BOOL WINAPI CancelSynchronousIo(HANDLE);
1741 WINBASEAPI BOOL WINAPI CancelTimerQueueTimer(HANDLE,HANDLE);
1742 WINBASEAPI BOOL WINAPI CancelWaitableTimer(HANDLE);
1743 WINBASEAPI BOOL WINAPI CheckNameLegalDOS8Dot3A(const char*,char*,DWORD,BOOL*,BOOL*);
1744 WINBASEAPI BOOL WINAPI CheckNameLegalDOS8Dot3W(const WCHAR*, char*,DWORD,BOOL*,BOOL*);
1745 WINBASEAPI BOOL WINAPI CheckRemoteDebuggerPresent(HANDLE,BOOL*);
1746 WINBASEAPI BOOL WINAPI ChangeTimerQueueTimer(HANDLE,HANDLE,ULONG,ULONG);
1747 WINADVAPI BOOL WINAPI CheckTokenMembership(HANDLE,PSID,PBOOL);
1748 WINBASEAPI BOOL WINAPI ClearCommBreak(HANDLE);
1749 WINBASEAPI BOOL WINAPI ClearCommError(HANDLE,LPDWORD,LPCOMSTAT);
1750 WINADVAPI VOID WINAPI CloseEncryptedFileRaw(PVOID);
1751 WINADVAPI BOOL WINAPI ClearEventLogA(HANDLE,LPCSTR);
1752 WINADVAPI BOOL WINAPI ClearEventLogW(HANDLE,LPCWSTR);
1753 #define ClearEventLog WINELIB_NAME_AW(ClearEventLog)
1754 WINADVAPI BOOL WINAPI CloseEventLog(HANDLE);
1755 WINBASEAPI BOOL WINAPI CloseHandle(HANDLE);
1756 WINBASEAPI VOID WINAPI CloseThreadpool(PTP_POOL);
1757 WINBASEAPI VOID WINAPI CloseThreadpoolCleanupGroup(PTP_CLEANUP_GROUP);
1758 WINBASEAPI VOID WINAPI CloseThreadpoolCleanupGroupMembers(PTP_CLEANUP_GROUP,BOOL,PVOID);
1759 WINBASEAPI VOID WINAPI CloseThreadpoolTimer(PTP_TIMER);
1760 WINBASEAPI VOID WINAPI CloseThreadpoolWait(PTP_WAIT);
1761 WINBASEAPI VOID WINAPI CloseThreadpoolWork(PTP_WORK);
1762 WINBASEAPI BOOL WINAPI CommConfigDialogA(LPCSTR,HWND,LPCOMMCONFIG);
1763 WINBASEAPI BOOL WINAPI CommConfigDialogW(LPCWSTR,HWND,LPCOMMCONFIG);
1764 #define CommConfigDialog WINELIB_NAME_AW(CommConfigDialog)
1765 WINBASEAPI BOOL WINAPI ConnectNamedPipe(HANDLE,LPOVERLAPPED);
1766 WINBASEAPI BOOL WINAPI ContinueDebugEvent(DWORD,DWORD,DWORD);
1767 WINBASEAPI HANDLE WINAPI ConvertToGlobalHandle(HANDLE hSrc);
1768 WINBASEAPI BOOL WINAPI CopyFileA(LPCSTR,LPCSTR,BOOL);
1769 WINBASEAPI BOOL WINAPI CopyFileW(LPCWSTR,LPCWSTR,BOOL);
1770 #define CopyFile WINELIB_NAME_AW(CopyFile)
1771 WINBASEAPI HRESULT WINAPI CopyFile2(PCWSTR,PCWSTR,COPYFILE2_EXTENDED_PARAMETERS*);
1772 WINBASEAPI BOOL WINAPI CopyFileExA(LPCSTR, LPCSTR, LPPROGRESS_ROUTINE, LPVOID, LPBOOL, DWORD);
1773 WINBASEAPI BOOL WINAPI CopyFileExW(LPCWSTR, LPCWSTR, LPPROGRESS_ROUTINE, LPVOID, LPBOOL, DWORD);
1774 #define CopyFileEx WINELIB_NAME_AW(CopyFileEx)
1775 WINADVAPI BOOL WINAPI CopySid(DWORD,PSID,PSID);
1776 WINBASEAPI INT WINAPI CompareFileTime(const FILETIME*,const FILETIME*);
1777 WINBASEAPI BOOL WINAPI ConvertFiberToThread(void);
1778 WINBASEAPI LPVOID WINAPI ConvertThreadToFiber(LPVOID);
1779 WINBASEAPI LPVOID WINAPI ConvertThreadToFiberEx(LPVOID,DWORD);
1780 WINADVAPI BOOL WINAPI ConvertToAutoInheritPrivateObjectSecurity(PSECURITY_DESCRIPTOR,PSECURITY_DESCRIPTOR,PSECURITY_DESCRIPTOR*,GUID*,BOOL,PGENERIC_MAPPING);
1781 WINBASEAPI HANDLE WINAPI CreateActCtxA(PCACTCTXA);
1782 WINBASEAPI HANDLE WINAPI CreateActCtxW(PCACTCTXW);
1783 #define CreateActCtx WINELIB_NAME_AW(CreateActCtx)
1784 WINBASEAPI BOOL WINAPI CreateDirectoryA(LPCSTR,LPSECURITY_ATTRIBUTES);
1785 WINBASEAPI BOOL WINAPI CreateDirectoryW(LPCWSTR,LPSECURITY_ATTRIBUTES);
1786 #define CreateDirectory WINELIB_NAME_AW(CreateDirectory)
1787 WINBASEAPI BOOL WINAPI CreateDirectoryExA(LPCSTR,LPCSTR,LPSECURITY_ATTRIBUTES);
1788 WINBASEAPI BOOL WINAPI CreateDirectoryExW(LPCWSTR,LPCWSTR,LPSECURITY_ATTRIBUTES);
1789 #define CreateDirectoryEx WINELIB_NAME_AW(CreateDirectoryEx)
1790 WINBASEAPI HANDLE WINAPI CreateEventA(LPSECURITY_ATTRIBUTES,BOOL,BOOL,LPCSTR);
1791 WINBASEAPI HANDLE WINAPI CreateEventW(LPSECURITY_ATTRIBUTES,BOOL,BOOL,LPCWSTR);
1792 #define CreateEvent WINELIB_NAME_AW(CreateEvent)
1793 WINBASEAPI HANDLE WINAPI CreateEventExA(SECURITY_ATTRIBUTES*,LPCSTR,DWORD,DWORD);
1794 WINBASEAPI HANDLE WINAPI CreateEventExW(SECURITY_ATTRIBUTES*,LPCWSTR,DWORD,DWORD);
1795 #define CreateEventEx WINELIB_NAME_AW(CreateEventEx)
1796 WINBASEAPI LPVOID WINAPI CreateFiber(SIZE_T,LPFIBER_START_ROUTINE,LPVOID);
1797 WINBASEAPI LPVOID WINAPI CreateFiberEx(SIZE_T,SIZE_T,DWORD,LPFIBER_START_ROUTINE,LPVOID);
1798 WINBASEAPI HANDLE WINAPI CreateFileA(LPCSTR,DWORD,DWORD,LPSECURITY_ATTRIBUTES,DWORD,DWORD,HANDLE);
1799 WINBASEAPI HANDLE WINAPI CreateFileW(LPCWSTR,DWORD,DWORD,LPSECURITY_ATTRIBUTES,DWORD,DWORD,HANDLE);
1800 #define CreateFile WINELIB_NAME_AW(CreateFile)
1801 WINBASEAPI HANDLE WINAPI CreateFileMappingA(HANDLE,LPSECURITY_ATTRIBUTES,DWORD,DWORD,DWORD,LPCSTR);
1802 WINBASEAPI HANDLE WINAPI CreateFileMappingW(HANDLE,LPSECURITY_ATTRIBUTES,DWORD,DWORD,DWORD,LPCWSTR);
1803 #define CreateFileMapping WINELIB_NAME_AW(CreateFileMapping)
1804 WINBASEAPI HANDLE WINAPI CreateIoCompletionPort(HANDLE,HANDLE,ULONG_PTR,DWORD);
1805 WINBASEAPI HANDLE WINAPI CreateJobObjectA(LPSECURITY_ATTRIBUTES,LPCSTR);
1806 WINBASEAPI HANDLE WINAPI CreateJobObjectW(LPSECURITY_ATTRIBUTES,LPCWSTR);
1807 #define CreateJobObject WINELIB_NAME_AW(CreateJobObject)
1808 WINBASEAPI HANDLE WINAPI CreateMailslotA(LPCSTR,DWORD,DWORD,LPSECURITY_ATTRIBUTES);
1809 WINBASEAPI HANDLE WINAPI CreateMailslotW(LPCWSTR,DWORD,DWORD,LPSECURITY_ATTRIBUTES);
1810 #define CreateMailslot WINELIB_NAME_AW(CreateMailslot)
1811 WINBASEAPI HANDLE WINAPI CreateMemoryResourceNotification(MEMORY_RESOURCE_NOTIFICATION_TYPE);
1812 WINBASEAPI HANDLE WINAPI CreateMutexA(LPSECURITY_ATTRIBUTES,BOOL,LPCSTR);
1813 WINBASEAPI HANDLE WINAPI CreateMutexW(LPSECURITY_ATTRIBUTES,BOOL,LPCWSTR);
1814 #define CreateMutex WINELIB_NAME_AW(CreateMutex)
1815 WINBASEAPI HANDLE WINAPI CreateMutexExA(SECURITY_ATTRIBUTES*,LPCSTR,DWORD,DWORD);
1816 WINBASEAPI HANDLE WINAPI CreateMutexExW(SECURITY_ATTRIBUTES*,LPCWSTR,DWORD,DWORD);
1817 #define CreateMutexEx WINELIB_NAME_AW(CreateMutexEx)
1818 WINBASEAPI HANDLE WINAPI CreateNamedPipeA(LPCSTR,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,LPSECURITY_ATTRIBUTES);
1819 WINBASEAPI HANDLE WINAPI CreateNamedPipeW(LPCWSTR,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,LPSECURITY_ATTRIBUTES);
1820 #define CreateNamedPipe WINELIB_NAME_AW(CreateNamedPipe)
1821 WINBASEAPI BOOL WINAPI CreatePipe(PHANDLE,PHANDLE,LPSECURITY_ATTRIBUTES,DWORD);
1822 WINADVAPI BOOL WINAPI CreatePrivateObjectSecurity(PSECURITY_DESCRIPTOR,PSECURITY_DESCRIPTOR,PSECURITY_DESCRIPTOR*,BOOL,HANDLE,PGENERIC_MAPPING);
1823 WINADVAPI BOOL WINAPI CreatePrivateObjectSecurityEx(PSECURITY_DESCRIPTOR,PSECURITY_DESCRIPTOR,PSECURITY_DESCRIPTOR*,GUID*,BOOL,ULONG,HANDLE,PGENERIC_MAPPING);
1824 WINADVAPI BOOL WINAPI CreatePrivateObjectSecurityWithMultipleInheritance(PSECURITY_DESCRIPTOR,PSECURITY_DESCRIPTOR,PSECURITY_DESCRIPTOR*,GUID**,ULONG,BOOL,ULONG,HANDLE,PGENERIC_MAPPING);
1825 WINBASEAPI PTP_POOL WINAPI CreateThreadpool(PVOID);
1826 WINBASEAPI PTP_CLEANUP_GROUP WINAPI CreateThreadpoolCleanupGroup(void);
1827 WINBASEAPI PTP_TIMER WINAPI CreateThreadpoolTimer(PTP_TIMER_CALLBACK,PVOID,PTP_CALLBACK_ENVIRON);
1828 WINBASEAPI PTP_WAIT WINAPI CreateThreadpoolWait(PTP_WAIT_CALLBACK,PVOID,PTP_CALLBACK_ENVIRON);
1829 WINBASEAPI PTP_WORK WINAPI CreateThreadpoolWork(PTP_WORK_CALLBACK,PVOID,PTP_CALLBACK_ENVIRON);
1830 WINBASEAPI BOOL WINAPI CreateProcessA(LPCSTR,LPSTR,LPSECURITY_ATTRIBUTES,LPSECURITY_ATTRIBUTES,BOOL,DWORD,LPVOID,LPCSTR,LPSTARTUPINFOA,LPPROCESS_INFORMATION);
1831 WINBASEAPI BOOL WINAPI CreateProcessW(LPCWSTR,LPWSTR,LPSECURITY_ATTRIBUTES,LPSECURITY_ATTRIBUTES,BOOL,DWORD,LPVOID,LPCWSTR,LPSTARTUPINFOW,LPPROCESS_INFORMATION);
1832 #define CreateProcess WINELIB_NAME_AW(CreateProcess)
1833 WINADVAPI BOOL WINAPI CreateProcessAsUserA(HANDLE,LPCSTR,LPSTR,LPSECURITY_ATTRIBUTES,LPSECURITY_ATTRIBUTES,BOOL,DWORD,LPVOID,LPCSTR,LPSTARTUPINFOA,LPPROCESS_INFORMATION);
1834 WINADVAPI BOOL WINAPI CreateProcessAsUserW(HANDLE,LPCWSTR,LPWSTR,LPSECURITY_ATTRIBUTES,LPSECURITY_ATTRIBUTES,BOOL,DWORD,LPVOID,LPCWSTR,LPSTARTUPINFOW,LPPROCESS_INFORMATION);
1835 #define CreateProcessAsUser WINELIB_NAME_AW(CreateProcessAsUser)
1836 WINADVAPI BOOL WINAPI CreateProcessWithLogonW(LPCWSTR,LPCWSTR,LPCWSTR,DWORD,LPCWSTR,LPWSTR,DWORD,LPVOID,LPCWSTR,LPSTARTUPINFOW,LPPROCESS_INFORMATION);
1837 WINBASEAPI HANDLE WINAPI CreateRemoteThread(HANDLE,LPSECURITY_ATTRIBUTES,SIZE_T,LPTHREAD_START_ROUTINE,LPVOID,DWORD,LPDWORD);
1838 WINADVAPI BOOL WINAPI CreateRestrictedToken(HANDLE,DWORD,DWORD,PSID_AND_ATTRIBUTES,DWORD,PLUID_AND_ATTRIBUTES,DWORD,PSID_AND_ATTRIBUTES,PHANDLE);
1839 WINBASEAPI HANDLE WINAPI CreateSemaphoreA(LPSECURITY_ATTRIBUTES,LONG,LONG,LPCSTR);
1840 WINBASEAPI HANDLE WINAPI CreateSemaphoreW(LPSECURITY_ATTRIBUTES,LONG,LONG,LPCWSTR);
1841 #define CreateSemaphore WINELIB_NAME_AW(CreateSemaphore)
1842 WINBASEAPI HANDLE WINAPI CreateSemaphoreExA(SECURITY_ATTRIBUTES*,LONG,LONG,LPCSTR,DWORD,DWORD);
1843 WINBASEAPI HANDLE WINAPI CreateSemaphoreExW(SECURITY_ATTRIBUTES*,LONG,LONG,LPCWSTR,DWORD,DWORD);
1844 #define CreateSemaphoreEx WINELIB_NAME_AW(CreateSemaphoreEx)
1845 WINBASEAPI BOOLEAN WINAPI CreateSymbolicLinkA(LPCSTR,LPCSTR,DWORD);
1846 WINBASEAPI BOOLEAN WINAPI CreateSymbolicLinkW(LPCWSTR,LPCWSTR,DWORD);
1847 #define CreateSymbolicLink WINELIB_NAME_AW(CreateSymbolicLink)
1848 WINBASEAPI BOOL WINAPI CreateHardLinkA(LPCSTR,LPCSTR,LPSECURITY_ATTRIBUTES);
1849 WINBASEAPI BOOL WINAPI CreateHardLinkW(LPCWSTR,LPCWSTR,LPSECURITY_ATTRIBUTES);
1850 #define CreateHardLink WINELIB_NAME_AW(CreateHardLink)
1851 WINBASEAPI DWORD WINAPI CreateTapePartition(HANDLE,DWORD,DWORD,DWORD);
1852 WINBASEAPI HANDLE WINAPI CreateThread(LPSECURITY_ATTRIBUTES,SIZE_T,LPTHREAD_START_ROUTINE,LPVOID,DWORD,LPDWORD);
1853 WINBASEAPI HANDLE WINAPI CreateTimerQueue(void);
1854 WINBASEAPI BOOL WINAPI CreateTimerQueueTimer(PHANDLE,HANDLE,WAITORTIMERCALLBACK,PVOID,DWORD,DWORD,ULONG);
1855 WINBASEAPI HANDLE WINAPI CreateWaitableTimerA(LPSECURITY_ATTRIBUTES,BOOL,LPCSTR);
1856 WINBASEAPI HANDLE WINAPI CreateWaitableTimerW(LPSECURITY_ATTRIBUTES,BOOL,LPCWSTR);
1857 #define CreateWaitableTimer WINELIB_NAME_AW(CreateWaitableTimer)
1858 WINBASEAPI HANDLE WINAPI CreateWaitableTimerExA(SECURITY_ATTRIBUTES*,LPCSTR,DWORD,DWORD);
1859 WINBASEAPI HANDLE WINAPI CreateWaitableTimerExW(SECURITY_ATTRIBUTES*,LPCWSTR,DWORD,DWORD);
1860 #define CreateWaitableTimerEx WINELIB_NAME_AW(CreateWaitableTimerEx)
1861 WINADVAPI BOOL WINAPI CreateWellKnownSid(WELL_KNOWN_SID_TYPE,PSID,PSID,DWORD*);
1862 WINBASEAPI BOOL WINAPI DeactivateActCtx(DWORD,ULONG_PTR);
1863 WINBASEAPI BOOL WINAPI DebugActiveProcess(DWORD);
1864 WINBASEAPI BOOL WINAPI DebugActiveProcessStop(DWORD);
1865 WINBASEAPI void WINAPI DebugBreak(void);
1866 WINBASEAPI BOOL WINAPI DebugBreakProcess(HANDLE);
1867 WINBASEAPI BOOL WINAPI DebugSetProcessKillOnExit(BOOL);
1868 WINBASEAPI void * WINAPI DecodePointer(void *);
1869 WINBASEAPI void * WINAPI DecodeSystemPointer(void *);
1870 WINADVAPI BOOL WINAPI DecryptFileA(LPCSTR,DWORD);
1871 WINADVAPI BOOL WINAPI DecryptFileW(LPCWSTR,DWORD);
1872 #define DecryptFile WINELIB_NAME_AW(DecryptFile)
1873 WINBASEAPI BOOL WINAPI DefineDosDeviceA(DWORD,LPCSTR,LPCSTR);
1874 WINBASEAPI BOOL WINAPI DefineDosDeviceW(DWORD,LPCWSTR,LPCWSTR);
1875 #define DefineDosDevice WINELIB_NAME_AW(DefineDosDevice)
1876 #define DefineHandleTable(w) ((w),TRUE)
1877 WINADVAPI BOOL WINAPI DeleteAce(PACL,DWORD);
1878 WINBASEAPI ATOM WINAPI DeleteAtom(ATOM);
1879 WINBASEAPI void WINAPI DeleteCriticalSection(CRITICAL_SECTION *lpCrit);
1880 WINBASEAPI void WINAPI DeleteFiber(LPVOID);
1881 WINBASEAPI BOOL WINAPI DeleteFileA(LPCSTR);
1882 WINBASEAPI BOOL WINAPI DeleteFileW(LPCWSTR);
1883 #define DeleteFile WINELIB_NAME_AW(DeleteFile)
1884 WINBASEAPI void WINAPI DeleteProcThreadAttributeList(struct _PROC_THREAD_ATTRIBUTE_LIST*);
1885 WINBASEAPI BOOL WINAPI DeleteTimerQueue(HANDLE);
1886 WINBASEAPI BOOL WINAPI DeleteTimerQueueEx(HANDLE,HANDLE);
1887 WINBASEAPI BOOL WINAPI DeleteTimerQueueTimer(HANDLE,HANDLE,HANDLE);
1888 WINBASEAPI BOOL WINAPI DeleteVolumeMountPointA(LPCSTR);
1889 WINBASEAPI BOOL WINAPI DeleteVolumeMountPointW(LPCWSTR);
1890 #define DeleteVolumeMountPoint WINELIB_NAME_AW(DeleteVolumeMountPoint)
1891 WINADVAPI BOOL WINAPI DeregisterEventSource(HANDLE);
1892 WINADVAPI BOOL WINAPI DestroyPrivateObjectSecurity(PSECURITY_DESCRIPTOR*);
1893 WINBASEAPI BOOL WINAPI DeviceIoControl(HANDLE,DWORD,LPVOID,DWORD,LPVOID,DWORD,LPDWORD,LPOVERLAPPED);
1894 WINBASEAPI BOOL WINAPI DisableThreadLibraryCalls(HMODULE);
1895 WINBASEAPI BOOL WINAPI DisconnectNamedPipe(HANDLE);
1896 WINBASEAPI BOOL WINAPI DnsHostnameToComputerNameA(LPCSTR,LPSTR,LPDWORD);
1897 WINBASEAPI BOOL WINAPI DnsHostnameToComputerNameW(LPCWSTR,LPWSTR,LPDWORD);
1898 #define DnsHostnameToComputerName WINELIB_NAME_AW(DnsHostnameToComputerName)
1899 WINBASEAPI BOOL WINAPI DosDateTimeToFileTime(WORD,WORD,LPFILETIME);
1900 WINBASEAPI BOOL WINAPI DuplicateHandle(HANDLE,HANDLE,HANDLE,HANDLE*,DWORD,BOOL,DWORD);
1901 WINADVAPI BOOL WINAPI DuplicateToken(HANDLE,SECURITY_IMPERSONATION_LEVEL,PHANDLE);
1902 WINADVAPI BOOL WINAPI DuplicateTokenEx(HANDLE,DWORD,LPSECURITY_ATTRIBUTES,SECURITY_IMPERSONATION_LEVEL,TOKEN_TYPE,PHANDLE);
1903 WINBASEAPI BOOL WINAPI EscapeCommFunction(HANDLE,DWORD);
1904 WINBASEAPI void * WINAPI EncodePointer(void *);
1905 WINBASEAPI void * WINAPI EncodeSystemPointer(void *);
1906 WINADVAPI BOOL WINAPI EncryptFileA(LPCSTR);
1907 WINADVAPI BOOL WINAPI EncryptFileW(LPCWSTR);
1908 #define EncryptFile WINELIB_NAME_AW(EncryptFile)
1909 WINBASEAPI BOOL WINAPI EndUpdateResourceA(HANDLE,BOOL);
1910 WINBASEAPI BOOL WINAPI EndUpdateResourceW(HANDLE,BOOL);
1911 #define EndUpdateResource WINELIB_NAME_AW(EndUpdateResource)
1912 WINBASEAPI void WINAPI EnterCriticalSection(CRITICAL_SECTION *lpCrit);
1913 WINBASEAPI BOOL WINAPI EnumResourceLanguagesA(HMODULE,LPCSTR,LPCSTR,ENUMRESLANGPROCA,LONG_PTR);
1914 WINBASEAPI BOOL WINAPI EnumResourceLanguagesW(HMODULE,LPCWSTR,LPCWSTR,ENUMRESLANGPROCW,LONG_PTR);
1915 #define EnumResourceLanguages WINELIB_NAME_AW(EnumResourceLanguages)
1916 WINBASEAPI BOOL WINAPI EnumResourceLanguagesExA(HMODULE,LPCSTR,LPCSTR,ENUMRESLANGPROCA,LONG_PTR,DWORD,LANGID);
1917 WINBASEAPI BOOL WINAPI EnumResourceLanguagesExW(HMODULE,LPCWSTR,LPCWSTR,ENUMRESLANGPROCW,LONG_PTR,DWORD,LANGID);
1918 #define EnumResourceLanguagesEx WINELIB_NAME_AW(EnumResourceLanguagesEx)
1919 WINBASEAPI BOOL WINAPI EnumResourceNamesA(HMODULE,LPCSTR,ENUMRESNAMEPROCA,LONG_PTR);
1920 WINBASEAPI BOOL WINAPI EnumResourceNamesW(HMODULE,LPCWSTR,ENUMRESNAMEPROCW,LONG_PTR);
1921 #define EnumResourceNames WINELIB_NAME_AW(EnumResourceNames)
1922 WINBASEAPI BOOL WINAPI EnumResourceTypesA(HMODULE,ENUMRESTYPEPROCA,LONG_PTR);
1923 WINBASEAPI BOOL WINAPI EnumResourceTypesW(HMODULE,ENUMRESTYPEPROCW,LONG_PTR);
1924 #define EnumResourceTypes WINELIB_NAME_AW(EnumResourceTypes)
1925 WINADVAPI BOOL WINAPI EqualSid(PSID, PSID);
1926 WINADVAPI BOOL WINAPI EqualPrefixSid(PSID,PSID);
1927 WINBASEAPI DWORD WINAPI EraseTape(HANDLE,DWORD,BOOL);
1928 WINBASEAPI VOID DECLSPEC_NORETURN WINAPI ExitProcess(DWORD);
1929 WINBASEAPI VOID DECLSPEC_NORETURN WINAPI ExitThread(DWORD);
1930 WINBASEAPI DWORD WINAPI ExpandEnvironmentStringsA(LPCSTR,LPSTR,DWORD);
1931 WINBASEAPI DWORD WINAPI ExpandEnvironmentStringsW(LPCWSTR,LPWSTR,DWORD);
1932 #define ExpandEnvironmentStrings WINELIB_NAME_AW(ExpandEnvironmentStrings)
1933 WINBASEAPI void WINAPI FatalAppExitA(UINT,LPCSTR);
1934 WINBASEAPI void WINAPI FatalAppExitW(UINT,LPCWSTR);
1935 WINBASEAPI void WINAPI FatalExit(int);
1936 #define FatalAppExit WINELIB_NAME_AW(FatalAppExit)
1937 WINADVAPI BOOL WINAPI FileEncryptionStatusA(LPCSTR,LPDWORD);
1938 WINADVAPI BOOL WINAPI FileEncryptionStatusW(LPCWSTR,LPDWORD);
1939 #define FileEncryptionStatus WINELIB_NAME_AW(FileEncryptionStatus)
1940 WINBASEAPI BOOL WINAPI FileTimeToDosDateTime(const FILETIME*,LPWORD,LPWORD);
1941 WINBASEAPI BOOL WINAPI FileTimeToLocalFileTime(const FILETIME*,LPFILETIME);
1942 WINBASEAPI BOOL WINAPI FileTimeToSystemTime(const FILETIME*,LPSYSTEMTIME);
1943 WINBASEAPI BOOL WINAPI FindActCtxSectionStringA(DWORD,const GUID *,ULONG,LPCSTR,PACTCTX_SECTION_KEYED_DATA);
1944 WINBASEAPI BOOL WINAPI FindActCtxSectionStringW(DWORD,const GUID *,ULONG,LPCWSTR,PACTCTX_SECTION_KEYED_DATA);
1945 #define FindActCtxSectionString WINELIB_NAME_AW(FindActCtxSectionString)
1946 WINBASEAPI BOOL WINAPI FindActCtxSectionGuid(DWORD,const GUID *,ULONG,const GUID *,PACTCTX_SECTION_KEYED_DATA);
1947 WINBASEAPI ATOM WINAPI FindAtomA(LPCSTR);
1948 WINBASEAPI ATOM WINAPI FindAtomW(LPCWSTR);
1949 #define FindAtom WINELIB_NAME_AW(FindAtom)
1950 WINBASEAPI BOOL WINAPI FindClose(HANDLE);
1951 WINBASEAPI HANDLE WINAPI FindFirstChangeNotificationA(LPCSTR,BOOL,DWORD);
1952 WINBASEAPI HANDLE WINAPI FindFirstChangeNotificationW(LPCWSTR,BOOL,DWORD);
1953 #define FindFirstChangeNotification WINELIB_NAME_AW(FindFirstChangeNotification)
1954 WINBASEAPI HANDLE WINAPI FindFirstFileA(LPCSTR,LPWIN32_FIND_DATAA);
1955 WINBASEAPI HANDLE WINAPI FindFirstFileW(LPCWSTR,LPWIN32_FIND_DATAW);
1956 #define FindFirstFile WINELIB_NAME_AW(FindFirstFile)
1957 WINBASEAPI HANDLE WINAPI FindFirstFileExA(LPCSTR,FINDEX_INFO_LEVELS,LPVOID,FINDEX_SEARCH_OPS,LPVOID,DWORD);
1958 WINBASEAPI HANDLE WINAPI FindFirstFileExW(LPCWSTR,FINDEX_INFO_LEVELS,LPVOID,FINDEX_SEARCH_OPS,LPVOID,DWORD);
1959 #define FindFirstFileEx WINELIB_NAME_AW(FindFirstFileEx)
1960 WINADVAPI BOOL WINAPI FindFirstFreeAce(PACL,LPVOID*);
1961 WINBASEAPI BOOL WINAPI FindNextChangeNotification(HANDLE);
1962 WINBASEAPI BOOL WINAPI FindNextFileA(HANDLE,LPWIN32_FIND_DATAA);
1963 WINBASEAPI BOOL WINAPI FindNextFileW(HANDLE,LPWIN32_FIND_DATAW);
1964 #define FindNextFile WINELIB_NAME_AW(FindNextFile)
1965 WINBASEAPI BOOL WINAPI FindCloseChangeNotification(HANDLE);
1966 WINBASEAPI HRSRC WINAPI FindResourceA(HMODULE,LPCSTR,LPCSTR);
1967 WINBASEAPI HRSRC WINAPI FindResourceW(HMODULE,LPCWSTR,LPCWSTR);
1968 #define FindResource WINELIB_NAME_AW(FindResource)
1969 WINBASEAPI HRSRC WINAPI FindResourceExA(HMODULE,LPCSTR,LPCSTR,WORD);
1970 WINBASEAPI HRSRC WINAPI FindResourceExW(HMODULE,LPCWSTR,LPCWSTR,WORD);
1971 #define FindResourceEx WINELIB_NAME_AW(FindResourceEx)
1972 WINBASEAPI HANDLE WINAPI FindFirstVolumeA(LPSTR,DWORD);
1973 WINBASEAPI HANDLE WINAPI FindFirstVolumeW(LPWSTR,DWORD);
1974 #define FindFirstVolume WINELIB_NAME_AW(FindFirstVolume)
1975 WINBASEAPI HANDLE WINAPI FindFirstVolumeMountPointA(LPCSTR,LPSTR,DWORD);
1976 WINBASEAPI HANDLE WINAPI FindFirstVolumeMountPointW(LPCWSTR,LPWSTR,DWORD);
1977 #define FindFirstVolumeMountPoint WINELIB_NAME_AW(FindFirstVolumeMountPoint)
1978 WINBASEAPI BOOL WINAPI FindNextVolumeA(HANDLE,LPSTR,DWORD);
1979 WINBASEAPI BOOL WINAPI FindNextVolumeW(HANDLE,LPWSTR,DWORD);
1980 #define FindNextVolume WINELIB_NAME_AW(FindNextVolume)
1981 WINBASEAPI BOOL WINAPI FindNextVolumeMountPointA(HANDLE,LPSTR,DWORD);
1982 WINBASEAPI BOOL WINAPI FindNextVolumeMountPointW(HANDLE,LPWSTR,DWORD);
1983 #define FindNextVolumeMountPoint WINELIB_NAME_AW(FindNextVolumeMountPoint)
1984 WINBASEAPI BOOL WINAPI FindVolumeClose(HANDLE);
1985 WINBASEAPI BOOL WINAPI FindVolumeMountPointClose(HANDLE);
1986 WINBASEAPI DWORD WINAPI FlsAlloc(PFLS_CALLBACK_FUNCTION);
1987 WINBASEAPI BOOL WINAPI FlsFree(DWORD);
1988 WINBASEAPI PVOID WINAPI FlsGetValue(DWORD);
1989 WINBASEAPI BOOL WINAPI FlsSetValue(DWORD,PVOID);
1990 WINBASEAPI BOOL WINAPI FlushFileBuffers(HANDLE);
1991 WINBASEAPI BOOL WINAPI FlushInstructionCache(HANDLE,LPCVOID,SIZE_T);
1992 WINBASEAPI VOID WINAPI FlushProcessWriteBuffers(void);
1993 WINBASEAPI BOOL WINAPI FlushViewOfFile(LPCVOID,SIZE_T);
1994 WINBASEAPI DWORD WINAPI FormatMessageA(DWORD,LPCVOID,DWORD,DWORD,LPSTR,DWORD,__ms_va_list*);
1995 WINBASEAPI DWORD WINAPI FormatMessageW(DWORD,LPCVOID,DWORD,DWORD,LPWSTR,DWORD,__ms_va_list*);
1996 #define FormatMessage WINELIB_NAME_AW(FormatMessage)
1997 WINBASEAPI BOOL WINAPI FreeEnvironmentStringsA(LPSTR);
1998 WINBASEAPI BOOL WINAPI FreeEnvironmentStringsW(LPWSTR);
1999 #define FreeEnvironmentStrings WINELIB_NAME_AW(FreeEnvironmentStrings)
2000 WINBASEAPI BOOL WINAPI FreeLibrary(HMODULE);
2001 WINBASEAPI VOID DECLSPEC_NORETURN WINAPI FreeLibraryAndExitThread(HINSTANCE,DWORD);
2002 WINBASEAPI VOID WINAPI FreeLibraryWhenCallbackReturns(PTP_CALLBACK_INSTANCE,HMODULE);
2003 #define FreeModule(handle) FreeLibrary(handle)
2004 #define FreeProcInstance(proc) /*nothing*/
2005 WINBASEAPI BOOL WINAPI FreeResource(HGLOBAL);
2006 WINADVAPI PVOID WINAPI FreeSid(PSID);
2007 WINADVAPI BOOL WINAPI GetAce(PACL,DWORD,LPVOID*);
2008 WINADVAPI BOOL WINAPI GetAclInformation(PACL,LPVOID,DWORD,ACL_INFORMATION_CLASS);
2009 WINBASEAPI UINT WINAPI GetAtomNameA(ATOM,LPSTR,INT);
2010 WINBASEAPI UINT WINAPI GetAtomNameW(ATOM,LPWSTR,INT);
2011 #define GetAtomName WINELIB_NAME_AW(GetAtomName)
2012 WINBASEAPI BOOL WINAPI GetBinaryTypeA( LPCSTR lpApplicationName, LPDWORD lpBinaryType );
2013 WINBASEAPI BOOL WINAPI GetBinaryTypeW( LPCWSTR lpApplicationName, LPDWORD lpBinaryType );
2014 #define GetBinaryType WINELIB_NAME_AW(GetBinaryType)
2015 WINBASEAPI BOOL WINAPI GetCurrentActCtx(HANDLE *);
2016 WINBASEAPI BOOL WINAPI GetCommConfig(HANDLE,LPCOMMCONFIG,LPDWORD);
2017 WINBASEAPI BOOL WINAPI GetCommMask(HANDLE,LPDWORD);
2018 WINBASEAPI BOOL WINAPI GetCommModemStatus(HANDLE,LPDWORD);
2019 WINBASEAPI BOOL WINAPI GetCommProperties(HANDLE,LPCOMMPROP);
2020 WINBASEAPI BOOL WINAPI GetCommState(HANDLE,LPDCB);
2021 WINBASEAPI BOOL WINAPI GetCommTimeouts(HANDLE,LPCOMMTIMEOUTS);
2022 WINBASEAPI LPSTR WINAPI GetCommandLineA(void);
2023 WINBASEAPI LPWSTR WINAPI GetCommandLineW(void);
2024 #define GetCommandLine WINELIB_NAME_AW(GetCommandLine)
2025 WINBASEAPI DWORD WINAPI GetCompressedFileSizeA(LPCSTR,LPDWORD);
2026 WINBASEAPI DWORD WINAPI GetCompressedFileSizeW(LPCWSTR,LPDWORD);
2027 #define GetCompressedFileSize WINELIB_NAME_AW(GetCompressedFileSize)
2028 WINBASEAPI BOOL WINAPI GetComputerNameA(LPSTR,LPDWORD);
2029 WINBASEAPI BOOL WINAPI GetComputerNameW(LPWSTR,LPDWORD);
2030 #define GetComputerName WINELIB_NAME_AW(GetComputerName)
2031 WINBASEAPI BOOL WINAPI GetComputerNameExA(COMPUTER_NAME_FORMAT,LPSTR,LPDWORD);
2032 WINBASEAPI BOOL WINAPI GetComputerNameExW(COMPUTER_NAME_FORMAT,LPWSTR,LPDWORD);
2033 #define GetComputerNameEx WINELIB_NAME_AW(GetComputerNameEx)
2034 WINBASEAPI UINT WINAPI GetCurrentDirectoryA(UINT,LPSTR);
2035 WINBASEAPI UINT WINAPI GetCurrentDirectoryW(UINT,LPWSTR);
2036 #define GetCurrentDirectory WINELIB_NAME_AW(GetCurrentDirectory)
2037 WINADVAPI BOOL WINAPI GetCurrentHwProfileA(LPHW_PROFILE_INFOA);
2038 WINADVAPI BOOL WINAPI GetCurrentHwProfileW(LPHW_PROFILE_INFOW);
2039 #define GetCurrentHwProfile WINELIB_NAME_AW(GetCurrentHwProfile)
2040 WINBASEAPI HANDLE WINAPI GetCurrentProcess(void);
2041 WINBASEAPI DWORD WINAPI GetCurrentProcessorNumber(void);
2042 WINBASEAPI VOID WINAPI GetCurrentProcessorNumberEx(PPROCESSOR_NUMBER);
2043 WINBASEAPI HANDLE WINAPI GetCurrentThread(void);
2044 #define GetCurrentTime() GetTickCount()
2045 WINBASEAPI BOOL WINAPI GetDefaultCommConfigA(LPCSTR,LPCOMMCONFIG,LPDWORD);
2046 WINBASEAPI BOOL WINAPI GetDefaultCommConfigW(LPCWSTR,LPCOMMCONFIG,LPDWORD);
2047 #define GetDefaultCommConfig WINELIB_NAME_AW(GetDefaultCommConfig)
2048 WINBASEAPI BOOL WINAPI GetDevicePowerState(HANDLE,BOOL*);
2049 WINBASEAPI BOOL WINAPI GetDiskFreeSpaceA(LPCSTR,LPDWORD,LPDWORD,LPDWORD,LPDWORD);
2050 WINBASEAPI BOOL WINAPI GetDiskFreeSpaceW(LPCWSTR,LPDWORD,LPDWORD,LPDWORD,LPDWORD);
2051 #define GetDiskFreeSpace WINELIB_NAME_AW(GetDiskFreeSpace)
2052 WINBASEAPI BOOL WINAPI GetDiskFreeSpaceExA(LPCSTR,PULARGE_INTEGER,PULARGE_INTEGER,PULARGE_INTEGER);
2053 WINBASEAPI BOOL WINAPI GetDiskFreeSpaceExW(LPCWSTR,PULARGE_INTEGER,PULARGE_INTEGER,PULARGE_INTEGER);
2054 #define GetDiskFreeSpaceEx WINELIB_NAME_AW(GetDiskFreeSpaceEx)
2055 WINBASEAPI DWORD WINAPI GetDllDirectoryA(DWORD,LPSTR);
2056 WINBASEAPI DWORD WINAPI GetDllDirectoryW(DWORD,LPWSTR);
2057 #define GetDllDirectory WINELIB_NAME_AW(GetDllDirectory)
2058 WINBASEAPI UINT WINAPI GetDriveTypeA(LPCSTR);
2059 WINBASEAPI UINT WINAPI GetDriveTypeW(LPCWSTR);
2060 #define GetDriveType WINELIB_NAME_AW(GetDriveType)
2061 WINBASEAPI DWORD WINAPI GetDynamicTimeZoneInformation(PDYNAMIC_TIME_ZONE_INFORMATION);
2062 WINBASEAPI LPSTR WINAPI GetEnvironmentStringsA(void);
2063 WINBASEAPI LPWSTR WINAPI GetEnvironmentStringsW(void);
2064 #define GetEnvironmentStrings WINELIB_NAME_AW(GetEnvironmentStrings)
2065 WINBASEAPI DWORD WINAPI GetEnvironmentVariableA(LPCSTR,LPSTR,DWORD);
2066 WINBASEAPI DWORD WINAPI GetEnvironmentVariableW(LPCWSTR,LPWSTR,DWORD);
2067 #define GetEnvironmentVariable WINELIB_NAME_AW(GetEnvironmentVariable)
2068 WINBASEAPI UINT WINAPI GetErrorMode(void);
2069 WINADVAPI BOOL WINAPI GetEventLogInformation(HANDLE,DWORD,LPVOID,DWORD,LPDWORD);
2070 WINBASEAPI BOOL WINAPI GetExitCodeProcess(HANDLE,LPDWORD);
2071 WINBASEAPI BOOL WINAPI GetExitCodeThread(HANDLE,LPDWORD);
2072 WINBASEAPI DWORD WINAPI GetFileAttributesA(LPCSTR);
2073 WINBASEAPI DWORD WINAPI GetFileAttributesW(LPCWSTR);
2074 #define GetFileAttributes WINELIB_NAME_AW(GetFileAttributes)
2075 WINBASEAPI BOOL WINAPI GetFileAttributesExA(LPCSTR,GET_FILEEX_INFO_LEVELS,LPVOID);
2076 WINBASEAPI BOOL WINAPI GetFileAttributesExW(LPCWSTR,GET_FILEEX_INFO_LEVELS,LPVOID);
2077 #define GetFileAttributesEx WINELIB_NAME_AW(GetFileAttributesEx)
2078 WINBASEAPI BOOL WINAPI GetFileInformationByHandle(HANDLE,BY_HANDLE_FILE_INFORMATION*);
2079 WINBASEAPI BOOL WINAPI GetFileInformationByHandleEx(HANDLE,FILE_INFO_BY_HANDLE_CLASS,LPVOID,DWORD);
2080 WINADVAPI BOOL WINAPI GetFileSecurityA(LPCSTR,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR,DWORD,LPDWORD);
2081 WINADVAPI BOOL WINAPI GetFileSecurityW(LPCWSTR,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR,DWORD,LPDWORD);
2082 #define GetFileSecurity WINELIB_NAME_AW(GetFileSecurity)
2083 WINBASEAPI DWORD WINAPI GetFileSize(HANDLE,LPDWORD);
2084 WINBASEAPI BOOL WINAPI GetFileSizeEx(HANDLE,PLARGE_INTEGER);
2085 WINBASEAPI BOOL WINAPI GetFileTime(HANDLE,LPFILETIME,LPFILETIME,LPFILETIME);
2086 WINBASEAPI DWORD WINAPI GetFileType(HANDLE);
2087 #define GetFreeSpace(w) (__MSABI_LONG(0x100000))
2088 WINBASEAPI DWORD WINAPI GetFullPathNameA(LPCSTR,DWORD,LPSTR,LPSTR*);
2089 WINBASEAPI DWORD WINAPI GetFullPathNameW(LPCWSTR,DWORD,LPWSTR,LPWSTR*);
2090 #define GetFullPathName WINELIB_NAME_AW(GetFullPathName)
2091 WINBASEAPI BOOL WINAPI GetHandleInformation(HANDLE,LPDWORD);
2092 WINADVAPI BOOL WINAPI GetKernelObjectSecurity(HANDLE,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR,DWORD,LPDWORD);
2093 WINADVAPI DWORD WINAPI GetLengthSid(PSID);
2094 WINBASEAPI VOID WINAPI GetLocalTime(LPSYSTEMTIME);
2095 WINBASEAPI DWORD WINAPI GetLogicalDrives(void);
2096 WINBASEAPI UINT WINAPI GetLogicalDriveStringsA(UINT,LPSTR);
2097 WINBASEAPI UINT WINAPI GetLogicalDriveStringsW(UINT,LPWSTR);
2098 #define GetLogicalDriveStrings WINELIB_NAME_AW(GetLogicalDriveStrings)
2099 WINBASEAPI DWORD WINAPI GetLongPathNameA(LPCSTR,LPSTR,DWORD);
2100 WINBASEAPI DWORD WINAPI GetLongPathNameW(LPCWSTR,LPWSTR,DWORD);
2101 #define GetLongPathName WINELIB_NAME_AW(GetLongPathName)
2102 WINBASEAPI BOOL WINAPI GetMailslotInfo(HANDLE,LPDWORD,LPDWORD,LPDWORD,LPDWORD);
2103 WINBASEAPI DWORD WINAPI GetModuleFileNameA(HMODULE,LPSTR,DWORD);
2104 WINBASEAPI DWORD WINAPI GetModuleFileNameW(HMODULE,LPWSTR,DWORD);
2105 #define GetModuleFileName WINELIB_NAME_AW(GetModuleFileName)
2106 WINBASEAPI HMODULE WINAPI GetModuleHandleA(LPCSTR);
2107 WINBASEAPI HMODULE WINAPI GetModuleHandleW(LPCWSTR);
2108 #define GetModuleHandle WINELIB_NAME_AW(GetModuleHandle)
2109 WINBASEAPI BOOL WINAPI GetModuleHandleExA(DWORD,LPCSTR,HMODULE*);
2110 WINBASEAPI BOOL WINAPI GetModuleHandleExW(DWORD,LPCWSTR,HMODULE*);
2111 #define GetModuleHandleEx WINELIB_NAME_AW(GetModuleHandleEx)
2112 WINBASEAPI BOOL WINAPI GetNamedPipeHandleStateA(HANDLE,LPDWORD,LPDWORD,LPDWORD,LPDWORD,LPSTR,DWORD);
2113 WINBASEAPI BOOL WINAPI GetNamedPipeHandleStateW(HANDLE,LPDWORD,LPDWORD,LPDWORD,LPDWORD,LPWSTR,DWORD);
2114 #define GetNamedPipeHandleState WINELIB_NAME_AW(GetNamedPipeHandleState)
2115 WINBASEAPI BOOL WINAPI GetNamedPipeInfo(HANDLE,LPDWORD,LPDWORD,LPDWORD,LPDWORD);
2116 WINBASEAPI VOID WINAPI GetNativeSystemInfo(LPSYSTEM_INFO);
2117 WINBASEAPI BOOL WINAPI GetNumaProcessorNode(UCHAR,PUCHAR);
2118 WINADVAPI BOOL WINAPI GetNumberOfEventLogRecords(HANDLE,PDWORD);
2119 WINADVAPI BOOL WINAPI GetOldestEventLogRecord(HANDLE,PDWORD);
2120 WINBASEAPI BOOL WINAPI GetOverlappedResult(HANDLE,LPOVERLAPPED,LPDWORD,BOOL);
2121 WINBASEAPI DWORD WINAPI GetPriorityClass(HANDLE);
2122 WINADVAPI BOOL WINAPI GetPrivateObjectSecurity(PSECURITY_DESCRIPTOR,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR,DWORD,PDWORD);
2123 WINBASEAPI UINT WINAPI GetPrivateProfileIntA(LPCSTR,LPCSTR,INT,LPCSTR);
2124 WINBASEAPI UINT WINAPI GetPrivateProfileIntW(LPCWSTR,LPCWSTR,INT,LPCWSTR);
2125 #define GetPrivateProfileInt WINELIB_NAME_AW(GetPrivateProfileInt)
2126 WINBASEAPI INT WINAPI GetPrivateProfileSectionA(LPCSTR,LPSTR,DWORD,LPCSTR);
2127 WINBASEAPI INT WINAPI GetPrivateProfileSectionW(LPCWSTR,LPWSTR,DWORD,LPCWSTR);
2128 #define GetPrivateProfileSection WINELIB_NAME_AW(GetPrivateProfileSection)
2129 WINBASEAPI DWORD WINAPI GetPrivateProfileSectionNamesA(LPSTR,DWORD,LPCSTR);
2130 WINBASEAPI DWORD WINAPI GetPrivateProfileSectionNamesW(LPWSTR,DWORD,LPCWSTR);
2131 #define GetPrivateProfileSectionNames WINELIB_NAME_AW(GetPrivateProfileSectionNames)
2132 WINBASEAPI INT WINAPI GetPrivateProfileStringA(LPCSTR,LPCSTR,LPCSTR,LPSTR,UINT,LPCSTR);
2133 WINBASEAPI INT WINAPI GetPrivateProfileStringW(LPCWSTR,LPCWSTR,LPCWSTR,LPWSTR,UINT,LPCWSTR);
2134 #define GetPrivateProfileString WINELIB_NAME_AW(GetPrivateProfileString)
2135 WINBASEAPI BOOL WINAPI GetPrivateProfileStructA(LPCSTR,LPCSTR,LPVOID,UINT,LPCSTR);
2136 WINBASEAPI BOOL WINAPI GetPrivateProfileStructW(LPCWSTR,LPCWSTR,LPVOID,UINT,LPCWSTR);
2137 #define GetPrivateProfileStruct WINELIB_NAME_AW(GetPrivateProfileStruct)
2138 WINBASEAPI FARPROC WINAPI GetProcAddress(HMODULE,LPCSTR);
2139 WINBASEAPI BOOL WINAPI GetProcessAffinityMask(HANDLE,PDWORD_PTR,PDWORD_PTR);
2140 WINBASEAPI BOOL WINAPI GetLogicalProcessorInformation(PSYSTEM_LOGICAL_PROCESSOR_INFORMATION,PDWORD);
2141 WINBASEAPI BOOL WINAPI GetLogicalProcessorInformationEx(LOGICAL_PROCESSOR_RELATIONSHIP,PSYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX,PDWORD);
2142 WINBASEAPI DWORD WINAPI GetProcessHeaps(DWORD,PHANDLE);
2143 WINBASEAPI DWORD WINAPI GetProcessId(HANDLE);
2144 WINBASEAPI DWORD WINAPI GetProcessIdOfThread(HANDLE);
2145 WINBASEAPI BOOL WINAPI GetProcessIoCounters(HANDLE,PIO_COUNTERS);
2146 WINBASEAPI BOOL WINAPI GetProcessPriorityBoost(HANDLE,PBOOL);
2147 WINBASEAPI BOOL WINAPI GetProcessShutdownParameters(LPDWORD,LPDWORD);
2148 WINBASEAPI BOOL WINAPI GetProcessTimes(HANDLE,LPFILETIME,LPFILETIME,LPFILETIME,LPFILETIME);
2149 WINBASEAPI DWORD WINAPI GetProcessVersion(DWORD);
2150 WINBASEAPI BOOL WINAPI GetProcessWorkingSetSize(HANDLE,PSIZE_T,PSIZE_T);
2151 WINBASEAPI BOOL WINAPI GetProductInfo(DWORD,DWORD,DWORD,DWORD,PDWORD);
2152 WINBASEAPI UINT WINAPI GetProfileIntA(LPCSTR,LPCSTR,INT);
2153 WINBASEAPI UINT WINAPI GetProfileIntW(LPCWSTR,LPCWSTR,INT);
2154 #define GetProfileInt WINELIB_NAME_AW(GetProfileInt)
2155 WINBASEAPI INT WINAPI GetProfileSectionA(LPCSTR,LPSTR,DWORD);
2156 WINBASEAPI INT WINAPI GetProfileSectionW(LPCWSTR,LPWSTR,DWORD);
2157 #define GetProfileSection WINELIB_NAME_AW(GetProfileSection)
2158 WINBASEAPI INT WINAPI GetProfileStringA(LPCSTR,LPCSTR,LPCSTR,LPSTR,UINT);
2159 WINBASEAPI INT WINAPI GetProfileStringW(LPCWSTR,LPCWSTR,LPCWSTR,LPWSTR,UINT);
2160 #define GetProfileString WINELIB_NAME_AW(GetProfileString)
2161 WINBASEAPI BOOL WINAPI GetQueuedCompletionStatus(HANDLE,LPDWORD,PULONG_PTR,LPOVERLAPPED*,DWORD);
2162 WINADVAPI BOOL WINAPI GetSecurityDescriptorControl(PSECURITY_DESCRIPTOR,PSECURITY_DESCRIPTOR_CONTROL,LPDWORD);
2163 WINADVAPI BOOL WINAPI GetSecurityDescriptorDacl(PSECURITY_DESCRIPTOR,LPBOOL,PACL *,LPBOOL);
2164 WINADVAPI BOOL WINAPI GetSecurityDescriptorGroup(PSECURITY_DESCRIPTOR,PSID *,LPBOOL);
2165 WINADVAPI DWORD WINAPI GetSecurityDescriptorLength(PSECURITY_DESCRIPTOR);
2166 WINADVAPI BOOL WINAPI GetSecurityDescriptorOwner(PSECURITY_DESCRIPTOR,PSID *,LPBOOL);
2167 WINADVAPI BOOL WINAPI GetSecurityDescriptorSacl(PSECURITY_DESCRIPTOR,LPBOOL,PACL *,LPBOOL);
2168 WINADVAPI PSID_IDENTIFIER_AUTHORITY WINAPI GetSidIdentifierAuthority(PSID);
2169 WINADVAPI DWORD WINAPI GetSidLengthRequired(BYTE);
2170 WINADVAPI PDWORD WINAPI GetSidSubAuthority(PSID,DWORD);
2171 WINADVAPI PUCHAR WINAPI GetSidSubAuthorityCount(PSID);
2172 WINBASEAPI DWORD WINAPI GetShortPathNameA(LPCSTR,LPSTR,DWORD);
2173 WINBASEAPI DWORD WINAPI GetShortPathNameW(LPCWSTR,LPWSTR,DWORD);
2174 #define GetShortPathName WINELIB_NAME_AW(GetShortPathName)
2175 WINBASEAPI VOID WINAPI GetStartupInfoA(LPSTARTUPINFOA);
2176 WINBASEAPI VOID WINAPI GetStartupInfoW(LPSTARTUPINFOW);
2177 #define GetStartupInfo WINELIB_NAME_AW(GetStartupInfo)
2178 WINBASEAPI HANDLE WINAPI GetStdHandle(DWORD);
2179 WINBASEAPI UINT WINAPI GetSystemDirectoryA(LPSTR,UINT);
2180 WINBASEAPI UINT WINAPI GetSystemDirectoryW(LPWSTR,UINT);
2181 #define GetSystemDirectory WINELIB_NAME_AW(GetSystemDirectory)
2182 WINBASEAPI UINT WINAPI GetSystemFirmwareTable(DWORD,DWORD,PVOID,DWORD);
2183 WINBASEAPI VOID WINAPI GetSystemInfo(LPSYSTEM_INFO);
2184 WINBASEAPI BOOL WINAPI GetSystemPowerStatus(LPSYSTEM_POWER_STATUS);
2185 WINBASEAPI BOOL WINAPI GetSystemRegistryQuota(PDWORD,PDWORD);
2186 WINBASEAPI VOID WINAPI GetSystemTime(LPSYSTEMTIME);
2187 WINBASEAPI BOOL WINAPI GetSystemTimeAdjustment(PDWORD,PDWORD,PBOOL);
2188 WINBASEAPI VOID WINAPI GetSystemTimeAsFileTime(LPFILETIME);
2189 WINBASEAPI VOID WINAPI GetSystemTimePreciseAsFileTime(LPFILETIME);
2190 WINBASEAPI UINT WINAPI GetSystemWindowsDirectoryA(LPSTR,UINT);
2191 WINBASEAPI UINT WINAPI GetSystemWindowsDirectoryW(LPWSTR,UINT);
2192 #define GetSystemWindowsDirectory WINELIB_NAME_AW(GetSystemWindowsDirectory)
2193 WINBASEAPI UINT WINAPI GetSystemWow64DirectoryA(LPSTR,UINT);
2194 WINBASEAPI UINT WINAPI GetSystemWow64DirectoryW(LPWSTR,UINT);
2195 #define GetSystemWow64Directory WINELIB_NAME_AW(GetSystemWow64Directory)
2196 WINBASEAPI DWORD WINAPI GetTapeParameters(HANDLE,DWORD,LPDWORD,LPVOID);
2197 WINBASEAPI DWORD WINAPI GetTapePosition(HANDLE,DWORD,LPDWORD,LPDWORD,LPDWORD);
2198 WINBASEAPI DWORD WINAPI GetTapeStatus(HANDLE);
2199 WINBASEAPI UINT WINAPI GetTempFileNameA(LPCSTR,LPCSTR,UINT,LPSTR);
2200 WINBASEAPI UINT WINAPI GetTempFileNameW(LPCWSTR,LPCWSTR,UINT,LPWSTR);
2201 #define GetTempFileName WINELIB_NAME_AW(GetTempFileName)
2202 WINBASEAPI DWORD WINAPI GetTempPathA(DWORD,LPSTR);
2203 WINBASEAPI DWORD WINAPI GetTempPathW(DWORD,LPWSTR);
2204 #define GetTempPath WINELIB_NAME_AW(GetTempPath)
2205 WINBASEAPI DWORD WINAPI GetThreadId(HANDLE);
2206 WINBASEAPI BOOL WINAPI GetThreadIOPendingFlag(HANDLE,PBOOL);
2207 WINBASEAPI DWORD WINAPI GetTickCount(void);
2208 WINBASEAPI ULONGLONG WINAPI GetTickCount64(void);
2209 WINBASEAPI DWORD WINAPI GetTimeZoneInformation(LPTIME_ZONE_INFORMATION);
2210 WINBASEAPI BOOL WINAPI GetThreadContext(HANDLE,CONTEXT *);
2211 WINBASEAPI DWORD WINAPI GetThreadErrorMode(void);
2212 WINBASEAPI INT WINAPI GetThreadPriority(HANDLE);
2213 WINBASEAPI BOOL WINAPI GetThreadPriorityBoost(HANDLE,PBOOL);
2214 WINBASEAPI BOOL WINAPI GetThreadSelectorEntry(HANDLE,DWORD,LPLDT_ENTRY);
2215 WINBASEAPI BOOL WINAPI GetThreadTimes(HANDLE,LPFILETIME,LPFILETIME,LPFILETIME,LPFILETIME);
2216 WINADVAPI BOOL WINAPI GetTokenInformation(HANDLE,TOKEN_INFORMATION_CLASS,LPVOID,DWORD,LPDWORD);
2217 WINADVAPI BOOL WINAPI GetUserNameA(LPSTR,LPDWORD);
2218 WINADVAPI BOOL WINAPI GetUserNameW(LPWSTR,LPDWORD);
2219 #define GetUserName WINELIB_NAME_AW(GetUserName)
2220 WINBASEAPI DWORD WINAPI GetVersion(void);
2221 WINBASEAPI BOOL WINAPI GetVersionExA(OSVERSIONINFOA*);
2222 WINBASEAPI BOOL WINAPI GetVersionExW(OSVERSIONINFOW*);
2223 #define GetVersionEx WINELIB_NAME_AW(GetVersionEx)
2224 WINBASEAPI BOOL WINAPI GetVolumeInformationA(LPCSTR,LPSTR,DWORD,LPDWORD,LPDWORD,LPDWORD,LPSTR,DWORD);
2225 WINBASEAPI BOOL WINAPI GetVolumeInformationW(LPCWSTR,LPWSTR,DWORD,LPDWORD,LPDWORD,LPDWORD,LPWSTR,DWORD);
2226 #define GetVolumeInformation WINELIB_NAME_AW(GetVolumeInformation)
2227 WINBASEAPI BOOL WINAPI GetVolumeInformationByHandleW(HANDLE,WCHAR *,DWORD,DWORD *,DWORD *,DWORD *,WCHAR *,DWORD);
2228 WINBASEAPI BOOL WINAPI GetVolumeNameForVolumeMountPointA(LPCSTR,LPSTR,DWORD);
2229 WINBASEAPI BOOL WINAPI GetVolumeNameForVolumeMountPointW(LPCWSTR,LPWSTR,DWORD);
2230 #define GetVolumeNameForVolumeMountPoint WINELIB_NAME_AW(GetVolumeNameForVolumeMountPoint)
2231 WINBASEAPI BOOL WINAPI GetVolumePathNameA(LPCSTR,LPSTR,DWORD);
2232 WINBASEAPI BOOL WINAPI GetVolumePathNameW(LPCWSTR,LPWSTR,DWORD);
2233 #define GetVolumePathName WINELIB_NAME_AW(GetVolumePathName)
2234 WINBASEAPI BOOL WINAPI GetVolumePathNamesForVolumeNameA(LPCSTR,LPSTR,DWORD,PDWORD);
2235 WINBASEAPI BOOL WINAPI GetVolumePathNamesForVolumeNameW(LPCWSTR,LPWSTR,DWORD,PDWORD);
2236 #define GetVolumePathNamesForVolumeName WINELIB_NAME_AW(GetVolumePathNamesForVolumeName)
2237 WINBASEAPI UINT WINAPI GetWindowsDirectoryA(LPSTR,UINT);
2238 WINBASEAPI UINT WINAPI GetWindowsDirectoryW(LPWSTR,UINT);
2239 #define GetWindowsDirectory WINELIB_NAME_AW(GetWindowsDirectory)
2240 WINBASEAPI UINT WINAPI GetWriteWatch(DWORD,LPVOID,SIZE_T,LPVOID*,ULONG_PTR*,ULONG*);
2241 WINBASEAPI ATOM WINAPI GlobalAddAtomA(LPCSTR);
2242 WINBASEAPI ATOM WINAPI GlobalAddAtomW(LPCWSTR);
2243 #define GlobalAddAtom WINELIB_NAME_AW(GlobalAddAtom)
2244 WINBASEAPI HGLOBAL WINAPI GlobalAlloc(UINT,SIZE_T) __WINE_ALLOC_SIZE(2);
2245 WINBASEAPI SIZE_T WINAPI GlobalCompact(DWORD);
2246 WINBASEAPI ATOM WINAPI GlobalDeleteAtom(ATOM);
2247 WINBASEAPI ATOM WINAPI GlobalFindAtomA(LPCSTR);
2248 WINBASEAPI ATOM WINAPI GlobalFindAtomW(LPCWSTR);
2249 #define GlobalFindAtom WINELIB_NAME_AW(GlobalFindAtom)
2250 WINBASEAPI VOID WINAPI GlobalFix(HGLOBAL);
2251 WINBASEAPI UINT WINAPI GlobalFlags(HGLOBAL);
2252 WINBASEAPI HGLOBAL WINAPI GlobalFree(HGLOBAL);
2253 WINBASEAPI UINT WINAPI GlobalGetAtomNameA(ATOM,LPSTR,INT);
2254 WINBASEAPI UINT WINAPI GlobalGetAtomNameW(ATOM,LPWSTR,INT);
2255 #define GlobalGetAtomName WINELIB_NAME_AW(GlobalGetAtomName)
2256 WINBASEAPI HGLOBAL WINAPI GlobalHandle(LPCVOID);
2257 WINBASEAPI LPVOID WINAPI GlobalLock(HGLOBAL);
2258 WINBASEAPI VOID WINAPI GlobalMemoryStatus(LPMEMORYSTATUS);
2259 WINBASEAPI BOOL WINAPI GlobalMemoryStatusEx(LPMEMORYSTATUSEX);
2260 WINBASEAPI HGLOBAL WINAPI GlobalReAlloc(HGLOBAL,SIZE_T,UINT) __WINE_ALLOC_SIZE(2);
2261 WINBASEAPI SIZE_T WINAPI GlobalSize(HGLOBAL);
2262 WINBASEAPI VOID WINAPI GlobalUnfix(HGLOBAL);
2263 WINBASEAPI BOOL WINAPI GlobalUnlock(HGLOBAL);
2264 WINBASEAPI BOOL WINAPI GlobalUnWire(HGLOBAL);
2265 WINBASEAPI LPVOID WINAPI GlobalWire(HGLOBAL);
2266 #define HasOverlappedIoCompleted(lpOverlapped) ((lpOverlapped)->Internal != STATUS_PENDING)
2267 WINBASEAPI LPVOID WINAPI HeapAlloc(HANDLE,DWORD,SIZE_T) __WINE_ALLOC_SIZE(3);
2268 WINBASEAPI SIZE_T WINAPI HeapCompact(HANDLE,DWORD);
2269 WINBASEAPI HANDLE WINAPI HeapCreate(DWORD,SIZE_T,SIZE_T);
2270 WINBASEAPI BOOL WINAPI HeapDestroy(HANDLE);
2271 WINBASEAPI BOOL WINAPI HeapFree(HANDLE,DWORD,LPVOID);
2272 WINBASEAPI BOOL WINAPI HeapLock(HANDLE);
2273 WINBASEAPI LPVOID WINAPI HeapReAlloc(HANDLE,DWORD,LPVOID,SIZE_T) __WINE_ALLOC_SIZE(4);
2274 WINBASEAPI BOOL WINAPI HeapQueryInformation(HANDLE,HEAP_INFORMATION_CLASS,PVOID,SIZE_T,PSIZE_T);
2275 WINBASEAPI BOOL WINAPI HeapSetInformation(HANDLE,HEAP_INFORMATION_CLASS,PVOID,SIZE_T);
2276 WINBASEAPI SIZE_T WINAPI HeapSize(HANDLE,DWORD,LPCVOID);
2277 WINBASEAPI BOOL WINAPI HeapUnlock(HANDLE);
2278 WINBASEAPI BOOL WINAPI HeapValidate(HANDLE,DWORD,LPCVOID);
2279 WINBASEAPI BOOL WINAPI HeapWalk(HANDLE,LPPROCESS_HEAP_ENTRY);
2280 WINBASEAPI BOOL WINAPI InitAtomTable(DWORD);
2281 WINADVAPI BOOL WINAPI InitializeAcl(PACL,DWORD,DWORD);
2282 WINBASEAPI VOID WINAPI InitializeConditionVariable(PCONDITION_VARIABLE);
2283 WINBASEAPI void WINAPI InitializeCriticalSection(CRITICAL_SECTION *lpCrit);
2284 WINBASEAPI BOOL WINAPI InitializeCriticalSectionAndSpinCount(CRITICAL_SECTION *,DWORD);
2285 WINBASEAPI BOOL WINAPI InitializeCriticalSectionEx(CRITICAL_SECTION *,DWORD,DWORD);
2286 WINBASEAPI BOOL WINAPI InitializeProcThreadAttributeList(struct _PROC_THREAD_ATTRIBUTE_LIST*,DWORD,DWORD,SIZE_T*);
2287 WINADVAPI BOOL WINAPI InitializeSecurityDescriptor(PSECURITY_DESCRIPTOR,DWORD);
2288 WINADVAPI BOOL WINAPI InitializeSid(PSID,PSID_IDENTIFIER_AUTHORITY,BYTE);
2289 WINBASEAPI VOID WINAPI InitializeSListHead(PSLIST_HEADER);
2290 WINBASEAPI VOID WINAPI InitializeSRWLock(PSRWLOCK);
2291 WINBASEAPI BOOL WINAPI InitOnceBeginInitialize(PINIT_ONCE, DWORD, PBOOL, PVOID*);
2292 WINBASEAPI BOOL WINAPI InitOnceComplete(PINIT_ONCE, DWORD, PVOID);
2293 WINBASEAPI BOOL WINAPI InitOnceExecuteOnce(PINIT_ONCE,PINIT_ONCE_FN,PVOID,PVOID*);
2294 WINBASEAPI VOID WINAPI InitOnceInitialize(PINIT_ONCE);
2295 WINBASEAPI PSLIST_ENTRY WINAPI InterlockedFlushSList(PSLIST_HEADER);
2296 WINBASEAPI PSLIST_ENTRY WINAPI InterlockedPopEntrySList(PSLIST_HEADER);
2297 WINBASEAPI PSLIST_ENTRY WINAPI InterlockedPushEntrySList(PSLIST_HEADER, PSLIST_ENTRY);
2298 WINBASEAPI BOOL WINAPI IsBadCodePtr(FARPROC);
2299 WINBASEAPI BOOL WINAPI IsBadHugeReadPtr(LPCVOID,UINT_PTR);
2300 WINBASEAPI BOOL WINAPI IsBadHugeWritePtr(LPVOID,UINT_PTR);
2301 WINBASEAPI BOOL WINAPI IsBadReadPtr(LPCVOID,UINT_PTR);
2302 WINBASEAPI BOOL WINAPI IsBadStringPtrA(LPCSTR,UINT_PTR);
2303 WINBASEAPI BOOL WINAPI IsBadStringPtrW(LPCWSTR,UINT_PTR);
2304 #define IsBadStringPtr WINELIB_NAME_AW(IsBadStringPtr)
2305 WINBASEAPI BOOL WINAPI IsBadWritePtr(LPVOID,UINT_PTR);
2306 WINBASEAPI BOOL WINAPI IsDebuggerPresent(void);
2307 WINBASEAPI BOOL WINAPI IsSystemResumeAutomatic(void);
2308 WINADVAPI BOOL WINAPI IsTextUnicode(LPCVOID,INT,LPINT);
2309 WINADVAPI BOOL WINAPI IsTokenRestricted(HANDLE);
2310 WINADVAPI BOOL WINAPI IsValidAcl(PACL);
2311 WINADVAPI BOOL WINAPI IsValidSecurityDescriptor(PSECURITY_DESCRIPTOR);
2312 WINADVAPI BOOL WINAPI IsValidSid(PSID);
2313 WINADVAPI BOOL WINAPI IsWellKnownSid(PSID,WELL_KNOWN_SID_TYPE);
2314 WINBASEAPI BOOL WINAPI IsWow64Process(HANDLE,PBOOL);
2315 WINADVAPI BOOL WINAPI ImpersonateLoggedOnUser(HANDLE);
2316 WINADVAPI BOOL WINAPI ImpersonateNamedPipeClient(HANDLE);
2317 WINADVAPI BOOL WINAPI ImpersonateSelf(SECURITY_IMPERSONATION_LEVEL);
2318 WINBASEAPI BOOL WINAPI IsProcessInJob(HANDLE,HANDLE,PBOOL);
2319 WINBASEAPI BOOL WINAPI IsProcessorFeaturePresent(DWORD);
2320 WINBASEAPI void WINAPI LeaveCriticalSection(CRITICAL_SECTION *lpCrit);
2321 WINBASEAPI HMODULE WINAPI LoadLibraryA(LPCSTR);
2322 WINBASEAPI HMODULE WINAPI LoadLibraryW(LPCWSTR);
2323 #define LoadLibrary WINELIB_NAME_AW(LoadLibrary)
2324 WINBASEAPI HMODULE WINAPI LoadLibraryExA(LPCSTR,HANDLE,DWORD);
2325 WINBASEAPI HMODULE WINAPI LoadLibraryExW(LPCWSTR,HANDLE,DWORD);
2326 #define LoadLibraryEx WINELIB_NAME_AW(LoadLibraryEx)
2327 WINBASEAPI DWORD WINAPI LoadModule(LPCSTR,LPVOID);
2328 WINBASEAPI HGLOBAL WINAPI LoadResource(HMODULE,HRSRC);
2329 WINBASEAPI HLOCAL WINAPI LocalAlloc(UINT,SIZE_T) __WINE_ALLOC_SIZE(2);
2330 WINBASEAPI SIZE_T WINAPI LocalCompact(UINT);
2331 WINBASEAPI UINT WINAPI LocalFlags(HLOCAL);
2332 WINBASEAPI HLOCAL WINAPI LocalFree(HLOCAL);
2333 WINBASEAPI HLOCAL WINAPI LocalHandle(LPCVOID);
2334 WINBASEAPI LPVOID WINAPI LocalLock(HLOCAL);
2335 WINBASEAPI HLOCAL WINAPI LocalReAlloc(HLOCAL,SIZE_T,UINT) __WINE_ALLOC_SIZE(2);
2336 WINBASEAPI SIZE_T WINAPI LocalShrink(HGLOBAL,UINT);
2337 WINBASEAPI SIZE_T WINAPI LocalSize(HLOCAL);
2338 WINBASEAPI BOOL WINAPI LocalUnlock(HLOCAL);
2339 WINBASEAPI LPVOID WINAPI LockResource(HGLOBAL);
2340 #define LockSegment(handle) GlobalFix((HANDLE)(handle))
2341 WINADVAPI BOOL WINAPI LookupAccountNameA(LPCSTR,LPCSTR,PSID,LPDWORD,LPSTR,LPDWORD,PSID_NAME_USE);
2342 WINADVAPI BOOL WINAPI LookupAccountNameW(LPCWSTR,LPCWSTR,PSID,LPDWORD,LPWSTR,LPDWORD,PSID_NAME_USE);
2343 #define LookupAccountName WINELIB_NAME_AW(LookupAccountName)
2344 WINADVAPI BOOL WINAPI LookupAccountSidA(LPCSTR,PSID,LPSTR,LPDWORD,LPSTR,LPDWORD,PSID_NAME_USE);
2345 WINADVAPI BOOL WINAPI LookupAccountSidW(LPCWSTR,PSID,LPWSTR,LPDWORD,LPWSTR,LPDWORD,PSID_NAME_USE);
2346 #define LookupAccountSid WINELIB_NAME_AW(LookupAccountSid)
2347 WINBASEAPI BOOL WINAPI LocalFileTimeToFileTime(const FILETIME*,LPFILETIME);
2348 WINBASEAPI BOOL WINAPI LockFile(HANDLE,DWORD,DWORD,DWORD,DWORD);
2349 WINBASEAPI BOOL WINAPI LockFileEx(HANDLE, DWORD, DWORD, DWORD, DWORD, LPOVERLAPPED);
2350 WINADVAPI BOOL WINAPI LogonUserA(LPCSTR,LPCSTR,LPCSTR,DWORD,DWORD,PHANDLE);
2351 WINADVAPI BOOL WINAPI LogonUserW(LPCWSTR,LPCWSTR,LPCWSTR,DWORD,DWORD,PHANDLE);
2352 #define LogonUser WINELIB_NAME_AW(LogonUser)
2353 WINADVAPI BOOL WINAPI LookupPrivilegeDisplayNameA(LPCSTR,LPCSTR,LPSTR,LPDWORD,LPDWORD);
2354 WINADVAPI BOOL WINAPI LookupPrivilegeDisplayNameW(LPCWSTR,LPCWSTR,LPWSTR,LPDWORD,LPDWORD);
2355 #define LookupPrivilegeDisplayName WINELIB_NAME_AW(LookupPrivilegeDisplayName)
2356 WINADVAPI BOOL WINAPI LookupPrivilegeNameA(LPCSTR,PLUID,LPSTR,LPDWORD);
2357 WINADVAPI BOOL WINAPI LookupPrivilegeNameW(LPCWSTR,PLUID,LPWSTR,LPDWORD);
2358 #define LookupPrivilegeName WINELIB_NAME_AW(LookupPrivilegeName)
2359 WINADVAPI BOOL WINAPI LookupPrivilegeValueA(LPCSTR,LPCSTR,PLUID);
2360 WINADVAPI BOOL WINAPI LookupPrivilegeValueW(LPCWSTR,LPCWSTR,PLUID);
2361 #define LookupPrivilegeValue WINELIB_NAME_AW(LookupPrivilegeValue)
2362 WINADVAPI BOOL WINAPI MakeAbsoluteSD(PSECURITY_DESCRIPTOR,PSECURITY_DESCRIPTOR,LPDWORD,PACL,LPDWORD,PACL,LPDWORD,PSID,LPDWORD,PSID,LPDWORD);
2363 WINBASEAPI void WINAPI MakeCriticalSectionGlobal(CRITICAL_SECTION *lpCrit);
2364 #define MakeProcInstance(proc,inst) (proc)
2365 WINADVAPI BOOL WINAPI MakeSelfRelativeSD(PSECURITY_DESCRIPTOR,PSECURITY_DESCRIPTOR,LPDWORD);
2366 WINADVAPI VOID WINAPI MapGenericMask(PDWORD,PGENERIC_MAPPING);
2367 WINBASEAPI HMODULE WINAPI MapHModuleSL(WORD);
2368 WINBASEAPI WORD WINAPI MapHModuleLS(HMODULE);
2369 WINBASEAPI LPVOID WINAPI MapViewOfFile(HANDLE,DWORD,DWORD,DWORD,SIZE_T);
2370 WINBASEAPI LPVOID WINAPI MapViewOfFileEx(HANDLE,DWORD,DWORD,DWORD,SIZE_T,LPVOID);
2371 WINBASEAPI BOOL WINAPI MoveFileA(LPCSTR,LPCSTR);
2372 WINBASEAPI BOOL WINAPI MoveFileW(LPCWSTR,LPCWSTR);
2373 #define MoveFile WINELIB_NAME_AW(MoveFile)
2374 WINBASEAPI BOOL WINAPI MoveFileExA(LPCSTR,LPCSTR,DWORD);
2375 WINBASEAPI BOOL WINAPI MoveFileExW(LPCWSTR,LPCWSTR,DWORD);
2376 #define MoveFileEx WINELIB_NAME_AW(MoveFileEx)
2377 WINBASEAPI BOOL WINAPI MoveFileWithProgressA(LPCSTR,LPCSTR,LPPROGRESS_ROUTINE,LPVOID,DWORD);
2378 WINBASEAPI BOOL WINAPI MoveFileWithProgressW(LPCWSTR,LPCWSTR,LPPROGRESS_ROUTINE,LPVOID,DWORD);
2379 #define MoveFileWithProgress WINELIB_NAME_AW(MoveFileWithProgress)
2380 WINBASEAPI INT WINAPI MulDiv(INT,INT,INT);
2381 WINBASEAPI BOOL WINAPI NeedCurrentDirectoryForExePathA(LPCSTR);
2382 WINBASEAPI BOOL WINAPI NeedCurrentDirectoryForExePathW(LPCWSTR);
2383 #define NeedCurrentDirectoryForExePath WINELIB_NAME_AW(NeedCurrentDirectoryForExePath)
2384 WINADVAPI BOOL WINAPI NotifyChangeEventLog(HANDLE,HANDLE);
2385 WINADVAPI BOOL WINAPI ObjectCloseAuditAlarmA(LPCSTR,LPVOID,BOOL);
2386 WINADVAPI BOOL WINAPI ObjectCloseAuditAlarmW(LPCWSTR,LPVOID,BOOL);
2387 #define ObjectCloseAuditAlarm WINELIB_NAME_AW(ObjectCloseAuditAlarm)
2388 WINADVAPI BOOL WINAPI ObjectDeleteAuditAlarmA(LPCSTR,LPVOID,BOOL);
2389 WINADVAPI BOOL WINAPI ObjectDeleteAuditAlarmW(LPCWSTR,LPVOID,BOOL);
2390 #define ObjectDeleteAuditAlarm WINELIB_NAME_AW(ObjectDeleteAuditAlarm)
2391 WINADVAPI BOOL WINAPI ObjectOpenAuditAlarmA(LPCSTR,LPVOID,LPSTR,LPSTR,PSECURITY_DESCRIPTOR,HANDLE,DWORD,DWORD,PPRIVILEGE_SET,BOOL,BOOL,LPBOOL);
2392 WINADVAPI BOOL WINAPI ObjectOpenAuditAlarmW(LPCWSTR,LPVOID,LPWSTR,LPWSTR,PSECURITY_DESCRIPTOR,HANDLE,DWORD,DWORD,PPRIVILEGE_SET,BOOL,BOOL,LPBOOL);
2393 #define ObjectOpenAuditAlarm WINELIB_NAME_AW(ObjectOpenAuditAlarm)
2394 WINADVAPI BOOL WINAPI ObjectPrivilegeAuditAlarmA(LPCSTR,LPVOID,HANDLE,DWORD,PPRIVILEGE_SET,BOOL);
2395 WINADVAPI BOOL WINAPI ObjectPrivilegeAuditAlarmW(LPCWSTR,LPVOID,HANDLE,DWORD,PPRIVILEGE_SET,BOOL);
2396 #define ObjectPrivilegeAuditAlarm WINELIB_NAME_AW(ObjectPrivilegeAuditAlarm)
2397 WINADVAPI HANDLE WINAPI OpenBackupEventLogA(LPCSTR,LPCSTR);
2398 WINADVAPI HANDLE WINAPI OpenBackupEventLogW(LPCWSTR,LPCWSTR);
2399 #define OpenBackupEventLog WINELIB_NAME_AW(OpenBackupEventLog)
2400 WINADVAPI DWORD WINAPI OpenEncryptedFileRawA(LPCSTR,ULONG,PVOID*);
2401 WINADVAPI DWORD WINAPI OpenEncryptedFileRawW(LPCWSTR,ULONG,PVOID*);
2402 #define OpenEncryptedFileRaw WINELIB_NAME_AW(OpenEncryptedFileRaw)
2403 WINBASEAPI HANDLE WINAPI OpenEventA(DWORD,BOOL,LPCSTR);
2404 WINBASEAPI HANDLE WINAPI OpenEventW(DWORD,BOOL,LPCWSTR);
2405 #define OpenEvent WINELIB_NAME_AW(OpenEvent)
2406 WINADVAPI HANDLE WINAPI OpenEventLogA(LPCSTR,LPCSTR);
2407 WINADVAPI HANDLE WINAPI OpenEventLogW(LPCWSTR,LPCWSTR);
2408 #define OpenEventLog WINELIB_NAME_AW(OpenEventLog)
2409 WINBASEAPI HFILE WINAPI OpenFile(LPCSTR,OFSTRUCT*,UINT);
2410 WINBASEAPI HANDLE WINAPI OpenFileMappingA(DWORD,BOOL,LPCSTR);
2411 WINBASEAPI HANDLE WINAPI OpenFileMappingW(DWORD,BOOL,LPCWSTR);
2412 #define OpenFileMapping WINELIB_NAME_AW(OpenFileMapping)
2413 WINBASEAPI HANDLE WINAPI OpenJobObjectA(DWORD,BOOL,LPCSTR);
2414 WINBASEAPI HANDLE WINAPI OpenJobObjectW(DWORD,BOOL,LPCWSTR);
2415 #define OpenJobObject WINELIB_NAME_AW(OpenJobObject)
2416 WINBASEAPI HANDLE WINAPI OpenMutexA(DWORD,BOOL,LPCSTR);
2417 WINBASEAPI HANDLE WINAPI OpenMutexW(DWORD,BOOL,LPCWSTR);
2418 #define OpenMutex WINELIB_NAME_AW(OpenMutex)
2419 WINBASEAPI HANDLE WINAPI OpenProcess(DWORD,BOOL,DWORD);
2420 WINADVAPI BOOL WINAPI OpenProcessToken(HANDLE,DWORD,PHANDLE);
2421 WINBASEAPI HANDLE WINAPI OpenSemaphoreA(DWORD,BOOL,LPCSTR);
2422 WINBASEAPI HANDLE WINAPI OpenSemaphoreW(DWORD,BOOL,LPCWSTR);
2423 #define OpenSemaphore WINELIB_NAME_AW(OpenSemaphore)
2424 WINBASEAPI HANDLE WINAPI OpenThread(DWORD,BOOL,DWORD);
2425 WINADVAPI BOOL WINAPI OpenThreadToken(HANDLE,DWORD,BOOL,PHANDLE);
2426 WINBASEAPI HANDLE WINAPI OpenWaitableTimerA(DWORD,BOOL,LPCSTR);
2427 WINBASEAPI HANDLE WINAPI OpenWaitableTimerW(DWORD,BOOL,LPCWSTR);
2428 #define OpenWaitableTimer WINELIB_NAME_AW(OpenWaitableTimer)
2429 WINBASEAPI VOID WINAPI OutputDebugStringA(LPCSTR);
2430 WINBASEAPI VOID WINAPI OutputDebugStringW(LPCWSTR);
2431 #define OutputDebugString WINELIB_NAME_AW(OutputDebugString)
2432 WINBASEAPI BOOL WINAPI PeekNamedPipe(HANDLE,PVOID,DWORD,PDWORD,PDWORD,PDWORD);
2433 WINBASEAPI BOOL WINAPI PostQueuedCompletionStatus(HANDLE,DWORD,ULONG_PTR,LPOVERLAPPED);
2434 WINBASEAPI DWORD WINAPI PrepareTape(HANDLE,DWORD,BOOL);
2435 WINBASEAPI BOOL WINAPI ProcessIdToSessionId(DWORD,DWORD*);
2436 WINADVAPI BOOL WINAPI PrivilegeCheck(HANDLE,PPRIVILEGE_SET,LPBOOL);
2437 WINADVAPI BOOL WINAPI PrivilegedServiceAuditAlarmA(LPCSTR,LPCSTR,HANDLE,PPRIVILEGE_SET,BOOL);
2438 WINADVAPI BOOL WINAPI PrivilegedServiceAuditAlarmW(LPCWSTR,LPCWSTR,HANDLE,PPRIVILEGE_SET,BOOL);
2439 #define PrivilegedServiceAuditAlarm WINELIB_NAME_AW(PrivilegedServiceAuditAlarm)
2440 WINBASEAPI BOOL WINAPI PulseEvent(HANDLE);
2441 WINBASEAPI BOOL WINAPI PurgeComm(HANDLE,DWORD);
2442 WINBASEAPI BOOL WINAPI QueryActCtxW(DWORD,HANDLE,PVOID,ULONG,PVOID,SIZE_T,SIZE_T *);
2443 WINBASEAPI USHORT WINAPI QueryDepthSList(PSLIST_HEADER);
2444 WINBASEAPI DWORD WINAPI QueryDosDeviceA(LPCSTR,LPSTR,DWORD);
2445 WINBASEAPI DWORD WINAPI QueryDosDeviceW(LPCWSTR,LPWSTR,DWORD);
2446 #define QueryDosDevice WINELIB_NAME_AW(QueryDosDevice)
2447 WINBASEAPI BOOL WINAPI QueryFullProcessImageNameA(HANDLE,DWORD,LPSTR,PDWORD);
2448 WINBASEAPI BOOL WINAPI QueryFullProcessImageNameW(HANDLE,DWORD,LPWSTR,PDWORD);
2449 #define QueryFullProcessImageName WINELIB_NAME_AW(QueryFullProcessImageName)
2450 WINBASEAPI BOOL WINAPI QueryInformationJobObject(HANDLE,JOBOBJECTINFOCLASS,LPVOID,DWORD,DWORD*);
2451 WINBASEAPI BOOL WINAPI QueryMemoryResourceNotification(HANDLE,PBOOL);
2452 WINBASEAPI BOOL WINAPI QueryPerformanceCounter(LARGE_INTEGER*);
2453 WINBASEAPI BOOL WINAPI QueryPerformanceFrequency(LARGE_INTEGER*);
2454 WINBASEAPI BOOL WINAPI QueryThreadCycleTime(HANDLE,PULONG64);
2455 WINBASEAPI DWORD WINAPI QueueUserAPC(PAPCFUNC,HANDLE,ULONG_PTR);
2456 WINBASEAPI BOOL WINAPI QueueUserWorkItem(LPTHREAD_START_ROUTINE,PVOID,ULONG);
2457 WINBASEAPI void WINAPI RaiseException(DWORD,DWORD,DWORD,const ULONG_PTR *);
2458 WINADVAPI BOOL WINAPI ReadEventLogA(HANDLE,DWORD,DWORD,LPVOID,DWORD,DWORD *,DWORD *);
2459 WINADVAPI BOOL WINAPI ReadEventLogW(HANDLE,DWORD,DWORD,LPVOID,DWORD,DWORD *,DWORD *);
2460 #define ReadEventLog WINELIB_NAME_AW(ReadEventLog)
2461 WINBASEAPI BOOL WINAPI ReadDirectoryChangesW(HANDLE,LPVOID,DWORD,BOOL,DWORD,LPDWORD,LPOVERLAPPED,LPOVERLAPPED_COMPLETION_ROUTINE);
2462 WINADVAPI DWORD WINAPI ReadEncryptedFileRaw(PFE_EXPORT_FUNC,PVOID,PVOID);
2463 WINBASEAPI BOOL WINAPI ReadFile(HANDLE,LPVOID,DWORD,LPDWORD,LPOVERLAPPED);
2464 WINBASEAPI BOOL WINAPI ReadFileEx(HANDLE,LPVOID,DWORD,LPOVERLAPPED,LPOVERLAPPED_COMPLETION_ROUTINE);
2465 WINBASEAPI BOOL WINAPI ReadFileScatter(HANDLE,FILE_SEGMENT_ELEMENT*,DWORD,LPDWORD,LPOVERLAPPED);
2466 WINBASEAPI BOOL WINAPI ReadProcessMemory(HANDLE,LPCVOID,LPVOID,SIZE_T,SIZE_T*);
2467 WINADVAPI HANDLE WINAPI RegisterEventSourceA(LPCSTR,LPCSTR);
2468 WINADVAPI HANDLE WINAPI RegisterEventSourceW(LPCWSTR,LPCWSTR);
2469 #define RegisterEventSource WINELIB_NAME_AW(RegisterEventSource)
2470 WINBASEAPI BOOL WINAPI RegisterWaitForSingleObject(PHANDLE,HANDLE,WAITORTIMERCALLBACK,PVOID,ULONG,ULONG);
2471 WINBASEAPI HANDLE WINAPI RegisterWaitForSingleObjectEx(HANDLE,WAITORTIMERCALLBACK,PVOID,ULONG,ULONG);
2472 WINBASEAPI VOID WINAPI ReleaseActCtx(HANDLE);
2473 WINBASEAPI BOOL WINAPI ReleaseMutex(HANDLE);
2474 WINBASEAPI BOOL WINAPI ReleaseSemaphore(HANDLE,LONG,LPLONG);
2475 WINBASEAPI VOID WINAPI ReleaseSRWLockExclusive(PSRWLOCK);
2476 WINBASEAPI VOID WINAPI ReleaseSRWLockShared(PSRWLOCK);
2477 WINBASEAPI ULONG WINAPI RemoveVectoredExceptionHandler(PVOID);
2478 WINBASEAPI BOOL WINAPI ReplaceFileA(LPCSTR,LPCSTR,LPCSTR,DWORD,LPVOID,LPVOID);
2479 WINBASEAPI BOOL WINAPI ReplaceFileW(LPCWSTR,LPCWSTR,LPCWSTR,DWORD,LPVOID,LPVOID);
2480 #define ReplaceFile WINELIB_NAME_AW(ReplaceFile)
2481 WINBASEAPI BOOL WINAPI RemoveDirectoryA(LPCSTR);
2482 WINBASEAPI BOOL WINAPI RemoveDirectoryW(LPCWSTR);
2483 #define RemoveDirectory WINELIB_NAME_AW(RemoveDirectory)
2484 WINADVAPI BOOL WINAPI ReportEventA(HANDLE,WORD,WORD,DWORD,PSID,WORD,DWORD,LPCSTR *,LPVOID);
2485 WINADVAPI BOOL WINAPI ReportEventW(HANDLE,WORD,WORD,DWORD,PSID,WORD,DWORD,LPCWSTR *,LPVOID);
2486 WINBASEAPI BOOL WINAPI RequestWakeupLatency(LATENCY_TIME latency);
2487 #define ReportEvent WINELIB_NAME_AW(ReportEvent)
2488 WINBASEAPI BOOL WINAPI ResetEvent(HANDLE);
2489 WINBASEAPI UINT WINAPI ResetWriteWatch(LPVOID,SIZE_T);
2490 WINBASEAPI DWORD WINAPI ResumeThread(HANDLE);
2491 WINADVAPI BOOL WINAPI RevertToSelf(void);
2492 WINBASEAPI DWORD WINAPI SearchPathA(LPCSTR,LPCSTR,LPCSTR,DWORD,LPSTR,LPSTR*);
2493 WINBASEAPI DWORD WINAPI SearchPathW(LPCWSTR,LPCWSTR,LPCWSTR,DWORD,LPWSTR,LPWSTR*);
2494 #define SearchPath WINELIB_NAME_AW(SearchPath)
2495 WINADVAPI BOOL WINAPI SetAclInformation(PACL,LPVOID,DWORD,ACL_INFORMATION_CLASS);
2496 WINBASEAPI BOOL WINAPI SetCommConfig(HANDLE,LPCOMMCONFIG,DWORD);
2497 WINBASEAPI BOOL WINAPI SetCommBreak(HANDLE);
2498 WINBASEAPI BOOL WINAPI SetCommMask(HANDLE,DWORD);
2499 WINBASEAPI BOOL WINAPI SetCommState(HANDLE,LPDCB);
2500 WINBASEAPI BOOL WINAPI SetCommTimeouts(HANDLE,LPCOMMTIMEOUTS);
2501 WINBASEAPI BOOL WINAPI SetComputerNameA(LPCSTR);
2502 WINBASEAPI BOOL WINAPI SetComputerNameW(LPCWSTR);
2503 #define SetComputerName WINELIB_NAME_AW(SetComputerName)
2504 WINBASEAPI BOOL WINAPI SetComputerNameExA(COMPUTER_NAME_FORMAT,LPCSTR);
2505 WINBASEAPI BOOL WINAPI SetComputerNameExW(COMPUTER_NAME_FORMAT,LPCWSTR);
2506 #define SetComputerNameEx WINELIB_NAME_AW(SetComputerNameEx)
2507 WINBASEAPI DWORD WINAPI SetCriticalSectionSpinCount(LPCRITICAL_SECTION,DWORD);
2508 WINBASEAPI BOOL WINAPI SetCurrentDirectoryA(LPCSTR);
2509 WINBASEAPI BOOL WINAPI SetCurrentDirectoryW(LPCWSTR);
2510 #define SetCurrentDirectory WINELIB_NAME_AW(SetCurrentDirectory)
2511 WINBASEAPI BOOL WINAPI SetDefaultCommConfigA(LPCSTR,LPCOMMCONFIG,DWORD);
2512 WINBASEAPI BOOL WINAPI SetDefaultCommConfigW(LPCWSTR,LPCOMMCONFIG,DWORD);
2513 #define SetDefaultCommConfig WINELIB_NAME_AW(SetDefaultCommConfig)
2514 WINBASEAPI BOOL WINAPI SetDllDirectoryA(LPCSTR);
2515 WINBASEAPI BOOL WINAPI SetDllDirectoryW(LPCWSTR);
2516 #define SetDllDirectory WINELIB_NAME_AW(SetDllDirectory)
2517 WINBASEAPI BOOL WINAPI SetDynamicTimeZoneInformation(const DYNAMIC_TIME_ZONE_INFORMATION*);
2518 WINBASEAPI BOOL WINAPI SetEndOfFile(HANDLE);
2519 WINBASEAPI BOOL WINAPI SetEnvironmentVariableA(LPCSTR,LPCSTR);
2520 WINBASEAPI BOOL WINAPI SetEnvironmentVariableW(LPCWSTR,LPCWSTR);
2521 #define SetEnvironmentVariable WINELIB_NAME_AW(SetEnvironmentVariable)
2522 WINBASEAPI UINT WINAPI SetErrorMode(UINT);
2523 WINBASEAPI BOOL WINAPI SetEvent(HANDLE);
2524 WINBASEAPI VOID WINAPI SetFileApisToANSI(void);
2525 WINBASEAPI VOID WINAPI SetFileApisToOEM(void);
2526 WINBASEAPI BOOL WINAPI SetFileAttributesA(LPCSTR,DWORD);
2527 WINBASEAPI BOOL WINAPI SetFileAttributesW(LPCWSTR,DWORD);
2528 #define SetFileAttributes WINELIB_NAME_AW(SetFileAttributes)
2529 WINBASEAPI BOOL WINAPI SetFileCompletionNotificationModes(HANDLE,UCHAR);
2530 WINBASEAPI BOOL WINAPI SetFileInformationByHandle(HANDLE,FILE_INFO_BY_HANDLE_CLASS,LPVOID,DWORD);
2531 WINBASEAPI DWORD WINAPI SetFilePointer(HANDLE,LONG,LPLONG,DWORD);
2532 WINBASEAPI BOOL WINAPI SetFilePointerEx(HANDLE,LARGE_INTEGER,LARGE_INTEGER*,DWORD);
2533 WINADVAPI BOOL WINAPI SetFileSecurityA(LPCSTR,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR);
2534 WINADVAPI BOOL WINAPI SetFileSecurityW(LPCWSTR,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR);
2535 #define SetFileSecurity WINELIB_NAME_AW(SetFileSecurity)
2536 WINBASEAPI BOOL WINAPI SetFileTime(HANDLE,const FILETIME*,const FILETIME*,const FILETIME*);
2537 WINBASEAPI BOOL WINAPI SetFileValidData(HANDLE,LONGLONG);
2538 WINBASEAPI UINT WINAPI SetHandleCount(UINT);
2539 WINBASEAPI BOOL WINAPI SetHandleInformation(HANDLE,DWORD,DWORD);
2540 WINBASEAPI BOOL WINAPI SetInformationJobObject(HANDLE,JOBOBJECTINFOCLASS,LPVOID,DWORD);
2541 WINADVAPI BOOL WINAPI SetKernelObjectSecurity(HANDLE,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR);
2542 WINBASEAPI BOOL WINAPI SetLocalTime(const SYSTEMTIME*);
2543 WINBASEAPI BOOL WINAPI SetMailslotInfo(HANDLE,DWORD);
2544 WINBASEAPI BOOL WINAPI SetNamedPipeHandleState(HANDLE,LPDWORD,LPDWORD,LPDWORD);
2545 WINBASEAPI BOOL WINAPI SetPriorityClass(HANDLE,DWORD);
2546 WINADVAPI BOOL WINAPI SetPrivateObjectSecurity(SECURITY_INFORMATION,PSECURITY_DESCRIPTOR,PSECURITY_DESCRIPTOR*,PGENERIC_MAPPING,HANDLE);
2547 WINBASEAPI BOOL WINAPI SetProcessAffinityMask(HANDLE,DWORD_PTR);
2548 WINBASEAPI BOOL WINAPI SetProcessPriorityBoost(HANDLE,BOOL);
2549 WINBASEAPI BOOL WINAPI SetProcessShutdownParameters(DWORD,DWORD);
2550 WINBASEAPI BOOL WINAPI SetProcessWorkingSetSize(HANDLE,SIZE_T,SIZE_T);
2551 WINADVAPI BOOL WINAPI SetSecurityDescriptorControl(PSECURITY_DESCRIPTOR,SECURITY_DESCRIPTOR_CONTROL,SECURITY_DESCRIPTOR_CONTROL);
2552 WINADVAPI BOOL WINAPI SetSecurityDescriptorDacl(PSECURITY_DESCRIPTOR,BOOL,PACL,BOOL);
2553 WINADVAPI BOOL WINAPI SetSecurityDescriptorGroup(PSECURITY_DESCRIPTOR,PSID,BOOL);
2554 WINADVAPI BOOL WINAPI SetSecurityDescriptorOwner(PSECURITY_DESCRIPTOR,PSID,BOOL);
2555 WINADVAPI BOOL WINAPI SetSecurityDescriptorSacl(PSECURITY_DESCRIPTOR,BOOL,PACL,BOOL);
2556 WINBASEAPI BOOL WINAPI SetStdHandle(DWORD,HANDLE);
2557 #define SetSwapAreaSize(w) (w)
2558 WINBASEAPI BOOL WINAPI SetSystemPowerState(BOOL,BOOL);
2559 WINBASEAPI BOOL WINAPI SetSystemTime(const SYSTEMTIME*);
2560 WINBASEAPI BOOL WINAPI SetSystemTimeAdjustment(DWORD,BOOL);
2561 WINBASEAPI DWORD WINAPI SetTapeParameters(HANDLE,DWORD,LPVOID);
2562 WINBASEAPI DWORD WINAPI SetTapePosition(HANDLE,DWORD,DWORD,DWORD,DWORD,BOOL);
2563 WINBASEAPI DWORD_PTR WINAPI SetThreadAffinityMask(HANDLE,DWORD_PTR);
2564 WINBASEAPI BOOL WINAPI SetThreadContext(HANDLE,const CONTEXT *);
2565 WINBASEAPI BOOL WINAPI SetThreadErrorMode(DWORD,LPDWORD);
2566 WINBASEAPI DWORD WINAPI SetThreadExecutionState(EXECUTION_STATE);
2567 WINBASEAPI DWORD WINAPI SetThreadIdealProcessor(HANDLE,DWORD);
2568 WINBASEAPI BOOL WINAPI SetThreadPriority(HANDLE,INT);
2569 WINBASEAPI BOOL WINAPI SetThreadPriorityBoost(HANDLE,BOOL);
2570 WINADVAPI BOOL WINAPI SetThreadToken(PHANDLE,HANDLE);
2571 WINBASEAPI VOID WINAPI SetThreadpoolTimer(PTP_TIMER,FILETIME*,DWORD,DWORD);
2572 WINBASEAPI VOID WINAPI SetThreadpoolWait(PTP_WAIT,HANDLE,FILETIME *);
2573 WINBASEAPI HANDLE WINAPI SetTimerQueueTimer(HANDLE,WAITORTIMERCALLBACK,PVOID,DWORD,DWORD,BOOL);
2574 WINBASEAPI BOOL WINAPI SetTimeZoneInformation(const TIME_ZONE_INFORMATION *);
2575 WINADVAPI BOOL WINAPI SetTokenInformation(HANDLE,TOKEN_INFORMATION_CLASS,LPVOID,DWORD);
2576 WINBASEAPI LPTOP_LEVEL_EXCEPTION_FILTER WINAPI SetUnhandledExceptionFilter(LPTOP_LEVEL_EXCEPTION_FILTER);
2577 WINBASEAPI BOOL WINAPI SetVolumeLabelA(LPCSTR,LPCSTR);
2578 WINBASEAPI BOOL WINAPI SetVolumeLabelW(LPCWSTR,LPCWSTR);
2579 #define SetVolumeLabel WINELIB_NAME_AW(SetVolumeLabel)
2580 WINBASEAPI BOOL WINAPI SetVolumeMountPointA(LPCSTR,LPCSTR);
2581 WINBASEAPI BOOL WINAPI SetVolumeMountPointW(LPCWSTR,LPCWSTR);
2582 #define SetVolumeMountPoint WINELIB_NAME_AW(SetVolumeMountPoint)
2583 WINBASEAPI BOOL WINAPI SetWaitableTimer(HANDLE,const LARGE_INTEGER*,LONG,PTIMERAPCROUTINE,LPVOID,BOOL);
2584 WINBASEAPI BOOL WINAPI SetWaitableTimerEx(HANDLE,const LARGE_INTEGER*,LONG,PTIMERAPCROUTINE,LPVOID,REASON_CONTEXT*,ULONG);
2585 WINBASEAPI BOOL WINAPI SetupComm(HANDLE,DWORD,DWORD);
2586 WINBASEAPI DWORD WINAPI SignalObjectAndWait(HANDLE,HANDLE,DWORD,BOOL);
2587 WINBASEAPI DWORD WINAPI SizeofResource(HMODULE,HRSRC);
2588 WINBASEAPI VOID WINAPI Sleep(DWORD);
2589 WINBASEAPI BOOL WINAPI SleepConditionVariableCS(PCONDITION_VARIABLE,PCRITICAL_SECTION,DWORD);
2590 WINBASEAPI BOOL WINAPI SleepConditionVariableSRW(PCONDITION_VARIABLE,PSRWLOCK,DWORD,ULONG);
2591 WINBASEAPI DWORD WINAPI SleepEx(DWORD,BOOL);
2592 WINBASEAPI VOID WINAPI SubmitThreadpoolWork(PTP_WORK);
2593 WINBASEAPI DWORD WINAPI SuspendThread(HANDLE);
2594 WINBASEAPI void WINAPI SwitchToFiber(LPVOID);
2595 WINBASEAPI BOOL WINAPI SwitchToThread(void);
2596 WINBASEAPI BOOL WINAPI SystemTimeToFileTime(const SYSTEMTIME*,LPFILETIME);
2597 WINBASEAPI BOOL WINAPI SystemTimeToTzSpecificLocalTime(const TIME_ZONE_INFORMATION*,const SYSTEMTIME*,LPSYSTEMTIME);
2598 WINBASEAPI BOOL WINAPI TerminateJobObject(HANDLE,UINT);
2599 WINBASEAPI BOOL WINAPI TerminateProcess(HANDLE,DWORD);
2600 WINBASEAPI BOOL WINAPI TerminateThread(HANDLE,DWORD);
2601 WINBASEAPI DWORD WINAPI TlsAlloc(void);
2602 WINBASEAPI BOOL WINAPI TlsFree(DWORD);
2603 WINBASEAPI LPVOID WINAPI TlsGetValue(DWORD);
2604 WINBASEAPI BOOL WINAPI TlsSetValue(DWORD,LPVOID);
2605 WINBASEAPI BOOL WINAPI TransactNamedPipe(HANDLE,LPVOID,DWORD,LPVOID,DWORD,LPDWORD,LPOVERLAPPED);
2606 WINBASEAPI BOOL WINAPI TransmitCommChar(HANDLE,CHAR);
2607 WINBASEAPI BOOLEAN WINAPI TryAcquireSRWLockExclusive(PSRWLOCK);
2608 WINBASEAPI BOOLEAN WINAPI TryAcquireSRWLockShared(PSRWLOCK);
2609 WINBASEAPI BOOL WINAPI TryEnterCriticalSection(CRITICAL_SECTION *lpCrit);
2610 WINBASEAPI BOOL WINAPI TrySubmitThreadpoolCallback(PTP_SIMPLE_CALLBACK,void*,TP_CALLBACK_ENVIRON*);
2611 WINBASEAPI BOOL WINAPI TzSpecificLocalTimeToSystemTime(const TIME_ZONE_INFORMATION*,const SYSTEMTIME*,LPSYSTEMTIME);
2612 WINBASEAPI LONG WINAPI UnhandledExceptionFilter(PEXCEPTION_POINTERS);
2613 WINBASEAPI BOOL WINAPI UnlockFile(HANDLE,DWORD,DWORD,DWORD,DWORD);
2614 WINBASEAPI BOOL WINAPI UnlockFileEx(HANDLE,DWORD,DWORD,DWORD,LPOVERLAPPED);
2615 #define UnlockResource(handle) ((handle), 0)
2616 #define UnlockSegment(handle) GlobalUnfix((HANDLE)(handle))
2617 WINBASEAPI BOOL WINAPI UnmapViewOfFile(LPCVOID);
2618 WINBASEAPI HRESULT WINAPI UnregisterApplicationRestart(void);
2619 WINBASEAPI BOOL WINAPI UnregisterWait(HANDLE);
2620 WINBASEAPI BOOL WINAPI UnregisterWaitEx(HANDLE,HANDLE);
2621 WINBASEAPI BOOL WINAPI UpdateProcThreadAttribute(struct _PROC_THREAD_ATTRIBUTE_LIST*,DWORD,DWORD_PTR,void*,SIZE_T,void*,SIZE_T*);
2622 WINBASEAPI BOOL WINAPI UpdateResourceA(HANDLE,LPCSTR,LPCSTR,WORD,LPVOID,DWORD);
2623 WINBASEAPI BOOL WINAPI UpdateResourceW(HANDLE,LPCWSTR,LPCWSTR,WORD,LPVOID,DWORD);
2624 #define UpdateResource WINELIB_NAME_AW(UpdateResource)
2625 WINBASEAPI BOOL WINAPI VerifyVersionInfoA(LPOSVERSIONINFOEXA,DWORD,DWORDLONG);
2626 WINBASEAPI BOOL WINAPI VerifyVersionInfoW(LPOSVERSIONINFOEXW,DWORD,DWORDLONG);
2627 #define VerifyVersionInfo WINELIB_NAME_AW(VerifyVersionInfo)
2628 WINBASEAPI LPVOID WINAPI VirtualAlloc(LPVOID,SIZE_T,DWORD,DWORD);
2629 WINBASEAPI LPVOID WINAPI VirtualAllocEx(HANDLE,LPVOID,SIZE_T,DWORD,DWORD);
2630 WINBASEAPI BOOL WINAPI VirtualFree(LPVOID,SIZE_T,DWORD);
2631 WINBASEAPI BOOL WINAPI VirtualFreeEx(HANDLE,LPVOID,SIZE_T,DWORD);
2632 WINBASEAPI BOOL WINAPI VirtualLock(LPVOID,SIZE_T);
2633 WINBASEAPI BOOL WINAPI VirtualProtect(LPVOID,SIZE_T,DWORD,LPDWORD);
2634 WINBASEAPI BOOL WINAPI VirtualProtectEx(HANDLE,LPVOID,SIZE_T,DWORD,LPDWORD);
2635 WINBASEAPI SIZE_T WINAPI VirtualQuery(LPCVOID,PMEMORY_BASIC_INFORMATION,SIZE_T);
2636 WINBASEAPI SIZE_T WINAPI VirtualQueryEx(HANDLE,LPCVOID,PMEMORY_BASIC_INFORMATION,SIZE_T);
2637 WINBASEAPI BOOL WINAPI VirtualUnlock(LPVOID,SIZE_T);
2638 WINBASEAPI DWORD WINAPI WTSGetActiveConsoleSessionId(void);
2639 WINBASEAPI BOOL WINAPI WaitCommEvent(HANDLE,LPDWORD,LPOVERLAPPED);
2640 WINBASEAPI BOOL WINAPI WaitForDebugEvent(LPDEBUG_EVENT,DWORD);
2641 WINBASEAPI DWORD WINAPI WaitForMultipleObjects(DWORD,const HANDLE*,BOOL,DWORD);
2642 WINBASEAPI DWORD WINAPI WaitForMultipleObjectsEx(DWORD,const HANDLE*,BOOL,DWORD,BOOL);
2643 WINBASEAPI DWORD WINAPI WaitForSingleObject(HANDLE,DWORD);
2644 WINBASEAPI DWORD WINAPI WaitForSingleObjectEx(HANDLE,DWORD,BOOL);
2645 WINBASEAPI VOID WINAPI WaitForThreadpoolTimerCallbacks(PTP_TIMER,BOOL);
2646 WINBASEAPI BOOL WINAPI WaitNamedPipeA(LPCSTR,DWORD);
2647 WINBASEAPI BOOL WINAPI WaitNamedPipeW(LPCWSTR,DWORD);
2648 #define WaitNamedPipe WINELIB_NAME_AW(WaitNamedPipe)
2649 WINBASEAPI VOID WINAPI WakeAllConditionVariable(PCONDITION_VARIABLE);
2650 WINBASEAPI VOID WINAPI WakeConditionVariable(PCONDITION_VARIABLE);
2651 WINBASEAPI UINT WINAPI WinExec(LPCSTR,UINT);
2652 WINBASEAPI BOOL WINAPI Wow64DisableWow64FsRedirection(PVOID*);
2653 WINBASEAPI BOOLEAN WINAPI Wow64EnableWow64FsRedirection(BOOLEAN);
2654 WINBASEAPI BOOL WINAPI Wow64RevertWow64FsRedirection(PVOID);
2655 WINADVAPI DWORD WINAPI WriteEncryptedFileRaw(PFE_IMPORT_FUNC,PVOID,PVOID);
2656 WINBASEAPI BOOL WINAPI WriteFile(HANDLE,LPCVOID,DWORD,LPDWORD,LPOVERLAPPED);
2657 WINBASEAPI BOOL WINAPI WriteFileEx(HANDLE,LPCVOID,DWORD,LPOVERLAPPED,LPOVERLAPPED_COMPLETION_ROUTINE);
2658 WINBASEAPI BOOL WINAPI WriteFileGather(HANDLE,FILE_SEGMENT_ELEMENT*,DWORD,LPDWORD,LPOVERLAPPED);
2659 WINBASEAPI BOOL WINAPI WritePrivateProfileSectionA(LPCSTR,LPCSTR,LPCSTR);
2660 WINBASEAPI BOOL WINAPI WritePrivateProfileSectionW(LPCWSTR,LPCWSTR,LPCWSTR);
2661 #define WritePrivateProfileSection WINELIB_NAME_AW(WritePrivateProfileSection)
2662 WINBASEAPI BOOL WINAPI WritePrivateProfileStringA(LPCSTR,LPCSTR,LPCSTR,LPCSTR);
2663 WINBASEAPI BOOL WINAPI WritePrivateProfileStringW(LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR);
2664 #define WritePrivateProfileString WINELIB_NAME_AW(WritePrivateProfileString)
2665 WINBASEAPI BOOL WINAPI WritePrivateProfileStructA(LPCSTR,LPCSTR,LPVOID,UINT,LPCSTR);
2666 WINBASEAPI BOOL WINAPI WritePrivateProfileStructW(LPCWSTR,LPCWSTR,LPVOID,UINT,LPCWSTR);
2667 #define WritePrivateProfileStruct WINELIB_NAME_AW(WritePrivateProfileStruct)
2668 WINBASEAPI BOOL WINAPI WriteProcessMemory(HANDLE,LPVOID,LPCVOID,SIZE_T,SIZE_T*);
2669 WINBASEAPI BOOL WINAPI WriteProfileSectionA(LPCSTR,LPCSTR);
2670 WINBASEAPI BOOL WINAPI WriteProfileSectionW(LPCWSTR,LPCWSTR);
2671 #define WritePrivateProfileSection WINELIB_NAME_AW(WritePrivateProfileSection)
2672 WINBASEAPI BOOL WINAPI WriteProfileStringA(LPCSTR,LPCSTR,LPCSTR);
2673 WINBASEAPI BOOL WINAPI WriteProfileStringW(LPCWSTR,LPCWSTR,LPCWSTR);
2674 #define WriteProfileString WINELIB_NAME_AW(WriteProfileString)
2675 WINBASEAPI DWORD WINAPI WriteTapemark(HANDLE,DWORD,DWORD,BOOL);
2676 #define Yield()
2677 WINBASEAPI BOOL WINAPI ZombifyActCtx(HANDLE);
2679 WINBASEAPI INT WINAPI lstrcmpA(LPCSTR,LPCSTR);
2680 WINBASEAPI INT WINAPI lstrcmpW(LPCWSTR,LPCWSTR);
2681 WINBASEAPI INT WINAPI lstrcmpiA(LPCSTR,LPCSTR);
2682 WINBASEAPI INT WINAPI lstrcmpiW(LPCWSTR,LPCWSTR);
2684 #if !defined(__WINESRC__) || defined(WINE_NO_INLINE_STRING)
2686 WINBASEAPI LPSTR WINAPI lstrcatA(LPSTR,LPCSTR);
2687 WINBASEAPI LPWSTR WINAPI lstrcatW(LPWSTR,LPCWSTR);
2688 WINBASEAPI LPSTR WINAPI lstrcpyA(LPSTR,LPCSTR);
2689 WINBASEAPI LPWSTR WINAPI lstrcpyW(LPWSTR,LPCWSTR);
2690 WINBASEAPI LPSTR WINAPI lstrcpynA(LPSTR,LPCSTR,INT);
2691 WINBASEAPI LPWSTR WINAPI lstrcpynW(LPWSTR,LPCWSTR,INT);
2692 WINBASEAPI INT WINAPI lstrlenA(LPCSTR);
2693 WINBASEAPI INT WINAPI lstrlenW(LPCWSTR);
2695 #else
2697 /* string functions without the exception handler */
2699 static inline LPWSTR WINAPI lstrcpynW( LPWSTR dst, LPCWSTR src, INT n )
2701 LPWSTR d = dst;
2702 LPCWSTR s = src;
2703 UINT count = n;
2705 while ((count > 1) && *s)
2707 count--;
2708 *d++ = *s++;
2710 if (count) *d = 0;
2711 return dst;
2714 static inline LPSTR WINAPI lstrcpynA( LPSTR dst, LPCSTR src, INT n )
2716 LPSTR d = dst;
2717 LPCSTR s = src;
2718 UINT count = n;
2720 while ((count > 1) && *s)
2722 count--;
2723 *d++ = *s++;
2725 if (count) *d = 0;
2726 return dst;
2729 static inline INT WINAPI lstrlenW( LPCWSTR str )
2731 const WCHAR *s = str;
2732 while (*s) s++;
2733 return s - str;
2736 static inline INT WINAPI lstrlenA( LPCSTR str )
2738 return strlen( str );
2741 static inline LPWSTR WINAPI lstrcpyW( LPWSTR dst, LPCWSTR src )
2743 WCHAR *p = dst;
2744 while ((*p++ = *src++));
2745 return dst;
2748 static inline LPSTR WINAPI lstrcpyA( LPSTR dst, LPCSTR src )
2750 return strcpy( dst, src );
2753 static inline LPWSTR WINAPI lstrcatW( LPWSTR dst, LPCWSTR src )
2755 WCHAR *p = dst;
2756 while (*p) p++;
2757 while ((*p++ = *src++));
2758 return dst;
2761 static inline LPSTR WINAPI lstrcatA( LPSTR dst, LPCSTR src )
2763 return strcat( dst, src );
2766 /* strncpy doesn't do what you think, don't use it */
2767 #undef strncpy
2768 #define strncpy(d,s,n) error do_not_use_strncpy_use_lstrcpynA_or_memcpy_instead
2770 #endif /* !defined(__WINESRC__) || defined(WINE_NO_INLINE_STRING) */
2772 #define lstrcat WINELIB_NAME_AW(lstrcat)
2773 #define lstrcmp WINELIB_NAME_AW(lstrcmp)
2774 #define lstrcmpi WINELIB_NAME_AW(lstrcmpi)
2775 #define lstrcpy WINELIB_NAME_AW(lstrcpy)
2776 #define lstrcpyn WINELIB_NAME_AW(lstrcpyn)
2777 #define lstrlen WINELIB_NAME_AW(lstrlen)
2779 WINBASEAPI LONG WINAPI _hread(HFILE,LPVOID,LONG);
2780 WINBASEAPI LONG WINAPI _hwrite(HFILE,LPCSTR,LONG);
2781 WINBASEAPI HFILE WINAPI _lcreat(LPCSTR,INT);
2782 WINBASEAPI HFILE WINAPI _lclose(HFILE);
2783 WINBASEAPI LONG WINAPI _llseek(HFILE,LONG,INT);
2784 WINBASEAPI HFILE WINAPI _lopen(LPCSTR,INT);
2785 WINBASEAPI UINT WINAPI _lread(HFILE,LPVOID,UINT);
2786 WINBASEAPI UINT WINAPI _lwrite(HFILE,LPCSTR,UINT);
2788 /* compatibility macros */
2789 #define FillMemory RtlFillMemory
2790 #define MoveMemory RtlMoveMemory
2791 #define ZeroMemory RtlZeroMemory
2792 #define CopyMemory RtlCopyMemory
2793 #define SecureZeroMemory RtlSecureZeroMemory
2795 /* Wine internal functions */
2797 extern char * CDECL wine_get_unix_file_name( LPCWSTR dos );
2798 extern WCHAR * CDECL wine_get_dos_file_name( LPCSTR str );
2801 /* Interlocked functions */
2803 #ifdef __i386__
2804 # if defined(__GNUC__) && !defined(_NTSYSTEM_) && ((__GNUC__ > 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ >= 2)))
2806 static FORCEINLINE LONG WINAPI InterlockedCompareExchange( LONG volatile *dest, LONG xchg, LONG compare )
2808 LONG ret;
2809 __asm__ __volatile__( "lock; cmpxchgl %2,(%1)"
2810 : "=a" (ret) : "r" (dest), "r" (xchg), "0" (compare) : "memory" );
2811 return ret;
2814 static FORCEINLINE LONG WINAPI InterlockedExchange( LONG volatile *dest, LONG val )
2816 LONG ret;
2817 __asm__ __volatile__( "lock; xchgl %0,(%1)"
2818 : "=r" (ret) :"r" (dest), "0" (val) : "memory" );
2819 return ret;
2822 static FORCEINLINE LONG WINAPI InterlockedExchangeAdd( LONG volatile *dest, LONG incr )
2824 LONG ret;
2825 __asm__ __volatile__( "lock; xaddl %0,(%1)"
2826 : "=r" (ret) : "r" (dest), "0" (incr) : "memory" );
2827 return ret;
2830 static FORCEINLINE LONG WINAPI InterlockedIncrement( LONG volatile *dest )
2832 return InterlockedExchangeAdd( dest, 1 ) + 1;
2835 static FORCEINLINE LONG WINAPI InterlockedDecrement( LONG volatile *dest )
2837 return InterlockedExchangeAdd( dest, -1 ) - 1;
2840 # else /* __GNUC__ */
2842 WINBASEAPI LONG WINAPI InterlockedCompareExchange(LONG volatile*,LONG,LONG);
2843 WINBASEAPI LONG WINAPI InterlockedDecrement(LONG volatile*);
2844 WINBASEAPI LONG WINAPI InterlockedExchange(LONG volatile*,LONG);
2845 WINBASEAPI LONG WINAPI InterlockedExchangeAdd(LONG volatile*,LONG);
2846 WINBASEAPI LONG WINAPI InterlockedIncrement(LONG volatile*);
2848 # endif /* __GNUC__ */
2850 static FORCEINLINE PVOID WINAPI InterlockedCompareExchangePointer( PVOID volatile *dest, PVOID xchg, PVOID compare )
2852 return (PVOID)InterlockedCompareExchange( (LONG volatile*)dest, (LONG)xchg, (LONG)compare );
2855 static FORCEINLINE PVOID WINAPI InterlockedExchangePointer( PVOID volatile *dest, PVOID val )
2857 return (PVOID)InterlockedExchange( (LONG volatile*)dest, (LONG)val );
2860 WINBASEAPI LONGLONG WINAPI InterlockedCompareExchange64(LONGLONG volatile*,LONGLONG,LONGLONG);
2862 #elif defined(_MSC_VER)
2864 #pragma intrinsic(_InterlockedCompareExchange)
2865 #pragma intrinsic(_InterlockedCompareExchangePointer)
2866 #pragma intrinsic(_InterlockedCompareExchange64)
2867 #pragma intrinsic(_InterlockedExchange)
2868 #pragma intrinsic(_InterlockedExchangePointer)
2869 #pragma intrinsic(_InterlockedExchangeAdd)
2870 #pragma intrinsic(_InterlockedIncrement)
2871 #pragma intrinsic(_InterlockedDecrement)
2873 static FORCEINLINE LONG WINAPI InterlockedCompareExchange( LONG volatile *dest, LONG xchg, LONG compare )
2875 return _InterlockedCompareExchange( dest, xchg, compare );
2878 static FORCEINLINE PVOID WINAPI InterlockedCompareExchangePointer( PVOID volatile *dest, PVOID xchg, PVOID compare )
2880 return _InterlockedCompareExchangePointer( dest, xchg, compare );
2883 static FORCEINLINE LONGLONG WINAPI InterlockedCompareExchange64( LONGLONG volatile *dest, LONGLONG xchg, LONGLONG compare )
2885 return _InterlockedCompareExchange64( dest, xchg, compare );
2888 static FORCEINLINE LONG WINAPI InterlockedExchange( LONG volatile *dest, LONG val )
2890 return _InterlockedExchange( dest, val );
2893 static FORCEINLINE PVOID WINAPI InterlockedExchangePointer( PVOID volatile *dest, PVOID val )
2895 return _InterlockedExchangePointer( dest, val );
2898 static FORCEINLINE LONG WINAPI InterlockedExchangeAdd( LONG volatile *dest, LONG incr )
2900 return _InterlockedExchangeAdd( dest, incr );
2903 static FORCEINLINE LONG WINAPI InterlockedIncrement( LONG volatile *dest )
2905 return _InterlockedIncrement( dest );
2908 static FORCEINLINE LONG WINAPI InterlockedDecrement( LONG volatile *dest )
2910 return _InterlockedDecrement( dest );
2913 #elif defined(__GNUC__)
2915 static FORCEINLINE LONG WINAPI InterlockedCompareExchange( LONG volatile *dest, LONG xchg, LONG compare )
2917 return __sync_val_compare_and_swap( dest, compare, xchg );
2920 static FORCEINLINE PVOID WINAPI InterlockedCompareExchangePointer( PVOID volatile *dest, PVOID xchg, PVOID compare )
2922 return __sync_val_compare_and_swap( dest, compare, xchg );
2925 static FORCEINLINE LONGLONG WINAPI InterlockedCompareExchange64( LONGLONG volatile *dest, LONGLONG xchg, LONGLONG compare )
2927 return __sync_val_compare_and_swap( dest, compare, xchg );
2930 static FORCEINLINE LONG WINAPI InterlockedExchange( LONG volatile *dest, LONG val )
2932 LONG ret;
2933 #ifdef __x86_64__
2934 __asm__ __volatile__( "lock; xchgl %0,(%1)" : "=r" (ret) :"r" (dest), "0" (val) : "memory" );
2935 #else
2936 do ret = *dest; while (!__sync_bool_compare_and_swap( dest, ret, val ));
2937 #endif
2938 return ret;
2941 static FORCEINLINE PVOID WINAPI InterlockedExchangePointer( PVOID volatile *dest, PVOID val )
2943 PVOID ret;
2944 #ifdef __x86_64__
2945 __asm__ __volatile__( "lock; xchgq %0,(%1)" : "=r" (ret) :"r" (dest), "0" (val) : "memory" );
2946 #else
2947 do ret = *dest; while (!__sync_bool_compare_and_swap( dest, ret, val ));
2948 #endif
2949 return ret;
2952 static FORCEINLINE LONG WINAPI InterlockedExchangeAdd( LONG volatile *dest, LONG incr )
2954 return __sync_fetch_and_add( dest, incr );
2957 static FORCEINLINE LONG WINAPI InterlockedIncrement( LONG volatile *dest )
2959 return __sync_add_and_fetch( dest, 1 );
2962 static FORCEINLINE LONG WINAPI InterlockedDecrement( LONG volatile *dest )
2964 return __sync_add_and_fetch( dest, -1 );
2967 #endif /* __i386__ */
2969 /* A few optimizations for gcc */
2971 #if defined(__GNUC__) && !defined(__MINGW32__) && (defined(__i386__) || defined(__x86_64__)) && ((__GNUC__ > 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ >= 2)))
2973 static FORCEINLINE DWORD WINAPI GetLastError(void)
2975 DWORD ret;
2976 #ifdef __x86_64__
2977 #ifdef __APPLE__
2978 DWORD* teb;
2979 __asm__ __volatile__( ".byte 0x65\n\tmovq 0x30,%0" : "=r" (teb) );
2980 ret = teb[0x68 / sizeof(DWORD)];
2981 #else
2982 __asm__ __volatile__( ".byte 0x65\n\tmovl 0x68,%0" : "=r" (ret) );
2983 #endif
2984 #else
2985 __asm__ __volatile__( ".byte 0x64\n\tmovl 0x34,%0" : "=r" (ret) );
2986 #endif
2987 return ret;
2990 static FORCEINLINE DWORD WINAPI GetCurrentProcessId(void)
2992 DWORD ret;
2993 #ifdef __x86_64__
2994 #ifdef __APPLE__
2995 DWORD* teb;
2996 __asm__ __volatile__( ".byte 0x65\n\tmovq 0x30,%0" : "=r" (teb) );
2997 ret = teb[0x40 / sizeof(DWORD)];
2998 #else
2999 __asm__ __volatile__( ".byte 0x65\n\tmovl 0x40,%0" : "=r" (ret) );
3000 #endif
3001 #else
3002 __asm__ __volatile__( ".byte 0x64\n\tmovl 0x20,%0" : "=r" (ret) );
3003 #endif
3004 return ret;
3007 static FORCEINLINE DWORD WINAPI GetCurrentThreadId(void)
3009 DWORD ret;
3010 #ifdef __x86_64__
3011 #ifdef __APPLE__
3012 DWORD* teb;
3013 __asm__ __volatile__( ".byte 0x65\n\tmovq 0x30,%0" : "=r" (teb) );
3014 ret = teb[0x48 / sizeof(DWORD)];
3015 #else
3016 __asm__ __volatile__( ".byte 0x65\n\tmovl 0x48,%0" : "=r" (ret) );
3017 #endif
3018 #else
3019 __asm__ __volatile__( ".byte 0x64\n\tmovl 0x24,%0" : "=r" (ret) );
3020 #endif
3021 return ret;
3024 static FORCEINLINE void WINAPI SetLastError( DWORD err )
3026 #ifdef __x86_64__
3027 #ifdef __APPLE__
3028 DWORD* teb;
3029 __asm__ __volatile__( ".byte 0x65\n\tmovq 0x30,%0" : "=r" (teb) );
3030 teb[0x68 / sizeof(DWORD)] = err;
3031 #else
3032 __asm__ __volatile__( ".byte 0x65\n\tmovl %0,0x68" : : "r" (err) : "memory" );
3033 #endif
3034 #else
3035 __asm__ __volatile__( ".byte 0x64\n\tmovl %0,0x34" : : "r" (err) : "memory" );
3036 #endif
3039 static FORCEINLINE HANDLE WINAPI GetProcessHeap(void)
3041 HANDLE *pdb;
3042 #ifdef __x86_64__
3043 #ifdef __APPLE__
3044 HANDLE** teb;
3045 __asm__ __volatile__( ".byte 0x65\n\tmovq 0x30,%0" : "=r" (teb) );
3046 pdb = teb[0x60 / sizeof(HANDLE*)];
3047 #else
3048 __asm__ __volatile__( ".byte 0x65\n\tmovq 0x60,%0" : "=r" (pdb) );
3049 #endif
3050 return pdb[0x30 / sizeof(HANDLE)]; /* get dword at offset 0x30 in pdb */
3051 #else
3052 __asm__ __volatile__( ".byte 0x64\n\tmovl 0x30,%0" : "=r" (pdb) );
3053 return pdb[0x18 / sizeof(HANDLE)]; /* get dword at offset 0x18 in pdb */
3054 #endif
3057 #else /* __GNUC__ */
3059 WINBASEAPI DWORD WINAPI GetCurrentProcessId(void);
3060 WINBASEAPI DWORD WINAPI GetCurrentThreadId(void);
3061 WINBASEAPI DWORD WINAPI GetLastError(void);
3062 WINBASEAPI HANDLE WINAPI GetProcessHeap(void);
3063 WINBASEAPI VOID WINAPI SetLastError(DWORD);
3065 #endif /* __GNUC__ */
3067 #ifdef __WINESRC__
3068 #define GetCurrentProcess() ((HANDLE)~(ULONG_PTR)0)
3069 #define GetCurrentThread() ((HANDLE)~(ULONG_PTR)1)
3070 #endif
3072 #define GetCurrentProcessToken() ((HANDLE)~(ULONG_PTR)3)
3073 #define GetCurrentThreadToken() ((HANDLE)~(ULONG_PTR)4)
3074 #define GetCurrentThreadEffectiveToken() ((HANDLE)~(ULONG_PTR)5)
3076 /* WinMain(entry point) must be declared in winbase.h. */
3077 /* If this is not declared, we cannot compile many sources written with C++. */
3078 int WINAPI WinMain(HINSTANCE,HINSTANCE,LPSTR,int);
3080 #ifdef __WINESRC__
3081 /* shouldn't be here, but is nice for type checking */
3082 BOOL WINAPI DllMain( HINSTANCE hinst, DWORD reason, LPVOID reserved ) DECLSPEC_HIDDEN;
3083 #endif
3085 #ifdef __cplusplus
3087 #endif
3089 #endif /* __WINE_WINBASE_H */