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