Headers diff for kernel32.dll between 6.3.9600.17415-Windows 8.1 and 10.0.10586.0-Windows 10 1511 10586.494 versions



 winbase.h (6.3.9600.17415-Windows 8.1)   winbase.h (10.0.10586.0-Windows 10 1511 10586.494) 
skipping to change at line 19 skipping to change at line 19
************************************************************************/ ************************************************************************/
#ifndef _WINBASE_ #ifndef _WINBASE_
#define _WINBASE_ #define _WINBASE_
#if defined(_MSC_VER) #if defined(_MSC_VER)
#if _MSC_VER > 1000 #if _MSC_VER > 1000
#pragma once #pragma once
#endif #endif
#if _MSC_VER >= 1200 #if _MSC_VER >= 1200
#pragma warning(push) #pragma warning(push)
#pragma warning(disable:4820) /* padding added after data member */
#pragma warning(disable:4668) /* #if not_defined treated as #if 0 */
#endif #endif
#pragma warning(disable:4001) /* nonstandard extension : single line comment */ #pragma warning(disable:4001) /* nonstandard extension : single line comment */
#pragma warning(disable:4201) /* nonstandard extension used : nameless struct/un ion */ #pragma warning(disable:4201) /* nonstandard extension used : nameless struct/un ion */
#pragma warning(disable:4214) /* nonstandard extension used : bit field types ot her then int */ #pragma warning(disable:4214) /* nonstandard extension used : bit field types ot her then int */
#endif // defined(_MSC_VER) #endif // defined(_MSC_VER)
#ifdef _MAC #ifdef _MAC
#include <macwin32.h> #include <macwin32.h>
#endif //_MAC #endif //_MAC
skipping to change at line 52 skipping to change at line 54
#include <fibersapi.h> #include <fibersapi.h>
#include <namedpipeapi.h> #include <namedpipeapi.h>
#include <profileapi.h> #include <profileapi.h>
#include <heapapi.h> #include <heapapi.h>
#include <ioapiset.h> #include <ioapiset.h>
#include <synchapi.h> #include <synchapi.h>
#include <interlockedapi.h> #include <interlockedapi.h>
#include <processthreadsapi.h> #include <processthreadsapi.h>
#include <sysinfoapi.h> #include <sysinfoapi.h>
#include <memoryapi.h> #include <memoryapi.h>
#include <enclaveapi.h>
#include <threadpoollegacyapiset.h> #include <threadpoollegacyapiset.h>
#include <threadpoolapiset.h> #include <threadpoolapiset.h>
#include <bemapiset.h>
#include <jobapi.h> #include <jobapi.h>
#include <jobapi2.h>
#include <wow64apiset.h> #include <wow64apiset.h>
#include <libloaderapi.h> #include <libloaderapi.h>
#include <securitybaseapi.h> #include <securitybaseapi.h>
#include <namespaceapi.h> #include <namespaceapi.h>
#include <systemtopologyapi.h> #include <systemtopologyapi.h>
#include <processtopologyapi.h> #include <processtopologyapi.h>
#include <securityappcontainer.h> #include <securityappcontainer.h>
#include <realtimeapiset.h> #include <realtimeapiset.h>
#ifdef __cplusplus #ifdef __cplusplus
skipping to change at line 93 skipping to change at line 96
#pragma endregion #pragma endregion
#pragma region Desktop Family #pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
#define GetCurrentTime() GetTickCount() #define GetCurrentTime() GetTickCount()
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion #pragma endregion
#pragma region Application Family #pragma region Application Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM)
#define Yield() #define Yield()
#define FILE_BEGIN 0 #define FILE_BEGIN 0
#define FILE_CURRENT 1 #define FILE_CURRENT 1
#define FILE_END 2 #define FILE_END 2
#define WAIT_FAILED ((DWORD)0xFFFFFFFF) #define WAIT_FAILED ((DWORD)0xFFFFFFFF)
#define WAIT_OBJECT_0 ((STATUS_WAIT_0 ) + 0 ) #define WAIT_OBJECT_0 ((STATUS_WAIT_0 ) + 0 )
skipping to change at line 171 skipping to change at line 174
// Define CopyFileEx callback routine state change values // Define CopyFileEx callback routine state change values
// //
#define CALLBACK_CHUNK_FINISHED 0x00000000 #define CALLBACK_CHUNK_FINISHED 0x00000000
#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 // Gap for private copyfile flags
// //
#if (_WIN32_WINNT >= 0x0600) #if (_WIN32_WINNT >= 0x0600)
#define COPY_FILE_COPY_SYMLINK 0x00000800 #define COPY_FILE_COPY_SYMLINK 0x00000800
#define COPY_FILE_NO_BUFFERING 0x00001000 #define COPY_FILE_NO_BUFFERING 0x00001000
#endif #endif
skipping to change at line 198 skipping to change at line 201
// CopyFile2 flags // CopyFile2 flags
// //
#define COPY_FILE_REQUEST_SECURITY_PRIVILEGES 0x00002000 #define COPY_FILE_REQUEST_SECURITY_PRIVILEGES 0x00002000
#define COPY_FILE_RESUME_FROM_PAUSE 0x00004000 #define COPY_FILE_RESUME_FROM_PAUSE 0x00004000
#define COPY_FILE_NO_OFFLOAD 0x00040000 #define COPY_FILE_NO_OFFLOAD 0x00040000
#endif #endif
#if (_WIN32_WINNT >= _WIN32_WINNT_WIN10)
#define COPY_FILE_IGNORE_EDP_BLOCK 0x00400000
#define COPY_FILE_IGNORE_SOURCE_ENCRYPTION 0x00800000
#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 877 skipping to change at line 887
WORD Reserved1; WORD Reserved1;
WORD Reserved2; WORD Reserved2;
CHAR szPathName[OFS_MAXPATHNAME]; CHAR szPathName[OFS_MAXPATHNAME];
} OFSTRUCT, *LPOFSTRUCT, *POFSTRUCT; } OFSTRUCT, *LPOFSTRUCT, *POFSTRUCT;
#define UnlockResource(hResData) ((hResData), 0) #define UnlockResource(hResData) ((hResData), 0)
#define MAXINTATOM 0xC000 #define MAXINTATOM 0xC000
#define MAKEINTATOM(i) (LPTSTR)((ULONG_PTR)((WORD)(i))) #define MAKEINTATOM(i) (LPTSTR)((ULONG_PTR)((WORD)(i)))
#define INVALID_ATOM ((ATOM)0) #define INVALID_ATOM ((ATOM)0)
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM ) */
#pragma endregion #pragma endregion
#pragma region Desktop Family #pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
int int
#if !defined(_MAC) #if !defined(_MAC)
#if defined(_M_CEE_PURE) #if defined(_M_CEE_PURE)
__clrcall __clrcall
#else #else
skipping to change at line 913 skipping to change at line 923
#else #else
WINAPI WINAPI
#endif #endif
wWinMain( wWinMain(
_In_ HINSTANCE hInstance, _In_ HINSTANCE hInstance,
_In_opt_ HINSTANCE hPrevInstance, _In_opt_ HINSTANCE hPrevInstance,
_In_ LPWSTR lpCmdLine, _In_ LPWSTR lpCmdLine,
_In_ int nShowCmd _In_ int nShowCmd
); );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#pragma region Desktop Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM)
WINBASEAPI WINBASEAPI
_Success_(return != NULL) _Success_(return != NULL)
_Post_writable_byte_size_(dwBytes) _Post_writable_byte_size_(dwBytes)
DECLSPEC_ALLOCATOR
HGLOBAL HGLOBAL
WINAPI WINAPI
GlobalAlloc( GlobalAlloc(
_In_ UINT uFlags, _In_ UINT uFlags,
_In_ SIZE_T dwBytes _In_ SIZE_T dwBytes
); );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SY
STEM) */
#pragma endregion
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
WINBASEAPI WINBASEAPI
_Ret_reallocated_bytes_(hMem, dwBytes) _Ret_reallocated_bytes_(hMem, dwBytes)
DECLSPEC_ALLOCATOR
HGLOBAL HGLOBAL
WINAPI WINAPI
GlobalReAlloc ( GlobalReAlloc (
_Frees_ptr_ HGLOBAL hMem, _Frees_ptr_ 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 970 skipping to change at line 994
_In_ LPCVOID pMem _In_ LPCVOID pMem
); );
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
GlobalUnlock( GlobalUnlock(
_In_ HGLOBAL hMem _In_ HGLOBAL hMem
); );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#pragma region Desktop Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM)
WINBASEAPI WINBASEAPI
_Ret_maybenull_ _Ret_maybenull_
_Success_(return==0) _Success_(return==0)
HGLOBAL HGLOBAL
WINAPI WINAPI
GlobalFree( GlobalFree(
_Frees_ptr_opt_ HGLOBAL hMem _Frees_ptr_opt_ HGLOBAL hMem
); );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SY
STEM) */
#pragma endregion
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
WINBASEAPI WINBASEAPI
SIZE_T SIZE_T
WINAPI WINAPI
GlobalCompact( GlobalCompact(
_In_ DWORD dwMinFree _In_ DWORD dwMinFree
); );
WINBASEAPI WINBASEAPI
VOID VOID
WINAPI WINAPI
skipping to change at line 1022 skipping to change at line 1058
); );
__drv_preferredFunction("GlobalMemoryStatusEx","Deprecated. See MSDN for details ") __drv_preferredFunction("GlobalMemoryStatusEx","Deprecated. See MSDN for details ")
WINBASEAPI WINBASEAPI
VOID VOID
WINAPI WINAPI
GlobalMemoryStatus( GlobalMemoryStatus(
_Out_ LPMEMORYSTATUS lpBuffer _Out_ LPMEMORYSTATUS lpBuffer
); );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#pragma region Desktop Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM)
WINBASEAPI WINBASEAPI
_Success_(return != NULL) _Success_(return != NULL)
_Post_writable_byte_size_(uBytes) _Post_writable_byte_size_(uBytes)
DECLSPEC_ALLOCATOR
HLOCAL HLOCAL
WINAPI WINAPI
LocalAlloc( LocalAlloc(
_In_ UINT uFlags, _In_ UINT uFlags,
_In_ SIZE_T uBytes _In_ SIZE_T uBytes
); );
WINBASEAPI WINBASEAPI
_Ret_reallocated_bytes_(hMem, uBytes) _Ret_reallocated_bytes_(hMem, uBytes)
DECLSPEC_ALLOCATOR
HLOCAL HLOCAL
WINAPI WINAPI
LocalReAlloc( LocalReAlloc(
_Frees_ptr_opt_ HLOCAL hMem, _Frees_ptr_opt_ HLOCAL hMem,
_In_ SIZE_T uBytes, _In_ SIZE_T uBytes,
_In_ UINT uFlags _In_ UINT uFlags
); );
WINBASEAPI WINBASEAPI
_Ret_maybenull_ _Ret_maybenull_
LPVOID LPVOID
WINAPI WINAPI
LocalLock( LocalLock(
_In_ HLOCAL hMem _In_ HLOCAL hMem
); );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SY
STEM) */
#pragma endregion
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
WINBASEAPI WINBASEAPI
_Ret_maybenull_ _Ret_maybenull_
HLOCAL HLOCAL
WINAPI WINAPI
LocalHandle( LocalHandle(
_In_ LPCVOID pMem _In_ LPCVOID pMem
); );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#pragma region Desktop Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM)
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
LocalUnlock( LocalUnlock(
_In_ HLOCAL hMem _In_ HLOCAL hMem
); );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SY
STEM) */
#pragma endregion
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
WINBASEAPI WINBASEAPI
SIZE_T SIZE_T
WINAPI WINAPI
LocalSize( LocalSize(
_In_ HLOCAL hMem _In_ HLOCAL hMem
); );
WINBASEAPI WINBASEAPI
UINT UINT
WINAPI WINAPI
LocalFlags( LocalFlags(
_In_ HLOCAL hMem _In_ HLOCAL hMem
); );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#pragma region Desktop Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM)
WINBASEAPI WINBASEAPI
_Success_(return==0) _Success_(return==0)
_Ret_maybenull_ _Ret_maybenull_
HLOCAL HLOCAL
WINAPI WINAPI
LocalFree( LocalFree(
_Frees_ptr_opt_ HLOCAL hMem _Frees_ptr_opt_ HLOCAL hMem
); );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SY
STEM) */
#pragma endregion
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
WINBASEAPI WINBASEAPI
SIZE_T SIZE_T
WINAPI WINAPI
LocalShrink( LocalShrink(
_In_ HLOCAL hMem, _In_ HLOCAL hMem,
_In_ UINT cbNewSize _In_ UINT cbNewSize
); );
WINBASEAPI WINBASEAPI
SIZE_T SIZE_T
WINAPI WINAPI
LocalCompact( LocalCompact(
_In_ UINT uMinFree _In_ UINT uMinFree
); );
#if (_WIN32_WINNT >= 0x0601)
WINBASEAPI
BOOL
WINAPI
GetProcessorSystemCycleTime (
_In_ USHORT Group,
_Out_writes_bytes_to_opt_(*ReturnedLength, *ReturnedLength) PSYSTEM_PROCESSO
R_CYCLE_TIME_INFORMATION Buffer,
_Inout_ PDWORD ReturnedLength
);
#endif // (_WIN32_WINNT >= 0x0601)
// 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
#define SCS_OS216_BINARY 5 #define SCS_OS216_BINARY 5
#define SCS_64BIT_BINARY 6 #define SCS_64BIT_BINARY 6
skipping to change at line 1246 skipping to change at line 1307
); );
WINBASEAPI WINBASEAPI
__analysis_noreturn __analysis_noreturn
VOID VOID
WINAPI WINAPI
FatalExit( FatalExit(
_In_ int ExitCode _In_ int ExitCode
); );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#pragma region Desktop Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM)
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
SetEnvironmentStringsA( SetEnvironmentStringsA(
_In_ _Pre_ _NullNull_terminated_ LPCH NewEnvironment _In_ _Pre_ _NullNull_terminated_ LPCH NewEnvironment
); );
#ifndef UNICODE #ifndef UNICODE
#define SetEnvironmentStrings SetEnvironmentStringsA #define SetEnvironmentStrings SetEnvironmentStringsA
#endif #endif
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SY
#pragma endregion STEM) */
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
WINBASEAPI
VOID
WINAPI
RaiseFailFastException(
_In_opt_ PEXCEPTION_RECORD pExceptionRecord,
_In_opt_ PCONTEXT pContextRecord,
_In_ DWORD dwFlags
);
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion #pragma endregion
#if(_WIN32_WINNT >= 0x0400) #if(_WIN32_WINNT >= 0x0400)
// //
// Fiber begin // Fiber begin
// //
#pragma region Application Family #pragma region Application Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM)
#define FIBER_FLAG_FLOAT_SWITCH 0x1 // context switch floating point #define FIBER_FLAG_FLOAT_SWITCH 0x1 // context switch floating point
WINBASEAPI WINBASEAPI
VOID VOID
WINAPI WINAPI
SwitchToFiber( SwitchToFiber(
_In_ LPVOID lpFiber _In_ LPVOID lpFiber
); );
skipping to change at line 1310 skipping to change at line 1362
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
ConvertFiberToThread( ConvertFiberToThread(
VOID VOID
); );
#endif #endif
#if (_WIN32_WINNT >= 0x0603)
WINBASEAPI
_Ret_maybenull_
PVOID
WINAPI
CalloutOnFiberStack(
_In_ PVOID lpFiber,
_In_ PFIBER_CALLOUT_ROUTINE lpStartAddress,
_In_opt_ PVOID lpParameter
);
#endif
WINBASEAPI WINBASEAPI
_Ret_maybenull_ _Ret_maybenull_
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
skipping to change at line 1345 skipping to change at line 1383
WINBASEAPI WINBASEAPI
_Ret_maybenull_ _Ret_maybenull_
LPVOID LPVOID
WINAPI WINAPI
ConvertThreadToFiberEx( ConvertThreadToFiberEx(
_In_opt_ LPVOID lpParameter, _In_opt_ LPVOID lpParameter,
_In_ DWORD dwFlags _In_ DWORD dwFlags
); );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM ) */
#pragma endregion #pragma endregion
#pragma region Desktop Family #pragma region Desktop Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM)
WINBASEAPI WINBASEAPI
_Ret_maybenull_ _Ret_maybenull_
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
_Ret_maybenull_ _Ret_maybenull_
LPVOID LPVOID
WINAPI WINAPI
ConvertThreadToFiber( ConvertThreadToFiber(
_In_opt_ LPVOID lpParameter _In_opt_ LPVOID lpParameter
); );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SY STEM) */
#pragma endregion #pragma endregion
// //
// Fiber end // Fiber end
// //
// //
// UMS begin // UMS begin
// //
skipping to change at line 1567 skipping to change at line 1605
WINBASEAPI WINBASEAPI
DWORD_PTR DWORD_PTR
WINAPI WINAPI
SetThreadAffinityMask( SetThreadAffinityMask(
_In_ HANDLE hThread, _In_ HANDLE hThread,
_In_ DWORD_PTR dwThreadAffinityMask _In_ DWORD_PTR dwThreadAffinityMask
); );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion #pragma endregion
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
#if(_WIN32_WINNT >= 0x0400)
WINBASEAPI
DWORD
WINAPI
SetThreadIdealProcessor(
_In_ HANDLE hThread,
_In_ DWORD dwIdealProcessor
);
#endif /* _WIN32_WINNT >= 0x0400 */
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#pragma region Desktop Family #pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
//
// Process information classes.
//
typedef enum _PROCESS_INFORMATION_CLASS {
ProcessMemoryPriority,
ProcessInformationClassMax
} PROCESS_INFORMATION_CLASS;
#if (_WIN32_WINNT >= 0x0602)
WINBASEAPI
BOOL
WINAPI
GetProcessInformation (
_In_ HANDLE hProcess,
_In_ PROCESS_INFORMATION_CLASS ProcessInformationClass,
_Out_writes_bytes_(ProcessInformationSize) LPVOID ProcessInformation,
_In_ DWORD ProcessInformationSize
);
WINBASEAPI
BOOL
WINAPI
SetProcessInformation (
_In_ HANDLE hProcess,
_In_ PROCESS_INFORMATION_CLASS ProcessInformationClass,
_In_reads_bytes_(ProcessInformationSize) LPVOID ProcessInformation,
_In_ DWORD ProcessInformationSize
);
#endif // _WIN32_WINNT >= 0x0602
#if (_WIN32_WINNT >= 0x0600) #if (_WIN32_WINNT >= 0x0600)
#define PROCESS_DEP_ENABLE 0x00000001 #define PROCESS_DEP_ENABLE 0x00000001
#define PROCESS_DEP_DISABLE_ATL_THUNK_EMULATION 0x00000002 #define PROCESS_DEP_DISABLE_ATL_THUNK_EMULATION 0x00000002
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
SetProcessDEPPolicy( SetProcessDEPPolicy(
_In_ DWORD dwFlags _In_ DWORD dwFlags
skipping to change at line 1773 skipping to change at line 1764
_In_ UCHAR Flags _In_ UCHAR Flags
); );
#endif // _WIN32_WINNT >= 0x0600 #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
//
// Thread error mode support
//
WINBASEAPI
DWORD
WINAPI
GetThreadErrorMode(
VOID
);
WINBASEAPI
BOOL
WINAPI
SetThreadErrorMode(
_In_ DWORD dwNewMode,
_In_opt_ LPDWORD lpOldMode
);
#if !defined(MIDL_PASS) #if !defined(MIDL_PASS)
#if (_WIN32_WINNT >= 0x0600) #if (_WIN32_WINNT >= 0x0600)
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
Wow64GetThreadContext( Wow64GetThreadContext(
_In_ HANDLE hThread, _In_ HANDLE hThread,
_Inout_ PWOW64_CONTEXT lpContext _Inout_ PWOW64_CONTEXT lpContext
skipping to change at line 1878 skipping to change at line 1850
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
PulseEvent( PulseEvent(
_In_ HANDLE hEvent _In_ HANDLE hEvent
); );
WINBASEAPI WINBASEAPI
DWORD
WINAPI
WaitForMultipleObjects(
_In_ DWORD nCount,
_In_reads_(nCount) CONST HANDLE *lpHandles,
_In_ BOOL bWaitAll,
_In_ DWORD dwMilliseconds
);
WINBASEAPI
ATOM ATOM
WINAPI WINAPI
GlobalDeleteAtom( GlobalDeleteAtom(
_In_ ATOM nAtom _In_ ATOM nAtom
); );
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
InitAtomTable( InitAtomTable(
skipping to change at line 1987 skipping to change at line 1949
__drv_preferredFunction("CreateProcess","Deprecated. See MSDN for details") __drv_preferredFunction("CreateProcess","Deprecated. See MSDN for details")
WINBASEAPI WINBASEAPI
UINT UINT
WINAPI WINAPI
WinExec( WinExec(
_In_ LPCSTR lpCmdLine, _In_ LPCSTR lpCmdLine,
_In_ UINT uCmdShow _In_ UINT uCmdShow
); );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#pragma region Desktop Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM)
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
ClearCommBreak( ClearCommBreak(
_In_ HANDLE hFile _In_ HANDLE hFile
); );
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
skipping to change at line 2135 skipping to change at line 2103
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
WaitCommEvent( WaitCommEvent(
_In_ HANDLE hFile, _In_ HANDLE hFile,
_Inout_ LPDWORD lpEvtMask, _Inout_ LPDWORD lpEvtMask,
_Inout_opt_ LPOVERLAPPED lpOverlapped _Inout_opt_ LPOVERLAPPED lpOverlapped
); );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SY
STEM) */
#pragma endregion
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
WINBASEAPI WINBASEAPI
DWORD DWORD
WINAPI WINAPI
SetTapePosition( SetTapePosition(
_In_ HANDLE hDevice, _In_ HANDLE hDevice,
_In_ DWORD dwPositionMethod, _In_ DWORD dwPositionMethod,
_In_ DWORD dwPartition, _In_ DWORD dwPartition,
_In_ DWORD dwOffsetLow, _In_ DWORD dwOffsetLow,
_In_ DWORD dwOffsetHigh, _In_ DWORD dwOffsetHigh,
_In_ BOOL bImmediate _In_ BOOL bImmediate
skipping to change at line 2231 skipping to change at line 2205
_In_ DWORD dwOperation, _In_ DWORD dwOperation,
_In_ LPVOID lpTapeInformation _In_ LPVOID lpTapeInformation
); );
#define SET_TAPE_MEDIA_INFORMATION 0 #define SET_TAPE_MEDIA_INFORMATION 0
#define SET_TAPE_DRIVE_INFORMATION 1 #define SET_TAPE_DRIVE_INFORMATION 1
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion #pragma endregion
#pragma region Application Family #pragma region Application Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM)
WINBASEAPI WINBASEAPI
int int
WINAPI WINAPI
MulDiv( MulDiv(
_In_ int nNumber, _In_ int nNumber,
_In_ int nNumerator, _In_ int nNumerator,
_In_ int nDenominator _In_ int nDenominator
); );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM ) */
#pragma endregion #pragma endregion
#pragma region Desktop Family #pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
typedef enum _DEP_SYSTEM_POLICY_TYPE { typedef enum _DEP_SYSTEM_POLICY_TYPE {
DEPPolicyAlwaysOff = 0, DEPPolicyAlwaysOff = 0,
DEPPolicyAlwaysOn, DEPPolicyAlwaysOn,
DEPPolicyOptIn, DEPPolicyOptIn,
DEPPolicyOptOut, DEPPolicyOptOut,
skipping to change at line 2302 skipping to change at line 2276
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
DosDateTimeToFileTime( DosDateTimeToFileTime(
_In_ WORD wFatDate, _In_ WORD wFatDate,
_In_ WORD wFatTime, _In_ WORD wFatTime,
_Out_ LPFILETIME lpFileTime _Out_ LPFILETIME lpFileTime
); );
//
// FORMAT_MESSAGE_ALLOCATE_BUFFER requires use of LocalFree which is in the
// "Desktop Family" only.
//
#define FORMAT_MESSAGE_ALLOCATE_BUFFER 0x00000100
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion #pragma endregion
#pragma region Application Family #pragma region Application Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM)
#if !defined(MIDL_PASS) #if !defined(MIDL_PASS)
WINBASEAPI WINBASEAPI
_Success_(return != 0) _Success_(return != 0)
DWORD DWORD
WINAPI WINAPI
FormatMessageA( FormatMessageA(
_In_ DWORD dwFlags, _In_ DWORD dwFlags,
_In_opt_ LPCVOID lpSource, _In_opt_ LPCVOID lpSource,
_In_ DWORD dwMessageId, _In_ DWORD dwMessageId,
_In_ DWORD dwLanguageId, _In_ DWORD dwLanguageId,
_Out_ LPSTR lpBuffer, _When_((dwFlags & FORMAT_MESSAGE_ALLOCATE_BUFFER) != 0, _Out_writes_bytes_(s
izeof(LPSTR)))
_When_((dwFlags & FORMAT_MESSAGE_ALLOCATE_BUFFER) == 0, _Out_writes_z_(nSize
))
LPSTR lpBuffer,
_In_ DWORD nSize, _In_ DWORD nSize,
_In_opt_ va_list *Arguments _In_opt_ va_list *Arguments
); );
WINBASEAPI WINBASEAPI
_Success_(return != 0) _Success_(return != 0)
DWORD DWORD
WINAPI WINAPI
FormatMessageW( FormatMessageW(
_In_ DWORD dwFlags, _In_ DWORD dwFlags,
_In_opt_ LPCVOID lpSource, _In_opt_ LPCVOID lpSource,
_In_ DWORD dwMessageId, _In_ DWORD dwMessageId,
_In_ DWORD dwLanguageId, _In_ DWORD dwLanguageId,
_Out_ LPWSTR lpBuffer, _When_((dwFlags & FORMAT_MESSAGE_ALLOCATE_BUFFER) != 0, _Out_writes_bytes_(s
izeof(LPWSTR)))
_When_((dwFlags & FORMAT_MESSAGE_ALLOCATE_BUFFER) == 0, _Out_writes_z_(nSize
))
LPWSTR lpBuffer,
_In_ DWORD nSize, _In_ DWORD nSize,
_In_opt_ 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)
skipping to change at line 2379 skipping to change at line 2364
#endif /* _M_CEE */ #endif /* _M_CEE */
#endif /* MIDL_PASS */ #endif /* MIDL_PASS */
#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
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM ) */
#pragma endregion #pragma endregion
#pragma region Desktop Family #pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
//
// FORMAT_MESSAGE_ALLOCATE_BUFFER requires use of LocalFree which is in the
// "Desktop Family" only.
//
#define FORMAT_MESSAGE_ALLOCATE_BUFFER 0x00000100
WINBASEAPI
BOOL
WINAPI
GetNamedPipeInfo(
_In_ HANDLE hNamedPipe,
_Out_opt_ LPDWORD lpFlags,
_Out_opt_ LPDWORD lpOutBufferSize,
_Out_opt_ LPDWORD lpInBufferSize,
_Out_opt_ LPDWORD lpMaxInstances
);
WINBASEAPI WINBASEAPI
HANDLE HANDLE
WINAPI WINAPI
CreateMailslotA( CreateMailslotA(
_In_ LPCSTR lpName, _In_ LPCSTR lpName,
_In_ DWORD nMaxMessageSize, _In_ DWORD nMaxMessageSize,
_In_ DWORD lReadTimeout, _In_ DWORD lReadTimeout,
_In_opt_ LPSECURITY_ATTRIBUTES lpSecurityAttributes _In_opt_ LPSECURITY_ATTRIBUTES lpSecurityAttributes
); );
WINBASEAPI WINBASEAPI
skipping to change at line 2549 skipping to change at line 2516
(WINAPI *PFE_IMPORT_FUNC)( (WINAPI *PFE_IMPORT_FUNC)(
_Out_writes_bytes_to_(*ulLength, *ulLength) PBYTE pbData, _Out_writes_bytes_to_(*ulLength, *ulLength) PBYTE pbData,
_In_opt_ PVOID pvCallbackContext, _In_opt_ PVOID pvCallbackContext,
_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) #define EFSRPC_SECURE_ONLY (8)
#define EFS_DROP_ALTERNATE_STREAMS (0x10)
WINADVAPI WINADVAPI
DWORD DWORD
WINAPI WINAPI
OpenEncryptedFileRawA( OpenEncryptedFileRawA(
_In_ LPCSTR lpFileName, _In_ LPCSTR lpFileName,
_In_ ULONG ulFlags, _In_ ULONG ulFlags,
_Outptr_ PVOID *pvContext _Outptr_ PVOID *pvContext
); );
WINADVAPI WINADVAPI
skipping to change at line 2601 skipping to change at line 2569
_In_ PVOID pvContext _In_ PVOID pvContext
); );
WINADVAPI WINADVAPI
VOID VOID
WINAPI WINAPI
CloseEncryptedFileRaw( CloseEncryptedFileRaw(
_In_ PVOID pvContext _In_ PVOID pvContext
); );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
// //
// _l Compat Functions // _l Compat Functions
// //
#pragma region Desktop Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM)
WINBASEAPI WINBASEAPI
int int
WINAPI WINAPI
lstrcmpA( lstrcmpA(
_In_ LPCSTR lpString1, _In_ LPCSTR lpString1,
_In_ LPCSTR lpString2 _In_ LPCSTR lpString2
); );
WINBASEAPI WINBASEAPI
int int
WINAPI WINAPI
skipping to change at line 2645 skipping to change at line 2619
lstrcmpiW( lstrcmpiW(
_In_ LPCWSTR lpString1, _In_ LPCWSTR lpString1,
_In_ LPCWSTR lpString2 _In_ LPCWSTR lpString2
); );
#ifdef UNICODE #ifdef UNICODE
#define lstrcmpi lstrcmpiW #define lstrcmpi lstrcmpiW
#else #else
#define lstrcmpi lstrcmpiA #define lstrcmpi lstrcmpiA
#endif // !UNICODE #endif // !UNICODE
#if defined(DEPRECATE_SUPPORTED)
#pragma warning(push)
#pragma warning(disable:4995)
#endif
WINBASEAPI WINBASEAPI
_Check_return_ _Check_return_
_Success_(return != NULL) _Success_(return != NULL)
_Post_satisfies_(return == lpString1) _Post_satisfies_(return == lpString1)
_Ret_maybenull_ _Ret_maybenull_
LPSTR LPSTR
WINAPI WINAPI
lstrcpynA( lstrcpynA(
_Out_writes_(iMaxLength) LPSTR lpString1, _Out_writes_(iMaxLength) LPSTR lpString1,
_In_ LPCSTR lpString2, _In_ LPCSTR lpString2,
skipping to change at line 2675 skipping to change at line 2654
_Out_writes_(iMaxLength) LPWSTR lpString1, _Out_writes_(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
LPSTR LPSTR
WINAPI WINAPI
lstrcpyA( lstrcpyA(
_Out_writes_(_String_length_(lpString2) + 1) LPSTR lpString1, // deprecated: annotation is as good as it gets _Out_writes_(_String_length_(lpString2) + 1) LPSTR lpString1, // deprecated: annotation is as good as it gets
_In_ LPCSTR lpString2 _In_ LPCSTR lpString2
); );
WINBASEAPI WINBASEAPI
LPWSTR LPWSTR
WINAPI WINAPI
skipping to change at line 2742 skipping to change at line 2716
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
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SY
STEM) */
#pragma endregion
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
WINBASEAPI WINBASEAPI
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
skipping to change at line 2937 skipping to change at line 2917
#define STARTF_USESTDHANDLES 0x00000100 #define STARTF_USESTDHANDLES 0x00000100
#if(WINVER >= 0x0400) #if(WINVER >= 0x0400)
#define STARTF_USEHOTKEY 0x00000200 #define STARTF_USEHOTKEY 0x00000200
#define STARTF_TITLEISLINKNAME 0x00000800 #define STARTF_TITLEISLINKNAME 0x00000800
#define STARTF_TITLEISAPPID 0x00001000 #define STARTF_TITLEISAPPID 0x00001000
#define STARTF_PREVENTPINNING 0x00002000 #define STARTF_PREVENTPINNING 0x00002000
#endif /* WINVER >= 0x0400 */ #endif /* WINVER >= 0x0400 */
#if(WINVER >= 0x0600)
#define STARTF_UNTRUSTEDSOURCE 0x00008000
#endif /* WINVER >= 0x0600 */
#if (_WIN32_WINNT >= 0x0600) #if (_WIN32_WINNT >= 0x0600)
typedef struct _STARTUPINFOEXA { typedef struct _STARTUPINFOEXA {
STARTUPINFOA StartupInfo; STARTUPINFOA StartupInfo;
LPPROC_THREAD_ATTRIBUTE_LIST lpAttributeList; LPPROC_THREAD_ATTRIBUTE_LIST lpAttributeList;
} STARTUPINFOEXA, *LPSTARTUPINFOEXA; } STARTUPINFOEXA, *LPSTARTUPINFOEXA;
typedef struct _STARTUPINFOEXW { typedef struct _STARTUPINFOEXW {
STARTUPINFOW StartupInfo; STARTUPINFOW StartupInfo;
LPPROC_THREAD_ATTRIBUTE_LIST lpAttributeList; LPPROC_THREAD_ATTRIBUTE_LIST lpAttributeList;
} STARTUPINFOEXW, *LPSTARTUPINFOEXW; } STARTUPINFOEXW, *LPSTARTUPINFOEXW;
skipping to change at line 2962 skipping to change at line 2946
typedef LPSTARTUPINFOEXA LPSTARTUPINFOEX; typedef LPSTARTUPINFOEXA LPSTARTUPINFOEX;
#endif // UNICODE #endif // UNICODE
#endif // (_WIN32_WINNT >= 0x0600) #endif // (_WIN32_WINNT >= 0x0600)
#define SHUTDOWN_NORETRY 0x00000001 #define SHUTDOWN_NORETRY 0x00000001
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion #pragma endregion
#pragma region Desktop Family #pragma region Application Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM)
WINBASEAPI WINBASEAPI
_Ret_maybenull_ _Ret_maybenull_
HANDLE HANDLE
WINAPI WINAPI
OpenMutexA( OpenMutexA(
_In_ DWORD dwDesiredAccess, _In_ DWORD dwDesiredAccess,
_In_ BOOL bInheritHandle, _In_ BOOL bInheritHandle,
_In_ LPCSTR lpName _In_ LPCSTR lpName
); );
skipping to change at line 2988 skipping to change at line 2972
WINBASEAPI WINBASEAPI
_Ret_maybenull_ _Ret_maybenull_
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 #ifndef UNICODE
_Ret_maybenull_
HANDLE
WINAPI
CreateSemaphoreW(
_In_opt_ LPSECURITY_ATTRIBUTES lpSemaphoreAttributes,
_In_ LONG lInitialCount,
_In_ LONG lMaximumCount,
_In_opt_ LPCWSTR lpName
);
#ifdef UNICODE
#define CreateSemaphore CreateSemaphoreW
#else
#define CreateSemaphore CreateSemaphoreA #define CreateSemaphore CreateSemaphoreA
#endif // !UNICODE #endif
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM
) ) */
#pragma endregion
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
WINBASEAPI WINBASEAPI
_Ret_maybenull_ _Ret_maybenull_
HANDLE HANDLE
WINAPI WINAPI
OpenSemaphoreA( OpenSemaphoreA(
_In_ DWORD dwDesiredAccess, _In_ DWORD dwDesiredAccess,
_In_ BOOL bInheritHandle, _In_ BOOL bInheritHandle,
_In_ LPCSTR lpName _In_ LPCSTR lpName
); );
skipping to change at line 3028 skipping to change at line 3006
WINBASEAPI WINBASEAPI
_Ret_maybenull_ _Ret_maybenull_
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 #ifndef UNICODE
_Ret_maybenull_
HANDLE
WINAPI
CreateWaitableTimerW(
_In_opt_ LPSECURITY_ATTRIBUTES lpTimerAttributes,
_In_ BOOL bManualReset,
_In_opt_ LPCWSTR lpTimerName
);
#ifdef UNICODE
#define CreateWaitableTimer CreateWaitableTimerW
#else
#define CreateWaitableTimer CreateWaitableTimerA #define CreateWaitableTimer CreateWaitableTimerA
#endif // !UNICODE #endif
WINBASEAPI WINBASEAPI
_Ret_maybenull_ _Ret_maybenull_
HANDLE HANDLE
WINAPI WINAPI
OpenWaitableTimerA( OpenWaitableTimerA(
_In_ DWORD dwDesiredAccess, _In_ DWORD dwDesiredAccess,
_In_ BOOL bInheritHandle, _In_ BOOL bInheritHandle,
_In_ LPCSTR lpTimerName _In_ LPCSTR lpTimerName
); );
skipping to change at line 3092 skipping to change at line 3059
_In_ DWORD dwDesiredAccess _In_ DWORD dwDesiredAccess
); );
#ifndef UNICODE #ifndef UNICODE
#define CreateWaitableTimerEx CreateWaitableTimerExA #define CreateWaitableTimerEx CreateWaitableTimerExA
#endif #endif
#endif /* (_WIN32_WINNT >= 0x0600) */ #endif /* (_WIN32_WINNT >= 0x0600) */
#endif /* (_WIN32_WINNT >= 0x0400) || (_WIN32_WINDOWS > 0x0400) */ #endif /* (_WIN32_WINNT >= 0x0400) || (_WIN32_WINDOWS > 0x0400) */
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SY
STEM) */
#pragma endregion
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
WINBASEAPI WINBASEAPI
_Ret_maybenull_ _Ret_maybenull_
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,
skipping to change at line 3142 skipping to change at line 3115
WINAPI WINAPI
OpenFileMappingA( OpenFileMappingA(
_In_ DWORD dwDesiredAccess, _In_ DWORD dwDesiredAccess,
_In_ BOOL bInheritHandle, _In_ BOOL bInheritHandle,
_In_ LPCSTR lpName _In_ LPCSTR lpName
); );
#ifndef UNICODE #ifndef UNICODE
#define OpenFileMapping OpenFileMappingA #define OpenFileMapping OpenFileMappingA
#endif #endif
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#pragma region Desktop Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM)
WINBASEAPI WINBASEAPI
_Success_(return != 0 && return <= nBufferLength) _Success_(return != 0 && return <= nBufferLength)
DWORD DWORD
WINAPI WINAPI
GetLogicalDriveStringsA( GetLogicalDriveStringsA(
_In_ DWORD nBufferLength, _In_ DWORD nBufferLength,
_Out_writes_to_opt_(nBufferLength, return + 1) LPSTR lpBuffer _Out_writes_to_opt_(nBufferLength, return + 1) LPSTR lpBuffer
); );
#ifndef UNICODE #ifndef UNICODE
#define GetLogicalDriveStrings GetLogicalDriveStringsA #define GetLogicalDriveStrings GetLogicalDriveStringsA
#endif #endif
WINBASEAPI #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SY
_Ret_maybenull_ STEM) */
HMODULE #pragma endregion
WINAPI
LoadLibraryA( #pragma region Desktop Family
_In_ LPCSTR lpLibFileName #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
);
WINBASEAPI
_Ret_maybenull_
HMODULE
WINAPI
LoadLibraryW(
_In_ LPCWSTR lpLibFileName
);
#ifdef UNICODE
#define LoadLibrary LoadLibraryW
#else
#define LoadLibrary LoadLibraryA
#endif // !UNICODE
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion #pragma endregion
#pragma region Application Family #pragma region Application Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM)
#if (_WIN32_WINNT >= 0x0602) #if (_WIN32_WINNT >= 0x0602)
WINBASEAPI WINBASEAPI
_Ret_maybenull_ _Ret_maybenull_
HMODULE HMODULE
WINAPI WINAPI
LoadPackagedLibrary ( LoadPackagedLibrary (
_In_ LPCWSTR lpwLibFileName, _In_ LPCWSTR lpwLibFileName,
_Reserved_ DWORD Reserved _Reserved_ DWORD Reserved
); );
#endif // _WIN32_WINNT >= 0x0602 #endif // _WIN32_WINNT >= 0x0602
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM ) */
#pragma endregion #pragma endregion
#pragma region Desktop Family #pragma region Desktop Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM)
#if (_WIN32_WINNT >= 0x0600) #if (_WIN32_WINNT >= 0x0600)
#define PROCESS_NAME_NATIVE 0x00000001 #define PROCESS_NAME_NATIVE 0x00000001
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
QueryFullProcessImageNameA( QueryFullProcessImageNameA(
_In_ HANDLE hProcess, _In_ HANDLE hProcess,
skipping to change at line 3227 skipping to change at line 3192
_In_ DWORD dwFlags, _In_ DWORD dwFlags,
_Out_writes_to_(*lpdwSize, *lpdwSize) LPWSTR lpExeName, _Out_writes_to_(*lpdwSize, *lpdwSize) LPWSTR lpExeName,
_Inout_ PDWORD lpdwSize _Inout_ PDWORD lpdwSize
); );
#ifdef UNICODE #ifdef UNICODE
#define QueryFullProcessImageName QueryFullProcessImageNameW #define QueryFullProcessImageName QueryFullProcessImageNameW
#else #else
#define QueryFullProcessImageName QueryFullProcessImageNameA #define QueryFullProcessImageName QueryFullProcessImageNameA
#endif // !UNICODE #endif // !UNICODE
#endif #endif // _WIN32_WINNT >= 0x0600
#if (_WIN32_WINNT >= 0x0600) #if (_WIN32_WINNT >= 0x0600)
// //
// Extended process and thread attribute support // Extended process and thread attribute support
// //
#define PROC_THREAD_ATTRIBUTE_NUMBER 0x0000FFFF #define PROC_THREAD_ATTRIBUTE_NUMBER 0x0000FFFF
#define PROC_THREAD_ATTRIBUTE_THREAD 0x00010000 // Attribute may be used wit h thread creation #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_INPUT 0x00020000 // Attribute is input only
skipping to change at line 3257 skipping to change at line 3222
ProcThreadAttributeGroupAffinity = 3, ProcThreadAttributeGroupAffinity = 3,
ProcThreadAttributePreferredNode = 4, ProcThreadAttributePreferredNode = 4,
ProcThreadAttributeIdealProcessor = 5, ProcThreadAttributeIdealProcessor = 5,
ProcThreadAttributeUmsThread = 6, ProcThreadAttributeUmsThread = 6,
ProcThreadAttributeMitigationPolicy = 7, ProcThreadAttributeMitigationPolicy = 7,
#endif #endif
#if (_WIN32_WINNT >= _WIN32_WINNT_WIN8) #if (_WIN32_WINNT >= _WIN32_WINNT_WIN8)
ProcThreadAttributeSecurityCapabilities = 9, ProcThreadAttributeSecurityCapabilities = 9,
#endif #endif
ProcThreadAttributeProtectionLevel = 11, ProcThreadAttributeProtectionLevel = 11,
#if (_WIN32_WINNT >= _WIN32_WINNT_WINBLUE)
#endif
#if (_WIN32_WINNT >= _WIN32_WINNT_WINTHRESHOLD)
ProcThreadAttributeJobList = 13,
ProcThreadAttributeChildProcessPolicy = 14,
#endif
} PROC_THREAD_ATTRIBUTE_NUM; } PROC_THREAD_ATTRIBUTE_NUM;
#endif #endif
#define ProcThreadAttributeValue(Number, Thread, Input, Additive) \ #define ProcThreadAttributeValue(Number, Thread, Input, Additive) \
(((Number) & PROC_THREAD_ATTRIBUTE_NUMBER) | \ (((Number) & PROC_THREAD_ATTRIBUTE_NUMBER) | \
((Thread != FALSE) ? PROC_THREAD_ATTRIBUTE_THREAD : 0) | \ ((Thread != FALSE) ? PROC_THREAD_ATTRIBUTE_THREAD : 0) | \
((Input != FALSE) ? PROC_THREAD_ATTRIBUTE_INPUT : 0) | \ ((Input != FALSE) ? PROC_THREAD_ATTRIBUTE_INPUT : 0) | \
((Additive != FALSE) ? PROC_THREAD_ATTRIBUTE_ADDITIVE : 0)) ((Additive != FALSE) ? PROC_THREAD_ATTRIBUTE_ADDITIVE : 0))
#define PROC_THREAD_ATTRIBUTE_PARENT_PROCESS \ #define PROC_THREAD_ATTRIBUTE_PARENT_PROCESS \
skipping to change at line 3294 skipping to change at line 3265
#endif #endif
#if (_WIN32_WINNT >= _WIN32_WINNT_WIN8) #if (_WIN32_WINNT >= _WIN32_WINNT_WIN8)
#define PROC_THREAD_ATTRIBUTE_SECURITY_CAPABILITIES \ #define PROC_THREAD_ATTRIBUTE_SECURITY_CAPABILITIES \
ProcThreadAttributeValue (ProcThreadAttributeSecurityCapabilities, FALSE, TR UE, FALSE) ProcThreadAttributeValue (ProcThreadAttributeSecurityCapabilities, FALSE, TR UE, FALSE)
#endif #endif
#define PROC_THREAD_ATTRIBUTE_PROTECTION_LEVEL \ #define PROC_THREAD_ATTRIBUTE_PROTECTION_LEVEL \
ProcThreadAttributeValue (ProcThreadAttributeProtectionLevel, FALSE, TRUE, F ALSE) ProcThreadAttributeValue (ProcThreadAttributeProtectionLevel, FALSE, TRUE, F ALSE)
#if (_WIN32_WINNT >= _WIN32_WINNT_WINBLUE)
#endif
#if (_WIN32_WINNT >= _WIN32_WINNT_WIN7) #if (_WIN32_WINNT >= _WIN32_WINNT_WIN7)
// //
// Define legacy creation mitigation policy options, which are straight // Define legacy creation mitigation policy options, which are straight
// bitmasks. Bits 0-5 are legacy bits. // bitmasks. Bits 0-5 are legacy bits.
// //
#define PROCESS_CREATION_MITIGATION_POLICY_DEP_ENABLE 0x01 #define PROCESS_CREATION_MITIGATION_POLICY_DEP_ENABLE 0x01
#define PROCESS_CREATION_MITIGATION_POLICY_DEP_ATL_THUNK_ENABLE 0x02 #define PROCESS_CREATION_MITIGATION_POLICY_DEP_ATL_THUNK_ENABLE 0x02
#define PROCESS_CREATION_MITIGATION_POLICY_SEHOP_ENABLE 0x04 #define PROCESS_CREATION_MITIGATION_POLICY_SEHOP_ENABLE 0x04
#endif #endif
skipping to change at line 3406 skipping to change at line 3380
// Define dynamic code options. // Define dynamic code options.
// //
#define PROCESS_CREATION_MITIGATION_POLICY_PROHIBIT_DYNAMIC_CODE_MASK (0x00000003ui64 << 36) #define PROCESS_CREATION_MITIGATION_POLICY_PROHIBIT_DYNAMIC_CODE_MASK (0x00000003ui64 << 36)
#define PROCESS_CREATION_MITIGATION_POLICY_PROHIBIT_DYNAMIC_CODE_DEFER (0x00000000ui64 << 36) #define PROCESS_CREATION_MITIGATION_POLICY_PROHIBIT_DYNAMIC_CODE_DEFER (0x00000000ui64 << 36)
#define PROCESS_CREATION_MITIGATION_POLICY_PROHIBIT_DYNAMIC_CODE_ALWAYS_ON (0x00000001ui64 << 36) #define PROCESS_CREATION_MITIGATION_POLICY_PROHIBIT_DYNAMIC_CODE_ALWAYS_ON (0x00000001ui64 << 36)
#define PROCESS_CREATION_MITIGATION_POLICY_PROHIBIT_DYNAMIC_CODE_ALWAYS_OFF (0x00000002ui64 << 36) #define PROCESS_CREATION_MITIGATION_POLICY_PROHIBIT_DYNAMIC_CODE_ALWAYS_OFF (0x00000002ui64 << 36)
#define PROCESS_CREATION_MITIGATION_POLICY_PROHIBIT_DYNAMIC_CODE_RESERVED (0x00000003ui64 << 36) #define PROCESS_CREATION_MITIGATION_POLICY_PROHIBIT_DYNAMIC_CODE_RESERVED (0x00000003ui64 << 36)
// //
// Define Control Flow Guard (CFG) mitigation policy options. Control Flow
// Guard allows indirect control transfers to be checked at runtime.
//
#define PROCESS_CREATION_MITIGATION_POLICY_CONTROL_FLOW_GUARD_MASK
(0x00000003ui64 << 40)
#define PROCESS_CREATION_MITIGATION_POLICY_CONTROL_FLOW_GUARD_DEFER
(0x00000000ui64 << 40)
#define PROCESS_CREATION_MITIGATION_POLICY_CONTROL_FLOW_GUARD_ALWAYS_ON
(0x00000001ui64 << 40)
#define PROCESS_CREATION_MITIGATION_POLICY_CONTROL_FLOW_GUARD_ALWAYS_OFF
(0x00000002ui64 << 40)
#define PROCESS_CREATION_MITIGATION_POLICY_CONTROL_FLOW_GUARD_ALWAYS_RESERVED
(0x00000003ui64 << 40)
//
// Define module signature options. When enabled, this option will // Define module signature options. When enabled, this option will
// block mapping of non-microsoft binaries. // block mapping of non-microsoft binaries.
// //
#define PROCESS_CREATION_MITIGATION_POLICY_BLOCK_NON_MICROSOFT_BINARIES_MASK (0x00000003ui64 << 44) #define PROCESS_CREATION_MITIGATION_POLICY_BLOCK_NON_MICROSOFT_BINARIES_MASK (0x00000003ui64 << 44)
#define PROCESS_CREATION_MITIGATION_POLICY_BLOCK_NON_MICROSOFT_BINARIES_DEFER (0x00000000ui64 << 44) #define PROCESS_CREATION_MITIGATION_POLICY_BLOCK_NON_MICROSOFT_BINARIES_DEFER (0x00000000ui64 << 44)
#define PROCESS_CREATION_MITIGATION_POLICY_BLOCK_NON_MICROSOFT_BINARIES_ALWAYS_O N (0x00000001ui64 << 44) #define PROCESS_CREATION_MITIGATION_POLICY_BLOCK_NON_MICROSOFT_BINARIES_ALWAYS_O N (0x00000001ui64 << 44)
#define PROCESS_CREATION_MITIGATION_POLICY_BLOCK_NON_MICROSOFT_BINARIES_ALWAYS_O FF (0x00000002ui64 << 44) #define PROCESS_CREATION_MITIGATION_POLICY_BLOCK_NON_MICROSOFT_BINARIES_ALWAYS_O FF (0x00000002ui64 << 44)
#define PROCESS_CREATION_MITIGATION_POLICY_BLOCK_NON_MICROSOFT_BINARIES_RESERVED (0x00000003ui64 << 44) #define PROCESS_CREATION_MITIGATION_POLICY_BLOCK_NON_MICROSOFT_BINARIES_RESERVED (0x00000003ui64 << 44)
#if (_WIN32_WINNT >= _WIN32_WINNT_WINTHRESHOLD)
//
// Define Font Disable Policy. When enabled, this option will
// block loading Non System Fonts.
//
#define PROCESS_CREATION_MITIGATION_POLICY_FONT_DISABLE_MASK
(0x00000003ui64 << 48)
#define PROCESS_CREATION_MITIGATION_POLICY_FONT_DISABLE_DEFER
(0x00000000ui64 << 48)
#define PROCESS_CREATION_MITIGATION_POLICY_FONT_DISABLE_ALWAYS_ON
(0x00000001ui64 << 48)
#define PROCESS_CREATION_MITIGATION_POLICY_FONT_DISABLE_ALWAYS_OFF
(0x00000002ui64 << 48)
#define PROCESS_CREATION_MITIGATION_POLICY_AUDIT_NONSYSTEM_FONTS
(0x00000003ui64 << 48)
//
// Define remote image load options. When enabled, this option will
// block mapping of images from remote devices.
//
#define PROCESS_CREATION_MITIGATION_POLICY_IMAGE_LOAD_NO_REMOTE_MASK
(0x00000003ui64 << 52)
#define PROCESS_CREATION_MITIGATION_POLICY_IMAGE_LOAD_NO_REMOTE_DEFER
(0x00000000ui64 << 52)
#define PROCESS_CREATION_MITIGATION_POLICY_IMAGE_LOAD_NO_REMOTE_ALWAYS_ON
(0x00000001ui64 << 52)
#define PROCESS_CREATION_MITIGATION_POLICY_IMAGE_LOAD_NO_REMOTE_ALWAYS_OFF
(0x00000002ui64 << 52)
#define PROCESS_CREATION_MITIGATION_POLICY_IMAGE_LOAD_NO_REMOTE_RESERVED
(0x00000003ui64 << 52)
//
// Define low IL image load options. When enabled, this option will
// block mapping of images that have the low mandatory label.
//
#define PROCESS_CREATION_MITIGATION_POLICY_IMAGE_LOAD_NO_LOW_LABEL_MASK
(0x00000003ui64 << 56)
#define PROCESS_CREATION_MITIGATION_POLICY_IMAGE_LOAD_NO_LOW_LABEL_DEFER
(0x00000000ui64 << 56)
#define PROCESS_CREATION_MITIGATION_POLICY_IMAGE_LOAD_NO_LOW_LABEL_ALWAYS_ON
(0x00000001ui64 << 56)
#define PROCESS_CREATION_MITIGATION_POLICY_IMAGE_LOAD_NO_LOW_LABEL_ALWAYS_OFF
(0x00000002ui64 << 56)
#define PROCESS_CREATION_MITIGATION_POLICY_IMAGE_LOAD_NO_LOW_LABEL_RESERVED
(0x00000003ui64 << 56)
#endif // _WIN32_WINNT_WINTHRESHOLD
#endif // _WIN32_WINNT_WINBLUE #endif // _WIN32_WINNT_WINBLUE
#endif // _WIN32_WINNT_WIN8 #endif // _WIN32_WINNT_WIN8
WINBASEAPI #if (_WIN32_WINNT >= _WIN32_WINNT_WINTHRESHOLD)
BOOL
WINAPI
GetProcessShutdownParameters(
_Out_ LPDWORD lpdwLevel,
_Out_ LPDWORD lpdwFlags
);
WINBASEAPI #define PROC_THREAD_ATTRIBUTE_JOB_LIST \
VOID ProcThreadAttributeValue (ProcThreadAttributeJobList, FALSE, TRUE, FALSE)
WINAPI
FatalAppExitA( //
_In_ UINT uAction, // Define Attribute to disable creation of child process
_In_ LPCSTR lpMessageText //
);
WINBASEAPI #define PROCESS_CREATION_CHILD_PROCESS_RESTRICTED
VOID 0x01
WINAPI #define PROCESS_CREATION_CHILD_PROCESS_OVERRIDE
FatalAppExitW( 0x02
_In_ UINT uAction,
_In_ LPCWSTR lpMessageText #define PROC_THREAD_ATTRIBUTE_CHILD_PROCESS_POLICY \
); ProcThreadAttributeValue (ProcThreadAttributeChildProcessPolicy, FALSE, TRUE
#ifdef UNICODE , FALSE)
#define FatalAppExit FatalAppExitW
#else #endif // _WIN32_WINNT_WINTHRESHOLD
#define FatalAppExit FatalAppExitA
#endif // !UNICODE #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SY
STEM) */
#pragma endregion
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
WINBASEAPI WINBASEAPI
VOID VOID
WINAPI WINAPI
GetStartupInfoA( GetStartupInfoA(
_Out_ LPSTARTUPINFOA lpStartupInfo _Out_ LPSTARTUPINFOA lpStartupInfo
); );
#ifndef UNICODE #ifndef UNICODE
#define GetStartupInfo GetStartupInfoA #define GetStartupInfo GetStartupInfoA
#endif #endif
#if defined(_M_CEE) #if defined(_M_CEE)
#undef GetEnvironmentVariable #undef GetEnvironmentVariable
#if _MSC_VER >= 1400 #if _MSC_VER >= 1400
#pragma warning(push) #pragma warning(push)
#pragma warning(disable: 6103) #pragma warning(disable: 6103)
#endif _MSC_VER >= 1400 /* _MSC_VER >= 1400 */ #endif /* _MSC_VER >= 1400 */
_Success_(return != 0 && return < nSize) _Success_(return != 0 && return < nSize)
__inline __inline
DWORD DWORD
GetEnvironmentVariable( GetEnvironmentVariable(
_In_opt_ LPCTSTR lpName, _In_opt_ LPCTSTR lpName,
_Out_writes_to_opt_(nSize, return + 1) LPTSTR lpBuffer, _Out_writes_to_opt_(nSize, return + 1) LPTSTR lpBuffer,
_In_ DWORD nSize _In_ DWORD nSize
) )
{ {
skipping to change at line 3486 skipping to change at line 3503
return GetEnvironmentVariableA( return GetEnvironmentVariableA(
#endif #endif
lpName, lpName,
lpBuffer, lpBuffer,
nSize nSize
); );
} }
#if _MSC_VER >= 1400 #if _MSC_VER >= 1400
#pragma warning(pop) #pragma warning(pop)
#endif _MSC_VER >= 1400 /* _MSC_VER >= 1400 */ #endif /* _MSC_VER >= 1400 */
#endif /* _M_CEE */ #endif /* _M_CEE */
#if defined(_M_CEE) #if defined(_M_CEE)
#undef SetEnvironmentVariable #undef SetEnvironmentVariable
__inline __inline
BOOL BOOL
SetEnvironmentVariable( SetEnvironmentVariable(
LPCTSTR lpName, LPCTSTR lpName,
LPCTSTR lpValue LPCTSTR lpValue
skipping to change at line 3510 skipping to change at line 3527
return SetEnvironmentVariableW( return SetEnvironmentVariableW(
#else #else
return SetEnvironmentVariableA( return SetEnvironmentVariableA(
#endif #endif
lpName, lpName,
lpValue lpValue
); );
} }
#endif /* _M_CEE */ #endif /* _M_CEE */
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#pragma region Desktop Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM)
WINBASEAPI WINBASEAPI
DWORD DWORD
WINAPI WINAPI
GetFirmwareEnvironmentVariableA( GetFirmwareEnvironmentVariableA(
_In_ LPCSTR lpName, _In_ LPCSTR lpName,
_In_ LPCSTR lpGuid, _In_ LPCSTR lpGuid,
_Out_writes_bytes_to_opt_(nSize, return) PVOID pBuffer, _Out_writes_bytes_to_opt_(nSize, return) PVOID pBuffer,
_In_ DWORD nSize _In_ DWORD nSize
); );
WINBASEAPI WINBASEAPI
skipping to change at line 3618 skipping to change at line 3641
_In_ DWORD dwAttributes _In_ DWORD dwAttributes
); );
#ifdef UNICODE #ifdef UNICODE
#define SetFirmwareEnvironmentVariableEx SetFirmwareEnvironmentVariableExW #define SetFirmwareEnvironmentVariableEx SetFirmwareEnvironmentVariableExW
#else #else
#define SetFirmwareEnvironmentVariableEx SetFirmwareEnvironmentVariableExA #define SetFirmwareEnvironmentVariableEx SetFirmwareEnvironmentVariableExA
#endif // !UNICODE #endif // !UNICODE
#endif #endif
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SY
STEM) */
#pragma endregion
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
#if (_WIN32_WINNT >= _WIN32_WINNT_WIN8) #if (_WIN32_WINNT >= _WIN32_WINNT_WIN8)
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
GetFirmwareType ( GetFirmwareType (
_Inout_ PFIRMWARE_TYPE FirmwareType _Inout_ PFIRMWARE_TYPE FirmwareType
); );
WINBASEAPI WINBASEAPI
skipping to change at line 3645 skipping to change at line 3674
WINBASEAPI WINBASEAPI
_Ret_maybenull_ _Ret_maybenull_
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 #ifndef UNICODE
_Ret_maybenull_
HRSRC
WINAPI
FindResourceW(
_In_opt_ HMODULE hModule,
_In_ LPCWSTR lpName,
_In_ LPCWSTR lpType
);
#ifdef UNICODE
#define FindResource FindResourceW
#else
#define FindResource FindResourceA #define FindResource FindResourceA
#endif // !UNICODE #endif
WINBASEAPI WINBASEAPI
_Ret_maybenull_ _Ret_maybenull_
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
skipping to change at line 4384 skipping to change at line 4402
_In_reads_bytes_opt_(uSizeStruct) LPVOID lpStruct, _In_reads_bytes_opt_(uSizeStruct) LPVOID lpStruct,
_In_ UINT uSizeStruct, _In_ UINT uSizeStruct,
_In_opt_ LPCWSTR szFile _In_opt_ LPCWSTR szFile
); );
#ifdef UNICODE #ifdef UNICODE
#define WritePrivateProfileStruct WritePrivateProfileStructW #define WritePrivateProfileStruct WritePrivateProfileStructW
#else #else
#define WritePrivateProfileStruct WritePrivateProfileStructA #define WritePrivateProfileStruct WritePrivateProfileStructA
#endif // !UNICODE #endif // !UNICODE
WINBASEAPI
DWORD
WINAPI
GetTempPathA(
_In_ DWORD nBufferLength,
_Out_writes_to_opt_(nBufferLength, return + 1) LPSTR lpBuffer
);
#ifndef UNICODE
#define GetTempPath GetTempPathA
#endif
WINBASEAPI
UINT
WINAPI
GetTempFileNameA(
_In_ LPCSTR lpPathName,
_In_ LPCSTR lpPrefixString,
_In_ UINT uUnique,
_Out_writes_(MAX_PATH) LPSTR lpTempFileName
);
#ifndef UNICODE
#define GetTempFileName GetTempFileNameA
#endif
#if defined(_M_CEE) #if defined(_M_CEE)
#undef GetTempFileName #undef GetTempFileName
__inline __inline
UINT UINT
GetTempFileName( GetTempFileName(
LPCTSTR lpPathName, LPCTSTR lpPathName,
LPCTSTR lpPrefixString, LPCTSTR lpPrefixString,
UINT uUnique, UINT uUnique,
LPTSTR lpTempFileName LPTSTR lpTempFileName
) )
skipping to change at line 4436 skipping to change at line 4430
uUnique, uUnique,
lpTempFileName lpTempFileName
); );
} }
#endif /* _M_CEE */ #endif /* _M_CEE */
#if !defined(RC_INVOKED) // RC warns because "WINBASE_DECLARE_GET_SYSTEM_WOW64_D IRECTORY" is a bit long. #if !defined(RC_INVOKED) // RC warns because "WINBASE_DECLARE_GET_SYSTEM_WOW64_D IRECTORY" is a bit long.
#if _WIN32_WINNT >= 0x0501 || defined(WINBASE_DECLARE_GET_SYSTEM_WOW64_DIRECTORY ) #if _WIN32_WINNT >= 0x0501 || defined(WINBASE_DECLARE_GET_SYSTEM_WOW64_DIRECTORY )
WINBASEAPI WINBASEAPI
_Success_(return != 0 && return < uSize)
UINT
WINAPI
GetSystemWow64DirectoryA(
_Out_writes_to_opt_(uSize, return + 1) LPSTR lpBuffer,
_In_ UINT uSize
);
WINBASEAPI
_Success_(return != 0 && return < uSize)
UINT
WINAPI
GetSystemWow64DirectoryW(
_Out_writes_to_opt_(uSize, return + 1) LPWSTR lpBuffer,
_In_ UINT uSize
);
#ifdef UNICODE
#define GetSystemWow64Directory GetSystemWow64DirectoryW
#else
#define GetSystemWow64Directory GetSystemWow64DirectoryA
#endif // !UNICODE
WINBASEAPI
BOOLEAN BOOLEAN
WINAPI WINAPI
Wow64EnableWow64FsRedirection ( Wow64EnableWow64FsRedirection (
_In_ BOOLEAN Wow64FsEnableRedirection _In_ BOOLEAN Wow64FsEnableRedirection
); );
// //
// for GetProcAddress // for GetProcAddress
// //
typedef UINT (WINAPI* PGET_SYSTEM_WOW64_DIRECTORY_A)(_Out_writes_to_opt_(uSize, return + 1) LPSTR lpBuffer, _In_ UINT uSize); typedef UINT (WINAPI* PGET_SYSTEM_WOW64_DIRECTORY_A)(_Out_writes_to_opt_(uSize, return + 1) LPSTR lpBuffer, _In_ UINT uSize);
skipping to change at line 4618 skipping to change at line 4590
#endif #endif
lpPathName, lpPathName,
lpSecurityAttributes lpSecurityAttributes
); );
} }
#endif /* _M_CEE */ #endif /* _M_CEE */
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion #pragma endregion
#pragma region Desktop Family #pragma region Desktop Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM)
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 4643 skipping to change at line 4615
_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
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SY
STEM) */
#pragma endregion
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
#if _WIN32_WINNT >= 0x0600 #if _WIN32_WINNT >= 0x0600
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
CreateDirectoryTransactedA( CreateDirectoryTransactedA(
_In_opt_ LPCSTR lpTemplateDirectory, _In_opt_ LPCSTR lpTemplateDirectory,
_In_ LPCSTR lpNewDirectory, _In_ LPCSTR lpNewDirectory,
_In_opt_ LPSECURITY_ATTRIBUTES lpSecurityAttributes, _In_opt_ LPSECURITY_ATTRIBUTES lpSecurityAttributes,
_In_ HANDLE hTransaction _In_ HANDLE hTransaction
skipping to change at line 4719 skipping to change at line 4697
_In_ HANDLE hTransaction _In_ HANDLE hTransaction
); );
#ifdef UNICODE #ifdef UNICODE
#define GetFullPathNameTransacted GetFullPathNameTransactedW #define GetFullPathNameTransacted GetFullPathNameTransactedW
#else #else
#define GetFullPathNameTransacted GetFullPathNameTransactedA #define GetFullPathNameTransacted GetFullPathNameTransactedA
#endif // !UNICODE #endif // !UNICODE
#endif // _WIN32_WINNT >= 0x0600 #endif // _WIN32_WINNT >= 0x0600
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#pragma region Desktop Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM)
#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
DefineDosDeviceA( DefineDosDeviceA(
skipping to change at line 4749 skipping to change at line 4733
WINAPI WINAPI
QueryDosDeviceA( QueryDosDeviceA(
_In_opt_ LPCSTR lpDeviceName, _In_opt_ LPCSTR lpDeviceName,
_Out_writes_to_opt_(ucchMax, return) LPSTR lpTargetPath, _Out_writes_to_opt_(ucchMax, return) LPSTR lpTargetPath,
_In_ DWORD ucchMax _In_ DWORD ucchMax
); );
#ifndef UNICODE #ifndef UNICODE
#define QueryDosDevice QueryDosDeviceA #define QueryDosDevice QueryDosDeviceA
#endif #endif
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SY
STEM) */
#pragma endregion
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
#define EXPAND_LOCAL_DRIVES #define EXPAND_LOCAL_DRIVES
#if _WIN32_WINNT >= 0x0600 #if _WIN32_WINNT >= 0x0600
WINBASEAPI WINBASEAPI
HANDLE HANDLE
WINAPI WINAPI
CreateFileTransactedA( CreateFileTransactedA(
_In_ LPCSTR lpFileName, _In_ LPCSTR lpFileName,
_In_ DWORD dwDesiredAccess, _In_ DWORD dwDesiredAccess,
skipping to change at line 4791 skipping to change at line 4781
_Reserved_ PVOID lpExtendedParameter _Reserved_ PVOID lpExtendedParameter
); );
#ifdef UNICODE #ifdef UNICODE
#define CreateFileTransacted CreateFileTransactedW #define CreateFileTransacted CreateFileTransactedW
#else #else
#define CreateFileTransacted CreateFileTransactedA #define CreateFileTransacted CreateFileTransactedA
#endif // !UNICODE #endif // !UNICODE
#endif // _WIN32_WINNT >= 0x0600 #endif // _WIN32_WINNT >= 0x0600
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#pragma region Desktop Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM)
#if _WIN32_WINNT >= 0x0502 #if _WIN32_WINNT >= 0x0502
WINBASEAPI WINBASEAPI
HANDLE HANDLE
WINAPI WINAPI
ReOpenFile( ReOpenFile(
_In_ HANDLE hOriginalFile, _In_ HANDLE hOriginalFile,
_In_ DWORD dwDesiredAccess, _In_ DWORD dwDesiredAccess,
_In_ DWORD dwShareMode, _In_ DWORD dwShareMode,
_In_ DWORD dwFlagsAndAttributes _In_ DWORD dwFlagsAndAttributes
); );
#endif // _WIN32_WINNT >= 0x0502 #endif // _WIN32_WINNT >= 0x0502
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SY
STEM) */
#pragma endregion
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
#if _WIN32_WINNT >= 0x0600 #if _WIN32_WINNT >= 0x0600
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
SetFileAttributesTransactedA( SetFileAttributesTransactedA(
_In_ LPCSTR lpFileName, _In_ LPCSTR lpFileName,
_In_ DWORD dwFileAttributes, _In_ DWORD dwFileAttributes,
_In_ HANDLE hTransaction _In_ HANDLE hTransaction
); );
skipping to change at line 5004 skipping to change at line 5006
#define FindFirstFileTransacted FindFirstFileTransactedA #define FindFirstFileTransacted FindFirstFileTransactedA
#endif // !UNICODE #endif // !UNICODE
#endif #endif
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion #pragma endregion
#endif /* _WIN32_WINNT >= 0x0400 */ #endif /* _WIN32_WINNT >= 0x0400 */
#pragma region Desktop Family #pragma region Desktop Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM)
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
CopyFileA( CopyFileA(
_In_ LPCSTR lpExistingFileName, _In_ LPCSTR lpExistingFileName,
_In_ LPCSTR lpNewFileName, _In_ LPCSTR lpNewFileName,
_In_ BOOL bFailIfExists _In_ BOOL bFailIfExists
); );
WINBASEAPI WINBASEAPI
skipping to change at line 5051 skipping to change at line 5053
#else #else
return CopyFileA( return CopyFileA(
#endif #endif
lpExistingFileName, lpExistingFileName,
lpNewFileName, lpNewFileName,
bFailIfExists bFailIfExists
); );
} }
#endif /* _M_CEE */ #endif /* _M_CEE */
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SY STEM) */
#pragma endregion #pragma endregion
#if(_WIN32_WINNT >= 0x0400) #if(_WIN32_WINNT >= 0x0400)
#pragma region Desktop Family #pragma region Desktop Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM)
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,
_In_ DWORD dwCallbackReason, _In_ DWORD dwCallbackReason,
skipping to change at line 5103 skipping to change at line 5105
_When_(pbCancel != NULL, _Pre_satisfies_(*pbCancel == FALSE)) _When_(pbCancel != NULL, _Pre_satisfies_(*pbCancel == FALSE))
_Inout_opt_ LPBOOL pbCancel, _Inout_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
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SY
STEM) */
#pragma endregion
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
#if _WIN32_WINNT >= 0x0600 #if _WIN32_WINNT >= 0x0600
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
CopyFileTransactedA( CopyFileTransactedA(
_In_ LPCSTR lpExistingFileName, _In_ LPCSTR lpExistingFileName,
_In_ LPCSTR lpNewFileName, _In_ LPCSTR lpNewFileName,
_In_opt_ LPPROGRESS_ROUTINE lpProgressRoutine, _In_opt_ LPPROGRESS_ROUTINE lpProgressRoutine,
_In_opt_ LPVOID lpData, _In_opt_ LPVOID lpData,
skipping to change at line 5141 skipping to change at line 5149
#else #else
#define CopyFileTransacted CopyFileTransactedA #define CopyFileTransacted CopyFileTransactedA
#endif // !UNICODE #endif // !UNICODE
#endif // _WIN32_WINNT >= 0x0600 #endif // _WIN32_WINNT >= 0x0600
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion #pragma endregion
#pragma region Application Family #pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM)
// //
// TODO: Win7 for now, when we roll over the version number this needs to be upd ated. // TODO: Win7 for now, when we roll over the version number this needs to be upd ated.
// //
#if _WIN32_WINNT >= 0x0601 #if _WIN32_WINNT >= 0x0601
typedef enum _COPYFILE2_MESSAGE_TYPE { typedef enum _COPYFILE2_MESSAGE_TYPE {
COPYFILE2_CALLBACK_NONE = 0, COPYFILE2_CALLBACK_NONE = 0,
COPYFILE2_CALLBACK_CHUNK_STARTED, COPYFILE2_CALLBACK_CHUNK_STARTED,
skipping to change at line 5278 skipping to change at line 5286
HRESULT HRESULT
WINAPI WINAPI
CopyFile2( CopyFile2(
_In_ PCWSTR pwszExistingFileName, _In_ PCWSTR pwszExistingFileName,
_In_ PCWSTR pwszNewFileName, _In_ PCWSTR pwszNewFileName,
_In_opt_ COPYFILE2_EXTENDED_PARAMETERS *pExtendedParameters _In_opt_ COPYFILE2_EXTENDED_PARAMETERS *pExtendedParameters
); );
#endif // _WIN32_WINNT >= 0x0601 #endif // _WIN32_WINNT >= 0x0601
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM ) */
#pragma endregion #pragma endregion
#endif /* _WIN32_WINNT >= 0x0400 */ #endif /* _WIN32_WINNT >= 0x0400 */
#pragma region Desktop Family #pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
skipping to change at line 5329 skipping to change at line 5337
#endif #endif
lpExistingFileName, lpExistingFileName,
lpNewFileName lpNewFileName
); );
} }
#endif /* _M_CEE */ #endif /* _M_CEE */
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion #pragma endregion
#pragma region Application Family #pragma region Application Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM)
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
MoveFileExA( MoveFileExA(
_In_ LPCSTR lpExistingFileName, _In_ LPCSTR lpExistingFileName,
_In_opt_ LPCSTR lpNewFileName, _In_opt_ LPCSTR lpNewFileName,
_In_ DWORD dwFlags _In_ DWORD dwFlags
); );
WINBASEAPI WINBASEAPI
skipping to change at line 5354 skipping to change at line 5362
_In_ LPCWSTR lpExistingFileName, _In_ LPCWSTR lpExistingFileName,
_In_opt_ 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
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM ) */
#pragma endregion #pragma endregion
#pragma region Desktop Family #pragma region Desktop Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM)
#if (_WIN32_WINNT >= 0x0500) #if (_WIN32_WINNT >= 0x0500)
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
MoveFileWithProgressA( MoveFileWithProgressA(
_In_ LPCSTR lpExistingFileName, _In_ LPCSTR lpExistingFileName,
_In_opt_ LPCSTR lpNewFileName, _In_opt_ LPCSTR lpNewFileName,
_In_opt_ LPPROGRESS_ROUTINE lpProgressRoutine, _In_opt_ LPPROGRESS_ROUTINE lpProgressRoutine,
_In_opt_ LPVOID lpData, _In_opt_ LPVOID lpData,
skipping to change at line 5388 skipping to change at line 5396
_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)
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SY
STEM) */
#pragma endregion
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
#if (_WIN32_WINNT >= 0x0600) #if (_WIN32_WINNT >= 0x0600)
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
MoveFileTransactedA( MoveFileTransactedA(
_In_ LPCSTR lpExistingFileName, _In_ LPCSTR lpExistingFileName,
_In_opt_ 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,
skipping to change at line 5439 skipping to change at line 5453
#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)
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion #pragma endregion
#pragma region Desktop Family #pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM)
#if (_WIN32_WINNT >= 0x0500) #if (_WIN32_WINNT >= 0x0500)
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
ReplaceFileA( ReplaceFileA(
_In_ LPCSTR lpReplacedFileName, _In_ LPCSTR lpReplacedFileName,
_In_ LPCSTR lpReplacementFileName, _In_ LPCSTR lpReplacementFileName,
_In_opt_ LPCSTR lpBackupFileName, _In_opt_ LPCSTR lpBackupFileName,
_In_ DWORD dwReplaceFlags, _In_ DWORD dwReplaceFlags,
skipping to change at line 5470 skipping to change at line 5490
_Reserved_ LPVOID lpExclude, _Reserved_ LPVOID lpExclude,
_Reserved_ LPVOID lpReserved _Reserved_ LPVOID lpReserved
); );
#ifdef UNICODE #ifdef UNICODE
#define ReplaceFile ReplaceFileW #define ReplaceFile ReplaceFileW
#else #else
#define ReplaceFile ReplaceFileA #define ReplaceFile ReplaceFileA
#endif // !UNICODE #endif // !UNICODE
#endif // (_WIN32_WINNT >= 0x0500) #endif // (_WIN32_WINNT >= 0x0500)
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM
) */
#pragma endregion
#pragma region Desktop Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM)
#if (_WIN32_WINNT >= 0x0500) #if (_WIN32_WINNT >= 0x0500)
// //
// API call to create hard links. // API call to create hard links.
// //
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
CreateHardLinkA( CreateHardLinkA(
_In_ LPCSTR lpFileName, _In_ LPCSTR lpFileName,
skipping to change at line 5499 skipping to change at line 5525
_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)
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SY
STEM) */
#pragma endregion
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
#if (_WIN32_WINNT >= 0x0600) #if (_WIN32_WINNT >= 0x0600)
// //
// API call to create hard links. // API call to create hard links.
// //
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
CreateHardLinkTransactedA( CreateHardLinkTransactedA(
_In_ LPCSTR lpFileName, _In_ LPCSTR lpFileName,
skipping to change at line 5530 skipping to change at line 5562
_In_ HANDLE hTransaction _In_ HANDLE hTransaction
); );
#ifdef UNICODE #ifdef UNICODE
#define CreateHardLinkTransacted CreateHardLinkTransactedW #define CreateHardLinkTransacted CreateHardLinkTransactedW
#else #else
#define CreateHardLinkTransacted CreateHardLinkTransactedA #define CreateHardLinkTransacted CreateHardLinkTransactedA
#endif // !UNICODE #endif // !UNICODE
#endif // (_WIN32_WINNT >= 0x0600) #endif // (_WIN32_WINNT >= 0x0600)
#if (_WIN32_WINNT >= 0x0501)
//
// API call to enumerate for streams within a file
//
typedef enum _STREAM_INFO_LEVELS {
FindStreamInfoStandard,
FindStreamInfoMaxInfoLevel
} STREAM_INFO_LEVELS;
typedef struct _WIN32_FIND_STREAM_DATA {
LARGE_INTEGER StreamSize;
WCHAR cStreamName[ MAX_PATH + 36 ];
} WIN32_FIND_STREAM_DATA, *PWIN32_FIND_STREAM_DATA;
WINBASEAPI
HANDLE
WINAPI
FindFirstStreamW(
_In_ LPCWSTR lpFileName,
_In_ STREAM_INFO_LEVELS InfoLevel,
_Out_writes_bytes_(sizeof(WIN32_FIND_STREAM_DATA)) LPVOID lpFindStreamData,
_Reserved_ DWORD dwFlags
);
#if _WIN32_WINNT >= 0x0600 #if _WIN32_WINNT >= 0x0600
WINBASEAPI WINBASEAPI
HANDLE HANDLE
WINAPI WINAPI
FindFirstStreamTransactedW ( FindFirstStreamTransactedW (
_In_ LPCWSTR lpFileName, _In_ LPCWSTR lpFileName,
_In_ STREAM_INFO_LEVELS InfoLevel, _In_ STREAM_INFO_LEVELS InfoLevel,
_Out_writes_bytes_(sizeof(WIN32_FIND_STREAM_DATA)) LPVOID lpFindStreamData, _Out_writes_bytes_(sizeof(WIN32_FIND_STREAM_DATA)) LPVOID lpFindStreamData,
_Reserved_ DWORD dwFlags, _Reserved_ DWORD dwFlags,
_In_ HANDLE hTransaction _In_ HANDLE hTransaction
); );
skipping to change at line 5571 skipping to change at line 5574
WINBASEAPI WINBASEAPI
HANDLE HANDLE
WINAPI WINAPI
FindFirstStreamTransactedW ( FindFirstStreamTransactedW (
_In_ LPCWSTR lpFileName, _In_ LPCWSTR lpFileName,
_In_ STREAM_INFO_LEVELS InfoLevel, _In_ STREAM_INFO_LEVELS InfoLevel,
_Out_writes_bytes_(sizeof(WIN32_FIND_STREAM_DATA)) LPVOID lpFindStreamData, _Out_writes_bytes_(sizeof(WIN32_FIND_STREAM_DATA)) LPVOID lpFindStreamData,
_Reserved_ DWORD dwFlags, _Reserved_ DWORD dwFlags,
_In_ HANDLE hTransaction _In_ HANDLE hTransaction
); );
#endif // _WIN32_WINNT >= 0x600
WINBASEAPI
BOOL
APIENTRY
FindNextStreamW(
_In_ HANDLE hFindStream,
_Out_writes_bytes_(sizeof(WIN32_FIND_STREAM_DATA)) LPVOID lpFindStreamData
);
#endif // (_WIN32_WINNT >= 0x0501)
#if _WIN32_WINNT >= 0x0600
WINBASEAPI
HANDLE
WINAPI
FindFirstFileNameW (
_In_ LPCWSTR lpFileName,
_In_ DWORD dwFlags,
_Inout_ LPDWORD StringLength,
_Out_writes_(*StringLength) PWSTR LinkName
);
WINBASEAPI
BOOL
APIENTRY
FindNextFileNameW (
_In_ HANDLE hFindStream,
_Inout_ LPDWORD StringLength,
_Out_writes_(*StringLength) PWSTR LinkName
);
WINBASEAPI WINBASEAPI
HANDLE HANDLE
WINAPI WINAPI
FindFirstFileNameTransactedW ( FindFirstFileNameTransactedW (
_In_ LPCWSTR lpFileName, _In_ LPCWSTR lpFileName,
_In_ DWORD dwFlags, _In_ DWORD dwFlags,
_Inout_ LPDWORD StringLength, _Inout_ LPDWORD StringLength,
_Out_writes_(*StringLength) PWSTR LinkName, _Out_writes_(*StringLength) PWSTR LinkName,
_In_opt_ HANDLE hTransaction _In_opt_ HANDLE hTransaction
skipping to change at line 5633 skipping to change at line 5605
_In_ DWORD nMaxInstances, _In_ DWORD nMaxInstances,
_In_ DWORD nOutBufferSize, _In_ DWORD nOutBufferSize,
_In_ DWORD nInBufferSize, _In_ DWORD nInBufferSize,
_In_ DWORD nDefaultTimeOut, _In_ DWORD nDefaultTimeOut,
_In_opt_ LPSECURITY_ATTRIBUTES lpSecurityAttributes _In_opt_ LPSECURITY_ATTRIBUTES lpSecurityAttributes
); );
#ifndef UNICODE #ifndef UNICODE
#define CreateNamedPipe CreateNamedPipeA #define CreateNamedPipe CreateNamedPipeA
#endif #endif
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#pragma region Desktop Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM)
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
GetNamedPipeHandleStateA( GetNamedPipeHandleStateA(
_In_ HANDLE hNamedPipe, _In_ HANDLE hNamedPipe,
_Out_opt_ LPDWORD lpState, _Out_opt_ LPDWORD lpState,
_Out_opt_ LPDWORD lpCurInstances, _Out_opt_ LPDWORD lpCurInstances,
_Out_opt_ LPDWORD lpMaxCollectionCount, _Out_opt_ LPDWORD lpMaxCollectionCount,
_Out_opt_ LPDWORD lpCollectDataTimeout, _Out_opt_ LPDWORD lpCollectDataTimeout,
_Out_writes_opt_(nMaxUserNameSize) LPSTR lpUserName, _Out_writes_opt_(nMaxUserNameSize) LPSTR lpUserName,
_In_ DWORD nMaxUserNameSize _In_ DWORD nMaxUserNameSize
); );
WINBASEAPI #ifndef UNICODE
BOOL
WINAPI
GetNamedPipeHandleStateW(
_In_ HANDLE hNamedPipe,
_Out_opt_ LPDWORD lpState,
_Out_opt_ LPDWORD lpCurInstances,
_Out_opt_ LPDWORD lpMaxCollectionCount,
_Out_opt_ LPDWORD lpCollectDataTimeout,
_Out_writes_opt_(nMaxUserNameSize) LPWSTR lpUserName,
_In_ DWORD nMaxUserNameSize
);
#ifdef UNICODE
#define GetNamedPipeHandleState GetNamedPipeHandleStateW
#else
#define GetNamedPipeHandleState GetNamedPipeHandleStateA #define GetNamedPipeHandleState GetNamedPipeHandleStateA
#endif // !UNICODE #endif
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
CallNamedPipeA( CallNamedPipeA(
_In_ LPCSTR lpNamedPipeName, _In_ LPCSTR lpNamedPipeName,
_In_reads_bytes_opt_(nInBufferSize) LPVOID lpInBuffer, _In_reads_bytes_opt_(nInBufferSize) LPVOID lpInBuffer,
_In_ DWORD nInBufferSize, _In_ DWORD nInBufferSize,
_Out_writes_bytes_to_opt_(nOutBufferSize, *lpBytesRead) LPVOID lpOutBuffer, _Out_writes_bytes_to_opt_(nOutBufferSize, *lpBytesRead) LPVOID lpOutBuffer,
_In_ DWORD nOutBufferSize, _In_ DWORD nOutBufferSize,
_Out_ LPDWORD lpBytesRead, _Out_ LPDWORD lpBytesRead,
_In_ DWORD nTimeOut _In_ DWORD nTimeOut
); );
WINBASEAPI
BOOL #ifndef UNICODE
WINAPI
CallNamedPipeW(
_In_ LPCWSTR lpNamedPipeName,
_In_reads_bytes_opt_(nInBufferSize) LPVOID lpInBuffer,
_In_ DWORD nInBufferSize,
_Out_writes_bytes_to_opt_(nOutBufferSize, *lpBytesRead) LPVOID lpOutBuffer,
_In_ DWORD nOutBufferSize,
_Out_ LPDWORD lpBytesRead,
_In_ DWORD nTimeOut
);
#ifdef UNICODE
#define CallNamedPipe CallNamedPipeW
#else
#define CallNamedPipe CallNamedPipeA #define CallNamedPipe CallNamedPipeA
#endif // !UNICODE #endif
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
WaitNamedPipeA( WaitNamedPipeA(
_In_ LPCSTR lpNamedPipeName, _In_ LPCSTR lpNamedPipeName,
_In_ DWORD nTimeOut _In_ DWORD nTimeOut
); );
#ifndef UNICODE #ifndef UNICODE
#define WaitNamedPipe WaitNamedPipeA #define WaitNamedPipe WaitNamedPipeA
#endif #endif
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SY
STEM) */
#pragma endregion
#if (_WIN32_WINNT >= 0x0600) #if (_WIN32_WINNT >= 0x0600)
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#pragma region Desktop Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM)
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
GetNamedPipeClientComputerNameA( GetNamedPipeClientComputerNameA(
_In_ HANDLE Pipe, _In_ HANDLE Pipe,
_Out_writes_bytes_(ClientComputerNameLength) LPSTR ClientComputerName, _Out_writes_bytes_(ClientComputerNameLength) LPSTR ClientComputerName,
_In_ ULONG ClientComputerNameLength _In_ ULONG ClientComputerNameLength
); );
#ifndef UNICODE #ifndef UNICODE
#define GetNamedPipeClientComputerName GetNamedPipeClientComputerNameA #define GetNamedPipeClientComputerName GetNamedPipeClientComputerNameA
#endif #endif
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SY
STEM) */
#pragma endregion
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
GetNamedPipeClientProcessId( GetNamedPipeClientProcessId(
_In_ HANDLE Pipe, _In_ HANDLE Pipe,
_Out_ PULONG ClientProcessId _Out_ PULONG ClientProcessId
); );
WINBASEAPI WINBASEAPI
BOOL BOOL
skipping to change at line 5751 skipping to change at line 5720
); );
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
GetNamedPipeServerSessionId( GetNamedPipeServerSessionId(
_In_ HANDLE Pipe, _In_ HANDLE Pipe,
_Out_ PULONG ServerSessionId _Out_ PULONG ServerSessionId
); );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#endif // (_WIN32_WINNT >= 0x0600) #endif // (_WIN32_WINNT >= 0x0600)
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
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
SetVolumeLabelW( SetVolumeLabelW(
_In_opt_ LPCWSTR lpRootPathName, _In_opt_ LPCWSTR lpRootPathName,
_In_opt_ LPCWSTR lpVolumeName _In_opt_ LPCWSTR lpVolumeName
); );
#ifdef UNICODE #ifdef UNICODE
#define SetVolumeLabel SetVolumeLabelW #define SetVolumeLabel SetVolumeLabelW
#else #else
#define SetVolumeLabel SetVolumeLabelA #define SetVolumeLabel SetVolumeLabelA
#endif // !UNICODE #endif // !UNICODE
WINBASEAPI
VOID
WINAPI
SetFileApisToOEM( VOID );
WINBASEAPI
VOID
WINAPI
SetFileApisToANSI( VOID );
WINBASEAPI
BOOL
WINAPI
AreFileApisANSI( VOID );
WINBASEAPI
BOOL
WINAPI
GetVolumeInformationA(
_In_opt_ LPCSTR lpRootPathName,
_Out_writes_opt_(nVolumeNameSize) LPSTR lpVolumeNameBuffer,
_In_ DWORD nVolumeNameSize,
_Out_opt_ LPDWORD lpVolumeSerialNumber,
_Out_opt_ LPDWORD lpMaximumComponentLength,
_Out_opt_ LPDWORD lpFileSystemFlags,
_Out_writes_opt_(nFileSystemNameSize) LPSTR lpFileSystemNameBuffer,
_In_ DWORD nFileSystemNameSize
);
#ifndef UNICODE
#define GetVolumeInformation GetVolumeInformationA
#endif
#if (_WIN32_WINNT >= 0x0600) #if (_WIN32_WINNT >= 0x0600)
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
SetFileBandwidthReservation( SetFileBandwidthReservation(
_In_ HANDLE hFile, _In_ HANDLE hFile,
_In_ DWORD nPeriodMilliseconds, _In_ DWORD nPeriodMilliseconds,
_In_ DWORD nBytesPerPeriod, _In_ DWORD nBytesPerPeriod,
_In_ BOOL bDiscardable, _In_ BOOL bDiscardable,
skipping to change at line 6302 skipping to change at line 6244
_In_ DWORD dwAceRevision, _In_ DWORD dwAceRevision,
_In_ DWORD AceFlags, _In_ DWORD AceFlags,
_In_ UCHAR AceType, _In_ UCHAR AceType,
_In_ DWORD AccessMask, _In_ DWORD AccessMask,
_In_ PSID pSid, _In_ PSID pSid,
_In_ _Null_terminated_ PWCHAR ConditionStr, _In_ _Null_terminated_ PWCHAR ConditionStr,
_Out_ DWORD *ReturnLength _Out_ DWORD *ReturnLength
); );
#endif /* _WIN32_WINNT >= 0x0601 */ #endif /* _WIN32_WINNT >= 0x0601 */
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#pragma region Desktop Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM)
WINADVAPI 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
); );
#ifndef UNICODE #ifndef UNICODE
#define SetFileSecurity SetFileSecurityA #define SetFileSecurity SetFileSecurityA
skipping to change at line 6344 skipping to change at line 6292
_Out_writes_bytes_to_(nBufferLength, *lpBytesReturned) LPVOID lpBuffer, _Out_writes_bytes_to_(nBufferLength, *lpBytesReturned) LPVOID lpBuffer,
_In_ DWORD nBufferLength, _In_ DWORD nBufferLength,
_In_ BOOL bWatchSubtree, _In_ BOOL bWatchSubtree,
_In_ DWORD dwNotifyFilter, _In_ DWORD dwNotifyFilter,
_Out_opt_ LPDWORD lpBytesReturned, _Out_opt_ LPDWORD lpBytesReturned,
_Inout_opt_ 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 */
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SY
STEM) */
#pragma endregion
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
#if _WIN32_WINNT >= 0x0600 #if _WIN32_WINNT >= 0x0600
WINBASEAPI WINBASEAPI
_Ret_maybenull_ __out_data_source(FILE) _Ret_maybenull_ __out_data_source(FILE)
LPVOID LPVOID
WINAPI WINAPI
MapViewOfFileExNuma( MapViewOfFileExNuma(
_In_ HANDLE hFileMappingObject, _In_ HANDLE hFileMappingObject,
_In_ DWORD dwDesiredAccess, _In_ DWORD dwDesiredAccess,
_In_ DWORD dwFileOffsetHigh, _In_ DWORD dwFileOffsetHigh,
skipping to change at line 6421 skipping to change at line 6375
IsBadStringPtrW( IsBadStringPtrW(
_In_opt_ LPCWSTR lpsz, _In_opt_ LPCWSTR lpsz,
_In_ UINT_PTR ucchMax _In_ UINT_PTR ucchMax
); );
#ifdef UNICODE #ifdef UNICODE
#define IsBadStringPtr IsBadStringPtrW #define IsBadStringPtr IsBadStringPtrW
#else #else
#define IsBadStringPtr IsBadStringPtrA #define IsBadStringPtr IsBadStringPtrA
#endif // !UNICODE #endif // !UNICODE
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#pragma region Desktop Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM)
WINADVAPI WINADVAPI
_Success_(return != FALSE) BOOL _Success_(return != FALSE) BOOL
WINAPI WINAPI
LookupAccountSidA( LookupAccountSidA(
_In_opt_ LPCSTR lpSystemName, _In_opt_ LPCSTR lpSystemName,
_In_ PSID Sid, _In_ PSID Sid,
_Out_writes_to_opt_(*cchName, *cchName + 1) LPSTR Name, _Out_writes_to_opt_(*cchName, *cchName + 1) LPSTR Name,
_Inout_ LPDWORD cchName, _Inout_ LPDWORD cchName,
_Out_writes_to_opt_(*cchReferencedDomainName, *cchReferencedDomainName + 1) LPSTR ReferencedDomainName, _Out_writes_to_opt_(*cchReferencedDomainName, *cchReferencedDomainName + 1) LPSTR ReferencedDomainName,
_Inout_ LPDWORD cchReferencedDomainName, _Inout_ LPDWORD cchReferencedDomainName,
skipping to change at line 6481 skipping to change at line 6441
_Out_writes_to_opt_(*cchReferencedDomainName, *cchReferencedDomainName + 1) LPWSTR ReferencedDomainName, _Out_writes_to_opt_(*cchReferencedDomainName, *cchReferencedDomainName + 1) LPWSTR ReferencedDomainName,
_Inout_ LPDWORD cchReferencedDomainName, _Inout_ LPDWORD cchReferencedDomainName,
_Out_ PSID_NAME_USE peUse _Out_ PSID_NAME_USE peUse
); );
#ifdef UNICODE #ifdef UNICODE
#define LookupAccountName LookupAccountNameW #define LookupAccountName LookupAccountNameW
#else #else
#define LookupAccountName LookupAccountNameA #define LookupAccountName LookupAccountNameA
#endif // !UNICODE #endif // !UNICODE
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SY
STEM) */
#pragma endregion
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
#if _WIN32_WINNT >= 0x0601 #if _WIN32_WINNT >= 0x0601
WINADVAPI WINADVAPI
_Success_(return != FALSE) BOOL _Success_(return != FALSE) BOOL
WINAPI WINAPI
LookupAccountNameLocalA( LookupAccountNameLocalA(
_In_ LPCSTR lpAccountName, _In_ LPCSTR lpAccountName,
_Out_writes_bytes_to_opt_(*cbSid, *cbSid) PSID Sid, _Out_writes_bytes_to_opt_(*cbSid, *cbSid) PSID Sid,
_Inout_ LPDWORD cbSid, _Inout_ LPDWORD cbSid,
_Out_writes_to_opt_(*cchReferencedDomainName, *cchReferencedDomainName + 1) LPSTR ReferencedDomainName, _Out_writes_to_opt_(*cchReferencedDomainName, *cchReferencedDomainName + 1) LPSTR ReferencedDomainName,
skipping to change at line 6563 skipping to change at line 6529
#define LookupAccountSidLocalW(s, n, cn, d, cd, u) \ #define LookupAccountSidLocalW(s, n, cn, d, cd, u) \
LookupAccountSidW(NULL, s, n, cn, d, cd, u) LookupAccountSidW(NULL, s, n, cn, d, cd, u)
#ifdef UNICODE #ifdef UNICODE
#define LookupAccountSidLocal LookupAccountSidLocalW #define LookupAccountSidLocal LookupAccountSidLocalW
#else #else
#define LookupAccountSidLocal LookupAccountSidLocalA #define LookupAccountSidLocal LookupAccountSidLocalA
#endif // !UNICODE #endif // !UNICODE
#endif // _WIN32_WINNT >= 0x0601 #endif // _WIN32_WINNT >= 0x0601
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#pragma region Desktop Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM)
WINADVAPI WINADVAPI
BOOL BOOL
WINAPI WINAPI
LookupPrivilegeValueA( LookupPrivilegeValueA(
_In_opt_ LPCSTR lpSystemName, _In_opt_ LPCSTR lpSystemName,
_In_ LPCSTR lpName, _In_ LPCSTR lpName,
_Out_ PLUID lpLuid _Out_ PLUID lpLuid
); );
WINADVAPI WINADVAPI
BOOL BOOL
skipping to change at line 6635 skipping to change at line 6607
_Out_writes_to_opt_(*cchDisplayName, *cchDisplayName + 1) LPWSTR lpDisplayNa me, _Out_writes_to_opt_(*cchDisplayName, *cchDisplayName + 1) LPWSTR lpDisplayNa me,
_Inout_ LPDWORD cchDisplayName, _Inout_ LPDWORD cchDisplayName,
_Out_ LPDWORD lpLanguageId _Out_ LPDWORD lpLanguageId
); );
#ifdef UNICODE #ifdef UNICODE
#define LookupPrivilegeDisplayName LookupPrivilegeDisplayNameW #define LookupPrivilegeDisplayName LookupPrivilegeDisplayNameW
#else #else
#define LookupPrivilegeDisplayName LookupPrivilegeDisplayNameA #define LookupPrivilegeDisplayName LookupPrivilegeDisplayNameA
#endif // !UNICODE #endif // !UNICODE
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SY
STEM) */
#pragma endregion
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
BuildCommDCBA( BuildCommDCBA(
_In_ LPCSTR lpDef, _In_ LPCSTR lpDef,
_Out_ LPDCB lpDCB _Out_ LPDCB lpDCB
); );
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
skipping to change at line 6771 skipping to change at line 6749
GetComputerNameW ( GetComputerNameW (
_Out_writes_to_opt_(*nSize, *nSize + 1) LPWSTR lpBuffer, _Out_writes_to_opt_(*nSize, *nSize + 1) 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
BOOL
WINAPI
SetComputerNameA (
_In_ LPCSTR lpComputerName
);
WINBASEAPI
BOOL
WINAPI
SetComputerNameW (
_In_ LPCWSTR lpComputerName
);
#ifdef UNICODE
#define SetComputerName SetComputerNameW
#else
#define SetComputerName SetComputerNameA
#endif // !UNICODE
#if (_WIN32_WINNT >= 0x0500) #if (_WIN32_WINNT >= 0x0500)
WINBASEAPI WINBASEAPI
BOOL
WINAPI
SetComputerNameExA (
_In_ COMPUTER_NAME_FORMAT NameType,
_In_ LPCSTR lpBuffer
);
#ifndef UNICODE
#define SetComputerNameEx SetComputerNameExA
#endif
WINBASEAPI
_Success_(return != FALSE) _Success_(return != FALSE)
BOOL BOOL
WINAPI WINAPI
DnsHostnameToComputerNameA ( DnsHostnameToComputerNameA (
_In_ LPCSTR Hostname, _In_ LPCSTR Hostname,
_Out_writes_to_opt_(*nSize, *nSize + 1) LPSTR ComputerName, _Out_writes_to_opt_(*nSize, *nSize + 1) LPSTR ComputerName,
_Inout_ LPDWORD nSize _Inout_ LPDWORD nSize
); );
WINBASEAPI WINBASEAPI
_Success_(return != FALSE) _Success_(return != FALSE)
skipping to change at line 6938 skipping to change at line 6887
_Outptr_opt_result_bytebuffer_all_(*pdwProfileLength) PVOID *ppProfileBuffer , _Outptr_opt_result_bytebuffer_all_(*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
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#if(_WIN32_WINNT >= 0x0600) #if(_WIN32_WINNT >= 0x0600)
#endif // (_WIN32_WINNT >= 0x0600) #endif // (_WIN32_WINNT >= 0x0600)
WINADVAPI #pragma region Desktop Family
BOOL #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
WINAPI
CreateProcessAsUserA (
_In_opt_ HANDLE hToken,
_In_opt_ LPCSTR lpApplicationName,
_Inout_opt_ LPSTR lpCommandLine,
_In_opt_ LPSECURITY_ATTRIBUTES lpProcessAttributes,
_In_opt_ LPSECURITY_ATTRIBUTES lpThreadAttributes,
_In_ BOOL bInheritHandles,
_In_ DWORD dwCreationFlags,
_In_opt_ LPVOID lpEnvironment,
_In_opt_ LPCSTR lpCurrentDirectory,
_In_ LPSTARTUPINFOA lpStartupInfo,
_Out_ LPPROCESS_INFORMATION lpProcessInformation
);
#ifndef UNICODE
#define CreateProcessAsUser CreateProcessAsUserA
#endif
#if(_WIN32_WINNT >= 0x0500) #if(_WIN32_WINNT >= 0x0500)
// //
// LogonFlags // LogonFlags
// //
#define LOGON_WITH_PROFILE 0x00000001 #define LOGON_WITH_PROFILE 0x00000001
#define LOGON_NETCREDENTIALS_ONLY 0x00000002 #define LOGON_NETCREDENTIALS_ONLY 0x00000002
#define LOGON_ZERO_PASSWORD_BUFFER 0x80000000 #define LOGON_ZERO_PASSWORD_BUFFER 0x80000000
skipping to change at line 7076 skipping to change at line 7011
); );
WINBASEAPI WINBASEAPI
_Must_inspect_result_ _Must_inspect_result_
BOOL BOOL
WINAPI WINAPI
DeleteTimerQueue( DeleteTimerQueue(
_In_ HANDLE TimerQueue _In_ HANDLE TimerQueue
); );
#endif // _WIN32_WINNT >= 0x0500
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
#if (_WIN32_WINNT >= 0x0500)
#if (_WIN32_WINNT >= 0x0600) #if (_WIN32_WINNT >= 0x0600)
#if !defined(MIDL_PASS) #if !defined(MIDL_PASS)
FORCEINLINE FORCEINLINE
VOID VOID
InitializeThreadpoolEnvironment( InitializeThreadpoolEnvironment(
_Out_ PTP_CALLBACK_ENVIRON pcbe _Out_ PTP_CALLBACK_ENVIRON pcbe
) )
{ {
skipping to change at line 7145 skipping to change at line 7088
_In_ TP_CALLBACK_PRIORITY Priority _In_ TP_CALLBACK_PRIORITY Priority
) )
{ {
TpSetCallbackPriority(pcbe, Priority); TpSetCallbackPriority(pcbe, Priority);
} }
#endif #endif
FORCEINLINE FORCEINLINE
VOID VOID
SetThreadpoolCallbackPersistent( DestroyThreadpoolEnvironment(
_Inout_ PTP_CALLBACK_ENVIRON pcbe _Inout_ PTP_CALLBACK_ENVIRON pcbe
) )
{ {
TpSetCallbackPersistent(pcbe); TpDestroyCallbackEnviron(pcbe);
} }
#endif // !defined(MIDL_PASS)
#endif // _WIN32_WINNT >= 0x0600
#endif // _WIN32_WINNT >= 0x0500
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#if (_WIN32_WINNT >= 0x0600)
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
#if !defined(MIDL_PASS)
FORCEINLINE FORCEINLINE
VOID VOID
DestroyThreadpoolEnvironment( SetThreadpoolCallbackPersistent(
_Inout_ PTP_CALLBACK_ENVIRON pcbe _Inout_ PTP_CALLBACK_ENVIRON pcbe
) )
{ {
TpDestroyCallbackEnviron(pcbe); TpSetCallbackPersistent(pcbe);
} }
#endif // !defined(MIDL_PASS) #endif // !defined(MIDL_PASS)
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#pragma region Desktop Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM)
// //
// Private Namespaces support // Private Namespaces support
// //
WINBASEAPI WINBASEAPI
_Ret_maybenull_ _Ret_maybenull_
HANDLE HANDLE
WINAPI WINAPI
CreatePrivateNamespaceA( CreatePrivateNamespaceA(
_In_opt_ LPSECURITY_ATTRIBUTES lpPrivateNamespaceAttributes, _In_opt_ LPSECURITY_ATTRIBUTES lpPrivateNamespaceAttributes,
skipping to change at line 7217 skipping to change at line 7181
_In_ LPCSTR Name, _In_ LPCSTR Name,
_In_ ULONG Flags _In_ ULONG Flags
); );
#ifndef UNICODE #ifndef UNICODE
#define CreateBoundaryDescriptor CreateBoundaryDescriptorA #define CreateBoundaryDescriptor CreateBoundaryDescriptorA
#else #else
#define CreateBoundaryDescriptor CreateBoundaryDescriptorW #define CreateBoundaryDescriptor CreateBoundaryDescriptorW
#endif #endif
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SY
STEM) */
#pragma endregion
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
AddIntegrityLabelToBoundaryDescriptor( AddIntegrityLabelToBoundaryDescriptor(
_Inout_ HANDLE * BoundaryDescriptor, _Inout_ HANDLE * BoundaryDescriptor,
_In_ PSID IntegrityLabel _In_ PSID IntegrityLabel
); );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#endif // _WIN32_WINNT >= 0x0600 #endif // _WIN32_WINNT >= 0x0600
#endif // _WIN32_WINNT >= 0x0500 #pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
#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 7341 skipping to change at line 7315
#define BATTERY_FLAG_HIGH 0x01 #define BATTERY_FLAG_HIGH 0x01
#define BATTERY_FLAG_LOW 0x02 #define BATTERY_FLAG_LOW 0x02
#define BATTERY_FLAG_CRITICAL 0x04 #define BATTERY_FLAG_CRITICAL 0x04
#define BATTERY_FLAG_CHARGING 0x08 #define BATTERY_FLAG_CHARGING 0x08
#define BATTERY_FLAG_NO_BATTERY 0x80 #define BATTERY_FLAG_NO_BATTERY 0x80
#define BATTERY_FLAG_UNKNOWN 0xFF #define BATTERY_FLAG_UNKNOWN 0xFF
#define BATTERY_PERCENTAGE_UNKNOWN 0xFF #define BATTERY_PERCENTAGE_UNKNOWN 0xFF
#define SYSTEM_STATUS_FLAG_POWER_SAVING_ON 0x01
#define BATTERY_LIFE_UNKNOWN 0xFFFFFFFF #define BATTERY_LIFE_UNKNOWN 0xFFFFFFFF
typedef struct _SYSTEM_POWER_STATUS { typedef struct _SYSTEM_POWER_STATUS {
BYTE ACLineStatus; BYTE ACLineStatus;
BYTE BatteryFlag; BYTE BatteryFlag;
BYTE BatteryLifePercent; BYTE BatteryLifePercent;
BYTE Reserved1; BYTE SystemStatusFlag;
DWORD BatteryLifeTime; DWORD BatteryLifeTime;
DWORD BatteryFullLifeTime; DWORD BatteryFullLifeTime;
} SYSTEM_POWER_STATUS, *LPSYSTEM_POWER_STATUS; } SYSTEM_POWER_STATUS, *LPSYSTEM_POWER_STATUS;
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
GetSystemPowerStatus( GetSystemPowerStatus(
_Out_ LPSYSTEM_POWER_STATUS lpSystemPowerStatus _Out_ LPSYSTEM_POWER_STATUS lpSystemPowerStatus
); );
skipping to change at line 7369 skipping to change at line 7345
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
SetSystemPowerState( SetSystemPowerState(
_In_ BOOL fSuspend, _In_ BOOL fSuspend,
_In_ BOOL fForce _In_ BOOL fForce
); );
#endif /* WINVER >= 0x0400 */ #endif /* WINVER >= 0x0400 */
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#if (_WIN32_WINNT >= 0x0500) #if (_WIN32_WINNT >= 0x0500)
// //
// Very Large Memory API Subset // Very Large Memory API Subset
// //
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
MapUserPhysicalPagesScatter( MapUserPhysicalPagesScatter(
_In_reads_(NumberOfPages) PVOID *VirtualAddresses, _In_reads_(NumberOfPages) PVOID *VirtualAddresses,
_In_ ULONG_PTR NumberOfPages, _In_ ULONG_PTR NumberOfPages,
_In_reads_opt_(NumberOfPages) PULONG_PTR PageArray _In_reads_opt_(NumberOfPages) PULONG_PTR PageArray
); );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
WINBASEAPI WINBASEAPI
_Ret_maybenull_ _Ret_maybenull_
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
_Ret_maybenull_
HANDLE
WINAPI
CreateJobObjectW(
_In_opt_ LPSECURITY_ATTRIBUTES lpJobAttributes,
_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
_Ret_maybenull_ _Ret_maybenull_
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
_Ret_maybenull_
HANDLE
WINAPI
OpenJobObjectW(
_In_ DWORD dwDesiredAccess,
_In_ BOOL bInheritHandle,
_In_ LPCWSTR lpName
);
#ifdef UNICODE #ifdef UNICODE
#define OpenJobObject OpenJobObjectW #define OpenJobObject OpenJobObjectW
#else #else
#define OpenJobObject OpenJobObjectA #define OpenJobObject OpenJobObjectA
#endif // !UNICODE #endif // !UNICODE
WINBASEAPI #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
BOOL #pragma endregion
WINAPI
AssignProcessToJobObject(
_In_ HANDLE hJob,
_In_ HANDLE hProcess
);
WINBASEAPI
BOOL
WINAPI
TerminateJobObject(
_In_ HANDLE hJob,
_In_ UINT uExitCode
);
WINBASEAPI
BOOL
WINAPI
QueryInformationJobObject(
_In_opt_ HANDLE hJob,
_In_ JOBOBJECTINFOCLASS JobObjectInformationClass,
_Out_writes_bytes_to_(cbJobObjectInformationLength, *lpReturnLength) LPVOID
lpJobObjectInformation,
_In_ DWORD cbJobObjectInformationLength,
_Out_opt_ LPDWORD lpReturnLength
);
WINBASEAPI #pragma region Desktop Family
BOOL #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
WINAPI
SetInformationJobObject(
_In_ HANDLE hJob,
_In_ JOBOBJECTINFOCLASS JobObjectInformationClass,
_In_reads_bytes_(cbJobObjectInformationLength) LPVOID lpJobObjectInformation
,
_In_ DWORD cbJobObjectInformationLength
);
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
CreateJobSet ( CreateJobSet (
_In_ ULONG NumJob, _In_ ULONG NumJob,
_In_reads_(NumJob) PJOB_SET_ARRAY UserJobSet, _In_reads_(NumJob) PJOB_SET_ARRAY UserJobSet,
_In_ ULONG Flags); _In_ ULONG Flags);
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#pragma region Desktop Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM)
WINBASEAPI WINBASEAPI
HANDLE HANDLE
WINAPI WINAPI
FindFirstVolumeA( FindFirstVolumeA(
_Out_writes_(cchBufferLength) LPSTR lpszVolumeName, _Out_writes_(cchBufferLength) LPSTR lpszVolumeName,
_In_ DWORD cchBufferLength _In_ DWORD cchBufferLength
); );
#ifndef UNICODE #ifndef UNICODE
#define FindFirstVolume FindFirstVolumeA #define FindFirstVolume FindFirstVolumeA
#endif #endif
skipping to change at line 7497 skipping to change at line 7445
WINAPI WINAPI
FindNextVolumeA( FindNextVolumeA(
_Inout_ HANDLE hFindVolume, _Inout_ HANDLE hFindVolume,
_Out_writes_(cchBufferLength) LPSTR lpszVolumeName, _Out_writes_(cchBufferLength) LPSTR lpszVolumeName,
_In_ DWORD cchBufferLength _In_ DWORD cchBufferLength
); );
#ifndef UNICODE #ifndef UNICODE
#define FindNextVolume FindNextVolumeA #define FindNextVolume FindNextVolumeA
#endif #endif
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SY
STEM) */
#pragma endregion
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
WINBASEAPI WINBASEAPI
HANDLE HANDLE
WINAPI WINAPI
FindFirstVolumeMountPointA( FindFirstVolumeMountPointA(
_In_ LPCSTR lpszRootPathName, _In_ LPCSTR lpszRootPathName,
_Out_writes_(cchBufferLength) LPSTR lpszVolumeMountPoint, _Out_writes_(cchBufferLength) LPSTR lpszVolumeMountPoint,
_In_ DWORD cchBufferLength _In_ DWORD cchBufferLength
); );
WINBASEAPI WINBASEAPI
HANDLE HANDLE
skipping to change at line 7568 skipping to change at line 7522
SetVolumeMountPointW( SetVolumeMountPointW(
_In_ LPCWSTR lpszVolumeMountPoint, _In_ LPCWSTR lpszVolumeMountPoint,
_In_ LPCWSTR lpszVolumeName _In_ LPCWSTR lpszVolumeName
); );
#ifdef UNICODE #ifdef UNICODE
#define SetVolumeMountPoint SetVolumeMountPointW #define SetVolumeMountPoint SetVolumeMountPointW
#else #else
#define SetVolumeMountPoint SetVolumeMountPointA #define SetVolumeMountPoint SetVolumeMountPointA
#endif // !UNICODE #endif // !UNICODE
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#pragma region Desktop Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM)
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
DeleteVolumeMountPointA( DeleteVolumeMountPointA(
_In_ LPCSTR lpszVolumeMountPoint _In_ LPCSTR lpszVolumeMountPoint
); );
#ifndef UNICODE #ifndef UNICODE
#define DeleteVolumeMountPoint DeleteVolumeMountPointA #define DeleteVolumeMountPoint DeleteVolumeMountPointA
#endif #endif
skipping to change at line 7602 skipping to change at line 7562
WINAPI WINAPI
GetVolumePathNameA( GetVolumePathNameA(
_In_ LPCSTR lpszFileName, _In_ LPCSTR lpszFileName,
_Out_writes_(cchBufferLength) LPSTR lpszVolumePathName, _Out_writes_(cchBufferLength) LPSTR lpszVolumePathName,
_In_ DWORD cchBufferLength _In_ DWORD cchBufferLength
); );
#ifndef UNICODE #ifndef UNICODE
#define GetVolumePathName GetVolumePathNameA #define GetVolumePathName GetVolumePathNameA
#endif #endif
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SY
STEM) */
#pragma endregion
#endif #endif
#pragma region Desktop Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM)
#if(_WIN32_WINNT >= 0x0501) #if(_WIN32_WINNT >= 0x0501)
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
GetVolumePathNamesForVolumeNameA( GetVolumePathNamesForVolumeNameA(
_In_ LPCSTR lpszVolumeName, _In_ LPCSTR lpszVolumeName,
_Out_writes_to_opt_(cchBufferLength, *lpcchReturnLength) _Post_ _NullNull_te rminated_ LPCH lpszVolumePathNames, _Out_writes_to_opt_(cchBufferLength, *lpcchReturnLength) _Post_ _NullNull_te rminated_ LPCH lpszVolumePathNames,
_In_ DWORD cchBufferLength, _In_ DWORD cchBufferLength,
_Out_ PDWORD lpcchReturnLength _Out_ PDWORD lpcchReturnLength
skipping to change at line 7893 skipping to change at line 7859
_In_ HANDLE hActCtx, _In_ HANDLE hActCtx,
_In_opt_ PVOID pvSubInstance, _In_opt_ PVOID pvSubInstance,
_In_ ULONG ulInfoClass, _In_ ULONG ulInfoClass,
_Out_writes_bytes_to_opt_(cbBuffer, *pcbWrittenOrRequired) PVOID pvBuffer, _Out_writes_bytes_to_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) || ISOLATION_AWAR E_ENABLED #endif // (_WIN32_WINNT > 0x0500) || (_WIN32_FUSION >= 0x0100) || ISOLATION_AWAR E_ENABLED
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SY
STEM) */
#pragma endregion
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
#if _WIN32_WINNT >= 0x0501 #if _WIN32_WINNT >= 0x0501
WINBASEAPI WINBASEAPI
DWORD DWORD
WINAPI WINAPI
WTSGetActiveConsoleSessionId( WTSGetActiveConsoleSessionId(
VOID VOID
); );
#endif // (_WIN32_WINNT >= 0x0501) #endif // (_WIN32_WINNT >= 0x0501)
#if (_WIN32_WINNT >= _WIN32_WINNT_WINTHRESHOLD)
WINBASEAPI
DWORD
WINAPI
WTSGetServiceSessionId(
VOID
);
WINBASEAPI
BOOLEAN
WINAPI
WTSIsServerContainer(
VOID
);
#endif // (_WIN32_WINNT >= _WIN32_WINNT_WINTHRESHOLD)
#if _WIN32_WINNT >= 0x0601 #if _WIN32_WINNT >= 0x0601
WINBASEAPI WINBASEAPI
WORD WORD
WINAPI WINAPI
GetActiveProcessorGroupCount( GetActiveProcessorGroupCount(
VOID VOID
); );
WINBASEAPI WINBASEAPI
skipping to change at line 8129 skipping to change at line 8119
_In_ BOOL bSuccess _In_ BOOL bSuccess
); );
#endif // _WIN32_WINNT >= 0x0600 #endif // _WIN32_WINNT >= 0x0600
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion #pragma endregion
#if (_WIN32_WINNT >= 0x0600) #if (_WIN32_WINNT >= 0x0600)
#pragma region Application Family #pragma region Application Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM)
typedef struct _FILE_BASIC_INFO { typedef struct _FILE_BASIC_INFO {
LARGE_INTEGER CreationTime; LARGE_INTEGER CreationTime;
LARGE_INTEGER LastAccessTime; LARGE_INTEGER LastAccessTime;
LARGE_INTEGER LastWriteTime; LARGE_INTEGER LastWriteTime;
LARGE_INTEGER ChangeTime; LARGE_INTEGER ChangeTime;
DWORD FileAttributes; DWORD FileAttributes;
} FILE_BASIC_INFO, *PFILE_BASIC_INFO; } FILE_BASIC_INFO, *PFILE_BASIC_INFO;
typedef struct _FILE_STANDARD_INFO { typedef struct _FILE_STANDARD_INFO {
skipping to change at line 8341 skipping to change at line 8331
#define RPI_SMB2_FLAG_SERVERCAP_LEASING 0x00000002 #define RPI_SMB2_FLAG_SERVERCAP_LEASING 0x00000002
#define RPI_SMB2_FLAG_SERVERCAP_LARGEMTU 0x00000004 #define RPI_SMB2_FLAG_SERVERCAP_LARGEMTU 0x00000004
#define RPI_SMB2_FLAG_SERVERCAP_MULTICHANNEL 0x00000008 #define RPI_SMB2_FLAG_SERVERCAP_MULTICHANNEL 0x00000008
#define RPI_SMB2_FLAG_SERVERCAP_PERSISTENT_HANDLES 0x00000010 #define RPI_SMB2_FLAG_SERVERCAP_PERSISTENT_HANDLES 0x00000010
#define RPI_SMB2_FLAG_SERVERCAP_DIRECTORY_LEASING 0x00000020 #define RPI_SMB2_FLAG_SERVERCAP_DIRECTORY_LEASING 0x00000020
#endif #endif
typedef struct _FILE_REMOTE_PROTOCOL_INFO typedef struct _FILE_REMOTE_PROTOCOL_INFO
{ {
// Structure Version // Structure Version
USHORT StructureVersion; // 1 USHORT StructureVersion; // 1 for Win7, 2 for Win8 SMB3, 3 for Blue SMB3 .
USHORT StructureSize; // sizeof(FILE_REMOTE_PROTOCOL_INFO) USHORT StructureSize; // sizeof(FILE_REMOTE_PROTOCOL_INFO)
ULONG Protocol; // Protocol (WNNC_NET_*) defined in winnetwk.h or ntifs.h. ULONG Protocol; // Protocol (WNNC_NET_*) defined in winnetwk.h or ntifs.h.
// Protocol Version & Type // Protocol Version & Type
USHORT ProtocolMajorVersion; USHORT ProtocolMajorVersion;
USHORT ProtocolMinorVersion; USHORT ProtocolMinorVersion;
USHORT ProtocolRevision; USHORT ProtocolRevision;
USHORT Reserved; USHORT Reserved;
skipping to change at line 8366 skipping to change at line 8356
struct { struct {
ULONG Reserved[8]; ULONG Reserved[8];
} GenericReserved; } GenericReserved;
// Protocol specific information // Protocol specific information
#if (_WIN32_WINNT < _WIN32_WINNT_WIN8) #if (_WIN32_WINNT < _WIN32_WINNT_WIN8)
struct { struct {
ULONG Reserved[16]; ULONG Reserved[16];
} ProtocolSpecificReserved; } ProtocolSpecificReserved;
#else #endif
#if (_WIN32_WINNT >= _WIN32_WINNT_WIN8)
union { union {
struct { struct {
struct { struct {
ULONG Capabilities; ULONG Capabilities;
} Server; } Server;
struct { struct {
ULONG Capabilities; ULONG Capabilities;
skipping to change at line 8400 skipping to change at line 8392
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
GetFileInformationByHandleEx( GetFileInformationByHandleEx(
_In_ HANDLE hFile, _In_ HANDLE hFile,
_In_ FILE_INFO_BY_HANDLE_CLASS FileInformationClass, _In_ FILE_INFO_BY_HANDLE_CLASS FileInformationClass,
_Out_writes_bytes_(dwBufferSize) LPVOID lpFileInformation, _Out_writes_bytes_(dwBufferSize) LPVOID lpFileInformation,
_In_ DWORD dwBufferSize _In_ DWORD dwBufferSize
); );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM ) */
#pragma endregion #pragma endregion
#pragma region Desktop Family #pragma region Desktop Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM)
typedef enum _FILE_ID_TYPE { typedef enum _FILE_ID_TYPE {
FileIdType, FileIdType,
ObjectIdType, ObjectIdType,
ExtendedFileIdType, ExtendedFileIdType,
MaximumFileIdType MaximumFileIdType
} FILE_ID_TYPE, *PFILE_ID_TYPE; } FILE_ID_TYPE, *PFILE_ID_TYPE;
typedef struct FILE_ID_DESCRIPTOR { typedef struct FILE_ID_DESCRIPTOR {
DWORD dwSize; // Size of the struct DWORD dwSize; // Size of the struct
skipping to change at line 8437 skipping to change at line 8429
WINAPI WINAPI
OpenFileById ( OpenFileById (
_In_ HANDLE hVolumeHint, _In_ HANDLE hVolumeHint,
_In_ LPFILE_ID_DESCRIPTOR lpFileId, _In_ LPFILE_ID_DESCRIPTOR lpFileId,
_In_ DWORD dwDesiredAccess, _In_ DWORD dwDesiredAccess,
_In_ DWORD dwShareMode, _In_ DWORD dwShareMode,
_In_opt_ LPSECURITY_ATTRIBUTES lpSecurityAttributes, _In_opt_ LPSECURITY_ATTRIBUTES lpSecurityAttributes,
_In_ DWORD dwFlagsAndAttributes _In_ DWORD dwFlagsAndAttributes
); );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SY STEM) */
#pragma endregion #pragma endregion
#endif #endif
#pragma region Desktop Family #pragma region Desktop Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM)
#if (_WIN32_WINNT >= 0x0600) #if (_WIN32_WINNT >= 0x0600)
// //
// Flags to be passed into CREATE_SYMBOLIC_LINK // Flags to be passed into CREATE_SYMBOLIC_LINK
// //
#define SYMBOLIC_LINK_FLAG_DIRECTORY (0x1) #define SYMBOLIC_LINK_FLAG_DIRECTORY (0x1)
#define VALID_SYMBOLIC_LINK_FLAGS SYMBOLIC_LINK_FLAG_DIRECTORY // & whatever ot her flags we think of! #define VALID_SYMBOLIC_LINK_FLAGS SYMBOLIC_LINK_FLAG_DIRECTORY // & whatever ot her flags we think of!
skipping to change at line 8477 skipping to change at line 8469
_In_ LPCWSTR lpSymlinkFileName, _In_ LPCWSTR lpSymlinkFileName,
_In_ LPCWSTR lpTargetFileName, _In_ LPCWSTR lpTargetFileName,
_In_ DWORD dwFlags _In_ DWORD dwFlags
); );
#ifdef UNICODE #ifdef UNICODE
#define CreateSymbolicLink CreateSymbolicLinkW #define CreateSymbolicLink CreateSymbolicLinkW
#else #else
#define CreateSymbolicLink CreateSymbolicLinkA #define CreateSymbolicLink CreateSymbolicLinkA
#endif // !UNICODE #endif // !UNICODE
#endif // (_WIN32_WINNT >= 0x0600)
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SY
STEM) */
#pragma endregion
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
#if (_WIN32_WINNT >= 0x0600)
WINBASEAPI WINBASEAPI
BOOLEAN BOOLEAN
APIENTRY APIENTRY
CreateSymbolicLinkTransactedA ( CreateSymbolicLinkTransactedA (
_In_ LPCSTR lpSymlinkFileName, _In_ LPCSTR lpSymlinkFileName,
_In_ LPCSTR lpTargetFileName, _In_ LPCSTR lpTargetFileName,
_In_ DWORD dwFlags, _In_ DWORD dwFlags,
_In_ HANDLE hTransaction _In_ HANDLE hTransaction
); );
WINBASEAPI WINBASEAPI
skipping to change at line 8556 skipping to change at line 8558
_In_ __callback PSECURE_MEMORY_CACHE_CALLBACK pfnCallBack _In_ __callback PSECURE_MEMORY_CACHE_CALLBACK pfnCallBack
); );
#endif #endif
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion #pragma endregion
#if (NTDDI_VERSION >= NTDDI_WIN7SP1) #if (NTDDI_VERSION >= NTDDI_WIN7SP1)
#pragma region Desktop Family #pragma region Desktop Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM)
_Must_inspect_result_ _Must_inspect_result_
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
CopyContext( CopyContext(
_Inout_ PCONTEXT Destination, _Inout_ PCONTEXT Destination,
_In_ DWORD ContextFlags, _In_ DWORD ContextFlags,
_In_ PCONTEXT Source _In_ PCONTEXT Source
); );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SY STEM) */
#pragma endregion #pragma endregion
#pragma region Application Family #pragma region Application Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM)
_Success_(return != FALSE) _Success_(return != FALSE)
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
InitializeContext( InitializeContext(
_Out_writes_bytes_opt_(*ContextLength) PVOID Buffer, _Out_writes_bytes_opt_(*ContextLength) PVOID Buffer,
_In_ DWORD ContextFlags, _In_ DWORD ContextFlags,
_Out_ PCONTEXT* Context, _Out_ PCONTEXT* Context,
_Inout_ PDWORD ContextLength _Inout_ PDWORD ContextLength
); );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM ) */
#pragma endregion #pragma endregion
#if defined(_AMD64_) || defined(_X86_) #if defined(_AMD64_) || defined(_X86_)
#pragma region Application Family #pragma region Application Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM)
WINBASEAPI WINBASEAPI
DWORD64 DWORD64
WINAPI WINAPI
GetEnabledXStateFeatures( GetEnabledXStateFeatures(
VOID VOID
); );
_Must_inspect_result_ _Must_inspect_result_
WINBASEAPI WINBASEAPI
skipping to change at line 8619 skipping to change at line 8621
_Success_(return != NULL) _Success_(return != NULL)
WINBASEAPI WINBASEAPI
PVOID PVOID
WINAPI WINAPI
LocateXStateFeature( LocateXStateFeature(
_In_ PCONTEXT Context, _In_ PCONTEXT Context,
_In_ DWORD FeatureId, _In_ DWORD FeatureId,
_Out_opt_ PDWORD Length _Out_opt_ PDWORD Length
); );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM ) */
#pragma endregion #pragma endregion
#pragma region Desktop Family #pragma region Desktop Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM)
_Must_inspect_result_ _Must_inspect_result_
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
SetXStateFeaturesMask( SetXStateFeaturesMask(
_Inout_ PCONTEXT Context, _Inout_ PCONTEXT Context,
_In_ DWORD64 FeatureMask _In_ DWORD64 FeatureMask
); );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SY STEM) */
#pragma endregion #pragma endregion
#endif /* defined(_AMD64_) || defined(_X86_) */ #endif /* defined(_AMD64_) || defined(_X86_) */
#endif /* (NTDDI_VERSION >= NTDDI_WIN7SP1) */ #endif /* (NTDDI_VERSION >= NTDDI_WIN7SP1) */
#if (_WIN32_WINNT >= 0x0601) #if (_WIN32_WINNT >= 0x0601)
#pragma region Desktop Family #pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
skipping to change at line 8772 skipping to change at line 8774
FORCEINLINE FORCEINLINE
unsigned long unsigned long
InterlockedIncrement( InterlockedIncrement(
_Inout_ _Interlocked_operand_ unsigned long volatile *Addend _Inout_ _Interlocked_operand_ unsigned long volatile *Addend
) )
{ {
return (unsigned long) _InterlockedIncrement((volatile long*) Addend); return (unsigned long) _InterlockedIncrement((volatile long*) Addend);
} }
#if defined(_WIN64) || ((_WIN32_WINNT >= 0x0502) && defined(_WINBASE_) && !defin // ARM64_WORKAROUND : should this work for managed code?
ed(_MANAGED)) #if (defined(_WIN64) && !defined(_ARM64_)) || ((_WIN32_WINNT >= 0x0502) && defin
ed(_WINBASE_) && !defined(_MANAGED))
FORCEINLINE FORCEINLINE
unsigned __int64 unsigned __int64
InterlockedIncrement( InterlockedIncrement(
_Inout_ _Interlocked_operand_ unsigned __int64 volatile *Addend _Inout_ _Interlocked_operand_ unsigned __int64 volatile *Addend
) )
{ {
return (unsigned __int64) _InterlockedIncrement64((volatile long long*) Adde nd); return (unsigned __int64) (InterlockedIncrement64)((volatile __int64*) Adden d);
} }
#endif #endif
FORCEINLINE FORCEINLINE
unsigned unsigned
InterlockedDecrement( InterlockedDecrement(
_Inout_ _Interlocked_operand_ unsigned volatile *Addend _Inout_ _Interlocked_operand_ unsigned volatile *Addend
) )
{ {
skipping to change at line 8803 skipping to change at line 8806
FORCEINLINE FORCEINLINE
unsigned long unsigned long
InterlockedDecrement( InterlockedDecrement(
_Inout_ _Interlocked_operand_ unsigned long volatile *Addend _Inout_ _Interlocked_operand_ unsigned long volatile *Addend
) )
{ {
return (unsigned long) _InterlockedDecrement((volatile long*) Addend); return (unsigned long) _InterlockedDecrement((volatile long*) Addend);
} }
#if defined(_WIN64) || ((_WIN32_WINNT >= 0x0502) && defined(_WINBASE_) && !defin // ARM64_WORKAROUND : should this work for managed code?
ed(_MANAGED)) #if (defined(_WIN64) && !defined(_ARM64_)) || ((_WIN32_WINNT >= 0x0502) && defin
ed(_WINBASE_) && !defined(_MANAGED))
FORCEINLINE FORCEINLINE
unsigned __int64 unsigned __int64
InterlockedDecrement( InterlockedDecrement(
_Inout_ _Interlocked_operand_ unsigned __int64 volatile *Addend _Inout_ _Interlocked_operand_ unsigned __int64 volatile *Addend
) )
{ {
return (unsigned __int64) _InterlockedDecrement64((volatile long long*) Adde nd); return (unsigned __int64) (InterlockedDecrement64)((volatile __int64*) Adden d);
} }
#endif #endif
#if !defined(_M_CEE_PURE) #if !defined(_M_CEE_PURE)
FORCEINLINE FORCEINLINE
unsigned unsigned
InterlockedExchange( InterlockedExchange(
_Inout_ _Interlocked_operand_ unsigned volatile *Target, _Inout_ _Interlocked_operand_ unsigned volatile *Target,
skipping to change at line 8847 skipping to change at line 8851
#if defined(_WIN64) || ((_WIN32_WINNT >= 0x0502) && defined(_WINBASE_) && !defin ed(_MANAGED)) #if defined(_WIN64) || ((_WIN32_WINNT >= 0x0502) && defined(_WINBASE_) && !defin ed(_MANAGED))
FORCEINLINE FORCEINLINE
unsigned __int64 unsigned __int64
InterlockedExchange( InterlockedExchange(
_Inout_ _Interlocked_operand_ unsigned __int64 volatile *Target, _Inout_ _Interlocked_operand_ unsigned __int64 volatile *Target,
_In_ unsigned __int64 Value _In_ unsigned __int64 Value
) )
{ {
return (unsigned __int64) _InterlockedExchange64((volatile long long*) Targe t, (long long) Value); return (unsigned __int64) InterlockedExchange64((volatile __int64*) Target, (__int64) Value);
} }
#endif #endif
FORCEINLINE FORCEINLINE
unsigned unsigned
InterlockedExchangeAdd( InterlockedExchangeAdd(
_Inout_ _Interlocked_operand_ unsigned volatile *Addend, _Inout_ _Interlocked_operand_ unsigned volatile *Addend,
_In_ unsigned Value _In_ unsigned Value
) )
skipping to change at line 8901 skipping to change at line 8905
#if defined(_WIN64) || ((_WIN32_WINNT >= 0x0502) && defined(_WINBASE_) && !defin ed(_MANAGED)) #if defined(_WIN64) || ((_WIN32_WINNT >= 0x0502) && defined(_WINBASE_) && !defin ed(_MANAGED))
FORCEINLINE FORCEINLINE
unsigned __int64 unsigned __int64
InterlockedExchangeAdd( InterlockedExchangeAdd(
_Inout_ _Interlocked_operand_ unsigned __int64 volatile *Addend, _Inout_ _Interlocked_operand_ unsigned __int64 volatile *Addend,
_In_ unsigned __int64 Value _In_ unsigned __int64 Value
) )
{ {
return (unsigned __int64) _InterlockedExchangeAdd64((volatile long long*) Ad dend, (long long) Value); return (unsigned __int64) InterlockedExchangeAdd64((volatile __int64*) Adden d, (__int64) Value);
} }
FORCEINLINE FORCEINLINE
unsigned __int64 unsigned __int64
InterlockedExchangeSubtract( InterlockedExchangeSubtract(
_Inout_ _Interlocked_operand_ unsigned __int64 volatile *Addend, _Inout_ _Interlocked_operand_ unsigned __int64 volatile *Addend,
_In_ unsigned __int64 Value _In_ unsigned __int64 Value
) )
{ {
return (unsigned __int64) _InterlockedExchangeAdd64((volatile long long*) Ad dend, - (long long) Value); return (unsigned __int64) InterlockedExchangeAdd64((volatile __int64*) Adden d, - (__int64) Value);
} }
#endif #endif
FORCEINLINE FORCEINLINE
unsigned unsigned
InterlockedCompareExchange( InterlockedCompareExchange(
_Inout_ _Interlocked_operand_ unsigned volatile *Destination, _Inout_ _Interlocked_operand_ unsigned volatile *Destination,
_In_ unsigned Exchange, _In_ unsigned Exchange,
_In_ unsigned Comperand _In_ unsigned Comperand
skipping to change at line 8948 skipping to change at line 8952
#if defined(_WIN64) || ((_WIN32_WINNT >= 0x0502) && defined(_WINBASE_) && !defin ed(_MANAGED)) #if defined(_WIN64) || ((_WIN32_WINNT >= 0x0502) && defined(_WINBASE_) && !defin ed(_MANAGED))
FORCEINLINE FORCEINLINE
unsigned __int64 unsigned __int64
InterlockedCompareExchange( InterlockedCompareExchange(
_Inout_ _Interlocked_operand_ unsigned __int64 volatile *Destination, _Inout_ _Interlocked_operand_ unsigned __int64 volatile *Destination,
_In_ unsigned __int64 Exchange, _In_ unsigned __int64 Exchange,
_In_ unsigned __int64 Comperand _In_ unsigned __int64 Comperand
) )
{ {
return (unsigned __int64) _InterlockedCompareExchange64((volatile long long* ) Destination, (long long) Exchange, (long long) Comperand); return (unsigned __int64) _InterlockedCompareExchange64((volatile __int64*) Destination, (__int64) Exchange, (__int64) Comperand);
} }
FORCEINLINE FORCEINLINE
unsigned __int64 unsigned __int64
InterlockedAnd( InterlockedAnd(
_Inout_ _Interlocked_operand_ unsigned __int64 volatile *Destination, _Inout_ _Interlocked_operand_ unsigned __int64 volatile *Destination,
_In_ unsigned __int64 Value _In_ unsigned __int64 Value
) )
{ {
return (unsigned __int64) _InterlockedAnd64((volatile long long*) Destinatio n, (long long) Value); return (unsigned __int64) InterlockedAnd64((volatile __int64*) Destination, (__int64) Value);
} }
FORCEINLINE FORCEINLINE
unsigned __int64 unsigned __int64
InterlockedOr( InterlockedOr(
_Inout_ _Interlocked_operand_ unsigned __int64 volatile *Destination, _Inout_ _Interlocked_operand_ unsigned __int64 volatile *Destination,
_In_ unsigned __int64 Value _In_ unsigned __int64 Value
) )
{ {
return (unsigned __int64) _InterlockedOr64((volatile long long*) Destination , (long long) Value); return (unsigned __int64) InterlockedOr64((volatile __int64*) Destination, ( __int64) Value);
} }
FORCEINLINE FORCEINLINE
unsigned __int64 unsigned __int64
InterlockedXor( InterlockedXor(
_Inout_ _Interlocked_operand_ unsigned __int64 volatile *Destination, _Inout_ _Interlocked_operand_ unsigned __int64 volatile *Destination,
_In_ unsigned __int64 Value _In_ unsigned __int64 Value
) )
{ {
return (unsigned __int64) _InterlockedXor64((volatile long long*) Destinatio n, (long long) Value); return (unsigned __int64) InterlockedXor64((volatile __int64*) Destination, (__int64) Value);
} }
#endif #endif
#endif /* !defined(_M_CEE_PURE) */ #endif /* !defined(_M_CEE_PURE) */
} /* extern "C++" */ } /* extern "C++" */
#endif /* } __cplusplus */ #endif /* } __cplusplus */
#endif /* } MICROSOFT_WINBASE_H_DEFINE_INTERLOCKED_CPLUSPLUS_OVERLOADS */ #endif /* } MICROSOFT_WINBASE_H_DEFINE_INTERLOCKED_CPLUSPLUS_OVERLOADS */
 End of changes. 173 change blocks. 
593 lines changed or deleted 651 lines changed or added


 wincon.h (6.3.9600.17415-Windows 8.1)   wincon.h (10.0.10586.0-Windows 10 1511 10586.494) 
skipping to change at line 33 skipping to change at line 33
#ifndef _WINCON_ #ifndef _WINCON_
#define _WINCON_ #define _WINCON_
#pragma once #pragma once
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
#if _MSC_VER >= 1200
#pragma warning(push)
#pragma warning(disable:4820) // padding added after data member
#endif
#ifndef NOGDI #ifndef NOGDI
#include <wingdi.h> #include <wingdi.h>
#endif #endif
#pragma region Application Family #pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM)
typedef struct _COORD { typedef struct _COORD {
SHORT X; SHORT X;
SHORT Y; SHORT Y;
} COORD, *PCOORD; } COORD, *PCOORD;
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM ) */
#pragma endregion #pragma endregion
#pragma region Desktop Family #pragma region Desktop Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM)
typedef struct _SMALL_RECT { typedef struct _SMALL_RECT {
SHORT Left; SHORT Left;
SHORT Top; SHORT Top;
SHORT Right; SHORT Right;
SHORT Bottom; SHORT Bottom;
} SMALL_RECT, *PSMALL_RECT; } SMALL_RECT, *PSMALL_RECT;
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SY STEM) */
#pragma endregion #pragma endregion
#pragma region Application Family #pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM)
typedef struct _KEY_EVENT_RECORD { typedef struct _KEY_EVENT_RECORD {
BOOL bKeyDown; BOOL bKeyDown;
WORD wRepeatCount; WORD wRepeatCount;
WORD wVirtualKeyCode; WORD wVirtualKeyCode;
WORD wVirtualScanCode; WORD wVirtualScanCode;
union { union {
WCHAR UnicodeChar; WCHAR UnicodeChar;
CHAR AsciiChar; CHAR AsciiChar;
} uChar; } uChar;
skipping to change at line 148 skipping to change at line 153
WORD EventType; WORD EventType;
union { union {
KEY_EVENT_RECORD KeyEvent; KEY_EVENT_RECORD KeyEvent;
MOUSE_EVENT_RECORD MouseEvent; MOUSE_EVENT_RECORD MouseEvent;
WINDOW_BUFFER_SIZE_RECORD WindowBufferSizeEvent; WINDOW_BUFFER_SIZE_RECORD WindowBufferSizeEvent;
MENU_EVENT_RECORD MenuEvent; MENU_EVENT_RECORD MenuEvent;
FOCUS_EVENT_RECORD FocusEvent; FOCUS_EVENT_RECORD FocusEvent;
} Event; } Event;
} INPUT_RECORD, *PINPUT_RECORD; } INPUT_RECORD, *PINPUT_RECORD;
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM ) */
#pragma endregion #pragma endregion
// //
// EventType flags: // EventType flags:
// //
#define KEY_EVENT 0x0001 // Event contains key event record #define KEY_EVENT 0x0001 // Event contains key event record
#define MOUSE_EVENT 0x0002 // Event contains mouse event record #define MOUSE_EVENT 0x0002 // Event contains mouse event record
#define WINDOW_BUFFER_SIZE_EVENT 0x0004 // Event contains window change event re cord #define WINDOW_BUFFER_SIZE_EVENT 0x0004 // Event contains window change event re cord
#define MENU_EVENT 0x0008 // Event contains menu event record #define MENU_EVENT 0x0008 // Event contains menu event record
#define FOCUS_EVENT 0x0010 // event contains focus change #define FOCUS_EVENT 0x0010 // event contains focus change
#pragma region Desktop Family #pragma region Desktop Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM)
typedef struct _CHAR_INFO { typedef struct _CHAR_INFO {
union { union {
WCHAR UnicodeChar; WCHAR UnicodeChar;
CHAR AsciiChar; CHAR AsciiChar;
} Char; } Char;
WORD Attributes; WORD Attributes;
} CHAR_INFO, *PCHAR_INFO; } CHAR_INFO, *PCHAR_INFO;
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SY STEM) */
#pragma endregion #pragma endregion
// //
// Attributes flags: // Attributes flags:
// //
#define FOREGROUND_BLUE 0x0001 // text color contains blue. #define FOREGROUND_BLUE 0x0001 // text color contains blue.
#define FOREGROUND_GREEN 0x0002 // text color contains green. #define FOREGROUND_GREEN 0x0002 // text color contains green.
#define FOREGROUND_RED 0x0004 // text color contains red. #define FOREGROUND_RED 0x0004 // text color contains red.
#define FOREGROUND_INTENSITY 0x0008 // text color is intensified. #define FOREGROUND_INTENSITY 0x0008 // text color is intensified.
skipping to change at line 197 skipping to change at line 202
#define COMMON_LVB_LEADING_BYTE 0x0100 // Leading Byte of DBCS #define COMMON_LVB_LEADING_BYTE 0x0100 // Leading Byte of DBCS
#define COMMON_LVB_TRAILING_BYTE 0x0200 // Trailing Byte of DBCS #define COMMON_LVB_TRAILING_BYTE 0x0200 // Trailing Byte of DBCS
#define COMMON_LVB_GRID_HORIZONTAL 0x0400 // DBCS: Grid attribute: top horizonta l. #define COMMON_LVB_GRID_HORIZONTAL 0x0400 // DBCS: Grid attribute: top horizonta l.
#define COMMON_LVB_GRID_LVERTICAL 0x0800 // DBCS: Grid attribute: left vertical . #define COMMON_LVB_GRID_LVERTICAL 0x0800 // DBCS: Grid attribute: left vertical .
#define COMMON_LVB_GRID_RVERTICAL 0x1000 // DBCS: Grid attribute: right vertica l. #define COMMON_LVB_GRID_RVERTICAL 0x1000 // DBCS: Grid attribute: right vertica l.
#define COMMON_LVB_REVERSE_VIDEO 0x4000 // DBCS: Reverse fore/back ground attr ibute. #define COMMON_LVB_REVERSE_VIDEO 0x4000 // DBCS: Reverse fore/back ground attr ibute.
#define COMMON_LVB_UNDERSCORE 0x8000 // DBCS: Underscore. #define COMMON_LVB_UNDERSCORE 0x8000 // DBCS: Underscore.
#define COMMON_LVB_SBCSDBCS 0x0300 // SBCS or DBCS flag. #define COMMON_LVB_SBCSDBCS 0x0300 // SBCS or DBCS flag.
#pragma region Desktop Family #pragma region Desktop Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM)
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 { typedef struct _CONSOLE_SCREEN_BUFFER_INFOEX {
skipping to change at line 250 skipping to change at line 255
#define HISTORY_NO_DUP_FLAG 0x1 #define HISTORY_NO_DUP_FLAG 0x1
typedef struct _CONSOLE_HISTORY_INFO { typedef struct _CONSOLE_HISTORY_INFO {
UINT cbSize; UINT cbSize;
UINT HistoryBufferSize; UINT HistoryBufferSize;
UINT NumberOfHistoryBuffers; UINT NumberOfHistoryBuffers;
DWORD dwFlags; DWORD dwFlags;
} CONSOLE_HISTORY_INFO, *PCONSOLE_HISTORY_INFO; } CONSOLE_HISTORY_INFO, *PCONSOLE_HISTORY_INFO;
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SY STEM) */
#pragma endregion #pragma endregion
#if(_WIN32_WINNT >= 0x0500) #if(_WIN32_WINNT >= 0x0500)
#pragma region Desktop Family #pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
typedef struct _CONSOLE_SELECTION_INFO { typedef struct _CONSOLE_SELECTION_INFO {
DWORD dwFlags; DWORD dwFlags;
COORD dwSelectionAnchor; COORD dwSelectionAnchor;
skipping to change at line 279 skipping to change at line 284
// //
#define CONSOLE_NO_SELECTION 0x0000 #define CONSOLE_NO_SELECTION 0x0000
#define CONSOLE_SELECTION_IN_PROGRESS 0x0001 // selection has begun #define CONSOLE_SELECTION_IN_PROGRESS 0x0001 // selection has begun
#define CONSOLE_SELECTION_NOT_EMPTY 0x0002 // non-null select rectangle #define CONSOLE_SELECTION_NOT_EMPTY 0x0002 // non-null select rectangle
#define CONSOLE_MOUSE_SELECTION 0x0004 // selecting with mouse #define CONSOLE_MOUSE_SELECTION 0x0004 // selecting with mouse
#define CONSOLE_MOUSE_DOWN 0x0008 // mouse is down #define CONSOLE_MOUSE_DOWN 0x0008 // mouse is down
#endif /* _WIN32_WINNT >= 0x0500 */ #endif /* _WIN32_WINNT >= 0x0500 */
#pragma region Application Family #pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM)
// //
// typedef for ctrl-c handler routines // typedef for ctrl-c handler routines
// //
typedef typedef
BOOL BOOL
(WINAPI *PHANDLER_ROUTINE)( (WINAPI *PHANDLER_ROUTINE)(
_In_ DWORD CtrlType _In_ DWORD CtrlType
); );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM ) */
#pragma endregion #pragma endregion
#define CTRL_C_EVENT 0 #define CTRL_C_EVENT 0
#define CTRL_BREAK_EVENT 1 #define CTRL_BREAK_EVENT 1
#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
skipping to change at line 320 skipping to change at line 325
#define ENABLE_MOUSE_INPUT 0x0010 #define ENABLE_MOUSE_INPUT 0x0010
#define ENABLE_INSERT_MODE 0x0020 #define ENABLE_INSERT_MODE 0x0020
#define ENABLE_QUICK_EDIT_MODE 0x0040 #define ENABLE_QUICK_EDIT_MODE 0x0040
#define ENABLE_EXTENDED_FLAGS 0x0080 #define ENABLE_EXTENDED_FLAGS 0x0080
#define ENABLE_AUTO_POSITION 0x0100 #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
#define ENABLE_VIRTUAL_TERMINAL_PROCESSING 0x0004
#pragma region Desktop Family #pragma region Desktop Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM)
// //
// direct API definitions. // direct API definitions.
// //
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
PeekConsoleInputW( PeekConsoleInputW(
_In_ HANDLE hConsoleInput, _In_ HANDLE hConsoleInput,
skipping to change at line 570 skipping to change at line 576
); );
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
GetConsoleCursorInfo( GetConsoleCursorInfo(
_In_ HANDLE hConsoleOutput, _In_ HANDLE hConsoleOutput,
_Out_ PCONSOLE_CURSOR_INFO lpConsoleCursorInfo _Out_ PCONSOLE_CURSOR_INFO lpConsoleCursorInfo
); );
#endif // WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SY
STEM)
#pragma endregion
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
#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
); );
skipping to change at line 635 skipping to change at line 647
#endif /* _WIN32_WINNT >= 0x0500 */ #endif /* _WIN32_WINNT >= 0x0500 */
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
GetNumberOfConsoleMouseButtons( GetNumberOfConsoleMouseButtons(
_Out_ LPDWORD lpNumberOfMouseButtons _Out_ LPDWORD lpNumberOfMouseButtons
); );
#endif // WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
#pragma endregion
#pragma region Desktop Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM)
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
SetConsoleActiveScreenBuffer( SetConsoleActiveScreenBuffer(
_In_ HANDLE hConsoleOutput _In_ HANDLE hConsoleOutput
); );
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
skipping to change at line 760 skipping to change at line 778
GetConsoleTitleW( GetConsoleTitleW(
_Out_writes_(nSize) LPWSTR lpConsoleTitle, _Out_writes_(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
#endif // WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SY
STEM)
#pragma endregion
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
#if(_WIN32_WINNT >= 0x0600) #if(_WIN32_WINNT >= 0x0600)
WINBASEAPI WINBASEAPI
DWORD DWORD
WINAPI WINAPI
GetConsoleOriginalTitleA( GetConsoleOriginalTitleA(
_Out_writes_(nSize) LPSTR lpConsoleTitle, _Out_writes_(nSize) LPSTR lpConsoleTitle,
_In_ DWORD nSize); _In_ DWORD nSize);
WINBASEAPI WINBASEAPI
DWORD DWORD
WINAPI WINAPI
GetConsoleOriginalTitleW( GetConsoleOriginalTitleW(
_Out_writes_(nSize) LPWSTR lpConsoleTitle, _Out_writes_(nSize) LPWSTR lpConsoleTitle,
_In_ DWORD nSize); _In_ DWORD nSize);
#ifdef UNICODE #ifdef UNICODE
#define GetConsoleOriginalTitle GetConsoleOriginalTitleW #define GetConsoleOriginalTitle GetConsoleOriginalTitleW
#else #else
#define GetConsoleOriginalTitle GetConsoleOriginalTitleA #define GetConsoleOriginalTitle GetConsoleOriginalTitleA
#endif // !UNICODE #endif // !UNICODE
#endif /* _WIN32_WINNT >= 0x0600 */ #endif /* _WIN32_WINNT >= 0x0600 */
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#pragma region Desktop Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM)
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
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */ #endif // WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SY STEM)
#pragma endregion #pragma endregion
#pragma region Application Family #pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM)
typedef struct _CONSOLE_READCONSOLE_CONTROL { typedef struct _CONSOLE_READCONSOLE_CONTROL {
ULONG nLength; ULONG nLength;
ULONG nInitialChars; ULONG nInitialChars;
ULONG dwCtrlWakeupMask; ULONG dwCtrlWakeupMask;
ULONG dwControlKeyState; ULONG dwControlKeyState;
} CONSOLE_READCONSOLE_CONTROL, *PCONSOLE_READCONSOLE_CONTROL; } CONSOLE_READCONSOLE_CONTROL, *PCONSOLE_READCONSOLE_CONTROL;
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM ) */
#pragma endregion #pragma endregion
#define CONSOLE_TEXTMODE_BUFFER 1 #define CONSOLE_TEXTMODE_BUFFER 1
#ifndef NOAPISET #ifndef NOAPISET
#include <consoleapi.h> #include <consoleapi.h>
#endif #endif
#pragma region Desktop Family #pragma region Desktop Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM)
WINBASEAPI WINBASEAPI
HANDLE HANDLE
WINAPI WINAPI
CreateConsoleScreenBuffer( CreateConsoleScreenBuffer(
_In_ DWORD dwDesiredAccess, _In_ DWORD dwDesiredAccess,
_In_ DWORD dwShareMode, _In_ DWORD dwShareMode,
_In_opt_ CONST SECURITY_ATTRIBUTES *lpSecurityAttributes, _In_opt_ CONST SECURITY_ATTRIBUTES *lpSecurityAttributes,
_In_ DWORD dwFlags, _In_ DWORD dwFlags,
_Reserved_ LPVOID lpScreenBufferData _Reserved_ LPVOID lpScreenBufferData
skipping to change at line 848 skipping to change at line 878
_In_ UINT wCodePageID _In_ UINT wCodePageID
); );
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
SetConsoleOutputCP( SetConsoleOutputCP(
_In_ UINT wCodePageID _In_ UINT wCodePageID
); );
#endif // WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SY
STEM)
#pragma endregion
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
#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);
skipping to change at line 1008 skipping to change at line 1044
#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 */
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion #pragma endregion
#if _MSC_VER >= 1200
#pragma warning(pop)
#endif
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif
#endif // _WINCON_ #endif // _WINCON_
 End of changes. 25 change blocks. 
24 lines changed or deleted 67 lines changed or added


 winnls.h (6.3.9600.17415-Windows 8.1)   winnls.h (10.0.10586.0-Windows 10 1511 10586.494) 
skipping to change at line 30 skipping to change at line 30
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
#ifndef NOAPISET #ifndef NOAPISET
#include <datetimeapi.h> // Datetime APISET dependencies #include <datetimeapi.h> // Datetime APISET dependencies
#include <libloaderapi.h> // LibLoader Apiset dependencies #include <libloaderapi.h> // LibLoader Apiset dependencies
#endif #endif
#if _MSC_VER >= 1200
#pragma warning(push)
#pragma warning(disable:4820) // padding added after data member
#endif
#ifndef NONLS #ifndef NONLS
#pragma region Application Family #pragma region Application Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM)
#ifdef _MAC #ifdef _MAC
#include <macwin32.h> #include <macwin32.h>
#endif #endif
#if !defined(_NORMALIZE_) #if !defined(_NORMALIZE_)
#define WINNORMALIZEAPI DECLSPEC_IMPORT #define WINNORMALIZEAPI DECLSPEC_IMPORT
#else #else
#define WINNORMALIZEAPI #define WINNORMALIZEAPI
#endif #endif
skipping to change at line 515 skipping to change at line 520
#define LOCALE_SNATIVELANGNAME 0x00000004 // native name of language, e g "Deutsch" #define LOCALE_SNATIVELANGNAME 0x00000004 // native name of language, e g "Deutsch"
#define LOCALE_SCOUNTRY 0x00000006 // localized name of country/ region, eg "Germany" in UI language #define LOCALE_SCOUNTRY 0x00000006 // localized name of country/ region, eg "Germany" in UI language
#define LOCALE_SENGCOUNTRY 0x00001002 // English name of country/re gion, eg "Germany" #define LOCALE_SENGCOUNTRY 0x00001002 // English name of country/re gion, eg "Germany"
#define LOCALE_SNATIVECTRYNAME 0x00000008 // native name of country/reg ion, eg "Deutschland" #define LOCALE_SNATIVECTRYNAME 0x00000008 // native name of country/reg ion, eg "Deutschland"
// Additional LCTypes // Additional LCTypes
#define LOCALE_ILANGUAGE 0x00000001 // language id, LOCALE_SNAME preferred #define LOCALE_ILANGUAGE 0x00000001 // language id, LOCALE_SNAME preferred
#define LOCALE_SABBREVLANGNAME 0x00000003 // arbitrary abbreviated lang uage name, LOCALE_SISO639LANGNAME preferred #define LOCALE_SABBREVLANGNAME 0x00000003 // arbitrary abbreviated lang uage name, LOCALE_SISO639LANGNAME preferred
#define LOCALE_ICOUNTRY 0x00000005 // country/region code, eg 1, #define LOCALE_IDIALINGCODE 0x00000005 // country/region dialing cod
LOCALE_SISO3166CTRYNAME may be more useful. e, example: en-US and en-CA return 1.
#define LOCALE_ICOUNTRY 0x00000005 // Deprecated synonym for LOC
ALE_IDIALINGCODE, use LOCALE_SISO3166CTRYNAME to query for a region identifier.
#define LOCALE_SABBREVCTRYNAME 0x00000007 // arbitrary abbreviated coun try/region name, LOCALE_SISO3166CTRYNAME preferred #define LOCALE_SABBREVCTRYNAME 0x00000007 // arbitrary abbreviated coun try/region name, LOCALE_SISO3166CTRYNAME preferred
#define LOCALE_IGEOID 0x0000005B // geographical location id, eg "244" #define LOCALE_IGEOID 0x0000005B // geographical location id, eg "244"
#define LOCALE_IDEFAULTLANGUAGE 0x00000009 // default language id, depre cated #define LOCALE_IDEFAULTLANGUAGE 0x00000009 // default language id, depre cated
#define LOCALE_IDEFAULTCOUNTRY 0x0000000A // default country/region cod e, deprecated #define LOCALE_IDEFAULTCOUNTRY 0x0000000A // default country/region cod e, deprecated
#define LOCALE_IDEFAULTCODEPAGE 0x0000000B // default oem code page (use of Unicode is recommended instead) #define LOCALE_IDEFAULTCODEPAGE 0x0000000B // default oem code page (use of Unicode is recommended instead)
#define LOCALE_IDEFAULTANSICODEPAGE 0x00001004 // default ansi code page (us e of Unicode is recommended instead) #define LOCALE_IDEFAULTANSICODEPAGE 0x00001004 // default ansi code page (us e of Unicode is recommended instead)
#define LOCALE_IDEFAULTMACCODEPAGE 0x00001011 // default mac code page (use of Unicode is recommended instead) #define LOCALE_IDEFAULTMACCODEPAGE 0x00001011 // default mac code page (use of Unicode is recommended instead)
#define LOCALE_SLIST 0x0000000C // list item separator, eg ", " for "1,2,3,4" #define LOCALE_SLIST 0x0000000C // list item separator, eg ", " for "1,2,3,4"
skipping to change at line 559 skipping to change at line 565
#define LOCALE_SLONGDATE 0x00000020 // long date format string, e g "dddd, MMMM dd, yyyy" #define LOCALE_SLONGDATE 0x00000020 // long date format string, e g "dddd, MMMM dd, yyyy"
#define LOCALE_STIMEFORMAT 0x00001003 // time format string, eg "HH :mm:ss" #define LOCALE_STIMEFORMAT 0x00001003 // time format string, eg "HH :mm:ss"
#define LOCALE_IDATE 0x00000021 // short date format ordering (derived from LOCALE_SSHORTDATE, use that instead) #define LOCALE_IDATE 0x00000021 // short date format ordering (derived from LOCALE_SSHORTDATE, use that instead)
#define LOCALE_ILDATE 0x00000022 // long date format ordering (derived from LOCALE_SLONGDATE, use that instead) #define LOCALE_ILDATE 0x00000022 // long date format ordering (derived from LOCALE_SLONGDATE, use that instead)
#define LOCALE_ITIME 0x00000023 // time format specifier (der ived from LOCALE_STIMEFORMAT, use that instead) #define LOCALE_ITIME 0x00000023 // time format specifier (der ived from LOCALE_STIMEFORMAT, use that instead)
#define LOCALE_ITIMEMARKPOSN 0x00001005 // time marker position (deri ved from LOCALE_STIMEFORMAT, use that instead) #define LOCALE_ITIMEMARKPOSN 0x00001005 // time marker position (deri ved from LOCALE_STIMEFORMAT, use that instead)
#define LOCALE_ICENTURY 0x00000024 // century format specifier ( short date, LOCALE_SSHORTDATE is preferred) #define LOCALE_ICENTURY 0x00000024 // century format specifier ( short date, LOCALE_SSHORTDATE is preferred)
#define LOCALE_ITLZERO 0x00000025 // leading zeros in time fiel d (derived from LOCALE_STIMEFORMAT, use that instead) #define LOCALE_ITLZERO 0x00000025 // leading zeros in time fiel 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_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_IMONLZERO 0x00000027 // leading zeros in month fie ld (short date, LOCALE_SSHORTDATE is preferred)
#define LOCALE_S1159 0x00000028 // AM designator, eg "AM" #define LOCALE_SAM 0x00000028 // AM designator, eg "AM"
#define LOCALE_S2359 0x00000029 // PM designator, eg "PM" #define LOCALE_S1159 LOCALE_SAM
#define LOCALE_SPM 0x00000029 // PM designator, eg "PM"
#define LOCALE_S2359 LOCALE_SPM
#define LOCALE_ICALENDARTYPE 0x00001009 // type of calendar specifier , eg CAL_GREGORIAN #define LOCALE_ICALENDARTYPE 0x00001009 // type of calendar specifier , eg CAL_GREGORIAN
#define LOCALE_IOPTIONALCALENDAR 0x0000100B // additional calendar types specifier, eg CAL_GREGORIAN_US #define LOCALE_IOPTIONALCALENDAR 0x0000100B // additional calendar types specifier, eg CAL_GREGORIAN_US
#define LOCALE_IFIRSTDAYOFWEEK 0x0000100C // first day of week specifie r, 0-6, 0=Monday, 6=Sunday #define LOCALE_IFIRSTDAYOFWEEK 0x0000100C // first day of week specifie r, 0-6, 0=Monday, 6=Sunday
#define LOCALE_IFIRSTWEEKOFYEAR 0x0000100D // first week of year specifi er, 0-2, see documentation #define LOCALE_IFIRSTWEEKOFYEAR 0x0000100D // first week of year specifi er, 0-2, see documentation
#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
#define LOCALE_SDAYNAME3 0x0000002C // long name for Wednesday #define LOCALE_SDAYNAME3 0x0000002C // long name for Wednesday
#define LOCALE_SDAYNAME4 0x0000002D // long name for Thursday #define LOCALE_SDAYNAME4 0x0000002D // long name for Thursday
skipping to change at line 677 skipping to change at line 685
#define LOCALE_SSHORTTIME 0x00000079 // Returns the preferred shor t time format (ie: no seconds, just h:mm) #define LOCALE_SSHORTTIME 0x00000079 // Returns the preferred shor t time format (ie: no seconds, just h:mm)
#define LOCALE_SOPENTYPELANGUAGETAG 0x0000007a // Open type language tag, eg : "latn" or "dflt" #define LOCALE_SOPENTYPELANGUAGETAG 0x0000007a // Open type language tag, eg : "latn" or "dflt"
#define LOCALE_SSORTLOCALE 0x0000007b // Name of locale to use for sorting/collation/casing behavior. #define LOCALE_SSORTLOCALE 0x0000007b // Name of locale to use for sorting/collation/casing behavior.
#endif //(WINVER >= _WIN32_WINNT_WIN7) #endif //(WINVER >= _WIN32_WINNT_WIN7)
#if (WINVER >= _WIN32_WINNT_WIN8) #if (WINVER >= _WIN32_WINNT_WIN8)
#endif #endif
#if (WINVER >= _WIN32_WINNT_WINBLUE) #if (WINVER >= _WIN32_WINNT_WINBLUE)
#endif #endif
#if (WINVER >= _WIN32_WINNT_WINTHRESHOLD)
#define LOCALE_SSHORTESTAM 0x0000007e // Shortest AM designator, eg
"A"
#define LOCALE_SSHORTESTPM 0x0000007f // Shortest PM designator, eg
"P"
#endif
// //
// 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 699 skipping to change at line 712
#define DATE_LONGDATE 0x00000002 // use long date picture #define DATE_LONGDATE 0x00000002 // use long date picture
#define DATE_USE_ALT_CALENDAR 0x00000004 // use alternate calendar (if any) #define DATE_USE_ALT_CALENDAR 0x00000004 // use alternate calendar (if any)
#if(WINVER >= 0x0500) #if(WINVER >= 0x0500)
#define DATE_YEARMONTH 0x00000008 // use year month picture #define DATE_YEARMONTH 0x00000008 // use year month picture
#define DATE_LTRREADING 0x00000010 // add marks for left to right rea ding order layout #define DATE_LTRREADING 0x00000010 // add marks for left to right rea ding order layout
#define DATE_RTLREADING 0x00000020 // add marks for right to left rea ding order layout #define DATE_RTLREADING 0x00000020 // add marks for right to left rea ding order layout
#endif /* WINVER >= 0x0500 */ #endif /* WINVER >= 0x0500 */
#if (WINVER >= _WIN32_WINNT_WIN7) #if (WINVER >= _WIN32_WINNT_WIN7)
#define DATE_AUTOLAYOUT 0x00000040 // add appropriate marks for lef t-to-right or right-to-left reading order layout #define DATE_AUTOLAYOUT 0x00000040 // add appropriate marks for left- to-right or right-to-left reading order layout
#endif //(WINVER >= _WIN32_WINNT_WIN7) #endif //(WINVER >= _WIN32_WINNT_WIN7)
#if (WINVER >= _WIN32_WINNT_WINTHRESHOLD)
#define DATE_MONTHDAY 0x00000080 // include month day pictures
#endif //(WINVER >= _WIN32_WINNT_WINTHRESHOLD)
// //
// Calendar Types. // Calendar Types.
// //
// These types are used for the EnumCalendarInfo and GetCalendarInfo // These types are used for the EnumCalendarInfo and GetCalendarInfo
// NLS API routines. // NLS API routines.
// Some of these types are also used for the SetCalendarInfo NLS API // Some of these types are also used for the SetCalendarInfo NLS API
// routine. // routine.
// //
// //
skipping to change at line 828 skipping to change at line 845
#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_PERSIAN 22 // Persian (Solar Hijri) calendar
#define CAL_UMALQURA 23 // UmAlQura Hijri (Arabic Lunar) c alendar #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
skipping to change at line 1101 skipping to change at line 1119
GEO_LONGITUDE = 0x0003, GEO_LONGITUDE = 0x0003,
GEO_ISO2 = 0x0004, GEO_ISO2 = 0x0004,
GEO_ISO3 = 0x0005, GEO_ISO3 = 0x0005,
GEO_RFC1766 = 0x0006, GEO_RFC1766 = 0x0006,
GEO_LCID = 0x0007, GEO_LCID = 0x0007,
GEO_FRIENDLYNAME= 0x0008, GEO_FRIENDLYNAME= 0x0008,
GEO_OFFICIALNAME= 0x0009, GEO_OFFICIALNAME= 0x0009,
GEO_TIMEZONES = 0x000A, GEO_TIMEZONES = 0x000A,
GEO_OFFICIALLANGUAGES = 0x000B, GEO_OFFICIALLANGUAGES = 0x000B,
GEO_ISO_UN_NUMBER = 0x000C, GEO_ISO_UN_NUMBER = 0x000C,
GEO_PARENT = 0x000D GEO_PARENT = 0x000D,
GEO_DIALINGCODE = 0x000E,
GEO_CURRENCYCODE= 0x000F,
GEO_CURRENCYSYMBOL= 0x0010
}; };
// //
// 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,
GEOCLASS_ALL = 0 GEOCLASS_ALL = 0
skipping to change at line 1318 skipping to change at line 1339
// //
// Code Page Dependent APIs. // Code Page Dependent APIs.
// //
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
IsValidCodePage( IsValidCodePage(
_In_ UINT CodePage); _In_ UINT CodePage);
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM ) */
#pragma endregion #pragma endregion
#pragma region Desktop Family #pragma region Desktop Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM)
WINBASEAPI WINBASEAPI
UINT UINT
WINAPI WINAPI
GetACP(void); GetACP(void);
WINBASEAPI WINBASEAPI
UINT UINT
WINAPI WINAPI
GetOEMCP(void); GetOEMCP(void);
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SY STEM) */
#pragma endregion #pragma endregion
#pragma region Application Family #pragma region Desktop or Pc Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP|WINAPI_PARTITION_PC_APP | W
INAPI_PARTITION_SYSTEM)
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
GetCPInfo( GetCPInfo(
_In_ UINT CodePage, _In_ UINT CodePage,
_Out_ LPCPINFO lpCPInfo); _Out_ LPCPINFO lpCPInfo);
WINBASEAPI WINBASEAPI
BOOL BOOL
skipping to change at line 1367 skipping to change at line 1388
GetCPInfoExW( GetCPInfoExW(
_In_ UINT CodePage, _In_ UINT CodePage,
_In_ DWORD dwFlags, _In_ DWORD dwFlags,
_Out_ LPCPINFOEXW lpCPInfoEx); _Out_ LPCPINFOEXW lpCPInfoEx);
#ifdef UNICODE #ifdef UNICODE
#define GetCPInfoEx GetCPInfoExW #define GetCPInfoEx GetCPInfoExW
#else #else
#define GetCPInfoEx GetCPInfoExA #define GetCPInfoEx GetCPInfoExA
#endif // !UNICODE #endif // !UNICODE
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP|WINAPI_PARTITION_PC_A PP | WINAPI_PARTITION_SYSTEM) */
#pragma endregion #pragma endregion
#pragma region Desktop Family #pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
// //
// Locale Dependent APIs. // Locale Dependent APIs.
// //
// For Windows Vista and above CompareStringEx is preferred // For Windows Vista and above CompareStringEx is preferred
skipping to change at line 1421 skipping to change at line 1442
Locale, Locale,
dwCmpFlags, dwCmpFlags,
lpString1, lpString1,
cchCount1, cchCount1,
lpString2, lpString2,
cchCount2 cchCount2
); );
} }
#endif /* _M_CEE */ #endif /* _M_CEE */
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#pragma region Desktop or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM)
#if (WINVER >= 0x0600) #if (WINVER >= 0x0600)
// For Windows Vista and above FindNLSStringEx is preferred // For Windows Vista and above FindNLSStringEx is preferred
WINBASEAPI WINBASEAPI
int int
WINAPI WINAPI
FindNLSString( FindNLSString(
_In_ LCID Locale, _In_ LCID Locale,
_In_ DWORD dwFindNLSStringFlags, _In_ DWORD dwFindNLSStringFlags,
_In_reads_(cchSource) LPCWSTR lpStringSource, _In_reads_(cchSource) LPCWSTR lpStringSource,
skipping to change at line 1568 skipping to change at line 1595
_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
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SY
STEM) */
#pragma endregion
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
#if (WINVER >= _WIN32_WINNT_WIN7) #if (WINVER >= _WIN32_WINNT_WIN7)
// //
// Flags used by LoadStringByReference // Flags used by LoadStringByReference
// //
#define MUI_FORMAT_REG_COMPAT 0x0001 #define MUI_FORMAT_REG_COMPAT 0x0001
#define MUI_FORMAT_INF_COMPAT 0x0002 #define MUI_FORMAT_INF_COMPAT 0x0002
#define MUI_VERIFY_FILE_EXISTS 0x0004 #define MUI_VERIFY_FILE_EXISTS 0x0004
#define MUI_SKIP_STRING_CACHE 0x0008 #define MUI_SKIP_STRING_CACHE 0x0008
#define MUI_IMMUTABLE_LOOKUP 0x0010 #define MUI_IMMUTABLE_LOOKUP 0x0010
skipping to change at line 1592 skipping to change at line 1625
_In_ DWORD Flags, _In_ DWORD Flags,
_In_opt_ PCWSTR Language, _In_opt_ PCWSTR Language,
_In_ PCWSTR SourceString, _In_ PCWSTR SourceString,
_Out_writes_opt_(cchBuffer) PWSTR Buffer, _Out_writes_opt_(cchBuffer) PWSTR Buffer,
_In_ ULONG cchBuffer, _In_ ULONG cchBuffer,
_In_opt_ PCWSTR Directory, _In_opt_ PCWSTR Directory,
_Out_opt_ PULONG pcchBufferOut _Out_opt_ PULONG pcchBufferOut
); );
#endif // (WINVER >= _WIN32_WINNT_WIN7) #endif // (WINVER >= _WIN32_WINNT_WIN7)
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#pragma region Desktop Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM)
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
IsDBCSLeadByte( IsDBCSLeadByte(
_In_ BYTE TestChar _In_ BYTE TestChar
); );
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
IsDBCSLeadByteEx( IsDBCSLeadByteEx(
_In_ UINT CodePage, _In_ UINT CodePage,
_In_ BYTE TestChar _In_ BYTE TestChar
); );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SY STEM) */
#pragma endregion #pragma endregion
#pragma region Application Family #pragma region Application Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM)
#if (WINVER >= 0x0600) #if (WINVER >= 0x0600)
WINBASEAPI WINBASEAPI
int int
WINAPI WINAPI
LCIDToLocaleName( LCIDToLocaleName(
_In_ LCID Locale, _In_ LCID Locale,
_Out_writes_opt_(cchName) LPWSTR lpName, _Out_writes_opt_(cchName) LPWSTR lpName,
_In_ int cchName, _In_ int cchName,
_In_ DWORD dwFlags); _In_ DWORD dwFlags);
WINBASEAPI WINBASEAPI
LCID LCID
WINAPI WINAPI
LocaleNameToLCID( LocaleNameToLCID(
_In_ LPCWSTR lpName, _In_ LPCWSTR lpName,
_In_ DWORD dwFlags); _In_ DWORD dwFlags);
#endif // (WINVER >= 0x0600) #endif // (WINVER >= 0x0600)
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM ) */
#pragma endregion #pragma endregion
#pragma region Desktop Family #pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
// For Windows Vista and above GetDurationFormatEx is preferred // For Windows Vista and above GetDurationFormatEx is preferred
#if (WINVER >= 0x0600) #if (WINVER >= 0x0600)
WINBASEAPI WINBASEAPI
int int
WINAPI WINAPI
skipping to change at line 1681 skipping to change at line 1720
_In_ LPCWSTR lpValue, _In_ LPCWSTR lpValue,
_In_opt_ CONST NUMBERFMTW *lpFormat, _In_opt_ CONST NUMBERFMTW *lpFormat,
_Out_writes_opt_(cchNumber) LPWSTR lpNumberStr, _Out_writes_opt_(cchNumber) LPWSTR lpNumberStr,
_In_ int cchNumber); _In_ int cchNumber);
#ifdef UNICODE #ifdef UNICODE
#define GetNumberFormat GetNumberFormatW #define GetNumberFormat GetNumberFormatW
#else #else
#define GetNumberFormat GetNumberFormatA #define GetNumberFormat GetNumberFormatA
#endif // !UNICODE #endif // !UNICODE
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#pragma region Desktop Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM)
// For Windows Vista and above GetCurrencyFormatEx is preferred // For Windows Vista and above GetCurrencyFormatEx is preferred
WINBASEAPI WINBASEAPI
int int
WINAPI WINAPI
GetCurrencyFormatA( GetCurrencyFormatA(
_In_ LCID Locale, _In_ LCID Locale,
_In_ DWORD dwFlags, _In_ DWORD dwFlags,
_In_ LPCSTR lpValue, _In_ LPCSTR lpValue,
_In_opt_ CONST CURRENCYFMTA *lpFormat, _In_opt_ CONST CURRENCYFMTA *lpFormat,
_Out_writes_opt_(cchCurrency) LPSTR lpCurrencyStr, _Out_writes_opt_(cchCurrency) LPSTR lpCurrencyStr,
skipping to change at line 1863 skipping to change at line 1908
_In_ INT cchStr); _In_ INT cchStr);
// For Windows Vista and above IsValidLocaleName is preferred // For Windows Vista and above IsValidLocaleName is preferred
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
IsValidLocale( IsValidLocale(
_In_ LCID Locale, _In_ LCID Locale,
_In_ DWORD dwFlags); _In_ DWORD dwFlags);
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SY STEM) */
#pragma endregion #pragma endregion
#pragma region Application Family #pragma region Application Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM)
WINBASEAPI WINBASEAPI
int int
WINAPI WINAPI
GetGeoInfoA( GetGeoInfoA(
_In_ GEOID Location, _In_ GEOID Location,
_In_ GEOTYPE GeoType, _In_ GEOTYPE GeoType,
_Out_writes_opt_(cchData) LPSTR lpGeoData, _Out_writes_opt_(cchData) LPSTR lpGeoData,
_In_ int cchData, _In_ int cchData,
_In_ LANGID LangId); _In_ LANGID LangId);
skipping to change at line 1892 skipping to change at line 1937
_In_ GEOID Location, _In_ GEOID Location,
_In_ GEOTYPE GeoType, _In_ GEOTYPE GeoType,
_Out_writes_opt_(cchData) LPWSTR lpGeoData, _Out_writes_opt_(cchData) LPWSTR lpGeoData,
_In_ int cchData, _In_ int cchData,
_In_ LANGID LangId); _In_ LANGID LangId);
#ifdef UNICODE #ifdef UNICODE
#define GetGeoInfo GetGeoInfoW #define GetGeoInfo GetGeoInfoW
#else #else
#define GetGeoInfo GetGeoInfoA #define GetGeoInfo GetGeoInfoA
#endif // !UNICODE #endif // !UNICODE
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM
) */
#pragma endregion
#pragma region Desktop or PC Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_PC_APP |
WINAPI_PARTITION_SYSTEM)
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
EnumSystemGeoID( EnumSystemGeoID(
_In_ GEOCLASS GeoClass, _In_ GEOCLASS GeoClass,
_In_ GEOID ParentGeoId, _In_ GEOID ParentGeoId,
_In_ GEO_ENUMPROC lpGeoEnumProc); _In_ GEO_ENUMPROC lpGeoEnumProc);
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_PC
_APP | WINAPI_PARTITION_SYSTEM) */
#pragma endregion
#pragma region Application Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM)
WINBASEAPI WINBASEAPI
GEOID GEOID
WINAPI WINAPI
GetUserGeoID( GetUserGeoID(
_In_ GEOCLASS GeoClass); _In_ GEOCLASS GeoClass);
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM ) */
#pragma endregion #pragma endregion
#pragma region Desktop Family #pragma region Desktop Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM)
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
SetUserGeoID( SetUserGeoID(
_In_ GEOID GeoId); _In_ GEOID GeoId);
WINBASEAPI WINBASEAPI
LCID LCID
WINAPI WINAPI
skipping to change at line 1937 skipping to change at line 1993
WINAPI WINAPI
GetThreadLocale(void); GetThreadLocale(void);
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
SetThreadLocale( SetThreadLocale(
_In_ LCID Locale _In_ LCID Locale
); );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SY
STEM) */
#pragma endregion
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
#if(WINVER >= 0x0500) #if(WINVER >= 0x0500)
WINBASEAPI WINBASEAPI
LANGID LANGID
WINAPI WINAPI
GetSystemDefaultUILanguage(void); GetSystemDefaultUILanguage(void);
WINBASEAPI WINBASEAPI
LANGID LANGID
WINAPI WINAPI
GetUserDefaultUILanguage(void); GetUserDefaultUILanguage(void);
#endif /* WINVER >= 0x0500 */ #endif /* WINVER >= 0x0500 */
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#pragma region Desktop Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM)
WINBASEAPI WINBASEAPI
LANGID LANGID
WINAPI WINAPI
GetSystemDefaultLangID(void); GetSystemDefaultLangID(void);
WINBASEAPI WINBASEAPI
LANGID LANGID
WINAPI WINAPI
GetUserDefaultLangID(void); GetUserDefaultLangID(void);
WINBASEAPI WINBASEAPI
LCID LCID
WINAPI WINAPI
GetSystemDefaultLCID(void); GetSystemDefaultLCID(void);
WINBASEAPI WINBASEAPI
LCID LCID
WINAPI WINAPI
GetUserDefaultLCID(void); GetUserDefaultLCID(void);
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SY
STEM) */
#pragma endregion
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#pragma region Desktop Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM)
WINBASEAPI WINBASEAPI
LANGID LANGID
WINAPI WINAPI
SetThreadUILanguage(_In_ LANGID LangId); SetThreadUILanguage(_In_ LANGID LangId);
#if (WINVER >= 0x0600) #if (WINVER >= 0x0600)
WINBASEAPI WINBASEAPI
LANGID LANGID
WINAPI WINAPI
skipping to change at line 2000 skipping to change at line 2080
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
SetProcessPreferredUILanguages( SetProcessPreferredUILanguages(
_In_ DWORD dwFlags, _In_ DWORD dwFlags,
_In_opt_ PCZZWSTR pwszLanguagesBuffer, _In_opt_ PCZZWSTR pwszLanguagesBuffer,
_Out_opt_ PULONG pulNumLanguages _Out_opt_ PULONG pulNumLanguages
); );
#endif /* WINVER >= 0x0600 */
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SY
STEM) */
#pragma endregion
#pragma region Desktop Family or Phone Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_PHONE_AP
P | WINAPI_PARTITION_SYSTEM)
#if(WINVER >= 0x0600)
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
GetUserPreferredUILanguages ( GetUserPreferredUILanguages (
_In_ DWORD dwFlags, _In_ DWORD dwFlags,
_Out_ PULONG pulNumLanguages, _Out_ PULONG pulNumLanguages,
_Out_writes_opt_(*pcchLanguagesBuffer) PZZWSTR pwszLanguagesBuffer, _Out_writes_opt_(*pcchLanguagesBuffer) PZZWSTR pwszLanguagesBuffer,
_Inout_ PULONG pcchLanguagesBuffer _Inout_ PULONG pcchLanguagesBuffer
); );
#endif /* WINVER >= 0x0600 */
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_P
HONE_APP | WINAPI_PARTITION_SYSTEM) */
#pragma endregion
#pragma region Desktop Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM)
#if(WINVER >= 0x0600)
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
GetSystemPreferredUILanguages ( GetSystemPreferredUILanguages (
_In_ DWORD dwFlags, _In_ DWORD dwFlags,
_Out_ PULONG pulNumLanguages, _Out_ PULONG pulNumLanguages,
_Out_writes_opt_(*pcchLanguagesBuffer) PZZWSTR pwszLanguagesBuffer, _Out_writes_opt_(*pcchLanguagesBuffer) PZZWSTR pwszLanguagesBuffer,
_Inout_ PULONG pcchLanguagesBuffer _Inout_ PULONG pcchLanguagesBuffer
); );
skipping to change at line 2073 skipping to change at line 2171
BOOL BOOL
WINAPI WINAPI
GetUILanguageInfo( GetUILanguageInfo(
_In_ DWORD dwFlags, _In_ DWORD dwFlags,
_In_ PCZZWSTR pwmszLanguage, _In_ PCZZWSTR pwmszLanguage,
_Out_writes_opt_(*pcchFallbackLanguages) PZZWSTR pwszFallbackLanguages, _Out_writes_opt_(*pcchFallbackLanguages) PZZWSTR pwszFallbackLanguages,
_Inout_opt_ PDWORD pcchFallbackLanguages, _Inout_opt_ PDWORD pcchFallbackLanguages,
_Out_ PDWORD pAttributes _Out_ PDWORD pAttributes
); );
#endif /* WINVER >= 0x0600 */
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_S
YSTEM) */
#pragma endregion
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
#if(WINVER >= 0x0600)
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
NotifyUILanguageChange( NotifyUILanguageChange(
_In_ DWORD dwFlags, _In_ DWORD dwFlags,
_In_opt_ PCWSTR pcwstrNewLanguage, _In_opt_ PCWSTR pcwstrNewLanguage,
_In_opt_ PCWSTR pcwstrPreviousLanguage, _In_opt_ PCWSTR pcwstrPreviousLanguage,
_In_ DWORD dwReserved, _In_ DWORD dwReserved,
_Out_opt_ PDWORD pdwStatusRtrn _Out_opt_ PDWORD pdwStatusRtrn
); );
#endif #endif /* WINVER >= 0x0600 */
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
// //
// Locale Independent APIs. // Locale Independent APIs.
// //
#pragma region Application Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM)
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
GetStringTypeExA( GetStringTypeExA(
_In_ LCID Locale, _In_ LCID Locale,
_In_ DWORD dwInfoType, _In_ DWORD dwInfoType,
_In_reads_(cchSrc) LPCSTR lpSrcStr, _In_reads_(cchSrc) LPCSTR lpSrcStr,
_In_ int cchSrc, _In_ int cchSrc,
_Out_writes_(cchSrc) LPWORD lpCharType); _Out_writes_(cchSrc) LPWORD lpCharType);
#ifndef UNICODE #ifndef UNICODE
#define GetStringTypeEx GetStringTypeExA #define GetStringTypeEx GetStringTypeExA
#endif #endif
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM
) */
#pragma endregion
#pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
// //
// 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
// parameters (ported from Win95). To be compatible, we // parameters (ported from Win95). To be compatible, we
// must break the relationship between the A and W versions // must break the relationship between the A and W versions
// of GetStringType. There will be NO function call for the // of GetStringType. There will be NO function call for the
// generic GetStringType. // generic GetStringType.
// //
// GetStringTypeEx (above) should be used instead. // GetStringTypeEx (above) should be used instead.
skipping to change at line 2124 skipping to change at line 2244
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
GetStringTypeA( GetStringTypeA(
_In_ LCID Locale, _In_ LCID Locale,
_In_ DWORD dwInfoType, _In_ DWORD dwInfoType,
_In_reads_(cchSrc) LPCSTR lpSrcStr, _In_reads_(cchSrc) LPCSTR lpSrcStr,
_In_ int cchSrc, _In_ int cchSrc,
_Out_ LPWORD lpCharType); _Out_ LPWORD lpCharType);
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion
#pragma region Desktop Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SYSTEM)
WINBASEAPI WINBASEAPI
int int
WINAPI WINAPI
FoldStringA( FoldStringA(
_In_ DWORD dwMapFlags, _In_ DWORD dwMapFlags,
_In_reads_(cchSrc) LPCSTR lpSrcStr, _In_reads_(cchSrc) LPCSTR lpSrcStr,
_In_ int cchSrc, _In_ int cchSrc,
_Out_writes_opt_(cchDest) LPSTR lpDestStr, _Out_writes_opt_(cchDest) LPSTR lpDestStr,
_In_ int cchDest); _In_ int cchDest);
#ifndef UNICODE #ifndef UNICODE
skipping to change at line 2157 skipping to change at line 2283
WINAPI WINAPI
EnumSystemLocalesW( EnumSystemLocalesW(
_In_ LOCALE_ENUMPROCW lpLocaleEnumProc, _In_ LOCALE_ENUMPROCW lpLocaleEnumProc,
_In_ DWORD dwFlags); _In_ DWORD dwFlags);
#ifdef UNICODE #ifdef UNICODE
#define EnumSystemLocales EnumSystemLocalesW #define EnumSystemLocales EnumSystemLocalesW
#else #else
#define EnumSystemLocales EnumSystemLocalesA #define EnumSystemLocales EnumSystemLocalesA
#endif // !UNICODE #endif // !UNICODE
#endif /* WINVER >= 0x0500 */
#if(WINVER >= 0x0500)
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
EnumSystemLanguageGroupsA( EnumSystemLanguageGroupsA(
_In_ LANGUAGEGROUP_ENUMPROCA lpLanguageGroupEnumProc, _In_ LANGUAGEGROUP_ENUMPROCA lpLanguageGroupEnumProc,
_In_ DWORD dwFlags, _In_ DWORD dwFlags,
_In_ LONG_PTR lParam); _In_ LONG_PTR lParam);
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
skipping to change at line 2220 skipping to change at line 2350
_In_ UILANGUAGE_ENUMPROCW lpUILanguageEnumProc, _In_ UILANGUAGE_ENUMPROCW lpUILanguageEnumProc,
_In_ DWORD dwFlags, _In_ DWORD dwFlags,
_In_ LONG_PTR lParam); _In_ LONG_PTR lParam);
#ifdef UNICODE #ifdef UNICODE
#define EnumUILanguages EnumUILanguagesW #define EnumUILanguages EnumUILanguagesW
#else #else
#define EnumUILanguages EnumUILanguagesA #define EnumUILanguages EnumUILanguagesA
#endif // !UNICODE #endif // !UNICODE
#endif /* WINVER >= 0x0500 */ #endif /* WINVER >= 0x0500 */
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_SY STEM) */
#pragma endregion #pragma endregion
#pragma region Application Family #pragma region Desktop or PC Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_PC_APP
| WINAPI_PARTITION_SYSTEM)
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
EnumSystemCodePagesA( EnumSystemCodePagesA(
_In_ CODEPAGE_ENUMPROCA lpCodePageEnumProc, _In_ CODEPAGE_ENUMPROCA lpCodePageEnumProc,
_In_ DWORD dwFlags); _In_ DWORD dwFlags);
WINBASEAPI WINBASEAPI
BOOL BOOL
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) #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_PC
_APP | WINAPI_PARTITION_SYSTEM) */
#pragma endregion
// //
// Windows API Normalization Functions // Windows API Normalization Functions
// //
#pragma region Application Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM)
#if (WINVER >= 0x0600)
WINNORMALIZEAPI WINNORMALIZEAPI
int int
WINAPI NormalizeString( _In_ NORM_FORM NormForm, WINAPI NormalizeString( _In_ NORM_FORM NormForm,
_In_reads_(cwSrcLength) LPCWSTR lpSrcString, _In_reads_(cwSrcLength) LPCWSTR lpSrcString,
_In_ int cwSrcLength, _In_ int cwSrcLength,
_Out_writes_opt_(cwDstLength) LPWSTR lpDstString, _Out_writes_opt_(cwDstLength) LPWSTR lpDstString,
_In_ int cwDstLength ); _In_ int cwDstLength );
WINNORMALIZEAPI WINNORMALIZEAPI
BOOL BOOL
WINAPI IsNormalizedString( _In_ NORM_FORM NormForm, WINAPI IsNormalizedString( _In_ NORM_FORM NormForm,
_In_reads_(cwLength) LPCWSTR lpString, _In_reads_(cwLength) LPCWSTR lpString,
_In_ int cwLength ); _In_ int cwLength );
#endif //(WINVER >= 0x0600)
#if (WINVER >= 0x0600)
// //
// IDN (International Domain Name) Functions // IDN (International Domain Name) Functions
// //
WINNORMALIZEAPI WINNORMALIZEAPI
int int
WINAPI IdnToAscii(_In_ DWORD dwFlags, WINAPI IdnToAscii(_In_ DWORD dwFlags,
_In_reads_(cchUnicodeChar) LPCWSTR lpUnicodeCharStr, _In_reads_(cchUnicodeChar) LPCWSTR lpUnicodeCharStr,
_In_ int cchUnicodeChar, _In_ int cchUnicodeChar,
_Out_writes_opt_(cchASCIIChar) LPWSTR lpASCIICharStr, _Out_writes_opt_(cchASCIIChar) LPWSTR lpASCIICharStr,
_In_ int cchASCIIChar); _In_ int cchASCIIChar);
#endif //(WINVER >= 0x0600)
#if (WINVER >= 0x0600)
WINNORMALIZEAPI WINNORMALIZEAPI
int int
WINAPI IdnToNameprepUnicode(_In_ DWORD dwFlags, WINAPI IdnToNameprepUnicode(_In_ DWORD dwFlags,
_In_reads_(cchUnicodeChar) LPCWSTR lpUnicode CharStr, _In_reads_(cchUnicodeChar) LPCWSTR lpUnicode CharStr,
_In_ int cchUnicod eChar, _In_ int cchUnicod eChar,
_Out_writes_opt_(cchNameprepChar) LPWSTR lpNamepr epCharStr, _Out_writes_opt_(cchNameprepChar) LPWSTR lpNamepr epCharStr,
_In_ int cchNamepr epChar); _In_ int cchNamepr epChar);
#endif //(WINVER >= 0x0600)
#if (WINVER >= 0x0600)
WINNORMALIZEAPI WINNORMALIZEAPI
int int
WINAPI IdnToUnicode(_In_ DWORD dwFlags, WINAPI IdnToUnicode(_In_ DWORD dwFlags,
_In_reads_(cchASCIIChar) LPCWSTR lpASCIICharStr, _In_reads_(cchASCIIChar) LPCWSTR lpASCIICharStr,
_In_ int cchASCIIChar, _In_ int cchASCIIChar,
_Out_writes_opt_(cchUnicodeChar) LPWSTR lpUnicodeCharStr, _Out_writes_opt_(cchUnicodeChar) LPWSTR lpUnicodeCharStr,
_In_ int cchUnicodeChar); _In_ int cchUnicodeChar);
#endif //(WINVER >= 0x0600)
#if (WINVER >= 0x0600)
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI VerifyScripts( WINAPI VerifyScripts(
_In_ DWORD dwFlags, // optional behavior flags _In_ DWORD dwFlags, // optional behavior flags
_In_ LPCWSTR lpLocaleScripts, // Locale list of scripts string _In_ LPCWSTR lpLocaleScripts, // Locale list of scripts string
_In_ int cchLocaleScripts, // size of locale script list string _In_ int cchLocaleScripts, // size of locale script list string
_In_ LPCWSTR lpTestScripts, // test scripts string _In_ LPCWSTR lpTestScripts, // test scripts string
_In_ int cchTestScripts); // size of test list string _In_ int cchTestScripts); // size of test list string
WINBASEAPI WINBASEAPI
int int
WINAPI GetStringScripts( WINAPI GetStringScripts(
_In_ DWORD dwFlags, // optional behavio r flags _In_ DWORD dwFlags, // optional behavio r flags
_In_ LPCWSTR lpString, // Unicode characte r input string _In_ LPCWSTR lpString, // Unicode characte r input string
_In_ int cchString, // size of input st ring _In_ int cchString, // size of input st ring
_Out_writes_opt_(cchScripts) LPWSTR lpScripts, // Script list outp ut string _Out_writes_opt_(cchScripts) LPWSTR lpScripts, // Script list outp ut string
_In_ int cchScripts); // size of output s tring _In_ int cchScripts); // size of output s tring
#endif //(WINVER >= 0x0600) #endif //(WINVER >= 0x0600)
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM ) */
#pragma endregion #pragma endregion
#if (WINVER >= 0x0600) #if (WINVER >= 0x0600)
#pragma region Application Family #pragma region Application Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM)
// //
// String based NLS APIs // String based NLS APIs
// //
#define LOCALE_NAME_USER_DEFAULT NULL #define LOCALE_NAME_USER_DEFAULT NULL
#define LOCALE_NAME_INVARIANT L"" #define LOCALE_NAME_INVARIANT L""
#define LOCALE_NAME_SYSTEM_DEFAULT L"!x-sys-default-locale" #define LOCALE_NAME_SYSTEM_DEFAULT L"!x-sys-default-locale"
WINBASEAPI WINBASEAPI
int int
WINAPI WINAPI
GetLocaleInfoEx( GetLocaleInfoEx(
_In_opt_ LPCWSTR lpLocaleName, _In_opt_ LPCWSTR lpLocaleName,
_In_ LCTYPE LCType, _In_ LCTYPE LCType,
_Out_writes_opt_(cchData) LPWSTR lpLCData, _Out_writes_opt_(cchData) LPWSTR lpLCData,
_In_ int cchData _In_ int cchData
); );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM
) */
#pragma endregion
#pragma region Desktop or PC Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_PC_APP |
WINAPI_PARTITION_SYSTEM)
WINBASEAPI WINBASEAPI
int int
WINAPI WINAPI
GetCalendarInfoEx( GetCalendarInfoEx(
_In_opt_ LPCWSTR lpLocaleName, _In_opt_ LPCWSTR lpLocaleName,
_In_ CALID Calendar, _In_ CALID Calendar,
_In_opt_ LPCWSTR lpReserved, _In_opt_ LPCWSTR lpReserved,
_In_ CALTYPE CalType, _In_ CALTYPE CalType,
_Out_writes_opt_(cchData) LPWSTR lpCalData, _Out_writes_opt_(cchData) LPWSTR lpCalData,
_In_ int cchData, _In_ int cchData,
_Out_opt_ LPDWORD lpValue _Out_opt_ LPDWORD lpValue
); );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_PC
_APP | WINAPI_PARTITION_SYSTEM) */
#pragma endregion
#pragma region Application Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
#ifndef GetDurationFormatEx_DEFINED
WINBASEAPI WINBASEAPI
int int
WINAPI WINAPI
GetDurationFormatEx( GetDurationFormatEx(
_In_opt_ LPCWSTR lpLocaleName, _In_opt_ LPCWSTR lpLocaleName,
_In_ DWORD dwFlags, _In_ DWORD dwFlags,
_In_opt_ CONST SYSTEMTIME *lpDuration, _In_opt_ CONST SYSTEMTIME *lpDuration,
_In_ ULONGLONG ullDuration, _In_ ULONGLONG ullDuration,
_In_opt_ LPCWSTR lpFormat, _In_opt_ LPCWSTR lpFormat,
_Out_writes_opt_(cchDuration) LPWSTR lpDurationStr, _Out_writes_opt_(cchDuration) LPWSTR lpDurationStr,
_In_ int cchDuration _In_ int cchDuration
); );
#endif
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
#pragma endregion
#pragma region Application Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM)
WINBASEAPI WINBASEAPI
int int
WINAPI WINAPI
GetNumberFormatEx( GetNumberFormatEx(
_In_opt_ LPCWSTR lpLocaleName, _In_opt_ LPCWSTR lpLocaleName,
_In_ DWORD dwFlags, _In_ DWORD dwFlags,
_In_ LPCWSTR lpValue, _In_ LPCWSTR lpValue,
_In_opt_ CONST NUMBERFMTW *lpFormat, _In_opt_ CONST NUMBERFMTW *lpFormat,
_Out_writes_opt_(cchNumber) LPWSTR lpNumberStr, _Out_writes_opt_(cchNumber) LPWSTR lpNumberStr,
skipping to change at line 2394 skipping to change at line 2567
); );
WINBASEAPI WINBASEAPI
int int
WINAPI WINAPI
GetUserDefaultLocaleName( GetUserDefaultLocaleName(
_Out_writes_(cchLocaleName) LPWSTR lpLocaleName, _Out_writes_(cchLocaleName) LPWSTR lpLocaleName,
_In_ int cchLocaleName _In_ int cchLocaleName
); );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM
) */
#pragma endregion
#pragma region Desktop or PC Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_PC_APP |
WINAPI_PARTITION_SYSTEM)
WINBASEAPI WINBASEAPI
int int
WINAPI WINAPI
GetSystemDefaultLocaleName( GetSystemDefaultLocaleName(
_Out_writes_(cchLocaleName) LPWSTR lpLocaleName, _Out_writes_(cchLocaleName) LPWSTR lpLocaleName,
_In_ int cchLocaleName _In_ int cchLocaleName
); );
WINBASEAPI WINBASEAPI
BOOL BOOL
skipping to change at line 2422 skipping to change at line 2601
WINBASEAPI WINBASEAPI
DWORD DWORD
WINAPI WINAPI
IsValidNLSVersion( IsValidNLSVersion(
_In_ NLS_FUNCTION function, _In_ NLS_FUNCTION function,
_In_opt_ LPCWSTR lpLocaleName, _In_opt_ LPCWSTR lpLocaleName,
_In_ LPNLSVERSIONINFOEX lpVersionInformation _In_ LPNLSVERSIONINFOEX lpVersionInformation
); );
#endif #endif
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_PC
_APP | WINAPI_PARTITION_SYSTEM) */
#pragma endregion
#pragma region Application Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM)
WINBASEAPI WINBASEAPI
int int
WINAPI WINAPI
FindNLSStringEx( FindNLSStringEx(
_In_opt_ LPCWSTR lpLocaleName, _In_opt_ LPCWSTR lpLocaleName,
_In_ DWORD dwFindNLSStringFlags, _In_ DWORD dwFindNLSStringFlags,
_In_reads_(cchSource) LPCWSTR lpStringSource, _In_reads_(cchSource) LPCWSTR lpStringSource,
_In_ int cchSource, _In_ int cchSource,
_In_reads_(cchValue) LPCWSTR lpStringValue, _In_reads_(cchValue) LPCWSTR lpStringValue,
_In_ int cchValue, _In_ int cchValue,
skipping to change at line 2466 skipping to change at line 2651
_In_opt_ LPVOID lpReserved, _In_opt_ LPVOID lpReserved,
_In_opt_ LPARAM sortHandle _In_opt_ LPARAM sortHandle
); );
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
IsValidLocaleName( IsValidLocaleName(
_In_ LPCWSTR lpLocaleName _In_ LPCWSTR lpLocaleName
); );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM
) */
#pragma endregion
#pragma region Desktop or PC Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_PC_APP |
WINAPI_PARTITION_SYSTEM)
typedef BOOL (CALLBACK* CALINFO_ENUMPROCEXEX)(LPWSTR, CALID, LPWSTR, LPARAM); typedef BOOL (CALLBACK* CALINFO_ENUMPROCEXEX)(LPWSTR, CALID, LPWSTR, LPARAM);
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
EnumCalendarInfoExEx( EnumCalendarInfoExEx(
_In_ CALINFO_ENUMPROCEXEX pCalInfoEnumProcExEx, _In_ CALINFO_ENUMPROCEXEX pCalInfoEnumProcExEx,
_In_opt_ LPCWSTR lpLocaleName, _In_opt_ LPCWSTR lpLocaleName,
_In_ CALID Calendar, _In_ CALID Calendar,
skipping to change at line 2517 skipping to change at line 2707
WINBASEAPI WINBASEAPI
BOOL BOOL
WINAPI WINAPI
EnumSystemLocalesEx( EnumSystemLocalesEx(
_In_ LOCALE_ENUMPROCEX lpLocaleEnumProcEx, _In_ LOCALE_ENUMPROCEX lpLocaleEnumProcEx,
_In_ DWORD dwFlags, _In_ DWORD dwFlags,
_In_ LPARAM lParam, _In_ LPARAM lParam,
_In_opt_ LPVOID lpReserved _In_opt_ LPVOID lpReserved
); );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP | WINAPI_PARTITION_PC _APP | WINAPI_PARTITION_SYSTEM) */
#pragma endregion #pragma endregion
#endif //(WINVER >= 0x0600) #endif //(WINVER >= 0x0600)
#if (WINVER >= _WIN32_WINNT_WIN7) #if (WINVER >= _WIN32_WINNT_WIN7)
#pragma region Application Family #pragma region Application Family or OneCore Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM)
WINBASEAPI WINBASEAPI
int int
WINAPI WINAPI
ResolveLocaleName( ResolveLocaleName(
_In_opt_ LPCWSTR lpNameToResolve, _In_opt_ LPCWSTR lpNameToResolve,
_Out_writes_opt_(cchLocaleName) LPWSTR lpLocaleName, _Out_writes_opt_(cchLocaleName) LPWSTR lpLocaleName,
_In_ int cchLocaleName _In_ int cchLocaleName
); );
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP | WINAPI_PARTITION_SYSTEM ) */
#pragma endregion #pragma endregion
#endif // (WINVER >= _WIN32_WINNT_WIN7) #endif // (WINVER >= _WIN32_WINNT_WIN7)
#pragma region Desktop Family #pragma region Desktop Family
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) #if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */ #endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) */
#pragma endregion #pragma endregion
#endif // NONLS #endif // NONLS
#if _MSC_VER >= 1200
#pragma warning(pop)
#endif
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif
#endif // _WINNLS_ #endif // _WINNLS_
 End of changes. 58 change blocks. 
37 lines changed or deleted 256 lines changed or added

This html diff was produced by rfcdiff 1.41.