Headers diff for kernel32.dll between 5.2.3790.3959-Windows 5.0 and 6.0.6002.18005-Windows 6.0 versions



 winbase.h (5.2.3790.3959-Windows 5.0)   winbase.h (6.0.6002.18005-Windows 6.0) 
skipping to change at line 101 skipping to change at line 101
#define EXCEPTION_PRIV_INSTRUCTION STATUS_PRIVILEGED_INSTRUCTION #define EXCEPTION_PRIV_INSTRUCTION STATUS_PRIVILEGED_INSTRUCTION
#define EXCEPTION_IN_PAGE_ERROR STATUS_IN_PAGE_ERROR #define EXCEPTION_IN_PAGE_ERROR STATUS_IN_PAGE_ERROR
#define EXCEPTION_ILLEGAL_INSTRUCTION STATUS_ILLEGAL_INSTRUCTION #define EXCEPTION_ILLEGAL_INSTRUCTION STATUS_ILLEGAL_INSTRUCTION
#define EXCEPTION_NONCONTINUABLE_EXCEPTION STATUS_NONCONTINUABLE_EXCEPTION #define EXCEPTION_NONCONTINUABLE_EXCEPTION STATUS_NONCONTINUABLE_EXCEPTION
#define EXCEPTION_STACK_OVERFLOW STATUS_STACK_OVERFLOW #define EXCEPTION_STACK_OVERFLOW STATUS_STACK_OVERFLOW
#define EXCEPTION_INVALID_DISPOSITION STATUS_INVALID_DISPOSITION #define EXCEPTION_INVALID_DISPOSITION STATUS_INVALID_DISPOSITION
#define EXCEPTION_GUARD_PAGE STATUS_GUARD_PAGE_VIOLATION #define EXCEPTION_GUARD_PAGE STATUS_GUARD_PAGE_VIOLATION
#define EXCEPTION_INVALID_HANDLE STATUS_INVALID_HANDLE #define EXCEPTION_INVALID_HANDLE STATUS_INVALID_HANDLE
#define EXCEPTION_POSSIBLE_DEADLOCK STATUS_POSSIBLE_DEADLOCK #define EXCEPTION_POSSIBLE_DEADLOCK STATUS_POSSIBLE_DEADLOCK
#define CONTROL_C_EXIT STATUS_CONTROL_C_EXIT #define CONTROL_C_EXIT STATUS_CONTROL_C_EXIT
#define MoveMemory RtlMoveMemory #define MoveMemory RtlMoveMemory
#define CopyMemory RtlCopyMemory #define CopyMemory RtlCopyMemory
#define FillMemory RtlFillMemory #define FillMemory RtlFillMemory
#define ZeroMemory RtlZeroMemory #define ZeroMemory RtlZeroMemory
#define SecureZeroMemory RtlSecureZeroMemory #define SecureZeroMemory RtlSecureZeroMemory
#define CaptureStackBackTrace RtlCaptureStackBackTrace
// //
// File creation flags must start at the high end since they // File creation flags must start at the high end since they
// are combined with the attributes // are combined with the attributes
// //
#define FILE_FLAG_WRITE_THROUGH 0x80000000 #define FILE_FLAG_WRITE_THROUGH 0x80000000
#define FILE_FLAG_OVERLAPPED 0x40000000 #define FILE_FLAG_OVERLAPPED 0x40000000
#define FILE_FLAG_NO_BUFFERING 0x20000000 #define FILE_FLAG_NO_BUFFERING 0x20000000
#define FILE_FLAG_RANDOM_ACCESS 0x10000000 #define FILE_FLAG_RANDOM_ACCESS 0x10000000
skipping to change at line 155 skipping to change at line 157
#define CALLBACK_STREAM_SWITCH 0x00000001 #define CALLBACK_STREAM_SWITCH 0x00000001
// //
// Define CopyFileEx option flags // Define CopyFileEx option flags
// //
#define COPY_FILE_FAIL_IF_EXISTS 0x00000001 #define COPY_FILE_FAIL_IF_EXISTS 0x00000001
#define COPY_FILE_RESTARTABLE 0x00000002 #define COPY_FILE_RESTARTABLE 0x00000002
#define COPY_FILE_OPEN_SOURCE_FOR_WRITE 0x00000004 #define COPY_FILE_OPEN_SOURCE_FOR_WRITE 0x00000004
#define COPY_FILE_ALLOW_DECRYPTED_DESTINATION 0x00000008 #define COPY_FILE_ALLOW_DECRYPTED_DESTINATION 0x00000008
//
// Gap for private copyfile flags
//
#if (_WIN32_WINNT >= 0x0600)
#define COPY_FILE_COPY_SYMLINK 0x00000800
#endif
#endif /* _WIN32_WINNT >= 0x0400 */ #endif /* _WIN32_WINNT >= 0x0400 */
#if (_WIN32_WINNT >= 0x0500) #if (_WIN32_WINNT >= 0x0500)
// //
// Define ReplaceFile option flags // Define ReplaceFile option flags
// //
#define REPLACEFILE_WRITE_THROUGH 0x00000001 #define REPLACEFILE_WRITE_THROUGH 0x00000001
#define REPLACEFILE_IGNORE_MERGE_ERRORS 0x00000002 #define REPLACEFILE_IGNORE_MERGE_ERRORS 0x00000002
skipping to change at line 196 skipping to change at line 206
// //
// Define the dwPipeMode values for CreateNamedPipe // Define the dwPipeMode values for CreateNamedPipe
// //
#define PIPE_WAIT 0x00000000 #define PIPE_WAIT 0x00000000
#define PIPE_NOWAIT 0x00000001 #define PIPE_NOWAIT 0x00000001
#define PIPE_READMODE_BYTE 0x00000000 #define PIPE_READMODE_BYTE 0x00000000
#define PIPE_READMODE_MESSAGE 0x00000002 #define PIPE_READMODE_MESSAGE 0x00000002
#define PIPE_TYPE_BYTE 0x00000000 #define PIPE_TYPE_BYTE 0x00000000
#define PIPE_TYPE_MESSAGE 0x00000004 #define PIPE_TYPE_MESSAGE 0x00000004
#define PIPE_ACCEPT_REMOTE_CLIENTS 0x00000000
#define PIPE_REJECT_REMOTE_CLIENTS 0x00000008
// //
// Define the well known values for CreateNamedPipe nMaxInstances // Define the well known values for CreateNamedPipe nMaxInstances
// //
#define PIPE_UNLIMITED_INSTANCES 255 #define PIPE_UNLIMITED_INSTANCES 255
// //
// Define the Security Quality of Service bits to be passed // Define the Security Quality of Service bits to be passed
// into CreateFile // into CreateFile
skipping to change at line 238 skipping to change at line 250
DWORD Offset; DWORD Offset;
DWORD OffsetHigh; DWORD OffsetHigh;
}; };
PVOID Pointer; PVOID Pointer;
}; };
HANDLE hEvent; HANDLE hEvent;
} OVERLAPPED, *LPOVERLAPPED; } OVERLAPPED, *LPOVERLAPPED;
typedef struct _OVERLAPPED_ENTRY {
ULONG_PTR lpCompletionKey;
LPOVERLAPPED lpOverlapped;
ULONG_PTR Internal;
DWORD dwNumberOfBytesTransferred;
} OVERLAPPED_ENTRY, *LPOVERLAPPED_ENTRY;
typedef struct _SECURITY_ATTRIBUTES { typedef struct _SECURITY_ATTRIBUTES {
DWORD nLength; DWORD nLength;
LPVOID lpSecurityDescriptor; LPVOID lpSecurityDescriptor;
BOOL bInheritHandle; BOOL bInheritHandle;
} SECURITY_ATTRIBUTES, *PSECURITY_ATTRIBUTES, *LPSECURITY_ATTRIBUTES; } SECURITY_ATTRIBUTES, *PSECURITY_ATTRIBUTES, *LPSECURITY_ATTRIBUTES;
typedef struct _PROCESS_INFORMATION { typedef struct _PROCESS_INFORMATION {
HANDLE hProcess; HANDLE hProcess;
HANDLE hThread; HANDLE hThread;
DWORD dwProcessId; DWORD dwProcessId;
skipping to change at line 298 skipping to change at line 317
#endif /* _WIN32_WINNT >= 0x0400 */ #endif /* _WIN32_WINNT >= 0x0400 */
typedef RTL_CRITICAL_SECTION CRITICAL_SECTION; typedef RTL_CRITICAL_SECTION CRITICAL_SECTION;
typedef PRTL_CRITICAL_SECTION PCRITICAL_SECTION; typedef PRTL_CRITICAL_SECTION PCRITICAL_SECTION;
typedef PRTL_CRITICAL_SECTION LPCRITICAL_SECTION; typedef PRTL_CRITICAL_SECTION LPCRITICAL_SECTION;
typedef RTL_CRITICAL_SECTION_DEBUG CRITICAL_SECTION_DEBUG; typedef RTL_CRITICAL_SECTION_DEBUG CRITICAL_SECTION_DEBUG;
typedef PRTL_CRITICAL_SECTION_DEBUG PCRITICAL_SECTION_DEBUG; typedef PRTL_CRITICAL_SECTION_DEBUG PCRITICAL_SECTION_DEBUG;
typedef PRTL_CRITICAL_SECTION_DEBUG LPCRITICAL_SECTION_DEBUG; typedef PRTL_CRITICAL_SECTION_DEBUG LPCRITICAL_SECTION_DEBUG;
#if (_WIN32_WINNT >= 0x0600)
//
// Define one-time initialization primitive
//
typedef RTL_RUN_ONCE INIT_ONCE;
typedef PRTL_RUN_ONCE PINIT_ONCE;
typedef PRTL_RUN_ONCE LPINIT_ONCE;
#define INIT_ONCE_STATIC_INIT RTL_RUN_ONCE_INIT
//
// Run once flags
//
#define INIT_ONCE_CHECK_ONLY RTL_RUN_ONCE_CHECK_ONLY
#define INIT_ONCE_ASYNC RTL_RUN_ONCE_ASYNC
#define INIT_ONCE_INIT_FAILED RTL_RUN_ONCE_INIT_FAILED
//
// The context stored in the run once structure must leave the following number
// of low order bits unused.
//
#define INIT_ONCE_CTX_RESERVED_BITS RTL_RUN_ONCE_CTX_RESERVED_BITS
typedef
BOOL
(WINAPI *PINIT_ONCE_FN) (
__inout PINIT_ONCE InitOnce,
__inout_opt PVOID Parameter,
__deref_opt_out_opt PVOID *Context
);
WINBASEAPI
VOID
WINAPI
InitOnceInitialize (
__out PINIT_ONCE InitOnce
);
WINBASEAPI
BOOL
WINAPI
InitOnceExecuteOnce (
__inout PINIT_ONCE InitOnce,
__in __callback PINIT_ONCE_FN InitFn,
__inout_opt PVOID Parameter,
__deref_opt_out_opt LPVOID *Context
);
WINBASEAPI
BOOL
WINAPI
InitOnceBeginInitialize (
__inout LPINIT_ONCE lpInitOnce,
__in DWORD dwFlags,
__out PBOOL fPending,
__deref_opt_out_opt LPVOID *lpContext
);
WINBASEAPI
BOOL
WINAPI
InitOnceComplete (
__inout LPINIT_ONCE lpInitOnce,
__in DWORD dwFlags,
__in_opt LPVOID lpContext
);
#endif
//
// Define the slim r/w lock
//
typedef RTL_SRWLOCK SRWLOCK, *PSRWLOCK;
#define SRWLOCK_INIT RTL_SRWLOCK_INIT
WINBASEAPI
VOID
WINAPI
InitializeSRWLock (
__out PSRWLOCK SRWLock
);
WINBASEAPI
VOID
WINAPI
ReleaseSRWLockExclusive (
__inout PSRWLOCK SRWLock
);
WINBASEAPI
VOID
WINAPI
ReleaseSRWLockShared (
__inout PSRWLOCK SRWLock
);
WINBASEAPI
VOID
WINAPI
AcquireSRWLockExclusive (
__inout PSRWLOCK SRWLock
);
WINBASEAPI
VOID
WINAPI
AcquireSRWLockShared (
__inout PSRWLOCK SRWLock
);
//
// Define condition variable
//
typedef RTL_CONDITION_VARIABLE CONDITION_VARIABLE, *PCONDITION_VARIABLE;
WINBASEAPI
VOID
WINAPI
InitializeConditionVariable (
__out PCONDITION_VARIABLE ConditionVariable
);
WINBASEAPI
VOID
WINAPI
WakeConditionVariable (
__inout PCONDITION_VARIABLE ConditionVariable
);
WINBASEAPI
VOID
WINAPI
WakeAllConditionVariable (
__inout PCONDITION_VARIABLE ConditionVariable
);
WINBASEAPI
BOOL
WINAPI
SleepConditionVariableCS (
__inout PCONDITION_VARIABLE ConditionVariable,
__inout PCRITICAL_SECTION CriticalSection,
__in DWORD dwMilliseconds
);
WINBASEAPI
BOOL
WINAPI
SleepConditionVariableSRW (
__inout PCONDITION_VARIABLE ConditionVariable,
__inout PSRWLOCK SRWLock,
__in DWORD dwMilliseconds,
__in ULONG Flags
);
//
// Static initializer for the condition variable
//
#define CONDITION_VARIABLE_INIT RTL_CONDITION_VARIABLE_INIT
//
// Flags for condition variables
//
#define CONDITION_VARIABLE_LOCKMODE_SHARED RTL_CONDITION_VARIABLE_LOCKMODE_SHARE
D
WINBASEAPI WINBASEAPI
__out_opt __out_opt
PVOID PVOID
WINAPI WINAPI
EncodePointer ( EncodePointer (
__in_opt PVOID Ptr __in_opt PVOID Ptr
); );
WINBASEAPI WINBASEAPI
__out_opt __out_opt
skipping to change at line 634 skipping to change at line 826
#define NONZEROLHND (LMEM_MOVEABLE) #define NONZEROLHND (LMEM_MOVEABLE)
#define NONZEROLPTR (LMEM_FIXED) #define NONZEROLPTR (LMEM_FIXED)
#define LocalDiscard( h ) LocalReAlloc( (h), 0, LMEM_MOVEABLE ) #define LocalDiscard( h ) LocalReAlloc( (h), 0, LMEM_MOVEABLE )
/* Flags returned by LocalFlags (in addition to LMEM_DISCARDABLE) */ /* Flags returned by LocalFlags (in addition to LMEM_DISCARDABLE) */
#define LMEM_DISCARDED 0x4000 #define LMEM_DISCARDED 0x4000
#define LMEM_LOCKCOUNT 0x00FF #define LMEM_LOCKCOUNT 0x00FF
// //
// NUMA values
//
#define NUMA_NO_PREFERRED_NODE ((DWORD) -1)
//
// dwCreationFlag values // dwCreationFlag values
// //
#define DEBUG_PROCESS 0x00000001 #define DEBUG_PROCESS 0x00000001
#define DEBUG_ONLY_THIS_PROCESS 0x00000002 #define DEBUG_ONLY_THIS_PROCESS 0x00000002
#define CREATE_SUSPENDED 0x00000004 #define CREATE_SUSPENDED 0x00000004
#define DETACHED_PROCESS 0x00000008 #define DETACHED_PROCESS 0x00000008
skipping to change at line 660 skipping to change at line 857
#define CREATE_NEW_PROCESS_GROUP 0x00000200 #define CREATE_NEW_PROCESS_GROUP 0x00000200
#define CREATE_UNICODE_ENVIRONMENT 0x00000400 #define CREATE_UNICODE_ENVIRONMENT 0x00000400
#define CREATE_SEPARATE_WOW_VDM 0x00000800 #define CREATE_SEPARATE_WOW_VDM 0x00000800
#define CREATE_SHARED_WOW_VDM 0x00001000 #define CREATE_SHARED_WOW_VDM 0x00001000
#define CREATE_FORCEDOS 0x00002000 #define CREATE_FORCEDOS 0x00002000
#define BELOW_NORMAL_PRIORITY_CLASS 0x00004000 #define BELOW_NORMAL_PRIORITY_CLASS 0x00004000
#define ABOVE_NORMAL_PRIORITY_CLASS 0x00008000 #define ABOVE_NORMAL_PRIORITY_CLASS 0x00008000
#define STACK_SIZE_PARAM_IS_A_RESERVATION 0x00010000 #define STACK_SIZE_PARAM_IS_A_RESERVATION 0x00010000
#define INHERIT_CALLER_PRIORITY 0x00020000
#define CREATE_PROTECTED_PROCESS 0x00040000
#define EXTENDED_STARTUPINFO_PRESENT 0x00080000
#define PROCESS_MODE_BACKGROUND_BEGIN 0x00100000
#define PROCESS_MODE_BACKGROUND_END 0x00200000
#define CREATE_BREAKAWAY_FROM_JOB 0x01000000 #define CREATE_BREAKAWAY_FROM_JOB 0x01000000
#define CREATE_PRESERVE_CODE_AUTHZ_LEVEL 0x02000000 #define CREATE_PRESERVE_CODE_AUTHZ_LEVEL 0x02000000
#define CREATE_DEFAULT_ERROR_MODE 0x04000000 #define CREATE_DEFAULT_ERROR_MODE 0x04000000
#define CREATE_NO_WINDOW 0x08000000 #define CREATE_NO_WINDOW 0x08000000
#define PROFILE_USER 0x10000000 #define PROFILE_USER 0x10000000
#define PROFILE_KERNEL 0x20000000 #define PROFILE_KERNEL 0x20000000
#define PROFILE_SERVER 0x40000000 #define PROFILE_SERVER 0x40000000
#define CREATE_IGNORE_SYSTEM_DEFAULT 0x80000000 #define CREATE_IGNORE_SYSTEM_DEFAULT 0x80000000
#define THREAD_PRIORITY_LOWEST THREAD_BASE_PRIORITY_MIN #define THREAD_PRIORITY_LOWEST THREAD_BASE_PRIORITY_MIN
#define THREAD_PRIORITY_BELOW_NORMAL (THREAD_PRIORITY_LOWEST+1) #define THREAD_PRIORITY_BELOW_NORMAL (THREAD_PRIORITY_LOWEST+1)
skipping to change at line 684 skipping to change at line 891
#define THREAD_PRIORITY_LOWEST THREAD_BASE_PRIORITY_MIN #define THREAD_PRIORITY_LOWEST THREAD_BASE_PRIORITY_MIN
#define THREAD_PRIORITY_BELOW_NORMAL (THREAD_PRIORITY_LOWEST+1) #define THREAD_PRIORITY_BELOW_NORMAL (THREAD_PRIORITY_LOWEST+1)
#define THREAD_PRIORITY_NORMAL 0 #define THREAD_PRIORITY_NORMAL 0
#define THREAD_PRIORITY_HIGHEST THREAD_BASE_PRIORITY_MAX #define THREAD_PRIORITY_HIGHEST THREAD_BASE_PRIORITY_MAX
#define THREAD_PRIORITY_ABOVE_NORMAL (THREAD_PRIORITY_HIGHEST-1) #define THREAD_PRIORITY_ABOVE_NORMAL (THREAD_PRIORITY_HIGHEST-1)
#define THREAD_PRIORITY_ERROR_RETURN (MAXLONG) #define THREAD_PRIORITY_ERROR_RETURN (MAXLONG)
#define THREAD_PRIORITY_TIME_CRITICAL THREAD_BASE_PRIORITY_LOWRT #define THREAD_PRIORITY_TIME_CRITICAL THREAD_BASE_PRIORITY_LOWRT
#define THREAD_PRIORITY_IDLE THREAD_BASE_PRIORITY_IDLE #define THREAD_PRIORITY_IDLE THREAD_BASE_PRIORITY_IDLE
#define THREAD_MODE_BACKGROUND_BEGIN 0x00010000
#define THREAD_MODE_BACKGROUND_END 0x00020000
//
// GetFinalPathNameByHandle
//
#define VOLUME_NAME_DOS 0x0 //default
#define VOLUME_NAME_GUID 0x1
#define VOLUME_NAME_NT 0x2
#define VOLUME_NAME_NONE 0x4
#define FILE_NAME_NORMALIZED 0x0 //default
#define FILE_NAME_OPENED 0x8
// //
// Debug APIs // Debug APIs
// //
#define EXCEPTION_DEBUG_EVENT 1 #define EXCEPTION_DEBUG_EVENT 1
#define CREATE_THREAD_DEBUG_EVENT 2 #define CREATE_THREAD_DEBUG_EVENT 2
#define CREATE_PROCESS_DEBUG_EVENT 3 #define CREATE_PROCESS_DEBUG_EVENT 3
#define EXIT_THREAD_DEBUG_EVENT 4 #define EXIT_THREAD_DEBUG_EVENT 4
#define EXIT_PROCESS_DEBUG_EVENT 5 #define EXIT_PROCESS_DEBUG_EVENT 5
#define LOAD_DLL_DEBUG_EVENT 6 #define LOAD_DLL_DEBUG_EVENT 6
#define UNLOAD_DLL_DEBUG_EVENT 7 #define UNLOAD_DLL_DEBUG_EVENT 7
skipping to change at line 770 skipping to change at line 992
CREATE_PROCESS_DEBUG_INFO CreateProcessInfo; CREATE_PROCESS_DEBUG_INFO CreateProcessInfo;
EXIT_THREAD_DEBUG_INFO ExitThread; EXIT_THREAD_DEBUG_INFO ExitThread;
EXIT_PROCESS_DEBUG_INFO ExitProcess; EXIT_PROCESS_DEBUG_INFO ExitProcess;
LOAD_DLL_DEBUG_INFO LoadDll; LOAD_DLL_DEBUG_INFO LoadDll;
UNLOAD_DLL_DEBUG_INFO UnloadDll; UNLOAD_DLL_DEBUG_INFO UnloadDll;
OUTPUT_DEBUG_STRING_INFO DebugString; OUTPUT_DEBUG_STRING_INFO DebugString;
RIP_INFO RipInfo; RIP_INFO RipInfo;
} u; } u;
} DEBUG_EVENT, *LPDEBUG_EVENT; } DEBUG_EVENT, *LPDEBUG_EVENT;
//
// JIT Debugging Info. This structure is defined to have constant size in
// both the emulated and native environment.
//
typedef struct _JIT_DEBUG_INFO {
DWORD dwSize;
DWORD dwProcessorArchitecture;
DWORD dwThreadID;
DWORD dwReserved0;
ULONG64 lpExceptionAddress;
ULONG64 lpExceptionRecord;
ULONG64 lpContextRecord;
} JIT_DEBUG_INFO, *LPJIT_DEBUG_INFO;
typedef JIT_DEBUG_INFO JIT_DEBUG_INFO32, *LPJIT_DEBUG_INFO32;
typedef JIT_DEBUG_INFO JIT_DEBUG_INFO64, *LPJIT_DEBUG_INFO64;
#if !defined(MIDL_PASS) #if !defined(MIDL_PASS)
typedef PCONTEXT LPCONTEXT; typedef PCONTEXT LPCONTEXT;
typedef PEXCEPTION_RECORD LPEXCEPTION_RECORD; typedef PEXCEPTION_RECORD LPEXCEPTION_RECORD;
typedef PEXCEPTION_POINTERS LPEXCEPTION_POINTERS; typedef PEXCEPTION_POINTERS LPEXCEPTION_POINTERS;
#endif #endif
#define DRIVE_UNKNOWN 0 #define DRIVE_UNKNOWN 0
#define DRIVE_NO_ROOT_DIR 1 #define DRIVE_NO_ROOT_DIR 1
#define DRIVE_REMOVABLE 2 #define DRIVE_REMOVABLE 2
#define DRIVE_FIXED 3 #define DRIVE_FIXED 3
skipping to change at line 1029 skipping to change at line 1269
#define InterlockedCompareExchangePointerAcquire _InterlockedCompareExchangePoin ter_acq #define InterlockedCompareExchangePointerAcquire _InterlockedCompareExchangePoin ter_acq
#define InterlockedIncrement64 _InterlockedIncrement64 #define InterlockedIncrement64 _InterlockedIncrement64
#define InterlockedDecrement64 _InterlockedDecrement64 #define InterlockedDecrement64 _InterlockedDecrement64
#define InterlockedExchange64 _InterlockedExchange64 #define InterlockedExchange64 _InterlockedExchange64
#define InterlockedExchangeAcquire64 _InterlockedExchange64_acq #define InterlockedExchangeAcquire64 _InterlockedExchange64_acq
#define InterlockedExchangeAdd64 _InterlockedExchangeAdd64 #define InterlockedExchangeAdd64 _InterlockedExchangeAdd64
#define InterlockedCompareExchange64 _InterlockedCompareExchange64 #define InterlockedCompareExchange64 _InterlockedCompareExchange64
#define InterlockedCompareExchangeAcquire64 _InterlockedCompareExchange64_acq #define InterlockedCompareExchangeAcquire64 _InterlockedCompareExchange64_acq
#define InterlockedCompareExchangeRelease64 _InterlockedCompareExchange64_rel #define InterlockedCompareExchangeRelease64 _InterlockedCompareExchange64_rel
#define InterlockedCompare64Exchange128 _InterlockedCompare64Exchange128
#define InterlockedCompare64ExchangeAcquire128 _InterlockedCompare64Exchange128
_acq
#define InterlockedCompare64ExchangeRelease128 _InterlockedCompare64Exchange128
_rel
#define InterlockedOr _InterlockedOr
#define InterlockedOrAcquire _InterlockedOr_acq
#define InterlockedOrRelease _InterlockedOr_rel
#define InterlockedOr8 _InterlockedOr8
#define InterlockedOr8Acquire _InterlockedOr8_acq
#define InterlockedOr8Release _InterlockedOr8_rel
#define InterlockedOr16 _InterlockedOr16
#define InterlockedOr16Acquire _InterlockedOr16_acq
#define InterlockedOr16Release _InterlockedOr16_rel
#define InterlockedOr64 _InterlockedOr64
#define InterlockedOr64Acquire _InterlockedOr64_acq
#define InterlockedOr64Release _InterlockedOr64_rel
#define InterlockedXor _InterlockedXor
#define InterlockedXorAcquire _InterlockedXor_acq
#define InterlockedXorRelease _InterlockedXor_rel
#define InterlockedXor8 _InterlockedXor8
#define InterlockedXor8Acquire _InterlockedXor8_acq
#define InterlockedXor8Release _InterlockedXor8_rel
#define InterlockedXor16 _InterlockedXor16
#define InterlockedXor16Acquire _InterlockedXor16_acq
#define InterlockedXor16Release _InterlockedXor16_rel
#define InterlockedXor64 _InterlockedXor64
#define InterlockedXor64Acquire _InterlockedXor64_acq
#define InterlockedXor64Release _InterlockedXor64_rel
#define InterlockedAnd _InterlockedAnd
#define InterlockedAndAcquire _InterlockedAnd_acq
#define InterlockedAndRelease _InterlockedAnd_rel
#define InterlockedAnd8 _InterlockedAnd8
#define InterlockedAnd8Acquire _InterlockedAnd8_acq
#define InterlockedAnd8Release _InterlockedAnd8_rel
#define InterlockedAnd16 _InterlockedAnd16
#define InterlockedAnd16Acquire _InterlockedAnd16_acq
#define InterlockedAnd16Release _InterlockedAnd16_rel
#define InterlockedAnd64 _InterlockedAnd64
#define InterlockedAnd64Acquire _InterlockedAnd64_acq
#define InterlockedAnd64Release _InterlockedAnd64_rel
LONG
__cdecl
InterlockedOr (
__inout LONG volatile *Destination,
__in LONG Value
);
LONG
__cdecl
InterlockedOrAcquire (
__inout LONG volatile *Destination,
__in LONG Value
);
LONG
__cdecl
InterlockedOrRelease (
__inout LONG volatile *Destination,
__in LONG Value
);
char
__cdecl
InterlockedOr8 (
__inout char volatile *Destination,
__in char Value
);
char
__cdecl
InterlockedOr8Acquire (
__inout char volatile *Destination,
__in char Value
);
char
__cdecl
InterlockedOr8Release (
__inout char volatile *Destination,
__in char Value
);
SHORT
__cdecl
InterlockedOr16(
__inout SHORT volatile *Destination,
__in SHORT Value
);
SHORT
__cdecl
InterlockedOr16Acquire (
__inout SHORT volatile *Destination,
__in SHORT Value
);
SHORT
__cdecl
InterlockedOr16Release (
__inout SHORT volatile *Destination,
__in SHORT Value
);
LONGLONG
__cdecl
InterlockedOr64 (
__inout LONGLONG volatile *Destination,
__in LONGLONG Value
);
LONGLONG
__cdecl
InterlockedOr64Acquire (
__inout LONGLONG volatile *Destination,
__in LONGLONG Value
);
LONGLONG
__cdecl
InterlockedOr64Release (
__inout LONGLONG volatile *Destination,
__in LONGLONG Value
);
LONG
__cdecl
InterlockedXor (
__inout LONG volatile *Destination,
__in LONG Value
);
LONG
__cdecl
InterlockedXorAcquire (
__inout LONG volatile *Destination,
__in LONG Value
);
LONG
__cdecl
InterlockedXorRelease (
__inout LONG volatile *Destination,
__in LONG Value
);
char
__cdecl
InterlockedXor8 (
__inout char volatile *Destination,
__in char Value
);
char
__cdecl
InterlockedXor8Acquire (
__inout char volatile *Destination,
__in char Value
);
char
__cdecl
InterlockedXor8Release (
__inout char volatile *Destination,
__in char Value
);
SHORT
__cdecl
InterlockedXor16(
__inout SHORT volatile *Destination,
__in SHORT Value
);
SHORT
__cdecl
InterlockedXor16Acquire (
__inout SHORT volatile *Destination,
__in SHORT Value
);
SHORT
__cdecl
InterlockedXor16Release (
__inout SHORT volatile *Destination,
__in SHORT Value
);
LONGLONG
__cdecl
InterlockedXor64 (
__inout LONGLONG volatile *Destination,
__in LONGLONG Value
);
LONGLONG
__cdecl
InterlockedXor64Acquire (
__inout LONGLONG volatile *Destination,
__in LONGLONG Value
);
LONGLONG
__cdecl
InterlockedXor64Release (
__inout LONGLONG volatile *Destination,
__in LONGLONG Value
);
LONG
__cdecl
InterlockedAnd (
__inout LONG volatile *Destination,
__in LONG Value
);
LONG
__cdecl
InterlockedAndAcquire (
__inout LONG volatile *Destination,
__in LONG Value
);
LONG
__cdecl
InterlockedAndRelease (
__inout LONG volatile *Destination,
__in LONG Value
);
char
__cdecl
InterlockedAnd8 (
__inout char volatile *Destination,
__in char Value
);
char
__cdecl
InterlockedAnd8Acquire (
__inout char volatile *Destination,
__in char Value
);
char
__cdecl
InterlockedAnd8Release (
__inout char volatile *Destination,
__in char Value
);
SHORT
__cdecl
InterlockedAnd16(
__inout SHORT volatile *Destination,
__in SHORT Value
);
SHORT
__cdecl
InterlockedAnd16Acquire (
__inout SHORT volatile *Destination,
__in SHORT Value
);
SHORT
__cdecl
InterlockedAnd16Release (
__inout SHORT volatile *Destination,
__in SHORT Value
);
LONGLONG
__cdecl
InterlockedAnd64 (
__inout LONGLONG volatile *Destination,
__in LONGLONG Value
);
LONGLONG
__cdecl
InterlockedAnd64Acquire (
__inout LONGLONG volatile *Destination,
__in LONGLONG Value
);
LONGLONG
__cdecl
InterlockedAnd64Release (
__inout LONGLONG volatile *Destination,
__in LONGLONG Value
);
LONGLONG LONGLONG
__cdecl __cdecl
InterlockedIncrement64 ( InterlockedIncrement64 (
__inout LONGLONG volatile *Addend __inout LONGLONG volatile *Addend
); );
LONGLONG LONGLONG
__cdecl __cdecl
InterlockedDecrement64 ( InterlockedDecrement64 (
skipping to change at line 1111 skipping to change at line 1643
); );
LONGLONG LONGLONG
__cdecl __cdecl
InterlockedCompareExchangeRelease64 ( InterlockedCompareExchangeRelease64 (
__inout LONGLONG volatile *Destination, __inout LONGLONG volatile *Destination,
__in LONGLONG ExChange, __in LONGLONG ExChange,
__in LONGLONG Comperand __in LONGLONG Comperand
); );
LONG64
__cdecl
InterlockedCompare64Exchange128(
__inout LONG64 volatile * Destination,
__in LONG64 ExchangeHigh,
__in LONG64 ExchangeLow,
__in LONG64 Comperand
);
LONG64
__cdecl
InterlockedCompare64ExchangeAcquire128(
__inout LONG64 volatile * Destination,
__in LONG64 ExchangeHigh,
__in LONG64 ExchangeLow,
__in LONG64 Comperand
);
LONG64
__cdecl
InterlockedCompare64ExchangeRelease128(
__inout LONG64 volatile * Destination,
__in LONG64 ExchangeHigh,
__in LONG64 ExchangeLow,
__in LONG64 Comperand
);
LONG LONG
__cdecl __cdecl
InterlockedIncrement ( InterlockedIncrement (
__inout LONG volatile *lpAddend __inout LONG volatile *lpAddend
); );
LONG LONG
__cdecl __cdecl
InterlockedDecrement ( InterlockedDecrement (
__inout LONG volatile *lpAddend __inout LONG volatile *lpAddend
skipping to change at line 1198 skipping to change at line 1757
__in_opt PVOID Exchange, __in_opt PVOID Exchange,
__in_opt PVOID Comperand __in_opt PVOID Comperand
); );
#if !defined(MIDL_PASS) #if !defined(MIDL_PASS)
#if !defined (InterlockedAnd) #if !defined (InterlockedAnd)
#define InterlockedAnd InterlockedAnd_Inline #define InterlockedAnd InterlockedAnd_Inline
LONG
FORCEINLINE FORCEINLINE
LONG
InterlockedAnd_Inline ( InterlockedAnd_Inline (
__inout LONG volatile *Target, __inout LONG volatile *Target,
__in LONG Set __in LONG Set
) )
{ {
LONG i; LONG i;
LONG j; LONG j;
j = *Target; j = *Target;
do { do {
skipping to change at line 1226 skipping to change at line 1785
return j; return j;
} }
#endif #endif
#if !defined (InterlockedOr) #if !defined (InterlockedOr)
#define InterlockedOr InterlockedOr_Inline #define InterlockedOr InterlockedOr_Inline
LONG
FORCEINLINE FORCEINLINE
LONG
InterlockedOr_Inline ( InterlockedOr_Inline (
__inout LONG volatile *Target, __inout LONG volatile *Target,
__in LONG Set __in LONG Set
) )
{ {
LONG i; LONG i;
LONG j; LONG j;
j = *Target; j = *Target;
do { do {
skipping to change at line 1254 skipping to change at line 1813
return j; return j;
} }
#endif #endif
#if !defined (InterlockedXor) #if !defined (InterlockedXor)
#define InterlockedXor InterlockedXor_Inline #define InterlockedXor InterlockedXor_Inline
LONG
FORCEINLINE FORCEINLINE
LONG
InterlockedXor_Inline ( InterlockedXor_Inline (
__inout LONG volatile *Target, __inout LONG volatile *Target,
__in LONG Set __in LONG Set
) )
{ {
LONG i; LONG i;
LONG j; LONG j;
j = *Target; j = *Target;
do { do {
skipping to change at line 1282 skipping to change at line 1841
return j; return j;
} }
#endif #endif
#if !defined (InterlockedAnd64) #if !defined (InterlockedAnd64)
#define InterlockedAnd64 InterlockedAnd64_Inline #define InterlockedAnd64 InterlockedAnd64_Inline
LONGLONG
FORCEINLINE FORCEINLINE
LONGLONG
InterlockedAnd64_Inline ( InterlockedAnd64_Inline (
__inout LONGLONG volatile *Destination, __inout LONGLONG volatile *Destination,
__in LONGLONG Value __in LONGLONG Value
) )
{ {
LONGLONG Old; LONGLONG Old;
do { do {
Old = *Destination; Old = *Destination;
} while (InterlockedCompareExchange64(Destination, } while (InterlockedCompareExchange64(Destination,
skipping to change at line 1306 skipping to change at line 1865
return Old; return Old;
} }
#endif #endif
#if !defined (InterlockedOr64) #if !defined (InterlockedOr64)
#define InterlockedOr64 InterlockedOr64_Inline #define InterlockedOr64 InterlockedOr64_Inline
LONGLONG
FORCEINLINE FORCEINLINE
LONGLONG
InterlockedOr64_Inline ( InterlockedOr64_Inline (
__inout LONGLONG volatile *Destination, __inout LONGLONG volatile *Destination,
__in LONGLONG Value __in LONGLONG Value
) )
{ {
LONGLONG Old; LONGLONG Old;
do { do {
Old = *Destination; Old = *Destination;
} while (InterlockedCompareExchange64(Destination, } while (InterlockedCompareExchange64(Destination,
skipping to change at line 1330 skipping to change at line 1889
return Old; return Old;
} }
#endif #endif
#if !defined (InterlockedXor64) #if !defined (InterlockedXor64)
#define InterlockedXor64 InterlockedXor64_Inline #define InterlockedXor64 InterlockedXor64_Inline
LONGLONG
FORCEINLINE FORCEINLINE
LONGLONG
InterlockedXor64_Inline ( InterlockedXor64_Inline (
__inout LONGLONG volatile *Destination, __inout LONGLONG volatile *Destination,
__in LONGLONG Value __in LONGLONG Value
) )
{ {
LONGLONG Old; LONGLONG Old;
do { do {
Old = *Destination; Old = *Destination;
} while (InterlockedCompareExchange64(Destination, } while (InterlockedCompareExchange64(Destination,
skipping to change at line 1354 skipping to change at line 1913
return Old; return Old;
} }
#endif #endif
#if !defined (InterlockedBitTestAndSet) #if !defined (InterlockedBitTestAndSet)
#define InterlockedBitTestAndSet InterlockedBitTestAndSet_Inline #define InterlockedBitTestAndSet InterlockedBitTestAndSet_Inline
BOOLEAN
FORCEINLINE FORCEINLINE
BOOLEAN
InterlockedBitTestAndSet_Inline ( InterlockedBitTestAndSet_Inline (
__inout LONG *Base, __inout LONG volatile *Base,
__in LONG Bit __in LONG Bit
) )
{ {
LONG tBit; LONG tBit;
tBit = 1<<(Bit & (sizeof (*Base)*8-1)); tBit = 1<<(Bit & (sizeof (*Base)*8-1));
return (BOOLEAN)((InterlockedOr(&Base[Bit/(sizeof(*Base)*8)], tBit)&tBit) != 0); return (BOOLEAN)((InterlockedOr(&Base[Bit/(sizeof(*Base)*8)], tBit)&tBit) != 0);
} }
#endif #endif
#if !defined (InterlockedBitTestAndReset) #if !defined (InterlockedBitTestAndReset)
#define InterlockedBitTestAndReset InterlockedBitTestAndReset_Inline #define InterlockedBitTestAndReset InterlockedBitTestAndReset_Inline
BOOLEAN
FORCEINLINE FORCEINLINE
BOOLEAN
InterlockedBitTestAndReset_Inline ( InterlockedBitTestAndReset_Inline (
__inout LONG *Base, __inout LONG volatile *Base,
__in LONG Bit __in LONG Bit
) )
{ {
LONG tBit; LONG tBit;
tBit = 1<<(Bit & (sizeof (*Base)*8-1)); tBit = 1<<(Bit & (sizeof (*Base)*8-1));
return (BOOLEAN)((InterlockedAnd(&Base[Bit/(sizeof(*Base)*8)], ~tBit)&tBit) != 0); return (BOOLEAN)((InterlockedAnd(&Base[Bit/(sizeof(*Base)*8)], ~tBit)&tBit) != 0);
} }
#endif #endif
#if !defined (InterlockedBitTestAndComplement) #if !defined (InterlockedBitTestAndComplement)
#define InterlockedBitTestAndComplement InterlockedBitTestAndComplement_Inline #define InterlockedBitTestAndComplement InterlockedBitTestAndComplement_Inline
BOOLEAN
FORCEINLINE FORCEINLINE
BOOLEAN
InterlockedBitTestAndComplement_Inline ( InterlockedBitTestAndComplement_Inline (
__inout LONG *Base, __inout LONG volatile *Base,
__in LONG Bit __in LONG Bit
) )
{ {
LONG tBit; LONG tBit;
tBit = 1<<(Bit & (sizeof (*Base)*8-1)); tBit = 1<<(Bit & (sizeof (*Base)*8-1));
return (BOOLEAN)((InterlockedXor(&Base[Bit/(sizeof(*Base)*8)], tBit)&tBit) ! = 0); return (BOOLEAN)((InterlockedXor(&Base[Bit/(sizeof(*Base)*8)], tBit)&tBit) ! = 0);
} }
#endif #endif
#endif #endif
#pragma intrinsic(_InterlockedIncrement) #pragma intrinsic(_InterlockedIncrement)
#pragma intrinsic(_InterlockedIncrement_acq) #pragma intrinsic(_InterlockedIncrement_acq)
#pragma intrinsic(_InterlockedIncrement_rel) #pragma intrinsic(_InterlockedIncrement_rel)
#pragma intrinsic(_InterlockedDecrement) #pragma intrinsic(_InterlockedDecrement)
#pragma intrinsic(_InterlockedDecrement_acq) #pragma intrinsic(_InterlockedDecrement_acq)
#pragma intrinsic(_InterlockedDecrement_rel) #pragma intrinsic(_InterlockedDecrement_rel)
#pragma intrinsic(_InterlockedExchange) #pragma intrinsic(_InterlockedExchange)
#pragma intrinsic(_InterlockedExchangeAdd) #pragma intrinsic(_InterlockedExchangeAdd)
skipping to change at line 1432 skipping to change at line 1990
#pragma intrinsic(_InterlockedCompareExchangePointer_acq) #pragma intrinsic(_InterlockedCompareExchangePointer_acq)
#pragma intrinsic(_InterlockedCompareExchangePointer_rel) #pragma intrinsic(_InterlockedCompareExchangePointer_rel)
#pragma intrinsic(_InterlockedIncrement64) #pragma intrinsic(_InterlockedIncrement64)
#pragma intrinsic(_InterlockedDecrement64) #pragma intrinsic(_InterlockedDecrement64)
#pragma intrinsic(_InterlockedExchange64) #pragma intrinsic(_InterlockedExchange64)
#pragma intrinsic(_InterlockedExchange64_acq) #pragma intrinsic(_InterlockedExchange64_acq)
#pragma intrinsic(_InterlockedCompareExchange64) #pragma intrinsic(_InterlockedCompareExchange64)
#pragma intrinsic(_InterlockedCompareExchange64_acq) #pragma intrinsic(_InterlockedCompareExchange64_acq)
#pragma intrinsic(_InterlockedCompareExchange64_rel) #pragma intrinsic(_InterlockedCompareExchange64_rel)
#pragma intrinsic(_InterlockedExchangeAdd64) #pragma intrinsic(_InterlockedExchangeAdd64)
#pragma intrinsic (_InterlockedOr)
#pragma intrinsic (_InterlockedOr_acq)
#pragma intrinsic (_InterlockedOr_rel)
#pragma intrinsic (_InterlockedOr8)
#pragma intrinsic (_InterlockedOr8_acq)
#pragma intrinsic (_InterlockedOr8_rel)
#pragma intrinsic (_InterlockedOr16)
#pragma intrinsic (_InterlockedOr16_acq)
#pragma intrinsic (_InterlockedOr16_rel)
#pragma intrinsic (_InterlockedOr64)
#pragma intrinsic (_InterlockedOr64_acq)
#pragma intrinsic (_InterlockedOr64_rel)
#pragma intrinsic (_InterlockedXor)
#pragma intrinsic (_InterlockedXor_acq)
#pragma intrinsic (_InterlockedXor_rel)
#pragma intrinsic (_InterlockedXor8)
#pragma intrinsic (_InterlockedXor8_acq)
#pragma intrinsic (_InterlockedXor8_rel)
#pragma intrinsic (_InterlockedXor16)
#pragma intrinsic (_InterlockedXor16_acq)
#pragma intrinsic (_InterlockedXor16_rel)
#pragma intrinsic (_InterlockedXor64)
#pragma intrinsic (_InterlockedXor64_acq)
#pragma intrinsic (_InterlockedXor64_rel)
#pragma intrinsic (_InterlockedAnd)
#pragma intrinsic (_InterlockedAnd_acq)
#pragma intrinsic (_InterlockedAnd_rel)
#pragma intrinsic (_InterlockedAnd8)
#pragma intrinsic (_InterlockedAnd8_acq)
#pragma intrinsic (_InterlockedAnd8_rel)
#pragma intrinsic (_InterlockedAnd16)
#pragma intrinsic (_InterlockedAnd16_acq)
#pragma intrinsic (_InterlockedAnd16_rel)
#pragma intrinsic (_InterlockedAnd64)
#pragma intrinsic (_InterlockedAnd64_acq)
#pragma intrinsic (_InterlockedAnd64_rel)
#elif defined(_M_AMD64) && !defined(RC_INVOKED) #elif defined(_M_AMD64) && !defined(RC_INVOKED)
#define InterlockedAnd _InterlockedAnd
#define InterlockedOr _InterlockedOr
#define InterlockedXor _InterlockedXor
#define InterlockedIncrement _InterlockedIncrement #define InterlockedIncrement _InterlockedIncrement
#define InterlockedIncrementAcquire InterlockedIncrement #define InterlockedIncrementAcquire InterlockedIncrement
#define InterlockedIncrementRelease InterlockedIncrement #define InterlockedIncrementRelease InterlockedIncrement
#define InterlockedDecrement _InterlockedDecrement #define InterlockedDecrement _InterlockedDecrement
#define InterlockedDecrementAcquire InterlockedDecrement #define InterlockedDecrementAcquire InterlockedDecrement
#define InterlockedDecrementRelease InterlockedDecrement #define InterlockedDecrementRelease InterlockedDecrement
#define InterlockedExchange _InterlockedExchange #define InterlockedExchange _InterlockedExchange
#define InterlockedExchangeAdd _InterlockedExchangeAdd #define InterlockedExchangeAdd _InterlockedExchangeAdd
#define InterlockedCompareExchange _InterlockedCompareExchange #define InterlockedCompareExchange _InterlockedCompareExchange
#define InterlockedCompareExchangeAcquire InterlockedCompareExchange #define InterlockedCompareExchangeAcquire InterlockedCompareExchange
skipping to change at line 1462 skipping to change at line 2060
#define InterlockedXor64 _InterlockedXor64 #define InterlockedXor64 _InterlockedXor64
#define InterlockedIncrement64 _InterlockedIncrement64 #define InterlockedIncrement64 _InterlockedIncrement64
#define InterlockedDecrement64 _InterlockedDecrement64 #define InterlockedDecrement64 _InterlockedDecrement64
#define InterlockedExchange64 _InterlockedExchange64 #define InterlockedExchange64 _InterlockedExchange64
#define InterlockedExchangeAdd64 _InterlockedExchangeAdd64 #define InterlockedExchangeAdd64 _InterlockedExchangeAdd64
#define InterlockedCompareExchange64 _InterlockedCompareExchange64 #define InterlockedCompareExchange64 _InterlockedCompareExchange64
#define InterlockedCompareExchangeAcquire64 InterlockedCompareExchange64 #define InterlockedCompareExchangeAcquire64 InterlockedCompareExchange64
#define InterlockedCompareExchangeRelease64 InterlockedCompareExchange64 #define InterlockedCompareExchangeRelease64 InterlockedCompareExchange64
LONG LONG
InterlockedAnd (
__inout LONG volatile *Destination,
__in LONG Value
);
LONG
InterlockedOr (
__inout LONG volatile *Destination,
__in LONG Value
);
LONG
InterlockedXor (
__inout LONG volatile *Destination,
__in LONG Value
);
LONG
InterlockedIncrement ( InterlockedIncrement (
__inout LONG volatile *Addend __inout LONG volatile *Addend
); );
LONG LONG
InterlockedDecrement ( InterlockedDecrement (
__inout LONG volatile *Addend __inout LONG volatile *Addend
); );
LONG LONG
InterlockedExchange ( InterlockedExchange (
__inout LONG volatile *Target, __inout LONG volatile *Target,
__in LONG Value __in LONG Value
); );
LONG LONG
InterlockedExchangeAdd ( InterlockedExchangeAdd (
__inout LONG volatile *Addend, __inout LONG volatile *Addend,
__in LONG Value __in LONG Value
); );
LONG LONG
InterlockedCompareExchange ( InterlockedCompareExchange (
__inout LONG volatile *Destination, __inout LONG volatile *Destination,
__in LONG ExChange, __in LONG ExChange,
__in LONG Comperand __in LONG Comperand
); );
PVOID PVOID
InterlockedCompareExchangePointer ( InterlockedCompareExchangePointer (
__inout PVOID volatile *Destination, __inout PVOID volatile *Destination,
__in_opt PVOID Exchange, __in_opt PVOID Exchange,
__in_opt PVOID Comperand __in_opt PVOID Comperand
); );
PVOID PVOID
InterlockedExchangePointer ( InterlockedExchangePointer (
__inout PVOID volatile *Target, __inout PVOID volatile *Target,
__in_opt PVOID Value __in_opt PVOID Value
); );
LONG64 LONG64
InterlockedAnd64 ( InterlockedAnd64 (
__inout LONG64 volatile *Destination, __inout LONG64 volatile *Destination,
__in LONG64 Value __in LONG64 Value
); );
LONG64 LONG64
InterlockedOr64 ( InterlockedOr64 (
__inout LONG64 volatile *Destination, __inout LONG64 volatile *Destination,
__in LONG64 Value __in LONG64 Value
); );
LONG64 LONG64
InterlockedXor64 ( InterlockedXor64 (
__inout LONG64 volatile *Destination, __inout LONG64 volatile *Destination,
__in LONG64 Value __in LONG64 Value
); );
LONG64 LONG64
InterlockedIncrement64 ( InterlockedIncrement64 (
__inout LONG64 volatile *Addend __inout LONG64 volatile *Addend
); );
LONG64 LONG64
InterlockedDecrement64 ( InterlockedDecrement64 (
__inout LONG64 volatile *Addend __inout LONG64 volatile *Addend
); );
LONG64 LONG64
InterlockedExchange64 ( InterlockedExchange64 (
__inout LONG64 volatile *Target, __inout LONG64 volatile *Target,
__in LONG64 Value __in LONG64 Value
); );
LONG64 LONG64
InterlockedExchangeAdd64 ( InterlockedExchangeAdd64 (
__inout LONG64 volatile *Addend, __inout LONG64 volatile *Addend,
__in LONG64 Value __in LONG64 Value
); );
LONG64 LONG64
InterlockedCompareExchange64 ( InterlockedCompareExchange64 (
__inout LONG64 volatile *Destination, __inout LONG64 volatile *Destination,
__in LONG64 ExChange, __in LONG64 ExChange,
__in LONG64 Comperand __in LONG64 Comperand
); );
#pragma intrinsic(_InterlockedAnd)
#pragma intrinsic(_InterlockedOr)
#pragma intrinsic(_InterlockedXor)
#pragma intrinsic(_InterlockedIncrement) #pragma intrinsic(_InterlockedIncrement)
#pragma intrinsic(_InterlockedDecrement) #pragma intrinsic(_InterlockedDecrement)
#pragma intrinsic(_InterlockedExchange) #pragma intrinsic(_InterlockedExchange)
#pragma intrinsic(_InterlockedExchangeAdd) #pragma intrinsic(_InterlockedExchangeAdd)
#pragma intrinsic(_InterlockedCompareExchange) #pragma intrinsic(_InterlockedCompareExchange)
#pragma intrinsic(_InterlockedExchangePointer) #pragma intrinsic(_InterlockedExchangePointer)
#pragma intrinsic(_InterlockedCompareExchangePointer) #pragma intrinsic(_InterlockedCompareExchangePointer)
#pragma intrinsic(_InterlockedAnd64)
#pragma intrinsic(_InterlockedOr64)
#pragma intrinsic(_InterlockedXor64)
#pragma intrinsic(_InterlockedIncrement64)
#pragma intrinsic(_InterlockedDecrement64)
#pragma intrinsic(_InterlockedExchange64)
#pragma intrinsic(_InterlockedExchangeAdd64)
#pragma intrinsic(_InterlockedCompareExchange64)
#if _MSC_FULL_VER >= 140041204
#define InterlockedAnd8 _InterlockedAnd8
#define InterlockedOr8 _InterlockedOr8
#define InterlockedXor8 _InterlockedXor8
#define InterlockedAnd16 _InterlockedAnd16
#define InterlockedOr16 _InterlockedOr16
#define InterlockedXor16 _InterlockedXor16
char
InterlockedAnd8 (
__inout char volatile *Destination,
__in char Value
);
char
InterlockedOr8 (
__inout char volatile *Destination,
__in char Value
);
char
InterlockedXor8 (
__inout char volatile *Destination,
__in char Value
);
SHORT
InterlockedAnd16(
__inout SHORT volatile *Destination,
__in SHORT Value
);
SHORT
InterlockedOr16(
__inout SHORT volatile *Destination,
__in SHORT Value
);
SHORT
InterlockedXor16(
__inout SHORT volatile *Destination,
__in SHORT Value
);
#pragma intrinsic (_InterlockedAnd8)
#pragma intrinsic (_InterlockedOr8)
#pragma intrinsic (_InterlockedXor8)
#pragma intrinsic (_InterlockedAnd16)
#pragma intrinsic (_InterlockedOr16)
#pragma intrinsic (_InterlockedXor16)
#endif
#else // X86 interlocked definitions #else // X86 interlocked definitions
WINBASEAPI WINBASEAPI
LONG LONG
WINAPI WINAPI
InterlockedIncrement ( InterlockedIncrement (
__inout LONG volatile *lpAddend __inout LONG volatile *lpAddend
); );
skipping to change at line 1619 skipping to change at line 2300
__in LONGLONG Exchange, __in LONGLONG Exchange,
__in LONGLONG Comperand __in LONGLONG Comperand
); );
#endif #endif
#if !defined(MIDL_PASS) #if !defined(MIDL_PASS)
#if (_WIN32_WINNT >= 0x0502) #if (_WIN32_WINNT >= 0x0502)
LONGLONG
FORCEINLINE FORCEINLINE
LONGLONG
InterlockedAnd64 ( InterlockedAnd64 (
__inout LONGLONG volatile *Destination, __inout LONGLONG volatile *Destination,
__in LONGLONG Value __in LONGLONG Value
) )
{ {
LONGLONG Old; LONGLONG Old;
do { do {
Old = *Destination; Old = *Destination;
} while (InterlockedCompareExchange64(Destination, } while (InterlockedCompareExchange64(Destination,
Old & Value, Old & Value,
Old) != Old); Old) != Old);
return Old; return Old;
} }
LONGLONG
FORCEINLINE FORCEINLINE
LONGLONG
InterlockedOr64 ( InterlockedOr64 (
__inout LONGLONG volatile *Destination, __inout LONGLONG volatile *Destination,
__in LONGLONG Value __in LONGLONG Value
) )
{ {
LONGLONG Old; LONGLONG Old;
do { do {
Old = *Destination; Old = *Destination;
} while (InterlockedCompareExchange64(Destination, } while (InterlockedCompareExchange64(Destination,
Old | Value, Old | Value,
Old) != Old); Old) != Old);
return Old; return Old;
} }
LONGLONG
FORCEINLINE FORCEINLINE
LONGLONG
InterlockedXor64 ( InterlockedXor64 (
__inout LONGLONG volatile *Destination, __inout LONGLONG volatile *Destination,
__in LONGLONG Value __in LONGLONG Value
) )
{ {
LONGLONG Old; LONGLONG Old;
do { do {
Old = *Destination; Old = *Destination;
} while (InterlockedCompareExchange64(Destination, } while (InterlockedCompareExchange64(Destination,
Old ^ Value, Old ^ Value,
Old) != Old); Old) != Old);
return Old; return Old;
} }
LONGLONG
FORCEINLINE FORCEINLINE
LONGLONG
InterlockedIncrement64 ( InterlockedIncrement64 (
__inout LONGLONG volatile *Addend __inout LONGLONG volatile *Addend
) )
{ {
LONGLONG Old; LONGLONG Old;
do { do {
Old = *Addend; Old = *Addend;
} while (InterlockedCompareExchange64(Addend, } while (InterlockedCompareExchange64(Addend,
Old + 1, Old + 1,
Old) != Old); Old) != Old);
return Old + 1; return Old + 1;
} }
LONGLONG
FORCEINLINE FORCEINLINE
LONGLONG
InterlockedDecrement64 ( InterlockedDecrement64 (
__inout LONGLONG volatile *Addend __inout LONGLONG volatile *Addend
) )
{ {
LONGLONG Old; LONGLONG Old;
do { do {
Old = *Addend; Old = *Addend;
} while (InterlockedCompareExchange64(Addend, } while (InterlockedCompareExchange64(Addend,
Old - 1, Old - 1,
Old) != Old); Old) != Old);
return Old - 1; return Old - 1;
} }
LONGLONG
FORCEINLINE FORCEINLINE
LONGLONG
InterlockedExchange64 ( InterlockedExchange64 (
__inout LONGLONG volatile *Target, __inout LONGLONG volatile *Target,
__in LONGLONG Value __in LONGLONG Value
) )
{ {
LONGLONG Old; LONGLONG Old;
do { do {
Old = *Target; Old = *Target;
} while (InterlockedCompareExchange64(Target, } while (InterlockedCompareExchange64(Target,
Value, Value,
Old) != Old); Old) != Old);
return Old; return Old;
} }
LONGLONG
FORCEINLINE FORCEINLINE
LONGLONG
InterlockedExchangeAdd64( InterlockedExchangeAdd64(
__inout LONGLONG volatile *Addend, __inout LONGLONG volatile *Addend,
__in LONGLONG Value __in LONGLONG Value
) )
{ {
LONGLONG Old; LONGLONG Old;
do { do {
Old = *Addend; Old = *Addend;
} while (InterlockedCompareExchange64(Addend, } while (InterlockedCompareExchange64(Addend,
skipping to change at line 1871 skipping to change at line 2552
#else #else
CALLBACK CALLBACK
#endif #endif
WinMain ( WinMain (
__in HINSTANCE hInstance, __in HINSTANCE hInstance,
__in_opt HINSTANCE hPrevInstance, __in_opt HINSTANCE hPrevInstance,
__in_opt LPSTR lpCmdLine, __in_opt LPSTR lpCmdLine,
__in int nShowCmd __in int nShowCmd
); );
int
#if defined(_M_CEE_PURE)
__clrcall
#else
WINAPI
#endif
wWinMain(
__in HINSTANCE hInstance,
__in_opt HINSTANCE hPrevInstance,
__in_opt LPWSTR lpCmdLine,
__in int nShowCmd
);
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
FreeLibrary ( FreeLibrary (
__in HMODULE hLibModule __in HMODULE hLibModule
); );
WINBASEAPI WINBASEAPI
DECLSPEC_NORETURN DECLSPEC_NORETURN
VOID VOID
skipping to change at line 1910 skipping to change at line 2604
); );
WINBASEAPI WINBASEAPI
DWORD DWORD
WINAPI WINAPI
GetVersion ( GetVersion (
VOID VOID
); );
WINBASEAPI WINBASEAPI
__out __out_opt
HGLOBAL HGLOBAL
WINAPI WINAPI
GlobalAlloc ( GlobalAlloc (
__in UINT uFlags, __in UINT uFlags,
__in SIZE_T dwBytes __in SIZE_T dwBytes
); );
WINBASEAPI WINBASEAPI
__out __out_opt
HGLOBAL HGLOBAL
WINAPI WINAPI
GlobalReAlloc ( GlobalReAlloc (
__in HGLOBAL hMem, __in HGLOBAL hMem,
__in SIZE_T dwBytes, __in SIZE_T dwBytes,
__in UINT uFlags __in UINT uFlags
); );
WINBASEAPI WINBASEAPI
SIZE_T SIZE_T
skipping to change at line 1943 skipping to change at line 2637
); );
WINBASEAPI WINBASEAPI
UINT UINT
WINAPI WINAPI
GlobalFlags ( GlobalFlags (
__in HGLOBAL hMem __in HGLOBAL hMem
); );
WINBASEAPI WINBASEAPI
__out __out_opt
LPVOID LPVOID
WINAPI WINAPI
GlobalLock ( GlobalLock (
__in HGLOBAL hMem __in HGLOBAL hMem
); );
WINBASEAPI WINBASEAPI
__out __out_opt
HGLOBAL HGLOBAL
WINAPI WINAPI
GlobalHandle ( GlobalHandle (
__in LPCVOID pMem __in LPCVOID pMem
); );
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
GlobalUnlock( GlobalUnlock(
__in HGLOBAL hMem __in HGLOBAL hMem
); );
WINBASEAPI WINBASEAPI
__out __out_opt
HGLOBAL HGLOBAL
WINAPI WINAPI
GlobalFree( GlobalFree(
__deref HGLOBAL hMem __deref HGLOBAL hMem
); );
WINBASEAPI WINBASEAPI
SIZE_T SIZE_T
WINAPI WINAPI
GlobalCompact( GlobalCompact(
skipping to change at line 2036 skipping to change at line 2730
} MEMORYSTATUSEX, *LPMEMORYSTATUSEX; } MEMORYSTATUSEX, *LPMEMORYSTATUSEX;
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
GlobalMemoryStatusEx( GlobalMemoryStatusEx(
__out LPMEMORYSTATUSEX lpBuffer __out LPMEMORYSTATUSEX lpBuffer
); );
WINBASEAPI WINBASEAPI
__out __out_bcount_opt( "(uFlags&LMEM_FIXED) ? uBytes : 0" )
HLOCAL HLOCAL
WINAPI WINAPI
LocalAlloc( LocalAlloc(
__in UINT uFlags, __in UINT uFlags,
__in SIZE_T uBytes __in SIZE_T uBytes
); );
WINBASEAPI WINBASEAPI
__out __out_opt
HLOCAL HLOCAL
WINAPI WINAPI
LocalReAlloc( LocalReAlloc(
__in HLOCAL hMem, __in HLOCAL hMem,
__in SIZE_T uBytes, __in SIZE_T uBytes,
__in UINT uFlags __in UINT uFlags
); );
WINBASEAPI WINBASEAPI
__out __out_opt
LPVOID LPVOID
WINAPI WINAPI
LocalLock( LocalLock(
__in HLOCAL hMem __in HLOCAL hMem
); );
WINBASEAPI WINBASEAPI
__out __out_opt
HLOCAL HLOCAL
WINAPI WINAPI
LocalHandle( LocalHandle(
__in LPCVOID pMem __in LPCVOID pMem
); );
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
LocalUnlock( LocalUnlock(
skipping to change at line 2122 skipping to change at line 2816
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
FlushInstructionCache( FlushInstructionCache(
__in HANDLE hProcess, __in HANDLE hProcess,
__in_bcount_opt(dwSize) LPCVOID lpBaseAddress, __in_bcount_opt(dwSize) LPCVOID lpBaseAddress,
__in SIZE_T dwSize __in SIZE_T dwSize
); );
#if (_WIN32_WINNT >= 0x0600)
WINBASEAPI WINBASEAPI
__bcount(dwSize) VOID
WINAPI
FlushProcessWriteBuffers(
VOID
);
WINBASEAPI
BOOL
WINAPI
QueryThreadCycleTime (
__in HANDLE ThreadHandle,
__out PULONG64 CycleTime
);
WINBASEAPI
BOOL
WINAPI
QueryProcessCycleTime (
__in HANDLE ProcessHandle,
__out PULONG64 CycleTime
);
WINBASEAPI
BOOL
WINAPI
QueryIdleProcessorCycleTime (
__inout PULONG BufferLength,
__out_bcount_opt(*BufferLength) PULONG64 ProcessorIdleCycleTime
);
#endif
WINBASEAPI
__bcount_opt(dwSize)
LPVOID LPVOID
WINAPI WINAPI
VirtualAlloc( VirtualAlloc(
__in_opt LPVOID lpAddress, __in_opt LPVOID lpAddress,
__in SIZE_T dwSize, __in SIZE_T dwSize,
__in DWORD flAllocationType, __in DWORD flAllocationType,
__in DWORD flProtect __in DWORD flProtect
); );
WINBASEAPI WINBASEAPI
skipping to change at line 2162 skipping to change at line 2891
WINBASEAPI WINBASEAPI
SIZE_T SIZE_T
WINAPI WINAPI
VirtualQuery( VirtualQuery(
__in_opt LPCVOID lpAddress, __in_opt LPCVOID lpAddress,
__out_bcount_part(dwLength, return) PMEMORY_BASIC_INFORMATION lpBuffer, __out_bcount_part(dwLength, return) PMEMORY_BASIC_INFORMATION lpBuffer,
__in SIZE_T dwLength __in SIZE_T dwLength
); );
WINBASEAPI WINBASEAPI
__bcount(dwSize) __bcount_opt(dwSize)
LPVOID LPVOID
WINAPI WINAPI
VirtualAllocEx( VirtualAllocEx(
__in HANDLE hProcess, __in HANDLE hProcess,
__in_opt LPVOID lpAddress, __in_opt LPVOID lpAddress,
__in SIZE_T dwSize, __in SIZE_T dwSize,
__in DWORD flAllocationType, __in DWORD flAllocationType,
__in DWORD flProtect __in DWORD flProtect
); );
#if _WIN32_WINNT >= 0x0600
WINBASEAPI
__bcount(dwSize)
LPVOID
WINAPI
VirtualAllocExNuma(
__in HANDLE hProcess,
__in_opt LPVOID lpAddress,
__in SIZE_T dwSize,
__in DWORD flAllocationType,
__in DWORD flProtect,
__in DWORD nndPreferred
);
#endif // _WIN32_WINNT >= 0x0600
WINBASEAPI WINBASEAPI
UINT UINT
WINAPI WINAPI
GetWriteWatch( GetWriteWatch(
__in DWORD dwFlags, __in DWORD dwFlags,
__in PVOID lpBaseAddress, __in PVOID lpBaseAddress,
__in SIZE_T dwRegionSize, __in SIZE_T dwRegionSize,
__out_ecount_part(*lpdwCount, *lpdwCount) PVOID *lpAddresses, __out_ecount_part(*lpdwCount, *lpdwCount) PVOID *lpAddresses,
__inout ULONG_PTR *lpdwCount, __inout ULONG_PTR *lpdwCount,
__out PULONG lpdwGranularity __out PULONG lpdwGranularity
skipping to change at line 2251 skipping to change at line 2997
SIZE_T SIZE_T
WINAPI WINAPI
VirtualQueryEx( VirtualQueryEx(
__in HANDLE hProcess, __in HANDLE hProcess,
__in_opt LPCVOID lpAddress, __in_opt LPCVOID lpAddress,
__out_bcount_part(dwLength, return) PMEMORY_BASIC_INFORMATION lpBuffer, __out_bcount_part(dwLength, return) PMEMORY_BASIC_INFORMATION lpBuffer,
__in SIZE_T dwLength __in SIZE_T dwLength
); );
WINBASEAPI WINBASEAPI
__out __out_opt
HANDLE HANDLE
WINAPI WINAPI
HeapCreate( HeapCreate(
__in DWORD flOptions, __in DWORD flOptions,
__in SIZE_T dwInitialSize, __in SIZE_T dwInitialSize,
__in SIZE_T dwMaximumSize __in SIZE_T dwMaximumSize
); );
WINBASEAPI WINBASEAPI
BOOL BOOL
skipping to change at line 2389 skipping to change at line 3135
WINAPI WINAPI
HeapWalk( HeapWalk(
__in HANDLE hHeap, __in HANDLE hHeap,
__inout LPPROCESS_HEAP_ENTRY lpEntry __inout LPPROCESS_HEAP_ENTRY lpEntry
); );
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
HeapSetInformation ( HeapSetInformation (
__in HANDLE HeapHandle, __in_opt HANDLE HeapHandle,
__in HEAP_INFORMATION_CLASS HeapInformationClass, __in HEAP_INFORMATION_CLASS HeapInformationClass,
__in_bcount_opt(HeapInformationLength) PVOID HeapInformation, __in_bcount_opt(HeapInformationLength) PVOID HeapInformation,
__in SIZE_T HeapInformationLength __in SIZE_T HeapInformationLength
); );
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
HeapQueryInformation ( HeapQueryInformation (
__in HANDLE HeapHandle, __in_opt HANDLE HeapHandle,
__in HEAP_INFORMATION_CLASS HeapInformationClass, __in HEAP_INFORMATION_CLASS HeapInformationClass,
__out_bcount_part_opt(HeapInformationLength, *ReturnLength) PVOID HeapInform ation, __out_bcount_part_opt(HeapInformationLength, *ReturnLength) PVOID HeapInform ation,
__in SIZE_T HeapInformationLength, __in SIZE_T HeapInformationLength,
__out_opt PSIZE_T ReturnLength __out_opt PSIZE_T ReturnLength
); );
// GetBinaryType return values. // GetBinaryType return values.
#define SCS_32BIT_BINARY 0 #define SCS_32BIT_BINARY 0
#define SCS_DOS_BINARY 1 #define SCS_DOS_BINARY 1
#define SCS_WOW_BINARY 2 #define SCS_WOW_BINARY 2
#define SCS_PIF_BINARY 3 #define SCS_PIF_BINARY 3
#define SCS_POSIX_BINARY 4 #define SCS_POSIX_BINARY 4
skipping to change at line 2486 skipping to change at line 3232
__in LPCWSTR lpszShortPath, __in LPCWSTR lpszShortPath,
__out_ecount_part(cchBuffer, return + 1) LPWSTR lpszLongPath, __out_ecount_part(cchBuffer, return + 1) LPWSTR lpszLongPath,
__in DWORD cchBuffer __in DWORD cchBuffer
); );
#ifdef UNICODE #ifdef UNICODE
#define GetLongPathName GetLongPathNameW #define GetLongPathName GetLongPathNameW
#else #else
#define GetLongPathName GetLongPathNameA #define GetLongPathName GetLongPathNameA
#endif // !UNICODE #endif // !UNICODE
#if _WIN32_WINNT >= 0x0600
WINBASEAPI
DWORD
WINAPI
GetLongPathNameTransactedA(
__in LPCSTR lpszShortPath,
__out_ecount_part(cchBuffer, return + 1) LPSTR lpszLongPath,
__in DWORD cchBuffer,
__in HANDLE hTransaction
);
WINBASEAPI
DWORD
WINAPI
GetLongPathNameTransactedW(
__in LPCWSTR lpszShortPath,
__out_ecount_part(cchBuffer, return + 1) LPWSTR lpszLongPath,
__in DWORD cchBuffer,
__in HANDLE hTransaction
);
#ifdef UNICODE
#define GetLongPathNameTransacted GetLongPathNameTransactedW
#else
#define GetLongPathNameTransacted GetLongPathNameTransactedA
#endif // !UNICODE
#endif // _WIN32_WINNT >= 0x0600
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
GetProcessAffinityMask( GetProcessAffinityMask(
__in HANDLE hProcess, __in HANDLE hProcess,
__out PDWORD_PTR lpProcessAffinityMask, __out PDWORD_PTR lpProcessAffinityMask,
__out PDWORD_PTR lpSystemAffinityMask __out PDWORD_PTR lpSystemAffinityMask
); );
WINBASEAPI WINBASEAPI
skipping to change at line 2573 skipping to change at line 3347
BOOL BOOL
WINAPI WINAPI
SetProcessWorkingSetSizeEx( SetProcessWorkingSetSizeEx(
__in HANDLE hProcess, __in HANDLE hProcess,
__in SIZE_T dwMinimumWorkingSetSize, __in SIZE_T dwMinimumWorkingSetSize,
__in SIZE_T dwMaximumWorkingSetSize, __in SIZE_T dwMaximumWorkingSetSize,
__in DWORD Flags __in DWORD Flags
); );
WINBASEAPI WINBASEAPI
__out
HANDLE HANDLE
WINAPI WINAPI
OpenProcess( OpenProcess(
__in DWORD dwDesiredAccess, __in DWORD dwDesiredAccess,
__in BOOL bInheritHandle, __in BOOL bInheritHandle,
__in DWORD dwProcessId __in DWORD dwProcessId
); );
WINBASEAPI WINBASEAPI
__out __out
skipping to change at line 2727 skipping to change at line 3500
#if(_WIN32_WINNT >= 0x0400) #if(_WIN32_WINNT >= 0x0400)
// //
// Fiber creation flags // Fiber creation flags
// //
#define FIBER_FLAG_FLOAT_SWITCH 0x1 // context switch floating point #define FIBER_FLAG_FLOAT_SWITCH 0x1 // context switch floating point
WINBASEAPI WINBASEAPI
__out __out_opt
LPVOID LPVOID
WINAPI WINAPI
CreateFiber( CreateFiber(
__in SIZE_T dwStackSize, __in SIZE_T dwStackSize,
__in LPFIBER_START_ROUTINE lpStartAddress, __in LPFIBER_START_ROUTINE lpStartAddress,
__in_opt LPVOID lpParameter __in_opt LPVOID lpParameter
); );
WINBASEAPI WINBASEAPI
__out __out_opt
LPVOID LPVOID
WINAPI WINAPI
CreateFiberEx( CreateFiberEx(
__in SIZE_T dwStackCommitSize, __in SIZE_T dwStackCommitSize,
__in SIZE_T dwStackReserveSize, __in SIZE_T dwStackReserveSize,
__in DWORD dwFlags, __in DWORD dwFlags,
__in LPFIBER_START_ROUTINE lpStartAddress, __in LPFIBER_START_ROUTINE lpStartAddress,
__in_opt LPVOID lpParameter __in_opt LPVOID lpParameter
); );
WINBASEAPI WINBASEAPI
VOID VOID
WINAPI WINAPI
DeleteFiber( DeleteFiber(
__in LPVOID lpFiber __in LPVOID lpFiber
); );
WINBASEAPI WINBASEAPI
__out __out_opt
LPVOID LPVOID
WINAPI WINAPI
ConvertThreadToFiber( ConvertThreadToFiber(
__in_opt LPVOID lpParameter __in_opt LPVOID lpParameter
); );
WINBASEAPI WINBASEAPI
__out __out_opt
LPVOID LPVOID
WINAPI WINAPI
ConvertThreadToFiberEx( ConvertThreadToFiberEx(
__in_opt LPVOID lpParameter, __in_opt LPVOID lpParameter,
__in DWORD dwFlags __in DWORD dwFlags
); );
#if (_WIN32_WINNT >= 0x0501)
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
ConvertFiberToThread( ConvertFiberToThread(
VOID VOID
); );
#endif
#if (_WIN32_WINNT >= 0x0600)
WINBASEAPI
BOOL
WINAPI
IsThreadAFiber(
VOID
);
#endif
WINBASEAPI WINBASEAPI
VOID VOID
WINAPI WINAPI
SwitchToFiber( SwitchToFiber(
__in LPVOID lpFiber __in LPVOID lpFiber
); );
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
SwitchToThread( SwitchToThread(
VOID VOID
); );
#endif /* _WIN32_WINNT >= 0x0400 */ #endif /* _WIN32_WINNT >= 0x0400 */
WINBASEAPI WINBASEAPI
__out __out_opt
HANDLE HANDLE
WINAPI WINAPI
CreateThread( CreateThread(
__in_opt LPSECURITY_ATTRIBUTES lpThreadAttributes, __in_opt LPSECURITY_ATTRIBUTES lpThreadAttributes,
__in SIZE_T dwStackSize, __in SIZE_T dwStackSize,
__in LPTHREAD_START_ROUTINE lpStartAddress, __in LPTHREAD_START_ROUTINE lpStartAddress,
__in_opt LPVOID lpParameter, __in_opt LPVOID lpParameter,
__in DWORD dwCreationFlags, __in DWORD dwCreationFlags,
__out_opt LPDWORD lpThreadId __out_opt LPDWORD lpThreadId
); );
WINBASEAPI WINBASEAPI
__out __out_opt
HANDLE HANDLE
WINAPI WINAPI
CreateRemoteThread( CreateRemoteThread(
__in HANDLE hProcess, __in HANDLE hProcess,
__in_opt LPSECURITY_ATTRIBUTES lpThreadAttributes, __in_opt LPSECURITY_ATTRIBUTES lpThreadAttributes,
__in SIZE_T dwStackSize, __in SIZE_T dwStackSize,
__in LPTHREAD_START_ROUTINE lpStartAddress, __in LPTHREAD_START_ROUTINE lpStartAddress,
__in_opt LPVOID lpParameter, __in_opt LPVOID lpParameter,
__in DWORD dwCreationFlags, __in DWORD dwCreationFlags,
__out_opt LPDWORD lpThreadId __out_opt LPDWORD lpThreadId
skipping to change at line 2851 skipping to change at line 3639
__inout PULONG StackSizeInBytes __inout PULONG StackSizeInBytes
); );
WINBASEAPI WINBASEAPI
DWORD DWORD
WINAPI WINAPI
GetProcessIdOfThread( GetProcessIdOfThread(
__in HANDLE Thread __in HANDLE Thread
); );
#if (_WIN32_WINNT >= 0x0502)
WINBASEAPI WINBASEAPI
DWORD DWORD
WINAPI WINAPI
GetThreadId( GetThreadId(
__in HANDLE Thread __in HANDLE Thread
); );
#endif // _WIN32_WINNT >= 0x0502
WINBASEAPI WINBASEAPI
DWORD DWORD
WINAPI WINAPI
GetProcessId( GetProcessId(
__in HANDLE Process __in HANDLE Process
); );
WINBASEAPI WINBASEAPI
DWORD DWORD
WINAPI WINAPI
skipping to change at line 2921 skipping to change at line 3713
); );
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
IsSystemResumeAutomatic( IsSystemResumeAutomatic(
VOID VOID
); );
WINBASEAPI WINBASEAPI
__out __out_opt
HANDLE HANDLE
WINAPI WINAPI
OpenThread( OpenThread(
__in DWORD dwDesiredAccess, __in DWORD dwDesiredAccess,
__in BOOL bInheritHandle, __in BOOL bInheritHandle,
__in DWORD dwThreadId __in DWORD dwThreadId
); );
WINBASEAPI WINBASEAPI
BOOL BOOL
skipping to change at line 3024 skipping to change at line 3816
__out LPLDT_ENTRY lpSelectorEntry __out LPLDT_ENTRY lpSelectorEntry
); );
WINBASEAPI WINBASEAPI
EXECUTION_STATE EXECUTION_STATE
WINAPI WINAPI
SetThreadExecutionState( SetThreadExecutionState(
__in EXECUTION_STATE esFlags __in EXECUTION_STATE esFlags
); );
#ifdef _M_CEE_PURE
#define GetLastError System::Runtime::InteropServices::Marshal::GetLastWin32Erro
r
#else
WINBASEAPI WINBASEAPI
__checkReturn
DWORD DWORD
WINAPI WINAPI
GetLastError( GetLastError(
VOID VOID
); );
#endif
WINBASEAPI WINBASEAPI
VOID VOID
WINAPI WINAPI
SetLastError( SetLastError(
__in DWORD dwErrCode __in DWORD dwErrCode
); );
#if !defined(RC_INVOKED) // RC warns because "WINBASE_DECLARE_RESTORE_LAST_ERROR " is a bit long. #if !defined(RC_INVOKED) // RC warns because "WINBASE_DECLARE_RESTORE_LAST_ERROR " is a bit long.
//#if _WIN32_WINNT >= 0x0501 || defined(WINBASE_DECLARE_RESTORE_LAST_ERROR) //#if _WIN32_WINNT >= 0x0501 || defined(WINBASE_DECLARE_RESTORE_LAST_ERROR)
skipping to change at line 3070 skipping to change at line 3867
BOOL BOOL
WINAPI WINAPI
GetOverlappedResult( GetOverlappedResult(
__in HANDLE hFile, __in HANDLE hFile,
__in LPOVERLAPPED lpOverlapped, __in LPOVERLAPPED lpOverlapped,
__out LPDWORD lpNumberOfBytesTransferred, __out LPDWORD lpNumberOfBytesTransferred,
__in BOOL bWait __in BOOL bWait
); );
WINBASEAPI WINBASEAPI
__out __out_opt
HANDLE HANDLE
WINAPI WINAPI
CreateIoCompletionPort( CreateIoCompletionPort(
__in HANDLE FileHandle, __in HANDLE FileHandle,
__in_opt HANDLE ExistingCompletionPort, __in_opt HANDLE ExistingCompletionPort,
__in ULONG_PTR CompletionKey, __in ULONG_PTR CompletionKey,
__in DWORD NumberOfConcurrentThreads __in DWORD NumberOfConcurrentThreads
); );
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
GetQueuedCompletionStatus( GetQueuedCompletionStatus(
__in HANDLE CompletionPort, __in HANDLE CompletionPort,
__out LPDWORD lpNumberOfBytesTransferred, __out LPDWORD lpNumberOfBytesTransferred,
__out PULONG_PTR lpCompletionKey, __out PULONG_PTR lpCompletionKey,
__out LPOVERLAPPED *lpOverlapped, __out LPOVERLAPPED *lpOverlapped,
__in DWORD dwMilliseconds __in DWORD dwMilliseconds
); );
#if (_WIN32_WINNT >= 0x0600)
WINBASEAPI
BOOL
WINAPI
GetQueuedCompletionStatusEx(
__in HANDLE CompletionPort,
__out_ecount_part(ulCount, *ulNumEntriesRemoved) LPOVERLAPPED_ENTRY lpComple
tionPortEntries,
__in ULONG ulCount,
__out PULONG ulNumEntriesRemoved,
__in DWORD dwMilliseconds,
__in BOOL fAlertable
);
#endif // _WIN32_WINNT >= 0x0600
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
PostQueuedCompletionStatus( PostQueuedCompletionStatus(
__in HANDLE CompletionPort, __in HANDLE CompletionPort,
__in DWORD dwNumberOfBytesTransferred, __in DWORD dwNumberOfBytesTransferred,
__in ULONG_PTR dwCompletionKey, __in ULONG_PTR dwCompletionKey,
__in_opt LPOVERLAPPED lpOverlapped __in_opt LPOVERLAPPED lpOverlapped
); );
#if (_WIN32_WINNT >= 0x0600)
//
// The following flags allows an application to change
// the semantics of IO completion notification.
//
//
// Don't queue an entry to an associated completion port if returning success
// synchronously.
//
#define FILE_SKIP_COMPLETION_PORT_ON_SUCCESS 0x1
//
// Don't set the file handle event on IO completion.
//
#define FILE_SKIP_SET_EVENT_ON_HANDLE 0x2
WINBASEAPI
BOOL
WINAPI
SetFileCompletionNotificationModes(
__in HANDLE FileHandle,
__in UCHAR Flags
);
WINBASEAPI
BOOL
WINAPI
SetFileIoOverlappedRange(
__in HANDLE FileHandle,
__in PUCHAR OverlappedRangeStart,
__in ULONG Length
);
#endif // _WIN32_WINNT >= 0x0600
#define SEM_FAILCRITICALERRORS 0x0001 #define SEM_FAILCRITICALERRORS 0x0001
#define SEM_NOGPFAULTERRORBOX 0x0002 #define SEM_NOGPFAULTERRORBOX 0x0002
#define SEM_NOALIGNMENTFAULTEXCEPT 0x0004 #define SEM_NOALIGNMENTFAULTEXCEPT 0x0004
#define SEM_NOOPENFILEERRORBOX 0x8000 #define SEM_NOOPENFILEERRORBOX 0x8000
WINBASEAPI WINBASEAPI
UINT UINT
WINAPI WINAPI
GetErrorMode(
VOID
);
WINBASEAPI
UINT
WINAPI
SetErrorMode( SetErrorMode(
__in UINT uMode __in UINT uMode
); );
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
ReadProcessMemory( ReadProcessMemory(
__in HANDLE hProcess, __in HANDLE hProcess,
__in LPCVOID lpBaseAddress, __in LPCVOID lpBaseAddress,
skipping to change at line 3151 skipping to change at line 4008
__inout LPCONTEXT lpContext __inout LPCONTEXT lpContext
); );
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
SetThreadContext( SetThreadContext(
__in HANDLE hThread, __in HANDLE hThread,
__in CONST CONTEXT *lpContext __in CONST CONTEXT *lpContext
); );
WINBASEAPI
BOOL
WINAPI
Wow64GetThreadContext(
__in HANDLE hThread,
__inout PWOW64_CONTEXT lpContext
);
WINBASEAPI
BOOL
WINAPI
Wow64SetThreadContext(
__in HANDLE hThread,
__in CONST WOW64_CONTEXT *lpContext
);
#endif #endif
WINBASEAPI WINBASEAPI
DWORD DWORD
WINAPI WINAPI
SuspendThread( SuspendThread(
__in HANDLE hThread __in HANDLE hThread
); );
WINBASEAPI WINBASEAPI
DWORD DWORD
WINAPI WINAPI
Wow64SuspendThread(
__in HANDLE hThread
);
WINBASEAPI
DWORD
WINAPI
ResumeThread( ResumeThread(
__in HANDLE hThread __in HANDLE hThread
); );
#if(_WIN32_WINNT >= 0x0400) || (_WIN32_WINDOWS > 0x0400) #if(_WIN32_WINNT >= 0x0400) || (_WIN32_WINDOWS > 0x0400)
typedef typedef
VOID VOID
(APIENTRY *PAPCFUNC)( (APIENTRY *PAPCFUNC)(
__in ULONG_PTR dwParam __in ULONG_PTR dwParam
skipping to change at line 3281 skipping to change at line 4162
); );
WINBASEAPI WINBASEAPI
VOID VOID
WINAPI WINAPI
LeaveCriticalSection( LeaveCriticalSection(
__inout LPCRITICAL_SECTION lpCriticalSection __inout LPCRITICAL_SECTION lpCriticalSection
); );
#if (_WIN32_WINNT >= 0x0403) #if (_WIN32_WINNT >= 0x0403)
#define CRITICAL_SECTION_NO_DEBUG_INFO RTL_CRITICAL_SECTION_FLAG_NO_DEBUG_INFO
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
InitializeCriticalSectionAndSpinCount( InitializeCriticalSectionAndSpinCount(
__out LPCRITICAL_SECTION lpCriticalSection, __out LPCRITICAL_SECTION lpCriticalSection,
__in DWORD dwSpinCount __in DWORD dwSpinCount
); );
WINBASEAPI WINBASEAPI
BOOL
WINAPI
InitializeCriticalSectionEx(
__out LPCRITICAL_SECTION lpCriticalSection,
__in DWORD dwSpinCount,
__in DWORD Flags
);
WINBASEAPI
DWORD DWORD
WINAPI WINAPI
SetCriticalSectionSpinCount( SetCriticalSectionSpinCount(
__inout LPCRITICAL_SECTION lpCriticalSection, __inout LPCRITICAL_SECTION lpCriticalSection,
__in DWORD dwSpinCount __in DWORD dwSpinCount
); );
#endif #endif
#if(_WIN32_WINNT >= 0x0400) #if(_WIN32_WINNT >= 0x0400)
WINBASEAPI WINBASEAPI
skipping to change at line 3377 skipping to change at line 4269
); );
WINBASEAPI WINBASEAPI
VOID VOID
WINAPI WINAPI
Sleep( Sleep(
__in DWORD dwMilliseconds __in DWORD dwMilliseconds
); );
WINBASEAPI WINBASEAPI
__out __out_opt
HGLOBAL HGLOBAL
WINAPI WINAPI
LoadResource( LoadResource(
__in_opt HMODULE hModule, __in_opt HMODULE hModule,
__in HRSRC hResInfo __in HRSRC hResInfo
); );
WINBASEAPI WINBASEAPI
DWORD DWORD
WINAPI WINAPI
SizeofResource( SizeofResource(
__in_opt HMODULE hModule, __in_opt HMODULE hModule,
__in HRSRC hResInfo __in HRSRC hResInfo
); );
WINBASEAPI WINBASEAPI
__out
ATOM ATOM
WINAPI WINAPI
GlobalDeleteAtom( GlobalDeleteAtom(
__in ATOM nAtom __in ATOM nAtom
); );
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
InitAtomTable( InitAtomTable(
__in DWORD nSize __in DWORD nSize
); );
WINBASEAPI WINBASEAPI
__out
ATOM ATOM
WINAPI WINAPI
DeleteAtom( DeleteAtom(
__in ATOM nAtom __in ATOM nAtom
); );
WINBASEAPI WINBASEAPI
UINT UINT
WINAPI WINAPI
SetHandleCount( SetHandleCount(
skipping to change at line 3523 skipping to change at line 4413
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
GetFileSizeEx( GetFileSizeEx(
__in HANDLE hFile, __in HANDLE hFile,
__out PLARGE_INTEGER lpFileSize __out PLARGE_INTEGER lpFileSize
); );
WINBASEAPI WINBASEAPI
__out
HANDLE HANDLE
WINAPI WINAPI
GetStdHandle( GetStdHandle(
__in DWORD nStdHandle __in DWORD nStdHandle
); );
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
SetStdHandle( SetStdHandle(
__in DWORD nStdHandle, __in DWORD nStdHandle,
__in HANDLE hHandle __in HANDLE hHandle
); );
#if (_WIN32_WINNT >= 0x0600)
WINBASEAPI
BOOL
WINAPI
SetStdHandleEx(
__in DWORD nStdHandle,
__in HANDLE hHandle,
__out_opt PHANDLE phPrevValue
);
#endif // _WIN32_WINNT >= 0x0600
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
WriteFile( WriteFile(
__in HANDLE hFile, __in HANDLE hFile,
__in_bcount(nNumberOfBytesToWrite) LPCVOID lpBuffer, __in_bcount_opt(nNumberOfBytesToWrite) LPCVOID lpBuffer,
__in DWORD nNumberOfBytesToWrite, __in DWORD nNumberOfBytesToWrite,
__out_opt LPDWORD lpNumberOfBytesWritten, __out_opt LPDWORD lpNumberOfBytesWritten,
__inout_opt LPOVERLAPPED lpOverlapped __inout_opt LPOVERLAPPED lpOverlapped
); );
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
ReadFile( ReadFile(
__in HANDLE hFile, __in HANDLE hFile,
__out_bcount_part(nNumberOfBytesToRead, *lpNumberOfBytesRead) LPVOID lpBuffe r, __out_bcount_part_opt(nNumberOfBytesToRead, *lpNumberOfBytesRead) __out_data _source(FILE) LPVOID lpBuffer,
__in DWORD nNumberOfBytesToRead, __in DWORD nNumberOfBytesToRead,
__out_opt LPDWORD lpNumberOfBytesRead, __out_opt LPDWORD lpNumberOfBytesRead,
__inout_opt LPOVERLAPPED lpOverlapped __inout_opt LPOVERLAPPED lpOverlapped
); );
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
FlushFileBuffers( FlushFileBuffers(
__in HANDLE hFile __in HANDLE hFile
skipping to change at line 3622 skipping to change at line 4524
BOOL BOOL
WINAPI WINAPI
SetEndOfFile( SetEndOfFile(
__in HANDLE hFile __in HANDLE hFile
); );
WINBASEAPI WINBASEAPI
DWORD DWORD
WINAPI WINAPI
SetFilePointer( SetFilePointer(
__in HANDLE hFile, __in HANDLE hFile,
__in LONG lDistanceToMove, __in LONG lDistanceToMove,
__in_opt PLONG lpDistanceToMoveHigh, __inout_opt PLONG lpDistanceToMoveHigh,
__in DWORD dwMoveMethod __in DWORD dwMoveMethod
); );
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
SetFilePointerEx( SetFilePointerEx(
__in HANDLE hFile, __in HANDLE hFile,
__in LARGE_INTEGER liDistanceToMove, __in LARGE_INTEGER liDistanceToMove,
__out_opt PLARGE_INTEGER lpNewFilePointer, __out_opt PLARGE_INTEGER lpNewFilePointer,
__in DWORD dwMoveMethod __in DWORD dwMoveMethod
skipping to change at line 3665 skipping to change at line 4567
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
SetFileTime( SetFileTime(
__in HANDLE hFile, __in HANDLE hFile,
__in_opt CONST FILETIME *lpCreationTime, __in_opt CONST FILETIME *lpCreationTime,
__in_opt CONST FILETIME *lpLastAccessTime, __in_opt CONST FILETIME *lpLastAccessTime,
__in_opt CONST FILETIME *lpLastWriteTime __in_opt CONST FILETIME *lpLastWriteTime
); );
#if _WIN32_WINNT >= 0x0501
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
SetFileValidData( SetFileValidData(
__in HANDLE hFile, __in HANDLE hFile,
__in LONGLONG ValidDataLength __in LONGLONG ValidDataLength
); );
#endif // (_WIN32_WINNT >= 0x0501)
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
SetFileShortNameA( SetFileShortNameA(
__in HANDLE hFile, __in HANDLE hFile,
__in LPCSTR lpShortName __in LPCSTR lpShortName
); );
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
skipping to change at line 3785 skipping to change at line 4691
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
EscapeCommFunction( EscapeCommFunction(
__in HANDLE hFile, __in HANDLE hFile,
__in DWORD dwFunc __in DWORD dwFunc
); );
WINBASEAPI WINBASEAPI
__success(return == TRUE)
BOOL BOOL
WINAPI WINAPI
GetCommConfig( GetCommConfig(
__in HANDLE hCommDev, __in HANDLE hCommDev,
__out_opt LPCOMMCONFIG lpCC, __out_bcount_opt(*lpdwSize) LPCOMMCONFIG lpCC,
__inout LPDWORD lpdwSize __inout LPDWORD lpdwSize
); );
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
GetCommMask( GetCommMask(
__in HANDLE hFile, __in HANDLE hFile,
__out LPDWORD lpEvtMask __out LPDWORD lpEvtMask
); );
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
GetCommProperties( GetCommProperties(
__in HANDLE hFile, __in HANDLE hFile,
__out LPCOMMPROP lpCommProp __inout LPCOMMPROP lpCommProp
); );
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
GetCommModemStatus( GetCommModemStatus(
__in HANDLE hFile, __in HANDLE hFile,
__out LPDWORD lpModemStat __out LPDWORD lpModemStat
); );
skipping to change at line 4118 skipping to change at line 5025
typedef struct _TIME_ZONE_INFORMATION { typedef struct _TIME_ZONE_INFORMATION {
LONG Bias; LONG Bias;
WCHAR StandardName[ 32 ]; WCHAR StandardName[ 32 ];
SYSTEMTIME StandardDate; SYSTEMTIME StandardDate;
LONG StandardBias; LONG StandardBias;
WCHAR DaylightName[ 32 ]; WCHAR DaylightName[ 32 ];
SYSTEMTIME DaylightDate; SYSTEMTIME DaylightDate;
LONG DaylightBias; LONG DaylightBias;
} TIME_ZONE_INFORMATION, *PTIME_ZONE_INFORMATION, *LPTIME_ZONE_INFORMATION; } TIME_ZONE_INFORMATION, *PTIME_ZONE_INFORMATION, *LPTIME_ZONE_INFORMATION;
typedef struct _TIME_DYNAMIC_ZONE_INFORMATION {
LONG Bias;
WCHAR StandardName[ 32 ];
SYSTEMTIME StandardDate;
LONG StandardBias;
WCHAR DaylightName[ 32 ];
SYSTEMTIME DaylightDate;
LONG DaylightBias;
WCHAR TimeZoneKeyName[ 128 ];
BOOLEAN DynamicDaylightTimeDisabled;
} DYNAMIC_TIME_ZONE_INFORMATION, *PDYNAMIC_TIME_ZONE_INFORMATION;
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
SystemTimeToTzSpecificLocalTime( SystemTimeToTzSpecificLocalTime(
__in_opt LPTIME_ZONE_INFORMATION lpTimeZoneInformation, __in_opt CONST TIME_ZONE_INFORMATION *lpTimeZoneInformation,
__in LPSYSTEMTIME lpUniversalTime, __in CONST SYSTEMTIME *lpUniversalTime,
__out LPSYSTEMTIME lpLocalTime __out LPSYSTEMTIME lpLocalTime
); );
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
TzSpecificLocalTimeToSystemTime( TzSpecificLocalTimeToSystemTime(
__in_opt LPTIME_ZONE_INFORMATION lpTimeZoneInformation, __in_opt CONST TIME_ZONE_INFORMATION *lpTimeZoneInformation,
__in LPSYSTEMTIME lpLocalTime, __in CONST SYSTEMTIME *lpLocalTime,
__out LPSYSTEMTIME lpUniversalTime __out LPSYSTEMTIME lpUniversalTime
); );
WINBASEAPI WINBASEAPI
DWORD DWORD
WINAPI WINAPI
GetTimeZoneInformation( GetTimeZoneInformation(
__out LPTIME_ZONE_INFORMATION lpTimeZoneInformation __out LPTIME_ZONE_INFORMATION lpTimeZoneInformation
); );
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
SetTimeZoneInformation( SetTimeZoneInformation(
__in CONST TIME_ZONE_INFORMATION *lpTimeZoneInformation __in CONST TIME_ZONE_INFORMATION *lpTimeZoneInformation
); );
WINBASEAPI
DWORD
WINAPI
GetDynamicTimeZoneInformation(
__out PDYNAMIC_TIME_ZONE_INFORMATION pTimeZoneInformation
);
WINBASEAPI
BOOL
WINAPI
SetDynamicTimeZoneInformation(
__in CONST DYNAMIC_TIME_ZONE_INFORMATION *lpTimeZoneInformation
);
// //
// Routines to convert back and forth between system time and file time // Routines to convert back and forth between system time and file time
// //
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
SystemTimeToFileTime( SystemTimeToFileTime(
__in CONST SYSTEMTIME *lpSystemTime, __in CONST SYSTEMTIME *lpSystemTime,
__out LPFILETIME lpFileTime __out LPFILETIME lpFileTime
skipping to change at line 4220 skipping to change at line 5153
); );
WINBASEAPI WINBASEAPI
DWORD DWORD
WINAPI WINAPI
GetTickCount( GetTickCount(
VOID VOID
); );
WINBASEAPI WINBASEAPI
ULONGLONG
WINAPI
GetTickCount64(
VOID
);
WINBASEAPI
BOOL BOOL
WINAPI WINAPI
SetSystemTimeAdjustment( SetSystemTimeAdjustment(
__in DWORD dwTimeAdjustment, __in DWORD dwTimeAdjustment,
__in BOOL bTimeAdjustmentDisabled __in BOOL bTimeAdjustmentDisabled
); );
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
skipping to change at line 4241 skipping to change at line 5181
__out PDWORD lpTimeAdjustment, __out PDWORD lpTimeAdjustment,
__out PDWORD lpTimeIncrement, __out PDWORD lpTimeIncrement,
__out PBOOL lpTimeAdjustmentDisabled __out PBOOL lpTimeAdjustmentDisabled
); );
#if !defined(MIDL_PASS) #if !defined(MIDL_PASS)
WINBASEAPI WINBASEAPI
DWORD DWORD
WINAPI WINAPI
FormatMessageA( FormatMessageA(
DWORD dwFlags, __in DWORD dwFlags,
LPCVOID lpSource, __in_opt LPCVOID lpSource,
DWORD dwMessageId, __in DWORD dwMessageId,
DWORD dwLanguageId, __in DWORD dwLanguageId,
LPSTR lpBuffer, __out LPSTR lpBuffer,
DWORD nSize, __in DWORD nSize,
va_list *Arguments __in_opt va_list *Arguments
); );
WINBASEAPI WINBASEAPI
DWORD DWORD
WINAPI WINAPI
FormatMessageW( FormatMessageW(
DWORD dwFlags, __in DWORD dwFlags,
LPCVOID lpSource, __in_opt LPCVOID lpSource,
DWORD dwMessageId, __in DWORD dwMessageId,
DWORD dwLanguageId, __in DWORD dwLanguageId,
LPWSTR lpBuffer, __out LPWSTR lpBuffer,
DWORD nSize, __in DWORD nSize,
va_list *Arguments __in_opt va_list *Arguments
); );
#ifdef UNICODE #ifdef UNICODE
#define FormatMessage FormatMessageW #define FormatMessage FormatMessageW
#else #else
#define FormatMessage FormatMessageA #define FormatMessage FormatMessageA
#endif // !UNICODE #endif // !UNICODE
#if defined(_M_CEE) #if defined(_M_CEE)
#undef FormatMessage #undef FormatMessage
__inline __inline
skipping to change at line 4293 skipping to change at line 5233
#else #else
return FormatMessageA( return FormatMessageA(
#endif #endif
dwFlags, dwFlags,
lpSource, lpSource,
dwMessageId, dwMessageId,
dwLanguageId, dwLanguageId,
lpBuffer, lpBuffer,
nSize, nSize,
Arguments Arguments
); );
} }
#endif /* _M_CEE */ #endif /* _M_CEE */
#endif /* MIDL_PASS */ #endif /* MIDL_PASS */
#define FORMAT_MESSAGE_ALLOCATE_BUFFER 0x00000100 #define FORMAT_MESSAGE_ALLOCATE_BUFFER 0x00000100
#define FORMAT_MESSAGE_IGNORE_INSERTS 0x00000200 #define FORMAT_MESSAGE_IGNORE_INSERTS 0x00000200
#define FORMAT_MESSAGE_FROM_STRING 0x00000400 #define FORMAT_MESSAGE_FROM_STRING 0x00000400
#define FORMAT_MESSAGE_FROM_HMODULE 0x00000800 #define FORMAT_MESSAGE_FROM_HMODULE 0x00000800
#define FORMAT_MESSAGE_FROM_SYSTEM 0x00001000 #define FORMAT_MESSAGE_FROM_SYSTEM 0x00001000
#define FORMAT_MESSAGE_ARGUMENT_ARRAY 0x00002000 #define FORMAT_MESSAGE_ARGUMENT_ARRAY 0x00002000
#define FORMAT_MESSAGE_MAX_WIDTH_MASK 0x000000FF #define FORMAT_MESSAGE_MAX_WIDTH_MASK 0x000000FF
WINBASEAPI WINBASEAPI
skipping to change at line 4423 skipping to change at line 5363
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
SetMailslotInfo( SetMailslotInfo(
__in HANDLE hMailslot, __in HANDLE hMailslot,
__in DWORD lReadTimeout __in DWORD lReadTimeout
); );
WINBASEAPI WINBASEAPI
__out __out_opt __out_data_source(FILE)
LPVOID LPVOID
WINAPI WINAPI
MapViewOfFile( MapViewOfFile(
__in HANDLE hFileMappingObject, __in HANDLE hFileMappingObject,
__in DWORD dwDesiredAccess, __in DWORD dwDesiredAccess,
__in DWORD dwFileOffsetHigh, __in DWORD dwFileOffsetHigh,
__in DWORD dwFileOffsetLow, __in DWORD dwFileOffsetLow,
__in SIZE_T dwNumberOfBytesToMap __in SIZE_T dwNumberOfBytesToMap
); );
skipping to change at line 4555 skipping to change at line 5495
__inout PULONG ulLength __inout PULONG ulLength
); );
// //
// OpenRaw flag values // OpenRaw flag values
// //
#define CREATE_FOR_IMPORT (1) #define CREATE_FOR_IMPORT (1)
#define CREATE_FOR_DIR (2) #define CREATE_FOR_DIR (2)
#define OVERWRITE_HIDDEN (4) #define OVERWRITE_HIDDEN (4)
#define EFSRPC_SECURE_ONLY (8)
WINADVAPI WINADVAPI
DWORD DWORD
WINAPI WINAPI
OpenEncryptedFileRawA( OpenEncryptedFileRawA(
__in LPCSTR lpFileName, __in LPCSTR lpFileName,
__in ULONG ulFlags, __in ULONG ulFlags,
__deref_out PVOID *pvContext __deref_out PVOID *pvContext
); );
WINADVAPI WINADVAPI
skipping to change at line 4671 skipping to change at line 5612
__out_ecount(iMaxLength) LPWSTR lpString1, __out_ecount(iMaxLength) LPWSTR lpString1,
__in LPCWSTR lpString2, __in LPCWSTR lpString2,
__in int iMaxLength __in int iMaxLength
); );
#ifdef UNICODE #ifdef UNICODE
#define lstrcpyn lstrcpynW #define lstrcpyn lstrcpynW
#else #else
#define lstrcpyn lstrcpynA #define lstrcpyn lstrcpynA
#endif // !UNICODE #endif // !UNICODE
#if defined(DEPRECATE_SUPPORTED)
#pragma warning(push)
#pragma warning(disable:4995)
#endif
WINBASEAPI WINBASEAPI
__out __out
LPSTR LPSTR
WINAPI WINAPI
lstrcpyA( lstrcpyA(
__out LPSTR lpString1, __out LPSTR lpString1,
__in LPCSTR lpString2 __in LPCSTR lpString2
); );
WINBASEAPI WINBASEAPI
__out __out
skipping to change at line 4715 skipping to change at line 5661
lstrcatW( lstrcatW(
__inout LPWSTR lpString1, __inout LPWSTR lpString1,
__in LPCWSTR lpString2 __in LPCWSTR lpString2
); );
#ifdef UNICODE #ifdef UNICODE
#define lstrcat lstrcatW #define lstrcat lstrcatW
#else #else
#define lstrcat lstrcatA #define lstrcat lstrcatA
#endif // !UNICODE #endif // !UNICODE
#if defined(DEPRECATE_SUPPORTED)
#pragma warning(pop)
#endif
WINBASEAPI WINBASEAPI
int int
WINAPI WINAPI
lstrlenA( lstrlenA(
__in LPCSTR lpString __in LPCSTR lpString
); );
WINBASEAPI WINBASEAPI
int int
WINAPI WINAPI
lstrlenW( lstrlenW(
__in LPCWSTR lpString __in LPCWSTR lpString
); );
#ifdef UNICODE #ifdef UNICODE
#define lstrlen lstrlenW #define lstrlen lstrlenW
#else #else
#define lstrlen lstrlenA #define lstrlen lstrlenA
#endif // !UNICODE #endif // !UNICODE
WINBASEAPI WINBASEAPI
__out
HFILE HFILE
WINAPI WINAPI
OpenFile( OpenFile(
__in LPCSTR lpFileName, __in LPCSTR lpFileName,
__inout LPOFSTRUCT lpReOpenBuff, __inout LPOFSTRUCT lpReOpenBuff,
__in UINT uStyle __in UINT uStyle
); );
WINBASEAPI WINBASEAPI
__out
HFILE HFILE
WINAPI WINAPI
_lopen( _lopen(
__in LPCSTR lpPathName, __in LPCSTR lpPathName,
__in int iReadWrite __in int iReadWrite
); );
WINBASEAPI WINBASEAPI
__out
HFILE HFILE
WINAPI WINAPI
_lcreat( _lcreat(
__in LPCSTR lpPathName, __in LPCSTR lpPathName,
__in int iAttribute __in int iAttribute
); );
WINBASEAPI WINBASEAPI
UINT UINT
WINAPI WINAPI
skipping to change at line 4937 skipping to change at line 5884
__in DWORD dwMilliseconds, __in DWORD dwMilliseconds,
__in BOOL bAlertable __in BOOL bAlertable
); );
#endif /* _WIN32_WINNT >= 0x0400 */ #endif /* _WIN32_WINNT >= 0x0400 */
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
ReadFileEx( ReadFileEx(
__in HANDLE hFile, __in HANDLE hFile,
__out_bcount(nNumberOfBytesToRead) LPVOID lpBuffer, __out_bcount_opt(nNumberOfBytesToRead) __out_data_source(FILE) LPVOID lpBuff er,
__in DWORD nNumberOfBytesToRead, __in DWORD nNumberOfBytesToRead,
__inout LPOVERLAPPED lpOverlapped, __inout LPOVERLAPPED lpOverlapped,
__in_opt LPOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine __in_opt LPOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine
); );
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
WriteFileEx( WriteFileEx(
__in HANDLE hFile, __in HANDLE hFile,
__in_bcount(nNumberOfBytesToWrite) LPCVOID lpBuffer, __in_bcount_opt(nNumberOfBytesToWrite) LPCVOID lpBuffer,
__in DWORD nNumberOfBytesToWrite, __in DWORD nNumberOfBytesToWrite,
__inout LPOVERLAPPED lpOverlapped, __inout LPOVERLAPPED lpOverlapped,
__in_opt LPOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine __in_opt LPOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine
); );
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
BackupRead( BackupRead(
__in HANDLE hFile, __in HANDLE hFile,
skipping to change at line 5017 skipping to change at line 5964
#define BACKUP_INVALID 0x00000000 #define BACKUP_INVALID 0x00000000
#define BACKUP_DATA 0x00000001 #define BACKUP_DATA 0x00000001
#define BACKUP_EA_DATA 0x00000002 #define BACKUP_EA_DATA 0x00000002
#define BACKUP_SECURITY_DATA 0x00000003 #define BACKUP_SECURITY_DATA 0x00000003
#define BACKUP_ALTERNATE_DATA 0x00000004 #define BACKUP_ALTERNATE_DATA 0x00000004
#define BACKUP_LINK 0x00000005 #define BACKUP_LINK 0x00000005
#define BACKUP_PROPERTY_DATA 0x00000006 #define BACKUP_PROPERTY_DATA 0x00000006
#define BACKUP_OBJECT_ID 0x00000007 #define BACKUP_OBJECT_ID 0x00000007
#define BACKUP_REPARSE_DATA 0x00000008 #define BACKUP_REPARSE_DATA 0x00000008
#define BACKUP_SPARSE_BLOCK 0x00000009 #define BACKUP_SPARSE_BLOCK 0x00000009
#define BACKUP_TXFS_DATA 0x0000000a
// //
// Stream Attributes // Stream Attributes
// //
#define STREAM_NORMAL_ATTRIBUTE 0x00000000 #define STREAM_NORMAL_ATTRIBUTE 0x00000000
#define STREAM_MODIFIED_WHEN_READ 0x00000001 #define STREAM_MODIFIED_WHEN_READ 0x00000001
#define STREAM_CONTAINS_SECURITY 0x00000002 #define STREAM_CONTAINS_SECURITY 0x00000002
#define STREAM_CONTAINS_PROPERTIES 0x00000004 #define STREAM_CONTAINS_PROPERTIES 0x00000004
#define STREAM_SPARSE_ATTRIBUTE 0x00000008 #define STREAM_SPARSE_ATTRIBUTE 0x00000008
skipping to change at line 5117 skipping to change at line 6065
HANDLE hStdError; HANDLE hStdError;
} STARTUPINFOW, *LPSTARTUPINFOW; } STARTUPINFOW, *LPSTARTUPINFOW;
#ifdef UNICODE #ifdef UNICODE
typedef STARTUPINFOW STARTUPINFO; typedef STARTUPINFOW STARTUPINFO;
typedef LPSTARTUPINFOW LPSTARTUPINFO; typedef LPSTARTUPINFOW LPSTARTUPINFO;
#else #else
typedef STARTUPINFOA STARTUPINFO; typedef STARTUPINFOA STARTUPINFO;
typedef LPSTARTUPINFOA LPSTARTUPINFO; typedef LPSTARTUPINFOA LPSTARTUPINFO;
#endif // UNICODE #endif // UNICODE
typedef struct _STARTUPINFOEXA {
STARTUPINFOA StartupInfo;
struct _PROC_THREAD_ATTRIBUTE_LIST *lpAttributeList;
} STARTUPINFOEXA, *LPSTARTUPINFOEXA;
typedef struct _STARTUPINFOEXW {
STARTUPINFOW StartupInfo;
struct _PROC_THREAD_ATTRIBUTE_LIST *lpAttributeList;
} STARTUPINFOEXW, *LPSTARTUPINFOEXW;
#ifdef UNICODE
typedef STARTUPINFOEXW STARTUPINFOEX;
typedef LPSTARTUPINFOEXW LPSTARTUPINFOEX;
#else
typedef STARTUPINFOEXA STARTUPINFOEX;
typedef LPSTARTUPINFOEXA LPSTARTUPINFOEX;
#endif // UNICODE
#define SHUTDOWN_NORETRY 0x00000001 #define SHUTDOWN_NORETRY 0x00000001
typedef struct _WIN32_FIND_DATAA { typedef struct _WIN32_FIND_DATAA {
DWORD dwFileAttributes; DWORD dwFileAttributes;
FILETIME ftCreationTime; FILETIME ftCreationTime;
FILETIME ftLastAccessTime; FILETIME ftLastAccessTime;
FILETIME ftLastWriteTime; FILETIME ftLastWriteTime;
DWORD nFileSizeHigh; DWORD nFileSizeHigh;
DWORD nFileSizeLow; DWORD nFileSizeLow;
DWORD dwReserved0; DWORD dwReserved0;
skipping to change at line 5172 skipping to change at line 6136
typedef struct _WIN32_FILE_ATTRIBUTE_DATA { typedef struct _WIN32_FILE_ATTRIBUTE_DATA {
DWORD dwFileAttributes; DWORD dwFileAttributes;
FILETIME ftCreationTime; FILETIME ftCreationTime;
FILETIME ftLastAccessTime; FILETIME ftLastAccessTime;
FILETIME ftLastWriteTime; FILETIME ftLastWriteTime;
DWORD nFileSizeHigh; DWORD nFileSizeHigh;
DWORD nFileSizeLow; DWORD nFileSizeLow;
} WIN32_FILE_ATTRIBUTE_DATA, *LPWIN32_FILE_ATTRIBUTE_DATA; } WIN32_FILE_ATTRIBUTE_DATA, *LPWIN32_FILE_ATTRIBUTE_DATA;
//
// Synchronization APIs
//
WINBASEAPI WINBASEAPI
__out __out_opt
HANDLE HANDLE
WINAPI WINAPI
CreateMutexA( CreateMutexA(
__in_opt LPSECURITY_ATTRIBUTES lpMutexAttributes, __in_opt LPSECURITY_ATTRIBUTES lpMutexAttributes,
__in BOOL bInitialOwner, __in BOOL bInitialOwner,
__in_opt LPCSTR lpName __in_opt LPCSTR lpName
); );
WINBASEAPI WINBASEAPI
__out __out_opt
HANDLE HANDLE
WINAPI WINAPI
CreateMutexW( CreateMutexW(
__in_opt LPSECURITY_ATTRIBUTES lpMutexAttributes, __in_opt LPSECURITY_ATTRIBUTES lpMutexAttributes,
__in BOOL bInitialOwner, __in BOOL bInitialOwner,
__in_opt LPCWSTR lpName __in_opt LPCWSTR lpName
); );
#ifdef UNICODE #ifdef UNICODE
#define CreateMutex CreateMutexW #define CreateMutex CreateMutexW
#else #else
#define CreateMutex CreateMutexA #define CreateMutex CreateMutexA
#endif // !UNICODE #endif // !UNICODE
WINBASEAPI WINBASEAPI
__out __out_opt
HANDLE HANDLE
WINAPI WINAPI
OpenMutexA( OpenMutexA(
__in DWORD dwDesiredAccess, __in DWORD dwDesiredAccess,
__in BOOL bInheritHandle, __in BOOL bInheritHandle,
__in LPCSTR lpName __in LPCSTR lpName
); );
WINBASEAPI WINBASEAPI
__out __out_opt
HANDLE HANDLE
WINAPI WINAPI
OpenMutexW( OpenMutexW(
__in DWORD dwDesiredAccess, __in DWORD dwDesiredAccess,
__in BOOL bInheritHandle, __in BOOL bInheritHandle,
__in LPCWSTR lpName __in LPCWSTR lpName
); );
#ifdef UNICODE #ifdef UNICODE
#define OpenMutex OpenMutexW #define OpenMutex OpenMutexW
#else #else
#define OpenMutex OpenMutexA #define OpenMutex OpenMutexA
#endif // !UNICODE #endif // !UNICODE
WINBASEAPI WINBASEAPI
__out __out_opt
HANDLE HANDLE
WINAPI WINAPI
CreateEventA( CreateEventA(
__in_opt LPSECURITY_ATTRIBUTES lpEventAttributes, __in_opt LPSECURITY_ATTRIBUTES lpEventAttributes,
__in BOOL bManualReset, __in BOOL bManualReset,
__in BOOL bInitialState, __in BOOL bInitialState,
__in_opt LPCSTR lpName __in_opt LPCSTR lpName
); );
WINBASEAPI WINBASEAPI
__out __out_opt
HANDLE HANDLE
WINAPI WINAPI
CreateEventW( CreateEventW(
__in_opt LPSECURITY_ATTRIBUTES lpEventAttributes, __in_opt LPSECURITY_ATTRIBUTES lpEventAttributes,
__in BOOL bManualReset, __in BOOL bManualReset,
__in BOOL bInitialState, __in BOOL bInitialState,
__in_opt LPCWSTR lpName __in_opt LPCWSTR lpName
); );
#ifdef UNICODE #ifdef UNICODE
#define CreateEvent CreateEventW #define CreateEvent CreateEventW
#else #else
#define CreateEvent CreateEventA #define CreateEvent CreateEventA
#endif // !UNICODE #endif // !UNICODE
WINBASEAPI WINBASEAPI
__out __out_opt
HANDLE HANDLE
WINAPI WINAPI
OpenEventA( OpenEventA(
__in DWORD dwDesiredAccess, __in DWORD dwDesiredAccess,
__in BOOL bInheritHandle, __in BOOL bInheritHandle,
__in LPCSTR lpName __in LPCSTR lpName
); );
WINBASEAPI WINBASEAPI
__out __out_opt
HANDLE HANDLE
WINAPI WINAPI
OpenEventW( OpenEventW(
__in DWORD dwDesiredAccess, __in DWORD dwDesiredAccess,
__in BOOL bInheritHandle, __in BOOL bInheritHandle,
__in LPCWSTR lpName __in LPCWSTR lpName
); );
#ifdef UNICODE #ifdef UNICODE
#define OpenEvent OpenEventW #define OpenEvent OpenEventW
#else #else
#define OpenEvent OpenEventA #define OpenEvent OpenEventA
#endif // !UNICODE #endif // !UNICODE
WINBASEAPI WINBASEAPI
__out __out_opt
HANDLE HANDLE
WINAPI WINAPI
CreateSemaphoreA( CreateSemaphoreA(
__in_opt LPSECURITY_ATTRIBUTES lpSemaphoreAttributes, __in_opt LPSECURITY_ATTRIBUTES lpSemaphoreAttributes,
__in LONG lInitialCount, __in LONG lInitialCount,
__in LONG lMaximumCount, __in LONG lMaximumCount,
__in_opt LPCSTR lpName __in_opt LPCSTR lpName
); );
WINBASEAPI WINBASEAPI
__out __out_opt
HANDLE HANDLE
WINAPI WINAPI
CreateSemaphoreW( CreateSemaphoreW(
__in_opt LPSECURITY_ATTRIBUTES lpSemaphoreAttributes, __in_opt LPSECURITY_ATTRIBUTES lpSemaphoreAttributes,
__in LONG lInitialCount, __in LONG lInitialCount,
__in LONG lMaximumCount, __in LONG lMaximumCount,
__in_opt LPCWSTR lpName __in_opt LPCWSTR lpName
); );
#ifdef UNICODE #ifdef UNICODE
#define CreateSemaphore CreateSemaphoreW #define CreateSemaphore CreateSemaphoreW
#else #else
#define CreateSemaphore CreateSemaphoreA #define CreateSemaphore CreateSemaphoreA
#endif // !UNICODE #endif // !UNICODE
WINBASEAPI WINBASEAPI
__out __out_opt
HANDLE HANDLE
WINAPI WINAPI
OpenSemaphoreA( OpenSemaphoreA(
__in DWORD dwDesiredAccess, __in DWORD dwDesiredAccess,
__in BOOL bInheritHandle, __in BOOL bInheritHandle,
__in LPCSTR lpName __in LPCSTR lpName
); );
WINBASEAPI WINBASEAPI
__out __out_opt
HANDLE HANDLE
WINAPI WINAPI
OpenSemaphoreW( OpenSemaphoreW(
__in DWORD dwDesiredAccess, __in DWORD dwDesiredAccess,
__in BOOL bInheritHandle, __in BOOL bInheritHandle,
__in LPCWSTR lpName __in LPCWSTR lpName
); );
#ifdef UNICODE #ifdef UNICODE
#define OpenSemaphore OpenSemaphoreW #define OpenSemaphore OpenSemaphoreW
#else #else
skipping to change at line 5330 skipping to change at line 6298
#if (_WIN32_WINNT >= 0x0400) || (_WIN32_WINDOWS > 0x0400) #if (_WIN32_WINNT >= 0x0400) || (_WIN32_WINDOWS > 0x0400)
typedef typedef
VOID VOID
(APIENTRY *PTIMERAPCROUTINE)( (APIENTRY *PTIMERAPCROUTINE)(
__in_opt LPVOID lpArgToCompletionRoutine, __in_opt LPVOID lpArgToCompletionRoutine,
__in DWORD dwTimerLowValue, __in DWORD dwTimerLowValue,
__in DWORD dwTimerHighValue __in DWORD dwTimerHighValue
); );
WINBASEAPI WINBASEAPI
__out __out_opt
HANDLE HANDLE
WINAPI WINAPI
CreateWaitableTimerA( CreateWaitableTimerA(
__in_opt LPSECURITY_ATTRIBUTES lpTimerAttributes, __in_opt LPSECURITY_ATTRIBUTES lpTimerAttributes,
__in BOOL bManualReset, __in BOOL bManualReset,
__in_opt LPCSTR lpTimerName __in_opt LPCSTR lpTimerName
); );
WINBASEAPI WINBASEAPI
__out __out_opt
HANDLE HANDLE
WINAPI WINAPI
CreateWaitableTimerW( CreateWaitableTimerW(
__in_opt LPSECURITY_ATTRIBUTES lpTimerAttributes, __in_opt LPSECURITY_ATTRIBUTES lpTimerAttributes,
__in BOOL bManualReset, __in BOOL bManualReset,
__in_opt LPCWSTR lpTimerName __in_opt LPCWSTR lpTimerName
); );
#ifdef UNICODE #ifdef UNICODE
#define CreateWaitableTimer CreateWaitableTimerW #define CreateWaitableTimer CreateWaitableTimerW
#else #else
#define CreateWaitableTimer CreateWaitableTimerA #define CreateWaitableTimer CreateWaitableTimerA
#endif // !UNICODE #endif // !UNICODE
WINBASEAPI WINBASEAPI
__out __out_opt
HANDLE HANDLE
WINAPI WINAPI
OpenWaitableTimerA( OpenWaitableTimerA(
__in DWORD dwDesiredAccess, __in DWORD dwDesiredAccess,
__in BOOL bInheritHandle, __in BOOL bInheritHandle,
__in LPCSTR lpTimerName __in LPCSTR lpTimerName
); );
WINBASEAPI WINBASEAPI
__out __out_opt
HANDLE HANDLE
WINAPI WINAPI
OpenWaitableTimerW( OpenWaitableTimerW(
__in DWORD dwDesiredAccess, __in DWORD dwDesiredAccess,
__in BOOL bInheritHandle, __in BOOL bInheritHandle,
__in LPCWSTR lpTimerName __in LPCWSTR lpTimerName
); );
#ifdef UNICODE #ifdef UNICODE
#define OpenWaitableTimer OpenWaitableTimerW #define OpenWaitableTimer OpenWaitableTimerW
#else #else
skipping to change at line 5395 skipping to change at line 6363
__in_opt LPVOID lpArgToCompletionRoutine, __in_opt LPVOID lpArgToCompletionRoutine,
__in BOOL fResume __in BOOL fResume
); );
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
CancelWaitableTimer( CancelWaitableTimer(
__in HANDLE hTimer __in HANDLE hTimer
); );
#if (_WIN32_WINNT >= 0x0600)
#define CREATE_MUTEX_INITIAL_OWNER 0x00000001
WINBASEAPI
__out_opt
HANDLE
WINAPI
CreateMutexExA(
__in_opt LPSECURITY_ATTRIBUTES lpMutexAttributes,
__in_opt LPCSTR lpName,
__in DWORD dwFlags,
__in DWORD dwDesiredAccess
);
WINBASEAPI
__out_opt
HANDLE
WINAPI
CreateMutexExW(
__in_opt LPSECURITY_ATTRIBUTES lpMutexAttributes,
__in_opt LPCWSTR lpName,
__in DWORD dwFlags,
__in DWORD dwDesiredAccess
);
#ifdef UNICODE
#define CreateMutexEx CreateMutexExW
#else
#define CreateMutexEx CreateMutexExA
#endif // !UNICODE
#define CREATE_EVENT_MANUAL_RESET 0x00000001
#define CREATE_EVENT_INITIAL_SET 0x00000002
WINBASEAPI
__out_opt
HANDLE
WINAPI
CreateEventExA(
__in_opt LPSECURITY_ATTRIBUTES lpEventAttributes,
__in_opt LPCSTR lpName,
__in DWORD dwFlags,
__in DWORD dwDesiredAccess
);
WINBASEAPI
__out_opt
HANDLE
WINAPI
CreateEventExW(
__in_opt LPSECURITY_ATTRIBUTES lpEventAttributes,
__in_opt LPCWSTR lpName,
__in DWORD dwFlags,
__in DWORD dwDesiredAccess
);
#ifdef UNICODE
#define CreateEventEx CreateEventExW
#else
#define CreateEventEx CreateEventExA
#endif // !UNICODE
WINBASEAPI
__out_opt
HANDLE
WINAPI
CreateSemaphoreExA(
__in_opt LPSECURITY_ATTRIBUTES lpSemaphoreAttributes,
__in LONG lInitialCount,
__in LONG lMaximumCount,
__in_opt LPCSTR lpName,
__reserved DWORD dwFlags,
__in DWORD dwDesiredAccess
);
WINBASEAPI
__out_opt
HANDLE
WINAPI
CreateSemaphoreExW(
__in_opt LPSECURITY_ATTRIBUTES lpSemaphoreAttributes,
__in LONG lInitialCount,
__in LONG lMaximumCount,
__in_opt LPCWSTR lpName,
__reserved DWORD dwFlags,
__in DWORD dwDesiredAccess
);
#ifdef UNICODE
#define CreateSemaphoreEx CreateSemaphoreExW
#else
#define CreateSemaphoreEx CreateSemaphoreExA
#endif // !UNICODE
#define CREATE_WAITABLE_TIMER_MANUAL_RESET 0x00000001
WINBASEAPI
__out_opt
HANDLE
WINAPI
CreateWaitableTimerExA(
__in_opt LPSECURITY_ATTRIBUTES lpTimerAttributes,
__in_opt LPCSTR lpTimerName,
__in DWORD dwFlags,
__in DWORD dwDesiredAccess
);
WINBASEAPI
__out_opt
HANDLE
WINAPI
CreateWaitableTimerExW(
__in_opt LPSECURITY_ATTRIBUTES lpTimerAttributes,
__in_opt LPCWSTR lpTimerName,
__in DWORD dwFlags,
__in DWORD dwDesiredAccess
);
#ifdef UNICODE
#define CreateWaitableTimerEx CreateWaitableTimerExW
#else
#define CreateWaitableTimerEx CreateWaitableTimerExA
#endif // !UNICODE
#endif /* (_WIN32_WINNT >= 0x0600) */
#endif /* (_WIN32_WINNT >= 0x0400) || (_WIN32_WINDOWS > 0x0400) */ #endif /* (_WIN32_WINNT >= 0x0400) || (_WIN32_WINDOWS > 0x0400) */
WINBASEAPI WINBASEAPI
__out __out_opt
HANDLE HANDLE
WINAPI WINAPI
CreateFileMappingA( CreateFileMappingA(
__in HANDLE hFile, __in HANDLE hFile,
__in_opt LPSECURITY_ATTRIBUTES lpFileMappingAttributes, __in_opt LPSECURITY_ATTRIBUTES lpFileMappingAttributes,
__in DWORD flProtect, __in DWORD flProtect,
__in DWORD dwMaximumSizeHigh, __in DWORD dwMaximumSizeHigh,
__in DWORD dwMaximumSizeLow, __in DWORD dwMaximumSizeLow,
__in_opt LPCSTR lpName __in_opt LPCSTR lpName
); );
WINBASEAPI WINBASEAPI
__out __out_opt
HANDLE HANDLE
WINAPI WINAPI
CreateFileMappingW( CreateFileMappingW(
__in HANDLE hFile, __in HANDLE hFile,
__in_opt LPSECURITY_ATTRIBUTES lpFileMappingAttributes, __in_opt LPSECURITY_ATTRIBUTES lpFileMappingAttributes,
__in DWORD flProtect, __in DWORD flProtect,
__in DWORD dwMaximumSizeHigh, __in DWORD dwMaximumSizeHigh,
__in DWORD dwMaximumSizeLow, __in DWORD dwMaximumSizeLow,
__in_opt LPCWSTR lpName __in_opt LPCWSTR lpName
); );
#ifdef UNICODE #ifdef UNICODE
#define CreateFileMapping CreateFileMappingW #define CreateFileMapping CreateFileMappingW
#else #else
#define CreateFileMapping CreateFileMappingA #define CreateFileMapping CreateFileMappingA
#endif // !UNICODE #endif // !UNICODE
#if _WIN32_WINNT >= 0x0600
WINBASEAPI
__out_opt
HANDLE
WINAPI
CreateFileMappingNumaA(
__in HANDLE hFile,
__in_opt LPSECURITY_ATTRIBUTES lpFileMappingAttributes,
__in DWORD flProtect,
__in DWORD dwMaximumSizeHigh,
__in DWORD dwMaximumSizeLow,
__in_opt LPCSTR lpName,
__in DWORD nndPreferred
);
WINBASEAPI
__out_opt
HANDLE
WINAPI
CreateFileMappingNumaW(
__in HANDLE hFile,
__in_opt LPSECURITY_ATTRIBUTES lpFileMappingAttributes,
__in DWORD flProtect,
__in DWORD dwMaximumSizeHigh,
__in DWORD dwMaximumSizeLow,
__in_opt LPCWSTR lpName,
__in DWORD nndPreferred
);
#ifdef UNICODE
#define CreateFileMappingNuma CreateFileMappingNumaW
#else
#define CreateFileMappingNuma CreateFileMappingNumaA
#endif // !UNICODE
#endif // _WIN32_WINNT >= 0x0600
WINBASEAPI WINBASEAPI
__out __out
HANDLE HANDLE
WINAPI WINAPI
OpenFileMappingA( OpenFileMappingA(
__in DWORD dwDesiredAccess, __in DWORD dwDesiredAccess,
__in BOOL bInheritHandle, __in BOOL bInheritHandle,
__in LPCSTR lpName __in LPCSTR lpName
); );
WINBASEAPI WINBASEAPI
skipping to change at line 5479 skipping to change at line 6603
#endif // !UNICODE #endif // !UNICODE
#if _WIN32_WINNT >= 0x0501 #if _WIN32_WINNT >= 0x0501
typedef enum _MEMORY_RESOURCE_NOTIFICATION_TYPE { typedef enum _MEMORY_RESOURCE_NOTIFICATION_TYPE {
LowMemoryResourceNotification, LowMemoryResourceNotification,
HighMemoryResourceNotification HighMemoryResourceNotification
} MEMORY_RESOURCE_NOTIFICATION_TYPE; } MEMORY_RESOURCE_NOTIFICATION_TYPE;
WINBASEAPI WINBASEAPI
__out __out_opt
HANDLE HANDLE
WINAPI WINAPI
CreateMemoryResourceNotification( CreateMemoryResourceNotification(
__in MEMORY_RESOURCE_NOTIFICATION_TYPE NotificationType __in MEMORY_RESOURCE_NOTIFICATION_TYPE NotificationType
); );
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
QueryMemoryResourceNotification( QueryMemoryResourceNotification(
__in HANDLE ResourceNotificationHandle, __in HANDLE ResourceNotificationHandle,
__out PBOOL ResourceState __out PBOOL ResourceState
); );
#endif // _WIN32_WINNT >= 0x0501 #endif // _WIN32_WINNT >= 0x0501
WINBASEAPI WINBASEAPI
__out __out_opt
HMODULE HMODULE
WINAPI WINAPI
LoadLibraryA( LoadLibraryA(
__in LPCSTR lpLibFileName __in LPCSTR lpLibFileName
); );
WINBASEAPI WINBASEAPI
__out __out_opt
HMODULE HMODULE
WINAPI WINAPI
LoadLibraryW( LoadLibraryW(
__in LPCWSTR lpLibFileName __in LPCWSTR lpLibFileName
); );
#ifdef UNICODE #ifdef UNICODE
#define LoadLibrary LoadLibraryW #define LoadLibrary LoadLibraryW
#else #else
#define LoadLibrary LoadLibraryA #define LoadLibrary LoadLibraryA
#endif // !UNICODE #endif // !UNICODE
WINBASEAPI WINBASEAPI
__out __out_opt
HMODULE HMODULE
WINAPI WINAPI
LoadLibraryExA( LoadLibraryExA(
__in LPCSTR lpLibFileName, __in LPCSTR lpLibFileName,
__reserved HANDLE hFile, __reserved HANDLE hFile,
__in DWORD dwFlags __in DWORD dwFlags
); );
WINBASEAPI WINBASEAPI
__out __out_opt
HMODULE HMODULE
WINAPI WINAPI
LoadLibraryExW( LoadLibraryExW(
__in LPCWSTR lpLibFileName, __in LPCWSTR lpLibFileName,
__reserved HANDLE hFile, __reserved HANDLE hFile,
__in DWORD dwFlags __in DWORD dwFlags
); );
#ifdef UNICODE #ifdef UNICODE
#define LoadLibraryEx LoadLibraryExW #define LoadLibraryEx LoadLibraryExW
#else #else
#define LoadLibraryEx LoadLibraryExA #define LoadLibraryEx LoadLibraryExA
#endif // !UNICODE #endif // !UNICODE
#define DONT_RESOLVE_DLL_REFERENCES 0x00000001 #define DONT_RESOLVE_DLL_REFERENCES 0x00000001
#define LOAD_LIBRARY_AS_DATAFILE 0x00000002 #define LOAD_LIBRARY_AS_DATAFILE 0x00000002
#define LOAD_WITH_ALTERED_SEARCH_PATH 0x00000008 #define LOAD_WITH_ALTERED_SEARCH_PATH 0x00000008
#define LOAD_IGNORE_CODE_AUTHZ_LEVEL 0x00000010 #define LOAD_IGNORE_CODE_AUTHZ_LEVEL 0x00000010
#define LOAD_LIBRARY_AS_IMAGE_RESOURCE 0x00000020
#define LOAD_LIBRARY_AS_DATAFILE_EXCLUSIVE 0x00000040
WINBASEAPI WINBASEAPI
DWORD DWORD
WINAPI WINAPI
GetModuleFileNameA( GetModuleFileNameA(
__in_opt HMODULE hModule, __in_opt HMODULE hModule,
__out_ecount_part(nSize, return + 1) LPCH lpFilename, __out_ecount_part(nSize, return + 1) LPCH lpFilename,
__in DWORD nSize __in DWORD nSize
); );
WINBASEAPI WINBASEAPI
skipping to change at line 5568 skipping to change at line 6694
__out_ecount_part(nSize, return + 1) LPWCH lpFilename, __out_ecount_part(nSize, return + 1) LPWCH lpFilename,
__in DWORD nSize __in DWORD nSize
); );
#ifdef UNICODE #ifdef UNICODE
#define GetModuleFileName GetModuleFileNameW #define GetModuleFileName GetModuleFileNameW
#else #else
#define GetModuleFileName GetModuleFileNameA #define GetModuleFileName GetModuleFileNameA
#endif // !UNICODE #endif // !UNICODE
WINBASEAPI WINBASEAPI
__out __out_opt
HMODULE HMODULE
WINAPI WINAPI
GetModuleHandleA( GetModuleHandleA(
__in_opt LPCSTR lpModuleName __in_opt LPCSTR lpModuleName
); );
WINBASEAPI WINBASEAPI
__out __out_opt
HMODULE HMODULE
WINAPI WINAPI
GetModuleHandleW( GetModuleHandleW(
__in_opt LPCWSTR lpModuleName __in_opt LPCWSTR lpModuleName
); );
#ifdef UNICODE #ifdef UNICODE
#define GetModuleHandle GetModuleHandleW #define GetModuleHandle GetModuleHandleW
#else #else
#define GetModuleHandle GetModuleHandleA #define GetModuleHandle GetModuleHandleA
#endif // !UNICODE #endif // !UNICODE
skipping to change at line 5663 skipping to change at line 6789
__in LPCWSTR ExeName __in LPCWSTR ExeName
); );
#ifdef UNICODE #ifdef UNICODE
#define NeedCurrentDirectoryForExePath NeedCurrentDirectoryForExePathW #define NeedCurrentDirectoryForExePath NeedCurrentDirectoryForExePathW
#else #else
#define NeedCurrentDirectoryForExePath NeedCurrentDirectoryForExePathA #define NeedCurrentDirectoryForExePath NeedCurrentDirectoryForExePathA
#endif // !UNICODE #endif // !UNICODE
#endif #endif
#if _WIN32_WINNT >= 0x0600
#define PROCESS_NAME_NATIVE 0x00000001
WINBASEAPI
BOOL
WINAPI
QueryFullProcessImageNameA(
__in HANDLE hProcess,
__in DWORD dwFlags,
__out_ecount_part(*lpdwSize, *lpdwSize) LPSTR lpExeName,
__inout PDWORD lpdwSize
);
WINBASEAPI
BOOL
WINAPI
QueryFullProcessImageNameW(
__in HANDLE hProcess,
__in DWORD dwFlags,
__out_ecount_part(*lpdwSize, *lpdwSize) LPWSTR lpExeName,
__inout PDWORD lpdwSize
);
#ifdef UNICODE
#define QueryFullProcessImageName QueryFullProcessImageNameW
#else
#define QueryFullProcessImageName QueryFullProcessImageNameA
#endif // !UNICODE
#endif
//
// Extended process and thread attribute support
//
#define PROC_THREAD_ATTRIBUTE_NUMBER 0x0000FFFF
#define PROC_THREAD_ATTRIBUTE_THREAD 0x00010000 // Attribute may be used wit
h thread creation
#define PROC_THREAD_ATTRIBUTE_INPUT 0x00020000 // Attribute is input only
#define PROC_THREAD_ATTRIBUTE_ADDITIVE 0x00040000 // Attribute may be "accumul
ated," e.g. bitmasks, counters, etc.
typedef enum _PROC_THREAD_ATTRIBUTE_NUM {
ProcThreadAttributeParentProcess = 0,
ProcThreadAttributeExtendedFlags,
ProcThreadAttributeHandleList,
ProcThreadAttributeMax
} PROC_THREAD_ATTRIBUTE_NUM;
#define ProcThreadAttributeValue(Number, Thread, Input, Additive) \
(((Number) & PROC_THREAD_ATTRIBUTE_NUMBER) | \
((Thread != FALSE) ? PROC_THREAD_ATTRIBUTE_THREAD : 0) | \
((Input != FALSE) ? PROC_THREAD_ATTRIBUTE_INPUT : 0) | \
((Additive != FALSE) ? PROC_THREAD_ATTRIBUTE_ADDITIVE : 0))
#define PROC_THREAD_ATTRIBUTE_PARENT_PROCESS \
ProcThreadAttributeValue (ProcThreadAttributeParentProcess, FALSE, TRUE, FAL
SE)
#define PROC_THREAD_ATTRIBUTE_EXTENDED_FLAGS \
ProcThreadAttributeValue (ProcThreadAttributeExtendedFlags, FALSE, TRUE, TRU
E)
#define PROC_THREAD_ATTRIBUTE_HANDLE_LIST \
ProcThreadAttributeValue (ProcThreadAttributeHandleList, FALSE, TRUE, FALSE)
typedef struct _PROC_THREAD_ATTRIBUTE_LIST *PPROC_THREAD_ATTRIBUTE_LIST, *LPPROC
_THREAD_ATTRIBUTE_LIST;
WINBASEAPI
BOOL
WINAPI
InitializeProcThreadAttributeList(
__out_xcount_opt(*lpSize) LPPROC_THREAD_ATTRIBUTE_LIST lpAttributeList,
__in DWORD dwAttributeCount,
__in __reserved DWORD dwFlags,
__inout PSIZE_T lpSize
);
WINBASEAPI
VOID
WINAPI
DeleteProcThreadAttributeList(
__inout LPPROC_THREAD_ATTRIBUTE_LIST lpAttributeList
);
#define PROC_THREAD_ATTRIBUTE_REPLACE_VALUE 0x00000001
WINBASEAPI
BOOL
WINAPI
UpdateProcThreadAttribute(
__inout LPPROC_THREAD_ATTRIBUTE_LIST lpAttributeList,
__in DWORD dwFlags,
__in DWORD_PTR Attribute,
__in_bcount_opt(cbSize) PVOID lpValue,
__in SIZE_T cbSize,
__out_bcount_opt(cbSize) PVOID lpPreviousValue,
__in_opt PSIZE_T lpReturnSize
);
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
CreateProcessA( CreateProcessA(
__in_opt LPCSTR lpApplicationName, __in_opt LPCSTR lpApplicationName,
__inout_opt LPSTR lpCommandLine, __inout_opt LPSTR lpCommandLine,
__in_opt LPSECURITY_ATTRIBUTES lpProcessAttributes, __in_opt LPSECURITY_ATTRIBUTES lpProcessAttributes,
__in_opt LPSECURITY_ATTRIBUTES lpThreadAttributes, __in_opt LPSECURITY_ATTRIBUTES lpThreadAttributes,
__in BOOL bInheritHandles, __in BOOL bInheritHandles,
__in DWORD dwCreationFlags, __in DWORD dwCreationFlags,
skipping to change at line 5781 skipping to change at line 7000
GetCommandLineW( GetCommandLineW(
VOID VOID
); );
#ifdef UNICODE #ifdef UNICODE
#define GetCommandLine GetCommandLineW #define GetCommandLine GetCommandLineW
#else #else
#define GetCommandLine GetCommandLineA #define GetCommandLine GetCommandLineA
#endif // !UNICODE #endif // !UNICODE
WINBASEAPI WINBASEAPI
__success(return < nSize)
__success(return != 0)
DWORD DWORD
WINAPI WINAPI
GetEnvironmentVariableA( GetEnvironmentVariableA(
__in LPCSTR lpName, __in_opt LPCSTR lpName,
__out_ecount_part_opt(nSize, return + 1) LPSTR lpBuffer, __out_ecount_part_opt(nSize, return + 1) LPSTR lpBuffer,
__in DWORD nSize __in DWORD nSize
); );
WINBASEAPI WINBASEAPI
__success(return < nSize)
__success(return != 0)
DWORD DWORD
WINAPI WINAPI
GetEnvironmentVariableW( GetEnvironmentVariableW(
__in LPCWSTR lpName, __in_opt LPCWSTR lpName,
__out_ecount_part_opt(nSize, return + 1) LPWSTR lpBuffer, __out_ecount_part_opt(nSize, return + 1) LPWSTR lpBuffer,
__in DWORD nSize __in DWORD nSize
); );
#ifdef UNICODE #ifdef UNICODE
#define GetEnvironmentVariable GetEnvironmentVariableW #define GetEnvironmentVariable GetEnvironmentVariableW
#else #else
#define GetEnvironmentVariable GetEnvironmentVariableA #define GetEnvironmentVariable GetEnvironmentVariableA
#endif // !UNICODE #endif // !UNICODE
WINBASEAPI WINBASEAPI
skipping to change at line 5837 skipping to change at line 7060
LPCTSTR lpName, LPCTSTR lpName,
LPCTSTR lpValue LPCTSTR lpValue
) )
{ {
#ifdef UNICODE #ifdef UNICODE
return SetEnvironmentVariableW( return SetEnvironmentVariableW(
#else #else
return SetEnvironmentVariableA( return SetEnvironmentVariableA(
#endif #endif
lpName, lpName,
lpValue lpValue
); );
} }
#endif /* _M_CEE */ #endif /* _M_CEE */
WINBASEAPI WINBASEAPI
__success(return <= nSize)
__success(return != 0)
DWORD DWORD
WINAPI WINAPI
ExpandEnvironmentStringsA( ExpandEnvironmentStringsA(
__in LPCSTR lpSrc, __in LPCSTR lpSrc,
__out_ecount_part_opt(nSize, return) LPSTR lpDst, __out_ecount_part_opt(nSize, return) LPSTR lpDst,
__in DWORD nSize __in DWORD nSize
); );
WINBASEAPI WINBASEAPI
__success(return <= nSize)
__success(return != 0)
DWORD DWORD
WINAPI WINAPI
ExpandEnvironmentStringsW( ExpandEnvironmentStringsW(
__in LPCWSTR lpSrc, __in LPCWSTR lpSrc,
__out_ecount_part_opt(nSize, return) LPWSTR lpDst, __out_ecount_part_opt(nSize, return) LPWSTR lpDst,
__in DWORD nSize __in DWORD nSize
); );
#ifdef UNICODE #ifdef UNICODE
#define ExpandEnvironmentStrings ExpandEnvironmentStringsW #define ExpandEnvironmentStrings ExpandEnvironmentStringsW
#else #else
skipping to change at line 5916 skipping to change at line 7143
#ifdef UNICODE #ifdef UNICODE
#define SetFirmwareEnvironmentVariable SetFirmwareEnvironmentVariableW #define SetFirmwareEnvironmentVariable SetFirmwareEnvironmentVariableW
#else #else
#define SetFirmwareEnvironmentVariable SetFirmwareEnvironmentVariableA #define SetFirmwareEnvironmentVariable SetFirmwareEnvironmentVariableA
#endif // !UNICODE #endif // !UNICODE
WINBASEAPI WINBASEAPI
VOID VOID
WINAPI WINAPI
OutputDebugStringA( OutputDebugStringA(
__in LPCSTR lpOutputString __in_opt LPCSTR lpOutputString
); );
WINBASEAPI WINBASEAPI
VOID VOID
WINAPI WINAPI
OutputDebugStringW( OutputDebugStringW(
__in LPCWSTR lpOutputString __in_opt LPCWSTR lpOutputString
); );
#ifdef UNICODE #ifdef UNICODE
#define OutputDebugString OutputDebugStringW #define OutputDebugString OutputDebugStringW
#else #else
#define OutputDebugString OutputDebugStringA #define OutputDebugString OutputDebugStringA
#endif // !UNICODE #endif // !UNICODE
WINBASEAPI WINBASEAPI
__out __out_opt
HRSRC HRSRC
WINAPI WINAPI
FindResourceA( FindResourceA(
__in_opt HMODULE hModule, __in_opt HMODULE hModule,
__in LPCSTR lpName, __in LPCSTR lpName,
__in LPCSTR lpType __in LPCSTR lpType
); );
WINBASEAPI WINBASEAPI
__out __out_opt
HRSRC HRSRC
WINAPI WINAPI
FindResourceW( FindResourceW(
__in_opt HMODULE hModule, __in_opt HMODULE hModule,
__in LPCWSTR lpName, __in LPCWSTR lpName,
__in LPCWSTR lpType __in LPCWSTR lpType
); );
#ifdef UNICODE #ifdef UNICODE
#define FindResource FindResourceW #define FindResource FindResourceW
#else #else
#define FindResource FindResourceA #define FindResource FindResourceA
#endif // !UNICODE #endif // !UNICODE
WINBASEAPI WINBASEAPI
__out __out_opt
HRSRC HRSRC
WINAPI WINAPI
FindResourceExA( FindResourceExA(
__in_opt HMODULE hModule, __in_opt HMODULE hModule,
__in LPCSTR lpType, __in LPCSTR lpType,
__in LPCSTR lpName, __in LPCSTR lpName,
__in WORD wLanguage __in WORD wLanguage
); );
WINBASEAPI WINBASEAPI
__out __out_opt
HRSRC HRSRC
WINAPI WINAPI
FindResourceExW( FindResourceExW(
__in_opt HMODULE hModule, __in_opt HMODULE hModule,
__in LPCWSTR lpType, __in LPCWSTR lpType,
__in LPCWSTR lpName, __in LPCWSTR lpName,
__in WORD wLanguage __in WORD wLanguage
); );
#ifdef UNICODE #ifdef UNICODE
#define FindResourceEx FindResourceExW #define FindResourceEx FindResourceExW
skipping to change at line 6104 skipping to change at line 7331
__in LPCWSTR lpName, __in LPCWSTR lpName,
__in ENUMRESLANGPROCW lpEnumFunc, __in ENUMRESLANGPROCW lpEnumFunc,
__in LONG_PTR lParam __in LONG_PTR lParam
); );
#ifdef UNICODE #ifdef UNICODE
#define EnumResourceLanguages EnumResourceLanguagesW #define EnumResourceLanguages EnumResourceLanguagesW
#else #else
#define EnumResourceLanguages EnumResourceLanguagesA #define EnumResourceLanguages EnumResourceLanguagesA
#endif // !UNICODE #endif // !UNICODE
#define RESOURCE_ENUM_LN (0x0001)
#define RESOURCE_ENUM_MUI (0x0002)
#define RESOURCE_ENUM_MUI_SYSTEM (0x0004)
#define RESOURCE_UPDATE_LN (0x0010)
#define RESOURCE_UPDATE_MUI (0x0020)
WINBASEAPI
BOOL
WINAPI
EnumResourceTypesExA(
__in_opt HMODULE hModule,
__in ENUMRESTYPEPROCA lpEnumFunc,
__in LONG_PTR lParam,
DWORD dwFlags,
LANGID LangId
);
WINBASEAPI
BOOL
WINAPI
EnumResourceTypesExW(
__in_opt HMODULE hModule,
__in ENUMRESTYPEPROCW lpEnumFunc,
__in LONG_PTR lParam,
DWORD dwFlags,
LANGID LangId
);
#ifdef UNICODE
#define EnumResourceTypesEx EnumResourceTypesExW
#else
#define EnumResourceTypesEx EnumResourceTypesExA
#endif // !UNICODE
WINBASEAPI
BOOL
WINAPI
EnumResourceNamesExA(
__in_opt HMODULE hModule,
__in LPCSTR lpType,
__in ENUMRESNAMEPROCA lpEnumFunc,
__in LONG_PTR lParam,
DWORD dwFlags,
LANGID LangId
);
WINBASEAPI
BOOL
WINAPI
EnumResourceNamesExW(
__in_opt HMODULE hModule,
__in LPCWSTR lpType,
__in ENUMRESNAMEPROCW lpEnumFunc,
__in LONG_PTR lParam,
DWORD dwFlags,
LANGID LangId
);
#ifdef UNICODE
#define EnumResourceNamesEx EnumResourceNamesExW
#else
#define EnumResourceNamesEx EnumResourceNamesExA
#endif // !UNICODE
WINBASEAPI
BOOL
WINAPI
EnumResourceLanguagesExA(
__in_opt HMODULE hModule,
__in LPCSTR lpType,
__in LPCSTR lpName,
__in ENUMRESLANGPROCA lpEnumFunc,
__in LONG_PTR lParam,
DWORD dwFlags,
LANGID LangId
);
WINBASEAPI
BOOL
WINAPI
EnumResourceLanguagesExW(
__in_opt HMODULE hModule,
__in LPCWSTR lpType,
__in LPCWSTR lpName,
__in ENUMRESLANGPROCW lpEnumFunc,
__in LONG_PTR lParam,
DWORD dwFlags,
LANGID LangId
);
#ifdef UNICODE
#define EnumResourceLanguagesEx EnumResourceLanguagesExW
#else
#define EnumResourceLanguagesEx EnumResourceLanguagesExA
#endif // !UNICODE
WINBASEAPI WINBASEAPI
__out
HANDLE HANDLE
WINAPI WINAPI
BeginUpdateResourceA( BeginUpdateResourceA(
__in LPCSTR pFileName, __in LPCSTR pFileName,
__in BOOL bDeleteExistingResources __in BOOL bDeleteExistingResources
); );
WINBASEAPI WINBASEAPI
__out
HANDLE HANDLE
WINAPI WINAPI
BeginUpdateResourceW( BeginUpdateResourceW(
__in LPCWSTR pFileName, __in LPCWSTR pFileName,
__in BOOL bDeleteExistingResources __in BOOL bDeleteExistingResources
); );
#ifdef UNICODE #ifdef UNICODE
#define BeginUpdateResource BeginUpdateResourceW #define BeginUpdateResource BeginUpdateResourceW
#else #else
#define BeginUpdateResource BeginUpdateResourceA #define BeginUpdateResource BeginUpdateResourceA
skipping to change at line 6175 skipping to change at line 7490
__in HANDLE hUpdate, __in HANDLE hUpdate,
__in BOOL fDiscard __in BOOL fDiscard
); );
#ifdef UNICODE #ifdef UNICODE
#define EndUpdateResource EndUpdateResourceW #define EndUpdateResource EndUpdateResourceW
#else #else
#define EndUpdateResource EndUpdateResourceA #define EndUpdateResource EndUpdateResourceA
#endif // !UNICODE #endif // !UNICODE
WINBASEAPI WINBASEAPI
__out
ATOM ATOM
WINAPI WINAPI
GlobalAddAtomA( GlobalAddAtomA(
__in_opt LPCSTR lpString __in_opt LPCSTR lpString
); );
WINBASEAPI WINBASEAPI
__out
ATOM ATOM
WINAPI WINAPI
GlobalAddAtomW( GlobalAddAtomW(
__in_opt LPCWSTR lpString __in_opt LPCWSTR lpString
); );
#ifdef UNICODE #ifdef UNICODE
#define GlobalAddAtom GlobalAddAtomW #define GlobalAddAtom GlobalAddAtomW
#else #else
#define GlobalAddAtom GlobalAddAtomA #define GlobalAddAtom GlobalAddAtomA
#endif // !UNICODE #endif // !UNICODE
WINBASEAPI WINBASEAPI
__out
ATOM ATOM
WINAPI WINAPI
GlobalFindAtomA( GlobalFindAtomA(
__in_opt LPCSTR lpString __in_opt LPCSTR lpString
); );
WINBASEAPI WINBASEAPI
__out
ATOM ATOM
WINAPI WINAPI
GlobalFindAtomW( GlobalFindAtomW(
__in_opt LPCWSTR lpString __in_opt LPCWSTR lpString
); );
#ifdef UNICODE #ifdef UNICODE
#define GlobalFindAtom GlobalFindAtomW #define GlobalFindAtom GlobalFindAtomW
#else #else
#define GlobalFindAtom GlobalFindAtomA #define GlobalFindAtom GlobalFindAtomA
#endif // !UNICODE #endif // !UNICODE
skipping to change at line 6237 skipping to change at line 7548
__out_ecount_part(nSize, return + 1) LPWSTR lpBuffer, __out_ecount_part(nSize, return + 1) LPWSTR lpBuffer,
__in int nSize __in int nSize
); );
#ifdef UNICODE #ifdef UNICODE
#define GlobalGetAtomName GlobalGetAtomNameW #define GlobalGetAtomName GlobalGetAtomNameW
#else #else
#define GlobalGetAtomName GlobalGetAtomNameA #define GlobalGetAtomName GlobalGetAtomNameA
#endif // !UNICODE #endif // !UNICODE
WINBASEAPI WINBASEAPI
__out
ATOM ATOM
WINAPI WINAPI
AddAtomA( AddAtomA(
__in_opt LPCSTR lpString __in_opt LPCSTR lpString
); );
WINBASEAPI WINBASEAPI
__out
ATOM ATOM
WINAPI WINAPI
AddAtomW( AddAtomW(
__in_opt LPCWSTR lpString __in_opt LPCWSTR lpString
); );
#ifdef UNICODE #ifdef UNICODE
#define AddAtom AddAtomW #define AddAtom AddAtomW
#else #else
#define AddAtom AddAtomA #define AddAtom AddAtomA
#endif // !UNICODE #endif // !UNICODE
WINBASEAPI WINBASEAPI
__out
ATOM ATOM
WINAPI WINAPI
FindAtomA( FindAtomA(
__in_opt LPCSTR lpString __in_opt LPCSTR lpString
); );
WINBASEAPI WINBASEAPI
__out
ATOM ATOM
WINAPI WINAPI
FindAtomW( FindAtomW(
__in_opt LPCWSTR lpString __in_opt LPCWSTR lpString
); );
#ifdef UNICODE #ifdef UNICODE
#define FindAtom FindAtomW #define FindAtom FindAtomW
#else #else
#define FindAtom FindAtomA #define FindAtom FindAtomA
#endif // !UNICODE #endif // !UNICODE
skipping to change at line 6649 skipping to change at line 7956
#define GetSystemDirectory GetSystemDirectoryW #define GetSystemDirectory GetSystemDirectoryW
#else #else
#define GetSystemDirectory GetSystemDirectoryA #define GetSystemDirectory GetSystemDirectoryA
#endif // !UNICODE #endif // !UNICODE
WINBASEAPI WINBASEAPI
DWORD DWORD
WINAPI WINAPI
GetTempPathA( GetTempPathA(
__in DWORD nBufferLength, __in DWORD nBufferLength,
__out_ecount_part(nBufferLength, return + 1) LPSTR lpBuffer __out_ecount_part_opt(nBufferLength, return + 1) LPSTR lpBuffer
); );
WINBASEAPI WINBASEAPI
DWORD DWORD
WINAPI WINAPI
GetTempPathW( GetTempPathW(
__in DWORD nBufferLength, __in DWORD nBufferLength,
__out_ecount_part(nBufferLength, return + 1) LPWSTR lpBuffer __out_ecount_part_opt(nBufferLength, return + 1) LPWSTR lpBuffer
); );
#ifdef UNICODE #ifdef UNICODE
#define GetTempPath GetTempPathW #define GetTempPath GetTempPathW
#else #else
#define GetTempPath GetTempPathA #define GetTempPath GetTempPathA
#endif // !UNICODE #endif // !UNICODE
WINBASEAPI WINBASEAPI
UINT UINT
WINAPI WINAPI
skipping to change at line 6705 skipping to change at line 8012
UINT uUnique, UINT uUnique,
LPTSTR lpTempFileName LPTSTR lpTempFileName
) )
{ {
#ifdef UNICODE #ifdef UNICODE
return GetTempFileNameW( return GetTempFileNameW(
#else #else
return GetTempFileNameA( return GetTempFileNameA(
#endif #endif
lpPathName, lpPathName,
lpPrefixString, lpPrefixString,
uUnique, uUnique,
lpTempFileName lpTempFileName
); );
} }
#endif /* _M_CEE */ #endif /* _M_CEE */
WINBASEAPI WINBASEAPI
UINT UINT
WINAPI WINAPI
GetWindowsDirectoryA( GetWindowsDirectoryA(
__out_ecount_part_opt(uSize, return + 1) LPSTR lpBuffer, __out_ecount_part_opt(uSize, return + 1) LPSTR lpBuffer,
__in UINT uSize __in UINT uSize
); );
WINBASEAPI WINBASEAPI
UINT UINT
skipping to change at line 6859 skipping to change at line 8166
SetCurrentDirectory( SetCurrentDirectory(
LPCTSTR lpPathName LPCTSTR lpPathName
) )
{ {
#ifdef UNICODE #ifdef UNICODE
return SetCurrentDirectoryW( return SetCurrentDirectoryW(
#else #else
return SetCurrentDirectoryA( return SetCurrentDirectoryA(
#endif #endif
lpPathName lpPathName
); );
} }
#endif /* _M_CEE */ #endif /* _M_CEE */
WINBASEAPI WINBASEAPI
DWORD DWORD
WINAPI WINAPI
GetCurrentDirectoryA( GetCurrentDirectoryA(
__in DWORD nBufferLength, __in DWORD nBufferLength,
__out_ecount_part_opt(nBufferLength, return + 1) LPSTR lpBuffer __out_ecount_part_opt(nBufferLength, return + 1) LPSTR lpBuffer
); );
WINBASEAPI WINBASEAPI
DWORD DWORD
skipping to change at line 7010 skipping to change at line 8317
LPCTSTR lpPathName, LPCTSTR lpPathName,
LPSECURITY_ATTRIBUTES lpSecurityAttributes LPSECURITY_ATTRIBUTES lpSecurityAttributes
) )
{ {
#ifdef UNICODE #ifdef UNICODE
return CreateDirectoryW( return CreateDirectoryW(
#else #else
return CreateDirectoryA( return CreateDirectoryA(
#endif #endif
lpPathName, lpPathName,
lpSecurityAttributes lpSecurityAttributes
); );
} }
#endif /* _M_CEE */ #endif /* _M_CEE */
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
CreateDirectoryExA( CreateDirectoryExA(
__in LPCSTR lpTemplateDirectory, __in LPCSTR lpTemplateDirectory,
__in LPCSTR lpNewDirectory, __in LPCSTR lpNewDirectory,
__in_opt LPSECURITY_ATTRIBUTES lpSecurityAttributes __in_opt LPSECURITY_ATTRIBUTES lpSecurityAttributes
); );
WINBASEAPI WINBASEAPI
skipping to change at line 7037 skipping to change at line 8344
__in LPCWSTR lpTemplateDirectory, __in LPCWSTR lpTemplateDirectory,
__in LPCWSTR lpNewDirectory, __in LPCWSTR lpNewDirectory,
__in_opt LPSECURITY_ATTRIBUTES lpSecurityAttributes __in_opt LPSECURITY_ATTRIBUTES lpSecurityAttributes
); );
#ifdef UNICODE #ifdef UNICODE
#define CreateDirectoryEx CreateDirectoryExW #define CreateDirectoryEx CreateDirectoryExW
#else #else
#define CreateDirectoryEx CreateDirectoryExA #define CreateDirectoryEx CreateDirectoryExA
#endif // !UNICODE #endif // !UNICODE
#if _WIN32_WINNT >= 0x0600
WINBASEAPI
BOOL
WINAPI
CreateDirectoryTransactedA(
__in LPCSTR lpTemplateDirectory,
__in LPCSTR lpNewDirectory,
__in_opt LPSECURITY_ATTRIBUTES lpSecurityAttributes,
__in HANDLE hTransaction
);
WINBASEAPI
BOOL
WINAPI
CreateDirectoryTransactedW(
__in LPCWSTR lpTemplateDirectory,
__in LPCWSTR lpNewDirectory,
__in_opt LPSECURITY_ATTRIBUTES lpSecurityAttributes,
__in HANDLE hTransaction
);
#ifdef UNICODE
#define CreateDirectoryTransacted CreateDirectoryTransactedW
#else
#define CreateDirectoryTransacted CreateDirectoryTransactedA
#endif // !UNICODE
#endif // _WIN32_WINNT >= 0x0600
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
RemoveDirectoryA( RemoveDirectoryA(
__in LPCSTR lpPathName __in LPCSTR lpPathName
); );
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
RemoveDirectoryW( RemoveDirectoryW(
__in LPCWSTR lpPathName __in LPCWSTR lpPathName
); );
#ifdef UNICODE #ifdef UNICODE
#define RemoveDirectory RemoveDirectoryW #define RemoveDirectory RemoveDirectoryW
#else #else
#define RemoveDirectory RemoveDirectoryA #define RemoveDirectory RemoveDirectoryA
#endif // !UNICODE #endif // !UNICODE
#if _WIN32_WINNT >= 0x0600
WINBASEAPI
BOOL
WINAPI
RemoveDirectoryTransactedA(
__in LPCSTR lpPathName,
__in HANDLE hTransaction
);
WINBASEAPI
BOOL
WINAPI
RemoveDirectoryTransactedW(
__in LPCWSTR lpPathName,
__in HANDLE hTransaction
);
#ifdef UNICODE
#define RemoveDirectoryTransacted RemoveDirectoryTransactedW
#else
#define RemoveDirectoryTransacted RemoveDirectoryTransactedA
#endif // !UNICODE
#endif // _WIN32_WINNT >= 0x0600
WINBASEAPI WINBASEAPI
DWORD DWORD
WINAPI WINAPI
GetFullPathNameA( GetFullPathNameA(
__in LPCSTR lpFileName, __in LPCSTR lpFileName,
__in DWORD nBufferLength, __in DWORD nBufferLength,
__out_ecount_part_opt(nBufferLength, return + 1) LPSTR lpBuffer, __out_ecount_part_opt(nBufferLength, return + 1) LPSTR lpBuffer,
__deref_opt_out LPSTR *lpFilePart __deref_opt_out LPSTR *lpFilePart
); );
WINBASEAPI WINBASEAPI
skipping to change at line 7078 skipping to change at line 8437
__in LPCWSTR lpFileName, __in LPCWSTR lpFileName,
__in DWORD nBufferLength, __in DWORD nBufferLength,
__out_ecount_part_opt(nBufferLength, return + 1) LPWSTR lpBuffer, __out_ecount_part_opt(nBufferLength, return + 1) LPWSTR lpBuffer,
__deref_opt_out LPWSTR *lpFilePart __deref_opt_out LPWSTR *lpFilePart
); );
#ifdef UNICODE #ifdef UNICODE
#define GetFullPathName GetFullPathNameW #define GetFullPathName GetFullPathNameW
#else #else
#define GetFullPathName GetFullPathNameA #define GetFullPathName GetFullPathNameA
#endif // !UNICODE #endif // !UNICODE
#if _WIN32_WINNT >= 0x0600
WINBASEAPI
DWORD
WINAPI
GetFullPathNameTransactedA(
__in LPCSTR lpFileName,
__in DWORD nBufferLength,
__out_ecount_part_opt(nBufferLength, return + 1) LPSTR lpBuffer,
__deref_opt_out LPSTR *lpFilePart,
__in HANDLE hTransaction
);
WINBASEAPI
DWORD
WINAPI
GetFullPathNameTransactedW(
__in LPCWSTR lpFileName,
__in DWORD nBufferLength,
__out_ecount_part_opt(nBufferLength, return + 1) LPWSTR lpBuffer,
__deref_opt_out LPWSTR *lpFilePart,
__in HANDLE hTransaction
);
#ifdef UNICODE
#define GetFullPathNameTransacted GetFullPathNameTransactedW
#else
#define GetFullPathNameTransacted GetFullPathNameTransactedA
#endif // !UNICODE
#endif // _WIN32_WINNT >= 0x0600
#define DDD_RAW_TARGET_PATH 0x00000001 #define DDD_RAW_TARGET_PATH 0x00000001
#define DDD_REMOVE_DEFINITION 0x00000002 #define DDD_REMOVE_DEFINITION 0x00000002
#define DDD_EXACT_MATCH_ON_REMOVE 0x00000004 #define DDD_EXACT_MATCH_ON_REMOVE 0x00000004
#define DDD_NO_BROADCAST_SYSTEM 0x00000008 #define DDD_NO_BROADCAST_SYSTEM 0x00000008
#define DDD_LUID_BROADCAST_DRIVE 0x00000010 #define DDD_LUID_BROADCAST_DRIVE 0x00000010
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
skipping to change at line 7163 skipping to change at line 8551
__in DWORD dwCreationDisposition, __in DWORD dwCreationDisposition,
__in DWORD dwFlagsAndAttributes, __in DWORD dwFlagsAndAttributes,
__in_opt HANDLE hTemplateFile __in_opt HANDLE hTemplateFile
); );
#ifdef UNICODE #ifdef UNICODE
#define CreateFile CreateFileW #define CreateFile CreateFileW
#else #else
#define CreateFile CreateFileA #define CreateFile CreateFileA
#endif // !UNICODE #endif // !UNICODE
#if _WIN32_WINNT >= 0x0600
WINBASEAPI
__out
HANDLE
WINAPI
CreateFileTransactedA(
__in LPCSTR lpFileName,
__in DWORD dwDesiredAccess,
__in DWORD dwShareMode,
__in_opt LPSECURITY_ATTRIBUTES lpSecurityAttributes,
__in DWORD dwCreationDisposition,
__in DWORD dwFlagsAndAttributes,
__in_opt HANDLE hTemplateFile,
__in HANDLE hTransaction,
__in_opt PUSHORT pusMiniVersion,
__reserved PVOID lpExtendedParameter
);
WINBASEAPI
__out
HANDLE
WINAPI
CreateFileTransactedW(
__in LPCWSTR lpFileName,
__in DWORD dwDesiredAccess,
__in DWORD dwShareMode,
__in_opt LPSECURITY_ATTRIBUTES lpSecurityAttributes,
__in DWORD dwCreationDisposition,
__in DWORD dwFlagsAndAttributes,
__in_opt HANDLE hTemplateFile,
__in HANDLE hTransaction,
__in_opt PUSHORT pusMiniVersion,
__reserved PVOID lpExtendedParameter
);
#ifdef UNICODE
#define CreateFileTransacted CreateFileTransactedW
#else
#define CreateFileTransacted CreateFileTransactedA
#endif // !UNICODE
#endif // _WIN32_WINNT >= 0x0600
#if _WIN32_WINNT >= 0x0502 #if _WIN32_WINNT >= 0x0502
WINBASEAPI WINBASEAPI
__out __out
HANDLE HANDLE
WINAPI WINAPI
ReOpenFile( ReOpenFile(
__in HANDLE hOriginalFile, __in HANDLE hOriginalFile,
__in DWORD dwDesiredAccess, __in DWORD dwDesiredAccess,
__in DWORD dwShareMode, __in DWORD dwShareMode,
skipping to change at line 7216 skipping to change at line 8646
WINAPI WINAPI
GetFileAttributesW( GetFileAttributesW(
__in LPCWSTR lpFileName __in LPCWSTR lpFileName
); );
#ifdef UNICODE #ifdef UNICODE
#define GetFileAttributes GetFileAttributesW #define GetFileAttributes GetFileAttributesW
#else #else
#define GetFileAttributes GetFileAttributesA #define GetFileAttributes GetFileAttributesA
#endif // !UNICODE #endif // !UNICODE
#if _WIN32_WINNT >= 0x0600
WINBASEAPI
BOOL
WINAPI
SetFileAttributesTransactedA(
__in LPCSTR lpFileName,
__in DWORD dwFileAttributes,
__in HANDLE hTransaction
);
WINBASEAPI
BOOL
WINAPI
SetFileAttributesTransactedW(
__in LPCWSTR lpFileName,
__in DWORD dwFileAttributes,
__in HANDLE hTransaction
);
#ifdef UNICODE
#define SetFileAttributesTransacted SetFileAttributesTransactedW
#else
#define SetFileAttributesTransacted SetFileAttributesTransactedA
#endif // !UNICODE
#endif // _WIN32_WINNT >= 0x0600
typedef enum _GET_FILEEX_INFO_LEVELS { typedef enum _GET_FILEEX_INFO_LEVELS {
GetFileExInfoStandard, GetFileExInfoStandard,
GetFileExMaxInfoLevel GetFileExMaxInfoLevel
} GET_FILEEX_INFO_LEVELS; } GET_FILEEX_INFO_LEVELS;
#if _WIN32_WINNT >= 0x0600
WINBASEAPI
BOOL
WINAPI
GetFileAttributesTransactedA(
__in LPCSTR lpFileName,
__in GET_FILEEX_INFO_LEVELS fInfoLevelId,
__out LPVOID lpFileInformation,
__in HANDLE hTransaction
);
WINBASEAPI
BOOL
WINAPI
GetFileAttributesTransactedW(
__in LPCWSTR lpFileName,
__in GET_FILEEX_INFO_LEVELS fInfoLevelId,
__out LPVOID lpFileInformation,
__in HANDLE hTransaction
);
#ifdef UNICODE
#define GetFileAttributesTransacted GetFileAttributesTransactedW
#else
#define GetFileAttributesTransacted GetFileAttributesTransactedA
#endif // !UNICODE
#endif // _WIN32_WINNT >= 0x0600
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
GetFileAttributesExA( GetFileAttributesExA(
__in LPCSTR lpFileName, __in LPCSTR lpFileName,
__in GET_FILEEX_INFO_LEVELS fInfoLevelId, __in GET_FILEEX_INFO_LEVELS fInfoLevelId,
__out LPVOID lpFileInformation __out LPVOID lpFileInformation
); );
WINBASEAPI WINBASEAPI
BOOL BOOL
skipping to change at line 7248 skipping to change at line 8732
#define GetFileAttributesEx GetFileAttributesExW #define GetFileAttributesEx GetFileAttributesExW
#else #else
#define GetFileAttributesEx GetFileAttributesExA #define GetFileAttributesEx GetFileAttributesExA
#endif // !UNICODE #endif // !UNICODE
WINBASEAPI WINBASEAPI
DWORD DWORD
WINAPI WINAPI
GetCompressedFileSizeA( GetCompressedFileSizeA(
__in LPCSTR lpFileName, __in LPCSTR lpFileName,
__out LPDWORD lpFileSizeHigh __out_opt LPDWORD lpFileSizeHigh
); );
WINBASEAPI WINBASEAPI
DWORD DWORD
WINAPI WINAPI
GetCompressedFileSizeW( GetCompressedFileSizeW(
__in LPCWSTR lpFileName, __in LPCWSTR lpFileName,
__out LPDWORD lpFileSizeHigh __out_opt LPDWORD lpFileSizeHigh
); );
#ifdef UNICODE #ifdef UNICODE
#define GetCompressedFileSize GetCompressedFileSizeW #define GetCompressedFileSize GetCompressedFileSizeW
#else #else
#define GetCompressedFileSize GetCompressedFileSizeA #define GetCompressedFileSize GetCompressedFileSizeA
#endif // !UNICODE #endif // !UNICODE
#if _WIN32_WINNT >= 0x0600
WINBASEAPI
DWORD
WINAPI
GetCompressedFileSizeTransactedA(
__in LPCSTR lpFileName,
__out_opt LPDWORD lpFileSizeHigh,
__in HANDLE hTransaction
);
WINBASEAPI
DWORD
WINAPI
GetCompressedFileSizeTransactedW(
__in LPCWSTR lpFileName,
__out_opt LPDWORD lpFileSizeHigh,
__in HANDLE hTransaction
);
#ifdef UNICODE
#define GetCompressedFileSizeTransacted GetCompressedFileSizeTransactedW
#else
#define GetCompressedFileSizeTransacted GetCompressedFileSizeTransactedA
#endif // !UNICODE
#endif // _WIN32_WINNT >= 0x0600
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
DeleteFileA( DeleteFileA(
__in LPCSTR lpFileName __in LPCSTR lpFileName
); );
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
DeleteFileW( DeleteFileW(
__in LPCWSTR lpFileName __in LPCWSTR lpFileName
); );
#ifdef UNICODE #ifdef UNICODE
#define DeleteFile DeleteFileW #define DeleteFile DeleteFileW
#else #else
#define DeleteFile DeleteFileA #define DeleteFile DeleteFileA
#endif // !UNICODE #endif // !UNICODE
#if _WIN32_WINNT >= 0x0600
WINBASEAPI
BOOL
WINAPI
DeleteFileTransactedA(
__in LPCSTR lpFileName,
__in HANDLE hTransaction
);
WINBASEAPI
BOOL
WINAPI
DeleteFileTransactedW(
__in LPCWSTR lpFileName,
__in HANDLE hTransaction
);
#ifdef UNICODE
#define DeleteFileTransacted DeleteFileTransactedW
#else
#define DeleteFileTransacted DeleteFileTransactedA
#endif // !UNICODE
#endif // _WIN32_WINNT >= 0x0600
#if defined(_M_CEE) #if defined(_M_CEE)
#undef DeleteFile #undef DeleteFile
__inline __inline
BOOL BOOL
DeleteFile( DeleteFile(
LPCTSTR lpFileName LPCTSTR lpFileName
) )
{ {
#ifdef UNICODE #ifdef UNICODE
return DeleteFileW( return DeleteFileW(
#else #else
return DeleteFileA( return DeleteFileA(
#endif #endif
lpFileName lpFileName
); );
} }
#endif /* _M_CEE */ #endif /* _M_CEE */
#if _WIN32_WINNT >= 0x0501 #if _WIN32_WINNT >= 0x0501
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
CheckNameLegalDOS8Dot3A( CheckNameLegalDOS8Dot3A(
__in LPCSTR lpName, __in LPCSTR lpName,
__out_ecount_opt(OemNameSize) LPSTR lpOemName, __out_ecount_opt(OemNameSize) LPSTR lpOemName,
__in DWORD OemNameSize, __in DWORD OemNameSize,
skipping to change at line 7373 skipping to change at line 8907
__out LPVOID lpFindFileData, __out LPVOID lpFindFileData,
__in FINDEX_SEARCH_OPS fSearchOp, __in FINDEX_SEARCH_OPS fSearchOp,
__reserved LPVOID lpSearchFilter, __reserved LPVOID lpSearchFilter,
__in DWORD dwAdditionalFlags __in DWORD dwAdditionalFlags
); );
#ifdef UNICODE #ifdef UNICODE
#define FindFirstFileEx FindFirstFileExW #define FindFirstFileEx FindFirstFileExW
#else #else
#define FindFirstFileEx FindFirstFileExA #define FindFirstFileEx FindFirstFileExA
#endif // !UNICODE #endif // !UNICODE
#if _WIN32_WINNT >= 0x0600
WINBASEAPI
__out
HANDLE
WINAPI
FindFirstFileTransactedA(
__in LPCSTR lpFileName,
__in FINDEX_INFO_LEVELS fInfoLevelId,
__out LPVOID lpFindFileData,
__in FINDEX_SEARCH_OPS fSearchOp,
__reserved LPVOID lpSearchFilter,
__in DWORD dwAdditionalFlags,
__in HANDLE hTransaction
);
WINBASEAPI
__out
HANDLE
WINAPI
FindFirstFileTransactedW(
__in LPCWSTR lpFileName,
__in FINDEX_INFO_LEVELS fInfoLevelId,
__out LPVOID lpFindFileData,
__in FINDEX_SEARCH_OPS fSearchOp,
__reserved LPVOID lpSearchFilter,
__in DWORD dwAdditionalFlags,
__in HANDLE hTransaction
);
#ifdef UNICODE
#define FindFirstFileTransacted FindFirstFileTransactedW
#else
#define FindFirstFileTransacted FindFirstFileTransactedA
#endif // !UNICODE
#endif
#endif /* _WIN32_WINNT >= 0x0400 */ #endif /* _WIN32_WINNT >= 0x0400 */
WINBASEAPI WINBASEAPI
__out __out
HANDLE HANDLE
WINAPI WINAPI
FindFirstFileA( FindFirstFileA(
__in LPCSTR lpFileName, __in LPCSTR lpFileName,
__out LPWIN32_FIND_DATAA lpFindFileData __out LPWIN32_FIND_DATAA lpFindFileData
); );
skipping to change at line 7487 skipping to change at line 9058
#ifdef UNICODE #ifdef UNICODE
return CopyFileW( return CopyFileW(
#else #else
return CopyFileA( return CopyFileA(
#endif #endif
lpExistingFileName, lpExistingFileName,
lpNewFileName, lpNewFileName,
bFailIfExists bFailIfExists
); );
} }
#endif /* _M_CEE */ #endif /* _M_CEE */
#if(_WIN32_WINNT >= 0x0400) #if(_WIN32_WINNT >= 0x0400)
typedef typedef
DWORD DWORD
(WINAPI *LPPROGRESS_ROUTINE)( (WINAPI *LPPROGRESS_ROUTINE)(
__in LARGE_INTEGER TotalFileSize, __in LARGE_INTEGER TotalFileSize,
__in LARGE_INTEGER TotalBytesTransferred, __in LARGE_INTEGER TotalBytesTransferred,
__in LARGE_INTEGER StreamSize, __in LARGE_INTEGER StreamSize,
__in LARGE_INTEGER StreamBytesTransferred, __in LARGE_INTEGER StreamBytesTransferred,
__in DWORD dwStreamNumber, __in DWORD dwStreamNumber,
skipping to change at line 7531 skipping to change at line 9102
__in_opt LPPROGRESS_ROUTINE lpProgressRoutine, __in_opt LPPROGRESS_ROUTINE lpProgressRoutine,
__in_opt LPVOID lpData, __in_opt LPVOID lpData,
__in_opt LPBOOL pbCancel, __in_opt LPBOOL pbCancel,
__in DWORD dwCopyFlags __in DWORD dwCopyFlags
); );
#ifdef UNICODE #ifdef UNICODE
#define CopyFileEx CopyFileExW #define CopyFileEx CopyFileExW
#else #else
#define CopyFileEx CopyFileExA #define CopyFileEx CopyFileExA
#endif // !UNICODE #endif // !UNICODE
#if _WIN32_WINNT >= 0x0600
WINBASEAPI
BOOL
WINAPI
CopyFileTransactedA(
__in LPCSTR lpExistingFileName,
__in LPCSTR lpNewFileName,
__in_opt LPPROGRESS_ROUTINE lpProgressRoutine,
__in_opt LPVOID lpData,
__in_opt LPBOOL pbCancel,
__in DWORD dwCopyFlags,
__in HANDLE hTransaction
);
WINBASEAPI
BOOL
WINAPI
CopyFileTransactedW(
__in LPCWSTR lpExistingFileName,
__in LPCWSTR lpNewFileName,
__in_opt LPPROGRESS_ROUTINE lpProgressRoutine,
__in_opt LPVOID lpData,
__in_opt LPBOOL pbCancel,
__in DWORD dwCopyFlags,
__in HANDLE hTransaction
);
#ifdef UNICODE
#define CopyFileTransacted CopyFileTransactedW
#else
#define CopyFileTransacted CopyFileTransactedA
#endif // !UNICODE
#endif // _WIN32_WINNT >= 0x0600
#endif /* _WIN32_WINNT >= 0x0400 */ #endif /* _WIN32_WINNT >= 0x0400 */
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
MoveFileA( MoveFileA(
__in LPCSTR lpExistingFileName, __in LPCSTR lpExistingFileName,
__in LPCSTR lpNewFileName __in LPCSTR lpNewFileName
); );
WINBASEAPI WINBASEAPI
skipping to change at line 7571 skipping to change at line 9176
{ {
#ifdef UNICODE #ifdef UNICODE
return MoveFileW( return MoveFileW(
#else #else
return MoveFileA( return MoveFileA(
#endif #endif
lpExistingFileName, lpExistingFileName,
lpNewFileName lpNewFileName
); );
} }
#endif /* _M_CEE */ #endif /* _M_CEE */
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
MoveFileExA( MoveFileExA(
__in LPCSTR lpExistingFileName, __in LPCSTR lpExistingFileName,
__in LPCSTR lpNewFileName, __in_opt LPCSTR lpNewFileName,
__in DWORD dwFlags __in DWORD dwFlags
); );
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
MoveFileExW( MoveFileExW(
__in LPCWSTR lpExistingFileName, __in LPCWSTR lpExistingFileName,
__in LPCWSTR lpNewFileName, __in_opt LPCWSTR lpNewFileName,
__in DWORD dwFlags __in DWORD dwFlags
); );
#ifdef UNICODE #ifdef UNICODE
#define MoveFileEx MoveFileExW #define MoveFileEx MoveFileExW
#else #else
#define MoveFileEx MoveFileExA #define MoveFileEx MoveFileExA
#endif // !UNICODE #endif // !UNICODE
#if (_WIN32_WINNT >= 0x0500) #if (_WIN32_WINNT >= 0x0500)
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
MoveFileWithProgressA( MoveFileWithProgressA(
__in LPCSTR lpExistingFileName, __in LPCSTR lpExistingFileName,
__in LPCSTR lpNewFileName, __in_opt LPCSTR lpNewFileName,
__in_opt LPPROGRESS_ROUTINE lpProgressRoutine, __in_opt LPPROGRESS_ROUTINE lpProgressRoutine,
__in_opt LPVOID lpData, __in_opt LPVOID lpData,
__in DWORD dwFlags __in DWORD dwFlags
); );
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
MoveFileWithProgressW( MoveFileWithProgressW(
__in LPCWSTR lpExistingFileName, __in LPCWSTR lpExistingFileName,
__in LPCWSTR lpNewFileName, __in_opt LPCWSTR lpNewFileName,
__in_opt LPPROGRESS_ROUTINE lpProgressRoutine, __in_opt LPPROGRESS_ROUTINE lpProgressRoutine,
__in_opt LPVOID lpData, __in_opt LPVOID lpData,
__in DWORD dwFlags __in DWORD dwFlags
); );
#ifdef UNICODE #ifdef UNICODE
#define MoveFileWithProgress MoveFileWithProgressW #define MoveFileWithProgress MoveFileWithProgressW
#else #else
#define MoveFileWithProgress MoveFileWithProgressA #define MoveFileWithProgress MoveFileWithProgressA
#endif // !UNICODE #endif // !UNICODE
#endif // (_WIN32_WINNT >= 0x0500) #endif // (_WIN32_WINNT >= 0x0500)
#if (_WIN32_WINNT >= 0x0600)
WINBASEAPI
BOOL
WINAPI
MoveFileTransactedA(
__in LPCSTR lpExistingFileName,
__in_opt LPCSTR lpNewFileName,
__in_opt LPPROGRESS_ROUTINE lpProgressRoutine,
__in_opt LPVOID lpData,
__in DWORD dwFlags,
__in HANDLE hTransaction
);
WINBASEAPI
BOOL
WINAPI
MoveFileTransactedW(
__in LPCWSTR lpExistingFileName,
__in_opt LPCWSTR lpNewFileName,
__in_opt LPPROGRESS_ROUTINE lpProgressRoutine,
__in_opt LPVOID lpData,
__in DWORD dwFlags,
__in HANDLE hTransaction
);
#ifdef UNICODE
#define MoveFileTransacted MoveFileTransactedW
#else
#define MoveFileTransacted MoveFileTransactedA
#endif // !UNICODE
#endif // (_WIN32_WINNT >= 0x0600)
#define MOVEFILE_REPLACE_EXISTING 0x00000001 #define MOVEFILE_REPLACE_EXISTING 0x00000001
#define MOVEFILE_COPY_ALLOWED 0x00000002 #define MOVEFILE_COPY_ALLOWED 0x00000002
#define MOVEFILE_DELAY_UNTIL_REBOOT 0x00000004 #define MOVEFILE_DELAY_UNTIL_REBOOT 0x00000004
#define MOVEFILE_WRITE_THROUGH 0x00000008 #define MOVEFILE_WRITE_THROUGH 0x00000008
#if (_WIN32_WINNT >= 0x0500) #if (_WIN32_WINNT >= 0x0500)
#define MOVEFILE_CREATE_HARDLINK 0x00000010 #define MOVEFILE_CREATE_HARDLINK 0x00000010
#define MOVEFILE_FAIL_IF_NOT_TRACKABLE 0x00000020 #define MOVEFILE_FAIL_IF_NOT_TRACKABLE 0x00000020
#endif // (_WIN32_WINNT >= 0x0500) #endif // (_WIN32_WINNT >= 0x0500)
#if (_WIN32_WINNT >= 0x0500) #if (_WIN32_WINNT >= 0x0500)
skipping to change at line 7691 skipping to change at line 9326
__reserved LPSECURITY_ATTRIBUTES lpSecurityAttributes __reserved LPSECURITY_ATTRIBUTES lpSecurityAttributes
); );
#ifdef UNICODE #ifdef UNICODE
#define CreateHardLink CreateHardLinkW #define CreateHardLink CreateHardLinkW
#else #else
#define CreateHardLink CreateHardLinkA #define CreateHardLink CreateHardLinkA
#endif // !UNICODE #endif // !UNICODE
#endif // (_WIN32_WINNT >= 0x0500) #endif // (_WIN32_WINNT >= 0x0500)
#if (_WIN32_WINNT >= 0x0600)
//
// API call to create hard links.
//
WINBASEAPI
BOOL
WINAPI
CreateHardLinkTransactedA(
__in LPCSTR lpFileName,
__in LPCSTR lpExistingFileName,
__reserved LPSECURITY_ATTRIBUTES lpSecurityAttributes,
__in HANDLE hTransaction
);
WINBASEAPI
BOOL
WINAPI
CreateHardLinkTransactedW(
__in LPCWSTR lpFileName,
__in LPCWSTR lpExistingFileName,
__reserved LPSECURITY_ATTRIBUTES lpSecurityAttributes,
__in HANDLE hTransaction
);
#ifdef UNICODE
#define CreateHardLinkTransacted CreateHardLinkTransactedW
#else
#define CreateHardLinkTransacted CreateHardLinkTransactedA
#endif // !UNICODE
#endif // (_WIN32_WINNT >= 0x0600)
#if (_WIN32_WINNT >= 0x0501) #if (_WIN32_WINNT >= 0x0501)
// //
// API call to enumerate for streams within a file // API call to enumerate for streams within a file
// //
typedef enum _STREAM_INFO_LEVELS { typedef enum _STREAM_INFO_LEVELS {
FindStreamInfoStandard, FindStreamInfoStandard,
FindStreamInfoMaxInfoLevel FindStreamInfoMaxInfoLevel
skipping to change at line 7727 skipping to change at line 9393
__out LPVOID lpFindStreamData, __out LPVOID lpFindStreamData,
__reserved DWORD dwFlags __reserved DWORD dwFlags
); );
BOOL BOOL
APIENTRY APIENTRY
FindNextStreamW( FindNextStreamW(
__in HANDLE hFindStream, __in HANDLE hFindStream,
__out LPVOID lpFindStreamData __out LPVOID lpFindStreamData
); );
#endif // (_WIN32_WINNT >= 0x0501)
#endif // (_WIN32_WINNT >= 0x0500) #if _WIN32_WINNT >= 0x0600
HANDLE
WINAPI
FindFirstFileNameW (
__in LPCWSTR lpFileName,
__in DWORD dwFlags,
__inout LPDWORD StringLength,
__inout_ecount(*StringLength) PWCHAR LinkName
);
BOOL
APIENTRY
FindNextFileNameW (
__in HANDLE hFindStream,
__inout LPDWORD StringLength,
__inout_ecount(*StringLength) PWCHAR LinkName
);
HANDLE
WINAPI
FindFirstFileNameTransactedW (
__in LPCWSTR lpFileName,
__in DWORD dwFlags,
__inout LPDWORD StringLength,
__inout_ecount(*StringLength) PWCHAR LinkName,
__in_opt HANDLE hTransaction
);
#endif
WINBASEAPI WINBASEAPI
__out __out
HANDLE HANDLE
WINAPI WINAPI
CreateNamedPipeA( CreateNamedPipeA(
__in LPCSTR lpName, __in LPCSTR lpName,
__in DWORD dwOpenMode, __in DWORD dwOpenMode,
__in DWORD dwPipeMode, __in DWORD dwPipeMode,
__in DWORD nMaxInstances, __in DWORD nMaxInstances,
skipping to change at line 7844 skipping to change at line 9540
WaitNamedPipeW( WaitNamedPipeW(
__in LPCWSTR lpNamedPipeName, __in LPCWSTR lpNamedPipeName,
__in DWORD nTimeOut __in DWORD nTimeOut
); );
#ifdef UNICODE #ifdef UNICODE
#define WaitNamedPipe WaitNamedPipeW #define WaitNamedPipe WaitNamedPipeW
#else #else
#define WaitNamedPipe WaitNamedPipeA #define WaitNamedPipe WaitNamedPipeA
#endif // !UNICODE #endif // !UNICODE
typedef enum {
PipeAttribute,
PipeConnectionAttribute,
PipeHandleAttribute
} PIPE_ATTRIBUTE_TYPE;
WINBASEAPI
BOOL
WINAPI
GetNamedPipeAttribute(
__in HANDLE Pipe,
__in PIPE_ATTRIBUTE_TYPE AttributeType,
__in PSTR AttributeName,
__out_bcount(*AttributeValueLength) PVOID AttributeValue,
__inout PSIZE_T AttributeValueLength
);
WINBASEAPI
BOOL
WINAPI
SetNamedPipeAttribute(
__in HANDLE Pipe,
__in PIPE_ATTRIBUTE_TYPE AttributeType,
__in PSTR AttributeName,
__in PVOID AttributeValue,
__in SIZE_T AttributeValueLength
);
WINBASEAPI
BOOL
WINAPI
GetNamedPipeClientComputerNameA(
__in HANDLE Pipe,
__out_bcount(ClientComputerNameLength) LPSTR ClientComputerName,
__in ULONG ClientComputerNameLength
);
WINBASEAPI
BOOL
WINAPI
GetNamedPipeClientComputerNameW(
__in HANDLE Pipe,
__out_bcount(ClientComputerNameLength) LPWSTR ClientComputerName,
__in ULONG ClientComputerNameLength
);
#ifdef UNICODE
#define GetNamedPipeClientComputerName GetNamedPipeClientComputerNameW
#else
#define GetNamedPipeClientComputerName GetNamedPipeClientComputerNameA
#endif // !UNICODE
WINBASEAPI
BOOL
WINAPI
GetNamedPipeClientProcessId(
__in HANDLE Pipe,
__out PULONG ClientProcessId
);
WINBASEAPI
BOOL
WINAPI
GetNamedPipeClientSessionId(
__in HANDLE Pipe,
__out PULONG ClientSessionId
);
WINBASEAPI
BOOL
WINAPI
GetNamedPipeServerProcessId(
__in HANDLE Pipe,
__out PULONG ServerProcessId
);
WINBASEAPI
BOOL
WINAPI
GetNamedPipeServerSessionId(
__in HANDLE Pipe,
__out PULONG ServerSessionId
);
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
SetVolumeLabelA( SetVolumeLabelA(
__in_opt LPCSTR lpRootPathName, __in_opt LPCSTR lpRootPathName,
__in_opt LPCSTR lpVolumeName __in_opt LPCSTR lpVolumeName
); );
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
skipping to change at line 7911 skipping to change at line 9689
__out_opt LPDWORD lpFileSystemFlags, __out_opt LPDWORD lpFileSystemFlags,
__out_ecount_opt(nFileSystemNameSize) LPWSTR lpFileSystemNameBuffer, __out_ecount_opt(nFileSystemNameSize) LPWSTR lpFileSystemNameBuffer,
__in DWORD nFileSystemNameSize __in DWORD nFileSystemNameSize
); );
#ifdef UNICODE #ifdef UNICODE
#define GetVolumeInformation GetVolumeInformationW #define GetVolumeInformation GetVolumeInformationW
#else #else
#define GetVolumeInformation GetVolumeInformationA #define GetVolumeInformation GetVolumeInformationA
#endif // !UNICODE #endif // !UNICODE
#if(_WIN32_WINNT >= 0x0600)
WINBASEAPI
BOOL
WINAPI
GetVolumeInformationByHandleW(
__in HANDLE hFile,
__out_ecount_opt(nVolumeNameSize) LPWSTR lpVolumeNameBuffer,
__in DWORD nVolumeNameSize,
__out_opt LPDWORD lpVolumeSerialNumber,
__out_opt LPDWORD lpMaximumComponentLength,
__out_opt LPDWORD lpFileSystemFlags,
__out_ecount_opt(nFileSystemNameSize) LPWSTR lpFileSystemNameBuffer,
__in DWORD nFileSystemNameSize
);
#endif /* _WIN32_WINNT >= 0x0600 */
WINBASEAPI
BOOL
WINAPI
CancelSynchronousIo(
__in HANDLE hThread
);
WINBASEAPI
BOOL
WINAPI
CancelIoEx(
__in HANDLE hFile,
__in_opt LPOVERLAPPED lpOverlapped
);
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
CancelIo( CancelIo(
__in HANDLE hFile __in HANDLE hFile
); );
WINBASEAPI
BOOL
WINAPI
SetFileBandwidthReservation(
__in HANDLE hFile,
__in DWORD nPeriodMilliseconds,
__in DWORD nBytesPerPeriod,
__in BOOL bDiscardable,
__out LPDWORD lpTransferSize,
__out LPDWORD lpNumOutstandingRequests
);
WINBASEAPI
BOOL
WINAPI
GetFileBandwidthReservation(
__in HANDLE hFile,
__out LPDWORD lpPeriodMilliseconds,
__out LPDWORD lpBytesPerPeriod,
__out LPBOOL pDiscardable,
__out LPDWORD lpTransferSize,
__out LPDWORD lpNumOutstandingRequests
);
// //
// Event logging APIs // Event logging APIs
// //
WINADVAPI WINADVAPI
BOOL BOOL
WINAPI WINAPI
ClearEventLogA ( ClearEventLogA (
__in HANDLE hEventLog, __in HANDLE hEventLog,
__in_opt LPCSTR lpBackupFileName __in_opt LPCSTR lpBackupFileName
skipping to change at line 8107 skipping to change at line 9940
BOOL BOOL
WINAPI WINAPI
ReportEventA ( ReportEventA (
__in HANDLE hEventLog, __in HANDLE hEventLog,
__in WORD wType, __in WORD wType,
__in WORD wCategory, __in WORD wCategory,
__in DWORD dwEventID, __in DWORD dwEventID,
__in_opt PSID lpUserSid, __in_opt PSID lpUserSid,
__in WORD wNumStrings, __in WORD wNumStrings,
__in DWORD dwDataSize, __in DWORD dwDataSize,
__in_opt LPCSTR *lpStrings, __in_ecount_opt(wNumStrings) LPCSTR *lpStrings,
__in_bcount_opt(dwDataSize) LPVOID lpRawData __in_bcount_opt(dwDataSize) LPVOID lpRawData
); );
WINADVAPI WINADVAPI
BOOL BOOL
WINAPI WINAPI
ReportEventW ( ReportEventW (
__in HANDLE hEventLog, __in HANDLE hEventLog,
__in WORD wType, __in WORD wType,
__in WORD wCategory, __in WORD wCategory,
__in DWORD dwEventID, __in DWORD dwEventID,
__in_opt PSID lpUserSid, __in_opt PSID lpUserSid,
__in WORD wNumStrings, __in WORD wNumStrings,
__in DWORD dwDataSize, __in DWORD dwDataSize,
__in_opt LPCWSTR *lpStrings, __in_ecount_opt(wNumStrings) LPCWSTR *lpStrings,
__in_bcount_opt(dwDataSize) LPVOID lpRawData __in_bcount_opt(dwDataSize) LPVOID lpRawData
); );
#ifdef UNICODE #ifdef UNICODE
#define ReportEvent ReportEventW #define ReportEvent ReportEventW
#else #else
#define ReportEvent ReportEventA #define ReportEvent ReportEventA
#endif // !UNICODE #endif // !UNICODE
#define EVENTLOG_FULL_INFO 0 #define EVENTLOG_FULL_INFO 0
skipping to change at line 8169 skipping to change at line 10002
__in SECURITY_IMPERSONATION_LEVEL ImpersonationLevel, __in SECURITY_IMPERSONATION_LEVEL ImpersonationLevel,
__deref_out PHANDLE DuplicateTokenHandle __deref_out PHANDLE DuplicateTokenHandle
); );
WINADVAPI WINADVAPI
BOOL BOOL
WINAPI WINAPI
GetKernelObjectSecurity ( GetKernelObjectSecurity (
__in HANDLE Handle, __in HANDLE Handle,
__in SECURITY_INFORMATION RequestedInformation, __in SECURITY_INFORMATION RequestedInformation,
__out_bcount(nLength) PSECURITY_DESCRIPTOR pSecurityDescriptor, __out_bcount_opt(nLength) PSECURITY_DESCRIPTOR pSecurityDescriptor,
__in DWORD nLength, __in DWORD nLength,
__out LPDWORD lpnLengthNeeded __out LPDWORD lpnLengthNeeded
); );
WINADVAPI WINADVAPI
BOOL BOOL
WINAPI WINAPI
ImpersonateNamedPipeClient( ImpersonateNamedPipeClient(
__in HANDLE hNamedPipe __in HANDLE hNamedPipe
); );
skipping to change at line 8211 skipping to change at line 10044
); );
WINADVAPI WINADVAPI
BOOL BOOL
WINAPI WINAPI
AccessCheck ( AccessCheck (
__in PSECURITY_DESCRIPTOR pSecurityDescriptor, __in PSECURITY_DESCRIPTOR pSecurityDescriptor,
__in HANDLE ClientToken, __in HANDLE ClientToken,
__in DWORD DesiredAccess, __in DWORD DesiredAccess,
__in PGENERIC_MAPPING GenericMapping, __in PGENERIC_MAPPING GenericMapping,
__out_bcount_part(*PrivilegeSetLength, *PrivilegeSetLength) PPRIVILEGE_SET P rivilegeSet, __out_bcount_part_opt(*PrivilegeSetLength, *PrivilegeSetLength) PPRIVILEGE_S ET PrivilegeSet,
__inout LPDWORD PrivilegeSetLength, __inout LPDWORD PrivilegeSetLength,
__out LPDWORD GrantedAccess, __out LPDWORD GrantedAccess,
__out LPBOOL AccessStatus __out LPBOOL AccessStatus
); );
#if(_WIN32_WINNT >= 0x0500) #if(_WIN32_WINNT >= 0x0500)
WINADVAPI WINADVAPI
BOOL BOOL
WINAPI WINAPI
AccessCheckByType ( AccessCheckByType (
__in PSECURITY_DESCRIPTOR pSecurityDescriptor, __in PSECURITY_DESCRIPTOR pSecurityDescriptor,
__in_opt PSID PrincipalSelfSid, __in_opt PSID PrincipalSelfSid,
__in HANDLE ClientToken, __in HANDLE ClientToken,
__in DWORD DesiredAccess, __in DWORD DesiredAccess,
__inout_ecount_opt(ObjectTypeListLength) POBJECT_TYPE_LIST ObjectTypeList, __inout_ecount_opt(ObjectTypeListLength) POBJECT_TYPE_LIST ObjectTypeList,
__in DWORD ObjectTypeListLength, __in DWORD ObjectTypeListLength,
__in PGENERIC_MAPPING GenericMapping, __in PGENERIC_MAPPING GenericMapping,
__out_bcount_part(*PrivilegeSetLength, *PrivilegeSetLength) PPRIVILEGE_SET P rivilegeSet, __out_bcount_part_opt(*PrivilegeSetLength, *PrivilegeSetLength) PPRIVILEGE_S ET PrivilegeSet,
__inout LPDWORD PrivilegeSetLength, __inout LPDWORD PrivilegeSetLength,
__out LPDWORD GrantedAccess, __out LPDWORD GrantedAccess,
__out LPBOOL AccessStatus __out LPBOOL AccessStatus
); );
WINADVAPI WINADVAPI
BOOL BOOL
WINAPI WINAPI
AccessCheckByTypeResultList ( AccessCheckByTypeResultList (
__in PSECURITY_DESCRIPTOR pSecurityDescriptor, __in PSECURITY_DESCRIPTOR pSecurityDescriptor,
__in_opt PSID PrincipalSelfSid, __in_opt PSID PrincipalSelfSid,
__in HANDLE ClientToken, __in HANDLE ClientToken,
__in DWORD DesiredAccess, __in DWORD DesiredAccess,
__inout_ecount_opt(ObjectTypeListLength) POBJECT_TYPE_LIST ObjectTypeList, __inout_ecount_opt(ObjectTypeListLength) POBJECT_TYPE_LIST ObjectTypeList,
__in DWORD ObjectTypeListLength, __in DWORD ObjectTypeListLength,
__in PGENERIC_MAPPING GenericMapping, __in PGENERIC_MAPPING GenericMapping,
__out_bcount_part(*PrivilegeSetLength, *PrivilegeSetLength) PPRIVILEGE_SET P rivilegeSet, __out_bcount_part_opt(*PrivilegeSetLength, *PrivilegeSetLength) PPRIVILEGE_S ET PrivilegeSet,
__inout LPDWORD PrivilegeSetLength, __inout LPDWORD PrivilegeSetLength,
__out LPDWORD GrantedAccessList, __out LPDWORD GrantedAccessList,
__out LPDWORD AccessStatusList __out LPDWORD AccessStatusList
); );
#endif /* _WIN32_WINNT >= 0x0500 */ #endif /* _WIN32_WINNT >= 0x0500 */
WINADVAPI WINADVAPI
BOOL BOOL
WINAPI WINAPI
OpenProcessToken ( OpenProcessToken (
skipping to change at line 8280 skipping to change at line 10113
); );
WINADVAPI WINADVAPI
BOOL BOOL
WINAPI WINAPI
GetTokenInformation ( GetTokenInformation (
__in HANDLE TokenHandle, __in HANDLE TokenHandle,
__in TOKEN_INFORMATION_CLASS TokenInformationClass, __in TOKEN_INFORMATION_CLASS TokenInformationClass,
__out_bcount_part_opt(TokenInformationLength, *ReturnLength) LPVOID TokenInf ormation, __out_bcount_part_opt(TokenInformationLength, *ReturnLength) LPVOID TokenInf ormation,
__in DWORD TokenInformationLength, __in DWORD TokenInformationLength,
__out_opt PDWORD ReturnLength __out PDWORD ReturnLength
); );
WINADVAPI WINADVAPI
BOOL BOOL
WINAPI WINAPI
SetTokenInformation ( SetTokenInformation (
__in HANDLE TokenHandle, __in HANDLE TokenHandle,
__in TOKEN_INFORMATION_CLASS TokenInformationClass, __in TOKEN_INFORMATION_CLASS TokenInformationClass,
__in_bcount(TokenInformationLength) LPVOID TokenInformation, __in_bcount(TokenInformationLength) LPVOID TokenInformation,
__in DWORD TokenInformationLength __in DWORD TokenInformationLength
skipping to change at line 8331 skipping to change at line 10164
__in HANDLE ClientToken, __in HANDLE ClientToken,
__inout PPRIVILEGE_SET RequiredPrivileges, __inout PPRIVILEGE_SET RequiredPrivileges,
__out LPBOOL pfResult __out LPBOOL pfResult
); );
WINADVAPI WINADVAPI
BOOL BOOL
WINAPI WINAPI
AccessCheckAndAuditAlarmA ( AccessCheckAndAuditAlarmA (
__in LPCSTR SubsystemName, __in LPCSTR SubsystemName,
__in LPVOID HandleId, __in_opt LPVOID HandleId,
__in LPSTR ObjectTypeName, __in LPSTR ObjectTypeName,
__in_opt LPSTR ObjectName, __in_opt LPSTR ObjectName,
__in PSECURITY_DESCRIPTOR SecurityDescriptor, __in PSECURITY_DESCRIPTOR SecurityDescriptor,
__in DWORD DesiredAccess, __in DWORD DesiredAccess,
__in PGENERIC_MAPPING GenericMapping, __in PGENERIC_MAPPING GenericMapping,
__in BOOL ObjectCreation, __in BOOL ObjectCreation,
__out LPDWORD GrantedAccess, __out LPDWORD GrantedAccess,
__out LPBOOL AccessStatus, __out LPBOOL AccessStatus,
__out LPBOOL pfGenerateOnClose __out LPBOOL pfGenerateOnClose
); );
WINADVAPI WINADVAPI
BOOL BOOL
WINAPI WINAPI
AccessCheckAndAuditAlarmW ( AccessCheckAndAuditAlarmW (
__in LPCWSTR SubsystemName, __in LPCWSTR SubsystemName,
__in LPVOID HandleId, __in_opt LPVOID HandleId,
__in LPWSTR ObjectTypeName, __in LPWSTR ObjectTypeName,
__in_opt LPWSTR ObjectName, __in_opt LPWSTR ObjectName,
__in PSECURITY_DESCRIPTOR SecurityDescriptor, __in PSECURITY_DESCRIPTOR SecurityDescriptor,
__in DWORD DesiredAccess, __in DWORD DesiredAccess,
__in PGENERIC_MAPPING GenericMapping, __in PGENERIC_MAPPING GenericMapping,
__in BOOL ObjectCreation, __in BOOL ObjectCreation,
__out LPDWORD GrantedAccess, __out LPDWORD GrantedAccess,
__out LPBOOL AccessStatus, __out LPBOOL AccessStatus,
__out LPBOOL pfGenerateOnClose __out LPBOOL pfGenerateOnClose
); );
skipping to change at line 8668 skipping to change at line 10501
__in PSID pSid, __in PSID pSid,
__in WELL_KNOWN_SID_TYPE WellKnownSidType __in WELL_KNOWN_SID_TYPE WellKnownSidType
); );
WINADVAPI WINADVAPI
BOOL BOOL
WINAPI WINAPI
CreateWellKnownSid( CreateWellKnownSid(
__in WELL_KNOWN_SID_TYPE WellKnownSidType, __in WELL_KNOWN_SID_TYPE WellKnownSidType,
__in_opt PSID DomainSid, __in_opt PSID DomainSid,
__out_bcount_part(*cbSid, *cbSid) PSID pSid, __out_bcount_part_opt(*cbSid, *cbSid) PSID pSid,
__inout DWORD *cbSid __inout DWORD *cbSid
); );
WINADVAPI WINADVAPI
BOOL BOOL
WINAPI WINAPI
EqualDomainSid( EqualDomainSid(
__in PSID pSid1, __in PSID pSid1,
__in PSID pSid2, __in PSID pSid2,
__out BOOL *pfEqual __out BOOL *pfEqual
skipping to change at line 8907 skipping to change at line 10740
WINAPI WINAPI
AddAccessAllowedAceEx ( AddAccessAllowedAceEx (
__inout PACL pAcl, __inout PACL pAcl,
__in DWORD dwAceRevision, __in DWORD dwAceRevision,
__in DWORD AceFlags, __in DWORD AceFlags,
__in DWORD AccessMask, __in DWORD AccessMask,
__in PSID pSid __in PSID pSid
); );
#endif /* _WIN32_WINNT >= 0x0500 */ #endif /* _WIN32_WINNT >= 0x0500 */
#if(_WIN32_WINNT >= 0x0600)
WINADVAPI
BOOL
WINAPI
AddMandatoryAce (
__inout PACL pAcl,
__in DWORD dwAceRevision,
__in DWORD AceFlags,
__in DWORD MandatoryPolicy,
__in PSID pLabelSid
);
#endif /* _WIN32_WINNT >= 0x0600 */
WINADVAPI WINADVAPI
BOOL BOOL
WINAPI WINAPI
AddAccessDeniedAce ( AddAccessDeniedAce (
__inout PACL pAcl, __inout PACL pAcl,
__in DWORD dwAceRevision, __in DWORD dwAceRevision,
__in DWORD AccessMask, __in DWORD AccessMask,
__in PSID pSid __in PSID pSid
); );
skipping to change at line 9022 skipping to change at line 10868
); );
WINADVAPI WINADVAPI
BOOL BOOL
WINAPI WINAPI
IsValidSecurityDescriptor ( IsValidSecurityDescriptor (
__in PSECURITY_DESCRIPTOR pSecurityDescriptor __in PSECURITY_DESCRIPTOR pSecurityDescriptor
); );
WINADVAPI WINADVAPI
BOOL
WINAPI
IsValidRelativeSecurityDescriptor (
__in PSECURITY_DESCRIPTOR pSecurityDescriptor,
__in ULONG SecurityDescriptorLength,
__in SECURITY_INFORMATION RequiredInformation
);
WINADVAPI
DWORD DWORD
WINAPI WINAPI
GetSecurityDescriptorLength ( GetSecurityDescriptorLength (
__in PSECURITY_DESCRIPTOR pSecurityDescriptor __in PSECURITY_DESCRIPTOR pSecurityDescriptor
); );
WINADVAPI WINADVAPI
BOOL BOOL
WINAPI WINAPI
GetSecurityDescriptorControl ( GetSecurityDescriptorControl (
skipping to change at line 9273 skipping to change at line 11128
WINADVAPI WINADVAPI
BOOL BOOL
WINAPI WINAPI
MakeAbsoluteSD2 ( MakeAbsoluteSD2 (
__inout_bcount_part(*lpdwBufferSize, *lpdwBufferSize) PSECURITY_DESCRIPTOR p SelfRelativeSecurityDescriptor, __inout_bcount_part(*lpdwBufferSize, *lpdwBufferSize) PSECURITY_DESCRIPTOR p SelfRelativeSecurityDescriptor,
__inout LPDWORD lpdwBufferSize __inout LPDWORD lpdwBufferSize
); );
WINADVAPI WINADVAPI
VOID
WINAPI
QuerySecurityAccessMask(
__in SECURITY_INFORMATION SecurityInformation,
__out LPDWORD DesiredAccess
);
WINADVAPI
VOID
WINAPI
SetSecurityAccessMask(
__in SECURITY_INFORMATION SecurityInformation,
__out LPDWORD DesiredAccess
);
WINADVAPI
BOOL BOOL
WINAPI WINAPI
SetFileSecurityA ( SetFileSecurityA (
__in LPCSTR lpFileName, __in LPCSTR lpFileName,
__in SECURITY_INFORMATION SecurityInformation, __in SECURITY_INFORMATION SecurityInformation,
__in PSECURITY_DESCRIPTOR pSecurityDescriptor __in PSECURITY_DESCRIPTOR pSecurityDescriptor
); );
WINADVAPI WINADVAPI
BOOL BOOL
WINAPI WINAPI
skipping to change at line 9372 skipping to change at line 11243
WINAPI WINAPI
FindCloseChangeNotification( FindCloseChangeNotification(
__in HANDLE hChangeHandle __in HANDLE hChangeHandle
); );
#if(_WIN32_WINNT >= 0x0400) #if(_WIN32_WINNT >= 0x0400)
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
ReadDirectoryChangesW( ReadDirectoryChangesW(
__in HANDLE hDirectory, __in HANDLE hDirectory,
__out_bcount_part(nBufferLength, *lpBytesReturned) LPVOID lpBuffer, __out_bcount_part(nBufferLength, *lpBytesReturned) LPVOID lpBuffer,
__in DWORD nBufferLength, __in DWORD nBufferLength,
__in BOOL bWatchSubtree, __in BOOL bWatchSubtree,
__in DWORD dwNotifyFilter, __in DWORD dwNotifyFilter,
__out LPDWORD lpBytesReturned, __out_opt LPDWORD lpBytesReturned,
__inout LPOVERLAPPED lpOverlapped, __inout_opt LPOVERLAPPED lpOverlapped,
__in_opt LPOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine __in_opt LPOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine
); );
#endif /* _WIN32_WINNT >= 0x0400 */ #endif /* _WIN32_WINNT >= 0x0400 */
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
VirtualLock( VirtualLock(
__in LPVOID lpAddress, __in LPVOID lpAddress,
__in SIZE_T dwSize __in SIZE_T dwSize
); );
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
VirtualUnlock( VirtualUnlock(
__in LPVOID lpAddress, __in LPVOID lpAddress,
__in SIZE_T dwSize __in SIZE_T dwSize
); );
WINBASEAPI WINBASEAPI
__out __out_opt __out_data_source(FILE)
LPVOID LPVOID
WINAPI WINAPI
MapViewOfFileEx( MapViewOfFileEx(
__in HANDLE hFileMappingObject, __in HANDLE hFileMappingObject,
__in DWORD dwDesiredAccess, __in DWORD dwDesiredAccess,
__in DWORD dwFileOffsetHigh, __in DWORD dwFileOffsetHigh,
__in DWORD dwFileOffsetLow, __in DWORD dwFileOffsetLow,
__in SIZE_T dwNumberOfBytesToMap, __in SIZE_T dwNumberOfBytesToMap,
__in_opt LPVOID lpBaseAddress __in_opt LPVOID lpBaseAddress
); );
#if _WIN32_WINNT >= 0x0600
WINBASEAPI
__out __out_data_source(FILE)
LPVOID
WINAPI
MapViewOfFileExNuma(
__in HANDLE hFileMappingObject,
__in DWORD dwDesiredAccess,
__in DWORD dwFileOffsetHigh,
__in DWORD dwFileOffsetLow,
__in SIZE_T dwNumberOfBytesToMap,
__in_opt LPVOID lpBaseAddress,
__in DWORD nndPreferred
);
#endif // _WIN32_WINNT >= 0x0600
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
SetPriorityClass( SetPriorityClass(
__in HANDLE hProcess, __in HANDLE hProcess,
__in DWORD dwPriorityClass __in DWORD dwPriorityClass
); );
WINBASEAPI WINBASEAPI
DWORD DWORD
skipping to change at line 9740 skipping to change at line 11629
#define SetDefaultCommConfig SetDefaultCommConfigA #define SetDefaultCommConfig SetDefaultCommConfigA
#endif // !UNICODE #endif // !UNICODE
#ifndef _MAC #ifndef _MAC
#define MAX_COMPUTERNAME_LENGTH 15 #define MAX_COMPUTERNAME_LENGTH 15
#else #else
#define MAX_COMPUTERNAME_LENGTH 31 #define MAX_COMPUTERNAME_LENGTH 31
#endif #endif
WINBASEAPI WINBASEAPI
__success(return != 0)
BOOL BOOL
WINAPI WINAPI
GetComputerNameA ( GetComputerNameA (
__out_ecount_part(*nSize, *nSize + 1) LPSTR lpBuffer, __out_ecount_part_opt(*nSize, *nSize + 1) __out_has_type_adt_props(SAL_Valid CompNameT) LPSTR lpBuffer,
__inout LPDWORD nSize __inout LPDWORD nSize
); );
WINBASEAPI WINBASEAPI
__success(return != 0)
BOOL BOOL
WINAPI WINAPI
GetComputerNameW ( GetComputerNameW (
__out_ecount_part(*nSize, *nSize + 1) LPWSTR lpBuffer, __out_ecount_part_opt(*nSize, *nSize + 1) __out_has_type_adt_props(SAL_Valid CompNameT) LPWSTR lpBuffer,
__inout LPDWORD nSize __inout LPDWORD nSize
); );
#ifdef UNICODE #ifdef UNICODE
#define GetComputerName GetComputerNameW #define GetComputerName GetComputerNameW
#else #else
#define GetComputerName GetComputerNameA #define GetComputerName GetComputerNameA
#endif // !UNICODE #endif // !UNICODE
WINBASEAPI WINBASEAPI
BOOL BOOL
skipping to change at line 9792 skipping to change at line 11683
ComputerNameDnsDomain, ComputerNameDnsDomain,
ComputerNameDnsFullyQualified, ComputerNameDnsFullyQualified,
ComputerNamePhysicalNetBIOS, ComputerNamePhysicalNetBIOS,
ComputerNamePhysicalDnsHostname, ComputerNamePhysicalDnsHostname,
ComputerNamePhysicalDnsDomain, ComputerNamePhysicalDnsDomain,
ComputerNamePhysicalDnsFullyQualified, ComputerNamePhysicalDnsFullyQualified,
ComputerNameMax ComputerNameMax
} COMPUTER_NAME_FORMAT ; } COMPUTER_NAME_FORMAT ;
WINBASEAPI WINBASEAPI
__success(return != 0)
BOOL BOOL
WINAPI WINAPI
GetComputerNameExA ( GetComputerNameExA (
__in COMPUTER_NAME_FORMAT NameType, __in COMPUTER_NAME_FORMAT NameType,
__out_ecount_part_opt(*nSize, *nSize + 1) LPSTR lpBuffer, __out_ecount_part_opt(*nSize, *nSize + 1) LPSTR lpBuffer,
__inout LPDWORD nSize __inout LPDWORD nSize
); );
WINBASEAPI WINBASEAPI
__success(return != 0)
BOOL BOOL
WINAPI WINAPI
GetComputerNameExW ( GetComputerNameExW (
__in COMPUTER_NAME_FORMAT NameType, __in COMPUTER_NAME_FORMAT NameType,
__out_ecount_part_opt(*nSize, *nSize + 1) LPWSTR lpBuffer, __out_ecount_part_opt(*nSize, *nSize + 1) LPWSTR lpBuffer,
__inout LPDWORD nSize __inout LPDWORD nSize
); );
#ifdef UNICODE #ifdef UNICODE
#define GetComputerNameEx GetComputerNameExW #define GetComputerNameEx GetComputerNameExW
#else #else
skipping to change at line 9834 skipping to change at line 11727
__in COMPUTER_NAME_FORMAT NameType, __in COMPUTER_NAME_FORMAT NameType,
__in LPCWSTR lpBuffer __in LPCWSTR lpBuffer
); );
#ifdef UNICODE #ifdef UNICODE
#define SetComputerNameEx SetComputerNameExW #define SetComputerNameEx SetComputerNameExW
#else #else
#define SetComputerNameEx SetComputerNameExA #define SetComputerNameEx SetComputerNameExA
#endif // !UNICODE #endif // !UNICODE
WINBASEAPI WINBASEAPI
__success(return == TRUE)
BOOL BOOL
WINAPI WINAPI
DnsHostnameToComputerNameA ( DnsHostnameToComputerNameA (
__in LPCSTR Hostname, __in LPCSTR Hostname,
__out_ecount_part_opt(*nSize, *nSize + 1) LPSTR ComputerName, __out_ecount_part_opt(*nSize, *nSize + 1) __out_has_type_adt_props(SAL_Valid CompNameT) LPSTR ComputerName,
__inout LPDWORD nSize __inout LPDWORD nSize
); );
WINBASEAPI WINBASEAPI
__success(return == TRUE)
BOOL BOOL
WINAPI WINAPI
DnsHostnameToComputerNameW ( DnsHostnameToComputerNameW (
__in LPCWSTR Hostname, __in LPCWSTR Hostname,
__out_ecount_part_opt(*nSize, *nSize + 1) LPWSTR ComputerName, __out_ecount_part_opt(*nSize, *nSize + 1) __out_has_type_adt_props(SAL_Valid CompNameT) LPWSTR ComputerName,
__inout LPDWORD nSize __inout LPDWORD nSize
); );
#ifdef UNICODE #ifdef UNICODE
#define DnsHostnameToComputerName DnsHostnameToComputerNameW #define DnsHostnameToComputerName DnsHostnameToComputerNameW
#else #else
#define DnsHostnameToComputerName DnsHostnameToComputerNameA #define DnsHostnameToComputerName DnsHostnameToComputerNameA
#endif // !UNICODE #endif // !UNICODE
#endif // _WIN32_WINNT #endif // _WIN32_WINNT
WINADVAPI WINADVAPI
BOOL BOOL
WINAPI WINAPI
GetUserNameA ( GetUserNameA (
__out_ecount_part(*pcbBuffer, *pcbBuffer) LPSTR lpBuffer, __out_ecount_part_opt(*pcbBuffer, *pcbBuffer) LPSTR lpBuffer,
__inout LPDWORD pcbBuffer __inout LPDWORD pcbBuffer
); );
WINADVAPI WINADVAPI
BOOL BOOL
WINAPI WINAPI
GetUserNameW ( GetUserNameW (
__out_ecount_part(*pcbBuffer, *pcbBuffer) LPWSTR lpBuffer, __out_ecount_part_opt(*pcbBuffer, *pcbBuffer) LPWSTR lpBuffer,
__inout LPDWORD pcbBuffer __inout LPDWORD pcbBuffer
); );
#ifdef UNICODE #ifdef UNICODE
#define GetUserName GetUserNameW #define GetUserName GetUserNameW
#else #else
#define GetUserName GetUserNameA #define GetUserName GetUserNameA
#endif // !UNICODE #endif // !UNICODE
// //
// Logon Support APIs // Logon Support APIs
skipping to change at line 9964 skipping to change at line 11859
__deref_opt_out_bcount_full(*pdwProfileLength) PVOID *ppProfileBuffer, __deref_opt_out_bcount_full(*pdwProfileLength) PVOID *ppProfileBuffer,
__out_opt LPDWORD pdwProfileLength, __out_opt LPDWORD pdwProfileLength,
__out_opt PQUOTA_LIMITS pQuotaLimits __out_opt PQUOTA_LIMITS pQuotaLimits
); );
#ifdef UNICODE #ifdef UNICODE
#define LogonUserEx LogonUserExW #define LogonUserEx LogonUserExW
#else #else
#define LogonUserEx LogonUserExA #define LogonUserEx LogonUserExA
#endif // !UNICODE #endif // !UNICODE
#if(_WIN32_WINNT >= 0x0600)
#endif // (_WIN32_WINNT >= 0x0600)
WINADVAPI WINADVAPI
BOOL BOOL
WINAPI WINAPI
ImpersonateLoggedOnUser( ImpersonateLoggedOnUser(
__in HANDLE hToken __in HANDLE hToken
); );
WINADVAPI WINADVAPI
BOOL BOOL
WINAPI WINAPI
skipping to change at line 10129 skipping to change at line 12028
RegisterWaitForSingleObject( RegisterWaitForSingleObject(
__deref_out PHANDLE phNewWaitObject, __deref_out PHANDLE phNewWaitObject,
__in HANDLE hObject, __in HANDLE hObject,
__in WAITORTIMERCALLBACK Callback, __in WAITORTIMERCALLBACK Callback,
__in_opt PVOID Context, __in_opt PVOID Context,
__in ULONG dwMilliseconds, __in ULONG dwMilliseconds,
__in ULONG dwFlags __in ULONG dwFlags
); );
WINBASEAPI WINBASEAPI
__out
HANDLE HANDLE
WINAPI WINAPI
RegisterWaitForSingleObjectEx( RegisterWaitForSingleObjectEx(
__in HANDLE hObject, __in HANDLE hObject,
__in WAITORTIMERCALLBACK Callback, __in WAITORTIMERCALLBACK Callback,
__in_opt PVOID Context, __in_opt PVOID Context,
__in ULONG dwMilliseconds, __in ULONG dwMilliseconds,
__in ULONG dwFlags __in ULONG dwFlags
); );
skipping to change at line 10176 skipping to change at line 12074
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
BindIoCompletionCallback ( BindIoCompletionCallback (
__in HANDLE FileHandle, __in HANDLE FileHandle,
__in LPOVERLAPPED_COMPLETION_ROUTINE Function, __in LPOVERLAPPED_COMPLETION_ROUTINE Function,
__in ULONG Flags __in ULONG Flags
); );
WINBASEAPI WINBASEAPI
__out __out_opt
HANDLE HANDLE
WINAPI WINAPI
CreateTimerQueue( CreateTimerQueue(
VOID VOID
); );
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
CreateTimerQueueTimer( CreateTimerQueueTimer(
skipping to change at line 10227 skipping to change at line 12125
WINBASEAPI WINBASEAPI
__checkReturn __checkReturn
BOOL BOOL
WINAPI WINAPI
DeleteTimerQueueEx( DeleteTimerQueueEx(
__in HANDLE TimerQueue, __in HANDLE TimerQueue,
__in_opt HANDLE CompletionEvent __in_opt HANDLE CompletionEvent
); );
WINBASEAPI WINBASEAPI
__out
HANDLE HANDLE
WINAPI WINAPI
SetTimerQueueTimer( SetTimerQueueTimer(
__in_opt HANDLE TimerQueue, __in_opt HANDLE TimerQueue,
__in WAITORTIMERCALLBACK Callback, __in WAITORTIMERCALLBACK Callback,
__in_opt PVOID Parameter, __in_opt PVOID Parameter,
__in DWORD DueTime, __in DWORD DueTime,
__in DWORD Period, __in DWORD Period,
__in BOOL PreferIo __in BOOL PreferIo
); );
skipping to change at line 10256 skipping to change at line 12153
); );
WINBASEAPI WINBASEAPI
__checkReturn __checkReturn
BOOL BOOL
WINAPI WINAPI
DeleteTimerQueue( DeleteTimerQueue(
__in HANDLE TimerQueue __in HANDLE TimerQueue
); );
#endif // _WIN32_WINNT #if (_WIN32_WINNT >= 0x0600)
typedef VOID (WINAPI *PTP_WIN32_IO_CALLBACK)(
__inout PTP_CALLBACK_INSTANCE Instance,
__inout_opt PVOID Context,
__inout_opt PVOID Overlapped,
__in ULONG IoResult,
__in ULONG_PTR NumberOfBytesTransferred,
__inout PTP_IO Io
);
WINBASEAPI
__checkReturn
__out
PTP_POOL
WINAPI
CreateThreadpool(
__reserved PVOID reserved
);
WINBASEAPI
VOID
WINAPI
SetThreadpoolThreadMaximum(
__inout PTP_POOL ptpp,
__in DWORD cthrdMost
);
WINBASEAPI
BOOL
WINAPI
SetThreadpoolThreadMinimum(
__inout PTP_POOL ptpp,
__in DWORD cthrdMic
);
WINBASEAPI
VOID
WINAPI
CloseThreadpool(
__inout PTP_POOL ptpp
);
WINBASEAPI
__checkReturn
__out
PTP_CLEANUP_GROUP
WINAPI
CreateThreadpoolCleanupGroup(
VOID
);
WINBASEAPI
VOID
WINAPI
CloseThreadpoolCleanupGroupMembers(
__inout PTP_CLEANUP_GROUP ptpcg,
__in BOOL fCancelPendingCallbacks,
__inout_opt PVOID pvCleanupContext
);
WINBASEAPI
VOID
WINAPI
CloseThreadpoolCleanupGroup(
__inout PTP_CLEANUP_GROUP ptpcg
);
#if !defined(MIDL_PASS)
FORCEINLINE
VOID
InitializeThreadpoolEnvironment(
__out PTP_CALLBACK_ENVIRON pcbe
)
{
TpInitializeCallbackEnviron(pcbe);
}
FORCEINLINE
VOID
SetThreadpoolCallbackPool(
__inout PTP_CALLBACK_ENVIRON pcbe,
__in PTP_POOL ptpp
)
{
TpSetCallbackThreadpool(pcbe, ptpp);
}
FORCEINLINE
VOID
SetThreadpoolCallbackCleanupGroup(
__inout PTP_CALLBACK_ENVIRON pcbe,
__in PTP_CLEANUP_GROUP ptpcg,
__in_opt PTP_CLEANUP_GROUP_CANCEL_CALLBACK pfng
)
{
TpSetCallbackCleanupGroup(pcbe, ptpcg, pfng);
}
FORCEINLINE
VOID
SetThreadpoolCallbackRunsLong(
__inout PTP_CALLBACK_ENVIRON pcbe
)
{
TpSetCallbackLongFunction(pcbe);
}
FORCEINLINE
VOID
SetThreadpoolCallbackLibrary(
__inout PTP_CALLBACK_ENVIRON pcbe,
__in PVOID mod
)
{
TpSetCallbackRaceWithDll(pcbe, mod);
}
FORCEINLINE
VOID
DestroyThreadpoolEnvironment(
__inout PTP_CALLBACK_ENVIRON pcbe
)
{
TpDestroyCallbackEnviron(pcbe);
}
#endif // !defined(MIDL_PASS)
WINBASEAPI
VOID
WINAPI
SetEventWhenCallbackReturns(
__inout PTP_CALLBACK_INSTANCE pci,
__in HANDLE evt
);
WINBASEAPI
VOID
WINAPI
ReleaseSemaphoreWhenCallbackReturns(
__inout PTP_CALLBACK_INSTANCE pci,
__in HANDLE sem,
__in DWORD crel
);
WINBASEAPI
VOID
WINAPI
ReleaseMutexWhenCallbackReturns(
__inout PTP_CALLBACK_INSTANCE pci,
__in HANDLE mut
);
WINBASEAPI
VOID
WINAPI
LeaveCriticalSectionWhenCallbackReturns(
__inout PTP_CALLBACK_INSTANCE pci,
__inout PCRITICAL_SECTION pcs
);
WINBASEAPI
VOID
WINAPI
FreeLibraryWhenCallbackReturns(
__inout PTP_CALLBACK_INSTANCE pci,
__in HMODULE mod
);
WINBASEAPI
BOOL
WINAPI
CallbackMayRunLong(
__inout PTP_CALLBACK_INSTANCE pci
);
WINBASEAPI
VOID
WINAPI
DisassociateCurrentThreadFromCallback(
__inout PTP_CALLBACK_INSTANCE pci
);
WINBASEAPI
__checkReturn
BOOL
WINAPI
TrySubmitThreadpoolCallback(
__in PTP_SIMPLE_CALLBACK pfns,
__inout_opt PVOID pv,
__in_opt PTP_CALLBACK_ENVIRON pcbe
);
WINBASEAPI
__checkReturn
__out
PTP_WORK
WINAPI
CreateThreadpoolWork(
__in PTP_WORK_CALLBACK pfnwk,
__inout_opt PVOID pv,
__in_opt PTP_CALLBACK_ENVIRON pcbe
);
WINBASEAPI
VOID
WINAPI
SubmitThreadpoolWork(
__inout PTP_WORK pwk
);
WINBASEAPI
VOID
WINAPI
WaitForThreadpoolWorkCallbacks(
__inout PTP_WORK pwk,
__in BOOL fCancelPendingCallbacks
);
WINBASEAPI
VOID
WINAPI
CloseThreadpoolWork(
__inout PTP_WORK pwk
);
WINBASEAPI
__checkReturn
__out
PTP_TIMER
WINAPI
CreateThreadpoolTimer(
__in PTP_TIMER_CALLBACK pfnti,
__inout_opt PVOID pv,
__in_opt PTP_CALLBACK_ENVIRON pcbe
);
WINBASEAPI
VOID
WINAPI
SetThreadpoolTimer(
__inout PTP_TIMER pti,
__in_opt PFILETIME pftDueTime,
__in DWORD msPeriod,
__in_opt DWORD msWindowLength
);
WINBASEAPI
BOOL
WINAPI
IsThreadpoolTimerSet(
__inout PTP_TIMER pti
);
WINBASEAPI
VOID
WINAPI
WaitForThreadpoolTimerCallbacks(
__inout PTP_TIMER pti,
__in BOOL fCancelPendingCallbacks
);
WINBASEAPI
VOID
WINAPI
CloseThreadpoolTimer(
__inout PTP_TIMER pti
);
WINBASEAPI
__checkReturn
__out
PTP_WAIT
WINAPI
CreateThreadpoolWait(
__in PTP_WAIT_CALLBACK pfnwa,
__inout_opt PVOID pv,
__in_opt PTP_CALLBACK_ENVIRON pcbe
);
WINBASEAPI
VOID
WINAPI
SetThreadpoolWait(
__inout PTP_WAIT pwa,
__in_opt HANDLE h,
__in_opt PFILETIME pftTimeout
);
WINBASEAPI
VOID
WINAPI
WaitForThreadpoolWaitCallbacks(
__inout PTP_WAIT pwa,
__in BOOL fCancelPendingCallbacks
);
WINBASEAPI
VOID
WINAPI
CloseThreadpoolWait(
__inout PTP_WAIT pwa
);
WINBASEAPI
__checkReturn
__out
PTP_IO
WINAPI
CreateThreadpoolIo(
__in HANDLE fl,
__in PTP_WIN32_IO_CALLBACK pfnio,
__inout_opt PVOID pv,
__in_opt PTP_CALLBACK_ENVIRON pcbe
);
WINBASEAPI
VOID
WINAPI
StartThreadpoolIo(
__inout PTP_IO pio
);
WINBASEAPI
VOID
WINAPI
CancelThreadpoolIo(
__inout PTP_IO pio
);
WINBASEAPI
VOID
WINAPI
WaitForThreadpoolIoCallbacks(
__inout PTP_IO pio,
__in BOOL fCancelPendingCallbacks
);
WINBASEAPI
VOID
WINAPI
CloseThreadpoolIo(
__inout PTP_IO pio
);
//
// Private Namespaces support
//
WINBASEAPI
__out_opt
HANDLE
WINAPI
CreatePrivateNamespaceA(
__in_opt LPSECURITY_ATTRIBUTES lpPrivateNamespaceAttributes,
__in LPVOID lpBoundaryDescriptor,
__in LPCSTR lpAliasPrefix
);
WINBASEAPI
__out_opt
HANDLE
WINAPI
CreatePrivateNamespaceW(
__in_opt LPSECURITY_ATTRIBUTES lpPrivateNamespaceAttributes,
__in LPVOID lpBoundaryDescriptor,
__in LPCWSTR lpAliasPrefix
);
#ifdef UNICODE
#define CreatePrivateNamespace CreatePrivateNamespaceW
#else
#define CreatePrivateNamespace CreatePrivateNamespaceA
#endif // !UNICODE
WINBASEAPI
__out_opt
HANDLE
WINAPI
OpenPrivateNamespaceA(
__in LPVOID lpBoundaryDescriptor,
__in LPCSTR lpAliasPrefix
);
WINBASEAPI
__out_opt
HANDLE
WINAPI
OpenPrivateNamespaceW(
__in LPVOID lpBoundaryDescriptor,
__in LPCWSTR lpAliasPrefix
);
#ifdef UNICODE
#define OpenPrivateNamespace OpenPrivateNamespaceW
#else
#define OpenPrivateNamespace OpenPrivateNamespaceA
#endif // !UNICODE
#define PRIVATE_NAMESPACE_FLAG_DESTROY 0x00000001
WINBASEAPI
BOOLEAN
WINAPI
ClosePrivateNamespace(
__in HANDLE Handle,
__in ULONG Flags
);
//
// Boundary descriptors support
//
__out_opt
HANDLE
APIENTRY
CreateBoundaryDescriptorA(
__in LPCSTR Name,
__in ULONG Flags
);
__out_opt
HANDLE
APIENTRY
CreateBoundaryDescriptorW(
__in LPCWSTR Name,
__in ULONG Flags
);
#ifdef UNICODE
#define CreateBoundaryDescriptor CreateBoundaryDescriptorW
#else
#define CreateBoundaryDescriptor CreateBoundaryDescriptorA
#endif // !UNICODE
WINBASEAPI
BOOL
WINAPI
AddSIDToBoundaryDescriptor(
__inout HANDLE * BoundaryDescriptor,
__in PSID RequiredSid
);
WINBASEAPI
VOID
WINAPI
DeleteBoundaryDescriptor(
__in HANDLE BoundaryDescriptor
);
#endif // _WIN32_WINNT >= 0x0600
#endif // _WIN32_WINNT >= 0x0500
#if(_WIN32_WINNT >= 0x0400) #if(_WIN32_WINNT >= 0x0400)
// //
// Plug-and-Play API's // Plug-and-Play API's
// //
#define HW_PROFILE_GUIDLEN 39 // 36-characters plus NULL terminator #define HW_PROFILE_GUIDLEN 39 // 36-characters plus NULL terminator
#define MAX_PROFILE_LEN 80 #define MAX_PROFILE_LEN 80
#define DOCKINFO_UNDOCKED (0x1) #define DOCKINFO_UNDOCKED (0x1)
skipping to change at line 10367 skipping to change at line 12712
__inout LPOSVERSIONINFOEXW lpVersionInformation, __inout LPOSVERSIONINFOEXW lpVersionInformation,
__in DWORD dwTypeMask, __in DWORD dwTypeMask,
__in DWORDLONG dwlConditionMask __in DWORDLONG dwlConditionMask
); );
#ifdef UNICODE #ifdef UNICODE
#define VerifyVersionInfo VerifyVersionInfoW #define VerifyVersionInfo VerifyVersionInfoW
#else #else
#define VerifyVersionInfo VerifyVersionInfoA #define VerifyVersionInfo VerifyVersionInfoA
#endif // !UNICODE #endif // !UNICODE
#if (_WIN32_WINNT >= 0x0600)
WINBASEAPI
BOOL
WINAPI
GetProductInfo(
__in DWORD dwOSMajorVersion,
__in DWORD dwOSMinorVersion,
__in DWORD dwSpMajorVersion,
__in DWORD dwSpMinorVersion,
__out PDWORD pdwReturnedProductType
);
#endif
// DOS and OS/2 Compatible Error Code definitions returned by the Win32 Base // DOS and OS/2 Compatible Error Code definitions returned by the Win32 Base
// API functions. // API functions.
// //
#include <winerror.h> #include <winerror.h>
/* Abnormal termination codes */ /* Abnormal termination codes */
#define TC_NORMAL 0 #define TC_NORMAL 0
#define TC_HARDERR 1 #define TC_HARDERR 1
skipping to change at line 10439 skipping to change at line 12799
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
AllocateUserPhysicalPages( AllocateUserPhysicalPages(
__in HANDLE hProcess, __in HANDLE hProcess,
__inout PULONG_PTR NumberOfPages, __inout PULONG_PTR NumberOfPages,
__out_ecount_part(*NumberOfPages, *NumberOfPages) PULONG_PTR PageArray __out_ecount_part(*NumberOfPages, *NumberOfPages) PULONG_PTR PageArray
); );
#if _WIN32_WINNT >= 0x0600
WINBASEAPI
BOOL
WINAPI
AllocateUserPhysicalPagesNuma(
__in HANDLE hProcess,
__inout PULONG_PTR NumberOfPages,
__out_ecount_part(*NumberOfPages, *NumberOfPages) PULONG_PTR PageArray,
__in DWORD nndPreferred
);
#endif // _WIN32_WINNT >= 0x0600
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
FreeUserPhysicalPages( FreeUserPhysicalPages(
__in HANDLE hProcess, __in HANDLE hProcess,
__inout PULONG_PTR NumberOfPages, __inout PULONG_PTR NumberOfPages,
__in_ecount(*NumberOfPages) PULONG_PTR PageArray __in_ecount(*NumberOfPages) PULONG_PTR PageArray
); );
WINBASEAPI WINBASEAPI
skipping to change at line 10467 skipping to change at line 12841
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
MapUserPhysicalPagesScatter( MapUserPhysicalPagesScatter(
__in_ecount(NumberOfPages) PVOID *VirtualAddresses, __in_ecount(NumberOfPages) PVOID *VirtualAddresses,
__in ULONG_PTR NumberOfPages, __in ULONG_PTR NumberOfPages,
__in_ecount_opt(NumberOfPages) PULONG_PTR PageArray __in_ecount_opt(NumberOfPages) PULONG_PTR PageArray
); );
WINBASEAPI WINBASEAPI
__out __out_opt
HANDLE HANDLE
WINAPI WINAPI
CreateJobObjectA( CreateJobObjectA(
__in_opt LPSECURITY_ATTRIBUTES lpJobAttributes, __in_opt LPSECURITY_ATTRIBUTES lpJobAttributes,
__in_opt LPCSTR lpName __in_opt LPCSTR lpName
); );
WINBASEAPI WINBASEAPI
__out __out_opt
HANDLE HANDLE
WINAPI WINAPI
CreateJobObjectW( CreateJobObjectW(
__in_opt LPSECURITY_ATTRIBUTES lpJobAttributes, __in_opt LPSECURITY_ATTRIBUTES lpJobAttributes,
__in_opt LPCWSTR lpName __in_opt LPCWSTR lpName
); );
#ifdef UNICODE #ifdef UNICODE
#define CreateJobObject CreateJobObjectW #define CreateJobObject CreateJobObjectW
#else #else
#define CreateJobObject CreateJobObjectA #define CreateJobObject CreateJobObjectA
#endif // !UNICODE #endif // !UNICODE
WINBASEAPI WINBASEAPI
__out __out_opt
HANDLE HANDLE
WINAPI WINAPI
OpenJobObjectA( OpenJobObjectA(
__in DWORD dwDesiredAccess, __in DWORD dwDesiredAccess,
__in BOOL bInheritHandle, __in BOOL bInheritHandle,
__in LPCSTR lpName __in LPCSTR lpName
); );
WINBASEAPI WINBASEAPI
__out __out_opt
HANDLE HANDLE
WINAPI WINAPI
OpenJobObjectW( OpenJobObjectW(
__in DWORD dwDesiredAccess, __in DWORD dwDesiredAccess,
__in BOOL bInheritHandle, __in BOOL bInheritHandle,
__in LPCWSTR lpName __in LPCWSTR lpName
); );
#ifdef UNICODE #ifdef UNICODE
#define OpenJobObject OpenJobObjectW #define OpenJobObject OpenJobObjectW
#else #else
skipping to change at line 10549 skipping to change at line 12923
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
SetInformationJobObject( SetInformationJobObject(
__in HANDLE hJob, __in HANDLE hJob,
__in JOBOBJECTINFOCLASS JobObjectInformationClass, __in JOBOBJECTINFOCLASS JobObjectInformationClass,
__in_bcount(cbJobObjectInformationLength) LPVOID lpJobObjectInformation, __in_bcount(cbJobObjectInformationLength) LPVOID lpJobObjectInformation,
__in DWORD cbJobObjectInformationLength __in DWORD cbJobObjectInformationLength
); );
#if (_WIN32_WINNT >= 0x0501)
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
IsProcessInJob ( IsProcessInJob (
__in HANDLE ProcessHandle, __in HANDLE ProcessHandle,
__in_opt HANDLE JobHandle, __in_opt HANDLE JobHandle,
__out PBOOL Result __out PBOOL Result
); );
#endif
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
CreateJobSet ( CreateJobSet (
__in ULONG NumJob, __in ULONG NumJob,
__in_ecount(NumJob) PJOB_SET_ARRAY UserJobSet, __in_ecount(NumJob) PJOB_SET_ARRAY UserJobSet,
__in ULONG Flags); __in ULONG Flags);
WINBASEAPI WINBASEAPI
__out __out_opt
PVOID PVOID
WINAPI WINAPI
AddVectoredExceptionHandler ( AddVectoredExceptionHandler (
__in ULONG First, __in ULONG First,
__in PVECTORED_EXCEPTION_HANDLER Handler __in PVECTORED_EXCEPTION_HANDLER Handler
); );
WINBASEAPI WINBASEAPI
ULONG ULONG
WINAPI WINAPI
RemoveVectoredExceptionHandler ( RemoveVectoredExceptionHandler (
__in PVOID Handle __in PVOID Handle
); );
WINBASEAPI WINBASEAPI
__out __out_opt
PVOID PVOID
WINAPI WINAPI
AddVectoredContinueHandler ( AddVectoredContinueHandler (
__in ULONG First, __in ULONG First,
__in PVECTORED_EXCEPTION_HANDLER Handler __in PVECTORED_EXCEPTION_HANDLER Handler
); );
WINBASEAPI WINBASEAPI
ULONG ULONG
WINAPI WINAPI
skipping to change at line 10858 skipping to change at line 13236
typedef ACTCTXW ACTCTX; typedef ACTCTXW ACTCTX;
typedef PACTCTXW PACTCTX; typedef PACTCTXW PACTCTX;
#else #else
typedef ACTCTXA ACTCTX; typedef ACTCTXA ACTCTX;
typedef PACTCTXA PACTCTX; typedef PACTCTXA PACTCTX;
#endif // UNICODE #endif // UNICODE
typedef const ACTCTXA *PCACTCTXA; typedef const ACTCTXA *PCACTCTXA;
typedef const ACTCTXW *PCACTCTXW; typedef const ACTCTXW *PCACTCTXW;
#ifdef UNICODE #ifdef UNICODE
typedef ACTCTXW ACTCTX;
typedef PCACTCTXW PCACTCTX; typedef PCACTCTXW PCACTCTX;
#else #else
typedef ACTCTXA ACTCTX;
typedef PCACTCTXA PCACTCTX; typedef PCACTCTXA PCACTCTX;
#endif // UNICODE #endif // UNICODE
#endif
#if (_WIN32_WINNT >= 0x0500) || (_WIN32_FUSION >= 0x0100)
WINBASEAPI WINBASEAPI
__out __out
HANDLE HANDLE
WINAPI WINAPI
CreateActCtxA( CreateActCtxA(
__in PCACTCTXA pActCtx __in PCACTCTXA pActCtx
); );
WINBASEAPI WINBASEAPI
__out __out
HANDLE HANDLE
skipping to change at line 10914 skipping to change at line 13286
BOOL BOOL
WINAPI WINAPI
ZombifyActCtx( ZombifyActCtx(
__inout HANDLE hActCtx __inout HANDLE hActCtx
); );
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
ActivateActCtx( ActivateActCtx(
__inout HANDLE hActCtx, __inout_opt HANDLE hActCtx,
__out ULONG_PTR *lpCookie __out ULONG_PTR *lpCookie
); );
#define DEACTIVATE_ACTCTX_FLAG_FORCE_EARLY_DEACTIVATION (0x00000001) #define DEACTIVATE_ACTCTX_FLAG_FORCE_EARLY_DEACTIVATION (0x00000001)
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
DeactivateActCtx( DeactivateActCtx(
__in DWORD dwFlags, __in DWORD dwFlags,
__in ULONG_PTR ulCookie __in ULONG_PTR ulCookie
); );
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
GetCurrentActCtx( GetCurrentActCtx(
__deref_out HANDLE *lphActCtx); __deref_out HANDLE *lphActCtx);
#endif
#if (_WIN32_WINNT >= 0x0500) || (_WIN32_FUSION >= 0x0100) || ISOLATION_AWARE_ENA
BLED
typedef struct tagACTCTX_SECTION_KEYED_DATA_2600 { typedef struct tagACTCTX_SECTION_KEYED_DATA_2600 {
ULONG cbSize; ULONG cbSize;
ULONG ulDataFormatVersion; ULONG ulDataFormatVersion;
PVOID lpData; PVOID lpData;
ULONG ulLength; ULONG ulLength;
PVOID lpSectionGlobalData; PVOID lpSectionGlobalData;
ULONG ulSectionGlobalDataLength; ULONG ulSectionGlobalDataLength;
PVOID lpSectionBase; PVOID lpSectionBase;
ULONG ulSectionTotalLength; ULONG ulSectionTotalLength;
HANDLE hActCtx; HANDLE hActCtx;
skipping to change at line 10982 skipping to change at line 13350
// 2600 stops here // 2600 stops here
ULONG ulFlags; ULONG ulFlags;
ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA AssemblyMetadata; ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA AssemblyMetadata;
} ACTCTX_SECTION_KEYED_DATA, *PACTCTX_SECTION_KEYED_DATA; } ACTCTX_SECTION_KEYED_DATA, *PACTCTX_SECTION_KEYED_DATA;
typedef const ACTCTX_SECTION_KEYED_DATA * PCACTCTX_SECTION_KEYED_DATA; typedef const ACTCTX_SECTION_KEYED_DATA * PCACTCTX_SECTION_KEYED_DATA;
#define FIND_ACTCTX_SECTION_KEY_RETURN_HACTCTX (0x00000001) #define FIND_ACTCTX_SECTION_KEY_RETURN_HACTCTX (0x00000001)
#define FIND_ACTCTX_SECTION_KEY_RETURN_FLAGS (0x00000002) #define FIND_ACTCTX_SECTION_KEY_RETURN_FLAGS (0x00000002)
#define FIND_ACTCTX_SECTION_KEY_RETURN_ASSEMBLY_METADATA (0x00000004) #define FIND_ACTCTX_SECTION_KEY_RETURN_ASSEMBLY_METADATA (0x00000004)
#endif
#if (_WIN32_WINNT >= 0x0500) || (_WIN32_FUSION >= 0x0100)
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
FindActCtxSectionStringA( FindActCtxSectionStringA(
__in DWORD dwFlags, __in DWORD dwFlags,
__reserved const GUID *lpExtensionGuid, __reserved const GUID *lpExtensionGuid,
__in ULONG ulSectionId, __in ULONG ulSectionId,
__in LPCSTR lpStringToFind, __in LPCSTR lpStringToFind,
__out PACTCTX_SECTION_KEYED_DATA ReturnedData __out PACTCTX_SECTION_KEYED_DATA ReturnedData
); );
skipping to change at line 11023 skipping to change at line 13387
BOOL BOOL
WINAPI WINAPI
FindActCtxSectionGuid( FindActCtxSectionGuid(
__in DWORD dwFlags, __in DWORD dwFlags,
__reserved const GUID *lpExtensionGuid, __reserved const GUID *lpExtensionGuid,
__in ULONG ulSectionId, __in ULONG ulSectionId,
__in_opt const GUID *lpGuidToFind, __in_opt const GUID *lpGuidToFind,
__out PACTCTX_SECTION_KEYED_DATA ReturnedData __out PACTCTX_SECTION_KEYED_DATA ReturnedData
); );
#endif
#if (_WIN32_WINNT >= 0x0500) || (_WIN32_FUSION >= 0x0100) || ISOLATION_AWARE_ENA
BLED
#if !defined(RC_INVOKED) /* RC complains about long symbols in #ifs */ #if !defined(RC_INVOKED) /* RC complains about long symbols in #ifs */
#if !defined(ACTIVATION_CONTEXT_BASIC_INFORMATION_DEFINED) #if !defined(ACTIVATION_CONTEXT_BASIC_INFORMATION_DEFINED)
typedef struct _ACTIVATION_CONTEXT_BASIC_INFORMATION { typedef struct _ACTIVATION_CONTEXT_BASIC_INFORMATION {
HANDLE hActCtx; HANDLE hActCtx;
DWORD dwFlags; DWORD dwFlags;
} ACTIVATION_CONTEXT_BASIC_INFORMATION, *PACTIVATION_CONTEXT_BASIC_INFORMATION; } ACTIVATION_CONTEXT_BASIC_INFORMATION, *PACTIVATION_CONTEXT_BASIC_INFORMATION;
typedef const struct _ACTIVATION_CONTEXT_BASIC_INFORMATION *PCACTIVATION_CONTEXT _BASIC_INFORMATION; typedef const struct _ACTIVATION_CONTEXT_BASIC_INFORMATION *PCACTIVATION_CONTEXT _BASIC_INFORMATION;
#define ACTIVATION_CONTEXT_BASIC_INFORMATION_DEFINED 1 #define ACTIVATION_CONTEXT_BASIC_INFORMATION_DEFINED 1
#endif // !defined(ACTIVATION_CONTEXT_BASIC_INFORMATION_DEFINED) #endif // !defined(ACTIVATION_CONTEXT_BASIC_INFORMATION_DEFINED)
#endif #endif
#define QUERY_ACTCTX_FLAG_USE_ACTIVE_ACTCTX (0x00000004) #define QUERY_ACTCTX_FLAG_USE_ACTIVE_ACTCTX (0x00000004)
#define QUERY_ACTCTX_FLAG_ACTCTX_IS_HMODULE (0x00000008) #define QUERY_ACTCTX_FLAG_ACTCTX_IS_HMODULE (0x00000008)
#define QUERY_ACTCTX_FLAG_ACTCTX_IS_ADDRESS (0x00000010) #define QUERY_ACTCTX_FLAG_ACTCTX_IS_ADDRESS (0x00000010)
#define QUERY_ACTCTX_FLAG_NO_ADDREF (0x80000000) #define QUERY_ACTCTX_FLAG_NO_ADDREF (0x80000000)
#endif
#if (_WIN32_WINNT >= 0x0500) || (_WIN32_FUSION >= 0x0100)
// //
// switch (ulInfoClass) // switch (ulInfoClass)
// //
// case ActivationContextBasicInformation: // case ActivationContextBasicInformation:
// pvSubInstance == NULL // pvSubInstance == NULL
// pvBuffer is of type PACTIVATION_CONTEXT_BASIC_INFORMATION // pvBuffer is of type PACTIVATION_CONTEXT_BASIC_INFORMATION
// //
// case ActivationContextDetailedInformation: // case ActivationContextDetailedInformation:
// pvSubInstance == NULL // pvSubInstance == NULL
// pvBuffer is of type PACTIVATION_CONTEXT_DETAILED_INFORMATION // pvBuffer is of type PACTIVATION_CONTEXT_DETAILED_INFORMATION
skipping to change at line 11073 skipping to change at line 13429
// pvSubInstance is of type PULONG // pvSubInstance is of type PULONG
// *pvSubInstance < ACTIVATION_CONTEXT_DETAILED_INFORMATION::ulAssemblyCoun t // *pvSubInstance < ACTIVATION_CONTEXT_DETAILED_INFORMATION::ulAssemblyCoun t
// pvBuffer is of type PACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION // pvBuffer is of type PACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION
// //
// case FileInformationInAssemblyOfAssemblyInActivationContext: // case FileInformationInAssemblyOfAssemblyInActivationContext:
// pvSubInstance is of type PACTIVATION_CONTEXT_QUERY_INDEX // pvSubInstance is of type PACTIVATION_CONTEXT_QUERY_INDEX
// pvSubInstance->ulAssemblyIndex < ACTIVATION_CONTEXT_DETAILED_INFORMATION ::ulAssemblyCount // pvSubInstance->ulAssemblyIndex < ACTIVATION_CONTEXT_DETAILED_INFORMATION ::ulAssemblyCount
// pvSubInstance->ulFileIndexInAssembly < ACTIVATION_CONTEXT_ASSEMBLY_DETAI LED_INFORMATION::ulFileCount // pvSubInstance->ulFileIndexInAssembly < ACTIVATION_CONTEXT_ASSEMBLY_DETAI LED_INFORMATION::ulFileCount
// pvBuffer is of type PASSEMBLY_FILE_DETAILED_INFORMATION // pvBuffer is of type PASSEMBLY_FILE_DETAILED_INFORMATION
// //
// case RunlevelInformationInActivationContext :
// pvSubInstance == NULL
// pvBuffer is of type PACTIVATION_CONTEXT_RUN_LEVEL_INFORMATION
//
// String are placed after the structs. // String are placed after the structs.
// //
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
QueryActCtxW( QueryActCtxW(
__in DWORD dwFlags, __in DWORD dwFlags,
__in HANDLE hActCtx, __in HANDLE hActCtx,
__in_opt PVOID pvSubInstance, __in_opt PVOID pvSubInstance,
__in ULONG ulInfoClass, __in ULONG ulInfoClass,
skipping to change at line 11098 skipping to change at line 13458
typedef BOOL (WINAPI * PQUERYACTCTXW_FUNC)( typedef BOOL (WINAPI * PQUERYACTCTXW_FUNC)(
__in DWORD dwFlags, __in DWORD dwFlags,
__in HANDLE hActCtx, __in HANDLE hActCtx,
__in_opt PVOID pvSubInstance, __in_opt PVOID pvSubInstance,
__in ULONG ulInfoClass, __in ULONG ulInfoClass,
__out_bcount_part_opt(cbBuffer, *pcbWrittenOrRequired) PVOID pvBuffer, __out_bcount_part_opt(cbBuffer, *pcbWrittenOrRequired) PVOID pvBuffer,
__in SIZE_T cbBuffer, __in SIZE_T cbBuffer,
__out_opt SIZE_T *pcbWrittenOrRequired __out_opt SIZE_T *pcbWrittenOrRequired
); );
#endif // (_WIN32_WINNT > 0x0500) || (_WIN32_FUSION >= 0x0100) #endif // (_WIN32_WINNT > 0x0500) || (_WIN32_FUSION >= 0x0100) || ISOLATION_AWAR E_ENABLED
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
ProcessIdToSessionId( ProcessIdToSessionId(
__in DWORD dwProcessId, __in DWORD dwProcessId,
__out DWORD *pSessionId __out DWORD *pSessionId
); );
#if _WIN32_WINNT >= 0x0501 #if _WIN32_WINNT >= 0x0501
WINBASEAPI WINBASEAPI
DWORD DWORD
WINAPI WINAPI
WTSGetActiveConsoleSessionId(); WTSGetActiveConsoleSessionId(
VOID
);
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
IsWow64Process( IsWow64Process(
__in HANDLE hProcess, __in HANDLE hProcess,
__out PBOOL Wow64Process __out PBOOL Wow64Process
); );
#endif // (_WIN32_WINNT >= 0x0501) #endif // (_WIN32_WINNT >= 0x0501)
skipping to change at line 11168 skipping to change at line 13530
); );
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
GetNumaAvailableMemoryNode( GetNumaAvailableMemoryNode(
__in UCHAR Node, __in UCHAR Node,
__out PULONGLONG AvailableBytes __out PULONGLONG AvailableBytes
); );
#if (_WIN32_WINNT >= 0x0600)
WINBASEAPI
BOOL
WINAPI
GetNumaProximityNode(
__in ULONG ProximityId,
__out PUCHAR NodeNumber
);
#endif
//
// Application restart and data recovery callback
//
typedef DWORD (WINAPI *APPLICATION_RECOVERY_CALLBACK)(PVOID pvParameter);
//
// Max length of commandline in characters (including the NULL character that ca
n be registered for restart)
//
#define RESTART_MAX_CMD_LINE 2048
//
// Do not restart the process for termination due to application crashes
//
#define RESTART_NO_CRASH 1
//
// Do not restart the process for termination due to application hangs
//
#define RESTART_NO_HANG 2
//
// Do not restart the process for termination due to patch installations
//
#define RESTART_NO_PATCH 4
//
// Do not restart the process when the system is rebooted because the
//
#define RESTART_NO_REBOOT 8
WINBASEAPI
HRESULT
WINAPI
RegisterApplicationRecoveryCallback(
__in APPLICATION_RECOVERY_CALLBACK pRecoveyCallback,
__in_opt PVOID pvParameter,
__in DWORD dwPingInterval,
__in DWORD dwFlags
);
WINBASEAPI
HRESULT
WINAPI
UnregisterApplicationRecoveryCallback();
WINBASEAPI
HRESULT
WINAPI
RegisterApplicationRestart(
__in_opt PCWSTR pwzCommandline,
__in DWORD dwFlags
);
WINBASEAPI
HRESULT
WINAPI
UnregisterApplicationRestart();
#define RECOVERY_DEFAULT_PING_INTERVAL 5000
#define RECOVERY_MAX_PING_INTERVAL (5 * 60 * 1000)
WINBASEAPI
HRESULT
WINAPI
GetApplicationRecoveryCallback(
__in HANDLE hProcess,
__out APPLICATION_RECOVERY_CALLBACK* pRecoveryCallback,
__deref_opt_out_opt PVOID* ppvParameter,
__out_opt PDWORD pdwPingInterval,
__out_opt PDWORD pdwFlags
);
WINBASEAPI
HRESULT
WINAPI
GetApplicationRestartSettings(
__in HANDLE hProcess,
__out_ecount_opt(*pcchSize) PWSTR pwzCommandline,
__inout PDWORD pcchSize,
__out_opt PDWORD pdwFlags
);
WINBASEAPI
HRESULT
WINAPI
ApplicationRecoveryInProgress(
__out PBOOL pbCancelled
);
WINBASEAPI
VOID
WINAPI
ApplicationRecoveryFinished(
__in BOOL bSuccess
);
#if (_WIN32_WINNT >= 0x0600)
typedef enum _FILE_INFO_BY_HANDLE_CLASS {
FileBasicInfo,
FileStandardInfo,
FileNameInfo,
FileRenameInfo,
FileDispositionInfo,
FileAllocationInfo,
FileEndOfFileInfo,
FileStreamInfo,
FileCompressionInfo,
FileAttributeTagInfo,
FileIdBothDirectoryInfo,
FileIdBothDirectoryRestartInfo,
FileIoPriorityHintInfo,
MaximumFileInfoByHandleClass
} FILE_INFO_BY_HANDLE_CLASS, *PFILE_INFO_BY_HANDLE_CLASS;
typedef struct _FILE_BASIC_INFO {
LARGE_INTEGER CreationTime;
LARGE_INTEGER LastAccessTime;
LARGE_INTEGER LastWriteTime;
LARGE_INTEGER ChangeTime;
DWORD FileAttributes;
} FILE_BASIC_INFO, *PFILE_BASIC_INFO;
typedef struct _FILE_STANDARD_INFO {
LARGE_INTEGER AllocationSize;
LARGE_INTEGER EndOfFile;
DWORD NumberOfLinks;
BOOLEAN DeletePending;
BOOLEAN Directory;
} FILE_STANDARD_INFO, *PFILE_STANDARD_INFO;
typedef struct _FILE_NAME_INFO {
DWORD FileNameLength;
WCHAR FileName[1];
} FILE_NAME_INFO, *PFILE_NAME_INFO;
typedef struct _FILE_RENAME_INFO {
BOOLEAN ReplaceIfExists;
HANDLE RootDirectory;
DWORD FileNameLength;
WCHAR FileName[1];
} FILE_RENAME_INFO, *PFILE_RENAME_INFO;
typedef struct _FILE_ALLOCATION_INFO {
LARGE_INTEGER AllocationSize;
} FILE_ALLOCATION_INFO, *PFILE_ALLOCATION_INFO;
typedef struct _FILE_END_OF_FILE_INFO {
LARGE_INTEGER EndOfFile;
} FILE_END_OF_FILE_INFO, *PFILE_END_OF_FILE_INFO;
typedef struct _FILE_STREAM_INFO {
DWORD NextEntryOffset;
DWORD StreamNameLength;
LARGE_INTEGER StreamSize;
LARGE_INTEGER StreamAllocationSize;
WCHAR StreamName[1];
} FILE_STREAM_INFO, *PFILE_STREAM_INFO;
typedef struct _FILE_COMPRESSION_INFO {
LARGE_INTEGER CompressedFileSize;
WORD CompressionFormat;
UCHAR CompressionUnitShift;
UCHAR ChunkShift;
UCHAR ClusterShift;
UCHAR Reserved[3];
} FILE_COMPRESSION_INFO, *PFILE_COMPRESSION_INFO;
typedef struct _FILE_ATTRIBUTE_TAG_INFO {
DWORD FileAttributes;
DWORD ReparseTag;
} FILE_ATTRIBUTE_TAG_INFO, *PFILE_ATTRIBUTE_TAG_INFO;
typedef struct _FILE_DISPOSITION_INFO {
BOOLEAN DeleteFile;
} FILE_DISPOSITION_INFO, *PFILE_DISPOSITION_INFO;
typedef struct _FILE_ID_BOTH_DIR_INFO {
DWORD NextEntryOffset;
DWORD FileIndex;
LARGE_INTEGER CreationTime;
LARGE_INTEGER LastAccessTime;
LARGE_INTEGER LastWriteTime;
LARGE_INTEGER ChangeTime;
LARGE_INTEGER EndOfFile;
LARGE_INTEGER AllocationSize;
DWORD FileAttributes;
DWORD FileNameLength;
DWORD EaSize;
CCHAR ShortNameLength;
WCHAR ShortName[12];
LARGE_INTEGER FileId;
WCHAR FileName[1];
} FILE_ID_BOTH_DIR_INFO, *PFILE_ID_BOTH_DIR_INFO;
typedef enum _PRIORITY_HINT {
IoPriorityHintVeryLow = 0,
IoPriorityHintLow,
IoPriorityHintNormal,
MaximumIoPriorityHintType
} PRIORITY_HINT;
typedef struct _FILE_IO_PRIORITY_HINT_INFO {
PRIORITY_HINT PriorityHint;
} FILE_IO_PRIORITY_HINT_INFO, *PFILE_IO_PRIORITY_HINT_INFO;
BOOL
WINAPI
SetFileInformationByHandle(
__in HANDLE hFile,
__in FILE_INFO_BY_HANDLE_CLASS FileInformationClass,
__in_bcount(dwBufferSize) LPVOID lpFileInformation,
__in DWORD dwBufferSize
);
BOOL
WINAPI
GetFileInformationByHandleEx(
__in HANDLE hFile,
__in FILE_INFO_BY_HANDLE_CLASS FileInformationClass,
__out_bcount(dwBufferSize) LPVOID lpFileInformation,
__in DWORD dwBufferSize
);
typedef enum _FILE_ID_TYPE {
FileIdType,
ObjectIdType,
MaximumFileIdType
} FILE_ID_TYPE, *PFILE_ID_TYPE;
typedef struct FILE_ID_DESCRIPTOR {
DWORD dwSize; // Size of the struct
FILE_ID_TYPE Type; // Describes the type of identifier passed in.
union {
LARGE_INTEGER FileId;
GUID ObjectId;
};
} FILE_ID_DESCRIPTOR, *LPFILE_ID_DESCRIPTOR;
__out
HANDLE
WINAPI
OpenFileById (
__in HANDLE hVolumeHint,
__in LPFILE_ID_DESCRIPTOR lpFileId,
__in DWORD dwDesiredAccess,
__in DWORD dwShareMode,
__in_opt LPSECURITY_ATTRIBUTES lpSecurityAttributes,
__in DWORD dwFlagsAndAttributes
);
#endif
#if (_WIN32_WINNT >= 0x0600)
//
// Flags to be passed into CREATE_SYMBOLIC_LINK
//
#define SYMBOLIC_LINK_FLAG_DIRECTORY (0x1)
#define VALID_SYMBOLIC_LINK_FLAGS SYMBOLIC_LINK_FLAG_DIRECTORY // & whatever ot
her flags we think of!
BOOLEAN
APIENTRY
CreateSymbolicLinkA (
__in LPCSTR lpSymlinkFileName,
__in LPCSTR lpTargetFileName,
__in DWORD dwFlags
);
BOOLEAN
APIENTRY
CreateSymbolicLinkW (
__in LPCWSTR lpSymlinkFileName,
__in LPCWSTR lpTargetFileName,
__in DWORD dwFlags
);
#ifdef UNICODE
#define CreateSymbolicLink CreateSymbolicLinkW
#else
#define CreateSymbolicLink CreateSymbolicLinkA
#endif // !UNICODE
BOOLEAN
APIENTRY
CreateSymbolicLinkTransactedA (
__in LPCSTR lpSymlinkFileName,
__in LPCSTR lpTargetFileName,
__in DWORD dwFlags,
__in HANDLE hTransaction
);
BOOLEAN
APIENTRY
CreateSymbolicLinkTransactedW (
__in LPCWSTR lpSymlinkFileName,
__in LPCWSTR lpTargetFileName,
__in DWORD dwFlags,
__in HANDLE hTransaction
);
#ifdef UNICODE
#define CreateSymbolicLinkTransacted CreateSymbolicLinkTransactedW
#else
#define CreateSymbolicLinkTransacted CreateSymbolicLinkTransactedA
#endif // !UNICODE
DWORD
WINAPI
GetFinalPathNameByHandleA (
__in HANDLE hFile,
__out_ecount(cchFilePath) LPSTR lpszFilePath,
__in DWORD cchFilePath,
__in DWORD dwFlags
);
DWORD
WINAPI
GetFinalPathNameByHandleW (
__in HANDLE hFile,
__out_ecount(cchFilePath) LPWSTR lpszFilePath,
__in DWORD cchFilePath,
__in DWORD dwFlags
);
#ifdef UNICODE
#define GetFinalPathNameByHandle GetFinalPathNameByHandleW
#else
#define GetFinalPathNameByHandle GetFinalPathNameByHandleA
#endif // !UNICODE
#endif // (_WIN32_WINNT >= 0x0600)
#if (_WIN32_WINNT >= 0x0600)
WINBASEAPI
BOOL
WINAPI
QueryActCtxSettingsW(
__in_opt DWORD dwFlags,
__in_opt HANDLE hActCtx,
__in_opt PCWSTR settingsNameSpace,
__in PCWSTR settingName,
__out_bcount_part_opt(dwBuffer, *pdwWrittenOrRequired) PWSTR pvBuffer,
__in SIZE_T dwBuffer,
__out_opt SIZE_T *pdwWrittenOrRequired
);
#endif
#if !defined(RC_INVOKED) /* RC complains about long symbols in #ifs */ #if !defined(RC_INVOKED) /* RC complains about long symbols in #ifs */
#if defined(ISOLATION_AWARE_ENABLED) && (ISOLATION_AWARE_ENABLED != 0) #if defined(ISOLATION_AWARE_ENABLED) && (ISOLATION_AWARE_ENABLED != 0)
#include "winbase.inl" #include "winbase.inl"
#endif /* ISOLATION_AWARE_ENABLED */ #endif /* ISOLATION_AWARE_ENABLED */
#endif /* RC */ #endif /* RC */
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif
 End of changes. 285 change blocks. 
237 lines changed or deleted 2964 lines changed or added


 wincon.h (5.2.3790.3959-Windows 5.0)   wincon.h (6.0.6002.18005-Windows 6.0) 
skipping to change at line 25 skipping to change at line 25
26-Oct-1990 26-Oct-1990
Revision History: Revision History:
--*/ --*/
#ifndef _WINCON_ #ifndef _WINCON_
#define _WINCON_ #define _WINCON_
#pragma once
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
#ifndef NOGDI
#include <wingdi.h>
#endif
typedef struct _COORD { typedef struct _COORD {
SHORT X; SHORT X;
SHORT Y; SHORT Y;
} COORD, *PCOORD; } COORD, *PCOORD;
typedef struct _SMALL_RECT { typedef struct _SMALL_RECT {
SHORT Left; SHORT Left;
SHORT Top; SHORT Top;
SHORT Right; SHORT Right;
SHORT Bottom; SHORT Bottom;
skipping to change at line 98 skipping to change at line 104
#define FROM_LEFT_3RD_BUTTON_PRESSED 0x0008 #define FROM_LEFT_3RD_BUTTON_PRESSED 0x0008
#define FROM_LEFT_4TH_BUTTON_PRESSED 0x0010 #define FROM_LEFT_4TH_BUTTON_PRESSED 0x0010
// //
// EventFlags // EventFlags
// //
#define MOUSE_MOVED 0x0001 #define MOUSE_MOVED 0x0001
#define DOUBLE_CLICK 0x0002 #define DOUBLE_CLICK 0x0002
#define MOUSE_WHEELED 0x0004 #define MOUSE_WHEELED 0x0004
#if(_WIN32_WINNT >= 0x0600)
#define MOUSE_HWHEELED 0x0008
#endif /* _WIN32_WINNT >= 0x0600 */
typedef struct _WINDOW_BUFFER_SIZE_RECORD { typedef struct _WINDOW_BUFFER_SIZE_RECORD {
COORD dwSize; COORD dwSize;
} WINDOW_BUFFER_SIZE_RECORD, *PWINDOW_BUFFER_SIZE_RECORD; } WINDOW_BUFFER_SIZE_RECORD, *PWINDOW_BUFFER_SIZE_RECORD;
typedef struct _MENU_EVENT_RECORD { typedef struct _MENU_EVENT_RECORD {
UINT dwCommandId; UINT dwCommandId;
} MENU_EVENT_RECORD, *PMENU_EVENT_RECORD; } MENU_EVENT_RECORD, *PMENU_EVENT_RECORD;
typedef struct _FOCUS_EVENT_RECORD { typedef struct _FOCUS_EVENT_RECORD {
skipping to change at line 170 skipping to change at line 179
#define COMMON_LVB_SBCSDBCS 0x0300 // SBCS or DBCS flag. #define COMMON_LVB_SBCSDBCS 0x0300 // SBCS or DBCS flag.
typedef struct _CONSOLE_SCREEN_BUFFER_INFO { typedef struct _CONSOLE_SCREEN_BUFFER_INFO {
COORD dwSize; COORD dwSize;
COORD dwCursorPosition; COORD dwCursorPosition;
WORD wAttributes; WORD wAttributes;
SMALL_RECT srWindow; SMALL_RECT srWindow;
COORD dwMaximumWindowSize; COORD dwMaximumWindowSize;
} CONSOLE_SCREEN_BUFFER_INFO, *PCONSOLE_SCREEN_BUFFER_INFO; } CONSOLE_SCREEN_BUFFER_INFO, *PCONSOLE_SCREEN_BUFFER_INFO;
typedef struct _CONSOLE_SCREEN_BUFFER_INFOEX {
ULONG cbSize;
COORD dwSize;
COORD dwCursorPosition;
WORD wAttributes;
SMALL_RECT srWindow;
COORD dwMaximumWindowSize;
WORD wPopupAttributes;
BOOL bFullscreenSupported;
COLORREF ColorTable[16];
} CONSOLE_SCREEN_BUFFER_INFOEX, *PCONSOLE_SCREEN_BUFFER_INFOEX;
typedef struct _CONSOLE_CURSOR_INFO { typedef struct _CONSOLE_CURSOR_INFO {
DWORD dwSize; DWORD dwSize;
BOOL bVisible; BOOL bVisible;
} CONSOLE_CURSOR_INFO, *PCONSOLE_CURSOR_INFO; } CONSOLE_CURSOR_INFO, *PCONSOLE_CURSOR_INFO;
typedef struct _CONSOLE_FONT_INFO { typedef struct _CONSOLE_FONT_INFO {
DWORD nFont; DWORD nFont;
COORD dwFontSize; COORD dwFontSize;
} CONSOLE_FONT_INFO, *PCONSOLE_FONT_INFO; } CONSOLE_FONT_INFO, *PCONSOLE_FONT_INFO;
#ifndef NOGDI
typedef struct _CONSOLE_FONT_INFOEX {
ULONG cbSize;
DWORD nFont;
COORD dwFontSize;
UINT FontFamily;
UINT FontWeight;
WCHAR FaceName[LF_FACESIZE];
} CONSOLE_FONT_INFOEX, *PCONSOLE_FONT_INFOEX;
#endif
#define HISTORY_NO_DUP_FLAG 0x1
typedef struct _CONSOLE_HISTORY_INFO {
UINT cbSize;
UINT HistoryBufferSize;
UINT NumberOfHistoryBuffers;
DWORD dwFlags;
} CONSOLE_HISTORY_INFO, *PCONSOLE_HISTORY_INFO;
#if(_WIN32_WINNT >= 0x0500) #if(_WIN32_WINNT >= 0x0500)
typedef struct _CONSOLE_SELECTION_INFO { typedef struct _CONSOLE_SELECTION_INFO {
DWORD dwFlags; DWORD dwFlags;
COORD dwSelectionAnchor; COORD dwSelectionAnchor;
SMALL_RECT srSelection; SMALL_RECT srSelection;
} CONSOLE_SELECTION_INFO, *PCONSOLE_SELECTION_INFO; } CONSOLE_SELECTION_INFO, *PCONSOLE_SELECTION_INFO;
// //
// Selection flags // Selection flags
// //
skipping to change at line 220 skipping to change at line 260
#define CTRL_CLOSE_EVENT 2 #define CTRL_CLOSE_EVENT 2
// 3 is reserved! // 3 is reserved!
// 4 is reserved! // 4 is reserved!
#define CTRL_LOGOFF_EVENT 5 #define CTRL_LOGOFF_EVENT 5
#define CTRL_SHUTDOWN_EVENT 6 #define CTRL_SHUTDOWN_EVENT 6
// //
// Input Mode flags: // Input Mode flags:
// //
#define ENABLE_PROCESSED_INPUT 0x0001 #define ENABLE_PROCESSED_INPUT 0x0001
#define ENABLE_LINE_INPUT 0x0002 #define ENABLE_LINE_INPUT 0x0002
#define ENABLE_ECHO_INPUT 0x0004 #define ENABLE_ECHO_INPUT 0x0004
#define ENABLE_WINDOW_INPUT 0x0008 #define ENABLE_WINDOW_INPUT 0x0008
#define ENABLE_MOUSE_INPUT 0x0010 #define ENABLE_MOUSE_INPUT 0x0010
#define ENABLE_INSERT_MODE 0x0020
#define ENABLE_QUICK_EDIT_MODE 0x0040
#define ENABLE_EXTENDED_FLAGS 0x0080
#define ENABLE_AUTO_POSITION 0x0100
// //
// Output Mode flags: // Output Mode flags:
// //
#define ENABLE_PROCESSED_OUTPUT 0x0001 #define ENABLE_PROCESSED_OUTPUT 0x0001
#define ENABLE_WRAP_AT_EOL_OUTPUT 0x0002 #define ENABLE_WRAP_AT_EOL_OUTPUT 0x0002
// //
// direct API definitions. // direct API definitions.
// //
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
PeekConsoleInputA( PeekConsoleInputA(
IN HANDLE hConsoleInput, __in HANDLE hConsoleInput,
OUT PINPUT_RECORD lpBuffer, __out_ecount(nLength) PINPUT_RECORD lpBuffer,
IN DWORD nLength, __in DWORD nLength,
OUT LPDWORD lpNumberOfEventsRead __out LPDWORD lpNumberOfEventsRead
); );
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
PeekConsoleInputW( PeekConsoleInputW(
IN HANDLE hConsoleInput, __in HANDLE hConsoleInput,
OUT PINPUT_RECORD lpBuffer, __out_ecount(nLength) PINPUT_RECORD lpBuffer,
IN DWORD nLength, __in DWORD nLength,
OUT LPDWORD lpNumberOfEventsRead __out LPDWORD lpNumberOfEventsRead
); );
#ifdef UNICODE #ifdef UNICODE
#define PeekConsoleInput PeekConsoleInputW #define PeekConsoleInput PeekConsoleInputW
#else #else
#define PeekConsoleInput PeekConsoleInputA #define PeekConsoleInput PeekConsoleInputA
#endif // !UNICODE #endif // !UNICODE
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
ReadConsoleInputA( ReadConsoleInputA(
IN HANDLE hConsoleInput, __in HANDLE hConsoleInput,
OUT PINPUT_RECORD lpBuffer, __out_ecount(nLength) PINPUT_RECORD lpBuffer,
IN DWORD nLength, __in DWORD nLength,
OUT LPDWORD lpNumberOfEventsRead __out LPDWORD lpNumberOfEventsRead
); );
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
ReadConsoleInputW( ReadConsoleInputW(
IN HANDLE hConsoleInput, __in HANDLE hConsoleInput,
OUT PINPUT_RECORD lpBuffer, __out_ecount(nLength) PINPUT_RECORD lpBuffer,
IN DWORD nLength, __in DWORD nLength,
OUT LPDWORD lpNumberOfEventsRead __out LPDWORD lpNumberOfEventsRead
); );
#ifdef UNICODE #ifdef UNICODE
#define ReadConsoleInput ReadConsoleInputW #define ReadConsoleInput ReadConsoleInputW
#else #else
#define ReadConsoleInput ReadConsoleInputA #define ReadConsoleInput ReadConsoleInputA
#endif // !UNICODE #endif // !UNICODE
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
WriteConsoleInputA( WriteConsoleInputA(
IN HANDLE hConsoleInput, __in HANDLE hConsoleInput,
IN CONST INPUT_RECORD *lpBuffer, __in_ecount(nLength) CONST INPUT_RECORD *lpBuffer,
IN DWORD nLength, __in DWORD nLength,
OUT LPDWORD lpNumberOfEventsWritten __out LPDWORD lpNumberOfEventsWritten
); );
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
WriteConsoleInputW( WriteConsoleInputW(
IN HANDLE hConsoleInput, __in HANDLE hConsoleInput,
IN CONST INPUT_RECORD *lpBuffer, __in_ecount(nLength) CONST INPUT_RECORD *lpBuffer,
IN DWORD nLength, __in DWORD nLength,
OUT LPDWORD lpNumberOfEventsWritten __out LPDWORD lpNumberOfEventsWritten
); );
#ifdef UNICODE #ifdef UNICODE
#define WriteConsoleInput WriteConsoleInputW #define WriteConsoleInput WriteConsoleInputW
#else #else
#define WriteConsoleInput WriteConsoleInputA #define WriteConsoleInput WriteConsoleInputA
#endif // !UNICODE #endif // !UNICODE
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
ReadConsoleOutputA( ReadConsoleOutputA(
IN HANDLE hConsoleOutput, __in HANDLE hConsoleOutput,
OUT PCHAR_INFO lpBuffer, __out_ecount(dwBufferSize.X * dwBufferSize.Y) PCHAR_INFO lpBuffer,
IN COORD dwBufferSize, __in COORD dwBufferSize,
IN COORD dwBufferCoord, __in COORD dwBufferCoord,
IN OUT PSMALL_RECT lpReadRegion __inout PSMALL_RECT lpReadRegion
); );
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
ReadConsoleOutputW( ReadConsoleOutputW(
IN HANDLE hConsoleOutput, __in HANDLE hConsoleOutput,
OUT PCHAR_INFO lpBuffer, __out_ecount(dwBufferSize.X * dwBufferSize.Y) PCHAR_INFO lpBuffer,
IN COORD dwBufferSize, __in COORD dwBufferSize,
IN COORD dwBufferCoord, __in COORD dwBufferCoord,
IN OUT PSMALL_RECT lpReadRegion __inout PSMALL_RECT lpReadRegion
); );
#ifdef UNICODE #ifdef UNICODE
#define ReadConsoleOutput ReadConsoleOutputW #define ReadConsoleOutput ReadConsoleOutputW
#else #else
#define ReadConsoleOutput ReadConsoleOutputA #define ReadConsoleOutput ReadConsoleOutputA
#endif // !UNICODE #endif // !UNICODE
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
WriteConsoleOutputA( WriteConsoleOutputA(
IN HANDLE hConsoleOutput, __in HANDLE hConsoleOutput,
IN CONST CHAR_INFO *lpBuffer, __in_ecount(dwBufferSize.X * dwBufferSize.Y) CONST CHAR_INFO *lpBuffer,
IN COORD dwBufferSize, __in COORD dwBufferSize,
IN COORD dwBufferCoord, __in COORD dwBufferCoord,
IN OUT PSMALL_RECT lpWriteRegion __inout PSMALL_RECT lpWriteRegion
); );
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
WriteConsoleOutputW( WriteConsoleOutputW(
IN HANDLE hConsoleOutput, __in HANDLE hConsoleOutput,
IN CONST CHAR_INFO *lpBuffer, __in_ecount(dwBufferSize.X * dwBufferSize.Y) CONST CHAR_INFO *lpBuffer,
IN COORD dwBufferSize, __in COORD dwBufferSize,
IN COORD dwBufferCoord, __in COORD dwBufferCoord,
IN OUT PSMALL_RECT lpWriteRegion __inout PSMALL_RECT lpWriteRegion
); );
#ifdef UNICODE #ifdef UNICODE
#define WriteConsoleOutput WriteConsoleOutputW #define WriteConsoleOutput WriteConsoleOutputW
#else #else
#define WriteConsoleOutput WriteConsoleOutputA #define WriteConsoleOutput WriteConsoleOutputA
#endif // !UNICODE #endif // !UNICODE
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
ReadConsoleOutputCharacterA( ReadConsoleOutputCharacterA(
IN HANDLE hConsoleOutput, __in HANDLE hConsoleOutput,
OUT LPSTR lpCharacter, __out_ecount(nLength) LPSTR lpCharacter,
IN DWORD nLength, __in DWORD nLength,
IN COORD dwReadCoord, __in COORD dwReadCoord,
OUT LPDWORD lpNumberOfCharsRead __out LPDWORD lpNumberOfCharsRead
); );
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
ReadConsoleOutputCharacterW( ReadConsoleOutputCharacterW(
IN HANDLE hConsoleOutput, __in HANDLE hConsoleOutput,
OUT LPWSTR lpCharacter, __out_ecount(nLength) LPWSTR lpCharacter,
IN DWORD nLength, __in DWORD nLength,
IN COORD dwReadCoord, __in COORD dwReadCoord,
OUT LPDWORD lpNumberOfCharsRead __out LPDWORD lpNumberOfCharsRead
); );
#ifdef UNICODE #ifdef UNICODE
#define ReadConsoleOutputCharacter ReadConsoleOutputCharacterW #define ReadConsoleOutputCharacter ReadConsoleOutputCharacterW
#else #else
#define ReadConsoleOutputCharacter ReadConsoleOutputCharacterA #define ReadConsoleOutputCharacter ReadConsoleOutputCharacterA
#endif // !UNICODE #endif // !UNICODE
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
ReadConsoleOutputAttribute( ReadConsoleOutputAttribute(
IN HANDLE hConsoleOutput, __in HANDLE hConsoleOutput,
OUT LPWORD lpAttribute, __out_ecount(nLength) LPWORD lpAttribute,
IN DWORD nLength, __in DWORD nLength,
IN COORD dwReadCoord, __in COORD dwReadCoord,
OUT LPDWORD lpNumberOfAttrsRead __out LPDWORD lpNumberOfAttrsRead
); );
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
WriteConsoleOutputCharacterA( WriteConsoleOutputCharacterA(
IN HANDLE hConsoleOutput, __in HANDLE hConsoleOutput,
IN LPCSTR lpCharacter, __in_ecount(nLength) LPCSTR lpCharacter,
IN DWORD nLength, __in DWORD nLength,
IN COORD dwWriteCoord, __in COORD dwWriteCoord,
OUT LPDWORD lpNumberOfCharsWritten __out LPDWORD lpNumberOfCharsWritten
); );
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
WriteConsoleOutputCharacterW( WriteConsoleOutputCharacterW(
IN HANDLE hConsoleOutput, __in HANDLE hConsoleOutput,
IN LPCWSTR lpCharacter, __in_ecount(nLength) LPCWSTR lpCharacter,
IN DWORD nLength, __in DWORD nLength,
IN COORD dwWriteCoord, __in COORD dwWriteCoord,
OUT LPDWORD lpNumberOfCharsWritten __out LPDWORD lpNumberOfCharsWritten
); );
#ifdef UNICODE #ifdef UNICODE
#define WriteConsoleOutputCharacter WriteConsoleOutputCharacterW #define WriteConsoleOutputCharacter WriteConsoleOutputCharacterW
#else #else
#define WriteConsoleOutputCharacter WriteConsoleOutputCharacterA #define WriteConsoleOutputCharacter WriteConsoleOutputCharacterA
#endif // !UNICODE #endif // !UNICODE
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
WriteConsoleOutputAttribute( WriteConsoleOutputAttribute(
IN HANDLE hConsoleOutput, __in HANDLE hConsoleOutput,
IN CONST WORD *lpAttribute, __in_ecount(nLength) CONST WORD *lpAttribute,
IN DWORD nLength, __in DWORD nLength,
IN COORD dwWriteCoord, __in COORD dwWriteCoord,
OUT LPDWORD lpNumberOfAttrsWritten __out LPDWORD lpNumberOfAttrsWritten
); );
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
FillConsoleOutputCharacterA( FillConsoleOutputCharacterA(
IN HANDLE hConsoleOutput, __in HANDLE hConsoleOutput,
IN CHAR cCharacter, __in_ecount(nLength) CHAR cCharacter,
IN DWORD nLength, __in DWORD nLength,
IN COORD dwWriteCoord, __in COORD dwWriteCoord,
OUT LPDWORD lpNumberOfCharsWritten __out LPDWORD lpNumberOfCharsWritten
); );
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
FillConsoleOutputCharacterW( FillConsoleOutputCharacterW(
IN HANDLE hConsoleOutput, __in HANDLE hConsoleOutput,
IN WCHAR cCharacter, __in_ecount(nLength) WCHAR cCharacter,
IN DWORD nLength, __in DWORD nLength,
IN COORD dwWriteCoord, __in COORD dwWriteCoord,
OUT LPDWORD lpNumberOfCharsWritten __out LPDWORD lpNumberOfCharsWritten
); );
#ifdef UNICODE #ifdef UNICODE
#define FillConsoleOutputCharacter FillConsoleOutputCharacterW #define FillConsoleOutputCharacter FillConsoleOutputCharacterW
#else #else
#define FillConsoleOutputCharacter FillConsoleOutputCharacterA #define FillConsoleOutputCharacter FillConsoleOutputCharacterA
#endif // !UNICODE #endif // !UNICODE
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
FillConsoleOutputAttribute( FillConsoleOutputAttribute(
IN HANDLE hConsoleOutput, __in HANDLE hConsoleOutput,
IN WORD wAttribute, __in WORD wAttribute,
IN DWORD nLength, __in DWORD nLength,
IN COORD dwWriteCoord, __in COORD dwWriteCoord,
OUT LPDWORD lpNumberOfAttrsWritten __out LPDWORD lpNumberOfAttrsWritten
); );
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
GetConsoleMode( GetConsoleMode(
IN HANDLE hConsoleHandle, __in HANDLE hConsoleHandle,
OUT LPDWORD lpMode __out LPDWORD lpMode
); );
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
GetNumberOfConsoleInputEvents( GetNumberOfConsoleInputEvents(
IN HANDLE hConsoleInput, __in HANDLE hConsoleInput,
OUT LPDWORD lpNumberOfEvents __out LPDWORD lpNumberOfEvents
); );
#define CONSOLE_REAL_OUTPUT_HANDLE (LongToHandle(-2))
#define CONSOLE_REAL_INPUT_HANDLE (LongToHandle(-3))
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
GetConsoleScreenBufferInfo( GetConsoleScreenBufferInfo(
IN HANDLE hConsoleOutput, __in HANDLE hConsoleOutput,
OUT PCONSOLE_SCREEN_BUFFER_INFO lpConsoleScreenBufferInfo __out PCONSOLE_SCREEN_BUFFER_INFO lpConsoleScreenBufferInfo
); );
WINBASEAPI WINBASEAPI
BOOL
WINAPI
GetConsoleScreenBufferInfoEx(
__in HANDLE hConsoleOutput,
__inout_bcount_part(sizeof(ULONG), sizeof(CONSOLE_SCREEN_BUFFER_INFOEX) - si
zeof(ULONG)) PCONSOLE_SCREEN_BUFFER_INFOEX lpConsoleScreenBufferInfoEx);
WINBASEAPI
BOOL
WINAPI
SetConsoleScreenBufferInfoEx(
__in HANDLE hConsoleOutput,
__in PCONSOLE_SCREEN_BUFFER_INFOEX lpConsoleScreenBufferInfoEx);
WINBASEAPI
COORD COORD
WINAPI WINAPI
GetLargestConsoleWindowSize( GetLargestConsoleWindowSize(
IN HANDLE hConsoleOutput __in HANDLE hConsoleOutput
); );
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
GetConsoleCursorInfo( GetConsoleCursorInfo(
IN HANDLE hConsoleOutput, __in HANDLE hConsoleOutput,
OUT PCONSOLE_CURSOR_INFO lpConsoleCursorInfo __out PCONSOLE_CURSOR_INFO lpConsoleCursorInfo
); );
#if(_WIN32_WINNT >= 0x0500) #if(_WIN32_WINNT >= 0x0500)
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
GetCurrentConsoleFont( GetCurrentConsoleFont(
IN HANDLE hConsoleOutput, __in HANDLE hConsoleOutput,
IN BOOL bMaximumWindow, __in BOOL bMaximumWindow,
OUT PCONSOLE_FONT_INFO lpConsoleCurrentFont __out PCONSOLE_FONT_INFO lpConsoleCurrentFont
); );
#ifndef NOGDI
WINBASEAPI
BOOL
WINAPI
GetCurrentConsoleFontEx(
__in HANDLE hConsoleOutput,
__in BOOL bMaximumWindow,
__out PCONSOLE_FONT_INFOEX lpConsoleCurrentFontEx);
WINBASEAPI
BOOL
WINAPI
SetCurrentConsoleFontEx(
__in HANDLE hConsoleOutput,
__in BOOL bMaximumWindow,
__in PCONSOLE_FONT_INFOEX lpConsoleCurrentFontEx);
#endif
WINBASEAPI
BOOL
WINAPI
GetConsoleHistoryInfo(
__out PCONSOLE_HISTORY_INFO lpConsoleHistoryInfo);
WINBASEAPI
BOOL
WINAPI
SetConsoleHistoryInfo(
__in PCONSOLE_HISTORY_INFO lpConsoleHistoryInfo);
WINBASEAPI WINBASEAPI
COORD COORD
WINAPI WINAPI
GetConsoleFontSize( GetConsoleFontSize(
IN HANDLE hConsoleOutput, __in HANDLE hConsoleOutput,
IN DWORD nFont __in DWORD nFont
); );
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
GetConsoleSelectionInfo( GetConsoleSelectionInfo(
OUT PCONSOLE_SELECTION_INFO lpConsoleSelectionInfo __out PCONSOLE_SELECTION_INFO lpConsoleSelectionInfo
); );
#endif /* _WIN32_WINNT >= 0x0500 */ #endif /* _WIN32_WINNT >= 0x0500 */
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
GetNumberOfConsoleMouseButtons( GetNumberOfConsoleMouseButtons(
OUT LPDWORD lpNumberOfMouseButtons __out LPDWORD lpNumberOfMouseButtons
); );
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
SetConsoleMode( SetConsoleMode(
IN HANDLE hConsoleHandle, __in HANDLE hConsoleHandle,
IN DWORD dwMode __in DWORD dwMode
); );
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
SetConsoleActiveScreenBuffer( SetConsoleActiveScreenBuffer(
IN HANDLE hConsoleOutput __in HANDLE hConsoleOutput
); );
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
FlushConsoleInputBuffer( FlushConsoleInputBuffer(
IN HANDLE hConsoleInput __in HANDLE hConsoleInput
); );
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
SetConsoleScreenBufferSize( SetConsoleScreenBufferSize(
IN HANDLE hConsoleOutput, __in HANDLE hConsoleOutput,
IN COORD dwSize __in COORD dwSize
); );
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
SetConsoleCursorPosition( SetConsoleCursorPosition(
IN HANDLE hConsoleOutput, __in HANDLE hConsoleOutput,
IN COORD dwCursorPosition __in COORD dwCursorPosition
); );
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
SetConsoleCursorInfo( SetConsoleCursorInfo(
IN HANDLE hConsoleOutput, __in HANDLE hConsoleOutput,
IN CONST CONSOLE_CURSOR_INFO *lpConsoleCursorInfo __in CONST CONSOLE_CURSOR_INFO *lpConsoleCursorInfo
); );
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
ScrollConsoleScreenBufferA( ScrollConsoleScreenBufferA(
IN HANDLE hConsoleOutput, __in HANDLE hConsoleOutput,
IN CONST SMALL_RECT *lpScrollRectangle, __in CONST SMALL_RECT *lpScrollRectangle,
IN CONST SMALL_RECT *lpClipRectangle, __in_opt CONST SMALL_RECT *lpClipRectangle,
IN COORD dwDestinationOrigin, __in COORD dwDestinationOrigin,
IN CONST CHAR_INFO *lpFill __in CONST CHAR_INFO *lpFill
); );
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
ScrollConsoleScreenBufferW( ScrollConsoleScreenBufferW(
IN HANDLE hConsoleOutput, __in HANDLE hConsoleOutput,
IN CONST SMALL_RECT *lpScrollRectangle, __in CONST SMALL_RECT *lpScrollRectangle,
IN CONST SMALL_RECT *lpClipRectangle, __in_opt CONST SMALL_RECT *lpClipRectangle,
IN COORD dwDestinationOrigin, __in COORD dwDestinationOrigin,
IN CONST CHAR_INFO *lpFill __in CONST CHAR_INFO *lpFill
); );
#ifdef UNICODE #ifdef UNICODE
#define ScrollConsoleScreenBuffer ScrollConsoleScreenBufferW #define ScrollConsoleScreenBuffer ScrollConsoleScreenBufferW
#else #else
#define ScrollConsoleScreenBuffer ScrollConsoleScreenBufferA #define ScrollConsoleScreenBuffer ScrollConsoleScreenBufferA
#endif // !UNICODE #endif // !UNICODE
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
SetConsoleWindowInfo( SetConsoleWindowInfo(
IN HANDLE hConsoleOutput, __in HANDLE hConsoleOutput,
IN BOOL bAbsolute, __in BOOL bAbsolute,
IN CONST SMALL_RECT *lpConsoleWindow __in CONST SMALL_RECT *lpConsoleWindow
); );
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
SetConsoleTextAttribute( SetConsoleTextAttribute(
IN HANDLE hConsoleOutput, __in HANDLE hConsoleOutput,
IN WORD wAttributes __in WORD wAttributes
); );
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
SetConsoleCtrlHandler( SetConsoleCtrlHandler(
IN PHANDLER_ROUTINE HandlerRoutine, __in_opt PHANDLER_ROUTINE HandlerRoutine,
IN BOOL Add __in BOOL Add);
);
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
GenerateConsoleCtrlEvent( GenerateConsoleCtrlEvent(
IN DWORD dwCtrlEvent, __in DWORD dwCtrlEvent,
IN DWORD dwProcessGroupId __in DWORD dwProcessGroupId
); );
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
AllocConsole( VOID ); AllocConsole( VOID );
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
FreeConsole( VOID ); FreeConsole( VOID );
#if(_WIN32_WINNT >= 0x0500) #if(_WIN32_WINNT >= 0x0500)
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
AttachConsole( AttachConsole(
IN DWORD dwProcessId __in DWORD dwProcessId
); );
#define ATTACH_PARENT_PROCESS ((DWORD)-1) #define ATTACH_PARENT_PROCESS ((DWORD)-1)
#endif /* _WIN32_WINNT >= 0x0500 */ #endif /* _WIN32_WINNT >= 0x0500 */
WINBASEAPI WINBASEAPI
DWORD DWORD
WINAPI WINAPI
GetConsoleTitleA( GetConsoleTitleA(
OUT LPSTR lpConsoleTitle, __out_ecount(nSize) LPSTR lpConsoleTitle,
IN DWORD nSize __in DWORD nSize
); );
WINBASEAPI WINBASEAPI
DWORD DWORD
WINAPI WINAPI
GetConsoleTitleW( GetConsoleTitleW(
OUT LPWSTR lpConsoleTitle, __out_ecount(nSize) LPWSTR lpConsoleTitle,
IN DWORD nSize __in DWORD nSize
); );
#ifdef UNICODE #ifdef UNICODE
#define GetConsoleTitle GetConsoleTitleW #define GetConsoleTitle GetConsoleTitleW
#else #else
#define GetConsoleTitle GetConsoleTitleA #define GetConsoleTitle GetConsoleTitleA
#endif // !UNICODE #endif // !UNICODE
#if(_WIN32_WINNT >= 0x0600)
WINBASEAPI
DWORD
WINAPI
GetConsoleOriginalTitleA(
__out_ecount(nSize) LPSTR lpConsoleTitle,
__in DWORD nSize);
WINBASEAPI
DWORD
WINAPI
GetConsoleOriginalTitleW(
__out_ecount(nSize) LPWSTR lpConsoleTitle,
__in DWORD nSize);
#ifdef UNICODE
#define GetConsoleOriginalTitle GetConsoleOriginalTitleW
#else
#define GetConsoleOriginalTitle GetConsoleOriginalTitleA
#endif // !UNICODE
#endif /* _WIN32_WINNT >= 0x0600 */
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
SetConsoleTitleA( SetConsoleTitleA(
IN LPCSTR lpConsoleTitle __in LPCSTR lpConsoleTitle
); );
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
SetConsoleTitleW( SetConsoleTitleW(
IN LPCWSTR lpConsoleTitle __in LPCWSTR lpConsoleTitle
); );
#ifdef UNICODE #ifdef UNICODE
#define SetConsoleTitle SetConsoleTitleW #define SetConsoleTitle SetConsoleTitleW
#else #else
#define SetConsoleTitle SetConsoleTitleA #define SetConsoleTitle SetConsoleTitleA
#endif // !UNICODE #endif // !UNICODE
typedef struct _CONSOLE_READCONSOLE_CONTROL {
IN ULONG nLength; // sizeof( CONSOLE_READCONSOLE_CONTROL )
IN ULONG nInitialChars;
IN ULONG dwCtrlWakeupMask;
OUT ULONG dwControlKeyState;
} CONSOLE_READCONSOLE_CONTROL, *PCONSOLE_READCONSOLE_CONTROL;
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
ReadConsoleA( ReadConsoleA(
IN HANDLE hConsoleInput, __in HANDLE hConsoleInput,
OUT LPVOID lpBuffer, __out_ecount_part(nNumberOfCharsToRead, *lpNumberOfCharsRead)
IN DWORD nNumberOfCharsToRead, LPVOID lpBuffer,
OUT LPDWORD lpNumberOfCharsRead, __in DWORD nNumberOfCharsToRead,
IN LPVOID lpReserved __out LPDWORD lpNumberOfCharsRead,
__in_opt PCONSOLE_READCONSOLE_CONTROL pInputControl
); );
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
ReadConsoleW( ReadConsoleW(
IN HANDLE hConsoleInput, __in HANDLE hConsoleInput,
OUT LPVOID lpBuffer, __out_ecount_part(nNumberOfCharsToRead, *lpNumberOfCharsRead)
IN DWORD nNumberOfCharsToRead, LPVOID lpBuffer,
OUT LPDWORD lpNumberOfCharsRead, __in DWORD nNumberOfCharsToRead,
IN LPVOID lpReserved __out LPDWORD lpNumberOfCharsRead,
__in_opt PCONSOLE_READCONSOLE_CONTROL pInputControl
); );
#ifdef UNICODE #ifdef UNICODE
#define ReadConsole ReadConsoleW #define ReadConsole ReadConsoleW
#else #else
#define ReadConsole ReadConsoleA #define ReadConsole ReadConsoleA
#endif // !UNICODE #endif // !UNICODE
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
WriteConsoleA( WriteConsoleA(
IN HANDLE hConsoleOutput, __in HANDLE hConsoleOutput,
IN CONST VOID *lpBuffer, __in_ecount(nNumberOfCharsToWrite) CONST VOID *lpBuffer,
IN DWORD nNumberOfCharsToWrite, __in DWORD nNumberOfCharsToWrite,
OUT LPDWORD lpNumberOfCharsWritten, __out LPDWORD lpNumberOfCharsWritten,
IN LPVOID lpReserved __reserved LPVOID lpReserved
); );
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
WriteConsoleW( WriteConsoleW(
IN HANDLE hConsoleOutput, __in HANDLE hConsoleOutput,
IN CONST VOID *lpBuffer, __in_ecount(nNumberOfCharsToWrite) CONST VOID *lpBuffer,
IN DWORD nNumberOfCharsToWrite, __in DWORD nNumberOfCharsToWrite,
OUT LPDWORD lpNumberOfCharsWritten, __out LPDWORD lpNumberOfCharsWritten,
IN LPVOID lpReserved __reserved LPVOID lpReserved
); );
#ifdef UNICODE #ifdef UNICODE
#define WriteConsole WriteConsoleW #define WriteConsole WriteConsoleW
#else #else
#define WriteConsole WriteConsoleA #define WriteConsole WriteConsoleA
#endif // !UNICODE #endif // !UNICODE
#define CONSOLE_TEXTMODE_BUFFER 1 #define CONSOLE_TEXTMODE_BUFFER 1
__allocator
WINBASEAPI WINBASEAPI
HANDLE HANDLE
WINAPI WINAPI
CreateConsoleScreenBuffer( CreateConsoleScreenBuffer(
IN DWORD dwDesiredAccess, __in DWORD dwDesiredAccess,
IN DWORD dwShareMode, __in DWORD dwShareMode,
IN CONST SECURITY_ATTRIBUTES *lpSecurityAttributes, __in_opt CONST SECURITY_ATTRIBUTES *lpSecurityAttributes,
IN DWORD dwFlags, __in DWORD dwFlags,
IN LPVOID lpScreenBufferData __reserved LPVOID lpScreenBufferData
); );
WINBASEAPI WINBASEAPI
UINT UINT
WINAPI WINAPI
GetConsoleCP( VOID ); GetConsoleCP( VOID );
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
SetConsoleCP( SetConsoleCP(
IN UINT wCodePageID __in UINT wCodePageID
); );
WINBASEAPI WINBASEAPI
UINT UINT
WINAPI WINAPI
GetConsoleOutputCP( VOID ); GetConsoleOutputCP( VOID );
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
SetConsoleOutputCP( SetConsoleOutputCP(
IN UINT wCodePageID __in UINT wCodePageID
); );
#if(_WIN32_WINNT >= 0x0500) #if(_WIN32_WINNT >= 0x0500)
#define CONSOLE_FULLSCREEN 1 // fullscreen console #define CONSOLE_FULLSCREEN 1 // fullscreen console
#define CONSOLE_FULLSCREEN_HARDWARE 2 // console owns the hardware #define CONSOLE_FULLSCREEN_HARDWARE 2 // console owns the hardware
WINBASEAPI WINBASEAPI
BOOL BOOL
APIENTRY APIENTRY
GetConsoleDisplayMode( GetConsoleDisplayMode(
OUT LPDWORD lpModeFlags __out LPDWORD lpModeFlags);
);
#define CONSOLE_FULLSCREEN_MODE 1
#define CONSOLE_WINDOWED_MODE 2
BOOL
APIENTRY
SetConsoleDisplayMode(
__in HANDLE hConsoleOutput,
__in DWORD dwFlags,
__out_opt PCOORD lpNewScreenBufferDimensions);
WINBASEAPI WINBASEAPI
HWND HWND
APIENTRY APIENTRY
GetConsoleWindow( GetConsoleWindow(
VOID VOID
); );
#endif /* _WIN32_WINNT >= 0x0500 */ #endif /* _WIN32_WINNT >= 0x0500 */
#if(_WIN32_WINNT >= 0x0501) #if(_WIN32_WINNT >= 0x0501)
WINBASEAPI WINBASEAPI
DWORD DWORD
APIENTRY APIENTRY
GetConsoleProcessList( GetConsoleProcessList(
OUT LPDWORD lpdwProcessList, __out_ecount(dwProcessCount) LPDWORD lpdwProcessList,
IN DWORD dwProcessCount); __in DWORD dwProcessCount);
// //
// Aliasing apis. // Aliasing apis.
// //
WINBASEAPI WINBASEAPI
BOOL BOOL
APIENTRY APIENTRY
AddConsoleAliasA( AddConsoleAliasA(
IN LPSTR Source, __in LPSTR Source,
IN LPSTR Target, __in LPSTR Target,
IN LPSTR ExeName); __in LPSTR ExeName);
WINBASEAPI WINBASEAPI
BOOL BOOL
APIENTRY APIENTRY
AddConsoleAliasW( AddConsoleAliasW(
IN LPWSTR Source, __in LPWSTR Source,
IN LPWSTR Target, __in LPWSTR Target,
IN LPWSTR ExeName); __in LPWSTR ExeName);
#ifdef UNICODE #ifdef UNICODE
#define AddConsoleAlias AddConsoleAliasW #define AddConsoleAlias AddConsoleAliasW
#else #else
#define AddConsoleAlias AddConsoleAliasA #define AddConsoleAlias AddConsoleAliasA
#endif // !UNICODE #endif // !UNICODE
WINBASEAPI WINBASEAPI
DWORD DWORD
APIENTRY APIENTRY
GetConsoleAliasA( GetConsoleAliasA(
IN LPSTR Source, __in LPSTR Source,
OUT LPSTR TargetBuffer, __out_ecount(TargetBufferLength) LPSTR TargetBuffer,
IN DWORD TargetBufferLength, __in DWORD TargetBufferLength,
IN LPSTR ExeName); __in LPSTR ExeName);
WINBASEAPI WINBASEAPI
DWORD DWORD
APIENTRY APIENTRY
GetConsoleAliasW( GetConsoleAliasW(
IN LPWSTR Source, __in LPWSTR Source,
OUT LPWSTR TargetBuffer, __out_ecount(TargetBufferLength) LPWSTR TargetBuffer,
IN DWORD TargetBufferLength, __in DWORD TargetBufferLength,
IN LPWSTR ExeName); __in LPWSTR ExeName);
#ifdef UNICODE #ifdef UNICODE
#define GetConsoleAlias GetConsoleAliasW #define GetConsoleAlias GetConsoleAliasW
#else #else
#define GetConsoleAlias GetConsoleAliasA #define GetConsoleAlias GetConsoleAliasA
#endif // !UNICODE #endif // !UNICODE
WINBASEAPI WINBASEAPI
DWORD DWORD
APIENTRY APIENTRY
GetConsoleAliasesLengthA( GetConsoleAliasesLengthA(
IN LPSTR ExeName); __in LPSTR ExeName);
WINBASEAPI WINBASEAPI
DWORD DWORD
APIENTRY APIENTRY
GetConsoleAliasesLengthW( GetConsoleAliasesLengthW(
IN LPWSTR ExeName); __in LPWSTR ExeName);
#ifdef UNICODE #ifdef UNICODE
#define GetConsoleAliasesLength GetConsoleAliasesLengthW #define GetConsoleAliasesLength GetConsoleAliasesLengthW
#else #else
#define GetConsoleAliasesLength GetConsoleAliasesLengthA #define GetConsoleAliasesLength GetConsoleAliasesLengthA
#endif // !UNICODE #endif // !UNICODE
WINBASEAPI WINBASEAPI
DWORD DWORD
APIENTRY APIENTRY
GetConsoleAliasExesLengthA( GetConsoleAliasExesLengthA(
skipping to change at line 911 skipping to change at line 1040
#ifdef UNICODE #ifdef UNICODE
#define GetConsoleAliasExesLength GetConsoleAliasExesLengthW #define GetConsoleAliasExesLength GetConsoleAliasExesLengthW
#else #else
#define GetConsoleAliasExesLength GetConsoleAliasExesLengthA #define GetConsoleAliasExesLength GetConsoleAliasExesLengthA
#endif // !UNICODE #endif // !UNICODE
WINBASEAPI WINBASEAPI
DWORD DWORD
APIENTRY APIENTRY
GetConsoleAliasesA( GetConsoleAliasesA(
OUT LPSTR AliasBuffer, __out_ecount(AliasBufferLength) LPSTR AliasBuffer,
IN DWORD AliasBufferLength, __in DWORD AliasBufferLength,
IN LPSTR ExeName); __in LPSTR ExeName);
WINBASEAPI WINBASEAPI
DWORD DWORD
APIENTRY APIENTRY
GetConsoleAliasesW( GetConsoleAliasesW(
OUT LPWSTR AliasBuffer, __out_ecount(AliasBufferLength) LPWSTR AliasBuffer,
IN DWORD AliasBufferLength, __in DWORD AliasBufferLength,
IN LPWSTR ExeName); __in LPWSTR ExeName);
#ifdef UNICODE #ifdef UNICODE
#define GetConsoleAliases GetConsoleAliasesW #define GetConsoleAliases GetConsoleAliasesW
#else #else
#define GetConsoleAliases GetConsoleAliasesA #define GetConsoleAliases GetConsoleAliasesA
#endif // !UNICODE #endif // !UNICODE
WINBASEAPI WINBASEAPI
DWORD DWORD
APIENTRY APIENTRY
GetConsoleAliasExesA( GetConsoleAliasExesA(
OUT LPSTR ExeNameBuffer, __out_ecount(ExeNameBufferLength) LPSTR ExeNameBuffer,
IN DWORD ExeNameBufferLength); __in DWORD ExeNameBufferLength);
WINBASEAPI WINBASEAPI
DWORD DWORD
APIENTRY APIENTRY
GetConsoleAliasExesW( GetConsoleAliasExesW(
OUT LPWSTR ExeNameBuffer, __out_ecount(ExeNameBufferLength) LPWSTR ExeNameBuffer,
IN DWORD ExeNameBufferLength); __in DWORD ExeNameBufferLength);
#ifdef UNICODE #ifdef UNICODE
#define GetConsoleAliasExes GetConsoleAliasExesW #define GetConsoleAliasExes GetConsoleAliasExesW
#else #else
#define GetConsoleAliasExes GetConsoleAliasExesA #define GetConsoleAliasExes GetConsoleAliasExesA
#endif // !UNICODE #endif // !UNICODE
#endif /* _WIN32_WINNT >= 0x0501 */ #endif /* _WIN32_WINNT >= 0x0501 */
#ifdef __cplusplus #ifdef __cplusplus
} }
 End of changes. 76 change blocks. 
204 lines changed or deleted 334 lines changed or added


 winnls.h (5.2.3790.3959-Windows 5.0)   winnls.h (6.0.6002.18005-Windows 6.0) 
skipping to change at line 29 skipping to change at line 29
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
#ifndef NONLS #ifndef NONLS
#ifdef _MAC #ifdef _MAC
#include <macwin32.h> #include <macwin32.h>
#endif #endif
#if !defined(_NORMALIZE_)
#define WINNORMALIZEAPI DECLSPEC_IMPORT
#else
#define WINNORMALIZEAPI
#endif
//////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////
// //
// Constants // Constants
// //
// Define all constants for the NLS component here. // Define all constants for the NLS component here.
// //
//////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////
// //
// String Length Maximums. // String Length Maximums.
// //
#define MAX_LEADBYTES 12 // 5 ranges, 2 bytes ea., 0 term. #define MAX_LEADBYTES 12 // 5 ranges, 2 bytes ea., 0 term.
#define MAX_DEFAULTCHAR 2 // single or double byte #define MAX_DEFAULTCHAR 2 // single or double byte
// //
// Surrogate pairs
//
// Conversion examples:
//
// A) The first character in the Surrogate range (D800, DC00) as UTF-32:
//
// 1. D800: binary 1101100000000000 (lower ten bits: 0000000000)
// 2. DC00: binary 1101110000000000 (lower ten bits: 0000000000)
// 3. Concatenate 0000000000+0000000000 = 0x0000
// 4. Add 0x10000
//
// Result: U+10000. This is correct, since the first character in the Supplemen
tary character
// range immediately follows the last code point in the 16-bit UTF-16 range (U+
FFFF)
//
// B) A UTF-32 code point such as U+2040A (this a CJK character in CJK Extensio
n B), and wish
// to convert it in UTF-16:
//
// 1. Subtract 0x10000 - Result: 0x1040A
// 2. Split into two ten-bit pieces: 0001000001 0000001010
// 3. Add 1101100000000000 (0xD800) to the high 10 bits piece (0001000001) - R
esult: 1101100001000001 (0xD841)
// 4. Add 1101110000000000 (0xDC00) to the low 10 bits piece (0000001010) - Re
sult: 1101110000001010 (0xDC0A)
//
// RESULT: The surrogate pair: U+D841, U+DC0A
//
// Special Unicode code point values, for use with UTF-16 surrogate pairs.
//
#define HIGH_SURROGATE_START 0xd800
#define HIGH_SURROGATE_END 0xdbff
#define LOW_SURROGATE_START 0xdc00
#define LOW_SURROGATE_END 0xdfff
//
// MBCS and Unicode Translation Flags. // MBCS and Unicode Translation Flags.
// //
#define MB_PRECOMPOSED 0x00000001 // use precomposed chars #define MB_PRECOMPOSED 0x00000001 // use precomposed chars
#define MB_COMPOSITE 0x00000002 // use composite chars #define MB_COMPOSITE 0x00000002 // use composite chars
#define MB_USEGLYPHCHARS 0x00000004 // use glyph chars, not ctrl chars #define MB_USEGLYPHCHARS 0x00000004 // use glyph chars, not ctrl chars
#define MB_ERR_INVALID_CHARS 0x00000008 // error for invalid chars #define MB_ERR_INVALID_CHARS 0x00000008 // error for invalid chars
#define WC_COMPOSITECHECK 0x00000200 // convert composite to precompose d #define WC_COMPOSITECHECK 0x00000200 // convert composite to precompose d
#define WC_DISCARDNS 0x00000010 // discard non-spacing chars #define WC_DISCARDNS 0x00000010 // discard non-spacing chars
#define WC_SEPCHARS 0x00000020 // generate separate chars #define WC_SEPCHARS 0x00000020 // generate separate chars
#define WC_DEFAULTCHAR 0x00000040 // replace w/ default char #define WC_DEFAULTCHAR 0x00000040 // replace w/ default char
#if (WINVER >= 0x0600)
#define WC_ERR_INVALID_CHARS 0x00000080 // error for invalid chars
#endif
#if(WINVER >= 0x0500) #if(WINVER >= 0x0500)
#define WC_NO_BEST_FIT_CHARS 0x00000400 // do not use best fit chars #define WC_NO_BEST_FIT_CHARS 0x00000400 // do not use best fit chars
#endif /* WINVER >= 0x0500 */ #endif /* WINVER >= 0x0500 */
// //
// Character Type Flags. // Character Type Flags.
// //
#define CT_CTYPE1 0x00000001 // ctype 1 information #define CT_CTYPE1 0x00000001 // ctype 1 information
#define CT_CTYPE2 0x00000002 // ctype 2 information #define CT_CTYPE2 0x00000002 // ctype 2 information
skipping to change at line 115 skipping to change at line 156
#define C3_VOWELMARK 0x0004 // vowel mark #define C3_VOWELMARK 0x0004 // vowel mark
#define C3_SYMBOL 0x0008 // symbols #define C3_SYMBOL 0x0008 // symbols
#define C3_KATAKANA 0x0010 // katakana character #define C3_KATAKANA 0x0010 // katakana character
#define C3_HIRAGANA 0x0020 // hiragana character #define C3_HIRAGANA 0x0020 // hiragana character
#define C3_HALFWIDTH 0x0040 // half width character #define C3_HALFWIDTH 0x0040 // half width character
#define C3_FULLWIDTH 0x0080 // full width character #define C3_FULLWIDTH 0x0080 // full width character
#define C3_IDEOGRAPH 0x0100 // ideographic character #define C3_IDEOGRAPH 0x0100 // ideographic character
#define C3_KASHIDA 0x0200 // Arabic kashida character #define C3_KASHIDA 0x0200 // Arabic kashida character
#define C3_LEXICAL 0x0400 // lexical character #define C3_LEXICAL 0x0400 // lexical character
#define C3_HIGHSURROGATE 0x0800 // high surrogate code unit
#define C3_LOWSURROGATE 0x1000 // low surrogate code unit
#define C3_ALPHA 0x8000 // any linguistic char (C1_ALPHA) #define C3_ALPHA 0x8000 // any linguistic char (C1_ALPHA)
#define C3_NOTAPPLICABLE 0x0000 // ctype 3 is not applicable #define C3_NOTAPPLICABLE 0x0000 // ctype 3 is not applicable
// //
// String Flags. // String Flags.
// //
#define NORM_IGNORECASE 0x00000001 // ignore case #define NORM_IGNORECASE 0x00000001 // ignore case
#define NORM_IGNORENONSPACE 0x00000002 // ignore nonspacing chars #define NORM_IGNORENONSPACE 0x00000002 // ignore nonspacing chars
#define NORM_IGNORESYMBOLS 0x00000004 // ignore symbols #define NORM_IGNORESYMBOLS 0x00000004 // ignore symbols
#define LINGUISTIC_IGNORECASE 0x00000010 // linguistically appropriate 'ign
ore case'
#define LINGUISTIC_IGNOREDIACRITIC 0x00000020 // linguistically appropriate 'ig
nore nonspace'
#define NORM_IGNOREKANATYPE 0x00010000 // ignore kanatype #define NORM_IGNOREKANATYPE 0x00010000 // ignore kanatype
#define NORM_IGNOREWIDTH 0x00020000 // ignore width #define NORM_IGNOREWIDTH 0x00020000 // ignore width
#define NORM_LINGUISTIC_CASING 0x08000000 // use linguistic rules for casing
// //
// Locale Independent Mapping Flags. // Locale Independent Mapping Flags.
// //
#define MAP_FOLDCZONE 0x00000010 // fold compatibility zone chars #define MAP_FOLDCZONE 0x00000010 // fold compatibility zone chars
#define MAP_PRECOMPOSED 0x00000020 // convert to precomposed chars #define MAP_PRECOMPOSED 0x00000020 // convert to precomposed chars
#define MAP_COMPOSITE 0x00000040 // convert to composite chars #define MAP_COMPOSITE 0x00000040 // convert to composite chars
#define MAP_FOLDDIGITS 0x00000080 // all digits to ASCII 0-9 #define MAP_FOLDDIGITS 0x00000080 // all digits to ASCII 0-9
#if(WINVER >= 0x0500) #if(WINVER >= 0x0500)
skipping to change at line 161 skipping to change at line 208
#define LCMAP_KATAKANA 0x00200000 // map hiragana to katakana #define LCMAP_KATAKANA 0x00200000 // map hiragana to katakana
#define LCMAP_HALFWIDTH 0x00400000 // map double byte to single byte #define LCMAP_HALFWIDTH 0x00400000 // map double byte to single byte
#define LCMAP_FULLWIDTH 0x00800000 // map single byte to double byte #define LCMAP_FULLWIDTH 0x00800000 // map single byte to double byte
#define LCMAP_LINGUISTIC_CASING 0x01000000 // use linguistic rules for casing #define LCMAP_LINGUISTIC_CASING 0x01000000 // use linguistic rules for casing
#define LCMAP_SIMPLIFIED_CHINESE 0x02000000 // map traditional chinese to simp lified chinese #define LCMAP_SIMPLIFIED_CHINESE 0x02000000 // map traditional chinese to simp lified chinese
#define LCMAP_TRADITIONAL_CHINESE 0x04000000 // map simplified chinese to tradi tional chinese #define LCMAP_TRADITIONAL_CHINESE 0x04000000 // map simplified chinese to tradi tional chinese
// //
// Search Flags
//
#define FIND_STARTSWITH 0x00100000 // see if value is at the beginnin
g of source
#define FIND_ENDSWITH 0x00200000 // see if value is at the end of s
ource
#define FIND_FROMSTART 0x00400000 // look for value in source, start
ing at the beginning
#define FIND_FROMEND 0x00800000 // look for value in source, start
ing at the end
//
// Language Group Enumeration Flags. // Language Group Enumeration Flags.
// //
#define LGRPID_INSTALLED 0x00000001 // installed language group ids #define LGRPID_INSTALLED 0x00000001 // installed language group ids
#define LGRPID_SUPPORTED 0x00000002 // supported language group ids #define LGRPID_SUPPORTED 0x00000002 // supported language group ids
// //
// Locale Enumeration Flags. // Locale Enumeration Flags.
// //
#define LCID_INSTALLED 0x00000001 // installed locale ids #define LCID_INSTALLED 0x00000001 // installed locale ids
#define LCID_SUPPORTED 0x00000002 // supported locale ids #define LCID_SUPPORTED 0x00000002 // supported locale ids
#define LCID_ALTERNATE_SORTS 0x00000004 // alternate sort locale ids #define LCID_ALTERNATE_SORTS 0x00000004 // alternate sort locale ids
#if (WINVER >= 0x0600)
//
// Named based enumeration flags.
//
#define LOCALE_ALL 0 // enumerate all named b
ased locales
#define LOCALE_WINDOWS 0x00000001 // shipped locales and/o
r replacements for them
#define LOCALE_SUPPLEMENTAL 0x00000002 // supplemental locales
only
#define LOCALE_ALTERNATE_SORTS 0x00000004 // alternate sort locale
s
#define LOCALE_REPLACEMENT 0x00000008 // replacement locales o
nly (supplemental - custom)
#endif // (WINVER >= 0x0600)
// //
// Code Page Enumeration Flags. // Code Page Enumeration Flags.
// //
#define CP_INSTALLED 0x00000001 // installed code page ids #define CP_INSTALLED 0x00000001 // installed code page ids
#define CP_SUPPORTED 0x00000002 // supported code page ids #define CP_SUPPORTED 0x00000002 // supported code page ids
// //
// Sorting Flags. // Sorting Flags.
// //
// WORD Sort: culturally correct sort // WORD Sort: culturally correct sort
skipping to change at line 389 skipping to change at line 455
#define LOCALE_SLANGUAGE 0x00000002 // localized name of language #define LOCALE_SLANGUAGE 0x00000002 // localized name of language
#define LOCALE_SENGLANGUAGE 0x00001001 // English name of language #define LOCALE_SENGLANGUAGE 0x00001001 // English name of language
#define LOCALE_SABBREVLANGNAME 0x00000003 // abbreviated language name #define LOCALE_SABBREVLANGNAME 0x00000003 // abbreviated language name
#define LOCALE_SNATIVELANGNAME 0x00000004 // native name of language #define LOCALE_SNATIVELANGNAME 0x00000004 // native name of language
#define LOCALE_ICOUNTRY 0x00000005 // country code #define LOCALE_ICOUNTRY 0x00000005 // country code
#define LOCALE_SCOUNTRY 0x00000006 // localized name of country #define LOCALE_SCOUNTRY 0x00000006 // localized name of country
#define LOCALE_SENGCOUNTRY 0x00001002 // English name of country #define LOCALE_SENGCOUNTRY 0x00001002 // English name of country
#define LOCALE_SABBREVCTRYNAME 0x00000007 // abbreviated country name #define LOCALE_SABBREVCTRYNAME 0x00000007 // abbreviated country name
#define LOCALE_SNATIVECTRYNAME 0x00000008 // native name of country #define LOCALE_SNATIVECTRYNAME 0x00000008 // native name of country
#define LOCALE_IGEOID 0x0000005B // geographical location id
#define LOCALE_IDEFAULTLANGUAGE 0x00000009 // default language id #define LOCALE_IDEFAULTLANGUAGE 0x00000009 // default language id
#define LOCALE_IDEFAULTCOUNTRY 0x0000000A // default country code #define LOCALE_IDEFAULTCOUNTRY 0x0000000A // default country code
#define LOCALE_IDEFAULTCODEPAGE 0x0000000B // default oem code page #define LOCALE_IDEFAULTCODEPAGE 0x0000000B // default oem code page
#define LOCALE_IDEFAULTANSICODEPAGE 0x00001004 // default ansi code page #define LOCALE_IDEFAULTANSICODEPAGE 0x00001004 // default ansi code page
#define LOCALE_IDEFAULTMACCODEPAGE 0x00001011 // default mac code page #define LOCALE_IDEFAULTMACCODEPAGE 0x00001011 // default mac code page
#define LOCALE_SLIST 0x0000000C // list item separator #define LOCALE_SLIST 0x0000000C // list item separator
#define LOCALE_IMEASURE 0x0000000D // 0 = metric, 1 = US #define LOCALE_IMEASURE 0x0000000D // 0 = metric, 1 = US
#define LOCALE_SDECIMAL 0x0000000E // decimal separator #define LOCALE_SDECIMAL 0x0000000E // decimal separator
#define LOCALE_STHOUSAND 0x0000000F // thousand separator #define LOCALE_STHOUSAND 0x0000000F // thousand separator
#define LOCALE_SGROUPING 0x00000010 // digit grouping #define LOCALE_SGROUPING 0x00000010 // digit grouping
#define LOCALE_IDIGITS 0x00000011 // number of fractional digit s #define LOCALE_IDIGITS 0x00000011 // number of fractional digit s
#define LOCALE_ILZERO 0x00000012 // leading zeros for decimal #define LOCALE_ILZERO 0x00000012 // leading zeros for decimal
#define LOCALE_INEGNUMBER 0x00001010 // negative number mode #define LOCALE_INEGNUMBER 0x00001010 // negative number mode
#define LOCALE_SNATIVEDIGITS 0x00000013 // native ascii 0-9 #define LOCALE_SNATIVEDIGITS 0x00000013 // native digits for 0-9
#define LOCALE_SCURRENCY 0x00000014 // local monetary symbol #define LOCALE_SCURRENCY 0x00000014 // local monetary symbol
#define LOCALE_SINTLSYMBOL 0x00000015 // intl monetary symbol #define LOCALE_SINTLSYMBOL 0x00000015 // intl monetary symbol
#define LOCALE_SMONDECIMALSEP 0x00000016 // monetary decimal separator #define LOCALE_SMONDECIMALSEP 0x00000016 // monetary decimal separator
#define LOCALE_SMONTHOUSANDSEP 0x00000017 // monetary thousand separato r #define LOCALE_SMONTHOUSANDSEP 0x00000017 // monetary thousand separato r
#define LOCALE_SMONGROUPING 0x00000018 // monetary grouping #define LOCALE_SMONGROUPING 0x00000018 // monetary grouping
#define LOCALE_ICURRDIGITS 0x00000019 // # local monetary digits #define LOCALE_ICURRDIGITS 0x00000019 // # local monetary digits
#define LOCALE_IINTLCURRDIGITS 0x0000001A // # intl monetary digits #define LOCALE_IINTLCURRDIGITS 0x0000001A // # intl monetary digits
#define LOCALE_ICURRENCY 0x0000001B // positive currency mode #define LOCALE_ICURRENCY 0x0000001B // positive currency mode
#define LOCALE_INEGCURR 0x0000001C // negative currency mode #define LOCALE_INEGCURR 0x0000001C // negative currency mode
#define LOCALE_SDATE 0x0000001D // date separator #define LOCALE_SDATE 0x0000001D // date separator (derived fr
#define LOCALE_STIME 0x0000001E // time separator om LOCALE_SSHORTDATE, use that instead)
#define LOCALE_STIME 0x0000001E // time separator (derived fr
om LOCALE_STIMEFORMAT, use that instead)
#define LOCALE_SSHORTDATE 0x0000001F // short date format string #define LOCALE_SSHORTDATE 0x0000001F // short date format string
#define LOCALE_SLONGDATE 0x00000020 // long date format string #define LOCALE_SLONGDATE 0x00000020 // long date format string
#define LOCALE_STIMEFORMAT 0x00001003 // time format string #define LOCALE_STIMEFORMAT 0x00001003 // time format string
#define LOCALE_IDATE 0x00000021 // short date format ordering #define LOCALE_IDATE 0x00000021 // short date format ordering
#define LOCALE_ILDATE 0x00000022 // long date format ordering (derived from LOCALE_SSHORTDATE, use that instead)
#define LOCALE_ITIME 0x00000023 // time format specifier #define LOCALE_ILDATE 0x00000022 // long date format ordering
#define LOCALE_ITIMEMARKPOSN 0x00001005 // time marker position (derived from LOCALE_SLONGDATE, use that instead)
#define LOCALE_ICENTURY 0x00000024 // century format specifier ( #define LOCALE_ITIME 0x00000023 // time format specifier (der
short date) ived from LOCALE_STIMEFORMAT, use that instead)
#define LOCALE_ITLZERO 0x00000025 // leading zeros in time fiel #define LOCALE_ITIMEMARKPOSN 0x00001005 // time marker position (deri
d ved from LOCALE_STIMEFORMAT, use that instead)
#define LOCALE_IDAYLZERO 0x00000026 // leading zeros in day field #define LOCALE_ICENTURY 0x00000024 // century format specifier (
(short date) short date, LOCALE_SSHORTDATE is preferred)
#define LOCALE_IMONLZERO 0x00000027 // leading zeros in month fie #define LOCALE_ITLZERO 0x00000025 // leading zeros in time fiel
ld (short date) d (derived from LOCALE_STIMEFORMAT, use that instead)
#define LOCALE_IDAYLZERO 0x00000026 // leading zeros in day field
(short date, LOCALE_SSHORTDATE is preferred)
#define LOCALE_IMONLZERO 0x00000027 // leading zeros in month fie
ld (short date, LOCALE_SSHORTDATE is preferred)
#define LOCALE_S1159 0x00000028 // AM designator #define LOCALE_S1159 0x00000028 // AM designator
#define LOCALE_S2359 0x00000029 // PM designator #define LOCALE_S2359 0x00000029 // PM designator
#define LOCALE_ICALENDARTYPE 0x00001009 // type of calendar specifier #define LOCALE_ICALENDARTYPE 0x00001009 // type of calendar specifier
#define LOCALE_IOPTIONALCALENDAR 0x0000100B // additional calendar types specifier #define LOCALE_IOPTIONALCALENDAR 0x0000100B // additional calendar types specifier
#define LOCALE_IFIRSTDAYOFWEEK 0x0000100C // first day of week specifie r #define LOCALE_IFIRSTDAYOFWEEK 0x0000100C // first day of week specifie r
#define LOCALE_IFIRSTWEEKOFYEAR 0x0000100D // first week of year specifi er #define LOCALE_IFIRSTWEEKOFYEAR 0x0000100D // first week of year specifi er
#define LOCALE_SDAYNAME1 0x0000002A // long name for Monday #define LOCALE_SDAYNAME1 0x0000002A // long name for Monday
#define LOCALE_SDAYNAME2 0x0000002B // long name for Tuesday #define LOCALE_SDAYNAME2 0x0000002B // long name for Tuesday
skipping to change at line 481 skipping to change at line 548
#define LOCALE_SABBREVMONTHNAME7 0x0000004A // abbreviated name for July #define LOCALE_SABBREVMONTHNAME7 0x0000004A // abbreviated name for July
#define LOCALE_SABBREVMONTHNAME8 0x0000004B // abbreviated name for Augus t #define LOCALE_SABBREVMONTHNAME8 0x0000004B // abbreviated name for Augus t
#define LOCALE_SABBREVMONTHNAME9 0x0000004C // abbreviated name for Septe mber #define LOCALE_SABBREVMONTHNAME9 0x0000004C // abbreviated name for Septe mber
#define LOCALE_SABBREVMONTHNAME10 0x0000004D // abbreviated name for Octob er #define LOCALE_SABBREVMONTHNAME10 0x0000004D // abbreviated name for Octob er
#define LOCALE_SABBREVMONTHNAME11 0x0000004E // abbreviated name for Novem ber #define LOCALE_SABBREVMONTHNAME11 0x0000004E // abbreviated name for Novem ber
#define LOCALE_SABBREVMONTHNAME12 0x0000004F // abbreviated name for Decem ber #define LOCALE_SABBREVMONTHNAME12 0x0000004F // abbreviated name for Decem ber
#define LOCALE_SABBREVMONTHNAME13 0x0000100F // abbreviated name for 13th month (if exists) #define LOCALE_SABBREVMONTHNAME13 0x0000100F // abbreviated name for 13th month (if exists)
#define LOCALE_SPOSITIVESIGN 0x00000050 // positive sign #define LOCALE_SPOSITIVESIGN 0x00000050 // positive sign
#define LOCALE_SNEGATIVESIGN 0x00000051 // negative sign #define LOCALE_SNEGATIVESIGN 0x00000051 // negative sign
#define LOCALE_IPOSSIGNPOSN 0x00000052 // positive sign position #define LOCALE_IPOSSIGNPOSN 0x00000052 // positive sign position (de
#define LOCALE_INEGSIGNPOSN 0x00000053 // negative sign position rived from INEGCURR)
#define LOCALE_IPOSSYMPRECEDES 0x00000054 // mon sym precedes pos amt #define LOCALE_INEGSIGNPOSN 0x00000053 // negative sign position (de
#define LOCALE_IPOSSEPBYSPACE 0x00000055 // mon sym sep by space from rived from INEGCURR)
pos amt #define LOCALE_IPOSSYMPRECEDES 0x00000054 // mon sym precedes pos amt (
#define LOCALE_INEGSYMPRECEDES 0x00000056 // mon sym precedes neg amt derived from ICURRENCY)
#define LOCALE_INEGSEPBYSPACE 0x00000057 // mon sym sep by space from #define LOCALE_IPOSSEPBYSPACE 0x00000055 // mon sym sep by space from
neg amt pos amt (derived from ICURRENCY)
#define LOCALE_INEGSYMPRECEDES 0x00000056 // mon sym precedes neg amt (
derived from INEGCURR)
#define LOCALE_INEGSEPBYSPACE 0x00000057 // mon sym sep by space from
neg amt (derived from INEGCURR)
#if(WINVER >= 0x0400) #if(WINVER >= 0x0400)
#define LOCALE_FONTSIGNATURE 0x00000058 // font signature #define LOCALE_FONTSIGNATURE 0x00000058 // font signature
#define LOCALE_SISO639LANGNAME 0x00000059 // ISO abbreviated language n ame #define LOCALE_SISO639LANGNAME 0x00000059 // ISO abbreviated language n ame
#define LOCALE_SISO3166CTRYNAME 0x0000005A // ISO abbreviated country na me #define LOCALE_SISO3166CTRYNAME 0x0000005A // ISO abbreviated country na me
#endif /* WINVER >= 0x0400 */ #endif /* WINVER >= 0x0400 */
#if(WINVER >= 0x0500) #if(WINVER >= 0x0500)
#define LOCALE_IDEFAULTEBCDICCODEPAGE 0x00001012 // default ebcdic code page #define LOCALE_IDEFAULTEBCDICCODEPAGE 0x00001012 // default ebcdic code page
#define LOCALE_IPAPERSIZE 0x0000100A // 1 = letter, 5 = legal, 8 = a3, 9 = a4 #define LOCALE_IPAPERSIZE 0x0000100A // 1 = letter, 5 = legal, 8 = a3, 9 = a4
#define LOCALE_SENGCURRNAME 0x00001007 // english name of currency #define LOCALE_SENGCURRNAME 0x00001007 // english name of currency
#define LOCALE_SNATIVECURRNAME 0x00001008 // native name of currency #define LOCALE_SNATIVECURRNAME 0x00001008 // native name of currency
#define LOCALE_SYEARMONTH 0x00001006 // year month format string #define LOCALE_SYEARMONTH 0x00001006 // year month format string
#define LOCALE_SSORTNAME 0x00001013 // sort name #define LOCALE_SSORTNAME 0x00001013 // sort name
#define LOCALE_IDIGITSUBSTITUTION 0x00001014 // 0 = context, 1 = none, 2 = national #define LOCALE_IDIGITSUBSTITUTION 0x00001014 // 0 = context, 1 = none, 2 = national
#endif /* WINVER >= 0x0500 */ #endif /* WINVER >= 0x0500 */
#if (WINVER >= 0x0600)
#define LOCALE_SNAME 0x0000005c // locale name (ie: en-us)
#define LOCALE_SDURATION 0x0000005d // time duration format
#define LOCALE_SKEYBOARDSTOINSTALL 0x0000005e
#define LOCALE_SSHORTESTDAYNAME1 0x00000060 // Shortest day name for Mond
ay
#define LOCALE_SSHORTESTDAYNAME2 0x00000061 // Shortest day name for Tues
day
#define LOCALE_SSHORTESTDAYNAME3 0x00000062 // Shortest day name for Wedn
esday
#define LOCALE_SSHORTESTDAYNAME4 0x00000063 // Shortest day name for Thur
sday
#define LOCALE_SSHORTESTDAYNAME5 0x00000064 // Shortest day name for Frid
ay
#define LOCALE_SSHORTESTDAYNAME6 0x00000065 // Shortest day name for Satu
rday
#define LOCALE_SSHORTESTDAYNAME7 0x00000066 // Shortest day name for Sund
ay
#define LOCALE_SISO639LANGNAME2 0x00000067 // 3 character ISO abbreviate
d language name
#define LOCALE_SISO3166CTRYNAME2 0x00000068 // 3 character ISO country na
me
#define LOCALE_SNAN 0x00000069 // Not a Number
#define LOCALE_SPOSINFINITY 0x0000006a // + Infinity
#define LOCALE_SNEGINFINITY 0x0000006b // - Infinity
#define LOCALE_SSCRIPTS 0x0000006c // Typical scripts in the loc
ale
#define LOCALE_SPARENT 0x0000006d // Fallback name for resource
s
#define LOCALE_SCONSOLEFALLBACKNAME 0x0000006e // Fallback name for within t
he console
#define LOCALE_SLANGDISPLAYNAME 0x0000006f // Lanugage Display Name for
a language
#endif //(WINVER >= 0x0600)
// //
// Time Flags for GetTimeFormat. // Time Flags for GetTimeFormat.
// //
#define TIME_NOMINUTESORSECONDS 0x00000001 // do not use minutes or seconds #define TIME_NOMINUTESORSECONDS 0x00000001 // do not use minutes or seconds
#define TIME_NOSECONDS 0x00000002 // do not use seconds #define TIME_NOSECONDS 0x00000002 // do not use seconds
#define TIME_NOTIMEMARKER 0x00000004 // do not use time marker #define TIME_NOTIMEMARKER 0x00000004 // do not use time marker
#define TIME_FORCE24HOURFORMAT 0x00000008 // always use 24 hour format #define TIME_FORCE24HOURFORMAT 0x00000008 // always use 24 hour format
// //
// Date Flags for GetDateFormat. // Date Flags for GetDateFormat.
skipping to change at line 609 skipping to change at line 698
#define CAL_SABBREVMONTHNAME10 0x0000002b // abbreviated name for October #define CAL_SABBREVMONTHNAME10 0x0000002b // abbreviated name for October
#define CAL_SABBREVMONTHNAME11 0x0000002c // abbreviated name for November #define CAL_SABBREVMONTHNAME11 0x0000002c // abbreviated name for November
#define CAL_SABBREVMONTHNAME12 0x0000002d // abbreviated name for December #define CAL_SABBREVMONTHNAME12 0x0000002d // abbreviated name for December
#define CAL_SABBREVMONTHNAME13 0x0000002e // abbreviated name for 13th month (if any) #define CAL_SABBREVMONTHNAME13 0x0000002e // abbreviated name for 13th month (if any)
#if(WINVER >= 0x0500) #if(WINVER >= 0x0500)
#define CAL_SYEARMONTH 0x0000002f // year month format string #define CAL_SYEARMONTH 0x0000002f // year month format string
#define CAL_ITWODIGITYEARMAX 0x00000030 // two digit year max #define CAL_ITWODIGITYEARMAX 0x00000030 // two digit year max
#endif /* WINVER >= 0x0500 */ #endif /* WINVER >= 0x0500 */
#if (WINVER >= 0x0600)
#define CAL_SSHORTESTDAYNAME1 0x00000031 // Shortest day name for Monday
#define CAL_SSHORTESTDAYNAME2 0x00000032 // Shortest day name for Tuesday
#define CAL_SSHORTESTDAYNAME3 0x00000033 // Shortest day name for Wednesday
#define CAL_SSHORTESTDAYNAME4 0x00000034 // Shortest day name for Thursday
#define CAL_SSHORTESTDAYNAME5 0x00000035 // Shortest day name for Friday
#define CAL_SSHORTESTDAYNAME6 0x00000036 // Shortest day name for Saturday
#define CAL_SSHORTESTDAYNAME7 0x00000037 // Shortest day name for Sunday
#endif //(WINVER >= 0x0600)
// //
// Calendar Enumeration Value. // Calendar Enumeration Value.
// //
#define ENUM_ALL_CALENDARS 0xffffffff // enumerate all calendars #define ENUM_ALL_CALENDARS 0xffffffff // enumerate all calendars
// //
// Calendar ID Values. // Calendar ID Values.
// //
#define CAL_GREGORIAN 1 // Gregorian (localized) calendar #define CAL_GREGORIAN 1 // Gregorian (localized) calendar
#define CAL_GREGORIAN_US 2 // Gregorian (U.S.) calendar #define CAL_GREGORIAN_US 2 // Gregorian (U.S.) calendar
#define CAL_JAPAN 3 // Japanese Emperor Era calendar #define CAL_JAPAN 3 // Japanese Emperor Era calendar
#define CAL_TAIWAN 4 // Taiwan calendar #define CAL_TAIWAN 4 // Taiwan calendar
#define CAL_KOREA 5 // Korean Tangun Era calendar #define CAL_KOREA 5 // Korean Tangun Era calendar
#define CAL_HIJRI 6 // Hijri (Arabic Lunar) calendar #define CAL_HIJRI 6 // Hijri (Arabic Lunar) calendar
#define CAL_THAI 7 // Thai calendar #define CAL_THAI 7 // Thai calendar
#define CAL_HEBREW 8 // Hebrew (Lunar) calendar #define CAL_HEBREW 8 // Hebrew (Lunar) calendar
#define CAL_GREGORIAN_ME_FRENCH 9 // Gregorian Middle East French ca lendar #define CAL_GREGORIAN_ME_FRENCH 9 // Gregorian Middle East French ca lendar
#define CAL_GREGORIAN_ARABIC 10 // Gregorian Arabic calendar #define CAL_GREGORIAN_ARABIC 10 // Gregorian Arabic calendar
#define CAL_GREGORIAN_XLIT_ENGLISH 11 // Gregorian Transliterated Englis h calendar #define CAL_GREGORIAN_XLIT_ENGLISH 11 // Gregorian Transliterated Englis h calendar
#define CAL_GREGORIAN_XLIT_FRENCH 12 // Gregorian Transliterated French calendar #define CAL_GREGORIAN_XLIT_FRENCH 12 // Gregorian Transliterated French calendar
#define CAL_UMALQURA 23 // UmAlQura Hijri (Arabic Lunar) c alendar
// //
// Language Group ID Values. // Language Group ID Values.
// //
#define LGRPID_WESTERN_EUROPE 0x0001 // Western Europe & U.S. #define LGRPID_WESTERN_EUROPE 0x0001 // Western Europe & U.S.
#define LGRPID_CENTRAL_EUROPE 0x0002 // Central Europe #define LGRPID_CENTRAL_EUROPE 0x0002 // Central Europe
#define LGRPID_BALTIC 0x0003 // Baltic #define LGRPID_BALTIC 0x0003 // Baltic
#define LGRPID_GREEK 0x0004 // Greek #define LGRPID_GREEK 0x0004 // Greek
#define LGRPID_CYRILLIC 0x0005 // Cyrillic #define LGRPID_CYRILLIC 0x0005 // Cyrillic
#define LGRPID_TURKIC 0x0006 // Turkic
#define LGRPID_TURKISH 0x0006 // Turkish #define LGRPID_TURKISH 0x0006 // Turkish
#define LGRPID_JAPANESE 0x0007 // Japanese #define LGRPID_JAPANESE 0x0007 // Japanese
#define LGRPID_KOREAN 0x0008 // Korean #define LGRPID_KOREAN 0x0008 // Korean
#define LGRPID_TRADITIONAL_CHINESE 0x0009 // Traditional Chinese #define LGRPID_TRADITIONAL_CHINESE 0x0009 // Traditional Chinese
#define LGRPID_SIMPLIFIED_CHINESE 0x000a // Simplified Chinese #define LGRPID_SIMPLIFIED_CHINESE 0x000a // Simplified Chinese
#define LGRPID_THAI 0x000b // Thai #define LGRPID_THAI 0x000b // Thai
#define LGRPID_HEBREW 0x000c // Hebrew #define LGRPID_HEBREW 0x000c // Hebrew
#define LGRPID_ARABIC 0x000d // Arabic #define LGRPID_ARABIC 0x000d // Arabic
#define LGRPID_VIETNAMESE 0x000e // Vietnamese #define LGRPID_VIETNAMESE 0x000e // Vietnamese
#define LGRPID_INDIC 0x000f // Indic #define LGRPID_INDIC 0x000f // Indic
#define LGRPID_GEORGIAN 0x0010 // Georgian #define LGRPID_GEORGIAN 0x0010 // Georgian
#define LGRPID_ARMENIAN 0x0011 // Armenian #define LGRPID_ARMENIAN 0x0011 // Armenian
#if (WINVER >= 0x0600)
//
// MUI function flag values
//
#define MUI_LANGUAGE_ID 0x4 // Use traditional language
ID convention
#define MUI_LANGUAGE_NAME 0x8 // Use ISO language (cultur
e) name convention
#define MUI_MERGE_SYSTEM_FALLBACK 0x10 // GetThreadPreferredUILang
uages merges in parent and base languages
#define MUI_MERGE_USER_FALLBACK 0x20 // GetThreadPreferredUILang
uages merges in user preferred languages
#define MUI_THREAD_LANGUAGES 0x40 // GetThreadPreferredUILang
uages merges in user preferred languages
#define MUI_CONSOLE_FILTER 0x100 // SetThreadPreferredUILang
uages takes on console specific behavior
#define MUI_COMPLEX_SCRIPT_FILTER 0x200 // SetThreadPreferredUILang
uages takes on complex script specific behavior
#define MUI_RESET_FILTERS 0x001 // Reset MUI_CONSOLE_FILTER
and MUI_COMPLEX_SCRIPT_FILTER
#define MUI_USER_PREFERRED_UI_LANGUAGES 0x10 // GetFileMUIPath returns t
he MUI files for the languages in the fallback list
#define MUI_USE_INSTALLED_LANGUAGES 0x20 // GetFileMUIPath returns a
ll the MUI files installed in the machine
#define MUI_USE_SEARCH_ALL_LANGUAGES 0x40 // GetFileMUIPath returns a
ll the MUI files irrespective of whether language is installed
#define MUI_LANG_NEUTRAL_PE_FILE 0x100 // GetFileMUIPath returns t
arget file with .mui extension
#define MUI_NON_LANG_NEUTRAL_FILE 0x200 // GetFileMUIPath returns t
arget file with same name as source
#define MUI_MACHINE_LANGUAGE_SETTINGS 0x400
#define MUI_BYPASS_SESSION_BEHAVIOR 0x80 //EnumUILanguages,GetFileMUI
Info: includes latest changes in installed languages
#define MUI_FILETYPE_NOT_LANGUAGE_NEUTRAL 0x001 // GetFileMUIInfo found a no
n-split resource file
#define MUI_FILETYPE_LANGUAGE_NEUTRAL_MAIN 0x002 // GetFileMUIInfo found a LN
main module resource file
#define MUI_FILETYPE_LANGUAGE_NEUTRAL_MUI 0x004 // GetFileMUIInfo found a LN
MUI module resource file
#define MUI_QUERY_TYPE 0x001 // GetFileMUIInfo will look
for the type of the resource file
#define MUI_QUERY_CHECKSUM 0x002 // GetFileMUIInfo will look
for the checksum of the resource file
#define MUI_QUERY_LANGUAGE_NAME 0x004 // GetFileMUIInfo will look
for the culture of the resource file
#define MUI_QUERY_RESOURCE_TYPES 0x008 // GetFileMUIInfo will look
for the resource types of the resource file
#define MUI_FILEINFO_VERSION 0x001 // Version of FILEMUIINFO st
ructure used with GetFileMUIInfo
#define MUI_SXS_FALLBACK 0x00010000 // SXS
#define MUI_FULL_LANGUAGE 0x01
#define MUI_PARTIAL_LANGUAGE 0x02
#define MUI_LIP_LANGUAGE 0x04
#define MUI_LANGUAGE_INSTALLED 0x20
#define MUI_LANGUAGE_LICENSED 0x40
#define MUI_PUBLIC_LANGUAGE_TYPE_FLAGS_MASK 0x67
//
// MUI_CALLBACK_FLAG defines are duplicated in rtlmui.h
//
#define MUI_CALLBACK_ALL_FLAGS MUI_CALLBACK_FLAG_UPGRADED
_INSTALLATION // OR all other flags when defined.
//
// MUI_CALLBACK_ flags are duplicated in rtlmui.h
//
#endif
//////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////
// //
// Typedefs // Typedefs
// //
// Define all types for the NLS component here. // Define all types for the NLS component here.
// //
//////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////
// //
// Language Group ID. // Language Group ID.
skipping to change at line 787 skipping to change at line 937
enum SYSNLS_FUNCTION{ enum SYSNLS_FUNCTION{
COMPARE_STRING = 0x0001, COMPARE_STRING = 0x0001,
}; };
typedef DWORD NLS_FUNCTION; typedef DWORD NLS_FUNCTION;
// //
// NLS version structure. // NLS version structure.
// //
typedef struct _nlsversioninfo{ typedef struct _nlsversioninfo{
DWORD dwNLSVersionInfoSize; DWORD dwNLSVersionInfoSize; // 12 bytes
DWORD dwNLSVersion; DWORD dwNLSVersion;
DWORD dwDefinedVersion; DWORD dwDefinedVersion;
} NLSVERSIONINFO, *LPNLSVERSIONINFO; } NLSVERSIONINFO, *LPNLSVERSIONINFO;
typedef struct _nlsversioninfoex{
DWORD dwNLSVersionInfoSize; // sizeof(NLSVERSIONINFOEX) == 32 bytes
DWORD dwNLSVersion;
DWORD dwDefinedVersion;
DWORD dwEffectiveId;
GUID guidCustomVersion;
} NLSVERSIONINFOEX, *LPNLSVERSIONINFOEX;
// //
// GEO defines // GEO defines
// //
typedef LONG GEOID; typedef LONG GEOID;
typedef DWORD GEOTYPE; typedef DWORD GEOTYPE;
typedef DWORD GEOCLASS; typedef DWORD GEOCLASS;
#define GEOID_NOT_AVAILABLE -1 #define GEOID_NOT_AVAILABLE -1
skipping to change at line 829 skipping to change at line 987
// //
// More GEOCLASS defines will be listed here // More GEOCLASS defines will be listed here
// //
enum SYSGEOCLASS { enum SYSGEOCLASS {
GEOCLASS_NATION = 16, GEOCLASS_NATION = 16,
GEOCLASS_REGION = 14, GEOCLASS_REGION = 14,
}; };
#if (WINVER >= 0x0600)
//
// Normalization forms
//
typedef enum _NORM_FORM {
NormalizationOther = 0, // Not supported
NormalizationC = 0x1, // Each base plus combining characters to the
canonical precomposed equivalent.
NormalizationD = 0x2, // Each precomposed character to its canonica
l decomposed equivalent.
NormalizationKC = 0x5, // Each base plus combining characters to the
canonical precomposed
// equivalents and all compatibility charac
ters to their equivalents.
NormalizationKD = 0x6 // Each precomposed character to its canonica
l decomposed equivalent
// and all compatibility characters to thei
r equivalents.
} NORM_FORM;
//
// IDN (International Domain Name) Flags
//
#define IDN_ALLOW_UNASSIGNED 0x01 // Allow unassigned "query" behavior p
er RFC 3454
#define IDN_USE_STD3_ASCII_RULES 0x02 // Enforce STD3 ASCII restrictions for
legal characters
#define VS_ALLOW_LATIN 0x0001 // Allow Latin in test script even i
f not present in locale script
#define GSS_ALLOW_INHERITED_COMMON 0x0001 // Output script ids for inherited a
nd common character types if present
#endif //(WINVER >= 0x0600)
// //
// Enumeration function constants. // Enumeration function constants.
// //
#ifdef STRICT #ifdef STRICT
typedef BOOL (CALLBACK* LANGUAGEGROUP_ENUMPROCA)(LGRPID, LPSTR, LPSTR, DWORD, LO NG_PTR); typedef BOOL (CALLBACK* LANGUAGEGROUP_ENUMPROCA)(LGRPID, LPSTR, LPSTR, DWORD, LO NG_PTR);
typedef BOOL (CALLBACK* LANGGROUPLOCALE_ENUMPROCA)(LGRPID, LCID, LPSTR, LONG_PTR ); typedef BOOL (CALLBACK* LANGGROUPLOCALE_ENUMPROCA)(LGRPID, LCID, LPSTR, LONG_PTR );
typedef BOOL (CALLBACK* UILANGUAGE_ENUMPROCA)(LPSTR, LONG_PTR); typedef BOOL (CALLBACK* UILANGUAGE_ENUMPROCA)(LPSTR, LONG_PTR);
typedef BOOL (CALLBACK* LOCALE_ENUMPROCA)(LPSTR); typedef BOOL (CALLBACK* LOCALE_ENUMPROCA)(LPSTR);
skipping to change at line 913 skipping to change at line 1097
#define LOCALE_ENUMPROC LOCALE_ENUMPROCA #define LOCALE_ENUMPROC LOCALE_ENUMPROCA
#define CODEPAGE_ENUMPROC CODEPAGE_ENUMPROCA #define CODEPAGE_ENUMPROC CODEPAGE_ENUMPROCA
#define DATEFMT_ENUMPROC DATEFMT_ENUMPROCA #define DATEFMT_ENUMPROC DATEFMT_ENUMPROCA
#define DATEFMT_ENUMPROCEX DATEFMT_ENUMPROCEXA #define DATEFMT_ENUMPROCEX DATEFMT_ENUMPROCEXA
#define TIMEFMT_ENUMPROC TIMEFMT_ENUMPROCA #define TIMEFMT_ENUMPROC TIMEFMT_ENUMPROCA
#define CALINFO_ENUMPROC CALINFO_ENUMPROCA #define CALINFO_ENUMPROC CALINFO_ENUMPROCA
#define CALINFO_ENUMPROCEX CALINFO_ENUMPROCEXA #define CALINFO_ENUMPROCEX CALINFO_ENUMPROCEXA
#endif // !UNICODE #endif // !UNICODE
//
// Information about a MUI file, used as input/output in GetFileMUIInfo
// All offsets are relative to start of the structure. Offsets with value 0 mean
empty field.
//
typedef struct _FILEMUIINFO {
DWORD dwSize; // Size of the structure including buffe
r size [in]
DWORD dwVersion; // Version of the structure [in]
DWORD dwFileType; // Type of the file [out]
BYTE pChecksum[16]; // Checksum of the file [out]
BYTE pServiceChecksum[16]; // Checksum of the file [out]
DWORD dwLanguageNameOffset; // Language name of the file [out]
DWORD dwTypeIDMainSize; // Number of TypeIDs in main module [out
]
DWORD dwTypeIDMainOffset; // Array of TypeIDs (DWORD) in main modu
le [out]
DWORD dwTypeNameMainOffset; // Multistring array of TypeNames in mai
n module [out]
DWORD dwTypeIDMUISize; // Number of TypeIDs in MUI module [out]
DWORD dwTypeIDMUIOffset; // Array of TypeIDs (DWORD) in MUI modul
e [out]
DWORD dwTypeNameMUIOffset; // Multistring array of TypeNames in MUI
module [out]
BYTE abBuffer[8]; // Buffer for extra data [in] (Size 4 i
s for padding)
} FILEMUIINFO, *PFILEMUIINFO;
//////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////
// //
// Macros // Macros
// //
// Define all macros for the NLS component here. // Define all macros for the NLS component here.
// //
//////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////
//
// Macros to determine whether a character is a high or low surrogate,
// and whether two code points make up a surrogate pair (a high surrogate
// and a low surrogate).
//
#define IS_HIGH_SURROGATE(wch) (((wch) >= HIGH_SURROGATE_START) && ((wch) <= HIG
H_SURROGATE_END))
#define IS_LOW_SURROGATE(wch) (((wch) >= LOW_SURROGATE_START) && ((wch) <= LOW_
SURROGATE_END))
#define IS_SURROGATE_PAIR(hs, ls) (IS_HIGH_SURROGATE(hs) && IS_LOW_SURROGATE(ls)
)
// ----------------------------------------------------------------------
// The following macros retrieve information from a MUIFILEINFO structure
//
// Gets the culture name (LPWSTR), NULL if not initialized
#define FILEMUIINFO_GET_CULTURE(pInfo) \
((LPWSTR)((pInfo->dwLanguageNameOffset>0)?(ULONG_PTR)pInfo+pInfo->dwLanguage
NameOffset:NULL))
//
// Gets the main module types array (DWORD[]), NULL if not initialized
#define FILEMUIINFO_GET_MAIN_TYPEIDS(pInfo) \
((DWORD*)((pInfo->dwTypeIDMainOffset>0)?(ULONG_PTR)pInfo+pInfo->dwTypeIDMain
Offset:NULL))
//
// Gets the main module type array element iType (DWORD), the array is not initi
alized or index is out of bounds
#define FILEMUIINFO_GET_MAIN_TYPEID(pInfo,iType) \
(((iType<pInfo->dwTypeIDMainSize)&&(pInfo->dwTypeIDMainOffset>0))?*((DWORD*)
((ULONG_PTR)pInfo+pInfo->dwTypeIDMainOffset)+iType):0)
//
// Gets the main module names multistring array (LPWSTR), NULL if not initialize
d
#define FILEMUIINFO_GET_MAIN_TYPENAMES(pInfo) \
((LPWSTR)((pInfo->dwTypeNameMainOffset>0)?(ULONG_PTR)pInfo+pInfo->dwTypeName
MainOffset:NULL))
//
// Gets the mui module types array (DWORD[]), NULL if not initialized
#define FILEMUIINFO_GET_MUI_TYPEIDS(pInfo) \
((DWORD*)((pInfo->dwTypeIDMUIOffset>0)?(ULONG_PTR)pInfo+pInfo->dwTypeIDMUIOf
fset:NULL))
//
// Gets the mui module type array element iType (DWORD), the array is not initia
lized or index is out of bounds
#define FILEMUIINFO_GET_MUI_TYPEID(pInfo,iType) \
(((iType<pInfo->dwTypeIDMUISize)&&(pInfo->dwTypeIDMUIOffset>0))?*((DWORD*)((
ULONG_PTR)pInfo+pInfo->dwTypeIDMUIOffset)+iType):0)
//
// Gets the mui module names multistring array (LPWSTR), NULL if not initialized
#define FILEMUIINFO_GET_MUI_TYPENAMES(pInfo) \
((LPWSTR)((pInfo->dwTypeNameMUIOffset>0)?(ULONG_PTR)pInfo+pInfo->dwTypeNameM
UIOffset:NULL))
// ------------------------------------------------------------------------
//////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////
// //
// Function Prototypes // Function Prototypes
// //
// Only prototypes for the NLS APIs should go here. // Only prototypes for the NLS APIs should go here.
// //
//////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////
// //
// Code Page Dependent APIs. // Code Page Dependent APIs.
skipping to change at line 995 skipping to change at line 1241
IsDBCSLeadByteEx( IsDBCSLeadByteEx(
__in UINT CodePage, __in UINT CodePage,
__in BYTE TestChar); __in BYTE TestChar);
WINBASEAPI WINBASEAPI
int int
WINAPI WINAPI
MultiByteToWideChar( MultiByteToWideChar(
__in UINT CodePage, __in UINT CodePage,
__in DWORD dwFlags, __in DWORD dwFlags,
__in LPCSTR lpMultiByteStr, __in_bcount(cbMultiByte) LPCSTR lpMultiByteStr,
__in int cbMultiByte, __in int cbMultiByte,
__out_ecount_opt(cchWideChar) LPWSTR lpWideCharStr, __out_ecount_opt(cchWideChar) __transfer(lpMultiByteStr) LPWSTR lpWideCharS tr,
__in int cchWideChar); __in int cchWideChar);
WINBASEAPI WINBASEAPI
int int
WINAPI WINAPI
WideCharToMultiByte( WideCharToMultiByte(
__in UINT CodePage, __in UINT CodePage,
__in DWORD dwFlags, __in DWORD dwFlags,
__in_opt LPCWSTR lpWideCharStr, __in_ecount(cchWideChar) LPCWSTR lpWideCharStr,
__in int cchWideChar, __in int cchWideChar,
__out_bcount_opt(cbMultiByte) LPSTR lpMultiByteStr, __out_bcount_opt(cbMultiByte) __transfer(lpWideCharStr) LPSTR lpMultiByteS tr,
__in int cbMultiByte, __in int cbMultiByte,
__in_opt LPCSTR lpDefaultChar, __in_opt LPCSTR lpDefaultChar,
__out_opt LPBOOL lpUsedDefaultChar); __out_opt LPBOOL lpUsedDefaultChar);
// //
// Locale Dependent APIs. // Locale Dependent APIs.
// //
WINBASEAPI WINBASEAPI
int int
WINAPI WINAPI
CompareStringA( CompareStringA(
__in LCID Locale, __in LCID Locale,
__in DWORD dwCmpFlags, __in DWORD dwCmpFlags,
__in LPCSTR lpString1, __in_ecount(cchCount1) LPCSTR lpString1,
__in int cchCount1, __in int cchCount1,
__in LPCSTR lpString2, __in_ecount(cchCount2) LPCSTR lpString2,
__in int cchCount2); __in int cchCount2);
WINBASEAPI WINBASEAPI
int int
WINAPI WINAPI
CompareStringW( CompareStringW(
__in LCID Locale, __in LCID Locale,
__in DWORD dwCmpFlags, __in DWORD dwCmpFlags,
__in LPCWSTR lpString1, __in_ecount(cchCount1) LPCWSTR lpString1,
__in int cchCount1, __in int cchCount1,
__in LPCWSTR lpString2, __in_ecount(cchCount2) LPCWSTR lpString2,
__in int cchCount2); __in int cchCount2);
#ifdef UNICODE #ifdef UNICODE
#define CompareString CompareStringW #define CompareString CompareStringW
#else #else
#define CompareString CompareStringA #define CompareString CompareStringA
#endif // !UNICODE #endif // !UNICODE
#if defined(_M_CEE) #if defined(_M_CEE)
#undef CompareString #undef CompareString
__inline __inline
skipping to change at line 1071 skipping to change at line 1317
Locale, Locale,
dwCmpFlags, dwCmpFlags,
lpString1, lpString1,
cchCount1, cchCount1,
lpString2, lpString2,
cchCount2 cchCount2
); );
} }
#endif /* _M_CEE */ #endif /* _M_CEE */
#if (WINVER >= 0x0600)
WINBASEAPI
int
WINAPI
FindNLSString(
__in LCID Locale,
__in DWORD dwFindNLSStringFlags,
__in_ecount(cchSource) LPCWSTR lpStringSource,
__in int cchSource,
__in_ecount(cchValue) LPCWSTR lpStringValue,
__in int cchValue,
__out_opt LPINT pcchFound);
#endif //(WINVER >= 0x0600)
WINBASEAPI WINBASEAPI
int int
WINAPI WINAPI
LCMapStringA( LCMapStringA(
__in LCID Locale, __in LCID Locale,
__in DWORD dwMapFlags, __in DWORD dwMapFlags,
__in LPCSTR lpSrcStr, __in_ecount(cchSrc) LPCSTR lpSrcStr,
__in int cchSrc, __in int cchSrc,
__out_ecount_opt(cchDest) LPSTR lpDestStr, __out_xcount_opt(cchDest) LPSTR lpDestStr,
__in int cchDest); __in int cchDest);
WINBASEAPI WINBASEAPI
int int
WINAPI WINAPI
LCMapStringW( LCMapStringW(
__in LCID Locale, __in LCID Locale,
__in DWORD dwMapFlags, __in DWORD dwMapFlags,
__in LPCWSTR lpSrcStr, __in_ecount(cchSrc) LPCWSTR lpSrcStr,
__in int cchSrc, __in int cchSrc,
__out_ecount_opt(cchDest) LPWSTR lpDestStr, __out_xcount_opt(cchDest) LPWSTR lpDestStr,
__in int cchDest); __in int cchDest);
#ifdef UNICODE #ifdef UNICODE
#define LCMapString LCMapStringW #define LCMapString LCMapStringW
#else #else
#define LCMapString LCMapStringA #define LCMapString LCMapStringA
#endif // !UNICODE #endif // !UNICODE
WINBASEAPI WINBASEAPI
int int
WINAPI WINAPI
skipping to change at line 1149 skipping to change at line 1411
#if (WINVER >= 0x040A) #if (WINVER >= 0x040A)
WINBASEAPI WINBASEAPI
int int
WINAPI WINAPI
GetCalendarInfoA( GetCalendarInfoA(
__in LCID Locale, __in LCID Locale,
__in CALID Calendar, __in CALID Calendar,
__in CALTYPE CalType, __in CALTYPE CalType,
__out_ecount_opt(cchData) LPSTR lpCalData, __out_ecount_opt(cchData) LPSTR lpCalData,
__in int cchData, __in int cchData,
__in_opt LPDWORD lpValue); __out_opt LPDWORD lpValue);
WINBASEAPI WINBASEAPI
int int
WINAPI WINAPI
GetCalendarInfoW( GetCalendarInfoW(
__in LCID Locale, __in LCID Locale,
__in CALID Calendar, __in CALID Calendar,
__in CALTYPE CalType, __in CALTYPE CalType,
__out_ecount_opt(cchData) LPWSTR lpCalData, __out_ecount_opt(cchData) LPWSTR lpCalData,
__in int cchData, __in int cchData,
__in_opt LPDWORD lpValue); __out_opt LPDWORD lpValue);
#ifdef UNICODE #ifdef UNICODE
#define GetCalendarInfo GetCalendarInfoW #define GetCalendarInfo GetCalendarInfoW
#else #else
#define GetCalendarInfo GetCalendarInfoA #define GetCalendarInfo GetCalendarInfoA
#endif // !UNICODE #endif // !UNICODE
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
SetCalendarInfoA( SetCalendarInfoA(
skipping to change at line 1189 skipping to change at line 1451
__in CALID Calendar, __in CALID Calendar,
__in CALTYPE CalType, __in CALTYPE CalType,
__in LPCWSTR lpCalData); __in LPCWSTR lpCalData);
#ifdef UNICODE #ifdef UNICODE
#define SetCalendarInfo SetCalendarInfoW #define SetCalendarInfo SetCalendarInfoW
#else #else
#define SetCalendarInfo SetCalendarInfoA #define SetCalendarInfo SetCalendarInfoA
#endif // !UNICODE #endif // !UNICODE
#endif #endif
#if (WINVER >= 0x0600)
WINBASEAPI
int
WINAPI
LCIDToLocaleName(
__in LCID Locale,
__out_ecount_opt(cchName) LPWSTR lpName,
__in int cchName,
__in DWORD dwFlags);
WINBASEAPI
LCID
WINAPI
LocaleNameToLCID(
__in LPCWSTR lpName,
__in DWORD dwFlags);
#endif // (WINVER >= 0x0600)
WINBASEAPI WINBASEAPI
int int
WINAPI WINAPI
GetTimeFormatA( GetTimeFormatA(
__in LCID Locale, __in LCID Locale,
__in DWORD dwFlags, __in DWORD dwFlags,
__in_opt CONST SYSTEMTIME *lpTime, __in_opt CONST SYSTEMTIME *lpTime,
__in_opt LPCSTR lpFormat, __in_opt LPCSTR lpFormat,
__out_ecount_opt(cchTime) LPSTR lpTimeStr, __out_ecount_opt(cchTime) LPSTR lpTimeStr,
__in int cchTime); __in int cchTime);
skipping to change at line 1215 skipping to change at line 1496
__in_opt CONST SYSTEMTIME *lpTime, __in_opt CONST SYSTEMTIME *lpTime,
__in_opt LPCWSTR lpFormat, __in_opt LPCWSTR lpFormat,
__out_ecount_opt(cchTime) LPWSTR lpTimeStr, __out_ecount_opt(cchTime) LPWSTR lpTimeStr,
__in int cchTime); __in int cchTime);
#ifdef UNICODE #ifdef UNICODE
#define GetTimeFormat GetTimeFormatW #define GetTimeFormat GetTimeFormatW
#else #else
#define GetTimeFormat GetTimeFormatA #define GetTimeFormat GetTimeFormatA
#endif // !UNICODE #endif // !UNICODE
#if (WINVER >= 0x0600)
WINBASEAPI
int
WINAPI
GetDurationFormat(
__in LCID Locale,
__in DWORD dwFlags,
__in_opt CONST SYSTEMTIME *lpDuration,
__in ULONGLONG ullDuration,
__in_opt LPCWSTR lpFormat,
__out_ecount_opt(cchDuration) LPWSTR lpDurationStr,
__in int cchDuration);
#endif //(WINVER >= 0x0600)
WINBASEAPI WINBASEAPI
int int
WINAPI WINAPI
GetDateFormatA( GetDateFormatA(
__in LCID Locale, __in LCID Locale,
__in DWORD dwFlags, __in DWORD dwFlags,
__in_opt CONST SYSTEMTIME *lpDate, __in_opt CONST SYSTEMTIME *lpDate,
__in_opt LPCSTR lpFormat, __in_opt LPCSTR lpFormat,
__out_ecount_opt(cchDate) LPSTR lpDateStr, __out_ecount_opt(cchDate) LPSTR lpDateStr,
__in int cchDate); __in int cchDate);
skipping to change at line 1414 skipping to change at line 1709
WINAPI WINAPI
IsValidLanguageGroup( IsValidLanguageGroup(
__in LGRPID LanguageGroup, __in LGRPID LanguageGroup,
__in DWORD dwFlags); __in DWORD dwFlags);
#endif /* WINVER >= 0x0500 */ #endif /* WINVER >= 0x0500 */
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
GetNLSVersion( GetNLSVersion(
__in NLS_FUNCTION Function, __in NLS_FUNCTION Function,
__in LCID Locale, __in LCID Locale,
__inout LPNLSVERSIONINFO lpVersionInformation); __inout LPNLSVERSIONINFO lpVersionInformation);
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
IsNLSDefinedString( IsNLSDefinedString(
__in NLS_FUNCTION Function, __in NLS_FUNCTION Function,
__in DWORD dwFlags, __in DWORD dwFlags,
__in LPNLSVERSIONINFO lpVersionInformation, __in LPNLSVERSIONINFO lpVersionInformation,
__in LPCWSTR lpString, __in_ecount(cchStr) LPCWSTR lpString,
__in INT cchStr); __in INT cchStr);
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
IsValidLocale( IsValidLocale(
__in LCID Locale, __in LCID Locale,
__in DWORD dwFlags); __in DWORD dwFlags);
WINBASEAPI WINBASEAPI
skipping to change at line 1529 skipping to change at line 1824
WINBASEAPI WINBASEAPI
LCID LCID
WINAPI WINAPI
GetSystemDefaultLCID(void); GetSystemDefaultLCID(void);
WINBASEAPI WINBASEAPI
LCID LCID
WINAPI WINAPI
GetUserDefaultLCID(void); GetUserDefaultLCID(void);
WINBASEAPI
LANGID
WINAPI
SetThreadUILanguage(__in LANGID LangId);
#if (WINVER >= 0x0600)
WINBASEAPI
LANGID
WINAPI
GetThreadUILanguage(void);
WINBASEAPI
BOOL
WINAPI
GetUserPreferredUILanguages (
__in DWORD dwFlags,
__out PULONG pulNumLanguages,
__out_ecount_opt(*pcchLanguagesBuffer) PWSTR pwszLanguagesBuffer,
__in PULONG pcchLanguagesBuffer
);
WINBASEAPI
BOOL
WINAPI
GetSystemPreferredUILanguages (
__in DWORD dwFlags,
__out PULONG pulNumLanguages,
__out_ecount_opt(*pcchLanguagesBuffer) PWSTR pwszLanguagesBuffer,
__in PULONG pcchLanguagesBuffer
);
WINBASEAPI
BOOL
WINAPI
GetThreadPreferredUILanguages(
__in DWORD dwFlags,
__out PULONG pulNumLanguages,
__out_ecount_opt(*pcchLanguagesBuffer) PWSTR pwszLanguagesBuffer,
__inout PULONG pcchLanguagesBuffer
);
WINBASEAPI
BOOL
WINAPI
SetThreadPreferredUILanguages(
__in DWORD dwFlags,
__in_opt PCWSTR pwszLanguagesBuffer,
__out_opt PULONG pulNumLanguages
);
WINBASEAPI
__success(return==1)
BOOL
WINAPI
GetFileMUIInfo(
DWORD dwFlags,
__in PCWSTR pcwszFilePath,
__inout_bcount_part_opt(*pcbFileMUIInfo,*pcbFileMUIInfo) PFILEMUIINFO pFi
leMUIInfo,
__inout DWORD* pcbFileMUIInfo);
WINBASEAPI
BOOL
WINAPI
GetFileMUIPath(
__in DWORD dwFlags,
__in PCWSTR pcwszFilePath ,
__inout_ecount_opt (*pcchLanguage) PWSTR pwszLanguage,
__inout PULONG pcchLanguage,
__out_ecount_opt (*pcchFileMUIPath) PWSTR pwszFileMUIPath,
__inout PULONG pcchFileMUIPath,
__inout PULONGLONG pululEnumerator
);
WINBASEAPI
BOOL
WINAPI
GetUILanguageInfo(
__in DWORD dwFlags,
__in PCWSTR pwmszLanguage,
__out_ecount_opt(*pcchFallbackLanguages) PWSTR pwszFallbackLanguages,
__inout_opt PDWORD pcchFallbackLanguages,
__out PDWORD pAttributes
);
WINBASEAPI
BOOL
WINAPI
NotifyUILanguageChange(
__in DWORD dwFlags,
__in_opt PCWSTR pcwstrNewLanguage,
__in_opt PCWSTR pcwstrPreviousLanguage,
__in DWORD dwReserved,
__out_opt PDWORD pdwStatusRtrn
);
#endif
// //
// Locale Independent APIs. // Locale Independent APIs.
// //
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
GetStringTypeExA( GetStringTypeExA(
__in LCID Locale, __in LCID Locale,
__in DWORD dwInfoType, __in DWORD dwInfoType,
__in LPCSTR lpSrcStr, __in_ecount(cchSrc) LPCSTR lpSrcStr,
__in int cchSrc, __in int cchSrc,
__out LPWORD lpCharType); __out_ecount(cchSrc) LPWORD lpCharType);
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
GetStringTypeExW( GetStringTypeExW(
__in LCID Locale, __in LCID Locale,
__in DWORD dwInfoType, __in DWORD dwInfoType,
__in LPCWSTR lpSrcStr, __in_ecount(cchSrc) LPCWSTR lpSrcStr,
__in int cchSrc, __in int cchSrc,
__out LPWORD lpCharType); __out_ecount(cchSrc) LPWORD lpCharType);
#ifdef UNICODE #ifdef UNICODE
#define GetStringTypeEx GetStringTypeExW #define GetStringTypeEx GetStringTypeExW
#else #else
#define GetStringTypeEx GetStringTypeExA #define GetStringTypeEx GetStringTypeExA
#endif // !UNICODE #endif // !UNICODE
// //
// NOTE: The parameters for GetStringTypeA and GetStringTypeW are // NOTE: The parameters for GetStringTypeA and GetStringTypeW are
// NOT the same. The W version was shipped in NT 3.1. The // NOT the same. The W version was shipped in NT 3.1. The
// A version was then shipped in 16-bit OLE with the wrong // A version was then shipped in 16-bit OLE with the wrong
skipping to change at line 1574 skipping to change at line 1967
// generic GetStringType. // generic GetStringType.
// //
// GetStringTypeEx (above) should be used instead. // GetStringTypeEx (above) should be used instead.
// //
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
GetStringTypeA( GetStringTypeA(
__in LCID Locale, __in LCID Locale,
__in DWORD dwInfoType, __in DWORD dwInfoType,
__in LPCSTR lpSrcStr, __in_ecount(cchSrc) LPCSTR lpSrcStr,
__in int cchSrc, __in int cchSrc,
__out LPWORD lpCharType); __out LPWORD lpCharType);
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
GetStringTypeW( GetStringTypeW(
__in DWORD dwInfoType, __in DWORD dwInfoType,
__in LPCWSTR lpSrcStr, __in_ecount(cchSrc) LPCWSTR lpSrcStr,
__in int cchSrc, __in int cchSrc,
__out LPWORD lpCharType); __out LPWORD lpCharType);
WINBASEAPI WINBASEAPI
int int
WINAPI WINAPI
FoldStringA( FoldStringA(
__in DWORD dwMapFlags, __in DWORD dwMapFlags,
__in LPCSTR lpSrcStr, __in_ecount(cchSrc) LPCSTR lpSrcStr,
__in int cchSrc, __in int cchSrc,
__out_ecount_opt(cchDest) LPSTR lpDestStr, __out_ecount_opt(cchDest) LPSTR lpDestStr,
__in int cchDest); __in int cchDest);
WINBASEAPI WINBASEAPI
int int
WINAPI WINAPI
FoldStringW( FoldStringW(
__in DWORD dwMapFlags, __in DWORD dwMapFlags,
__in LPCWSTR lpSrcStr, __in_ecount(cchSrc) LPCWSTR lpSrcStr,
__in int cchSrc, __in int cchSrc,
__out_ecount_opt(cchDest) LPWSTR lpDestStr, __out_ecount_opt(cchDest) LPWSTR lpDestStr,
__in int cchDest); __in int cchDest);
#ifdef UNICODE #ifdef UNICODE
#define FoldString FoldStringW #define FoldString FoldStringW
#else #else
#define FoldString FoldStringA #define FoldString FoldStringA
#endif // !UNICODE #endif // !UNICODE
#if(WINVER >= 0x0500) #if(WINVER >= 0x0500)
skipping to change at line 1711 skipping to change at line 2104
WINAPI WINAPI
EnumSystemCodePagesW( EnumSystemCodePagesW(
__in CODEPAGE_ENUMPROCW lpCodePageEnumProc, __in CODEPAGE_ENUMPROCW lpCodePageEnumProc,
__in DWORD dwFlags); __in DWORD dwFlags);
#ifdef UNICODE #ifdef UNICODE
#define EnumSystemCodePages EnumSystemCodePagesW #define EnumSystemCodePages EnumSystemCodePagesW
#else #else
#define EnumSystemCodePages EnumSystemCodePagesA #define EnumSystemCodePages EnumSystemCodePagesA
#endif // !UNICODE #endif // !UNICODE
#if (WINVER >= 0x0600)
//
// Windows API Normalization Functions
//
WINNORMALIZEAPI
int
WINAPI NormalizeString( __in NORM_FORM NormForm,
__in_ecount(cwSrcLength) LPCWSTR lpSrcString,
__in int cwSrcLength,
__out_ecount_opt(cwDstLength) LPWSTR lpDstString,
__in int cwDstLength );
WINNORMALIZEAPI
BOOL
WINAPI IsNormalizedString( __in NORM_FORM NormForm,
__in_ecount(cwLength) LPCWSTR lpString,
__in int cwLength );
//
// IDN (International Domain Name) Functions
//
WINNORMALIZEAPI
int
WINAPI IdnToAscii(__in DWORD dwFlags,
__in_ecount(cchUnicodeChar) LPCWSTR lpUnicodeCharStr,
__in int cchUnicodeChar,
__out_ecount(cchASCIIChar) LPWSTR lpASCIICharStr,
__in int cchASCIIChar);
WINNORMALIZEAPI
int
WINAPI IdnToNameprepUnicode(__in DWORD dwFlags,
__in_ecount(cchUnicodeChar) LPCWSTR lpUnicodeCha
rStr,
__in int cchUnicodeCh
ar,
__out_ecount(cchNameprepChar) LPWSTR lpNameprepCh
arStr,
__in int cchNameprepC
har);
WINNORMALIZEAPI
int
WINAPI IdnToUnicode(__in DWORD dwFlags,
__in_ecount(cchASCIIChar) LPCWSTR lpASCIICharStr,
__in int cchASCIIChar,
__out_ecount(cchUnicodeChar) LPWSTR lpUnicodeCharStr,
__in int cchUnicodeChar);
WINBASEAPI
BOOL
WINAPI VerifyScripts(
__in DWORD dwFlags, // optional behavior flags
__in LPCWSTR lpLocaleScripts, // Locale list of scripts string
__in int cchLocaleScripts, // size of locale script list string
__in LPCWSTR lpTestScripts, // test scripts string
__in int cchTestScripts); // size of test list string
WINBASEAPI
int
WINAPI GetStringScripts(
__in DWORD dwFlags, // optional behavio
r flags
__in LPCWSTR lpString, // Unicode characte
r input string
__in int cchString, // size of input st
ring
__out_ecount_opt(cchScripts) LPWSTR lpScripts, // Script list outp
ut string
__in int cchScripts); // size of output s
tring
#endif //(WINVER >= 0x0600)
#if (WINVER >= 0x0600)
//
// String based NLS APIs
//
#define LOCALE_NAME_USER_DEFAULT NULL
#define LOCALE_NAME_INVARIANT L""
#define LOCALE_NAME_SYSTEM_DEFAULT L"!x-sys-default-locale"
WINBASEAPI
int
WINAPI
GetLocaleInfoEx(
__in_opt LPCWSTR lpLocaleName,
__in LCTYPE LCType,
__out_ecount_opt(cchData) LPWSTR lpLCData,
__in int cchData
);
WINBASEAPI
int
WINAPI
GetCalendarInfoEx(
__in_opt LPCWSTR lpLocaleName,
__in CALID Calendar,
__in_opt LPCWSTR lpReserved,
__in CALTYPE CalType,
__out_ecount_opt(cchData) LPWSTR lpCalData,
__in int cchData,
__out_opt LPDWORD lpValue
);
WINBASEAPI
int
WINAPI
GetTimeFormatEx(
__in_opt LPCWSTR lpLocaleName,
__in DWORD dwFlags,
__in_opt CONST SYSTEMTIME *lpTime,
__in_opt LPCWSTR lpFormat,
__out_ecount_opt(cchTime) LPWSTR lpTimeStr,
__in int cchTime
);
WINBASEAPI
int
WINAPI
GetDateFormatEx(
__in_opt LPCWSTR lpLocaleName,
__in DWORD dwFlags,
__in_opt CONST SYSTEMTIME *lpDate,
__in_opt LPCWSTR lpFormat,
__out_ecount_opt(cchDate) LPWSTR lpDateStr,
__in int cchDate,
__in_opt LPCWSTR lpCalendar
);
WINBASEAPI
int
WINAPI
GetDurationFormatEx(
__in_opt LPCWSTR lpLocaleName,
__in DWORD dwFlags,
__in_opt CONST SYSTEMTIME *lpDuration,
__in ULONGLONG ullDuration,
__in_opt LPCWSTR lpFormat,
__out_ecount_opt(cchDuration) LPWSTR lpDurationStr,
__in int cchDuration
);
WINBASEAPI
int
WINAPI
GetNumberFormatEx(
__in_opt LPCWSTR lpLocaleName,
__in DWORD dwFlags,
__in LPCWSTR lpValue,
__in_opt CONST NUMBERFMTW *lpFormat,
__out_ecount_opt(cchNumber) LPWSTR lpNumberStr,
__in int cchNumber
);
WINBASEAPI
int
WINAPI
GetCurrencyFormatEx(
__in_opt LPCWSTR lpLocaleName,
__in DWORD dwFlags,
__in LPCWSTR lpValue,
__in_opt CONST CURRENCYFMTW *lpFormat,
__out_ecount_opt(cchCurrency) LPWSTR lpCurrencyStr,
__in int cchCurrency
);
WINBASEAPI
int
WINAPI
GetUserDefaultLocaleName(
__out_ecount(cchLocaleName) LPWSTR lpLocaleName,
__in int cchLocaleName
);
WINBASEAPI
int
WINAPI
GetSystemDefaultLocaleName(
__out_ecount(cchLocaleName) LPWSTR lpLocaleName,
__in int cchLocaleName
);
WINBASEAPI
BOOL
WINAPI
GetNLSVersionEx(
__in NLS_FUNCTION function,
__in_opt LPCWSTR lpLocaleName,
__inout LPNLSVERSIONINFOEX lpVersionInformation
);
WINBASEAPI
int
WINAPI
CompareStringEx(
__in_opt LPCWSTR lpLocaleName,
__in DWORD dwCmpFlags,
__in_ecount(cchCount1) LPCWSTR lpString1,
__in int cchCount1,
__in_ecount(cchCount2) LPCWSTR lpString2,
__in int cchCount2,
__in_opt LPNLSVERSIONINFO lpVersionInformation,
__in_opt LPVOID lpReserved,
__in_opt LPARAM lParam
);
WINBASEAPI
int
WINAPI
FindNLSStringEx(
__in_opt LPCWSTR lpLocaleName,
__in DWORD dwFindNLSStringFlags,
__in_ecount(cchSource) LPCWSTR lpStringSource,
__in int cchSource,
__in_ecount(cchValue) LPCWSTR lpStringValue,
__in int cchValue,
__out_opt LPINT pcchFound,
__in_opt LPNLSVERSIONINFO lpVersionInformation,
__in_opt LPVOID lpReserved,
__in_opt LPARAM lParam
);
WINBASEAPI
int
WINAPI
LCMapStringEx(
__in_opt LPCWSTR lpLocaleName,
__in DWORD dwMapFlags,
__in_ecount(cchSrc) LPCWSTR lpSrcStr,
__in int cchSrc,
__out_xcount_opt(cchDest) LPWSTR lpDestStr,
__in int cchDest,
__in_opt LPNLSVERSIONINFO lpVersionInformation,
__in_opt LPVOID lpReserved,
__in_opt LPARAM lParam
);
WINBASEAPI
int
WINAPI
CompareStringOrdinal(
__in LPCWSTR lpString1,
__in int cchCount1,
__in LPCWSTR lpString2,
__in int cchCount2,
__in BOOL bIgnoreCase
);
WINBASEAPI
BOOL
WINAPI
IsValidLocaleName(
__in LPCWSTR lpLocaleName
);
typedef BOOL (CALLBACK* CALINFO_ENUMPROCEXEX)(LPWSTR, CALID, LPWSTR, LPARAM);
WINBASEAPI
BOOL
WINAPI
EnumCalendarInfoExEx(
__in CALINFO_ENUMPROCEXEX pCalInfoEnumProcExEx,
__in_opt LPCWSTR lpLocaleName,
__in CALID Calendar,
__in_opt LPCWSTR lpReserved,
__in CALTYPE CalType,
__in LPARAM lParam
);
typedef BOOL (CALLBACK* DATEFMT_ENUMPROCEXEX)(LPWSTR, CALID, LPARAM);
WINBASEAPI
BOOL
WINAPI
EnumDateFormatsExEx(
__in DATEFMT_ENUMPROCEXEX lpDateFmtEnumProcExEx,
__in_opt LPCWSTR lpLocaleName,
__in DWORD dwFlags,
__in LPARAM lParam
);
typedef BOOL (CALLBACK* TIMEFMT_ENUMPROCEX)(LPWSTR, LPARAM);
WINBASEAPI
BOOL
WINAPI
EnumTimeFormatsEx(
__in TIMEFMT_ENUMPROCEX lpTimeFmtEnumProcEx,
__in_opt LPCWSTR lpLocaleName,
__in DWORD dwFlags,
__in LPARAM lParam
);
typedef BOOL (CALLBACK* LOCALE_ENUMPROCEX)(LPWSTR, DWORD, LPARAM);
WINBASEAPI
BOOL
WINAPI
EnumSystemLocalesEx(
__in LOCALE_ENUMPROCEX lpLocaleEnumProcEx,
__in DWORD dwFlags,
__in LPARAM lParam,
__in_opt LPVOID lpReserved
);
#endif //(WINVER >= 0x0600)
#endif // NONLS #endif // NONLS
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif
#endif // _WINNLS_ #endif // _WINNLS_
 End of changes. 50 change blocks. 
55 lines changed or deleted 852 lines changed or added

This html diff was produced by rfcdiff 1.41.