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