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