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