2 * This file has no copyright assigned and is placed in the Public Domain.
3 * This file is part of the w64 mingw-runtime package.
4 * No warranty is given; refer to the file DISCLAIMER within this package.
9 #define WINADVAPI DECLSPEC_IMPORT
10 #define WINBASEAPI DECLSPEC_IMPORT
11 #define ZAWPROXYAPI DECLSPEC_IMPORT
17 #define DefineHandleTable(w) ((w),TRUE)
18 #define LimitEmsPages(dw)
19 #define SetSwapAreaSize(w) (w)
20 #define LockSegment(w) GlobalFix((HANDLE)(w))
21 #define UnlockSegment(w) GlobalUnfix((HANDLE)(w))
22 #define GetCurrentTime() GetTickCount()
26 #define INVALID_HANDLE_VALUE ((HANDLE)(LONG_PTR)-1)
27 #define INVALID_FILE_SIZE ((DWORD)0xffffffff)
28 #define INVALID_SET_FILE_POINTER ((DWORD)-1)
29 #define INVALID_FILE_ATTRIBUTES ((DWORD)-1)
32 #define FILE_CURRENT 1
35 #define TIME_ZONE_ID_INVALID ((DWORD)0xffffffff)
37 #define WAIT_FAILED ((DWORD)0xffffffff)
38 #define WAIT_OBJECT_0 ((STATUS_WAIT_0) + 0)
39 #define WAIT_ABANDONED ((STATUS_ABANDONED_WAIT_0) + 0)
40 #define WAIT_ABANDONED_0 ((STATUS_ABANDONED_WAIT_0) + 0)
41 #define WAIT_IO_COMPLETION STATUS_USER_APC
42 #define STILL_ACTIVE STATUS_PENDING
43 #define EXCEPTION_ACCESS_VIOLATION STATUS_ACCESS_VIOLATION
44 #define EXCEPTION_DATATYPE_MISALIGNMENT STATUS_DATATYPE_MISALIGNMENT
45 #define EXCEPTION_BREAKPOINT STATUS_BREAKPOINT
46 #define EXCEPTION_SINGLE_STEP STATUS_SINGLE_STEP
47 #define EXCEPTION_ARRAY_BOUNDS_EXCEEDED STATUS_ARRAY_BOUNDS_EXCEEDED
48 #define EXCEPTION_FLT_DENORMAL_OPERAND STATUS_FLOAT_DENORMAL_OPERAND
49 #define EXCEPTION_FLT_DIVIDE_BY_ZERO STATUS_FLOAT_DIVIDE_BY_ZERO
50 #define EXCEPTION_FLT_INEXACT_RESULT STATUS_FLOAT_INEXACT_RESULT
51 #define EXCEPTION_FLT_INVALID_OPERATION STATUS_FLOAT_INVALID_OPERATION
52 #define EXCEPTION_FLT_OVERFLOW STATUS_FLOAT_OVERFLOW
53 #define EXCEPTION_FLT_STACK_CHECK STATUS_FLOAT_STACK_CHECK
54 #define EXCEPTION_FLT_UNDERFLOW STATUS_FLOAT_UNDERFLOW
55 #define EXCEPTION_INT_DIVIDE_BY_ZERO STATUS_INTEGER_DIVIDE_BY_ZERO
56 #define EXCEPTION_INT_OVERFLOW STATUS_INTEGER_OVERFLOW
57 #define EXCEPTION_PRIV_INSTRUCTION STATUS_PRIVILEGED_INSTRUCTION
58 #define EXCEPTION_IN_PAGE_ERROR STATUS_IN_PAGE_ERROR
59 #define EXCEPTION_ILLEGAL_INSTRUCTION STATUS_ILLEGAL_INSTRUCTION
60 #define EXCEPTION_NONCONTINUABLE_EXCEPTION STATUS_NONCONTINUABLE_EXCEPTION
61 #define EXCEPTION_STACK_OVERFLOW STATUS_STACK_OVERFLOW
62 #define EXCEPTION_INVALID_DISPOSITION STATUS_INVALID_DISPOSITION
63 #define EXCEPTION_GUARD_PAGE STATUS_GUARD_PAGE_VIOLATION
64 #define EXCEPTION_INVALID_HANDLE STATUS_INVALID_HANDLE
65 #define EXCEPTION_POSSIBLE_DEADLOCK STATUS_POSSIBLE_DEADLOCK
66 #define CONTROL_C_EXIT STATUS_CONTROL_C_EXIT
67 #define MoveMemory RtlMoveMemory
68 #define CopyMemory RtlCopyMemory
69 #define FillMemory RtlFillMemory
70 #define ZeroMemory RtlZeroMemory
71 #define SecureZeroMemory RtlSecureZeroMemory
73 #define FILE_FLAG_WRITE_THROUGH 0x80000000
74 #define FILE_FLAG_OVERLAPPED 0x40000000
75 #define FILE_FLAG_NO_BUFFERING 0x20000000
76 #define FILE_FLAG_RANDOM_ACCESS 0x10000000
77 #define FILE_FLAG_SEQUENTIAL_SCAN 0x8000000
78 #define FILE_FLAG_DELETE_ON_CLOSE 0x4000000
79 #define FILE_FLAG_BACKUP_SEMANTICS 0x2000000
80 #define FILE_FLAG_POSIX_SEMANTICS 0x1000000
81 #define FILE_FLAG_OPEN_REPARSE_POINT 0x200000
82 #define FILE_FLAG_OPEN_NO_RECALL 0x100000
83 #define FILE_FLAG_FIRST_PIPE_INSTANCE 0x80000
86 #define CREATE_ALWAYS 2
87 #define OPEN_EXISTING 3
89 #define TRUNCATE_EXISTING 5
91 #define PROGRESS_CONTINUE 0
92 #define PROGRESS_CANCEL 1
93 #define PROGRESS_STOP 2
94 #define PROGRESS_QUIET 3
96 #define CALLBACK_CHUNK_FINISHED 0x0
97 #define CALLBACK_STREAM_SWITCH 0x1
99 #define COPY_FILE_FAIL_IF_EXISTS 0x1
100 #define COPY_FILE_RESTARTABLE 0x2
101 #define COPY_FILE_OPEN_SOURCE_FOR_WRITE 0x4
102 #define COPY_FILE_ALLOW_DECRYPTED_DESTINATION 0x8
104 #define REPLACEFILE_WRITE_THROUGH 0x1
105 #define REPLACEFILE_IGNORE_MERGE_ERRORS 0x2
107 #define PIPE_ACCESS_INBOUND 0x1
108 #define PIPE_ACCESS_OUTBOUND 0x2
109 #define PIPE_ACCESS_DUPLEX 0x3
111 #define PIPE_CLIENT_END 0x0
112 #define PIPE_SERVER_END 0x1
114 #define PIPE_WAIT 0x0
115 #define PIPE_NOWAIT 0x1
116 #define PIPE_READMODE_BYTE 0x0
117 #define PIPE_READMODE_MESSAGE 0x2
118 #define PIPE_TYPE_BYTE 0x0
119 #define PIPE_TYPE_MESSAGE 0x4
121 #define PIPE_UNLIMITED_INSTANCES 255
123 #define SECURITY_ANONYMOUS (SecurityAnonymous << 16)
124 #define SECURITY_IDENTIFICATION (SecurityIdentification << 16)
125 #define SECURITY_IMPERSONATION (SecurityImpersonation << 16)
126 #define SECURITY_DELEGATION (SecurityDelegation << 16)
128 #define SECURITY_CONTEXT_TRACKING 0x40000
129 #define SECURITY_EFFECTIVE_ONLY 0x80000
131 #define SECURITY_SQOS_PRESENT 0x100000
132 #define SECURITY_VALID_SQOS_FLAGS 0x1f0000
134 typedef struct _OVERLAPPED
{
136 ULONG_PTR InternalHigh
;
145 } OVERLAPPED
,*LPOVERLAPPED
;
147 typedef struct _SECURITY_ATTRIBUTES
{
149 LPVOID lpSecurityDescriptor
;
150 WINBOOL bInheritHandle
;
151 } SECURITY_ATTRIBUTES
,*PSECURITY_ATTRIBUTES
,*LPSECURITY_ATTRIBUTES
;
153 typedef struct _PROCESS_INFORMATION
{
158 } PROCESS_INFORMATION
,*PPROCESS_INFORMATION
,*LPPROCESS_INFORMATION
;
162 typedef struct _FILETIME
{
164 DWORD dwHighDateTime
;
165 } FILETIME
,*PFILETIME
,*LPFILETIME
;
168 typedef struct _SYSTEMTIME
{
177 } SYSTEMTIME
,*PSYSTEMTIME
,*LPSYSTEMTIME
;
179 typedef DWORD (WINAPI
*PTHREAD_START_ROUTINE
)(LPVOID lpThreadParameter
);
180 typedef PTHREAD_START_ROUTINE LPTHREAD_START_ROUTINE
;
181 typedef VOID (WINAPI
*PFIBER_START_ROUTINE
)(LPVOID lpFiberParameter
);
182 typedef PFIBER_START_ROUTINE LPFIBER_START_ROUTINE
;
184 typedef RTL_CRITICAL_SECTION CRITICAL_SECTION
;
185 typedef PRTL_CRITICAL_SECTION PCRITICAL_SECTION
;
186 typedef PRTL_CRITICAL_SECTION LPCRITICAL_SECTION
;
187 typedef RTL_CRITICAL_SECTION_DEBUG CRITICAL_SECTION_DEBUG
;
188 typedef PRTL_CRITICAL_SECTION_DEBUG PCRITICAL_SECTION_DEBUG
;
189 typedef PRTL_CRITICAL_SECTION_DEBUG LPCRITICAL_SECTION_DEBUG
;
191 WINBASEAPI PVOID WINAPI
EncodePointer(PVOID Ptr
);
192 WINBASEAPI PVOID WINAPI
DecodePointer(PVOID Ptr
);
193 WINBASEAPI PVOID WINAPI
EncodeSystemPointer(PVOID Ptr
);
194 WINBASEAPI PVOID WINAPI
DecodeSystemPointer(PVOID Ptr
);
197 typedef PLDT_ENTRY LPLDT_ENTRY
;
199 typedef LPVOID LPLDT_ENTRY
;
202 #define MUTEX_MODIFY_STATE MUTANT_QUERY_STATE
203 #define MUTEX_ALL_ACCESS MUTANT_ALL_ACCESS
205 #define SP_SERIALCOMM ((DWORD)0x1)
207 #define PST_UNSPECIFIED ((DWORD)0x0)
208 #define PST_RS232 ((DWORD)0x1)
209 #define PST_PARALLELPORT ((DWORD)0x2)
210 #define PST_RS422 ((DWORD)0x3)
211 #define PST_RS423 ((DWORD)0x4)
212 #define PST_RS449 ((DWORD)0x5)
213 #define PST_MODEM ((DWORD)0x6)
214 #define PST_FAX ((DWORD)0x21)
215 #define PST_SCANNER ((DWORD)0x22)
216 #define PST_NETWORK_BRIDGE ((DWORD)0x100)
217 #define PST_LAT ((DWORD)0x101)
218 #define PST_TCPIP_TELNET ((DWORD)0x102)
219 #define PST_X25 ((DWORD)0x103)
221 #define PCF_DTRDSR ((DWORD)0x1)
222 #define PCF_RTSCTS ((DWORD)0x2)
223 #define PCF_RLSD ((DWORD)0x4)
224 #define PCF_PARITY_CHECK ((DWORD)0x8)
225 #define PCF_XONXOFF ((DWORD)0x10)
226 #define PCF_SETXCHAR ((DWORD)0x20)
227 #define PCF_TOTALTIMEOUTS ((DWORD)0x40)
228 #define PCF_INTTIMEOUTS ((DWORD)0x80)
229 #define PCF_SPECIALCHARS ((DWORD)0x100)
230 #define PCF_16BITMODE ((DWORD)0x200)
232 #define SP_PARITY ((DWORD)0x1)
233 #define SP_BAUD ((DWORD)0x2)
234 #define SP_DATABITS ((DWORD)0x4)
235 #define SP_STOPBITS ((DWORD)0x8)
236 #define SP_HANDSHAKING ((DWORD)0x10)
237 #define SP_PARITY_CHECK ((DWORD)0x20)
238 #define SP_RLSD ((DWORD)0x40)
240 #define BAUD_075 ((DWORD)0x1)
241 #define BAUD_110 ((DWORD)0x2)
242 #define BAUD_134_5 ((DWORD)0x4)
243 #define BAUD_150 ((DWORD)0x8)
244 #define BAUD_300 ((DWORD)0x10)
245 #define BAUD_600 ((DWORD)0x20)
246 #define BAUD_1200 ((DWORD)0x40)
247 #define BAUD_1800 ((DWORD)0x80)
248 #define BAUD_2400 ((DWORD)0x100)
249 #define BAUD_4800 ((DWORD)0x200)
250 #define BAUD_7200 ((DWORD)0x400)
251 #define BAUD_9600 ((DWORD)0x800)
252 #define BAUD_14400 ((DWORD)0x1000)
253 #define BAUD_19200 ((DWORD)0x2000)
254 #define BAUD_38400 ((DWORD)0x4000)
255 #define BAUD_56K ((DWORD)0x8000)
256 #define BAUD_128K ((DWORD)0x10000)
257 #define BAUD_115200 ((DWORD)0x20000)
258 #define BAUD_57600 ((DWORD)0x40000)
259 #define BAUD_USER ((DWORD)0x10000000)
261 #define DATABITS_5 ((WORD)0x1)
262 #define DATABITS_6 ((WORD)0x2)
263 #define DATABITS_7 ((WORD)0x4)
264 #define DATABITS_8 ((WORD)0x8)
265 #define DATABITS_16 ((WORD)0x10)
266 #define DATABITS_16X ((WORD)0x20)
268 #define STOPBITS_10 ((WORD)0x1)
269 #define STOPBITS_15 ((WORD)0x2)
270 #define STOPBITS_20 ((WORD)0x4)
271 #define PARITY_NONE ((WORD)0x100)
272 #define PARITY_ODD ((WORD)0x200)
273 #define PARITY_EVEN ((WORD)0x400)
274 #define PARITY_MARK ((WORD)0x800)
275 #define PARITY_SPACE ((WORD)0x1000)
277 typedef struct _COMMPROP
{
286 DWORD dwProvCapabilities
;
287 DWORD dwSettableParams
;
288 DWORD dwSettableBaud
;
290 WORD wSettableStopParity
;
291 DWORD dwCurrentTxQueue
;
292 DWORD dwCurrentRxQueue
;
296 } COMMPROP
,*LPCOMMPROP
;
298 #define COMMPROP_INITIALIZED ((DWORD)0xE73CF52E)
300 typedef struct _COMSTAT
{
308 DWORD fReserved
: 25;
311 } COMSTAT
,*LPCOMSTAT
;
313 #define DTR_CONTROL_DISABLE 0x0
314 #define DTR_CONTROL_ENABLE 0x1
315 #define DTR_CONTROL_HANDSHAKE 0x2
317 #define RTS_CONTROL_DISABLE 0x0
318 #define RTS_CONTROL_ENABLE 0x1
319 #define RTS_CONTROL_HANDSHAKE 0x2
320 #define RTS_CONTROL_TOGGLE 0x3
322 typedef struct _DCB
{
327 DWORD fOutxCtsFlow
:1;
328 DWORD fOutxDsrFlow
:1;
330 DWORD fDsrSensitivity
:1;
331 DWORD fTXContinueOnXoff
: 1;
337 DWORD fAbortOnError
:1;
353 typedef struct _COMMTIMEOUTS
{
354 DWORD ReadIntervalTimeout
;
355 DWORD ReadTotalTimeoutMultiplier
;
356 DWORD ReadTotalTimeoutConstant
;
357 DWORD WriteTotalTimeoutMultiplier
;
358 DWORD WriteTotalTimeoutConstant
;
359 } COMMTIMEOUTS
,*LPCOMMTIMEOUTS
;
361 typedef struct _COMMCONFIG
{
366 DWORD dwProviderSubType
;
367 DWORD dwProviderOffset
;
368 DWORD dwProviderSize
;
369 WCHAR wcProviderData
[1];
370 } COMMCONFIG
,*LPCOMMCONFIG
;
372 typedef struct _SYSTEM_INFO
{
376 WORD wProcessorArchitecture
;
381 LPVOID lpMinimumApplicationAddress
;
382 LPVOID lpMaximumApplicationAddress
;
383 DWORD_PTR dwActiveProcessorMask
;
384 DWORD dwNumberOfProcessors
;
385 DWORD dwProcessorType
;
386 DWORD dwAllocationGranularity
;
387 WORD wProcessorLevel
;
388 WORD wProcessorRevision
;
389 } SYSTEM_INFO
,*LPSYSTEM_INFO
;
391 #define FreeModule(hLibModule) FreeLibrary((hLibModule))
392 #define MakeProcInstance(lpProc,hInstance) (lpProc)
393 #define FreeProcInstance(lpProc) (lpProc)
395 #define GMEM_FIXED 0x0
396 #define GMEM_MOVEABLE 0x2
397 #define GMEM_NOCOMPACT 0x10
398 #define GMEM_NODISCARD 0x20
399 #define GMEM_ZEROINIT 0x40
400 #define GMEM_MODIFY 0x80
401 #define GMEM_DISCARDABLE 0x100
402 #define GMEM_NOT_BANKED 0x1000
403 #define GMEM_SHARE 0x2000
404 #define GMEM_DDESHARE 0x2000
405 #define GMEM_NOTIFY 0x4000
406 #define GMEM_LOWER GMEM_NOT_BANKED
407 #define GMEM_VALID_FLAGS 0x7F72
408 #define GMEM_INVALID_HANDLE 0x8000
410 #define GHND (GMEM_MOVEABLE | GMEM_ZEROINIT)
411 #define GPTR (GMEM_FIXED | GMEM_ZEROINIT)
413 #define GlobalLRUNewest(h) ((HANDLE)(h))
414 #define GlobalLRUOldest(h) ((HANDLE)(h))
415 #define GlobalDiscard(h) GlobalReAlloc((h),0,GMEM_MOVEABLE)
417 #define GMEM_DISCARDED 0x4000
418 #define GMEM_LOCKCOUNT 0xff
420 typedef struct _MEMORYSTATUS
{
425 SIZE_T dwTotalPageFile
;
426 SIZE_T dwAvailPageFile
;
427 SIZE_T dwTotalVirtual
;
428 SIZE_T dwAvailVirtual
;
429 } MEMORYSTATUS
,*LPMEMORYSTATUS
;
431 #define LMEM_FIXED 0x0
432 #define LMEM_MOVEABLE 0x2
433 #define LMEM_NOCOMPACT 0x10
434 #define LMEM_NODISCARD 0x20
435 #define LMEM_ZEROINIT 0x40
436 #define LMEM_MODIFY 0x80
437 #define LMEM_DISCARDABLE 0xf00
438 #define LMEM_VALID_FLAGS 0xf72
439 #define LMEM_INVALID_HANDLE 0x8000
441 #define LHND (LMEM_MOVEABLE | LMEM_ZEROINIT)
442 #define LPTR (LMEM_FIXED | LMEM_ZEROINIT)
444 #define NONZEROLHND (LMEM_MOVEABLE)
445 #define NONZEROLPTR (LMEM_FIXED)
447 #define LocalDiscard(h) LocalReAlloc((h),0,LMEM_MOVEABLE)
449 #define LMEM_DISCARDED 0x4000
450 #define LMEM_LOCKCOUNT 0xff
452 #define DEBUG_PROCESS 0x1
453 #define DEBUG_ONLY_THIS_PROCESS 0x2
454 #define CREATE_SUSPENDED 0x4
455 #define DETACHED_PROCESS 0x8
456 #define CREATE_NEW_CONSOLE 0x10
457 #define NORMAL_PRIORITY_CLASS 0x20
458 #define IDLE_PRIORITY_CLASS 0x40
459 #define HIGH_PRIORITY_CLASS 0x80
460 #define REALTIME_PRIORITY_CLASS 0x100
461 #define CREATE_NEW_PROCESS_GROUP 0x200
462 #define CREATE_UNICODE_ENVIRONMENT 0x400
463 #define CREATE_SEPARATE_WOW_VDM 0x800
464 #define CREATE_SHARED_WOW_VDM 0x1000
465 #define CREATE_FORCEDOS 0x2000
466 #define BELOW_NORMAL_PRIORITY_CLASS 0x4000
467 #define ABOVE_NORMAL_PRIORITY_CLASS 0x8000
468 #define STACK_SIZE_PARAM_IS_A_RESERVATION 0x10000
470 #define CREATE_BREAKAWAY_FROM_JOB 0x1000000
471 #define CREATE_PRESERVE_CODE_AUTHZ_LEVEL 0x2000000
473 #define CREATE_DEFAULT_ERROR_MODE 0x4000000
474 #define CREATE_NO_WINDOW 0x8000000
476 #define PROFILE_USER 0x10000000
477 #define PROFILE_KERNEL 0x20000000
478 #define PROFILE_SERVER 0x40000000
480 #define CREATE_IGNORE_SYSTEM_DEFAULT 0x80000000
482 #define THREAD_PRIORITY_LOWEST THREAD_BASE_PRIORITY_MIN
483 #define THREAD_PRIORITY_BELOW_NORMAL (THREAD_PRIORITY_LOWEST+1)
484 #define THREAD_PRIORITY_NORMAL 0
485 #define THREAD_PRIORITY_HIGHEST THREAD_BASE_PRIORITY_MAX
486 #define THREAD_PRIORITY_ABOVE_NORMAL (THREAD_PRIORITY_HIGHEST-1)
487 #define THREAD_PRIORITY_ERROR_RETURN (MAXLONG)
489 #define THREAD_PRIORITY_TIME_CRITICAL THREAD_BASE_PRIORITY_LOWRT
490 #define THREAD_PRIORITY_IDLE THREAD_BASE_PRIORITY_IDLE
492 #define EXCEPTION_DEBUG_EVENT 1
493 #define CREATE_THREAD_DEBUG_EVENT 2
494 #define CREATE_PROCESS_DEBUG_EVENT 3
495 #define EXIT_THREAD_DEBUG_EVENT 4
496 #define EXIT_PROCESS_DEBUG_EVENT 5
497 #define LOAD_DLL_DEBUG_EVENT 6
498 #define UNLOAD_DLL_DEBUG_EVENT 7
499 #define OUTPUT_DEBUG_STRING_EVENT 8
502 typedef struct _EXCEPTION_DEBUG_INFO
{
503 EXCEPTION_RECORD ExceptionRecord
;
505 } EXCEPTION_DEBUG_INFO
,*LPEXCEPTION_DEBUG_INFO
;
507 typedef struct _CREATE_THREAD_DEBUG_INFO
{
509 LPVOID lpThreadLocalBase
;
510 LPTHREAD_START_ROUTINE lpStartAddress
;
511 } CREATE_THREAD_DEBUG_INFO
,*LPCREATE_THREAD_DEBUG_INFO
;
513 typedef struct _CREATE_PROCESS_DEBUG_INFO
{
517 LPVOID lpBaseOfImage
;
518 DWORD dwDebugInfoFileOffset
;
519 DWORD nDebugInfoSize
;
520 LPVOID lpThreadLocalBase
;
521 LPTHREAD_START_ROUTINE lpStartAddress
;
524 } CREATE_PROCESS_DEBUG_INFO
,*LPCREATE_PROCESS_DEBUG_INFO
;
526 typedef struct _EXIT_THREAD_DEBUG_INFO
{
528 } EXIT_THREAD_DEBUG_INFO
,*LPEXIT_THREAD_DEBUG_INFO
;
530 typedef struct _EXIT_PROCESS_DEBUG_INFO
{
532 } EXIT_PROCESS_DEBUG_INFO
,*LPEXIT_PROCESS_DEBUG_INFO
;
534 typedef struct _LOAD_DLL_DEBUG_INFO
{
537 DWORD dwDebugInfoFileOffset
;
538 DWORD nDebugInfoSize
;
541 } LOAD_DLL_DEBUG_INFO
,*LPLOAD_DLL_DEBUG_INFO
;
543 typedef struct _UNLOAD_DLL_DEBUG_INFO
{
545 } UNLOAD_DLL_DEBUG_INFO
,*LPUNLOAD_DLL_DEBUG_INFO
;
547 typedef struct _OUTPUT_DEBUG_STRING_INFO
{
548 LPSTR lpDebugStringData
;
550 WORD nDebugStringLength
;
551 } OUTPUT_DEBUG_STRING_INFO
,*LPOUTPUT_DEBUG_STRING_INFO
;
553 typedef struct _RIP_INFO
{
556 } RIP_INFO
,*LPRIP_INFO
;
558 typedef struct _DEBUG_EVENT
{
559 DWORD dwDebugEventCode
;
563 EXCEPTION_DEBUG_INFO Exception
;
564 CREATE_THREAD_DEBUG_INFO CreateThread
;
565 CREATE_PROCESS_DEBUG_INFO CreateProcessInfo
;
566 EXIT_THREAD_DEBUG_INFO ExitThread
;
567 EXIT_PROCESS_DEBUG_INFO ExitProcess
;
568 LOAD_DLL_DEBUG_INFO LoadDll
;
569 UNLOAD_DLL_DEBUG_INFO UnloadDll
;
570 OUTPUT_DEBUG_STRING_INFO DebugString
;
573 } DEBUG_EVENT
,*LPDEBUG_EVENT
;
575 typedef PCONTEXT LPCONTEXT
;
576 typedef PEXCEPTION_RECORD LPEXCEPTION_RECORD
;
577 typedef PEXCEPTION_POINTERS LPEXCEPTION_POINTERS
;
579 #define DRIVE_UNKNOWN 0
580 #define DRIVE_NO_ROOT_DIR 1
581 #define DRIVE_REMOVABLE 2
582 #define DRIVE_FIXED 3
583 #define DRIVE_REMOTE 4
584 #define DRIVE_CDROM 5
585 #define DRIVE_RAMDISK 6
587 #define GetFreeSpace(w) (0x100000L)
588 #define FILE_TYPE_UNKNOWN 0x0
589 #define FILE_TYPE_DISK 0x1
590 #define FILE_TYPE_CHAR 0x2
591 #define FILE_TYPE_PIPE 0x3
592 #define FILE_TYPE_REMOTE 0x8000
594 #define STD_INPUT_HANDLE ((DWORD)-10)
595 #define STD_OUTPUT_HANDLE ((DWORD)-11)
596 #define STD_ERROR_HANDLE ((DWORD)-12)
602 #define SPACEPARITY 4
605 #define ONE5STOPBITS 1
606 #define TWOSTOPBITS 2
609 #define INFINITE 0xffffffff
614 #define CBR_1200 1200
615 #define CBR_2400 2400
616 #define CBR_4800 4800
617 #define CBR_9600 9600
618 #define CBR_14400 14400
619 #define CBR_19200 19200
620 #define CBR_38400 38400
621 #define CBR_56000 56000
622 #define CBR_57600 57600
623 #define CBR_115200 115200
624 #define CBR_128000 128000
625 #define CBR_256000 256000
627 #define CE_RXOVER 0x1
628 #define CE_OVERRUN 0x2
629 #define CE_RXPARITY 0x4
631 #define CE_BREAK 0x10
632 #define CE_TXFULL 0x100
636 #define CE_OOP 0x1000
637 #define CE_MODE 0x8000
639 #define IE_BADID (-1)
641 #define IE_NOPEN (-3)
642 #define IE_MEMORY (-4)
643 #define IE_DEFAULT (-5)
644 #define IE_HARDWARE (-10)
645 #define IE_BYTESIZE (-11)
646 #define IE_BAUDRATE (-12)
648 #define EV_RXCHAR 0x1
649 #define EV_RXFLAG 0x2
650 #define EV_TXEMPTY 0x4
654 #define EV_BREAK 0x40
656 #define EV_RING 0x100
657 #define EV_PERR 0x200
658 #define EV_RX80FULL 0x400
659 #define EV_EVENT1 0x800
660 #define EV_EVENT2 0x1000
672 #define PURGE_TXABORT 0x1
673 #define PURGE_RXABORT 0x2
674 #define PURGE_TXCLEAR 0x4
675 #define PURGE_RXCLEAR 0x8
679 #define MS_CTS_ON ((DWORD)0x10)
680 #define MS_DSR_ON ((DWORD)0x20)
681 #define MS_RING_ON ((DWORD)0x40)
682 #define MS_RLSD_ON ((DWORD)0x80)
684 #define S_QUEUEEMPTY 0
685 #define S_THRESHOLD 1
686 #define S_ALLTHRESHOLD 2
692 #define S_PERIOD512 0
693 #define S_PERIOD1024 1
694 #define S_PERIOD2048 2
695 #define S_PERIODVOICE 3
697 #define S_WHITE1024 5
698 #define S_WHITE2048 6
699 #define S_WHITEVOICE 7
701 #define S_SERDVNA (-1)
702 #define S_SEROFM (-2)
703 #define S_SERMACT (-3)
704 #define S_SERQFUL (-4)
705 #define S_SERBDNT (-5)
706 #define S_SERDLN (-6)
707 #define S_SERDCC (-7)
708 #define S_SERDTP (-8)
709 #define S_SERDVL (-9)
710 #define S_SERDMD (-10)
711 #define S_SERDSH (-11)
712 #define S_SERDPT (-12)
713 #define S_SERDFQ (-13)
714 #define S_SERDDR (-14)
715 #define S_SERDSR (-15)
716 #define S_SERDST (-16)
718 #define NMPWAIT_WAIT_FOREVER 0xffffffff
719 #define NMPWAIT_NOWAIT 0x1
720 #define NMPWAIT_USE_DEFAULT_WAIT 0x0
722 #define FS_CASE_IS_PRESERVED FILE_CASE_PRESERVED_NAMES
723 #define FS_CASE_SENSITIVE FILE_CASE_SENSITIVE_SEARCH
724 #define FS_UNICODE_STORED_ON_DISK FILE_UNICODE_ON_DISK
725 #define FS_PERSISTENT_ACLS FILE_PERSISTENT_ACLS
726 #define FS_VOL_IS_COMPRESSED FILE_VOLUME_IS_COMPRESSED
727 #define FS_FILE_COMPRESSION FILE_FILE_COMPRESSION
728 #define FS_FILE_ENCRYPTION FILE_SUPPORTS_ENCRYPTION
730 #define FILE_MAP_COPY SECTION_QUERY
731 #define FILE_MAP_WRITE SECTION_MAP_WRITE
732 #define FILE_MAP_READ SECTION_MAP_READ
733 #define FILE_MAP_ALL_ACCESS SECTION_ALL_ACCESS
734 #define FILE_MAP_EXECUTE SECTION_MAP_EXECUTE_EXPLICIT
738 #define OF_READWRITE 0x2
739 #define OF_SHARE_COMPAT 0x0
740 #define OF_SHARE_EXCLUSIVE 0x10
741 #define OF_SHARE_DENY_WRITE 0x20
742 #define OF_SHARE_DENY_READ 0x30
743 #define OF_SHARE_DENY_NONE 0x40
744 #define OF_PARSE 0x100
745 #define OF_DELETE 0x200
746 #define OF_VERIFY 0x400
747 #define OF_CANCEL 0x800
748 #define OF_CREATE 0x1000
749 #define OF_PROMPT 0x2000
750 #define OF_EXIST 0x4000
751 #define OF_REOPEN 0x8000
753 #define OFS_MAXPATHNAME 128
754 typedef struct _OFSTRUCT
{
760 CHAR szPathName
[OFS_MAXPATHNAME
];
761 } OFSTRUCT
,*LPOFSTRUCT
,*POFSTRUCT
;
763 #ifndef NOWINBASEINTERLOCK
767 #if defined(__ia64__) && !defined(RC_INVOKED)
769 #define InterlockedIncrement _InterlockedIncrement
770 #define InterlockedIncrementAcquire _InterlockedIncrement_acq
771 #define InterlockedIncrementRelease _InterlockedIncrement_rel
772 #define InterlockedDecrement _InterlockedDecrement
773 #define InterlockedDecrementAcquire _InterlockedDecrement_acq
774 #define InterlockedDecrementRelease _InterlockedDecrement_rel
775 #define InterlockedExchange _InterlockedExchange
776 #define InterlockedExchangeAdd _InterlockedExchangeAdd
777 #define InterlockedCompareExchange _InterlockedCompareExchange
778 #define InterlockedCompareExchangeAcquire _InterlockedCompareExchange_acq
779 #define InterlockedCompareExchangeRelease _InterlockedCompareExchange_rel
780 #define InterlockedExchangePointer _InterlockedExchangePointer
781 #define InterlockedCompareExchangePointer _InterlockedCompareExchangePointer
782 #define InterlockedCompareExchangePointerRelease _InterlockedCompareExchangePointer_rel
783 #define InterlockedCompareExchangePointerAcquire _InterlockedCompareExchangePointer_acq
785 #define InterlockedIncrement64 _InterlockedIncrement64
786 #define InterlockedDecrement64 _InterlockedDecrement64
787 #define InterlockedExchange64 _InterlockedExchange64
788 #define InterlockedExchangeAcquire64 _InterlockedExchange64_acq
789 #define InterlockedExchangeAdd64 _InterlockedExchangeAdd64
790 #define InterlockedCompareExchange64 _InterlockedCompareExchange64
791 #define InterlockedCompareExchangeAcquire64 _InterlockedCompareExchange64_acq
792 #define InterlockedCompareExchangeRelease64 _InterlockedCompareExchange64_rel
794 LONGLONG __cdecl
InterlockedIncrement64(LONGLONG
volatile *Addend
);
795 LONGLONG __cdecl
InterlockedDecrement64(LONGLONG
volatile *Addend
);
796 LONG __cdecl
InterlockedIncrementAcquire(LONG
volatile *Addend
);
797 LONG __cdecl
InterlockedDecrementAcquire(LONG
volatile *Addend
);
798 LONG __cdecl
InterlockedIncrementRelease(LONG
volatile *Addend
);
799 LONG __cdecl
InterlockedDecrementRelease(LONG
volatile *Addend
);
800 LONGLONG __cdecl
InterlockedExchange64 (LONGLONG
volatile *Target
,LONGLONG Value
);
801 LONGLONG __cdecl
InterlockedExchangeAcquire64 (LONGLONG
volatile *Target
,LONGLONG Value
);
802 LONGLONG __cdecl
InterlockedExchangeAdd64 (LONGLONG
volatile *Addend
,LONGLONG Value
);
803 LONGLONG __cdecl
InterlockedCompareExchange64 (LONGLONG
volatile *Destination
,LONGLONG ExChange
,LONGLONG Comperand
);
804 LONGLONG __cdecl
InterlockedCompareExchangeAcquire64 (LONGLONG
volatile *Destination
,LONGLONG ExChange
,LONGLONG Comperand
);
805 LONGLONG __cdecl
InterlockedCompareExchangeRelease64 (LONGLONG
volatile *Destination
,LONGLONG ExChange
,LONGLONG Comperand
);
806 LONG __cdecl
InterlockedIncrement(LONG
volatile *lpAddend
);
807 LONG __cdecl
InterlockedDecrement(LONG
volatile *lpAddend
);
808 LONG __cdecl
InterlockedExchange(LONG
volatile *Target
,LONG Value
);
809 LONG __cdecl
InterlockedExchangeAdd(LONG
volatile *Addend
,LONG Value
);
810 LONG __cdecl
InterlockedCompareExchange(LONG
volatile *Destination
,LONG ExChange
,LONG Comperand
);
811 LONG __cdecl
InterlockedCompareExchangeRelease(LONG
volatile *Destination
,LONG ExChange
,LONG Comperand
);
812 LONG __cdecl
InterlockedCompareExchangeAcquire(LONG
volatile *Destination
,LONG ExChange
,LONG Comperand
);
813 PVOID __cdecl
InterlockedExchangePointer(PVOID
volatile *Target
,PVOID Value
);
814 PVOID __cdecl
InterlockedCompareExchangePointer(PVOID
volatile *Destination
,PVOID ExChange
,PVOID Comperand
);
815 PVOID __cdecl
InterlockedCompareExchangePointerAcquire(PVOID
volatile *Destination
,PVOID Exchange
,PVOID Comperand
);
816 PVOID __cdecl
InterlockedCompareExchangePointerRelease(PVOID
volatile *Destination
,PVOID Exchange
,PVOID Comperand
);
818 #ifndef InterlockedAnd
819 #define InterlockedAnd InterlockedAnd_Inline
820 __CRT_INLINE LONG
InterlockedAnd_Inline(LONG
volatile *Target
,LONG Set
) {
826 j
= InterlockedCompareExchange(Target
,i
& Set
,i
);
832 #ifndef InterlockedOr
833 #define InterlockedOr InterlockedOr_Inline
835 __CRT_INLINE LONG
InterlockedOr_Inline(LONG
volatile *Target
,LONG Set
) {
841 j
= InterlockedCompareExchange(Target
,i
| Set
,i
);
847 #ifndef InterlockedXor
848 #define InterlockedXor InterlockedXor_Inline
850 __CRT_INLINE LONG
InterlockedXor_Inline(LONG
volatile *Target
,LONG Set
) {
856 j
= InterlockedCompareExchange(Target
,i
^ Set
,i
);
862 #ifndef !defined (InterlockedAnd64)
863 #define InterlockedAnd64 InterlockedAnd64_Inline
865 __CRT_INLINE LONGLONG
InterlockedAnd64_Inline (LONGLONG
volatile *Destination
,LONGLONG Value
) {
869 } while(InterlockedCompareExchange64(Destination
,Old
& Value
,Old
)!=Old
);
874 #ifndef InterlockedOr64
875 #define InterlockedOr64 InterlockedOr64_Inline
877 __CRT_INLINE LONGLONG
InterlockedOr64_Inline (LONGLONG
volatile *Destination
,LONGLONG Value
) {
881 } while(InterlockedCompareExchange64(Destination
,Old
| Value
,Old
)!=Old
);
886 #ifndef InterlockedXor64
887 #define InterlockedXor64 InterlockedXor64_Inline
889 __CRT_INLINE LONGLONG
InterlockedXor64_Inline (LONGLONG
volatile *Destination
,LONGLONG Value
) {
893 } while(InterlockedCompareExchange64(Destination
,Old
^ Value
,Old
)!=Old
);
898 #ifndef InterlockedBitTestAndSet
899 #define InterlockedBitTestAndSet InterlockedBitTestAndSet_Inline
901 __CRT_INLINE BOOLEAN
InterlockedBitTestAndSet_Inline(LONG
*Base
,LONG Bit
) {
903 tBit
= 1<<(Bit
& (sizeof (*Base
)*8-1));
904 return (BOOLEAN
)((InterlockedOr(&Base
[Bit
/(sizeof(*Base
)*8)],tBit
)&tBit
)!=0);
908 #ifndef InterlockedBitTestAndReset
909 #define InterlockedBitTestAndReset InterlockedBitTestAndReset_Inline
911 __CRT_INLINE BOOLEAN
InterlockedBitTestAndReset_Inline(LONG
*Base
,LONG Bit
) {
913 tBit
= 1<<(Bit
& (sizeof (*Base
)*8-1));
914 return (BOOLEAN
)((InterlockedAnd(&Base
[Bit
/(sizeof(*Base
)*8)],~tBit
)&tBit
)!=0);
918 #ifndef InterlockedBitTestAndComplement
919 #define InterlockedBitTestAndComplement InterlockedBitTestAndComplement_Inline
921 __CRT_INLINE BOOLEAN
InterlockedBitTestAndComplement_Inline(LONG
*Base
,LONG Bit
) {
923 tBit
= 1<<(Bit
& (sizeof (*Base
)*8-1));
924 return (BOOLEAN
)((InterlockedXor(&Base
[Bit
/(sizeof(*Base
)*8)],tBit
)&tBit
)!=0);
927 #elif defined(__x86_64) && !defined(RC_INVOKED)
929 #define InterlockedIncrement _InterlockedIncrement
930 #define InterlockedIncrementAcquire InterlockedIncrement
931 #define InterlockedIncrementRelease InterlockedIncrement
932 #define InterlockedDecrement _InterlockedDecrement
933 #define InterlockedDecrementAcquire InterlockedDecrement
934 #define InterlockedDecrementRelease InterlockedDecrement
935 #define InterlockedExchange _InterlockedExchange
936 #define InterlockedExchangeAdd _InterlockedExchangeAdd
937 #define InterlockedCompareExchange _InterlockedCompareExchange
938 #define InterlockedCompareExchangeAcquire InterlockedCompareExchange
939 #define InterlockedCompareExchangeRelease InterlockedCompareExchange
940 #define InterlockedExchangePointer _InterlockedExchangePointer
941 #define InterlockedCompareExchangePointer _InterlockedCompareExchangePointer
942 #define InterlockedCompareExchangePointerAcquire _InterlockedCompareExchangePointer
943 #define InterlockedCompareExchangePointerRelease _InterlockedCompareExchangePointer
944 #define InterlockedAnd64 _InterlockedAnd64
945 #define InterlockedOr64 _InterlockedOr64
946 #define InterlockedXor64 _InterlockedXor64
947 #define InterlockedIncrement64 _InterlockedIncrement64
948 #define InterlockedDecrement64 _InterlockedDecrement64
949 #define InterlockedExchange64 _InterlockedExchange64
950 #define InterlockedExchangeAdd64 _InterlockedExchangeAdd64
951 #define InterlockedCompareExchange64 _InterlockedCompareExchange64
952 #define InterlockedCompareExchangeAcquire64 InterlockedCompareExchange64
953 #define InterlockedCompareExchangeRelease64 InterlockedCompareExchange64
955 LONG
InterlockedIncrement(LONG
volatile *Addend
);
956 LONG
InterlockedDecrement(LONG
volatile *Addend
);
957 LONG
InterlockedExchange(LONG
volatile *Target
,LONG Value
);
958 LONG
InterlockedExchangeAdd(LONG
volatile *Addend
,LONG Value
);
959 LONG
InterlockedCompareExchange(LONG
volatile *Destination
,LONG ExChange
,LONG Comperand
);
960 PVOID
InterlockedCompareExchangePointer(PVOID
volatile *Destination
,PVOID Exchange
,PVOID Comperand
);
961 PVOID
InterlockedExchangePointer(PVOID
volatile *Target
,PVOID Value
);
962 LONG64
InterlockedAnd64(LONG64
volatile *Destination
,LONG64 Value
);
963 LONG64
InterlockedOr64(LONG64
volatile *Destination
,LONG64 Value
);
964 LONG64
InterlockedXor64(LONG64
volatile *Destination
,LONG64 Value
);
965 LONG64
InterlockedIncrement64(LONG64
volatile *Addend
);
966 LONG64
InterlockedDecrement64(LONG64
volatile *Addend
);
967 LONG64
InterlockedExchange64(LONG64
volatile *Target
,LONG64 Value
);
968 LONG64
InterlockedExchangeAdd64(LONG64
volatile *Addend
,LONG64 Value
);
969 LONG64
InterlockedCompareExchange64(LONG64
volatile *Destination
,LONG64 ExChange
,LONG64 Comperand
);
971 LONG WINAPI
InterlockedIncrement(LONG
volatile *lpAddend
);
972 LONG WINAPI
InterlockedDecrement(LONG
volatile *lpAddend
);
973 LONG WINAPI
InterlockedExchange(LONG
volatile *Target
,LONG Value
);
975 #define InterlockedExchangePointer(Target,Value) (PVOID)InterlockedExchange((PLONG)(Target),(LONG)(Value))
977 LONG WINAPI
InterlockedExchangeAdd(LONG
volatile *Addend
,LONG Value
);
978 LONG WINAPI
InterlockedCompareExchange(LONG
volatile *Destination
,LONG Exchange
,LONG Comperand
);
979 LONGLONG WINAPI
InterlockedCompareExchange64(LONGLONG
volatile *Destination
,LONGLONG Exchange
,LONGLONG Comperand
);
981 __CRT_INLINE LONGLONG
InterlockedAnd64 (LONGLONG
volatile *Destination
,LONGLONG Value
) {
985 } while(InterlockedCompareExchange64(Destination
,Old
& Value
,Old
)!=Old
);
989 __CRT_INLINE LONGLONG
InterlockedOr64 (LONGLONG
volatile *Destination
,LONGLONG Value
) {
993 } while(InterlockedCompareExchange64(Destination
,Old
| Value
,Old
)!=Old
);
997 __CRT_INLINE LONGLONG
InterlockedXor64 (LONGLONG
volatile *Destination
,LONGLONG Value
) {
1001 } while(InterlockedCompareExchange64(Destination
,Old
^ Value
,Old
)!=Old
);
1006 __CRT_INLINE LONGLONG
InterlockedIncrement64(LONGLONG
volatile *Addend
) {
1010 } while(InterlockedCompareExchange64(Addend
,Old
+ 1,Old
)!=Old
);
1014 __CRT_INLINE LONGLONG
InterlockedDecrement64(LONGLONG
volatile *Addend
) {
1018 } while(InterlockedCompareExchange64(Addend
,Old
- 1,Old
)!=Old
);
1022 __CRT_INLINE LONGLONG
InterlockedExchange64(LONGLONG
volatile *Target
,LONGLONG Value
) {
1026 } while(InterlockedCompareExchange64(Target
,Value
,Old
)!=Old
);
1030 __CRT_INLINE LONGLONG
InterlockedExchangeAdd64(LONGLONG
volatile *Addend
,LONGLONG Value
) {
1034 } while(InterlockedCompareExchange64(Addend
,Old
+ Value
,Old
)!=Old
);
1039 __CRT_INLINE PVOID __cdecl
__InlineInterlockedCompareExchangePointer(PVOID
volatile *Destination
,PVOID ExChange
,PVOID Comperand
) {
1040 return((PVOID
)(LONG_PTR
)InterlockedCompareExchange((LONG
volatile *)Destination
,(LONG
)(LONG_PTR
)ExChange
,(LONG
)(LONG_PTR
)Comperand
));
1042 #define InterlockedCompareExchangePointer __InlineInterlockedCompareExchangePointer
1044 #define InterlockedCompareExchangePointer(Destination,ExChange,Comperand)(PVOID)(LONG_PTR)InterlockedCompareExchange((LONG volatile *)(Destination),(LONG)(LONG_PTR)(ExChange),(LONG)(LONG_PTR)(Comperand))
1047 #define InterlockedIncrementAcquire InterlockedIncrement
1048 #define InterlockedIncrementRelease InterlockedIncrement
1049 #define InterlockedDecrementAcquire InterlockedDecrement
1050 #define InterlockedDecrementRelease InterlockedDecrement
1051 #define InterlockedIncrementAcquire InterlockedIncrement
1052 #define InterlockedIncrementRelease InterlockedIncrement
1053 #define InterlockedCompareExchangeAcquire InterlockedCompareExchange
1054 #define InterlockedCompareExchangeRelease InterlockedCompareExchange
1055 #define InterlockedCompareExchangeAcquire64 InterlockedCompareExchange64
1056 #define InterlockedCompareExchangeRelease64 InterlockedCompareExchange64
1057 #define InterlockedCompareExchangePointerAcquire InterlockedCompareExchangePointer
1058 #define InterlockedCompareExchangePointerRelease InterlockedCompareExchangePointer
1061 #if defined(_SLIST_HEADER_) && !defined(_NTOSP_)
1062 WINBASEAPI VOID WINAPI
InitializeSListHead(PSLIST_HEADER ListHead
);
1063 WINBASEAPI PSLIST_ENTRY WINAPI
InterlockedPopEntrySList(PSLIST_HEADER ListHead
);
1064 WINBASEAPI PSLIST_ENTRY WINAPI
InterlockedPushEntrySList(PSLIST_HEADER ListHead
,PSLIST_ENTRY ListEntry
);
1065 WINBASEAPI PSLIST_ENTRY WINAPI
InterlockedFlushSList(PSLIST_HEADER ListHead
);
1066 WINBASEAPI USHORT WINAPI
QueryDepthSList(PSLIST_HEADER ListHead
);
1071 WINBASEAPI WINBOOL WINAPI
FreeResource(HGLOBAL hResData
);
1072 WINBASEAPI LPVOID WINAPI
LockResource(HGLOBAL hResData
);
1074 #define UnlockResource(hResData) ((hResData),0)
1075 #define MAXINTATOM 0xC000
1076 #define MAKEINTATOM(i) (LPTSTR)((ULONG_PTR)((WORD)(i)))
1077 #define INVALID_ATOM ((ATOM)0)
1079 int WINAPI
WinMain(HINSTANCE hInstance
,HINSTANCE hPrevInstance
,LPSTR lpCmdLine
,int nShowCmd
);
1080 WINBASEAPI WINBOOL WINAPI
FreeLibrary(HMODULE hLibModule
);
1081 WINBASEAPI DECLSPEC_NORETURN VOID WINAPI
FreeLibraryAndExitThread(HMODULE hLibModule
,DWORD dwExitCode
);
1082 WINBASEAPI WINBOOL WINAPI
DisableThreadLibraryCalls(HMODULE hLibModule
);
1083 WINBASEAPI FARPROC WINAPI
GetProcAddress(HMODULE hModule
,LPCSTR lpProcName
);
1084 WINBASEAPI DWORD WINAPI
GetVersion(VOID
);
1085 WINBASEAPI HGLOBAL WINAPI
GlobalAlloc(UINT uFlags
,SIZE_T dwBytes
);
1086 WINBASEAPI HGLOBAL WINAPI
GlobalReAlloc(HGLOBAL hMem
,SIZE_T dwBytes
,UINT uFlags
);
1087 WINBASEAPI SIZE_T WINAPI
GlobalSize(HGLOBAL hMem
);
1088 WINBASEAPI UINT WINAPI
GlobalFlags(HGLOBAL hMem
);
1089 WINBASEAPI LPVOID WINAPI
GlobalLock(HGLOBAL hMem
);
1090 WINBASEAPI HGLOBAL WINAPI
GlobalHandle(LPCVOID pMem
);
1091 WINBASEAPI WINBOOL WINAPI
GlobalUnlock(HGLOBAL hMem
);
1092 WINBASEAPI HGLOBAL WINAPI
GlobalFree(HGLOBAL hMem
);
1093 WINBASEAPI SIZE_T WINAPI
GlobalCompact(DWORD dwMinFree
);
1094 WINBASEAPI VOID WINAPI
GlobalFix(HGLOBAL hMem
);
1095 WINBASEAPI VOID WINAPI
GlobalUnfix(HGLOBAL hMem
);
1096 WINBASEAPI LPVOID WINAPI
GlobalWire(HGLOBAL hMem
);
1097 WINBASEAPI WINBOOL WINAPI
GlobalUnWire(HGLOBAL hMem
);
1098 WINBASEAPI VOID WINAPI
GlobalMemoryStatus(LPMEMORYSTATUS lpBuffer
);
1100 typedef struct _MEMORYSTATUSEX
{
1103 DWORDLONG ullTotalPhys
;
1104 DWORDLONG ullAvailPhys
;
1105 DWORDLONG ullTotalPageFile
;
1106 DWORDLONG ullAvailPageFile
;
1107 DWORDLONG ullTotalVirtual
;
1108 DWORDLONG ullAvailVirtual
;
1109 DWORDLONG ullAvailExtendedVirtual
;
1110 } MEMORYSTATUSEX
,*LPMEMORYSTATUSEX
;
1112 WINBASEAPI WINBOOL WINAPI
GlobalMemoryStatusEx(LPMEMORYSTATUSEX lpBuffer
);
1113 WINBASEAPI HLOCAL WINAPI
LocalAlloc(UINT uFlags
,SIZE_T uBytes
);
1114 WINBASEAPI HLOCAL WINAPI
LocalReAlloc(HLOCAL hMem
,SIZE_T uBytes
,UINT uFlags
);
1115 WINBASEAPI LPVOID WINAPI
LocalLock(HLOCAL hMem
);
1116 WINBASEAPI HLOCAL WINAPI
LocalHandle(LPCVOID pMem
);
1117 WINBASEAPI WINBOOL WINAPI
LocalUnlock(HLOCAL hMem
);
1118 WINBASEAPI SIZE_T WINAPI
LocalSize(HLOCAL hMem
);
1119 WINBASEAPI UINT WINAPI
LocalFlags(HLOCAL hMem
);
1120 WINBASEAPI HLOCAL WINAPI
LocalFree(HLOCAL hMem
);
1121 WINBASEAPI SIZE_T WINAPI
LocalShrink(HLOCAL hMem
,UINT cbNewSize
);
1122 WINBASEAPI SIZE_T WINAPI
LocalCompact(UINT uMinFree
);
1123 WINBASEAPI WINBOOL WINAPI
FlushInstructionCache(HANDLE hProcess
,LPCVOID lpBaseAddress
,SIZE_T dwSize
);
1124 WINBASEAPI LPVOID WINAPI
VirtualAlloc(LPVOID lpAddress
,SIZE_T dwSize
,DWORD flAllocationType
,DWORD flProtect
);
1125 WINBASEAPI WINBOOL WINAPI
VirtualFree(LPVOID lpAddress
,SIZE_T dwSize
,DWORD dwFreeType
);
1126 WINBASEAPI WINBOOL WINAPI
VirtualProtect(LPVOID lpAddress
,SIZE_T dwSize
,DWORD flNewProtect
,PDWORD lpflOldProtect
);
1127 WINBASEAPI SIZE_T WINAPI
VirtualQuery(LPCVOID lpAddress
,PMEMORY_BASIC_INFORMATION lpBuffer
,SIZE_T dwLength
);
1128 WINBASEAPI LPVOID WINAPI
VirtualAllocEx(HANDLE hProcess
,LPVOID lpAddress
,SIZE_T dwSize
,DWORD flAllocationType
,DWORD flProtect
);
1129 WINBASEAPI UINT WINAPI
GetWriteWatch(DWORD dwFlags
,PVOID lpBaseAddress
,SIZE_T dwRegionSize
,PVOID
*lpAddresses
,ULONG_PTR
*lpdwCount
,PULONG lpdwGranularity
);
1130 WINBASEAPI UINT WINAPI
ResetWriteWatch(LPVOID lpBaseAddress
,SIZE_T dwRegionSize
);
1131 WINBASEAPI SIZE_T WINAPI
GetLargePageMinimum(VOID
);
1132 WINBASEAPI UINT WINAPI
EnumSystemFirmwareTables(DWORD FirmwareTableProviderSignature
,PVOID pFirmwareTableEnumBuffer
,DWORD BufferSize
);
1133 WINBASEAPI UINT WINAPI
GetSystemFirmwareTable(DWORD FirmwareTableProviderSignature
,DWORD FirmwareTableID
,PVOID pFirmwareTableBuffer
,DWORD BufferSize
);
1134 WINBASEAPI WINBOOL WINAPI
VirtualFreeEx(HANDLE hProcess
,LPVOID lpAddress
,SIZE_T dwSize
,DWORD dwFreeType
);
1135 WINBASEAPI WINBOOL WINAPI
VirtualProtectEx(HANDLE hProcess
,LPVOID lpAddress
,SIZE_T dwSize
,DWORD flNewProtect
,PDWORD lpflOldProtect
);
1136 WINBASEAPI SIZE_T WINAPI
VirtualQueryEx(HANDLE hProcess
,LPCVOID lpAddress
,PMEMORY_BASIC_INFORMATION lpBuffer
,SIZE_T dwLength
);
1137 WINBASEAPI HANDLE WINAPI
HeapCreate(DWORD flOptions
,SIZE_T dwInitialSize
,SIZE_T dwMaximumSize
);
1138 WINBASEAPI WINBOOL WINAPI
HeapDestroy(HANDLE hHeap
);
1139 WINBASEAPI LPVOID WINAPI
HeapAlloc(HANDLE hHeap
,DWORD dwFlags
,SIZE_T dwBytes
);
1140 WINBASEAPI LPVOID WINAPI
HeapReAlloc(HANDLE hHeap
,DWORD dwFlags
,LPVOID lpMem
,SIZE_T dwBytes
);
1141 WINBASEAPI WINBOOL WINAPI
HeapFree(HANDLE hHeap
,DWORD dwFlags
,LPVOID lpMem
);
1142 WINBASEAPI SIZE_T WINAPI
HeapSize(HANDLE hHeap
,DWORD dwFlags
,LPCVOID lpMem
);
1143 WINBASEAPI WINBOOL WINAPI
HeapValidate(HANDLE hHeap
,DWORD dwFlags
,LPCVOID lpMem
);
1144 WINBASEAPI SIZE_T WINAPI
HeapCompact(HANDLE hHeap
,DWORD dwFlags
);
1145 WINBASEAPI HANDLE WINAPI
GetProcessHeap(VOID
);
1146 WINBASEAPI DWORD WINAPI
GetProcessHeaps(DWORD NumberOfHeaps
,PHANDLE ProcessHeaps
);
1148 typedef struct _PROCESS_HEAP_ENTRY
{
1157 DWORD dwReserved
[3];
1160 DWORD dwCommittedSize
;
1161 DWORD dwUnCommittedSize
;
1162 LPVOID lpFirstBlock
;
1166 } PROCESS_HEAP_ENTRY
,*LPPROCESS_HEAP_ENTRY
,*PPROCESS_HEAP_ENTRY
;
1168 #define PROCESS_HEAP_REGION 0x1
1169 #define PROCESS_HEAP_UNCOMMITTED_RANGE 0x2
1170 #define PROCESS_HEAP_ENTRY_BUSY 0x4
1171 #define PROCESS_HEAP_ENTRY_MOVEABLE 0x10
1172 #define PROCESS_HEAP_ENTRY_DDESHARE 0x20
1174 WINBASEAPI WINBOOL WINAPI
HeapLock(HANDLE hHeap
);
1175 WINBASEAPI WINBOOL WINAPI
HeapUnlock(HANDLE hHeap
);
1176 WINBASEAPI WINBOOL WINAPI
HeapWalk(HANDLE hHeap
,LPPROCESS_HEAP_ENTRY lpEntry
);
1177 WINBASEAPI WINBOOL WINAPI
HeapSetInformation(HANDLE HeapHandle
,HEAP_INFORMATION_CLASS HeapInformationClass
,PVOID HeapInformation
,SIZE_T HeapInformationLength
);
1178 WINBASEAPI WINBOOL WINAPI
HeapQueryInformation(HANDLE HeapHandle
,HEAP_INFORMATION_CLASS HeapInformationClass
,PVOID HeapInformation
,SIZE_T HeapInformationLength
,PSIZE_T ReturnLength
);
1180 #define SCS_32BIT_BINARY 0
1181 #define SCS_DOS_BINARY 1
1182 #define SCS_WOW_BINARY 2
1183 #define SCS_PIF_BINARY 3
1184 #define SCS_POSIX_BINARY 4
1185 #define SCS_OS216_BINARY 5
1186 #define SCS_64BIT_BINARY 6
1189 #define GetBinaryType GetBinaryTypeW
1190 #define GetShortPathName GetShortPathNameW
1191 #define GetLongPathName GetLongPathNameW
1192 #define GetEnvironmentStrings GetEnvironmentStringsW
1193 #define SetEnvironmentStrings SetEnvironmentStringsW
1194 #define FreeEnvironmentStrings FreeEnvironmentStringsW
1196 #define GetBinaryType GetBinaryTypeA
1197 #define GetShortPathName GetShortPathNameA
1198 #define GetLongPathName GetLongPathNameA
1199 #define GetEnvironmentStringsA GetEnvironmentStrings
1200 #define SetEnvironmentStrings SetEnvironmentStringsA
1201 #define FreeEnvironmentStrings FreeEnvironmentStringsA
1205 #define SCS_THIS_PLATFORM_BINARY SCS_64BIT_BINARY
1207 #define SCS_THIS_PLATFORM_BINARY SCS_32BIT_BINARY
1210 WINBASEAPI WINBOOL WINAPI
GetBinaryTypeA(LPCSTR lpApplicationName
,LPDWORD lpBinaryType
);
1211 WINBASEAPI WINBOOL WINAPI
GetBinaryTypeW(LPCWSTR lpApplicationName
,LPDWORD lpBinaryType
);
1212 WINBASEAPI DWORD WINAPI
GetShortPathNameA(LPCSTR lpszLongPath
,LPSTR lpszShortPath
,DWORD cchBuffer
);
1213 WINBASEAPI DWORD WINAPI
GetShortPathNameW(LPCWSTR lpszLongPath
,LPWSTR lpszShortPath
,DWORD cchBuffer
);
1214 WINBASEAPI DWORD WINAPI
GetLongPathNameA(LPCSTR lpszShortPath
,LPSTR lpszLongPath
,DWORD cchBuffer
);
1215 WINBASEAPI DWORD WINAPI
GetLongPathNameW(LPCWSTR lpszShortPath
,LPWSTR lpszLongPath
,DWORD cchBuffer
);
1216 WINBASEAPI WINBOOL WINAPI
GetProcessAffinityMask(HANDLE hProcess
,PDWORD_PTR lpProcessAffinityMask
,PDWORD_PTR lpSystemAffinityMask
);
1217 WINBASEAPI WINBOOL WINAPI
SetProcessAffinityMask(HANDLE hProcess
,DWORD_PTR dwProcessAffinityMask
);
1218 WINBASEAPI WINBOOL WINAPI
GetProcessHandleCount(HANDLE hProcess
,PDWORD pdwHandleCount
);
1219 WINBASEAPI WINBOOL WINAPI
GetProcessTimes(HANDLE hProcess
,LPFILETIME lpCreationTime
,LPFILETIME lpExitTime
,LPFILETIME lpKernelTime
,LPFILETIME lpUserTime
);
1220 WINBASEAPI WINBOOL WINAPI
GetProcessIoCounters(HANDLE hProcess
,PIO_COUNTERS lpIoCounters
);
1221 WINBASEAPI WINBOOL WINAPI
GetProcessWorkingSetSize(HANDLE hProcess
,PSIZE_T lpMinimumWorkingSetSize
,PSIZE_T lpMaximumWorkingSetSize
);
1222 WINBASEAPI WINBOOL WINAPI
GetProcessWorkingSetSizeEx(HANDLE hProcess
,PSIZE_T lpMinimumWorkingSetSize
,PSIZE_T lpMaximumWorkingSetSize
,PDWORD Flags
);
1223 WINBASEAPI WINBOOL WINAPI
SetProcessWorkingSetSize(HANDLE hProcess
,SIZE_T dwMinimumWorkingSetSize
,SIZE_T dwMaximumWorkingSetSize
);
1224 WINBASEAPI WINBOOL WINAPI
SetProcessWorkingSetSizeEx(HANDLE hProcess
,SIZE_T dwMinimumWorkingSetSize
,SIZE_T dwMaximumWorkingSetSize
,DWORD Flags
);
1225 WINBASEAPI HANDLE WINAPI
OpenProcess(DWORD dwDesiredAccess
,WINBOOL bInheritHandle
,DWORD dwProcessId
);
1226 WINBASEAPI HANDLE WINAPI
GetCurrentProcess(VOID
);
1227 WINBASEAPI DWORD WINAPI
GetCurrentProcessId(VOID
);
1228 WINBASEAPI DECLSPEC_NORETURN VOID WINAPI
ExitProcess(UINT uExitCode
);
1229 WINBASEAPI WINBOOL WINAPI
TerminateProcess(HANDLE hProcess
,UINT uExitCode
);
1230 WINBASEAPI WINBOOL WINAPI
GetExitCodeProcess(HANDLE hProcess
,LPDWORD lpExitCode
);
1231 WINBASEAPI VOID WINAPI
FatalExit(int ExitCode
);
1232 /* WINBASEAPI LPCH WINAPI GetEnvironmentStrings(VOID); */
1233 WINBASEAPI LPWCH WINAPI
GetEnvironmentStringsW(VOID
);
1234 WINBASEAPI WINBOOL WINAPI
SetEnvironmentStringsA(LPCH NewEnvironment
);
1235 WINBASEAPI WINBOOL WINAPI
SetEnvironmentStringsW(LPWCH NewEnvironment
);
1236 WINBASEAPI WINBOOL WINAPI
FreeEnvironmentStringsA(LPCH
);
1237 WINBASEAPI WINBOOL WINAPI
FreeEnvironmentStringsW(LPWCH
);
1238 WINBASEAPI VOID WINAPI
RaiseException(DWORD dwExceptionCode
,DWORD dwExceptionFlags
,DWORD nNumberOfArguments
,CONST ULONG_PTR
*lpArguments
);
1239 WINBASEAPI LONG WINAPI
UnhandledExceptionFilter(struct _EXCEPTION_POINTERS
*ExceptionInfo
);
1241 typedef LONG (WINAPI
*PTOP_LEVEL_EXCEPTION_FILTER
)(struct _EXCEPTION_POINTERS
*ExceptionInfo
);
1242 typedef PTOP_LEVEL_EXCEPTION_FILTER LPTOP_LEVEL_EXCEPTION_FILTER
;
1244 WINBASEAPI LPTOP_LEVEL_EXCEPTION_FILTER WINAPI
SetUnhandledExceptionFilter(LPTOP_LEVEL_EXCEPTION_FILTER lpTopLevelExceptionFilter
);
1246 #define FIBER_FLAG_FLOAT_SWITCH 0x1
1248 WINBASEAPI LPVOID WINAPI
CreateFiber(SIZE_T dwStackSize
,LPFIBER_START_ROUTINE lpStartAddress
,LPVOID lpParameter
);
1249 WINBASEAPI LPVOID WINAPI
CreateFiberEx(SIZE_T dwStackCommitSize
,SIZE_T dwStackReserveSize
,DWORD dwFlags
,LPFIBER_START_ROUTINE lpStartAddress
,LPVOID lpParameter
);
1250 WINBASEAPI VOID WINAPI
DeleteFiber(LPVOID lpFiber
);
1251 WINBASEAPI LPVOID WINAPI
ConvertThreadToFiber(LPVOID lpParameter
);
1252 WINBASEAPI LPVOID WINAPI
ConvertThreadToFiberEx(LPVOID lpParameter
,DWORD dwFlags
);
1253 WINBASEAPI WINBOOL WINAPI
ConvertFiberToThread(VOID
);
1254 WINBASEAPI VOID WINAPI
SwitchToFiber(LPVOID lpFiber
);
1255 WINBASEAPI WINBOOL WINAPI
SwitchToThread(VOID
);
1256 WINBASEAPI HANDLE WINAPI
CreateThread(LPSECURITY_ATTRIBUTES lpThreadAttributes
,SIZE_T dwStackSize
,LPTHREAD_START_ROUTINE lpStartAddress
,LPVOID lpParameter
,DWORD dwCreationFlags
,LPDWORD lpThreadId
);
1257 WINBASEAPI HANDLE WINAPI
CreateRemoteThread(HANDLE hProcess
,LPSECURITY_ATTRIBUTES lpThreadAttributes
,SIZE_T dwStackSize
,LPTHREAD_START_ROUTINE lpStartAddress
,LPVOID lpParameter
,DWORD dwCreationFlags
,LPDWORD lpThreadId
);
1258 WINBASEAPI HANDLE WINAPI
GetCurrentThread(VOID
);
1259 WINBASEAPI DWORD WINAPI
GetCurrentThreadId(VOID
);
1260 WINBASEAPI WINBOOL WINAPI
SetThreadStackGuarantee (PULONG StackSizeInBytes
);
1261 WINBASEAPI DWORD WINAPI
GetProcessIdOfThread(HANDLE Thread
);
1262 WINBASEAPI DWORD WINAPI
GetThreadId(HANDLE Thread
);
1263 WINBASEAPI DWORD WINAPI
GetProcessId(HANDLE Process
);
1264 WINBASEAPI DWORD WINAPI
GetCurrentProcessorNumber(VOID
);
1265 WINBASEAPI DWORD_PTR WINAPI
SetThreadAffinityMask(HANDLE hThread
,DWORD_PTR dwThreadAffinityMask
);
1266 WINBASEAPI DWORD WINAPI
SetThreadIdealProcessor(HANDLE hThread
,DWORD dwIdealProcessor
);
1267 WINBASEAPI WINBOOL WINAPI
SetProcessPriorityBoost(HANDLE hProcess
,WINBOOL bDisablePriorityBoost
);
1268 WINBASEAPI WINBOOL WINAPI
GetProcessPriorityBoost(HANDLE hProcess
,PBOOL pDisablePriorityBoost
);
1269 WINBASEAPI WINBOOL WINAPI
RequestWakeupLatency(LATENCY_TIME latency
);
1270 WINBASEAPI WINBOOL WINAPI
IsSystemResumeAutomatic(VOID
);
1271 WINBASEAPI HANDLE WINAPI
OpenThread(DWORD dwDesiredAccess
,WINBOOL bInheritHandle
,DWORD dwThreadId
);
1272 WINBASEAPI WINBOOL WINAPI
SetThreadPriority(HANDLE hThread
,int nPriority
);
1273 WINBASEAPI WINBOOL WINAPI
SetThreadPriorityBoost(HANDLE hThread
,WINBOOL bDisablePriorityBoost
);
1274 WINBASEAPI WINBOOL WINAPI
GetThreadPriorityBoost(HANDLE hThread
,PBOOL pDisablePriorityBoost
);
1275 WINBASEAPI
int WINAPI
GetThreadPriority(HANDLE hThread
);
1276 WINBASEAPI WINBOOL WINAPI
GetThreadTimes(HANDLE hThread
,LPFILETIME lpCreationTime
,LPFILETIME lpExitTime
,LPFILETIME lpKernelTime
,LPFILETIME lpUserTime
);
1277 WINBASEAPI WINBOOL WINAPI
GetThreadIOPendingFlag(HANDLE hThread
,PBOOL lpIOIsPending
);
1278 WINBASEAPI DECLSPEC_NORETURN VOID WINAPI
ExitThread(DWORD dwExitCode
);
1279 WINBASEAPI WINBOOL WINAPI
TerminateThread(HANDLE hThread
,DWORD dwExitCode
);
1280 WINBASEAPI WINBOOL WINAPI
GetExitCodeThread(HANDLE hThread
,LPDWORD lpExitCode
);
1281 WINBASEAPI WINBOOL WINAPI
GetThreadSelectorEntry(HANDLE hThread
,DWORD dwSelector
,LPLDT_ENTRY lpSelectorEntry
);
1282 WINBASEAPI EXECUTION_STATE WINAPI
SetThreadExecutionState(EXECUTION_STATE esFlags
);
1283 WINBASEAPI DWORD WINAPI
GetLastError(VOID
);
1284 WINBASEAPI VOID WINAPI
SetLastError(DWORD dwErrCode
);
1287 #ifdef WINBASE_DECLARE_RESTORE_LAST_ERROR
1288 WINBASEAPI VOID WINAPI
RestoreLastError(DWORD dwErrCode
);
1290 typedef VOID (WINAPI
*PRESTORE_LAST_ERROR
)(DWORD
);
1292 #define RESTORE_LAST_ERROR_NAME_A "RestoreLastError"
1293 #define RESTORE_LAST_ERROR_NAME_W L"RestoreLastError"
1294 #define RESTORE_LAST_ERROR_NAME TEXT("RestoreLastError")
1298 #define HasOverlappedIoCompleted(lpOverlapped) (((DWORD)(lpOverlapped)->Internal)!=STATUS_PENDING)
1300 WINBASEAPI WINBOOL WINAPI
GetOverlappedResult(HANDLE hFile
,LPOVERLAPPED lpOverlapped
,LPDWORD lpNumberOfBytesTransferred
,WINBOOL bWait
);
1301 WINBASEAPI HANDLE WINAPI
CreateIoCompletionPort(HANDLE FileHandle
,HANDLE ExistingCompletionPort
,ULONG_PTR CompletionKey
,DWORD NumberOfConcurrentThreads
);
1302 WINBASEAPI WINBOOL WINAPI
GetQueuedCompletionStatus(HANDLE CompletionPort
,LPDWORD lpNumberOfBytesTransferred
,PULONG_PTR lpCompletionKey
,LPOVERLAPPED
*lpOverlapped
,DWORD dwMilliseconds
);
1303 WINBASEAPI WINBOOL WINAPI
PostQueuedCompletionStatus(HANDLE CompletionPort
,DWORD dwNumberOfBytesTransferred
,ULONG_PTR dwCompletionKey
,LPOVERLAPPED lpOverlapped
);
1305 #define SEM_FAILCRITICALERRORS 0x1
1306 #define SEM_NOGPFAULTERRORBOX 0x2
1307 #define SEM_NOALIGNMENTFAULTEXCEPT 0x4
1308 #define SEM_NOOPENFILEERRORBOX 0x8000
1310 WINBASEAPI UINT WINAPI
SetErrorMode(UINT uMode
);
1311 WINBASEAPI WINBOOL WINAPI
ReadProcessMemory(HANDLE hProcess
,LPCVOID lpBaseAddress
,LPVOID lpBuffer
,SIZE_T nSize
,SIZE_T
*lpNumberOfBytesRead
);
1312 WINBASEAPI WINBOOL WINAPI
WriteProcessMemory(HANDLE hProcess
,LPVOID lpBaseAddress
,LPCVOID lpBuffer
,SIZE_T nSize
,SIZE_T
*lpNumberOfBytesWritten
);
1313 WINBASEAPI WINBOOL WINAPI
GetThreadContext(HANDLE hThread
,LPCONTEXT lpContext
);
1314 WINBASEAPI WINBOOL WINAPI
SetThreadContext(HANDLE hThread
,CONST CONTEXT
*lpContext
);
1315 WINBASEAPI DWORD WINAPI
SuspendThread(HANDLE hThread
);
1316 WINBASEAPI DWORD WINAPI
ResumeThread(HANDLE hThread
);
1318 typedef VOID (WINAPI
*PAPCFUNC
)(ULONG_PTR dwParam
);
1320 WINBASEAPI DWORD WINAPI
QueueUserAPC(PAPCFUNC pfnAPC
,HANDLE hThread
,ULONG_PTR dwData
);
1321 WINBASEAPI WINBOOL WINAPI
IsDebuggerPresent(VOID
);
1322 WINBASEAPI WINBOOL WINAPI
CheckRemoteDebuggerPresent(HANDLE hProcess
,PBOOL pbDebuggerPresent
);
1323 WINBASEAPI VOID WINAPI
DebugBreak(VOID
);
1324 WINBASEAPI WINBOOL WINAPI
WaitForDebugEvent(LPDEBUG_EVENT lpDebugEvent
,DWORD dwMilliseconds
);
1325 WINBASEAPI WINBOOL WINAPI
ContinueDebugEvent(DWORD dwProcessId
,DWORD dwThreadId
,DWORD dwContinueStatus
);
1326 WINBASEAPI WINBOOL WINAPI
DebugActiveProcess(DWORD dwProcessId
);
1327 WINBASEAPI WINBOOL WINAPI
DebugActiveProcessStop(DWORD dwProcessId
);
1328 WINBASEAPI WINBOOL WINAPI
DebugSetProcessKillOnExit(WINBOOL KillOnExit
);
1329 WINBASEAPI WINBOOL WINAPI
DebugBreakProcess(HANDLE Process
);
1330 WINBASEAPI VOID WINAPI
InitializeCriticalSection(LPCRITICAL_SECTION lpCriticalSection
);
1331 WINBASEAPI VOID WINAPI
EnterCriticalSection(LPCRITICAL_SECTION lpCriticalSection
);
1332 WINBASEAPI VOID WINAPI
LeaveCriticalSection(LPCRITICAL_SECTION lpCriticalSection
);
1333 WINBASEAPI WINBOOL WINAPI
InitializeCriticalSectionAndSpinCount(LPCRITICAL_SECTION lpCriticalSection
,DWORD dwSpinCount
);
1334 WINBASEAPI DWORD WINAPI
SetCriticalSectionSpinCount(LPCRITICAL_SECTION lpCriticalSection
,DWORD dwSpinCount
);
1335 WINBASEAPI WINBOOL WINAPI
TryEnterCriticalSection(LPCRITICAL_SECTION lpCriticalSection
);
1336 WINBASEAPI VOID WINAPI
DeleteCriticalSection(LPCRITICAL_SECTION lpCriticalSection
);
1337 WINBASEAPI WINBOOL WINAPI
SetEvent(HANDLE hEvent
);
1338 WINBASEAPI WINBOOL WINAPI
ResetEvent(HANDLE hEvent
);
1339 WINBASEAPI WINBOOL WINAPI
PulseEvent(HANDLE hEvent
);
1340 WINBASEAPI WINBOOL WINAPI
ReleaseSemaphore(HANDLE hSemaphore
,LONG lReleaseCount
,LPLONG lpPreviousCount
);
1341 WINBASEAPI WINBOOL WINAPI
ReleaseMutex(HANDLE hMutex
);
1342 WINBASEAPI DWORD WINAPI
WaitForSingleObject(HANDLE hHandle
,DWORD dwMilliseconds
);
1343 WINBASEAPI DWORD WINAPI
WaitForMultipleObjects(DWORD nCount
,CONST HANDLE
*lpHandles
,WINBOOL bWaitAll
,DWORD dwMilliseconds
);
1344 WINBASEAPI VOID WINAPI
Sleep(DWORD dwMilliseconds
);
1345 WINBASEAPI HGLOBAL WINAPI
LoadResource(HMODULE hModule
,HRSRC hResInfo
);
1346 WINBASEAPI DWORD WINAPI
SizeofResource(HMODULE hModule
,HRSRC hResInfo
);
1347 WINBASEAPI ATOM WINAPI
GlobalDeleteAtom(ATOM nAtom
);
1348 WINBASEAPI WINBOOL WINAPI
InitAtomTable(DWORD nSize
);
1349 WINBASEAPI ATOM WINAPI
DeleteAtom(ATOM nAtom
);
1350 WINBASEAPI UINT WINAPI
SetHandleCount(UINT uNumber
);
1351 WINBASEAPI DWORD WINAPI
GetLogicalDrives(VOID
);
1352 WINBASEAPI WINBOOL WINAPI
LockFile(HANDLE hFile
,DWORD dwFileOffsetLow
,DWORD dwFileOffsetHigh
,DWORD nNumberOfBytesToLockLow
,DWORD nNumberOfBytesToLockHigh
);
1353 WINBASEAPI WINBOOL WINAPI
UnlockFile(HANDLE hFile
,DWORD dwFileOffsetLow
,DWORD dwFileOffsetHigh
,DWORD nNumberOfBytesToUnlockLow
,DWORD nNumberOfBytesToUnlockHigh
);
1354 WINBASEAPI WINBOOL WINAPI
LockFileEx(HANDLE hFile
,DWORD dwFlags
,DWORD dwReserved
,DWORD nNumberOfBytesToLockLow
,DWORD nNumberOfBytesToLockHigh
,LPOVERLAPPED lpOverlapped
);
1356 #define LOCKFILE_FAIL_IMMEDIATELY 0x1
1357 #define LOCKFILE_EXCLUSIVE_LOCK 0x2
1359 WINBASEAPI WINBOOL WINAPI
UnlockFileEx(HANDLE hFile
,DWORD dwReserved
,DWORD nNumberOfBytesToUnlockLow
,DWORD nNumberOfBytesToUnlockHigh
,LPOVERLAPPED lpOverlapped
);
1361 typedef struct _BY_HANDLE_FILE_INFORMATION
{
1362 DWORD dwFileAttributes
;
1363 FILETIME ftCreationTime
;
1364 FILETIME ftLastAccessTime
;
1365 FILETIME ftLastWriteTime
;
1366 DWORD dwVolumeSerialNumber
;
1367 DWORD nFileSizeHigh
;
1369 DWORD nNumberOfLinks
;
1370 DWORD nFileIndexHigh
;
1371 DWORD nFileIndexLow
;
1372 } BY_HANDLE_FILE_INFORMATION
,*PBY_HANDLE_FILE_INFORMATION
,*LPBY_HANDLE_FILE_INFORMATION
;
1375 #define SetFileShortName SetFileShortNameW
1377 #define SetFileShortName SetFileShortNameA
1380 WINBASEAPI WINBOOL WINAPI
GetFileInformationByHandle(HANDLE hFile
,LPBY_HANDLE_FILE_INFORMATION lpFileInformation
);
1381 WINBASEAPI DWORD WINAPI
GetFileType(HANDLE hFile
);
1382 WINBASEAPI DWORD WINAPI
GetFileSize(HANDLE hFile
,LPDWORD lpFileSizeHigh
);
1383 WINBASEAPI WINBOOL WINAPI
GetFileSizeEx(HANDLE hFile
,PLARGE_INTEGER lpFileSize
);
1384 WINBASEAPI HANDLE WINAPI
GetStdHandle(DWORD nStdHandle
);
1385 WINBASEAPI WINBOOL WINAPI
SetStdHandle(DWORD nStdHandle
,HANDLE hHandle
);
1386 WINBASEAPI WINBOOL WINAPI
WriteFile(HANDLE hFile
,LPCVOID lpBuffer
,DWORD nNumberOfBytesToWrite
,LPDWORD lpNumberOfBytesWritten
,LPOVERLAPPED lpOverlapped
);
1387 WINBASEAPI WINBOOL WINAPI
ReadFile(HANDLE hFile
,LPVOID lpBuffer
,DWORD nNumberOfBytesToRead
,LPDWORD lpNumberOfBytesRead
,LPOVERLAPPED lpOverlapped
);
1388 WINBASEAPI WINBOOL WINAPI
FlushFileBuffers(HANDLE hFile
);
1389 WINBASEAPI WINBOOL WINAPI
DeviceIoControl(HANDLE hDevice
,DWORD dwIoControlCode
,LPVOID lpInBuffer
,DWORD nInBufferSize
,LPVOID lpOutBuffer
,DWORD nOutBufferSize
,LPDWORD lpBytesReturned
,LPOVERLAPPED lpOverlapped
);
1390 WINBASEAPI WINBOOL WINAPI
RequestDeviceWakeup(HANDLE hDevice
);
1391 WINBASEAPI WINBOOL WINAPI
CancelDeviceWakeupRequest(HANDLE hDevice
);
1392 WINBASEAPI WINBOOL WINAPI
GetDevicePowerState(HANDLE hDevice
,WINBOOL
*pfOn
);
1393 WINBASEAPI WINBOOL WINAPI
SetMessageWaitingIndicator(HANDLE hMsgIndicator
,ULONG ulMsgCount
);
1394 WINBASEAPI WINBOOL WINAPI
SetEndOfFile(HANDLE hFile
);
1395 WINBASEAPI DWORD WINAPI
SetFilePointer(HANDLE hFile
,LONG lDistanceToMove
,PLONG lpDistanceToMoveHigh
,DWORD dwMoveMethod
);
1396 WINBASEAPI WINBOOL WINAPI
SetFilePointerEx(HANDLE hFile
,LARGE_INTEGER liDistanceToMove
,PLARGE_INTEGER lpNewFilePointer
,DWORD dwMoveMethod
);
1397 WINBASEAPI WINBOOL WINAPI
FindClose(HANDLE hFindFile
);
1398 WINBASEAPI WINBOOL WINAPI
GetFileTime(HANDLE hFile
,LPFILETIME lpCreationTime
,LPFILETIME lpLastAccessTime
,LPFILETIME lpLastWriteTime
);
1399 WINBASEAPI WINBOOL WINAPI
SetFileTime(HANDLE hFile
,CONST FILETIME
*lpCreationTime
,CONST FILETIME
*lpLastAccessTime
,CONST FILETIME
*lpLastWriteTime
);
1400 WINBASEAPI WINBOOL WINAPI
SetFileValidData(HANDLE hFile
,LONGLONG ValidDataLength
);
1401 WINBASEAPI WINBOOL WINAPI
SetFileShortNameA(HANDLE hFile
,LPCSTR lpShortName
);
1402 WINBASEAPI WINBOOL WINAPI
SetFileShortNameW(HANDLE hFile
,LPCWSTR lpShortName
);
1403 WINBASEAPI WINBOOL WINAPI
CloseHandle(HANDLE hObject
);
1404 WINBASEAPI WINBOOL WINAPI
DuplicateHandle(HANDLE hSourceProcessHandle
,HANDLE hSourceHandle
,HANDLE hTargetProcessHandle
,LPHANDLE lpTargetHandle
,DWORD dwDesiredAccess
,WINBOOL bInheritHandle
,DWORD dwOptions
);
1405 WINBASEAPI WINBOOL WINAPI
GetHandleInformation(HANDLE hObject
,LPDWORD lpdwFlags
);
1406 WINBASEAPI WINBOOL WINAPI
SetHandleInformation(HANDLE hObject
,DWORD dwMask
,DWORD dwFlags
);
1408 #define HANDLE_FLAG_INHERIT 0x1
1409 #define HANDLE_FLAG_PROTECT_FROM_CLOSE 0x2
1411 #define HINSTANCE_ERROR 32
1413 WINBASEAPI DWORD WINAPI
LoadModule(LPCSTR lpModuleName
,LPVOID lpParameterBlock
);
1414 WINBASEAPI UINT WINAPI
WinExec(LPCSTR lpCmdLine
,UINT uCmdShow
);
1415 WINBASEAPI WINBOOL WINAPI
ClearCommBreak(HANDLE hFile
);
1416 WINBASEAPI WINBOOL WINAPI
ClearCommError(HANDLE hFile
,LPDWORD lpErrors
,LPCOMSTAT lpStat
);
1417 WINBASEAPI WINBOOL WINAPI
SetupComm(HANDLE hFile
,DWORD dwInQueue
,DWORD dwOutQueue
);
1418 WINBASEAPI WINBOOL WINAPI
EscapeCommFunction(HANDLE hFile
,DWORD dwFunc
);
1419 WINBASEAPI WINBOOL WINAPI
GetCommConfig(HANDLE hCommDev
,LPCOMMCONFIG lpCC
,LPDWORD lpdwSize
);
1420 WINBASEAPI WINBOOL WINAPI
GetCommMask(HANDLE hFile
,LPDWORD lpEvtMask
);
1421 WINBASEAPI WINBOOL WINAPI
GetCommProperties(HANDLE hFile
,LPCOMMPROP lpCommProp
);
1422 WINBASEAPI WINBOOL WINAPI
GetCommModemStatus(HANDLE hFile
,LPDWORD lpModemStat
);
1423 WINBASEAPI WINBOOL WINAPI
GetCommState(HANDLE hFile
,LPDCB lpDCB
);
1424 WINBASEAPI WINBOOL WINAPI
GetCommTimeouts(HANDLE hFile
,LPCOMMTIMEOUTS lpCommTimeouts
);
1425 WINBASEAPI WINBOOL WINAPI
PurgeComm(HANDLE hFile
,DWORD dwFlags
);
1426 WINBASEAPI WINBOOL WINAPI
SetCommBreak(HANDLE hFile
);
1427 WINBASEAPI WINBOOL WINAPI
SetCommConfig(HANDLE hCommDev
,LPCOMMCONFIG lpCC
,DWORD dwSize
);
1428 WINBASEAPI WINBOOL WINAPI
SetCommMask(HANDLE hFile
,DWORD dwEvtMask
);
1429 WINBASEAPI WINBOOL WINAPI
SetCommState(HANDLE hFile
,LPDCB lpDCB
);
1430 WINBASEAPI WINBOOL WINAPI
SetCommTimeouts(HANDLE hFile
,LPCOMMTIMEOUTS lpCommTimeouts
);
1431 WINBASEAPI WINBOOL WINAPI
TransmitCommChar(HANDLE hFile
,char cChar
);
1432 WINBASEAPI WINBOOL WINAPI
WaitCommEvent(HANDLE hFile
,LPDWORD lpEvtMask
,LPOVERLAPPED lpOverlapped
);
1433 WINBASEAPI DWORD WINAPI
SetTapePosition(HANDLE hDevice
,DWORD dwPositionMethod
,DWORD dwPartition
,DWORD dwOffsetLow
,DWORD dwOffsetHigh
,WINBOOL bImmediate
);
1434 WINBASEAPI DWORD WINAPI
GetTapePosition(HANDLE hDevice
,DWORD dwPositionType
,LPDWORD lpdwPartition
,LPDWORD lpdwOffsetLow
,LPDWORD lpdwOffsetHigh
);
1435 WINBASEAPI DWORD WINAPI
PrepareTape(HANDLE hDevice
,DWORD dwOperation
,WINBOOL bImmediate
);
1436 WINBASEAPI DWORD WINAPI
EraseTape(HANDLE hDevice
,DWORD dwEraseType
,WINBOOL bImmediate
);
1437 WINBASEAPI DWORD WINAPI
CreateTapePartition(HANDLE hDevice
,DWORD dwPartitionMethod
,DWORD dwCount
,DWORD dwSize
);
1438 WINBASEAPI DWORD WINAPI
WriteTapemark(HANDLE hDevice
,DWORD dwTapemarkType
,DWORD dwTapemarkCount
,WINBOOL bImmediate
);
1439 WINBASEAPI DWORD WINAPI
GetTapeStatus(HANDLE hDevice
);
1440 WINBASEAPI DWORD WINAPI
GetTapeParameters(HANDLE hDevice
,DWORD dwOperation
,LPDWORD lpdwSize
,LPVOID lpTapeInformation
);
1442 #define GET_TAPE_MEDIA_INFORMATION 0
1443 #define GET_TAPE_DRIVE_INFORMATION 1
1445 WINBASEAPI DWORD WINAPI
SetTapeParameters(HANDLE hDevice
,DWORD dwOperation
,LPVOID lpTapeInformation
);
1447 #define SET_TAPE_MEDIA_INFORMATION 0
1448 #define SET_TAPE_DRIVE_INFORMATION 1
1450 WINBASEAPI WINBOOL WINAPI
Beep(DWORD dwFreq
,DWORD dwDuration
);
1451 WINBASEAPI
int WINAPI
MulDiv(int nNumber
,int nNumerator
,int nDenominator
);
1452 WINBASEAPI VOID WINAPI
GetSystemTime(LPSYSTEMTIME lpSystemTime
);
1453 WINBASEAPI VOID WINAPI
GetSystemTimeAsFileTime(LPFILETIME lpSystemTimeAsFileTime
);
1454 WINBASEAPI WINBOOL WINAPI
SetSystemTime(CONST SYSTEMTIME
*lpSystemTime
);
1455 WINBASEAPI VOID WINAPI
GetLocalTime(LPSYSTEMTIME lpSystemTime
);
1456 WINBASEAPI WINBOOL WINAPI
SetLocalTime(CONST SYSTEMTIME
*lpSystemTime
);
1457 WINBASEAPI VOID WINAPI
GetSystemInfo(LPSYSTEM_INFO lpSystemInfo
);
1458 WINBASEAPI WINBOOL WINAPI
SetSystemFileCacheSize(SIZE_T MinimumFileCacheSize
,SIZE_T MaximumFileCacheSize
,DWORD Flags
);
1459 WINBASEAPI WINBOOL WINAPI
GetSystemFileCacheSize(PSIZE_T lpMinimumFileCacheSize
,PSIZE_T lpMaximumFileCacheSize
,PDWORD lpFlags
);
1460 WINBASEAPI WINBOOL WINAPI
GetSystemRegistryQuota(PDWORD pdwQuotaAllowed
,PDWORD pdwQuotaUsed
);
1461 WINBOOL WINAPI
GetSystemTimes(LPFILETIME lpIdleTime
,LPFILETIME lpKernelTime
,LPFILETIME lpUserTime
);
1462 WINBASEAPI VOID WINAPI
GetNativeSystemInfo(LPSYSTEM_INFO lpSystemInfo
);
1463 WINBASEAPI WINBOOL WINAPI
IsProcessorFeaturePresent(DWORD ProcessorFeature
);
1465 typedef struct _TIME_ZONE_INFORMATION
{
1467 WCHAR StandardName
[32];
1468 SYSTEMTIME StandardDate
;
1470 WCHAR DaylightName
[32];
1471 SYSTEMTIME DaylightDate
;
1473 } TIME_ZONE_INFORMATION
,*PTIME_ZONE_INFORMATION
,*LPTIME_ZONE_INFORMATION
;
1476 #define FormatMessage FormatMessageW
1478 #define FormatMessage FormatMessageA
1481 WINBASEAPI WINBOOL WINAPI
SystemTimeToTzSpecificLocalTime(LPTIME_ZONE_INFORMATION lpTimeZoneInformation
,LPSYSTEMTIME lpUniversalTime
,LPSYSTEMTIME lpLocalTime
);
1482 WINBASEAPI WINBOOL WINAPI
TzSpecificLocalTimeToSystemTime(LPTIME_ZONE_INFORMATION lpTimeZoneInformation
,LPSYSTEMTIME lpLocalTime
,LPSYSTEMTIME lpUniversalTime
);
1483 WINBASEAPI DWORD WINAPI
GetTimeZoneInformation(LPTIME_ZONE_INFORMATION lpTimeZoneInformation
);
1484 WINBASEAPI WINBOOL WINAPI
SetTimeZoneInformation(CONST TIME_ZONE_INFORMATION
*lpTimeZoneInformation
);
1485 WINBASEAPI WINBOOL WINAPI
SystemTimeToFileTime(CONST SYSTEMTIME
*lpSystemTime
,LPFILETIME lpFileTime
);
1486 WINBASEAPI WINBOOL WINAPI
FileTimeToLocalFileTime(CONST FILETIME
*lpFileTime
,LPFILETIME lpLocalFileTime
);
1487 WINBASEAPI WINBOOL WINAPI
LocalFileTimeToFileTime(CONST FILETIME
*lpLocalFileTime
,LPFILETIME lpFileTime
);
1488 WINBASEAPI WINBOOL WINAPI
FileTimeToSystemTime(CONST FILETIME
*lpFileTime
,LPSYSTEMTIME lpSystemTime
);
1489 WINBASEAPI LONG WINAPI
CompareFileTime(CONST FILETIME
*lpFileTime1
,CONST FILETIME
*lpFileTime2
);
1490 WINBASEAPI WINBOOL WINAPI
FileTimeToDosDateTime(CONST FILETIME
*lpFileTime
,LPWORD lpFatDate
,LPWORD lpFatTime
);
1491 WINBASEAPI WINBOOL WINAPI
DosDateTimeToFileTime(WORD wFatDate
,WORD wFatTime
,LPFILETIME lpFileTime
);
1492 WINBASEAPI DWORD WINAPI
GetTickCount(VOID
);
1493 WINBASEAPI WINBOOL WINAPI
SetSystemTimeAdjustment(DWORD dwTimeAdjustment
,WINBOOL bTimeAdjustmentDisabled
);
1494 WINBASEAPI WINBOOL WINAPI
GetSystemTimeAdjustment(PDWORD lpTimeAdjustment
,PDWORD lpTimeIncrement
,PBOOL lpTimeAdjustmentDisabled
);
1495 WINBASEAPI DWORD WINAPI
FormatMessageA(DWORD dwFlags
,LPCVOID lpSource
,DWORD dwMessageId
,DWORD dwLanguageId
,LPSTR lpBuffer
,DWORD nSize
,va_list *Arguments
);
1496 WINBASEAPI DWORD WINAPI
FormatMessageW(DWORD dwFlags
,LPCVOID lpSource
,DWORD dwMessageId
,DWORD dwLanguageId
,LPWSTR lpBuffer
,DWORD nSize
,va_list *Arguments
);
1498 #define FORMAT_MESSAGE_ALLOCATE_BUFFER 0x100
1499 #define FORMAT_MESSAGE_IGNORE_INSERTS 0x200
1500 #define FORMAT_MESSAGE_FROM_STRING 0x400
1501 #define FORMAT_MESSAGE_FROM_HMODULE 0x800
1502 #define FORMAT_MESSAGE_FROM_SYSTEM 0x1000
1503 #define FORMAT_MESSAGE_ARGUMENT_ARRAY 0x2000
1504 #define FORMAT_MESSAGE_MAX_WIDTH_MASK 0xff
1507 #define CreateMailslot CreateMailslotW
1508 #define EncryptFile EncryptFileW
1509 #define DecryptFile DecryptFileW
1510 #define FileEncryptionStatus FileEncryptionStatusW
1512 #define CreateMailslot CreateMailslotA
1513 #define EncryptFile EncryptFileA
1514 #define DecryptFile DecryptFileA
1515 #define FileEncryptionStatus FileEncryptionStatusA
1518 WINBASEAPI WINBOOL WINAPI
CreatePipe(PHANDLE hReadPipe
,PHANDLE hWritePipe
,LPSECURITY_ATTRIBUTES lpPipeAttributes
,DWORD nSize
);
1519 WINBASEAPI WINBOOL WINAPI
ConnectNamedPipe(HANDLE hNamedPipe
,LPOVERLAPPED lpOverlapped
);
1520 WINBASEAPI WINBOOL WINAPI
DisconnectNamedPipe(HANDLE hNamedPipe
);
1521 WINBASEAPI WINBOOL WINAPI
SetNamedPipeHandleState(HANDLE hNamedPipe
,LPDWORD lpMode
,LPDWORD lpMaxCollectionCount
,LPDWORD lpCollectDataTimeout
);
1522 WINBASEAPI WINBOOL WINAPI
GetNamedPipeInfo(HANDLE hNamedPipe
,LPDWORD lpFlags
,LPDWORD lpOutBufferSize
,LPDWORD lpInBufferSize
,LPDWORD lpMaxInstances
);
1523 WINBASEAPI WINBOOL WINAPI
PeekNamedPipe(HANDLE hNamedPipe
,LPVOID lpBuffer
,DWORD nBufferSize
,LPDWORD lpBytesRead
,LPDWORD lpTotalBytesAvail
,LPDWORD lpBytesLeftThisMessage
);
1524 WINBASEAPI WINBOOL WINAPI
TransactNamedPipe(HANDLE hNamedPipe
,LPVOID lpInBuffer
,DWORD nInBufferSize
,LPVOID lpOutBuffer
,DWORD nOutBufferSize
,LPDWORD lpBytesRead
,LPOVERLAPPED lpOverlapped
);
1525 WINBASEAPI HANDLE WINAPI
CreateMailslotA(LPCSTR lpName
,DWORD nMaxMessageSize
,DWORD lReadTimeout
,LPSECURITY_ATTRIBUTES lpSecurityAttributes
);
1526 WINBASEAPI HANDLE WINAPI
CreateMailslotW(LPCWSTR lpName
,DWORD nMaxMessageSize
,DWORD lReadTimeout
,LPSECURITY_ATTRIBUTES lpSecurityAttributes
);
1527 WINBASEAPI WINBOOL WINAPI
GetMailslotInfo(HANDLE hMailslot
,LPDWORD lpMaxMessageSize
,LPDWORD lpNextSize
,LPDWORD lpMessageCount
,LPDWORD lpReadTimeout
);
1528 WINBASEAPI WINBOOL WINAPI
SetMailslotInfo(HANDLE hMailslot
,DWORD lReadTimeout
);
1529 WINBASEAPI LPVOID WINAPI
MapViewOfFile(HANDLE hFileMappingObject
,DWORD dwDesiredAccess
,DWORD dwFileOffsetHigh
,DWORD dwFileOffsetLow
,SIZE_T dwNumberOfBytesToMap
);
1530 WINBASEAPI WINBOOL WINAPI
FlushViewOfFile(LPCVOID lpBaseAddress
,SIZE_T dwNumberOfBytesToFlush
);
1531 WINBASEAPI WINBOOL WINAPI
UnmapViewOfFile(LPCVOID lpBaseAddress
);
1532 WINADVAPI WINBOOL WINAPI
EncryptFileA(LPCSTR lpFileName
);
1533 WINADVAPI WINBOOL WINAPI
EncryptFileW(LPCWSTR lpFileName
);
1534 WINADVAPI WINBOOL WINAPI
DecryptFileA(LPCSTR lpFileName
,DWORD dwReserved
);
1535 WINADVAPI WINBOOL WINAPI
DecryptFileW(LPCWSTR lpFileName
,DWORD dwReserved
);
1537 #define FILE_ENCRYPTABLE 0
1538 #define FILE_IS_ENCRYPTED 1
1539 #define FILE_SYSTEM_ATTR 2
1540 #define FILE_ROOT_DIR 3
1541 #define FILE_SYSTEM_DIR 4
1542 #define FILE_UNKNOWN 5
1543 #define FILE_SYSTEM_NOT_SUPPORT 6
1544 #define FILE_USER_DISALLOWED 7
1545 #define FILE_READ_ONLY 8
1546 #define FILE_DIR_DISALLOWED 9
1548 WINADVAPI WINBOOL WINAPI
FileEncryptionStatusA(LPCSTR lpFileName
,LPDWORD lpStatus
);
1549 WINADVAPI WINBOOL WINAPI
FileEncryptionStatusW(LPCWSTR lpFileName
,LPDWORD lpStatus
);
1551 #define EFS_USE_RECOVERY_KEYS (0x1)
1553 typedef DWORD (WINAPI
*PFE_EXPORT_FUNC
)(PBYTE pbData
,PVOID pvCallbackContext
,ULONG ulLength
);
1554 typedef DWORD (WINAPI
*PFE_IMPORT_FUNC
)(PBYTE pbData
,PVOID pvCallbackContext
,PULONG ulLength
);
1556 #define CREATE_FOR_IMPORT (1)
1557 #define CREATE_FOR_DIR (2)
1558 #define OVERWRITE_HIDDEN (4)
1561 #define OpenEncryptedFileRaw OpenEncryptedFileRawW
1562 #define lstrcmp lstrcmpW
1563 #define lstrcmpi lstrcmpiW
1564 #define lstrcpyn lstrcpynW
1565 #define lstrcpy lstrcpyW
1566 #define lstrcat lstrcatW
1567 #define lstrlen lstrlenW
1569 #define OpenEncryptedFileRaw OpenEncryptedFileRawA
1570 #define lstrcmp lstrcmpA
1571 #define lstrcmpi lstrcmpiA
1572 #define lstrcpyn lstrcpynA
1573 #define lstrcpy lstrcpyA
1574 #define lstrcat lstrcatA
1575 #define lstrlen lstrlenA
1578 WINADVAPI DWORD WINAPI
OpenEncryptedFileRawA(LPCSTR lpFileName
,ULONG ulFlags
,PVOID
*pvContext
);
1579 WINADVAPI DWORD WINAPI
OpenEncryptedFileRawW(LPCWSTR lpFileName
,ULONG ulFlags
,PVOID
*pvContext
);
1580 WINADVAPI DWORD WINAPI
ReadEncryptedFileRaw(PFE_EXPORT_FUNC pfExportCallback
,PVOID pvCallbackContext
,PVOID pvContext
);
1581 WINADVAPI DWORD WINAPI
WriteEncryptedFileRaw(PFE_IMPORT_FUNC pfImportCallback
,PVOID pvCallbackContext
,PVOID pvContext
);
1582 WINADVAPI VOID WINAPI
CloseEncryptedFileRaw(PVOID pvContext
);
1583 WINBASEAPI
int WINAPI
lstrcmpA(LPCSTR lpString1
,LPCSTR lpString2
);
1584 WINBASEAPI
int WINAPI
lstrcmpW(LPCWSTR lpString1
,LPCWSTR lpString2
);
1585 WINBASEAPI
int WINAPI
lstrcmpiA(LPCSTR lpString1
,LPCSTR lpString2
);
1586 WINBASEAPI
int WINAPI
lstrcmpiW(LPCWSTR lpString1
,LPCWSTR lpString2
);
1587 WINBASEAPI LPSTR WINAPI
lstrcpynA(LPSTR lpString1
,LPCSTR lpString2
,int iMaxLength
);
1588 WINBASEAPI LPWSTR WINAPI
lstrcpynW(LPWSTR lpString1
,LPCWSTR lpString2
,int iMaxLength
);
1589 WINBASEAPI LPSTR WINAPI
lstrcpyA(LPSTR lpString1
,LPCSTR lpString2
);
1590 WINBASEAPI LPWSTR WINAPI
lstrcpyW(LPWSTR lpString1
,LPCWSTR lpString2
);
1591 WINBASEAPI LPSTR WINAPI
lstrcatA(LPSTR lpString1
,LPCSTR lpString2
);
1592 WINBASEAPI LPWSTR WINAPI
lstrcatW(LPWSTR lpString1
,LPCWSTR lpString2
);
1593 WINBASEAPI
int WINAPI
lstrlenA(LPCSTR lpString
);
1594 WINBASEAPI
int WINAPI
lstrlenW(LPCWSTR lpString
);
1595 WINBASEAPI HFILE WINAPI
OpenFile(LPCSTR lpFileName
,LPOFSTRUCT lpReOpenBuff
,UINT uStyle
);
1596 WINBASEAPI HFILE WINAPI
_lopen(LPCSTR lpPathName
,int iReadWrite
);
1597 WINBASEAPI HFILE WINAPI
_lcreat(LPCSTR lpPathName
,int iAttribute
);
1598 WINBASEAPI UINT WINAPI
_lread(HFILE hFile
,LPVOID lpBuffer
,UINT uBytes
);
1599 WINBASEAPI UINT WINAPI
_lwrite(HFILE hFile
,LPCCH lpBuffer
,UINT uBytes
);
1600 WINBASEAPI
long WINAPI
_hread(HFILE hFile
,LPVOID lpBuffer
,long lBytes
);
1601 WINBASEAPI
long WINAPI
_hwrite(HFILE hFile
,LPCCH lpBuffer
,long lBytes
);
1602 WINBASEAPI HFILE WINAPI
_lclose(HFILE hFile
);
1603 WINBASEAPI LONG WINAPI
_llseek(HFILE hFile
,LONG lOffset
,int iOrigin
);
1604 WINADVAPI WINBOOL WINAPI
IsTextUnicode(CONST VOID
*lpv
,int iSize
,LPINT lpiResult
);
1606 #define FLS_OUT_OF_INDEXES ((DWORD)0xffffffff)
1608 WINBASEAPI DWORD WINAPI
FlsAlloc(PFLS_CALLBACK_FUNCTION lpCallback
);
1609 WINBASEAPI PVOID WINAPI
FlsGetValue(DWORD dwFlsIndex
);
1610 WINBASEAPI WINBOOL WINAPI
FlsSetValue(DWORD dwFlsIndex
,PVOID lpFlsData
);
1611 WINBASEAPI WINBOOL WINAPI
FlsFree(DWORD dwFlsIndex
);
1613 #define TLS_OUT_OF_INDEXES ((DWORD)0xffffffff)
1615 WINBASEAPI DWORD WINAPI
TlsAlloc(VOID
);
1616 WINBASEAPI LPVOID WINAPI
TlsGetValue(DWORD dwTlsIndex
);
1617 WINBASEAPI WINBOOL WINAPI
TlsSetValue(DWORD dwTlsIndex
,LPVOID lpTlsValue
);
1618 WINBASEAPI WINBOOL WINAPI
TlsFree(DWORD dwTlsIndex
);
1620 typedef VOID (WINAPI
*LPOVERLAPPED_COMPLETION_ROUTINE
)(DWORD dwErrorCode
,DWORD dwNumberOfBytesTransfered
,LPOVERLAPPED lpOverlapped
);
1622 WINBASEAPI DWORD WINAPI
SleepEx(DWORD dwMilliseconds
,WINBOOL bAlertable
);
1623 WINBASEAPI DWORD WINAPI
WaitForSingleObjectEx(HANDLE hHandle
,DWORD dwMilliseconds
,WINBOOL bAlertable
);
1624 WINBASEAPI DWORD WINAPI
WaitForMultipleObjectsEx(DWORD nCount
,CONST HANDLE
*lpHandles
,WINBOOL bWaitAll
,DWORD dwMilliseconds
,WINBOOL bAlertable
);
1625 WINBASEAPI DWORD WINAPI
SignalObjectAndWait(HANDLE hObjectToSignal
,HANDLE hObjectToWaitOn
,DWORD dwMilliseconds
,WINBOOL bAlertable
);
1626 WINBASEAPI WINBOOL WINAPI
ReadFileEx(HANDLE hFile
,LPVOID lpBuffer
,DWORD nNumberOfBytesToRead
,LPOVERLAPPED lpOverlapped
,LPOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine
);
1627 WINBASEAPI WINBOOL WINAPI
WriteFileEx(HANDLE hFile
,LPCVOID lpBuffer
,DWORD nNumberOfBytesToWrite
,LPOVERLAPPED lpOverlapped
,LPOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine
);
1628 WINBASEAPI WINBOOL WINAPI
BackupRead(HANDLE hFile
,LPBYTE lpBuffer
,DWORD nNumberOfBytesToRead
,LPDWORD lpNumberOfBytesRead
,WINBOOL bAbort
,WINBOOL bProcessSecurity
,LPVOID
*lpContext
);
1629 WINBASEAPI WINBOOL WINAPI
BackupSeek(HANDLE hFile
,DWORD dwLowBytesToSeek
,DWORD dwHighBytesToSeek
,LPDWORD lpdwLowByteSeeked
,LPDWORD lpdwHighByteSeeked
,LPVOID
*lpContext
);
1630 WINBASEAPI WINBOOL WINAPI
BackupWrite(HANDLE hFile
,LPBYTE lpBuffer
,DWORD nNumberOfBytesToWrite
,LPDWORD lpNumberOfBytesWritten
,WINBOOL bAbort
,WINBOOL bProcessSecurity
,LPVOID
*lpContext
);
1632 typedef struct _WIN32_STREAM_ID
{
1634 DWORD dwStreamAttributes
;
1636 DWORD dwStreamNameSize
;
1637 WCHAR cStreamName
[ANYSIZE_ARRAY
];
1638 } WIN32_STREAM_ID
,*LPWIN32_STREAM_ID
;
1640 #define BACKUP_INVALID 0x0
1641 #define BACKUP_DATA 0x1
1642 #define BACKUP_EA_DATA 0x2
1643 #define BACKUP_SECURITY_DATA 0x3
1644 #define BACKUP_ALTERNATE_DATA 0x4
1645 #define BACKUP_LINK 0x5
1646 #define BACKUP_PROPERTY_DATA 0x6
1647 #define BACKUP_OBJECT_ID 0x7
1648 #define BACKUP_REPARSE_DATA 0x8
1649 #define BACKUP_SPARSE_BLOCK 0x9
1651 #define STREAM_NORMAL_ATTRIBUTE 0x0
1652 #define STREAM_MODIFIED_WHEN_READ 0x1
1653 #define STREAM_CONTAINS_SECURITY 0x2
1654 #define STREAM_CONTAINS_PROPERTIES 0x4
1655 #define STREAM_SPARSE_ATTRIBUTE 0x8
1657 WINBASEAPI WINBOOL WINAPI
ReadFileScatter(HANDLE hFile
,FILE_SEGMENT_ELEMENT aSegmentArray
[],DWORD nNumberOfBytesToRead
,LPDWORD lpReserved
,LPOVERLAPPED lpOverlapped
);
1658 WINBASEAPI WINBOOL WINAPI
WriteFileGather(HANDLE hFile
,FILE_SEGMENT_ELEMENT aSegmentArray
[],DWORD nNumberOfBytesToWrite
,LPDWORD lpReserved
,LPOVERLAPPED lpOverlapped
);
1660 #define STARTF_USESHOWWINDOW 0x1
1661 #define STARTF_USESIZE 0x2
1662 #define STARTF_USEPOSITION 0x4
1663 #define STARTF_USECOUNTCHARS 0x8
1664 #define STARTF_USEFILLATTRIBUTE 0x10
1665 #define STARTF_RUNFULLSCREEN 0x20
1666 #define STARTF_FORCEONFEEDBACK 0x40
1667 #define STARTF_FORCEOFFFEEDBACK 0x80
1668 #define STARTF_USESTDHANDLES 0x100
1670 #define STARTF_USEHOTKEY 0x200
1672 typedef struct _STARTUPINFOA
{
1681 DWORD dwXCountChars
;
1682 DWORD dwYCountChars
;
1683 DWORD dwFillAttribute
;
1691 } STARTUPINFOA
,*LPSTARTUPINFOA
;
1693 typedef struct _STARTUPINFOW
{
1702 DWORD dwXCountChars
;
1703 DWORD dwYCountChars
;
1704 DWORD dwFillAttribute
;
1712 } STARTUPINFOW
,*LPSTARTUPINFOW
;
1715 typedef STARTUPINFOW STARTUPINFO
;
1716 typedef LPSTARTUPINFOW LPSTARTUPINFO
;
1718 typedef STARTUPINFOA STARTUPINFO
;
1719 typedef LPSTARTUPINFOA LPSTARTUPINFO
;
1722 #define SHUTDOWN_NORETRY 0x1
1724 typedef struct _WIN32_FIND_DATAA
{
1725 DWORD dwFileAttributes
;
1726 FILETIME ftCreationTime
;
1727 FILETIME ftLastAccessTime
;
1728 FILETIME ftLastWriteTime
;
1729 DWORD nFileSizeHigh
;
1733 CHAR cFileName
[MAX_PATH
];
1734 CHAR cAlternateFileName
[14];
1735 } WIN32_FIND_DATAA
,*PWIN32_FIND_DATAA
,*LPWIN32_FIND_DATAA
;
1737 typedef struct _WIN32_FIND_DATAW
{
1738 DWORD dwFileAttributes
;
1739 FILETIME ftCreationTime
;
1740 FILETIME ftLastAccessTime
;
1741 FILETIME ftLastWriteTime
;
1742 DWORD nFileSizeHigh
;
1746 WCHAR cFileName
[MAX_PATH
];
1747 WCHAR cAlternateFileName
[14];
1748 } WIN32_FIND_DATAW
,*PWIN32_FIND_DATAW
,*LPWIN32_FIND_DATAW
;
1751 typedef WIN32_FIND_DATAW WIN32_FIND_DATA
;
1752 typedef PWIN32_FIND_DATAW PWIN32_FIND_DATA
;
1753 typedef LPWIN32_FIND_DATAW LPWIN32_FIND_DATA
;
1755 typedef WIN32_FIND_DATAA WIN32_FIND_DATA
;
1756 typedef PWIN32_FIND_DATAA PWIN32_FIND_DATA
;
1757 typedef LPWIN32_FIND_DATAA LPWIN32_FIND_DATA
;
1760 typedef struct _WIN32_FILE_ATTRIBUTE_DATA
{
1761 DWORD dwFileAttributes
;
1762 FILETIME ftCreationTime
;
1763 FILETIME ftLastAccessTime
;
1764 FILETIME ftLastWriteTime
;
1765 DWORD nFileSizeHigh
;
1767 } WIN32_FILE_ATTRIBUTE_DATA
,*LPWIN32_FILE_ATTRIBUTE_DATA
;
1770 #define CreateMutex CreateMutexW
1771 #define OpenMutex OpenMutexW
1772 #define CreateEvent CreateEventW
1773 #define OpenEvent OpenEventW
1774 #define CreateSemaphore CreateSemaphoreW
1775 #define OpenSemaphore OpenSemaphoreW
1777 #define CreateMutex CreateMutexA
1778 #define OpenMutex OpenMutexA
1779 #define CreateEvent CreateEventA
1780 #define OpenEvent OpenEventA
1781 #define CreateSemaphore CreateSemaphoreA
1782 #define OpenSemaphore OpenSemaphoreA
1785 WINBASEAPI HANDLE WINAPI
CreateMutexA(LPSECURITY_ATTRIBUTES lpMutexAttributes
,WINBOOL bInitialOwner
,LPCSTR lpName
);
1786 WINBASEAPI HANDLE WINAPI
CreateMutexW(LPSECURITY_ATTRIBUTES lpMutexAttributes
,WINBOOL bInitialOwner
,LPCWSTR lpName
);
1787 WINBASEAPI HANDLE WINAPI
OpenMutexA(DWORD dwDesiredAccess
,WINBOOL bInheritHandle
,LPCSTR lpName
);
1788 WINBASEAPI HANDLE WINAPI
OpenMutexW(DWORD dwDesiredAccess
,WINBOOL bInheritHandle
,LPCWSTR lpName
);
1789 WINBASEAPI HANDLE WINAPI
CreateEventA(LPSECURITY_ATTRIBUTES lpEventAttributes
,WINBOOL bManualReset
,WINBOOL bInitialState
,LPCSTR lpName
);
1790 WINBASEAPI HANDLE WINAPI
CreateEventW(LPSECURITY_ATTRIBUTES lpEventAttributes
,WINBOOL bManualReset
,WINBOOL bInitialState
,LPCWSTR lpName
);
1791 WINBASEAPI HANDLE WINAPI
OpenEventA(DWORD dwDesiredAccess
,WINBOOL bInheritHandle
,LPCSTR lpName
);
1792 WINBASEAPI HANDLE WINAPI
OpenEventW(DWORD dwDesiredAccess
,WINBOOL bInheritHandle
,LPCWSTR lpName
);
1793 WINBASEAPI HANDLE WINAPI
CreateSemaphoreA(LPSECURITY_ATTRIBUTES lpSemaphoreAttributes
,LONG lInitialCount
,LONG lMaximumCount
,LPCSTR lpName
);
1794 WINBASEAPI HANDLE WINAPI
CreateSemaphoreW(LPSECURITY_ATTRIBUTES lpSemaphoreAttributes
,LONG lInitialCount
,LONG lMaximumCount
,LPCWSTR lpName
);
1795 WINBASEAPI HANDLE WINAPI
OpenSemaphoreA(DWORD dwDesiredAccess
,WINBOOL bInheritHandle
,LPCSTR lpName
);
1796 WINBASEAPI HANDLE WINAPI
OpenSemaphoreW(DWORD dwDesiredAccess
,WINBOOL bInheritHandle
,LPCWSTR lpName
);
1798 typedef VOID (WINAPI
*PTIMERAPCROUTINE
)(LPVOID lpArgToCompletionRoutine
,DWORD dwTimerLowValue
,DWORD dwTimerHighValue
);
1801 #define CreateWaitableTimer CreateWaitableTimerW
1802 #define OpenWaitableTimer OpenWaitableTimerW
1803 #define CreateFileMapping CreateFileMappingW
1804 #define OpenFileMapping OpenFileMappingW
1805 #define GetLogicalDriveStrings GetLogicalDriveStringsW
1806 #define LoadLibrary LoadLibraryW
1807 #define LoadLibraryEx LoadLibraryExW
1808 #define GetModuleFileName GetModuleFileNameW
1809 #define GetModuleHandle GetModuleHandleW
1811 #define CreateWaitableTimer CreateWaitableTimerA
1812 #define OpenWaitableTimer OpenWaitableTimerA
1813 #define CreateFileMapping CreateFileMappingA
1814 #define OpenFileMapping OpenFileMappingA
1815 #define GetLogicalDriveStrings GetLogicalDriveStringsA
1816 #define LoadLibrary LoadLibraryA
1817 #define LoadLibraryEx LoadLibraryExA
1818 #define GetModuleFileName GetModuleFileNameA
1819 #define GetModuleHandle GetModuleHandleA
1822 WINBASEAPI HANDLE WINAPI
CreateWaitableTimerA(LPSECURITY_ATTRIBUTES lpTimerAttributes
,WINBOOL bManualReset
,LPCSTR lpTimerName
);
1823 WINBASEAPI HANDLE WINAPI
CreateWaitableTimerW(LPSECURITY_ATTRIBUTES lpTimerAttributes
,WINBOOL bManualReset
,LPCWSTR lpTimerName
);
1824 WINBASEAPI HANDLE WINAPI
OpenWaitableTimerA(DWORD dwDesiredAccess
,WINBOOL bInheritHandle
,LPCSTR lpTimerName
);
1825 WINBASEAPI HANDLE WINAPI
OpenWaitableTimerW(DWORD dwDesiredAccess
,WINBOOL bInheritHandle
,LPCWSTR lpTimerName
);
1826 WINBASEAPI WINBOOL WINAPI
SetWaitableTimer(HANDLE hTimer
,const LARGE_INTEGER
*lpDueTime
,LONG lPeriod
,PTIMERAPCROUTINE pfnCompletionRoutine
,LPVOID lpArgToCompletionRoutine
,WINBOOL fResume
);
1827 WINBASEAPI WINBOOL WINAPI
CancelWaitableTimer(HANDLE hTimer
);
1828 WINBASEAPI HANDLE WINAPI
CreateFileMappingA(HANDLE hFile
,LPSECURITY_ATTRIBUTES lpFileMappingAttributes
,DWORD flProtect
,DWORD dwMaximumSizeHigh
,DWORD dwMaximumSizeLow
,LPCSTR lpName
);
1829 WINBASEAPI HANDLE WINAPI
CreateFileMappingW(HANDLE hFile
,LPSECURITY_ATTRIBUTES lpFileMappingAttributes
,DWORD flProtect
,DWORD dwMaximumSizeHigh
,DWORD dwMaximumSizeLow
,LPCWSTR lpName
);
1830 WINBASEAPI HANDLE WINAPI
OpenFileMappingA(DWORD dwDesiredAccess
,WINBOOL bInheritHandle
,LPCSTR lpName
);
1831 WINBASEAPI HANDLE WINAPI
OpenFileMappingW(DWORD dwDesiredAccess
,WINBOOL bInheritHandle
,LPCWSTR lpName
);
1832 WINBASEAPI DWORD WINAPI
GetLogicalDriveStringsA(DWORD nBufferLength
,LPSTR lpBuffer
);
1833 WINBASEAPI DWORD WINAPI
GetLogicalDriveStringsW(DWORD nBufferLength
,LPWSTR lpBuffer
);
1835 typedef enum _MEMORY_RESOURCE_NOTIFICATION_TYPE
{
1836 LowMemoryResourceNotification
,HighMemoryResourceNotification
1837 } MEMORY_RESOURCE_NOTIFICATION_TYPE
;
1839 WINBASEAPI HANDLE WINAPI
CreateMemoryResourceNotification(MEMORY_RESOURCE_NOTIFICATION_TYPE NotificationType
);
1840 WINBASEAPI WINBOOL WINAPI
QueryMemoryResourceNotification(HANDLE ResourceNotificationHandle
,PBOOL ResourceState
);
1841 WINBASEAPI HMODULE WINAPI
LoadLibraryA(LPCSTR lpLibFileName
);
1842 WINBASEAPI HMODULE WINAPI
LoadLibraryW(LPCWSTR lpLibFileName
);
1843 WINBASEAPI HMODULE WINAPI
LoadLibraryExA(LPCSTR lpLibFileName
,HANDLE hFile
,DWORD dwFlags
);
1844 WINBASEAPI HMODULE WINAPI
LoadLibraryExW(LPCWSTR lpLibFileName
,HANDLE hFile
,DWORD dwFlags
);
1846 #define DONT_RESOLVE_DLL_REFERENCES 0x1
1847 #define LOAD_LIBRARY_AS_DATAFILE 0x2
1848 #define LOAD_WITH_ALTERED_SEARCH_PATH 0x8
1849 #define LOAD_IGNORE_CODE_AUTHZ_LEVEL 0x10
1850 #define LOAD_LINRARY_AS_IMAGE_RESOURCE 0x20
1851 #define LOAD_LIBRARY_AS_DATAFILE_EXCLUSIVE 0x40
1853 WINBASEAPI DWORD WINAPI
GetModuleFileNameA(HMODULE hModule
,LPCH lpFilename
,DWORD nSize
);
1854 WINBASEAPI DWORD WINAPI
GetModuleFileNameW(HMODULE hModule
,LPWCH lpFilename
,DWORD nSize
);
1855 WINBASEAPI HMODULE WINAPI
GetModuleHandleA(LPCSTR lpModuleName
);
1856 WINBASEAPI HMODULE WINAPI
GetModuleHandleW(LPCWSTR lpModuleName
);
1859 #define GET_MODULE_HANDLE_EX_FLAG_PIN (0x1)
1860 #define GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT (0x2)
1861 #define GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS (0x4)
1863 typedef WINBOOL (WINAPI
*PGET_MODULE_HANDLE_EXA
)(DWORD dwFlags
,LPCSTR lpModuleName
,HMODULE
*phModule
);
1864 typedef WINBOOL (WINAPI
*PGET_MODULE_HANDLE_EXW
)(DWORD dwFlags
,LPCWSTR lpModuleName
,HMODULE
*phModule
);
1867 #define PGET_MODULE_HANDLE_EX PGET_MODULE_HANDLE_EXW
1868 #define GetModuleHandleEx GetModuleHandleExW
1870 #define PGET_MODULE_HANDLE_EX PGET_MODULE_HANDLE_EXA
1871 #define GetModuleHandleEx GetModuleHandleExA
1874 WINBASEAPI WINBOOL WINAPI
GetModuleHandleExA(DWORD dwFlags
,LPCSTR lpModuleName
,HMODULE
*phModule
);
1875 WINBASEAPI WINBOOL WINAPI
GetModuleHandleExW(DWORD dwFlags
,LPCWSTR lpModuleName
,HMODULE
*phModule
);
1879 #define NeedCurrentDirectoryForExePath NeedCurrentDirectoryForExePathW
1880 #define CreateProcess CreateProcessW
1881 #define FatalAppExit FatalAppExitW
1882 #define GetStartupInfo GetStartupInfoW
1883 #define GetCommandLine GetCommandLineW
1884 #define GetEnvironmentVariable GetEnvironmentVariableW
1885 #define SetEnvironmentVariable SetEnvironmentVariableW
1886 #define ExpandEnvironmentStrings ExpandEnvironmentStringsW
1887 #define GetFirmwareEnvironmentVariable GetFirmwareEnvironmentVariableW
1888 #define SetFirmwareEnvironmentVariable SetFirmwareEnvironmentVariableW
1889 #define OutputDebugString OutputDebugStringW
1890 #define FindResource FindResourceW
1891 #define FindResourceEx FindResourceExW
1893 #define NeedCurrentDirectoryForExePath NeedCurrentDirectoryForExePathA
1894 #define CreateProcess CreateProcessA
1895 #define FatalAppExit FatalAppExitA
1896 #define GetStartupInfo GetStartupInfoA
1897 #define GetCommandLine GetCommandLineA
1898 #define GetEnvironmentVariable GetEnvironmentVariableA
1899 #define SetEnvironmentVariable SetEnvironmentVariableA
1900 #define ExpandEnvironmentStrings ExpandEnvironmentStringsA
1901 #define GetFirmwareEnvironmentVariable GetFirmwareEnvironmentVariableA
1902 #define SetFirmwareEnvironmentVariable SetFirmwareEnvironmentVariableA
1903 #define OutputDebugString OutputDebugStringA
1904 #define FindResource FindResourceA
1905 #define FindResourceEx FindResourceExA
1908 WINBASEAPI WINBOOL WINAPI
NeedCurrentDirectoryForExePathA(LPCSTR ExeName
);
1909 WINBASEAPI WINBOOL WINAPI
NeedCurrentDirectoryForExePathW(LPCWSTR ExeName
);
1910 WINBASEAPI WINBOOL WINAPI
CreateProcessA(LPCSTR lpApplicationName
,LPSTR lpCommandLine
,LPSECURITY_ATTRIBUTES lpProcessAttributes
,LPSECURITY_ATTRIBUTES lpThreadAttributes
,WINBOOL bInheritHandles
,DWORD dwCreationFlags
,LPVOID lpEnvironment
,LPCSTR lpCurrentDirectory
,LPSTARTUPINFOA lpStartupInfo
,LPPROCESS_INFORMATION lpProcessInformation
);
1911 WINBASEAPI WINBOOL WINAPI
CreateProcessW(LPCWSTR lpApplicationName
,LPWSTR lpCommandLine
,LPSECURITY_ATTRIBUTES lpProcessAttributes
,LPSECURITY_ATTRIBUTES lpThreadAttributes
,WINBOOL bInheritHandles
,DWORD dwCreationFlags
,LPVOID lpEnvironment
,LPCWSTR lpCurrentDirectory
,LPSTARTUPINFOW lpStartupInfo
,LPPROCESS_INFORMATION lpProcessInformation
);
1912 WINBASEAPI DWORD WINAPI
AddLocalAlternateComputerNameA(LPCSTR lpDnsFQHostname
,ULONG ulFlags
);
1913 WINBASEAPI DWORD WINAPI
AddLocalAlternateComputerNameW(LPCWSTR lpDnsFQHostname
,ULONG ulFlags
);
1914 WINBASEAPI WINBOOL WINAPI
SetProcessShutdownParameters(DWORD dwLevel
,DWORD dwFlags
);
1915 WINBASEAPI WINBOOL WINAPI
GetProcessShutdownParameters(LPDWORD lpdwLevel
,LPDWORD lpdwFlags
);
1916 WINBASEAPI DWORD WINAPI
GetProcessVersion(DWORD ProcessId
);
1917 WINBASEAPI VOID WINAPI
FatalAppExitA(UINT uAction
,LPCSTR lpMessageText
);
1918 WINBASEAPI VOID WINAPI
FatalAppExitW(UINT uAction
,LPCWSTR lpMessageText
);
1919 WINBASEAPI VOID WINAPI
GetStartupInfoA(LPSTARTUPINFOA lpStartupInfo
);
1920 WINBASEAPI VOID WINAPI
GetStartupInfoW(LPSTARTUPINFOW lpStartupInfo
);
1921 WINBASEAPI LPSTR WINAPI
GetCommandLineA(VOID
);
1922 WINBASEAPI LPWSTR WINAPI
GetCommandLineW(VOID
);
1923 WINBASEAPI DWORD WINAPI
GetEnvironmentVariableA(LPCSTR lpName
,LPSTR lpBuffer
,DWORD nSize
);
1924 WINBASEAPI DWORD WINAPI
GetEnvironmentVariableW(LPCWSTR lpName
,LPWSTR lpBuffer
,DWORD nSize
);
1925 WINBASEAPI WINBOOL WINAPI
SetEnvironmentVariableA(LPCSTR lpName
,LPCSTR lpValue
);
1926 WINBASEAPI WINBOOL WINAPI
SetEnvironmentVariableW(LPCWSTR lpName
,LPCWSTR lpValue
);
1927 WINBASEAPI DWORD WINAPI
ExpandEnvironmentStringsA(LPCSTR lpSrc
,LPSTR lpDst
,DWORD nSize
);
1928 WINBASEAPI DWORD WINAPI
ExpandEnvironmentStringsW(LPCWSTR lpSrc
,LPWSTR lpDst
,DWORD nSize
);
1929 WINBASEAPI DWORD WINAPI
GetFirmwareEnvironmentVariableA(LPCSTR lpName
,LPCSTR lpGuid
,PVOID pBuffer
,DWORD nSize
);
1930 WINBASEAPI DWORD WINAPI
GetFirmwareEnvironmentVariableW(LPCWSTR lpName
,LPCWSTR lpGuid
,PVOID pBuffer
,DWORD nSize
);
1931 WINBASEAPI WINBOOL WINAPI
SetFirmwareEnvironmentVariableA(LPCSTR lpName
,LPCSTR lpGuid
,PVOID pValue
,DWORD nSize
);
1932 WINBASEAPI WINBOOL WINAPI
SetFirmwareEnvironmentVariableW(LPCWSTR lpName
,LPCWSTR lpGuid
,PVOID pValue
,DWORD nSize
);
1933 WINBASEAPI VOID WINAPI
OutputDebugStringA(LPCSTR lpOutputString
);
1934 WINBASEAPI VOID WINAPI
OutputDebugStringW(LPCWSTR lpOutputString
);
1935 WINBASEAPI HRSRC WINAPI
FindResourceA(HMODULE hModule
,LPCSTR lpName
,LPCSTR lpType
);
1936 WINBASEAPI HRSRC WINAPI
FindResourceW(HMODULE hModule
,LPCWSTR lpName
,LPCWSTR lpType
);
1937 WINBASEAPI HRSRC WINAPI
FindResourceExA(HMODULE hModule
,LPCSTR lpType
,LPCSTR lpName
,WORD wLanguage
);
1938 WINBASEAPI HRSRC WINAPI
FindResourceExW(HMODULE hModule
,LPCWSTR lpType
,LPCWSTR lpName
,WORD wLanguage
);
1941 #define ENUMRESTYPEPROC ENUMRESTYPEPROCW
1942 #define ENUMRESNAMEPROC ENUMRESNAMEPROCW
1943 #define ENUMRESLANGPROC ENUMRESLANGPROCW
1944 #define EnumResourceTypes EnumResourceTypesW
1945 #define EnumResourceNames EnumResourceNamesW
1946 #define EnumResourceLanguages EnumResourceLanguagesW
1947 #define BeginUpdateResource BeginUpdateResourceW
1948 #define UpdateResource UpdateResourceW
1949 #define EndUpdateResource EndUpdateResourceW
1950 #define GlobalAddAtom GlobalAddAtomW
1951 #define GlobalFindAtom GlobalFindAtomW
1952 #define GlobalGetAtomName GlobalGetAtomNameW
1953 #define AddAtom AddAtomW
1954 #define FindAtom FindAtomW
1955 #define GetAtomName GetAtomNameW
1956 #define GetProfileInt GetProfileIntW
1957 #define GetProfileString GetProfileStringW
1958 #define WriteProfileString WriteProfileStringW
1959 #define GetProfileSection GetProfileSectionW
1960 #define WriteProfileSection WriteProfileSectionW
1961 #define GetPrivateProfileInt GetPrivateProfileIntW
1962 #define GetPrivateProfileString GetPrivateProfileStringW
1963 #define WritePrivateProfileString WritePrivateProfileStringW
1964 #define GetPrivateProfileSection GetPrivateProfileSectionW
1965 #define WritePrivateProfileSection WritePrivateProfileSectionW
1966 #define GetPrivateProfileSectionNames GetPrivateProfileSectionNamesW
1967 #define GetPrivateProfileStruct GetPrivateProfileStructW
1968 #define WritePrivateProfileStruct WritePrivateProfileStructW
1969 #define GetDriveType GetDriveTypeW
1970 #define GetSystemDirectory GetSystemDirectoryW
1971 #define GetTempPath GetTempPathW
1972 #define GetTempFileName GetTempFileNameW
1973 #define GetWindowsDirectory GetWindowsDirectoryW
1974 #define GetSystemWindowsDirectory GetSystemWindowsDirectoryW
1975 #define AddLocalAlternateComputerName AddLocalAlternateComputerNameW
1977 #define ENUMRESTYPEPROC ENUMRESTYPEPROCA
1978 #define ENUMRESNAMEPROC ENUMRESNAMEPROCA
1979 #define ENUMRESLANGPROC ENUMRESLANGPROCA
1980 #define EnumResourceTypes EnumResourceTypesA
1981 #define EnumResourceNames EnumResourceNamesA
1982 #define EnumResourceLanguages EnumResourceLanguagesA
1983 #define BeginUpdateResource BeginUpdateResourceA
1984 #define UpdateResource UpdateResourceA
1985 #define EndUpdateResource EndUpdateResourceA
1986 #define GlobalAddAtom GlobalAddAtomA
1987 #define GlobalFindAtom GlobalFindAtomA
1988 #define GlobalGetAtomName GlobalGetAtomNameA
1989 #define AddAtom AddAtomA
1990 #define FindAtom FindAtomA
1991 #define GetAtomName GetAtomNameA
1992 #define GetProfileInt GetProfileIntA
1993 #define GetProfileString GetProfileStringA
1994 #define WriteProfileString WriteProfileStringA
1995 #define GetProfileSection GetProfileSectionA
1996 #define WriteProfileSection WriteProfileSectionA
1997 #define GetPrivateProfileInt GetPrivateProfileIntA
1998 #define GetPrivateProfileString GetPrivateProfileStringA
1999 #define WritePrivateProfileString WritePrivateProfileStringA
2000 #define GetPrivateProfileSection GetPrivateProfileSectionA
2001 #define WritePrivateProfileSection WritePrivateProfileSectionA
2002 #define GetPrivateProfileSectionNames GetPrivateProfileSectionNamesA
2003 #define GetPrivateProfileStruct GetPrivateProfileStructA
2004 #define WritePrivateProfileStruct WritePrivateProfileStructA
2005 #define GetDriveType GetDriveTypeA
2006 #define GetSystemDirectory GetSystemDirectoryA
2007 #define GetTempPath GetTempPathA
2008 #define GetTempFileName GetTempFileNameA
2009 #define GetWindowsDirectory GetWindowsDirectoryA
2010 #define GetSystemWindowsDirectory GetSystemWindowsDirectoryA
2011 #define AddLocalAlternateComputerName AddLocalAlternateComputerNameA
2014 typedef WINBOOL (CALLBACK
*ENUMRESTYPEPROCA
)(HMODULE hModule
,LPSTR lpType
,LONG_PTR lParam
);
2015 typedef WINBOOL (CALLBACK
*ENUMRESTYPEPROCW
)(HMODULE hModule
,LPWSTR lpType
,LONG_PTR lParam
);
2016 typedef WINBOOL (CALLBACK
*ENUMRESNAMEPROCA
)(HMODULE hModule
,LPCSTR lpType
,LPSTR lpName
,LONG_PTR lParam
);
2017 typedef WINBOOL (CALLBACK
*ENUMRESNAMEPROCW
)(HMODULE hModule
,LPCWSTR lpType
,LPWSTR lpName
,LONG_PTR lParam
);
2018 typedef WINBOOL (CALLBACK
*ENUMRESLANGPROCA
)(HMODULE hModule
,LPCSTR lpType
,LPCSTR lpName
,WORD wLanguage
,LONG_PTR lParam
);
2019 typedef WINBOOL (CALLBACK
*ENUMRESLANGPROCW
)(HMODULE hModule
,LPCWSTR lpType
,LPCWSTR lpName
,WORD wLanguage
,LONG_PTR lParam
);
2021 WINBASEAPI WINBOOL WINAPI
EnumResourceTypesA(HMODULE hModule
,ENUMRESTYPEPROCA lpEnumFunc
,LONG_PTR lParam
);
2022 WINBASEAPI WINBOOL WINAPI
EnumResourceTypesW(HMODULE hModule
,ENUMRESTYPEPROCW lpEnumFunc
,LONG_PTR lParam
);
2023 WINBASEAPI WINBOOL WINAPI
EnumResourceNamesA(HMODULE hModule
,LPCSTR lpType
,ENUMRESNAMEPROCA lpEnumFunc
,LONG_PTR lParam
);
2024 WINBASEAPI WINBOOL WINAPI
EnumResourceNamesW(HMODULE hModule
,LPCWSTR lpType
,ENUMRESNAMEPROCW lpEnumFunc
,LONG_PTR lParam
);
2025 WINBASEAPI WINBOOL WINAPI
EnumResourceLanguagesA(HMODULE hModule
,LPCSTR lpType
,LPCSTR lpName
,ENUMRESLANGPROCA lpEnumFunc
,LONG_PTR lParam
);
2026 WINBASEAPI WINBOOL WINAPI
EnumResourceLanguagesW(HMODULE hModule
,LPCWSTR lpType
,LPCWSTR lpName
,ENUMRESLANGPROCW lpEnumFunc
,LONG_PTR lParam
);
2027 WINBASEAPI HANDLE WINAPI
BeginUpdateResourceA(LPCSTR pFileName
,WINBOOL bDeleteExistingResources
);
2028 WINBASEAPI HANDLE WINAPI
BeginUpdateResourceW(LPCWSTR pFileName
,WINBOOL bDeleteExistingResources
);
2029 WINBASEAPI WINBOOL WINAPI
UpdateResourceA(HANDLE hUpdate
,LPCSTR lpType
,LPCSTR lpName
,WORD wLanguage
,LPVOID lpData
,DWORD cb
);
2030 WINBASEAPI WINBOOL WINAPI
UpdateResourceW(HANDLE hUpdate
,LPCWSTR lpType
,LPCWSTR lpName
,WORD wLanguage
,LPVOID lpData
,DWORD cb
);
2031 WINBASEAPI WINBOOL WINAPI
EndUpdateResourceA(HANDLE hUpdate
,WINBOOL fDiscard
);
2032 WINBASEAPI WINBOOL WINAPI
EndUpdateResourceW(HANDLE hUpdate
,WINBOOL fDiscard
);
2033 WINBASEAPI ATOM WINAPI
GlobalAddAtomA(LPCSTR lpString
);
2034 WINBASEAPI ATOM WINAPI
GlobalAddAtomW(LPCWSTR lpString
);
2035 WINBASEAPI ATOM WINAPI
GlobalFindAtomA(LPCSTR lpString
);
2036 WINBASEAPI ATOM WINAPI
GlobalFindAtomW(LPCWSTR lpString
);
2037 WINBASEAPI UINT WINAPI
GlobalGetAtomNameA(ATOM nAtom
,LPSTR lpBuffer
,int nSize
);
2038 WINBASEAPI UINT WINAPI
GlobalGetAtomNameW(ATOM nAtom
,LPWSTR lpBuffer
,int nSize
);
2039 WINBASEAPI ATOM WINAPI
AddAtomA(LPCSTR lpString
);
2040 WINBASEAPI ATOM WINAPI
AddAtomW(LPCWSTR lpString
);
2041 WINBASEAPI ATOM WINAPI
FindAtomA(LPCSTR lpString
);
2042 WINBASEAPI ATOM WINAPI
FindAtomW(LPCWSTR lpString
);
2043 WINBASEAPI UINT WINAPI
GetAtomNameA(ATOM nAtom
,LPSTR lpBuffer
,int nSize
);
2044 WINBASEAPI UINT WINAPI
GetAtomNameW(ATOM nAtom
,LPWSTR lpBuffer
,int nSize
);
2045 WINBASEAPI UINT WINAPI
GetProfileIntA(LPCSTR lpAppName
,LPCSTR lpKeyName
,INT nDefault
);
2046 WINBASEAPI UINT WINAPI
GetProfileIntW(LPCWSTR lpAppName
,LPCWSTR lpKeyName
,INT nDefault
);
2047 WINBASEAPI DWORD WINAPI
GetProfileStringA(LPCSTR lpAppName
,LPCSTR lpKeyName
,LPCSTR lpDefault
,LPSTR lpReturnedString
,DWORD nSize
);
2048 WINBASEAPI DWORD WINAPI
GetProfileStringW(LPCWSTR lpAppName
,LPCWSTR lpKeyName
,LPCWSTR lpDefault
,LPWSTR lpReturnedString
,DWORD nSize
);
2049 WINBASEAPI WINBOOL WINAPI
WriteProfileStringA(LPCSTR lpAppName
,LPCSTR lpKeyName
,LPCSTR lpString
);
2050 WINBASEAPI WINBOOL WINAPI
WriteProfileStringW(LPCWSTR lpAppName
,LPCWSTR lpKeyName
,LPCWSTR lpString
);
2051 WINBASEAPI DWORD WINAPI
GetProfileSectionA(LPCSTR lpAppName
,LPSTR lpReturnedString
,DWORD nSize
);
2052 WINBASEAPI DWORD WINAPI
GetProfileSectionW(LPCWSTR lpAppName
,LPWSTR lpReturnedString
,DWORD nSize
);
2053 WINBASEAPI WINBOOL WINAPI
WriteProfileSectionA(LPCSTR lpAppName
,LPCSTR lpString
);
2054 WINBASEAPI WINBOOL WINAPI
WriteProfileSectionW(LPCWSTR lpAppName
,LPCWSTR lpString
);
2055 WINBASEAPI UINT WINAPI
GetPrivateProfileIntA(LPCSTR lpAppName
,LPCSTR lpKeyName
,INT nDefault
,LPCSTR lpFileName
);
2056 WINBASEAPI UINT WINAPI
GetPrivateProfileIntW(LPCWSTR lpAppName
,LPCWSTR lpKeyName
,INT nDefault
,LPCWSTR lpFileName
);
2057 WINBASEAPI DWORD WINAPI
GetPrivateProfileStringA(LPCSTR lpAppName
,LPCSTR lpKeyName
,LPCSTR lpDefault
,LPSTR lpReturnedString
,DWORD nSize
,LPCSTR lpFileName
);
2058 WINBASEAPI DWORD WINAPI
GetPrivateProfileStringW(LPCWSTR lpAppName
,LPCWSTR lpKeyName
,LPCWSTR lpDefault
,LPWSTR lpReturnedString
,DWORD nSize
,LPCWSTR lpFileName
);
2059 WINBASEAPI WINBOOL WINAPI
WritePrivateProfileStringA(LPCSTR lpAppName
,LPCSTR lpKeyName
,LPCSTR lpString
,LPCSTR lpFileName
);
2060 WINBASEAPI WINBOOL WINAPI
WritePrivateProfileStringW(LPCWSTR lpAppName
,LPCWSTR lpKeyName
,LPCWSTR lpString
,LPCWSTR lpFileName
);
2061 WINBASEAPI DWORD WINAPI
GetPrivateProfileSectionA(LPCSTR lpAppName
,LPSTR lpReturnedString
,DWORD nSize
,LPCSTR lpFileName
);
2062 WINBASEAPI DWORD WINAPI
GetPrivateProfileSectionW(LPCWSTR lpAppName
,LPWSTR lpReturnedString
,DWORD nSize
,LPCWSTR lpFileName
);
2063 WINBASEAPI WINBOOL WINAPI
WritePrivateProfileSectionA(LPCSTR lpAppName
,LPCSTR lpString
,LPCSTR lpFileName
);
2064 WINBASEAPI WINBOOL WINAPI
WritePrivateProfileSectionW(LPCWSTR lpAppName
,LPCWSTR lpString
,LPCWSTR lpFileName
);
2065 WINBASEAPI DWORD WINAPI
GetPrivateProfileSectionNamesA(LPSTR lpszReturnBuffer
,DWORD nSize
,LPCSTR lpFileName
);
2066 WINBASEAPI DWORD WINAPI
GetPrivateProfileSectionNamesW(LPWSTR lpszReturnBuffer
,DWORD nSize
,LPCWSTR lpFileName
);
2067 WINBASEAPI WINBOOL WINAPI
GetPrivateProfileStructA(LPCSTR lpszSection
,LPCSTR lpszKey
,LPVOID lpStruct
,UINT uSizeStruct
,LPCSTR szFile
);
2068 WINBASEAPI WINBOOL WINAPI
GetPrivateProfileStructW(LPCWSTR lpszSection
,LPCWSTR lpszKey
,LPVOID lpStruct
,UINT uSizeStruct
,LPCWSTR szFile
);
2069 WINBASEAPI WINBOOL WINAPI
WritePrivateProfileStructA(LPCSTR lpszSection
,LPCSTR lpszKey
,LPVOID lpStruct
,UINT uSizeStruct
,LPCSTR szFile
);
2070 WINBASEAPI WINBOOL WINAPI
WritePrivateProfileStructW(LPCWSTR lpszSection
,LPCWSTR lpszKey
,LPVOID lpStruct
,UINT uSizeStruct
,LPCWSTR szFile
);
2071 WINBASEAPI UINT WINAPI
GetDriveTypeA(LPCSTR lpRootPathName
);
2072 WINBASEAPI UINT WINAPI
GetDriveTypeW(LPCWSTR lpRootPathName
);
2073 WINBASEAPI UINT WINAPI
GetSystemDirectoryA(LPSTR lpBuffer
,UINT uSize
);
2074 WINBASEAPI UINT WINAPI
GetSystemDirectoryW(LPWSTR lpBuffer
,UINT uSize
);
2075 WINBASEAPI DWORD WINAPI
GetTempPathA(DWORD nBufferLength
,LPSTR lpBuffer
);
2076 WINBASEAPI DWORD WINAPI
GetTempPathW(DWORD nBufferLength
,LPWSTR lpBuffer
);
2077 WINBASEAPI UINT WINAPI
GetTempFileNameA(LPCSTR lpPathName
,LPCSTR lpPrefixString
,UINT uUnique
,LPSTR lpTempFileName
);
2078 WINBASEAPI UINT WINAPI
GetTempFileNameW(LPCWSTR lpPathName
,LPCWSTR lpPrefixString
,UINT uUnique
,LPWSTR lpTempFileName
);
2079 WINBASEAPI UINT WINAPI
GetWindowsDirectoryA(LPSTR lpBuffer
,UINT uSize
);
2080 WINBASEAPI UINT WINAPI
GetWindowsDirectoryW(LPWSTR lpBuffer
,UINT uSize
);
2081 WINBASEAPI UINT WINAPI
GetSystemWindowsDirectoryA(LPSTR lpBuffer
,UINT uSize
);
2082 WINBASEAPI UINT WINAPI
GetSystemWindowsDirectoryW(LPWSTR lpBuffer
,UINT uSize
);
2086 #define GetSystemWow64Directory GetSystemWow64DirectoryW
2088 #define GetSystemWow64Directory GetSystemWow64DirectoryA
2091 WINBASEAPI UINT WINAPI
GetSystemWow64DirectoryA(LPSTR lpBuffer
,UINT uSize
);
2092 WINBASEAPI UINT WINAPI
GetSystemWow64DirectoryW(LPWSTR lpBuffer
,UINT uSize
);
2093 WINBASEAPI BOOLEAN WINAPI
Wow64EnableWow64FsRedirection(BOOLEAN Wow64FsEnableRedirection
);
2094 WINBASEAPI WINBOOL WINAPI
Wow64DisableWow64FsRedirection(PVOID
*OldValue
);
2095 WINBASEAPI WINBOOL WINAPI
Wow64RevertWow64FsRedirection(PVOID OlValue
);
2097 typedef UINT (WINAPI
*PGET_SYSTEM_WOW64_DIRECTORY_A
)(LPSTR lpBuffer
,UINT uSize
);
2098 typedef UINT (WINAPI
*PGET_SYSTEM_WOW64_DIRECTORY_W
)(LPWSTR lpBuffer
,UINT uSize
);
2100 #define GET_SYSTEM_WOW64_DIRECTORY_NAME_A_A "GetSystemWow64DirectoryA"
2101 #define GET_SYSTEM_WOW64_DIRECTORY_NAME_A_W L"GetSystemWow64DirectoryA"
2102 #define GET_SYSTEM_WOW64_DIRECTORY_NAME_A_T TEXT("GetSystemWow64DirectoryA")
2103 #define GET_SYSTEM_WOW64_DIRECTORY_NAME_W_A "GetSystemWow64DirectoryW"
2104 #define GET_SYSTEM_WOW64_DIRECTORY_NAME_W_W L"GetSystemWow64DirectoryW"
2105 #define GET_SYSTEM_WOW64_DIRECTORY_NAME_W_T TEXT("GetSystemWow64DirectoryW")
2108 #define GET_SYSTEM_WOW64_DIRECTORY_NAME_T_A GET_SYSTEM_WOW64_DIRECTORY_NAME_W_A
2109 #define GET_SYSTEM_WOW64_DIRECTORY_NAME_T_W GET_SYSTEM_WOW64_DIRECTORY_NAME_W_W
2110 #define GET_SYSTEM_WOW64_DIRECTORY_NAME_T_T GET_SYSTEM_WOW64_DIRECTORY_NAME_W_T
2112 #define GET_SYSTEM_WOW64_DIRECTORY_NAME_T_A GET_SYSTEM_WOW64_DIRECTORY_NAME_A_A
2113 #define GET_SYSTEM_WOW64_DIRECTORY_NAME_T_W GET_SYSTEM_WOW64_DIRECTORY_NAME_A_W
2114 #define GET_SYSTEM_WOW64_DIRECTORY_NAME_T_T GET_SYSTEM_WOW64_DIRECTORY_NAME_A_T
2119 #define SetCurrentDirectory SetCurrentDirectoryW
2120 #define GetCurrentDirectory GetCurrentDirectoryW
2121 #define SetDllDirectory SetDllDirectoryW
2122 #define GetDllDirectory GetDllDirectoryW
2123 #define GetDiskFreeSpace GetDiskFreeSpaceW
2124 #define GetDiskFreeSpaceEx GetDiskFreeSpaceExW
2125 #define CreateDirectory CreateDirectoryW
2126 #define CreateDirectoryEx CreateDirectoryExW
2127 #define RemoveDirectory RemoveDirectoryW
2128 #define GetFullPathName GetFullPathNameW
2129 #define DefineDosDevice DefineDosDeviceW
2130 #define QueryDosDevice QueryDosDeviceW
2131 #define CreateFile CreateFileW
2132 #define SetFileAttributes SetFileAttributesW
2133 #define GetFileAttributes GetFileAttributesW
2135 #define SetCurrentDirectory SetCurrentDirectoryA
2136 #define GetCurrentDirectory GetCurrentDirectoryA
2137 #define SetDllDirectory SetDllDirectoryA
2138 #define GetDllDirectory GetDllDirectoryA
2139 #define GetDiskFreeSpace GetDiskFreeSpaceA
2140 #define GetDiskFreeSpaceEx GetDiskFreeSpaceExA
2141 #define CreateDirectory CreateDirectoryA
2142 #define CreateDirectoryEx CreateDirectoryExA
2143 #define RemoveDirectory RemoveDirectoryA
2144 #define GetFullPathName GetFullPathNameA
2145 #define DefineDosDevice DefineDosDeviceA
2146 #define QueryDosDevice QueryDosDeviceA
2147 #define CreateFile CreateFileA
2148 #define SetFileAttributes SetFileAttributesA
2149 #define GetFileAttributes GetFileAttributesA
2152 WINBASEAPI WINBOOL WINAPI
SetCurrentDirectoryA(LPCSTR lpPathName
);
2153 WINBASEAPI WINBOOL WINAPI
SetCurrentDirectoryW(LPCWSTR lpPathName
);
2154 WINBASEAPI DWORD WINAPI
GetCurrentDirectoryA(DWORD nBufferLength
,LPSTR lpBuffer
);
2155 WINBASEAPI DWORD WINAPI
GetCurrentDirectoryW(DWORD nBufferLength
,LPWSTR lpBuffer
);
2156 WINBASEAPI WINBOOL WINAPI
SetDllDirectoryA(LPCSTR lpPathName
);
2157 WINBASEAPI WINBOOL WINAPI
SetDllDirectoryW(LPCWSTR lpPathName
);
2158 WINBASEAPI DWORD WINAPI
GetDllDirectoryA(DWORD nBufferLength
,LPSTR lpBuffer
);
2159 WINBASEAPI DWORD WINAPI
GetDllDirectoryW(DWORD nBufferLength
,LPWSTR lpBuffer
);
2160 WINBASEAPI WINBOOL WINAPI
GetDiskFreeSpaceA(LPCSTR lpRootPathName
,LPDWORD lpSectorsPerCluster
,LPDWORD lpBytesPerSector
,LPDWORD lpNumberOfFreeClusters
,LPDWORD lpTotalNumberOfClusters
);
2161 WINBASEAPI WINBOOL WINAPI
GetDiskFreeSpaceW(LPCWSTR lpRootPathName
,LPDWORD lpSectorsPerCluster
,LPDWORD lpBytesPerSector
,LPDWORD lpNumberOfFreeClusters
,LPDWORD lpTotalNumberOfClusters
);
2162 WINBASEAPI WINBOOL WINAPI
GetDiskFreeSpaceExA(LPCSTR lpDirectoryName
,PULARGE_INTEGER lpFreeBytesAvailableToCaller
,PULARGE_INTEGER lpTotalNumberOfBytes
,PULARGE_INTEGER lpTotalNumberOfFreeBytes
);
2163 WINBASEAPI WINBOOL WINAPI
GetDiskFreeSpaceExW(LPCWSTR lpDirectoryName
,PULARGE_INTEGER lpFreeBytesAvailableToCaller
,PULARGE_INTEGER lpTotalNumberOfBytes
,PULARGE_INTEGER lpTotalNumberOfFreeBytes
);
2164 WINBASEAPI WINBOOL WINAPI
CreateDirectoryA(LPCSTR lpPathName
,LPSECURITY_ATTRIBUTES lpSecurityAttributes
);
2165 WINBASEAPI WINBOOL WINAPI
CreateDirectoryW(LPCWSTR lpPathName
,LPSECURITY_ATTRIBUTES lpSecurityAttributes
);
2166 WINBASEAPI WINBOOL WINAPI
CreateDirectoryExA(LPCSTR lpTemplateDirectory
,LPCSTR lpNewDirectory
,LPSECURITY_ATTRIBUTES lpSecurityAttributes
);
2167 WINBASEAPI WINBOOL WINAPI
CreateDirectoryExW(LPCWSTR lpTemplateDirectory
,LPCWSTR lpNewDirectory
,LPSECURITY_ATTRIBUTES lpSecurityAttributes
);
2168 WINBASEAPI WINBOOL WINAPI
RemoveDirectoryA(LPCSTR lpPathName
);
2169 WINBASEAPI WINBOOL WINAPI
RemoveDirectoryW(LPCWSTR lpPathName
);
2170 WINBASEAPI DWORD WINAPI
GetFullPathNameA(LPCSTR lpFileName
,DWORD nBufferLength
,LPSTR lpBuffer
,LPSTR
*lpFilePart
);
2171 WINBASEAPI DWORD WINAPI
GetFullPathNameW(LPCWSTR lpFileName
,DWORD nBufferLength
,LPWSTR lpBuffer
,LPWSTR
*lpFilePart
);
2173 #define DDD_RAW_TARGET_PATH 0x1
2174 #define DDD_REMOVE_DEFINITION 0x2
2175 #define DDD_EXACT_MATCH_ON_REMOVE 0x4
2176 #define DDD_NO_BROADCAST_SYSTEM 0x8
2177 #define DDD_LUID_BROADCAST_DRIVE 0x10
2179 WINBASEAPI WINBOOL WINAPI
DefineDosDeviceA(DWORD dwFlags
,LPCSTR lpDeviceName
,LPCSTR lpTargetPath
);
2180 WINBASEAPI WINBOOL WINAPI
DefineDosDeviceW(DWORD dwFlags
,LPCWSTR lpDeviceName
,LPCWSTR lpTargetPath
);
2181 WINBASEAPI DWORD WINAPI
QueryDosDeviceA(LPCSTR lpDeviceName
,LPSTR lpTargetPath
,DWORD ucchMax
);
2182 WINBASEAPI DWORD WINAPI
QueryDosDeviceW(LPCWSTR lpDeviceName
,LPWSTR lpTargetPath
,DWORD ucchMax
);
2184 #define EXPAND_LOCAL_DRIVES
2186 WINBASEAPI HANDLE WINAPI
CreateFileA(LPCSTR lpFileName
,DWORD dwDesiredAccess
,DWORD dwShareMode
,LPSECURITY_ATTRIBUTES lpSecurityAttributes
,DWORD dwCreationDisposition
,DWORD dwFlagsAndAttributes
,HANDLE hTemplateFile
);
2187 WINBASEAPI HANDLE WINAPI
CreateFileW(LPCWSTR lpFileName
,DWORD dwDesiredAccess
,DWORD dwShareMode
,LPSECURITY_ATTRIBUTES lpSecurityAttributes
,DWORD dwCreationDisposition
,DWORD dwFlagsAndAttributes
,HANDLE hTemplateFile
);
2188 WINBASEAPI HANDLE WINAPI
ReOpenFile(HANDLE hOriginalFile
,DWORD dwDesiredAccess
,DWORD dwShareMode
,DWORD dwFlagsAndAttributes
);
2189 WINBASEAPI WINBOOL WINAPI
SetFileAttributesA(LPCSTR lpFileName
,DWORD dwFileAttributes
);
2190 WINBASEAPI WINBOOL WINAPI
SetFileAttributesW(LPCWSTR lpFileName
,DWORD dwFileAttributes
);
2191 WINBASEAPI DWORD WINAPI
GetFileAttributesA(LPCSTR lpFileName
);
2192 WINBASEAPI DWORD WINAPI
GetFileAttributesW(LPCWSTR lpFileName
);
2194 typedef enum _GET_FILEEX_INFO_LEVELS
{
2195 GetFileExInfoStandard
,GetFileExMaxInfoLevel
2196 } GET_FILEEX_INFO_LEVELS
;
2199 #define GetFileAttributesEx GetFileAttributesExW
2200 #define GetCompressedFileSize GetCompressedFileSizeW
2201 #define DeleteFile DeleteFileW
2202 #define CheckNameLegalDOS8Dot3 CheckNameLegalDOS8Dot3W
2204 #define GetFileAttributesEx GetFileAttributesExA
2205 #define GetCompressedFileSize GetCompressedFileSizeA
2206 #define DeleteFile DeleteFileA
2207 #define CheckNameLegalDOS8Dot3 CheckNameLegalDOS8Dot3A
2210 WINBASEAPI WINBOOL WINAPI
GetFileAttributesExA(LPCSTR lpFileName
,GET_FILEEX_INFO_LEVELS fInfoLevelId
,LPVOID lpFileInformation
);
2211 WINBASEAPI WINBOOL WINAPI
GetFileAttributesExW(LPCWSTR lpFileName
,GET_FILEEX_INFO_LEVELS fInfoLevelId
,LPVOID lpFileInformation
);
2212 WINBASEAPI DWORD WINAPI
GetCompressedFileSizeA(LPCSTR lpFileName
,LPDWORD lpFileSizeHigh
);
2213 WINBASEAPI DWORD WINAPI
GetCompressedFileSizeW(LPCWSTR lpFileName
,LPDWORD lpFileSizeHigh
);
2214 WINBASEAPI WINBOOL WINAPI
DeleteFileA(LPCSTR lpFileName
);
2215 WINBASEAPI WINBOOL WINAPI
DeleteFileW(LPCWSTR lpFileName
);
2216 WINBASEAPI WINBOOL WINAPI
CheckNameLegalDOS8Dot3A(LPCSTR lpName
,LPSTR lpOemName
,DWORD OemNameSize
,PBOOL pbNameContainsSpaces
,PBOOL pbNameLegal
);
2217 WINBASEAPI WINBOOL WINAPI
CheckNameLegalDOS8Dot3W(LPCWSTR lpName
,LPSTR lpOemName
,DWORD OemNameSize
,PBOOL pbNameContainsSpaces
,PBOOL pbNameLegal
);
2219 typedef enum _FINDEX_INFO_LEVELS
{
2220 FindExInfoStandard
,FindExInfoMaxInfoLevel
2221 } FINDEX_INFO_LEVELS
;
2223 typedef enum _FINDEX_SEARCH_OPS
{
2224 FindExSearchNameMatch
,FindExSearchLimitToDirectories
,FindExSearchLimitToDevices
,FindExSearchMaxSearchOp
2225 } FINDEX_SEARCH_OPS
;
2227 #define FIND_FIRST_EX_CASE_SENSITIVE 0x1
2230 #define FindFirstFileEx FindFirstFileExW
2231 #define FindFirstFile FindFirstFileW
2232 #define FindNextFile FindNextFileW
2233 #define SearchPath SearchPathW
2234 #define CopyFile CopyFileW
2235 #define CopyFileEx CopyFileExW
2236 #define MoveFile MoveFileW
2237 #define MoveFileEx MoveFileExW
2238 #define MoveFileWithProgress MoveFileWithProgressW
2239 #define ReplaceFile ReplaceFileW
2240 #define CreateHardLink CreateHardLinkW
2241 #define CreateNamedPipe CreateNamedPipeW
2242 #define GetNamedPipeHandleState GetNamedPipeHandleStateW
2243 #define CallNamedPipe CallNamedPipeW
2244 #define WaitNamedPipe WaitNamedPipeW
2245 #define SetVolumeLabel SetVolumeLabelW
2246 #define GetVolumeInformation GetVolumeInformationW
2247 #define ClearEventLog ClearEventLogW
2248 #define BackupEventLog BackupEventLogW
2249 #define OpenEventLog OpenEventLogW
2250 #define RegisterEventSource RegisterEventSourceW
2251 #define OpenBackupEventLog OpenBackupEventLogW
2252 #define ReadEventLog ReadEventLogW
2253 #define ReportEvent ReportEventW
2254 #define AccessCheckAndAuditAlarm AccessCheckAndAuditAlarmW
2255 #define AccessCheckByTypeAndAuditAlarm AccessCheckByTypeAndAuditAlarmW
2256 #define AccessCheckByTypeResultListAndAuditAlarm AccessCheckByTypeResultListAndAuditAlarmW
2257 #define AccessCheckByTypeResultListAndAuditAlarmByHandle AccessCheckByTypeResultListAndAuditAlarmByHandleW
2258 #define ObjectOpenAuditAlarm ObjectOpenAuditAlarmW
2259 #define ObjectPrivilegeAuditAlarm ObjectPrivilegeAuditAlarmW
2260 #define ObjectCloseAuditAlarm ObjectCloseAuditAlarmW
2261 #define ObjectDeleteAuditAlarm ObjectDeleteAuditAlarmW
2262 #define PrivilegedServiceAuditAlarm PrivilegedServiceAuditAlarmW
2263 #define SetFileSecurity SetFileSecurityW
2264 #define GetFileSecurity GetFileSecurityW
2265 #define FindFirstChangeNotification FindFirstChangeNotificationW
2266 #define IsBadStringPtr IsBadStringPtrW
2267 #define LookupAccountSid LookupAccountSidW
2268 #define LookupAccountName LookupAccountNameW
2269 #define LookupPrivilegeValue LookupPrivilegeValueW
2270 #define LookupPrivilegeName LookupPrivilegeNameW
2271 #define LookupPrivilegeDisplayName LookupPrivilegeDisplayNameW
2272 #define BuildCommDCB BuildCommDCBW
2273 #define BuildCommDCBAndTimeouts BuildCommDCBAndTimeoutsW
2274 #define CommConfigDialog CommConfigDialogW
2275 #define GetDefaultCommConfig GetDefaultCommConfigW
2276 #define SetDefaultCommConfig SetDefaultCommConfigW
2277 #define GetComputerName GetComputerNameW
2278 #define SetComputerName SetComputerNameW
2279 #define GetComputerNameEx GetComputerNameExW
2280 #define SetComputerNameEx SetComputerNameExW
2281 #define DnsHostnameToComputerName DnsHostnameToComputerNameW
2282 #define GetUserName GetUserNameW
2284 #define FindFirstFileEx FindFirstFileExA
2285 #define FindFirstFile FindFirstFileA
2286 #define FindNextFile FindNextFileA
2287 #define SearchPath SearchPathA
2288 #define CopyFile CopyFileA
2289 #define CopyFileEx CopyFileExA
2290 #define MoveFile MoveFileA
2291 #define MoveFileEx MoveFileExA
2292 #define MoveFileWithProgress MoveFileWithProgressA
2293 #define ReplaceFile ReplaceFileA
2294 #define CreateHardLink CreateHardLinkA
2295 #define CreateNamedPipe CreateNamedPipeA
2296 #define GetNamedPipeHandleState GetNamedPipeHandleStateA
2297 #define CallNamedPipe CallNamedPipeA
2298 #define WaitNamedPipe WaitNamedPipeA
2299 #define SetVolumeLabel SetVolumeLabelA
2300 #define GetVolumeInformation GetVolumeInformationA
2301 #define ClearEventLog ClearEventLogA
2302 #define BackupEventLog BackupEventLogA
2303 #define OpenEventLog OpenEventLogA
2304 #define RegisterEventSource RegisterEventSourceA
2305 #define OpenBackupEventLog OpenBackupEventLogA
2306 #define ReadEventLog ReadEventLogA
2307 #define ReportEvent ReportEventA
2308 #define AccessCheckAndAuditAlarm AccessCheckAndAuditAlarmA
2309 #define AccessCheckByTypeAndAuditAlarm AccessCheckByTypeAndAuditAlarmA
2310 #define AccessCheckByTypeResultListAndAuditAlarm AccessCheckByTypeResultListAndAuditAlarmA
2311 #define AccessCheckByTypeResultListAndAuditAlarmByHandle AccessCheckByTypeResultListAndAuditAlarmByHandleA
2312 #define ObjectOpenAuditAlarm ObjectOpenAuditAlarmA
2313 #define ObjectPrivilegeAuditAlarm ObjectPrivilegeAuditAlarmA
2314 #define ObjectCloseAuditAlarm ObjectCloseAuditAlarmA
2315 #define ObjectDeleteAuditAlarm ObjectDeleteAuditAlarmA
2316 #define PrivilegedServiceAuditAlarm PrivilegedServiceAuditAlarmA
2317 #define SetFileSecurity SetFileSecurityA
2318 #define GetFileSecurity GetFileSecurityA
2319 #define FindFirstChangeNotification FindFirstChangeNotificationA
2320 #define IsBadStringPtr IsBadStringPtrA
2321 #define LookupAccountSid LookupAccountSidA
2322 #define LookupAccountName LookupAccountNameA
2323 #define LookupPrivilegeValue LookupPrivilegeValueA
2324 #define LookupPrivilegeName LookupPrivilegeNameA
2325 #define LookupPrivilegeDisplayName LookupPrivilegeDisplayNameA
2326 #define BuildCommDCB BuildCommDCBA
2327 #define BuildCommDCBAndTimeouts BuildCommDCBAndTimeoutsA
2328 #define CommConfigDialog CommConfigDialogA
2329 #define GetDefaultCommConfig GetDefaultCommConfigA
2330 #define SetDefaultCommConfig SetDefaultCommConfigA
2331 #define GetComputerName GetComputerNameA
2332 #define SetComputerName SetComputerNameA
2333 #define GetComputerNameEx GetComputerNameExA
2334 #define SetComputerNameEx SetComputerNameExA
2335 #define DnsHostnameToComputerName DnsHostnameToComputerNameA
2336 #define GetUserName GetUserNameA
2339 WINBASEAPI HANDLE WINAPI
FindFirstFileExA(LPCSTR lpFileName
,FINDEX_INFO_LEVELS fInfoLevelId
,LPVOID lpFindFileData
,FINDEX_SEARCH_OPS fSearchOp
,LPVOID lpSearchFilter
,DWORD dwAdditionalFlags
);
2340 WINBASEAPI HANDLE WINAPI
FindFirstFileExW(LPCWSTR lpFileName
,FINDEX_INFO_LEVELS fInfoLevelId
,LPVOID lpFindFileData
,FINDEX_SEARCH_OPS fSearchOp
,LPVOID lpSearchFilter
,DWORD dwAdditionalFlags
);
2341 WINBASEAPI HANDLE WINAPI
FindFirstFileA(LPCSTR lpFileName
,LPWIN32_FIND_DATAA lpFindFileData
);
2342 WINBASEAPI HANDLE WINAPI
FindFirstFileW(LPCWSTR lpFileName
,LPWIN32_FIND_DATAW lpFindFileData
);
2343 WINBASEAPI WINBOOL WINAPI
FindNextFileA(HANDLE hFindFile
,LPWIN32_FIND_DATAA lpFindFileData
);
2344 WINBASEAPI WINBOOL WINAPI
FindNextFileW(HANDLE hFindFile
,LPWIN32_FIND_DATAW lpFindFileData
);
2345 WINBASEAPI DWORD WINAPI
SearchPathA(LPCSTR lpPath
,LPCSTR lpFileName
,LPCSTR lpExtension
,DWORD nBufferLength
,LPSTR lpBuffer
,LPSTR
*lpFilePart
);
2346 WINBASEAPI DWORD WINAPI
SearchPathW(LPCWSTR lpPath
,LPCWSTR lpFileName
,LPCWSTR lpExtension
,DWORD nBufferLength
,LPWSTR lpBuffer
,LPWSTR
*lpFilePart
);
2347 WINBASEAPI WINBOOL WINAPI
CopyFileA(LPCSTR lpExistingFileName
,LPCSTR lpNewFileName
,WINBOOL bFailIfExists
);
2348 WINBASEAPI WINBOOL WINAPI
CopyFileW(LPCWSTR lpExistingFileName
,LPCWSTR lpNewFileName
,WINBOOL bFailIfExists
);
2350 typedef DWORD (WINAPI
*LPPROGRESS_ROUTINE
)(LARGE_INTEGER TotalFileSize
,LARGE_INTEGER TotalBytesTransferred
,LARGE_INTEGER StreamSize
,LARGE_INTEGER StreamBytesTransferred
,DWORD dwStreamNumber
,DWORD dwCallbackReason
,HANDLE hSourceFile
,HANDLE hDestinationFile
,LPVOID lpData
);
2352 WINBASEAPI WINBOOL WINAPI
CopyFileExA(LPCSTR lpExistingFileName
,LPCSTR lpNewFileName
,LPPROGRESS_ROUTINE lpProgressRoutine
,LPVOID lpData
,LPBOOL pbCancel
,DWORD dwCopyFlags
);
2353 WINBASEAPI WINBOOL WINAPI
CopyFileExW(LPCWSTR lpExistingFileName
,LPCWSTR lpNewFileName
,LPPROGRESS_ROUTINE lpProgressRoutine
,LPVOID lpData
,LPBOOL pbCancel
,DWORD dwCopyFlags
);
2354 WINBASEAPI WINBOOL WINAPI
MoveFileA(LPCSTR lpExistingFileName
,LPCSTR lpNewFileName
);
2355 WINBASEAPI WINBOOL WINAPI
MoveFileW(LPCWSTR lpExistingFileName
,LPCWSTR lpNewFileName
);
2356 WINBASEAPI WINBOOL WINAPI
MoveFileExA(LPCSTR lpExistingFileName
,LPCSTR lpNewFileName
,DWORD dwFlags
);
2357 WINBASEAPI WINBOOL WINAPI
MoveFileExW(LPCWSTR lpExistingFileName
,LPCWSTR lpNewFileName
,DWORD dwFlags
);
2358 WINBASEAPI WINBOOL WINAPI
MoveFileWithProgressA(LPCSTR lpExistingFileName
,LPCSTR lpNewFileName
,LPPROGRESS_ROUTINE lpProgressRoutine
,LPVOID lpData
,DWORD dwFlags
);
2359 WINBASEAPI WINBOOL WINAPI
MoveFileWithProgressW(LPCWSTR lpExistingFileName
,LPCWSTR lpNewFileName
,LPPROGRESS_ROUTINE lpProgressRoutine
,LPVOID lpData
,DWORD dwFlags
);
2361 #define MOVEFILE_REPLACE_EXISTING 0x1
2362 #define MOVEFILE_COPY_ALLOWED 0x2
2363 #define MOVEFILE_DELAY_UNTIL_REBOOT 0x4
2364 #define MOVEFILE_WRITE_THROUGH 0x8
2365 #define MOVEFILE_CREATE_HARDLINK 0x10
2366 #define MOVEFILE_FAIL_IF_NOT_TRACKABLE 0x20
2368 WINBASEAPI WINBOOL WINAPI
ReplaceFileA(LPCSTR lpReplacedFileName
,LPCSTR lpReplacementFileName
,LPCSTR lpBackupFileName
,DWORD dwReplaceFlags
,LPVOID lpExclude
,LPVOID lpReserved
);
2369 WINBASEAPI WINBOOL WINAPI
ReplaceFileW(LPCWSTR lpReplacedFileName
,LPCWSTR lpReplacementFileName
,LPCWSTR lpBackupFileName
,DWORD dwReplaceFlags
,LPVOID lpExclude
,LPVOID lpReserved
);
2370 WINBASEAPI WINBOOL WINAPI
CreateHardLinkA(LPCSTR lpFileName
,LPCSTR lpExistingFileName
,LPSECURITY_ATTRIBUTES lpSecurityAttributes
);
2371 WINBASEAPI WINBOOL WINAPI
CreateHardLinkW(LPCWSTR lpFileName
,LPCWSTR lpExistingFileName
,LPSECURITY_ATTRIBUTES lpSecurityAttributes
);
2373 typedef enum _STREAM_INFO_LEVELS
{
2374 FindStreamInfoStandard
,FindStreamInfoMaxInfoLevel
2375 } STREAM_INFO_LEVELS
;
2377 typedef struct _WIN32_FIND_STREAM_DATA
{
2378 LARGE_INTEGER StreamSize
;
2379 WCHAR cStreamName
[MAX_PATH
+ 36];
2380 } WIN32_FIND_STREAM_DATA
,*PWIN32_FIND_STREAM_DATA
;
2382 HANDLE WINAPI
FindFirstStreamW(LPCWSTR lpFileName
,STREAM_INFO_LEVELS InfoLevel
,LPVOID lpFindStreamData
,DWORD dwFlags
);
2383 WINBOOL WINAPI
FindNextStreamW(HANDLE hFindStream
,LPVOID lpFindStreamData
);
2384 WINBASEAPI HANDLE WINAPI
CreateNamedPipeA(LPCSTR lpName
,DWORD dwOpenMode
,DWORD dwPipeMode
,DWORD nMaxInstances
,DWORD nOutBufferSize
,DWORD nInBufferSize
,DWORD nDefaultTimeOut
,LPSECURITY_ATTRIBUTES lpSecurityAttributes
);
2385 WINBASEAPI HANDLE WINAPI
CreateNamedPipeW(LPCWSTR lpName
,DWORD dwOpenMode
,DWORD dwPipeMode
,DWORD nMaxInstances
,DWORD nOutBufferSize
,DWORD nInBufferSize
,DWORD nDefaultTimeOut
,LPSECURITY_ATTRIBUTES lpSecurityAttributes
);
2386 WINBASEAPI WINBOOL WINAPI
GetNamedPipeHandleStateA(HANDLE hNamedPipe
,LPDWORD lpState
,LPDWORD lpCurInstances
,LPDWORD lpMaxCollectionCount
,LPDWORD lpCollectDataTimeout
,LPSTR lpUserName
,DWORD nMaxUserNameSize
);
2387 WINBASEAPI WINBOOL WINAPI
GetNamedPipeHandleStateW(HANDLE hNamedPipe
,LPDWORD lpState
,LPDWORD lpCurInstances
,LPDWORD lpMaxCollectionCount
,LPDWORD lpCollectDataTimeout
,LPWSTR lpUserName
,DWORD nMaxUserNameSize
);
2388 WINBASEAPI WINBOOL WINAPI
CallNamedPipeA(LPCSTR lpNamedPipeName
,LPVOID lpInBuffer
,DWORD nInBufferSize
,LPVOID lpOutBuffer
,DWORD nOutBufferSize
,LPDWORD lpBytesRead
,DWORD nTimeOut
);
2389 WINBASEAPI WINBOOL WINAPI
CallNamedPipeW(LPCWSTR lpNamedPipeName
,LPVOID lpInBuffer
,DWORD nInBufferSize
,LPVOID lpOutBuffer
,DWORD nOutBufferSize
,LPDWORD lpBytesRead
,DWORD nTimeOut
);
2390 WINBASEAPI WINBOOL WINAPI
WaitNamedPipeA(LPCSTR lpNamedPipeName
,DWORD nTimeOut
);
2391 WINBASEAPI WINBOOL WINAPI
WaitNamedPipeW(LPCWSTR lpNamedPipeName
,DWORD nTimeOut
);
2392 WINBASEAPI WINBOOL WINAPI
SetVolumeLabelA(LPCSTR lpRootPathName
,LPCSTR lpVolumeName
);
2393 WINBASEAPI WINBOOL WINAPI
SetVolumeLabelW(LPCWSTR lpRootPathName
,LPCWSTR lpVolumeName
);
2394 WINBASEAPI VOID WINAPI
SetFileApisToOEM(VOID
);
2395 WINBASEAPI VOID WINAPI
SetFileApisToANSI(VOID
);
2396 WINBASEAPI WINBOOL WINAPI
AreFileApisANSI(VOID
);
2397 WINBASEAPI WINBOOL WINAPI
GetVolumeInformationA(LPCSTR lpRootPathName
,LPSTR lpVolumeNameBuffer
,DWORD nVolumeNameSize
,LPDWORD lpVolumeSerialNumber
,LPDWORD lpMaximumComponentLength
,LPDWORD lpFileSystemFlags
,LPSTR lpFileSystemNameBuffer
,DWORD nFileSystemNameSize
);
2398 WINBASEAPI WINBOOL WINAPI
GetVolumeInformationW(LPCWSTR lpRootPathName
,LPWSTR lpVolumeNameBuffer
,DWORD nVolumeNameSize
,LPDWORD lpVolumeSerialNumber
,LPDWORD lpMaximumComponentLength
,LPDWORD lpFileSystemFlags
,LPWSTR lpFileSystemNameBuffer
,DWORD nFileSystemNameSize
);
2399 WINBASEAPI WINBOOL WINAPI
CancelIo(HANDLE hFile
);
2400 WINADVAPI WINBOOL WINAPI
ClearEventLogA(HANDLE hEventLog
,LPCSTR lpBackupFileName
);
2401 WINADVAPI WINBOOL WINAPI
ClearEventLogW(HANDLE hEventLog
,LPCWSTR lpBackupFileName
);
2402 WINADVAPI WINBOOL WINAPI
BackupEventLogA(HANDLE hEventLog
,LPCSTR lpBackupFileName
);
2403 WINADVAPI WINBOOL WINAPI
BackupEventLogW(HANDLE hEventLog
,LPCWSTR lpBackupFileName
);
2404 WINADVAPI WINBOOL WINAPI
CloseEventLog(HANDLE hEventLog
);
2405 WINADVAPI WINBOOL WINAPI
DeregisterEventSource(HANDLE hEventLog
);
2406 WINADVAPI WINBOOL WINAPI
NotifyChangeEventLog(HANDLE hEventLog
,HANDLE hEvent
);
2407 WINADVAPI WINBOOL WINAPI
GetNumberOfEventLogRecords(HANDLE hEventLog
,PDWORD NumberOfRecords
);
2408 WINADVAPI WINBOOL WINAPI
GetOldestEventLogRecord(HANDLE hEventLog
,PDWORD OldestRecord
);
2409 WINADVAPI HANDLE WINAPI
OpenEventLogA(LPCSTR lpUNCServerName
,LPCSTR lpSourceName
);
2410 WINADVAPI HANDLE WINAPI
OpenEventLogW(LPCWSTR lpUNCServerName
,LPCWSTR lpSourceName
);
2411 WINADVAPI HANDLE WINAPI
RegisterEventSourceA(LPCSTR lpUNCServerName
,LPCSTR lpSourceName
);
2412 WINADVAPI HANDLE WINAPI
RegisterEventSourceW(LPCWSTR lpUNCServerName
,LPCWSTR lpSourceName
);
2413 WINADVAPI HANDLE WINAPI
OpenBackupEventLogA(LPCSTR lpUNCServerName
,LPCSTR lpFileName
);
2414 WINADVAPI HANDLE WINAPI
OpenBackupEventLogW(LPCWSTR lpUNCServerName
,LPCWSTR lpFileName
);
2415 WINADVAPI WINBOOL WINAPI
ReadEventLogA(HANDLE hEventLog
,DWORD dwReadFlags
,DWORD dwRecordOffset
,LPVOID lpBuffer
,DWORD nNumberOfBytesToRead
,DWORD
*pnBytesRead
,DWORD
*pnMinNumberOfBytesNeeded
);
2416 WINADVAPI WINBOOL WINAPI
ReadEventLogW(HANDLE hEventLog
,DWORD dwReadFlags
,DWORD dwRecordOffset
,LPVOID lpBuffer
,DWORD nNumberOfBytesToRead
,DWORD
*pnBytesRead
,DWORD
*pnMinNumberOfBytesNeeded
);
2417 WINADVAPI WINBOOL WINAPI
ReportEventA(HANDLE hEventLog
,WORD wType
,WORD wCategory
,DWORD dwEventID
,PSID lpUserSid
,WORD wNumStrings
,DWORD dwDataSize
,LPCSTR
*lpStrings
,LPVOID lpRawData
);
2418 WINADVAPI WINBOOL WINAPI
ReportEventW(HANDLE hEventLog
,WORD wType
,WORD wCategory
,DWORD dwEventID
,PSID lpUserSid
,WORD wNumStrings
,DWORD dwDataSize
,LPCWSTR
*lpStrings
,LPVOID lpRawData
);
2420 #define EVENTLOG_FULL_INFO 0
2422 typedef struct _EVENTLOG_FULL_INFORMATION
{
2424 } EVENTLOG_FULL_INFORMATION
,*LPEVENTLOG_FULL_INFORMATION
;
2426 WINADVAPI WINBOOL WINAPI
GetEventLogInformation(HANDLE hEventLog
,DWORD dwInfoLevel
,LPVOID lpBuffer
,DWORD cbBufSize
,LPDWORD pcbBytesNeeded
);
2427 WINADVAPI WINBOOL WINAPI
DuplicateToken(HANDLE ExistingTokenHandle
,SECURITY_IMPERSONATION_LEVEL ImpersonationLevel
,PHANDLE DuplicateTokenHandle
);
2428 WINADVAPI WINBOOL WINAPI
GetKernelObjectSecurity(HANDLE Handle
,SECURITY_INFORMATION RequestedInformation
,PSECURITY_DESCRIPTOR pSecurityDescriptor
,DWORD nLength
,LPDWORD lpnLengthNeeded
);
2429 WINADVAPI WINBOOL WINAPI
ImpersonateNamedPipeClient(HANDLE hNamedPipe
);
2430 WINADVAPI WINBOOL WINAPI
ImpersonateSelf(SECURITY_IMPERSONATION_LEVEL ImpersonationLevel
);
2431 WINADVAPI WINBOOL WINAPI
RevertToSelf(VOID
);
2432 WINADVAPI WINBOOL WINAPI
SetThreadToken (PHANDLE Thread
,HANDLE Token
);
2433 WINADVAPI WINBOOL WINAPI
AccessCheck(PSECURITY_DESCRIPTOR pSecurityDescriptor
,HANDLE ClientToken
,DWORD DesiredAccess
,PGENERIC_MAPPING GenericMapping
,PPRIVILEGE_SET PrivilegeSet
,LPDWORD PrivilegeSetLength
,LPDWORD GrantedAccess
,LPBOOL AccessStatus
);
2434 WINADVAPI WINBOOL WINAPI
AccessCheckByType(PSECURITY_DESCRIPTOR pSecurityDescriptor
,PSID PrincipalSelfSid
,HANDLE ClientToken
,DWORD DesiredAccess
,POBJECT_TYPE_LIST ObjectTypeList
,DWORD ObjectTypeListLength
,PGENERIC_MAPPING GenericMapping
,PPRIVILEGE_SET PrivilegeSet
,LPDWORD PrivilegeSetLength
,LPDWORD GrantedAccess
,LPBOOL AccessStatus
);
2435 WINADVAPI WINBOOL WINAPI
AccessCheckByTypeResultList(PSECURITY_DESCRIPTOR pSecurityDescriptor
,PSID PrincipalSelfSid
,HANDLE ClientToken
,DWORD DesiredAccess
,POBJECT_TYPE_LIST ObjectTypeList
,DWORD ObjectTypeListLength
,PGENERIC_MAPPING GenericMapping
,PPRIVILEGE_SET PrivilegeSet
,LPDWORD PrivilegeSetLength
,LPDWORD GrantedAccessList
,LPDWORD AccessStatusList
);
2436 WINADVAPI WINBOOL WINAPI
OpenProcessToken(HANDLE ProcessHandle
,DWORD DesiredAccess
,PHANDLE TokenHandle
);
2437 WINADVAPI WINBOOL WINAPI
OpenThreadToken(HANDLE ThreadHandle
,DWORD DesiredAccess
,WINBOOL OpenAsSelf
,PHANDLE TokenHandle
);
2438 WINADVAPI WINBOOL WINAPI
GetTokenInformation(HANDLE TokenHandle
,TOKEN_INFORMATION_CLASS TokenInformationClass
,LPVOID TokenInformation
,DWORD TokenInformationLength
,PDWORD ReturnLength
);
2439 WINADVAPI WINBOOL WINAPI
SetTokenInformation(HANDLE TokenHandle
,TOKEN_INFORMATION_CLASS TokenInformationClass
,LPVOID TokenInformation
,DWORD TokenInformationLength
);
2440 WINADVAPI WINBOOL WINAPI
AdjustTokenPrivileges(HANDLE TokenHandle
,WINBOOL DisableAllPrivileges
,PTOKEN_PRIVILEGES NewState
,DWORD BufferLength
,PTOKEN_PRIVILEGES PreviousState
,PDWORD ReturnLength
);
2441 WINADVAPI WINBOOL WINAPI
AdjustTokenGroups(HANDLE TokenHandle
,WINBOOL ResetToDefault
,PTOKEN_GROUPS NewState
,DWORD BufferLength
,PTOKEN_GROUPS PreviousState
,PDWORD ReturnLength
);
2442 WINADVAPI WINBOOL WINAPI
PrivilegeCheck(HANDLE ClientToken
,PPRIVILEGE_SET RequiredPrivileges
,LPBOOL pfResult
);
2443 WINADVAPI WINBOOL WINAPI
AccessCheckAndAuditAlarmA(LPCSTR SubsystemName
,LPVOID HandleId
,LPSTR ObjectTypeName
,LPSTR ObjectName
,PSECURITY_DESCRIPTOR SecurityDescriptor
,DWORD DesiredAccess
,PGENERIC_MAPPING GenericMapping
,WINBOOL ObjectCreation
,LPDWORD GrantedAccess
,LPBOOL AccessStatus
,LPBOOL pfGenerateOnClose
);
2444 WINADVAPI WINBOOL WINAPI
AccessCheckAndAuditAlarmW(LPCWSTR SubsystemName
,LPVOID HandleId
,LPWSTR ObjectTypeName
,LPWSTR ObjectName
,PSECURITY_DESCRIPTOR SecurityDescriptor
,DWORD DesiredAccess
,PGENERIC_MAPPING GenericMapping
,WINBOOL ObjectCreation
,LPDWORD GrantedAccess
,LPBOOL AccessStatus
,LPBOOL pfGenerateOnClose
);
2445 WINADVAPI WINBOOL WINAPI
AccessCheckByTypeAndAuditAlarmA(LPCSTR SubsystemName
,LPVOID HandleId
,LPCSTR ObjectTypeName
,LPCSTR ObjectName
,PSECURITY_DESCRIPTOR SecurityDescriptor
,PSID PrincipalSelfSid
,DWORD DesiredAccess
,AUDIT_EVENT_TYPE AuditType
,DWORD Flags
,POBJECT_TYPE_LIST ObjectTypeList
,DWORD ObjectTypeListLength
,PGENERIC_MAPPING GenericMapping
,WINBOOL ObjectCreation
,LPDWORD GrantedAccess
,LPBOOL AccessStatus
,LPBOOL pfGenerateOnClose
);
2446 WINADVAPI WINBOOL WINAPI
AccessCheckByTypeAndAuditAlarmW(LPCWSTR SubsystemName
,LPVOID HandleId
,LPCWSTR ObjectTypeName
,LPCWSTR ObjectName
,PSECURITY_DESCRIPTOR SecurityDescriptor
,PSID PrincipalSelfSid
,DWORD DesiredAccess
,AUDIT_EVENT_TYPE AuditType
,DWORD Flags
,POBJECT_TYPE_LIST ObjectTypeList
,DWORD ObjectTypeListLength
,PGENERIC_MAPPING GenericMapping
,WINBOOL ObjectCreation
,LPDWORD GrantedAccess
,LPBOOL AccessStatus
,LPBOOL pfGenerateOnClose
);
2447 WINADVAPI WINBOOL WINAPI
AccessCheckByTypeResultListAndAuditAlarmA(LPCSTR SubsystemName
,LPVOID HandleId
,LPCSTR ObjectTypeName
,LPCSTR ObjectName
,PSECURITY_DESCRIPTOR SecurityDescriptor
,PSID PrincipalSelfSid
,DWORD DesiredAccess
,AUDIT_EVENT_TYPE AuditType
,DWORD Flags
,POBJECT_TYPE_LIST ObjectTypeList
,DWORD ObjectTypeListLength
,PGENERIC_MAPPING GenericMapping
,WINBOOL ObjectCreation
,LPDWORD GrantedAccess
,LPDWORD AccessStatusList
,LPBOOL pfGenerateOnClose
);
2448 WINADVAPI WINBOOL WINAPI
AccessCheckByTypeResultListAndAuditAlarmW(LPCWSTR SubsystemName
,LPVOID HandleId
,LPCWSTR ObjectTypeName
,LPCWSTR ObjectName
,PSECURITY_DESCRIPTOR SecurityDescriptor
,PSID PrincipalSelfSid
,DWORD DesiredAccess
,AUDIT_EVENT_TYPE AuditType
,DWORD Flags
,POBJECT_TYPE_LIST ObjectTypeList
,DWORD ObjectTypeListLength
,PGENERIC_MAPPING GenericMapping
,WINBOOL ObjectCreation
,LPDWORD GrantedAccess
,LPDWORD AccessStatusList
,LPBOOL pfGenerateOnClose
);
2449 WINADVAPI WINBOOL WINAPI
AccessCheckByTypeResultListAndAuditAlarmByHandleA(LPCSTR SubsystemName
,LPVOID HandleId
,HANDLE ClientToken
,LPCSTR ObjectTypeName
,LPCSTR ObjectName
,PSECURITY_DESCRIPTOR SecurityDescriptor
,PSID PrincipalSelfSid
,DWORD DesiredAccess
,AUDIT_EVENT_TYPE AuditType
,DWORD Flags
,POBJECT_TYPE_LIST ObjectTypeList
,DWORD ObjectTypeListLength
,PGENERIC_MAPPING GenericMapping
,WINBOOL ObjectCreation
,LPDWORD GrantedAccess
,LPDWORD AccessStatusList
,LPBOOL pfGenerateOnClose
);
2450 WINADVAPI WINBOOL WINAPI
AccessCheckByTypeResultListAndAuditAlarmByHandleW(LPCWSTR SubsystemName
,LPVOID HandleId
,HANDLE ClientToken
,LPCWSTR ObjectTypeName
,LPCWSTR ObjectName
,PSECURITY_DESCRIPTOR SecurityDescriptor
,PSID PrincipalSelfSid
,DWORD DesiredAccess
,AUDIT_EVENT_TYPE AuditType
,DWORD Flags
,POBJECT_TYPE_LIST ObjectTypeList
,DWORD ObjectTypeListLength
,PGENERIC_MAPPING GenericMapping
,WINBOOL ObjectCreation
,LPDWORD GrantedAccess
,LPDWORD AccessStatusList
,LPBOOL pfGenerateOnClose
);
2451 WINADVAPI WINBOOL WINAPI
ObjectOpenAuditAlarmA(LPCSTR SubsystemName
,LPVOID HandleId
,LPSTR ObjectTypeName
,LPSTR ObjectName
,PSECURITY_DESCRIPTOR pSecurityDescriptor
,HANDLE ClientToken
,DWORD DesiredAccess
,DWORD GrantedAccess
,PPRIVILEGE_SET Privileges
,WINBOOL ObjectCreation
,WINBOOL AccessGranted
,LPBOOL GenerateOnClose
);
2452 WINADVAPI WINBOOL WINAPI
ObjectOpenAuditAlarmW(LPCWSTR SubsystemName
,LPVOID HandleId
,LPWSTR ObjectTypeName
,LPWSTR ObjectName
,PSECURITY_DESCRIPTOR pSecurityDescriptor
,HANDLE ClientToken
,DWORD DesiredAccess
,DWORD GrantedAccess
,PPRIVILEGE_SET Privileges
,WINBOOL ObjectCreation
,WINBOOL AccessGranted
,LPBOOL GenerateOnClose
);
2453 WINADVAPI WINBOOL WINAPI
ObjectPrivilegeAuditAlarmA(LPCSTR SubsystemName
,LPVOID HandleId
,HANDLE ClientToken
,DWORD DesiredAccess
,PPRIVILEGE_SET Privileges
,WINBOOL AccessGranted
);
2454 WINADVAPI WINBOOL WINAPI
ObjectPrivilegeAuditAlarmW(LPCWSTR SubsystemName
,LPVOID HandleId
,HANDLE ClientToken
,DWORD DesiredAccess
,PPRIVILEGE_SET Privileges
,WINBOOL AccessGranted
);
2455 WINADVAPI WINBOOL WINAPI
ObjectCloseAuditAlarmA(LPCSTR SubsystemName
,LPVOID HandleId
,WINBOOL GenerateOnClose
);
2456 WINADVAPI WINBOOL WINAPI
ObjectCloseAuditAlarmW(LPCWSTR SubsystemName
,LPVOID HandleId
,WINBOOL GenerateOnClose
);
2457 WINADVAPI WINBOOL WINAPI
ObjectDeleteAuditAlarmA(LPCSTR SubsystemName
,LPVOID HandleId
,WINBOOL GenerateOnClose
);
2458 WINADVAPI WINBOOL WINAPI
ObjectDeleteAuditAlarmW(LPCWSTR SubsystemName
,LPVOID HandleId
,WINBOOL GenerateOnClose
);
2459 WINADVAPI WINBOOL WINAPI
PrivilegedServiceAuditAlarmA(LPCSTR SubsystemName
,LPCSTR ServiceName
,HANDLE ClientToken
,PPRIVILEGE_SET Privileges
,WINBOOL AccessGranted
);
2460 WINADVAPI WINBOOL WINAPI
PrivilegedServiceAuditAlarmW(LPCWSTR SubsystemName
,LPCWSTR ServiceName
,HANDLE ClientToken
,PPRIVILEGE_SET Privileges
,WINBOOL AccessGranted
);
2461 WINADVAPI WINBOOL WINAPI
IsWellKnownSid(PSID pSid
,WELL_KNOWN_SID_TYPE WellKnownSidType
);
2462 WINADVAPI WINBOOL WINAPI
CreateWellKnownSid(WELL_KNOWN_SID_TYPE WellKnownSidType
,PSID DomainSid
,PSID pSid
,DWORD
*cbSid
);
2463 WINADVAPI WINBOOL WINAPI
EqualDomainSid(PSID pSid1
,PSID pSid2
,WINBOOL
*pfEqual
);
2464 WINADVAPI WINBOOL WINAPI
GetWindowsAccountDomainSid(PSID pSid
,PSID pDomainSid
,DWORD
*cbDomainSid
);
2465 WINADVAPI WINBOOL WINAPI
IsValidSid(PSID pSid
);
2466 WINADVAPI WINBOOL WINAPI
EqualSid(PSID pSid1
,PSID pSid2
);
2467 WINADVAPI WINBOOL WINAPI
EqualPrefixSid(PSID pSid1
,PSID pSid2
);
2468 WINADVAPI DWORD WINAPI
GetSidLengthRequired (UCHAR nSubAuthorityCount
);
2469 WINADVAPI WINBOOL WINAPI
AllocateAndInitializeSid(PSID_IDENTIFIER_AUTHORITY pIdentifierAuthority
,BYTE nSubAuthorityCount
,DWORD nSubAuthority0
,DWORD nSubAuthority1
,DWORD nSubAuthority2
,DWORD nSubAuthority3
,DWORD nSubAuthority4
,DWORD nSubAuthority5
,DWORD nSubAuthority6
,DWORD nSubAuthority7
,PSID
*pSid
);
2470 WINADVAPI PVOID WINAPI
FreeSid(PSID pSid
);
2471 WINADVAPI WINBOOL WINAPI
InitializeSid(PSID Sid
,PSID_IDENTIFIER_AUTHORITY pIdentifierAuthority
,BYTE nSubAuthorityCount
);
2472 WINADVAPI PSID_IDENTIFIER_AUTHORITY WINAPI
GetSidIdentifierAuthority(PSID pSid
);
2473 WINADVAPI PDWORD WINAPI
GetSidSubAuthority(PSID pSid
,DWORD nSubAuthority
);
2474 WINADVAPI PUCHAR WINAPI
GetSidSubAuthorityCount(PSID pSid
);
2475 WINADVAPI DWORD WINAPI
GetLengthSid(PSID pSid
);
2476 WINADVAPI WINBOOL WINAPI
CopySid(DWORD nDestinationSidLength
,PSID pDestinationSid
,PSID pSourceSid
);
2477 WINADVAPI WINBOOL WINAPI
AreAllAccessesGranted(DWORD GrantedAccess
,DWORD DesiredAccess
);
2478 WINADVAPI WINBOOL WINAPI
AreAnyAccessesGranted(DWORD GrantedAccess
,DWORD DesiredAccess
);
2479 WINADVAPI VOID WINAPI
MapGenericMask(PDWORD AccessMask
,PGENERIC_MAPPING GenericMapping
);
2480 WINADVAPI WINBOOL WINAPI
IsValidAcl(PACL pAcl
);
2481 WINADVAPI WINBOOL WINAPI
InitializeAcl(PACL pAcl
,DWORD nAclLength
,DWORD dwAclRevision
);
2482 WINADVAPI WINBOOL WINAPI
GetAclInformation(PACL pAcl
,LPVOID pAclInformation
,DWORD nAclInformationLength
,ACL_INFORMATION_CLASS dwAclInformationClass
);
2483 WINADVAPI WINBOOL WINAPI
SetAclInformation(PACL pAcl
,LPVOID pAclInformation
,DWORD nAclInformationLength
,ACL_INFORMATION_CLASS dwAclInformationClass
);
2484 WINADVAPI WINBOOL WINAPI
AddAce(PACL pAcl
,DWORD dwAceRevision
,DWORD dwStartingAceIndex
,LPVOID pAceList
,DWORD nAceListLength
);
2485 WINADVAPI WINBOOL WINAPI
DeleteAce(PACL pAcl
,DWORD dwAceIndex
);
2486 WINADVAPI WINBOOL WINAPI
GetAce(PACL pAcl
,DWORD dwAceIndex
,LPVOID
*pAce
);
2487 WINADVAPI WINBOOL WINAPI
AddAccessAllowedAce(PACL pAcl
,DWORD dwAceRevision
,DWORD AccessMask
,PSID pSid
);
2488 WINADVAPI WINBOOL WINAPI
AddAccessAllowedAceEx(PACL pAcl
,DWORD dwAceRevision
,DWORD AceFlags
,DWORD AccessMask
,PSID pSid
);
2489 WINADVAPI WINBOOL WINAPI
AddAccessDeniedAce(PACL pAcl
,DWORD dwAceRevision
,DWORD AccessMask
,PSID pSid
);
2490 WINADVAPI WINBOOL WINAPI
AddAccessDeniedAceEx(PACL pAcl
,DWORD dwAceRevision
,DWORD AceFlags
,DWORD AccessMask
,PSID pSid
);
2491 WINADVAPI WINBOOL WINAPI
AddAuditAccessAce(PACL pAcl
,DWORD dwAceRevision
,DWORD dwAccessMask
,PSID pSid
,WINBOOL bAuditSuccess
,WINBOOL bAuditFailure
);
2492 WINADVAPI WINBOOL WINAPI
AddAuditAccessAceEx(PACL pAcl
,DWORD dwAceRevision
,DWORD AceFlags
,DWORD dwAccessMask
,PSID pSid
,WINBOOL bAuditSuccess
,WINBOOL bAuditFailure
);
2493 WINADVAPI WINBOOL WINAPI
AddAccessAllowedObjectAce(PACL pAcl
,DWORD dwAceRevision
,DWORD AceFlags
,DWORD AccessMask
,GUID
*ObjectTypeGuid
,GUID
*InheritedObjectTypeGuid
,PSID pSid
);
2494 WINADVAPI WINBOOL WINAPI
AddAccessDeniedObjectAce(PACL pAcl
,DWORD dwAceRevision
,DWORD AceFlags
,DWORD AccessMask
,GUID
*ObjectTypeGuid
,GUID
*InheritedObjectTypeGuid
,PSID pSid
);
2495 WINADVAPI WINBOOL WINAPI
AddAuditAccessObjectAce(PACL pAcl
,DWORD dwAceRevision
,DWORD AceFlags
,DWORD AccessMask
,GUID
*ObjectTypeGuid
,GUID
*InheritedObjectTypeGuid
,PSID pSid
,WINBOOL bAuditSuccess
,WINBOOL bAuditFailure
);
2496 WINADVAPI WINBOOL WINAPI
FindFirstFreeAce(PACL pAcl
,LPVOID
*pAce
);
2497 WINADVAPI WINBOOL WINAPI
InitializeSecurityDescriptor(PSECURITY_DESCRIPTOR pSecurityDescriptor
,DWORD dwRevision
);
2498 WINADVAPI WINBOOL WINAPI
IsValidSecurityDescriptor(PSECURITY_DESCRIPTOR pSecurityDescriptor
);
2499 WINADVAPI DWORD WINAPI
GetSecurityDescriptorLength(PSECURITY_DESCRIPTOR pSecurityDescriptor
);
2500 WINADVAPI WINBOOL WINAPI
GetSecurityDescriptorControl(PSECURITY_DESCRIPTOR pSecurityDescriptor
,PSECURITY_DESCRIPTOR_CONTROL pControl
,LPDWORD lpdwRevision
);
2501 WINADVAPI WINBOOL WINAPI
SetSecurityDescriptorControl(PSECURITY_DESCRIPTOR pSecurityDescriptor
,SECURITY_DESCRIPTOR_CONTROL ControlBitsOfInterest
,SECURITY_DESCRIPTOR_CONTROL ControlBitsToSet
);
2502 WINADVAPI WINBOOL WINAPI
SetSecurityDescriptorDacl(PSECURITY_DESCRIPTOR pSecurityDescriptor
,WINBOOL bDaclPresent
,PACL pDacl
,WINBOOL bDaclDefaulted
);
2503 WINADVAPI WINBOOL WINAPI
GetSecurityDescriptorDacl(PSECURITY_DESCRIPTOR pSecurityDescriptor
,LPBOOL lpbDaclPresent
,PACL
*pDacl
,LPBOOL lpbDaclDefaulted
);
2504 WINADVAPI WINBOOL WINAPI
SetSecurityDescriptorSacl(PSECURITY_DESCRIPTOR pSecurityDescriptor
,WINBOOL bSaclPresent
,PACL pSacl
,WINBOOL bSaclDefaulted
);
2505 WINADVAPI WINBOOL WINAPI
GetSecurityDescriptorSacl(PSECURITY_DESCRIPTOR pSecurityDescriptor
,LPBOOL lpbSaclPresent
,PACL
*pSacl
,LPBOOL lpbSaclDefaulted
);
2506 WINADVAPI WINBOOL WINAPI
SetSecurityDescriptorOwner(PSECURITY_DESCRIPTOR pSecurityDescriptor
,PSID pOwner
,WINBOOL bOwnerDefaulted
);
2507 WINADVAPI WINBOOL WINAPI
GetSecurityDescriptorOwner(PSECURITY_DESCRIPTOR pSecurityDescriptor
,PSID
*pOwner
,LPBOOL lpbOwnerDefaulted
);
2508 WINADVAPI WINBOOL WINAPI
SetSecurityDescriptorGroup(PSECURITY_DESCRIPTOR pSecurityDescriptor
,PSID pGroup
,WINBOOL bGroupDefaulted
);
2509 WINADVAPI WINBOOL WINAPI
GetSecurityDescriptorGroup(PSECURITY_DESCRIPTOR pSecurityDescriptor
,PSID
*pGroup
,LPBOOL lpbGroupDefaulted
);
2510 WINADVAPI DWORD WINAPI
SetSecurityDescriptorRMControl(PSECURITY_DESCRIPTOR SecurityDescriptor
,PUCHAR RMControl
);
2511 WINADVAPI DWORD WINAPI
GetSecurityDescriptorRMControl(PSECURITY_DESCRIPTOR SecurityDescriptor
,PUCHAR RMControl
);
2512 WINADVAPI WINBOOL WINAPI
CreatePrivateObjectSecurity(PSECURITY_DESCRIPTOR ParentDescriptor
,PSECURITY_DESCRIPTOR CreatorDescriptor
,PSECURITY_DESCRIPTOR
*NewDescriptor
,WINBOOL IsDirectoryObject
,HANDLE Token
,PGENERIC_MAPPING GenericMapping
);
2513 WINADVAPI WINBOOL WINAPI
ConvertToAutoInheritPrivateObjectSecurity(PSECURITY_DESCRIPTOR ParentDescriptor
,PSECURITY_DESCRIPTOR CurrentSecurityDescriptor
,PSECURITY_DESCRIPTOR
*NewSecurityDescriptor
,GUID
*ObjectType
,BOOLEAN IsDirectoryObject
,PGENERIC_MAPPING GenericMapping
);
2514 WINADVAPI WINBOOL WINAPI
CreatePrivateObjectSecurityEx(PSECURITY_DESCRIPTOR ParentDescriptor
,PSECURITY_DESCRIPTOR CreatorDescriptor
,PSECURITY_DESCRIPTOR
*NewDescriptor
,GUID
*ObjectType
,WINBOOL IsContainerObject
,ULONG AutoInheritFlags
,HANDLE Token
,PGENERIC_MAPPING GenericMapping
);
2515 WINADVAPI WINBOOL WINAPI
CreatePrivateObjectSecurityWithMultipleInheritance(PSECURITY_DESCRIPTOR ParentDescriptor
,PSECURITY_DESCRIPTOR CreatorDescriptor
,PSECURITY_DESCRIPTOR
*NewDescriptor
,GUID
**ObjectTypes
,ULONG GuidCount
,WINBOOL IsContainerObject
,ULONG AutoInheritFlags
,HANDLE Token
,PGENERIC_MAPPING GenericMapping
);
2516 WINADVAPI WINBOOL WINAPI
SetPrivateObjectSecurity (SECURITY_INFORMATION SecurityInformation
,PSECURITY_DESCRIPTOR ModificationDescriptor
,PSECURITY_DESCRIPTOR
*ObjectsSecurityDescriptor
,PGENERIC_MAPPING GenericMapping
,HANDLE Token
);
2517 WINADVAPI WINBOOL WINAPI
SetPrivateObjectSecurityEx (SECURITY_INFORMATION SecurityInformation
,PSECURITY_DESCRIPTOR ModificationDescriptor
,PSECURITY_DESCRIPTOR
*ObjectsSecurityDescriptor
,ULONG AutoInheritFlags
,PGENERIC_MAPPING GenericMapping
,HANDLE Token
);
2518 WINADVAPI WINBOOL WINAPI
GetPrivateObjectSecurity(PSECURITY_DESCRIPTOR ObjectDescriptor
,SECURITY_INFORMATION SecurityInformation
,PSECURITY_DESCRIPTOR ResultantDescriptor
,DWORD DescriptorLength
,PDWORD ReturnLength
);
2519 WINADVAPI WINBOOL WINAPI
DestroyPrivateObjectSecurity(PSECURITY_DESCRIPTOR
*ObjectDescriptor
);
2520 WINADVAPI WINBOOL WINAPI
MakeSelfRelativeSD(PSECURITY_DESCRIPTOR pAbsoluteSecurityDescriptor
,PSECURITY_DESCRIPTOR pSelfRelativeSecurityDescriptor
,LPDWORD lpdwBufferLength
);
2521 WINADVAPI WINBOOL WINAPI
MakeAbsoluteSD(PSECURITY_DESCRIPTOR pSelfRelativeSecurityDescriptor
,PSECURITY_DESCRIPTOR pAbsoluteSecurityDescriptor
,LPDWORD lpdwAbsoluteSecurityDescriptorSize
,PACL pDacl
,LPDWORD lpdwDaclSize
,PACL pSacl
,LPDWORD lpdwSaclSize
,PSID pOwner
,LPDWORD lpdwOwnerSize
,PSID pPrimaryGroup
,LPDWORD lpdwPrimaryGroupSize
);
2522 WINADVAPI WINBOOL WINAPI
MakeAbsoluteSD2(PSECURITY_DESCRIPTOR pSelfRelativeSecurityDescriptor
,LPDWORD lpdwBufferSize
);
2523 WINADVAPI WINBOOL WINAPI
SetFileSecurityA(LPCSTR lpFileName
,SECURITY_INFORMATION SecurityInformation
,PSECURITY_DESCRIPTOR pSecurityDescriptor
);
2524 WINADVAPI WINBOOL WINAPI
SetFileSecurityW(LPCWSTR lpFileName
,SECURITY_INFORMATION SecurityInformation
,PSECURITY_DESCRIPTOR pSecurityDescriptor
);
2525 WINADVAPI WINBOOL WINAPI
GetFileSecurityA(LPCSTR lpFileName
,SECURITY_INFORMATION RequestedInformation
,PSECURITY_DESCRIPTOR pSecurityDescriptor
,DWORD nLength
,LPDWORD lpnLengthNeeded
);
2526 WINADVAPI WINBOOL WINAPI
GetFileSecurityW(LPCWSTR lpFileName
,SECURITY_INFORMATION RequestedInformation
,PSECURITY_DESCRIPTOR pSecurityDescriptor
,DWORD nLength
,LPDWORD lpnLengthNeeded
);
2527 WINADVAPI WINBOOL WINAPI
SetKernelObjectSecurity(HANDLE Handle
,SECURITY_INFORMATION SecurityInformation
,PSECURITY_DESCRIPTOR SecurityDescriptor
);
2528 WINBASEAPI HANDLE WINAPI
FindFirstChangeNotificationA(LPCSTR lpPathName
,WINBOOL bWatchSubtree
,DWORD dwNotifyFilter
);
2529 WINBASEAPI HANDLE WINAPI
FindFirstChangeNotificationW(LPCWSTR lpPathName
,WINBOOL bWatchSubtree
,DWORD dwNotifyFilter
);
2530 WINBASEAPI WINBOOL WINAPI
FindNextChangeNotification(HANDLE hChangeHandle
);
2531 WINBASEAPI WINBOOL WINAPI
FindCloseChangeNotification(HANDLE hChangeHandle
);
2532 WINBASEAPI WINBOOL WINAPI
ReadDirectoryChangesW(HANDLE hDirectory
,LPVOID lpBuffer
,DWORD nBufferLength
,WINBOOL bWatchSubtree
,DWORD dwNotifyFilter
,LPDWORD lpBytesReturned
,LPOVERLAPPED lpOverlapped
,LPOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine
);
2533 WINBASEAPI WINBOOL WINAPI
VirtualLock(LPVOID lpAddress
,SIZE_T dwSize
);
2534 WINBASEAPI WINBOOL WINAPI
VirtualUnlock(LPVOID lpAddress
,SIZE_T dwSize
);
2535 WINBASEAPI LPVOID WINAPI
MapViewOfFileEx(HANDLE hFileMappingObject
,DWORD dwDesiredAccess
,DWORD dwFileOffsetHigh
,DWORD dwFileOffsetLow
,SIZE_T dwNumberOfBytesToMap
,LPVOID lpBaseAddress
);
2536 WINBASEAPI WINBOOL WINAPI
SetPriorityClass(HANDLE hProcess
,DWORD dwPriorityClass
);
2537 WINBASEAPI DWORD WINAPI
GetPriorityClass(HANDLE hProcess
);
2538 WINBASEAPI WINBOOL WINAPI
IsBadReadPtr(CONST VOID
*lp
,UINT_PTR ucb
);
2539 WINBASEAPI WINBOOL WINAPI
IsBadWritePtr(LPVOID lp
,UINT_PTR ucb
);
2540 WINBASEAPI WINBOOL WINAPI
IsBadHugeReadPtr(CONST VOID
*lp
,UINT_PTR ucb
);
2541 WINBASEAPI WINBOOL WINAPI
IsBadHugeWritePtr(LPVOID lp
,UINT_PTR ucb
);
2542 WINBASEAPI WINBOOL WINAPI
IsBadCodePtr(FARPROC lpfn
);
2543 WINBASEAPI WINBOOL WINAPI
IsBadStringPtrA(LPCSTR lpsz
,UINT_PTR ucchMax
);
2544 WINBASEAPI WINBOOL WINAPI
IsBadStringPtrW(LPCWSTR lpsz
,UINT_PTR ucchMax
);
2545 WINADVAPI WINBOOL WINAPI
LookupAccountSidA(LPCSTR lpSystemName
,PSID Sid
,LPSTR Name
,LPDWORD cchName
,LPSTR ReferencedDomainName
,LPDWORD cchReferencedDomainName
,PSID_NAME_USE peUse
);
2546 WINADVAPI WINBOOL WINAPI
LookupAccountSidW(LPCWSTR lpSystemName
,PSID Sid
,LPWSTR Name
,LPDWORD cchName
,LPWSTR ReferencedDomainName
,LPDWORD cchReferencedDomainName
,PSID_NAME_USE peUse
);
2547 WINADVAPI WINBOOL WINAPI
LookupAccountNameA(LPCSTR lpSystemName
,LPCSTR lpAccountName
,PSID Sid
,LPDWORD cbSid
,LPSTR ReferencedDomainName
,LPDWORD cchReferencedDomainName
,PSID_NAME_USE peUse
);
2548 WINADVAPI WINBOOL WINAPI
LookupAccountNameW(LPCWSTR lpSystemName
,LPCWSTR lpAccountName
,PSID Sid
,LPDWORD cbSid
,LPWSTR ReferencedDomainName
,LPDWORD cchReferencedDomainName
,PSID_NAME_USE peUse
);
2549 WINADVAPI WINBOOL WINAPI
LookupPrivilegeValueA(LPCSTR lpSystemName
,LPCSTR lpName
,PLUID lpLuid
);
2550 WINADVAPI WINBOOL WINAPI
LookupPrivilegeValueW(LPCWSTR lpSystemName
,LPCWSTR lpName
,PLUID lpLuid
);
2551 WINADVAPI WINBOOL WINAPI
LookupPrivilegeNameA(LPCSTR lpSystemName
,PLUID lpLuid
,LPSTR lpName
,LPDWORD cchName
);
2552 WINADVAPI WINBOOL WINAPI
LookupPrivilegeNameW(LPCWSTR lpSystemName
,PLUID lpLuid
,LPWSTR lpName
,LPDWORD cchName
);
2553 WINADVAPI WINBOOL WINAPI
LookupPrivilegeDisplayNameA(LPCSTR lpSystemName
,LPCSTR lpName
,LPSTR lpDisplayName
,LPDWORD cchDisplayName
,LPDWORD lpLanguageId
);
2554 WINADVAPI WINBOOL WINAPI
LookupPrivilegeDisplayNameW(LPCWSTR lpSystemName
,LPCWSTR lpName
,LPWSTR lpDisplayName
,LPDWORD cchDisplayName
,LPDWORD lpLanguageId
);
2555 WINADVAPI WINBOOL WINAPI
AllocateLocallyUniqueId(PLUID Luid
);
2556 WINBASEAPI WINBOOL WINAPI
BuildCommDCBA(LPCSTR lpDef
,LPDCB lpDCB
);
2557 WINBASEAPI WINBOOL WINAPI
BuildCommDCBW(LPCWSTR lpDef
,LPDCB lpDCB
);
2558 WINBASEAPI WINBOOL WINAPI
BuildCommDCBAndTimeoutsA(LPCSTR lpDef
,LPDCB lpDCB
,LPCOMMTIMEOUTS lpCommTimeouts
);
2559 WINBASEAPI WINBOOL WINAPI
BuildCommDCBAndTimeoutsW(LPCWSTR lpDef
,LPDCB lpDCB
,LPCOMMTIMEOUTS lpCommTimeouts
);
2560 WINBASEAPI WINBOOL WINAPI
CommConfigDialogA(LPCSTR lpszName
,HWND hWnd
,LPCOMMCONFIG lpCC
);
2561 WINBASEAPI WINBOOL WINAPI
CommConfigDialogW(LPCWSTR lpszName
,HWND hWnd
,LPCOMMCONFIG lpCC
);
2562 WINBASEAPI WINBOOL WINAPI
GetDefaultCommConfigA(LPCSTR lpszName
,LPCOMMCONFIG lpCC
,LPDWORD lpdwSize
);
2563 WINBASEAPI WINBOOL WINAPI
GetDefaultCommConfigW(LPCWSTR lpszName
,LPCOMMCONFIG lpCC
,LPDWORD lpdwSize
);
2564 WINBASEAPI WINBOOL WINAPI
SetDefaultCommConfigA(LPCSTR lpszName
,LPCOMMCONFIG lpCC
,DWORD dwSize
);
2565 WINBASEAPI WINBOOL WINAPI
SetDefaultCommConfigW(LPCWSTR lpszName
,LPCOMMCONFIG lpCC
,DWORD dwSize
);
2567 #define MAX_COMPUTERNAME_LENGTH 15
2569 WINBASEAPI WINBOOL WINAPI
GetComputerNameA(LPSTR lpBuffer
,LPDWORD nSize
);
2570 WINBASEAPI WINBOOL WINAPI
GetComputerNameW(LPWSTR lpBuffer
,LPDWORD nSize
);
2571 WINBASEAPI WINBOOL WINAPI
SetComputerNameA(LPCSTR lpComputerName
);
2572 WINBASEAPI WINBOOL WINAPI
SetComputerNameW(LPCWSTR lpComputerName
);
2574 typedef enum _COMPUTER_NAME_FORMAT
{
2575 ComputerNameNetBIOS
,ComputerNameDnsHostname
,ComputerNameDnsDomain
,ComputerNameDnsFullyQualified
,ComputerNamePhysicalNetBIOS
,ComputerNamePhysicalDnsHostname
,ComputerNamePhysicalDnsDomain
,ComputerNamePhysicalDnsFullyQualified
,ComputerNameMax
2576 } COMPUTER_NAME_FORMAT
;
2578 WINBASEAPI WINBOOL WINAPI
GetComputerNameExA(COMPUTER_NAME_FORMAT NameType
,LPSTR lpBuffer
,LPDWORD nSize
);
2579 WINBASEAPI WINBOOL WINAPI
GetComputerNameExW(COMPUTER_NAME_FORMAT NameType
,LPWSTR lpBuffer
,LPDWORD nSize
);
2580 WINBASEAPI WINBOOL WINAPI
SetComputerNameExA(COMPUTER_NAME_FORMAT NameType
,LPCSTR lpBuffer
);
2581 WINBASEAPI WINBOOL WINAPI
SetComputerNameExW(COMPUTER_NAME_FORMAT NameType
,LPCWSTR lpBuffer
);
2582 WINBASEAPI WINBOOL WINAPI
DnsHostnameToComputerNameA(LPCSTR Hostname
,LPSTR ComputerName
,LPDWORD nSize
);
2583 WINBASEAPI WINBOOL WINAPI
DnsHostnameToComputerNameW(LPCWSTR Hostname
,LPWSTR ComputerName
,LPDWORD nSize
);
2584 WINADVAPI WINBOOL WINAPI
GetUserNameA(LPSTR lpBuffer
,LPDWORD pcbBuffer
);
2585 WINADVAPI WINBOOL WINAPI
GetUserNameW(LPWSTR lpBuffer
,LPDWORD pcbBuffer
);
2587 #define LOGON32_LOGON_INTERACTIVE 2
2588 #define LOGON32_LOGON_NETWORK 3
2589 #define LOGON32_LOGON_BATCH 4
2590 #define LOGON32_LOGON_SERVICE 5
2591 #define LOGON32_LOGON_UNLOCK 7
2592 #define LOGON32_LOGON_NETWORK_CLEARTEXT 8
2593 #define LOGON32_LOGON_NEW_CREDENTIALS 9
2595 #define LOGON32_PROVIDER_DEFAULT 0
2596 #define LOGON32_PROVIDER_WINNT35 1
2597 #define LOGON32_PROVIDER_WINNT40 2
2598 #define LOGON32_PROVIDER_WINNT50 3
2601 #define LogonUser LogonUserW
2602 #define LogonUserEx LogonUserExW
2603 #define CreateProcessAsUser CreateProcessAsUserW
2605 #define LogonUser LogonUserA
2606 #define LogonUserEx LogonUserExA
2607 #define CreateProcessAsUser CreateProcessAsUserA
2610 WINADVAPI WINBOOL WINAPI
LogonUserA(LPCSTR lpszUsername
,LPCSTR lpszDomain
,LPCSTR lpszPassword
,DWORD dwLogonType
,DWORD dwLogonProvider
,PHANDLE phToken
);
2611 WINADVAPI WINBOOL WINAPI
LogonUserW(LPCWSTR lpszUsername
,LPCWSTR lpszDomain
,LPCWSTR lpszPassword
,DWORD dwLogonType
,DWORD dwLogonProvider
,PHANDLE phToken
);
2612 WINADVAPI WINBOOL WINAPI
LogonUserExA(LPCSTR lpszUsername
,LPCSTR lpszDomain
,LPCSTR lpszPassword
,DWORD dwLogonType
,DWORD dwLogonProvider
,PHANDLE phToken
,PSID
*ppLogonSid
,PVOID
*ppProfileBuffer
,LPDWORD pdwProfileLength
,PQUOTA_LIMITS pQuotaLimits
);
2613 WINADVAPI WINBOOL WINAPI
LogonUserExW(LPCWSTR lpszUsername
,LPCWSTR lpszDomain
,LPCWSTR lpszPassword
,DWORD dwLogonType
,DWORD dwLogonProvider
,PHANDLE phToken
,PSID
*ppLogonSid
,PVOID
*ppProfileBuffer
,LPDWORD pdwProfileLength
,PQUOTA_LIMITS pQuotaLimits
);
2614 WINADVAPI WINBOOL WINAPI
ImpersonateLoggedOnUser(HANDLE hToken
);
2615 WINADVAPI WINBOOL WINAPI
CreateProcessAsUserA(HANDLE hToken
,LPCSTR lpApplicationName
,LPSTR lpCommandLine
,LPSECURITY_ATTRIBUTES lpProcessAttributes
,LPSECURITY_ATTRIBUTES lpThreadAttributes
,WINBOOL bInheritHandles
,DWORD dwCreationFlags
,LPVOID lpEnvironment
,LPCSTR lpCurrentDirectory
,LPSTARTUPINFOA lpStartupInfo
,LPPROCESS_INFORMATION lpProcessInformation
);
2616 WINADVAPI WINBOOL WINAPI
CreateProcessAsUserW(HANDLE hToken
,LPCWSTR lpApplicationName
,LPWSTR lpCommandLine
,LPSECURITY_ATTRIBUTES lpProcessAttributes
,LPSECURITY_ATTRIBUTES lpThreadAttributes
,WINBOOL bInheritHandles
,DWORD dwCreationFlags
,LPVOID lpEnvironment
,LPCWSTR lpCurrentDirectory
,LPSTARTUPINFOW lpStartupInfo
,LPPROCESS_INFORMATION lpProcessInformation
);
2618 #define LOGON_WITH_PROFILE 0x1
2619 #define LOGON_NETCREDENTIALS_ONLY 0x2
2620 #define LOGON_ZERO_PASSWORD_BUFFER 0x80000000
2622 WINADVAPI WINBOOL WINAPI
CreateProcessWithLogonW(LPCWSTR lpUsername
,LPCWSTR lpDomain
,LPCWSTR lpPassword
,DWORD dwLogonFlags
,LPCWSTR lpApplicationName
,LPWSTR lpCommandLine
,DWORD dwCreationFlags
,LPVOID lpEnvironment
,LPCWSTR lpCurrentDirectory
,LPSTARTUPINFOW lpStartupInfo
,LPPROCESS_INFORMATION lpProcessInformation
);
2623 WINADVAPI WINBOOL WINAPI
CreateProcessWithTokenW(HANDLE hToken
,DWORD dwLogonFlags
,LPCWSTR lpApplicationName
,LPWSTR lpCommandLine
,DWORD dwCreationFlags
,LPVOID lpEnvironment
,LPCWSTR lpCurrentDirectory
,LPSTARTUPINFOW lpStartupInfo
,LPPROCESS_INFORMATION lpProcessInformation
);
2624 WINADVAPI WINBOOL WINAPI
ImpersonateAnonymousToken(HANDLE ThreadHandle
);
2625 WINADVAPI WINBOOL WINAPI
DuplicateTokenEx(HANDLE hExistingToken
,DWORD dwDesiredAccess
,LPSECURITY_ATTRIBUTES lpTokenAttributes
,SECURITY_IMPERSONATION_LEVEL ImpersonationLevel
,TOKEN_TYPE TokenType
,PHANDLE phNewToken
);
2626 WINADVAPI WINBOOL WINAPI
CreateRestrictedToken(HANDLE ExistingTokenHandle
,DWORD Flags
,DWORD DisableSidCount
,PSID_AND_ATTRIBUTES SidsToDisable
,DWORD DeletePrivilegeCount
,PLUID_AND_ATTRIBUTES PrivilegesToDelete
,DWORD RestrictedSidCount
,PSID_AND_ATTRIBUTES SidsToRestrict
,PHANDLE NewTokenHandle
);
2627 WINADVAPI WINBOOL WINAPI
IsTokenRestricted(HANDLE TokenHandle
);
2628 WINADVAPI WINBOOL WINAPI
IsTokenUntrusted(HANDLE TokenHandle
);
2629 WINADVAPI WINBOOL WINAPI
CheckTokenMembership(HANDLE TokenHandle
,PSID SidToCheck
,PBOOL IsMember
);
2631 typedef WAITORTIMERCALLBACKFUNC WAITORTIMERCALLBACK
;
2633 WINBASEAPI WINBOOL WINAPI
RegisterWaitForSingleObject(PHANDLE phNewWaitObject
,HANDLE hObject
,WAITORTIMERCALLBACK Callback
,PVOID Context
,ULONG dwMilliseconds
,ULONG dwFlags
);
2634 WINBASEAPI HANDLE WINAPI
RegisterWaitForSingleObjectEx(HANDLE hObject
,WAITORTIMERCALLBACK Callback
,PVOID Context
,ULONG dwMilliseconds
,ULONG dwFlags
);
2635 WINBASEAPI WINBOOL WINAPI
UnregisterWait(HANDLE WaitHandle
);
2636 WINBASEAPI WINBOOL WINAPI
UnregisterWaitEx(HANDLE WaitHandle
,HANDLE CompletionEvent
);
2637 WINBASEAPI WINBOOL WINAPI
QueueUserWorkItem(LPTHREAD_START_ROUTINE Function
,PVOID Context
,ULONG Flags
);
2638 WINBASEAPI WINBOOL WINAPI
BindIoCompletionCallback(HANDLE FileHandle
,LPOVERLAPPED_COMPLETION_ROUTINE Function
,ULONG Flags
);
2639 WINBASEAPI HANDLE WINAPI
CreateTimerQueue(VOID
);
2640 WINBASEAPI WINBOOL WINAPI
CreateTimerQueueTimer(PHANDLE phNewTimer
,HANDLE TimerQueue
,WAITORTIMERCALLBACK Callback
,PVOID Parameter
,DWORD DueTime
,DWORD Period
,ULONG Flags
);
2641 WINBASEAPI WINBOOL WINAPI
ChangeTimerQueueTimer(HANDLE TimerQueue
,HANDLE Timer
,ULONG DueTime
,ULONG Period
);
2642 WINBASEAPI WINBOOL WINAPI
DeleteTimerQueueTimer(HANDLE TimerQueue
,HANDLE Timer
,HANDLE CompletionEvent
);
2643 WINBASEAPI WINBOOL WINAPI
DeleteTimerQueueEx(HANDLE TimerQueue
,HANDLE CompletionEvent
);
2644 WINBASEAPI HANDLE WINAPI
SetTimerQueueTimer(HANDLE TimerQueue
,WAITORTIMERCALLBACK Callback
,PVOID Parameter
,DWORD DueTime
,DWORD Period
,WINBOOL PreferIo
);
2645 WINBASEAPI WINBOOL WINAPI
CancelTimerQueueTimer(HANDLE TimerQueue
,HANDLE Timer
);
2646 WINBASEAPI WINBOOL WINAPI
DeleteTimerQueue(HANDLE TimerQueue
);
2648 #define HW_PROFILE_GUIDLEN 39
2649 #define MAX_PROFILE_LEN 80
2651 #define DOCKINFO_UNDOCKED (0x1)
2652 #define DOCKINFO_DOCKED (0x2)
2653 #define DOCKINFO_USER_SUPPLIED (0x4)
2654 #define DOCKINFO_USER_UNDOCKED (DOCKINFO_USER_SUPPLIED | DOCKINFO_UNDOCKED)
2655 #define DOCKINFO_USER_DOCKED (DOCKINFO_USER_SUPPLIED | DOCKINFO_DOCKED)
2657 typedef struct tagHW_PROFILE_INFOA
{
2659 CHAR szHwProfileGuid
[HW_PROFILE_GUIDLEN
];
2660 CHAR szHwProfileName
[MAX_PROFILE_LEN
];
2661 } HW_PROFILE_INFOA
,*LPHW_PROFILE_INFOA
;
2663 typedef struct tagHW_PROFILE_INFOW
{
2665 WCHAR szHwProfileGuid
[HW_PROFILE_GUIDLEN
];
2666 WCHAR szHwProfileName
[MAX_PROFILE_LEN
];
2667 } HW_PROFILE_INFOW
,*LPHW_PROFILE_INFOW
;
2670 typedef HW_PROFILE_INFOW HW_PROFILE_INFO
;
2671 typedef LPHW_PROFILE_INFOW LPHW_PROFILE_INFO
;
2673 typedef HW_PROFILE_INFOA HW_PROFILE_INFO
;
2674 typedef LPHW_PROFILE_INFOA LPHW_PROFILE_INFO
;
2678 #define GetCurrentHwProfile GetCurrentHwProfileW
2679 #define GetVersionEx GetVersionExW
2680 #define VerifyVersionInfo VerifyVersionInfoW
2682 #define GetCurrentHwProfile GetCurrentHwProfileA
2683 #define GetVersionEx GetVersionExA
2684 #define VerifyVersionInfo VerifyVersionInfoA
2687 WINADVAPI WINBOOL WINAPI
GetCurrentHwProfileA (LPHW_PROFILE_INFOA lpHwProfileInfo
);
2688 WINADVAPI WINBOOL WINAPI
GetCurrentHwProfileW (LPHW_PROFILE_INFOW lpHwProfileInfo
);
2689 WINBASEAPI WINBOOL WINAPI
QueryPerformanceCounter(LARGE_INTEGER
*lpPerformanceCount
);
2690 WINBASEAPI WINBOOL WINAPI
QueryPerformanceFrequency(LARGE_INTEGER
*lpFrequency
);
2691 WINBASEAPI WINBOOL WINAPI
GetVersionExA(LPOSVERSIONINFOA lpVersionInformation
);
2692 WINBASEAPI WINBOOL WINAPI
GetVersionExW(LPOSVERSIONINFOW lpVersionInformation
);
2693 WINBASEAPI WINBOOL WINAPI
VerifyVersionInfoA(LPOSVERSIONINFOEXA lpVersionInformation
,DWORD dwTypeMask
,DWORDLONG dwlConditionMask
);
2694 WINBASEAPI WINBOOL WINAPI
VerifyVersionInfoW(LPOSVERSIONINFOEXW lpVersionInformation
,DWORD dwTypeMask
,DWORDLONG dwlConditionMask
);
2696 #include <winerror.h>
2699 #define TC_HARDERR 1
2700 #define TC_GP_TRAP 2
2703 #define AC_LINE_OFFLINE 0x0
2704 #define AC_LINE_ONLINE 0x1
2705 #define AC_LINE_BACKUP_POWER 0x2
2706 #define AC_LINE_UNKNOWN 0xff
2708 #define BATTERY_FLAG_HIGH 0x1
2709 #define BATTERY_FLAG_LOW 0x2
2710 #define BATTERY_FLAG_CRITICAL 0x4
2711 #define BATTERY_FLAG_CHARGING 0x8
2712 #define BATTERY_FLAG_NO_BATTERY 0x80
2713 #define BATTERY_FLAG_UNKNOWN 0xff
2715 #define BATTERY_PERCENTAGE_UNKNOWN 0xff
2717 #define BATTERY_LIFE_UNKNOWN 0xffffffff
2719 typedef struct _SYSTEM_POWER_STATUS
{
2722 BYTE BatteryLifePercent
;
2724 DWORD BatteryLifeTime
;
2725 DWORD BatteryFullLifeTime
;
2726 } SYSTEM_POWER_STATUS
,*LPSYSTEM_POWER_STATUS
;
2729 #define CreateJobObject CreateJobObjectW
2730 #define OpenJobObject OpenJobObjectW
2731 #define FindFirstVolume FindFirstVolumeW
2732 #define FindNextVolume FindNextVolumeW
2733 #define FindFirstVolumeMountPoint FindFirstVolumeMountPointW
2734 #define FindNextVolumeMountPoint FindNextVolumeMountPointW
2735 #define SetVolumeMountPoint SetVolumeMountPointW
2736 #define DeleteVolumeMountPoint DeleteVolumeMountPointW
2737 #define GetVolumeNameForVolumeMountPoint GetVolumeNameForVolumeMountPointW
2738 #define GetVolumePathName GetVolumePathNameW
2739 #define GetVolumePathNamesForVolumeName GetVolumePathNamesForVolumeNameW
2741 #define CreateJobObject CreateJobObjectA
2742 #define OpenJobObject OpenJobObjectA
2743 #define FindFirstVolume FindFirstVolumeA
2744 #define FindNextVolume FindNextVolumeA
2745 #define FindFirstVolumeMountPoint FindFirstVolumeMountPointA
2746 #define FindNextVolumeMountPoint FindNextVolumeMountPointA
2747 #define SetVolumeMountPoint SetVolumeMountPointA
2748 #define DeleteVolumeMountPoint DeleteVolumeMountPointA
2749 #define GetVolumeNameForVolumeMountPoint GetVolumeNameForVolumeMountPointA
2750 #define GetVolumePathName GetVolumePathNameA
2751 #define GetVolumePathNamesForVolumeName GetVolumePathNamesForVolumeNameA
2754 WINBOOL WINAPI
GetSystemPowerStatus(LPSYSTEM_POWER_STATUS lpSystemPowerStatus
);
2755 WINBOOL WINAPI
SetSystemPowerState(WINBOOL fSuspend
,WINBOOL fForce
);
2756 WINBASEAPI WINBOOL WINAPI
AllocateUserPhysicalPages(HANDLE hProcess
,PULONG_PTR NumberOfPages
,PULONG_PTR PageArray
);
2757 WINBASEAPI WINBOOL WINAPI
FreeUserPhysicalPages(HANDLE hProcess
,PULONG_PTR NumberOfPages
,PULONG_PTR PageArray
);
2758 WINBASEAPI WINBOOL WINAPI
MapUserPhysicalPages(PVOID VirtualAddress
,ULONG_PTR NumberOfPages
,PULONG_PTR PageArray
);
2759 WINBASEAPI WINBOOL WINAPI
MapUserPhysicalPagesScatter(PVOID
*VirtualAddresses
,ULONG_PTR NumberOfPages
,PULONG_PTR PageArray
);
2760 WINBASEAPI HANDLE WINAPI
CreateJobObjectA(LPSECURITY_ATTRIBUTES lpJobAttributes
,LPCSTR lpName
);
2761 WINBASEAPI HANDLE WINAPI
CreateJobObjectW(LPSECURITY_ATTRIBUTES lpJobAttributes
,LPCWSTR lpName
);
2762 WINBASEAPI HANDLE WINAPI
OpenJobObjectA(DWORD dwDesiredAccess
,WINBOOL bInheritHandle
,LPCSTR lpName
);
2763 WINBASEAPI HANDLE WINAPI
OpenJobObjectW(DWORD dwDesiredAccess
,WINBOOL bInheritHandle
,LPCWSTR lpName
);
2764 WINBASEAPI WINBOOL WINAPI
AssignProcessToJobObject(HANDLE hJob
,HANDLE hProcess
);
2765 WINBASEAPI WINBOOL WINAPI
TerminateJobObject(HANDLE hJob
,UINT uExitCode
);
2766 WINBASEAPI WINBOOL WINAPI
QueryInformationJobObject(HANDLE hJob
,JOBOBJECTINFOCLASS JobObjectInformationClass
,LPVOID lpJobObjectInformation
,DWORD cbJobObjectInformationLength
,LPDWORD lpReturnLength
);
2767 WINBASEAPI WINBOOL WINAPI
SetInformationJobObject(HANDLE hJob
,JOBOBJECTINFOCLASS JobObjectInformationClass
,LPVOID lpJobObjectInformation
,DWORD cbJobObjectInformationLength
);
2768 WINBASEAPI WINBOOL WINAPI
IsProcessInJob(HANDLE ProcessHandle
,HANDLE JobHandle
,PBOOL Result
);
2769 WINBASEAPI WINBOOL WINAPI
CreateJobSet(ULONG NumJob
,PJOB_SET_ARRAY UserJobSet
,ULONG Flags
);
2770 WINBASEAPI PVOID WINAPI
AddVectoredExceptionHandler (ULONG First
,PVECTORED_EXCEPTION_HANDLER Handler
);
2771 WINBASEAPI ULONG WINAPI
RemoveVectoredExceptionHandler(PVOID Handle
);
2772 WINBASEAPI PVOID WINAPI
AddVectoredContinueHandler (ULONG First
,PVECTORED_EXCEPTION_HANDLER Handler
);
2773 WINBASEAPI ULONG WINAPI
RemoveVectoredContinueHandler(PVOID Handle
);
2774 WINBASEAPI HANDLE WINAPI
FindFirstVolumeA(LPSTR lpszVolumeName
,DWORD cchBufferLength
);
2775 WINBASEAPI HANDLE WINAPI
FindFirstVolumeW(LPWSTR lpszVolumeName
,DWORD cchBufferLength
);
2776 WINBASEAPI WINBOOL WINAPI
FindNextVolumeA(HANDLE hFindVolume
,LPSTR lpszVolumeName
,DWORD cchBufferLength
);
2777 WINBASEAPI WINBOOL WINAPI
FindNextVolumeW(HANDLE hFindVolume
,LPWSTR lpszVolumeName
,DWORD cchBufferLength
);
2778 WINBASEAPI WINBOOL WINAPI
FindVolumeClose(HANDLE hFindVolume
);
2779 WINBASEAPI HANDLE WINAPI
FindFirstVolumeMountPointA(LPCSTR lpszRootPathName
,LPSTR lpszVolumeMountPoint
,DWORD cchBufferLength
);
2780 WINBASEAPI HANDLE WINAPI
FindFirstVolumeMountPointW(LPCWSTR lpszRootPathName
,LPWSTR lpszVolumeMountPoint
,DWORD cchBufferLength
);
2781 WINBASEAPI WINBOOL WINAPI
FindNextVolumeMountPointA(HANDLE hFindVolumeMountPoint
,LPSTR lpszVolumeMountPoint
,DWORD cchBufferLength
);
2782 WINBASEAPI WINBOOL WINAPI
FindNextVolumeMountPointW(HANDLE hFindVolumeMountPoint
,LPWSTR lpszVolumeMountPoint
,DWORD cchBufferLength
);
2783 WINBASEAPI WINBOOL WINAPI
FindVolumeMountPointClose(HANDLE hFindVolumeMountPoint
);
2784 WINBASEAPI WINBOOL WINAPI
SetVolumeMountPointA(LPCSTR lpszVolumeMountPoint
,LPCSTR lpszVolumeName
);
2785 WINBASEAPI WINBOOL WINAPI
SetVolumeMountPointW(LPCWSTR lpszVolumeMountPoint
,LPCWSTR lpszVolumeName
);
2786 WINBASEAPI WINBOOL WINAPI
DeleteVolumeMountPointA(LPCSTR lpszVolumeMountPoint
);
2787 WINBASEAPI WINBOOL WINAPI
DeleteVolumeMountPointW(LPCWSTR lpszVolumeMountPoint
);
2788 WINBASEAPI WINBOOL WINAPI
GetVolumeNameForVolumeMountPointA(LPCSTR lpszVolumeMountPoint
,LPSTR lpszVolumeName
,DWORD cchBufferLength
);
2789 WINBASEAPI WINBOOL WINAPI
GetVolumeNameForVolumeMountPointW(LPCWSTR lpszVolumeMountPoint
,LPWSTR lpszVolumeName
,DWORD cchBufferLength
);
2790 WINBASEAPI WINBOOL WINAPI
GetVolumePathNameA(LPCSTR lpszFileName
,LPSTR lpszVolumePathName
,DWORD cchBufferLength
);
2791 WINBASEAPI WINBOOL WINAPI
GetVolumePathNameW(LPCWSTR lpszFileName
,LPWSTR lpszVolumePathName
,DWORD cchBufferLength
);
2792 WINBASEAPI WINBOOL WINAPI
GetVolumePathNamesForVolumeNameA(LPCSTR lpszVolumeName
,LPCH lpszVolumePathNames
,DWORD cchBufferLength
,PDWORD lpcchReturnLength
);
2793 WINBASEAPI WINBOOL WINAPI
GetVolumePathNamesForVolumeNameW(LPCWSTR lpszVolumeName
,LPWCH lpszVolumePathNames
,DWORD cchBufferLength
,PDWORD lpcchReturnLength
);
2795 #define ACTCTX_FLAG_PROCESSOR_ARCHITECTURE_VALID 0x1
2796 #define ACTCTX_FLAG_LANGID_VALID 0x2
2797 #define ACTCTX_FLAG_ASSEMBLY_DIRECTORY_VALID 0x4
2798 #define ACTCTX_FLAG_RESOURCE_NAME_VALID 0x8
2799 #define ACTCTX_FLAG_SET_PROCESS_DEFAULT 0x10
2800 #define ACTCTX_FLAG_APPLICATION_NAME_VALID 0x20
2801 #define ACTCTX_FLAG_SOURCE_IS_ASSEMBLYREF 0x40
2802 #define ACTCTX_FLAG_HMODULE_VALID 0x80
2804 typedef struct tagACTCTXA
{
2808 USHORT wProcessorArchitecture
;
2810 LPCSTR lpAssemblyDirectory
;
2811 LPCSTR lpResourceName
;
2812 LPCSTR lpApplicationName
;
2814 } ACTCTXA
,*PACTCTXA
;
2816 typedef struct tagACTCTXW
{
2820 USHORT wProcessorArchitecture
;
2822 LPCWSTR lpAssemblyDirectory
;
2823 LPCWSTR lpResourceName
;
2824 LPCWSTR lpApplicationName
;
2826 } ACTCTXW
,*PACTCTXW
;
2828 typedef const ACTCTXA
*PCACTCTXA
;
2829 typedef const ACTCTXW
*PCACTCTXW
;
2832 typedef ACTCTXW ACTCTX
;
2833 typedef PACTCTXW PACTCTX
;
2834 typedef PCACTCTXW PCACTCTX
;
2836 typedef ACTCTXA ACTCTX
;
2837 typedef PACTCTXA PACTCTX
;
2838 typedef PCACTCTXA PCACTCTX
;
2842 #define CreateActCtx CreateActCtxW
2844 #define CreateActCtx CreateActCtxA
2847 WINBASEAPI HANDLE WINAPI
CreateActCtxA(PCACTCTXA pActCtx
);
2848 WINBASEAPI HANDLE WINAPI
CreateActCtxW(PCACTCTXW pActCtx
);
2849 WINBASEAPI VOID WINAPI
AddRefActCtx(HANDLE hActCtx
);
2850 WINBASEAPI VOID WINAPI
ReleaseActCtx(HANDLE hActCtx
);
2851 WINBASEAPI WINBOOL WINAPI
ZombifyActCtx(HANDLE hActCtx
);
2852 WINBASEAPI WINBOOL WINAPI
ActivateActCtx(HANDLE hActCtx
,ULONG_PTR
*lpCookie
);
2854 #define DEACTIVATE_ACTCTX_FLAG_FORCE_EARLY_DEACTIVATION (0x1)
2856 WINBASEAPI WINBOOL WINAPI
DeactivateActCtx(DWORD dwFlags
,ULONG_PTR ulCookie
);
2857 WINBASEAPI WINBOOL WINAPI
GetCurrentActCtx(HANDLE
*lphActCtx
);
2859 typedef struct tagACTCTX_SECTION_KEYED_DATA_2600
{
2861 ULONG ulDataFormatVersion
;
2864 PVOID lpSectionGlobalData
;
2865 ULONG ulSectionGlobalDataLength
;
2866 PVOID lpSectionBase
;
2867 ULONG ulSectionTotalLength
;
2869 ULONG ulAssemblyRosterIndex
;
2870 } ACTCTX_SECTION_KEYED_DATA_2600
,*PACTCTX_SECTION_KEYED_DATA_2600
;
2872 typedef const ACTCTX_SECTION_KEYED_DATA_2600
*PCACTCTX_SECTION_KEYED_DATA_2600
;
2874 typedef struct tagACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA
{
2875 PVOID lpInformation
;
2876 PVOID lpSectionBase
;
2877 ULONG ulSectionLength
;
2878 PVOID lpSectionGlobalDataBase
;
2879 ULONG ulSectionGlobalDataLength
;
2880 } ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA
,*PACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA
;
2882 typedef const ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA
*PCACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA
;
2884 typedef struct tagACTCTX_SECTION_KEYED_DATA
{
2886 ULONG ulDataFormatVersion
;
2889 PVOID lpSectionGlobalData
;
2890 ULONG ulSectionGlobalDataLength
;
2891 PVOID lpSectionBase
;
2892 ULONG ulSectionTotalLength
;
2894 ULONG ulAssemblyRosterIndex
;
2897 ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA AssemblyMetadata
;
2898 } ACTCTX_SECTION_KEYED_DATA
,*PACTCTX_SECTION_KEYED_DATA
;
2900 typedef const ACTCTX_SECTION_KEYED_DATA
*PCACTCTX_SECTION_KEYED_DATA
;
2902 #define FIND_ACTCTX_SECTION_KEY_RETURN_HACTCTX 0x1
2903 #define FIND_ACTCTX_SECTION_KEY_RETURN_FLAGS 0x2
2904 #define FIND_ACTCTX_SECTION_KEY_RETURN_ASSEMBLY_METADATA 0x4
2907 #define FindActCtxSectionString FindActCtxSectionStringW
2909 #define FindActCtxSectionString FindActCtxSectionStringA
2912 WINBASEAPI WINBOOL WINAPI
FindActCtxSectionStringA(DWORD dwFlags
,const GUID
*lpExtensionGuid
,ULONG ulSectionId
,LPCSTR lpStringToFind
,PACTCTX_SECTION_KEYED_DATA ReturnedData
);
2913 WINBASEAPI WINBOOL WINAPI
FindActCtxSectionStringW(DWORD dwFlags
,const GUID
*lpExtensionGuid
,ULONG ulSectionId
,LPCWSTR lpStringToFind
,PACTCTX_SECTION_KEYED_DATA ReturnedData
);
2914 WINBASEAPI WINBOOL WINAPI
FindActCtxSectionGuid(DWORD dwFlags
,const GUID
*lpExtensionGuid
,ULONG ulSectionId
,const GUID
*lpGuidToFind
,PACTCTX_SECTION_KEYED_DATA ReturnedData
);
2917 #ifndef ACTIVATION_CONTEXT_BASIC_INFORMATION_DEFINED
2919 typedef struct _ACTIVATION_CONTEXT_BASIC_INFORMATION
{
2922 } ACTIVATION_CONTEXT_BASIC_INFORMATION
,*PACTIVATION_CONTEXT_BASIC_INFORMATION
;
2924 typedef const struct _ACTIVATION_CONTEXT_BASIC_INFORMATION
*PCACTIVATION_CONTEXT_BASIC_INFORMATION
;
2926 #define ACTIVATION_CONTEXT_BASIC_INFORMATION_DEFINED 1
2930 #define QUERY_ACTCTX_FLAG_USE_ACTIVE_ACTCTX 0x4
2931 #define QUERY_ACTCTX_FLAG_ACTCTX_IS_HMODULE 0x8
2932 #define QUERY_ACTCTX_FLAG_ACTCTX_IS_ADDRESS 0x10
2933 #define QUERY_ACTCTX_FLAG_NO_ADDREF 0x80000000
2935 WINBASEAPI WINBOOL WINAPI
QueryActCtxW(DWORD dwFlags
,HANDLE hActCtx
,PVOID pvSubInstance
,ULONG ulInfoClass
,PVOID pvBuffer
,SIZE_T cbBuffer
,SIZE_T
*pcbWrittenOrRequired
);
2937 typedef WINBOOL (WINAPI
*PQUERYACTCTXW_FUNC
)(DWORD dwFlags
,HANDLE hActCtx
,PVOID pvSubInstance
,ULONG ulInfoClass
,PVOID pvBuffer
,SIZE_T cbBuffer
,SIZE_T
*pcbWrittenOrRequired
);
2939 WINBASEAPI WINBOOL WINAPI
ProcessIdToSessionId(DWORD dwProcessId
,DWORD
*pSessionId
);
2940 WINBASEAPI DWORD WINAPI
WTSGetActiveConsoleSessionId();
2941 WINBASEAPI WINBOOL WINAPI
IsWow64Process(HANDLE hProcess
,PBOOL Wow64Process
);
2942 WINBASEAPI WINBOOL WINAPI
GetLogicalProcessorInformation(PSYSTEM_LOGICAL_PROCESSOR_INFORMATION Buffer
,PDWORD ReturnedLength
);
2943 WINBASEAPI WINBOOL WINAPI
GetNumaHighestNodeNumber(PULONG HighestNodeNumber
);
2944 WINBASEAPI WINBOOL WINAPI
GetNumaProcessorNode(UCHAR Processor
,PUCHAR NodeNumber
);
2945 WINBASEAPI WINBOOL WINAPI
GetNumaNodeProcessorMask(UCHAR Node
,PULONGLONG ProcessorMask
);
2946 WINBASEAPI WINBOOL WINAPI
GetNumaAvailableMemoryNode(UCHAR Node
,PULONGLONG AvailableBytes
);