#pragma once #pragma once #pragma warning(push) #pragma warning(disable:4668) #pragma warning(disable:4001) #pragma once #pragma warning(pop) #pragma once #pragma once #pragma once #pragma once #pragma once #pragma region Input Buffer SAL 1 compatibility macros #pragma endregion Input Buffer SAL 1 compatibility macros extern "C" { } #pragma once extern "C" { } #pragma once #pragma pack(push, 8) #pragma warning(push) #pragma warning(disable: 4514 4820) extern "C" { typedef unsigned __int64 uintptr_t; typedef char* va_list; void __cdecl __va_start(va_list* , ...); } extern "C++" { template struct __vcrt_va_list_is_reference { enum : bool { __the_value = false }; }; template struct __vcrt_va_list_is_reference<_Ty&> { enum : bool { __the_value = true }; }; template struct __vcrt_va_list_is_reference<_Ty&&> { enum : bool { __the_value = true }; }; template struct __vcrt_assert_va_start_is_not_reference { static_assert(!__vcrt_va_list_is_reference<_Ty>::__the_value, "va_start argument must not have reference type and must not be parenthesized"); }; } #pragma warning(pop) #pragma pack(pop) #pragma warning(push) #pragma warning(disable: 4514 4820) __pragma(pack(push, 8)) extern "C" { typedef unsigned __int64 size_t; typedef __int64 ptrdiff_t; typedef __int64 intptr_t; typedef bool __vcrt_bool; extern "C++" { template char (*__countof_helper(__unaligned _CountofType (&_Array)[_SizeOfArray]))[_SizeOfArray]; } void __cdecl __security_init_cookie(void); void __cdecl __security_check_cookie( uintptr_t _StackCookie); __declspec(noreturn) void __cdecl __report_gsfailure( uintptr_t _StackCookie); extern uintptr_t __security_cookie; } __pragma(pack(pop)) #pragma warning(pop) #pragma warning(push) #pragma warning(disable: 4324 4514 4574 4710 4793 4820 4995 4996 28719 28726 28727) __pragma(pack(push, 8)) extern "C" { extern "C++" { template struct _CrtEnableIf; template struct _CrtEnableIf { typedef _Ty _Type; }; } typedef bool __crt_bool; __declspec(dllimport) void __cdecl _invalid_parameter_noinfo(void); __declspec(dllimport) __declspec(noreturn) void __cdecl _invalid_parameter_noinfo_noreturn(void); __declspec(noreturn) __declspec(dllimport) void __cdecl _invoke_watson( wchar_t const* _Expression, wchar_t const* _FunctionName, wchar_t const* _FileName, unsigned int _LineNo, uintptr_t _Reserved); typedef int errno_t; typedef unsigned short wint_t; typedef unsigned short wctype_t; typedef long __time32_t; typedef __int64 __time64_t; typedef struct __crt_locale_data_public { unsigned short const* _locale_pctype; int _locale_mb_cur_max; unsigned int _locale_lc_codepage; } __crt_locale_data_public; typedef struct __crt_locale_pointers { struct __crt_locale_data* locinfo; struct __crt_multibyte_data* mbcinfo; } __crt_locale_pointers; typedef __crt_locale_pointers* _locale_t; typedef struct _Mbstatet { unsigned long _Wchar; unsigned short _Byte, _State; } _Mbstatet; typedef _Mbstatet mbstate_t; typedef __time64_t time_t; typedef size_t rsize_t; } __pragma(pack(pop)) #pragma warning(pop) #pragma once #pragma once #pragma warning(push) #pragma warning(disable: 4514 4820) #pragma warning(disable: 4985) extern "C++" { #pragma pack(push, 8) namespace std { struct nothrow_t { explicit nothrow_t() = default; }; extern nothrow_t const nothrow; } [[nodiscard]] __declspec(allocator) void* __cdecl operator new( size_t _Size ); [[nodiscard]] __declspec(allocator) void* __cdecl operator new( size_t _Size, std::nothrow_t const& ) noexcept; [[nodiscard]] __declspec(allocator) void* __cdecl operator new[]( size_t _Size ); [[nodiscard]] __declspec(allocator) void* __cdecl operator new[]( size_t _Size, std::nothrow_t const& ) noexcept; void __cdecl operator delete( void* _Block ) noexcept; void __cdecl operator delete( void* _Block, std::nothrow_t const& ) noexcept; void __cdecl operator delete[]( void* _Block ) noexcept; void __cdecl operator delete[]( void* _Block, std::nothrow_t const& ) noexcept; void __cdecl operator delete( void* _Block, size_t _Size ) noexcept; void __cdecl operator delete[]( void* _Block, size_t _Size ) noexcept; #pragma warning(push) #pragma warning(disable: 4577) #pragma warning(disable: 4514) [[nodiscard]] inline void* __cdecl operator new(size_t _Size, void* _Where) noexcept { (void)_Size; return _Where; } inline void __cdecl operator delete(void*, void*) noexcept { return; } [[nodiscard]] inline void* __cdecl operator new[](size_t _Size, void* _Where) noexcept { (void)_Size; return _Where; } inline void __cdecl operator delete[](void*, void*) noexcept { } #pragma warning(pop) #pragma pack(pop) } #pragma warning(pop) #pragma warning(push) #pragma warning(disable: 4514 4820) extern "C++" { #pragma pack(push, 8) [[nodiscard]] __declspec(allocator) void* __cdecl operator new( size_t _Size, int _BlockUse, char const* _FileName, int _LineNumber ); [[nodiscard]] __declspec(allocator) void* __cdecl operator new[]( size_t _Size, int _BlockUse, char const* _FileName, int _LineNumber ); void __cdecl operator delete( void* _Block, int _BlockUse, char const* _FileName, int _LineNumber ) noexcept; void __cdecl operator delete[]( void* _Block, int _BlockUse, char const* _FileName, int _LineNumber ) noexcept; #pragma pack(pop) } #pragma warning(pop) namespace std { typedef void (__cdecl* new_handler)(); new_handler __cdecl set_new_handler( new_handler _NewHandler) throw(); } using std::new_handler; using std::set_new_handler; #pragma warning(push) #pragma warning(disable: 4324 4514 4574 4710 4793 4820 4995 4996 28719 28726 28727) __pragma(pack(push, 8)) extern "C" { typedef int (__cdecl* _PNH)(size_t); _PNH __cdecl _query_new_handler(void); _PNH __cdecl _set_new_handler( _PNH _NewHandler); __declspec(dllimport) int __cdecl _query_new_mode(void); __declspec(dllimport) int __cdecl _set_new_mode( int _NewMode); } __pragma(pack(pop)) #pragma warning(pop) #pragma once #pragma component(browser, off, references, "ASSERT") #pragma component(browser, off, references, "AfxAssertFailedLine") #pragma component(browser, off, references, "AfxDebugBreak") #pragma component(browser, off, references, "BOOL") #pragma component(browser, off, references, "BYTE") #pragma component(browser, off, references, "DECLSPEC_IMPORT") #pragma component(browser, off, references, "DWORD") #pragma component(browser, off, references, "FALSE") #pragma component(browser, off, references, "FAR") #pragma component(browser, off, references, "LPSTR") #pragma component(browser, off, references, "LPTSTR") #pragma component(browser, off, references, "LPCSTR") #pragma component(browser, off, references, "LPCTSTR") #pragma component(browser, off, references, "NULL") #pragma component(browser, off, references, "PASCAL") #pragma component(browser, off, references, "THIS_FILE") #pragma component(browser, off, references, "TRUE") #pragma component(browser, off, references, "UINT") #pragma component(browser, off, references, "WINAPI") #pragma component(browser, off, references, "WORD") #pragma once #pragma once #pragma warning(push) #pragma warning(disable:4001) #pragma once #pragma warning(push) #pragma warning(disable:4001) #pragma once #pragma warning(pop) #pragma warning(pop) #pragma region Desktop Family #pragma endregion #pragma warning(push) #pragma warning(disable: 4311 4312) #pragma warning(disable: 4201) #pragma pack(push, 8) #pragma once #pragma region Application Family or OneCore Family #pragma warning(disable:4514) #pragma warning(disable:4103) #pragma warning(push) #pragma warning(disable:4001) #pragma warning(disable:4201) #pragma warning(disable:4214) #pragma once #pragma warning(push) #pragma warning(disable: 4514 4820) __pragma(pack(push, 8)) extern "C" { typedef enum _EXCEPTION_DISPOSITION { ExceptionContinueExecution, ExceptionContinueSearch, ExceptionNestedException, ExceptionCollidedUnwind } EXCEPTION_DISPOSITION; struct _EXCEPTION_RECORD; struct _CONTEXT; struct _DISPATCHER_CONTEXT; EXCEPTION_DISPOSITION __cdecl __C_specific_handler( struct _EXCEPTION_RECORD* ExceptionRecord, void* EstablisherFrame, struct _CONTEXT* ContextRecord, struct _DISPATCHER_CONTEXT* DispatcherContext ); unsigned long __cdecl _exception_code(void); void * __cdecl _exception_info(void); int __cdecl _abnormal_termination(void); } __pragma(pack(pop)) #pragma warning(pop) #pragma once #pragma warning(push) #pragma warning(disable: 4514 4820) __pragma(pack(push, 8)) extern "C" { } __pragma(pack(pop)) #pragma warning(pop) #pragma once extern "C" { #pragma once #pragma once #pragma warning(push) #pragma warning(disable:4668) extern "C" { } #pragma once #pragma once extern "C" { } #pragma warning(pop) #pragma region Application Family or OneCore Family or Games Family extern "C" { typedef unsigned long ULONG; typedef ULONG *PULONG; typedef unsigned short USHORT; typedef USHORT *PUSHORT; typedef unsigned char UCHAR; typedef UCHAR *PUCHAR; typedef char *PSZ; typedef unsigned long DWORD; typedef int BOOL; typedef unsigned char BYTE; typedef unsigned short WORD; typedef float FLOAT; typedef FLOAT *PFLOAT; typedef BOOL *PBOOL; typedef BOOL *LPBOOL; typedef BYTE *PBYTE; typedef BYTE *LPBYTE; typedef int *PINT; typedef int *LPINT; typedef WORD *PWORD; typedef WORD *LPWORD; typedef long *LPLONG; typedef DWORD *PDWORD; typedef DWORD *LPDWORD; typedef void *LPVOID; typedef const void *LPCVOID; typedef int INT; typedef unsigned int UINT; typedef unsigned int *PUINT; #pragma warning(push) #pragma warning(disable:4668) #pragma warning(disable:4820) #pragma warning(disable:4200) #pragma warning(disable:4201) #pragma warning(disable:4214) extern "C" { #pragma once #pragma once #pragma warning(push) #pragma warning(disable: 4324 4514 4574 4710 4793 4820 4995 4996 28719 28726 28727) __pragma(pack(push, 8)) extern "C" { __declspec(dllimport) const unsigned short* __cdecl __pctype_func(void); __declspec(dllimport) const wctype_t* __cdecl __pwctype_func(void); __declspec(dllimport) int __cdecl iswalnum ( wint_t _C); __declspec(dllimport) int __cdecl iswalpha ( wint_t _C); __declspec(dllimport) int __cdecl iswascii ( wint_t _C); __declspec(dllimport) int __cdecl iswblank ( wint_t _C); __declspec(dllimport) int __cdecl iswcntrl ( wint_t _C); __declspec(dllimport) int __cdecl iswdigit ( wint_t _C); __declspec(dllimport) int __cdecl iswgraph ( wint_t _C); __declspec(dllimport) int __cdecl iswlower ( wint_t _C); __declspec(dllimport) int __cdecl iswprint ( wint_t _C); __declspec(dllimport) int __cdecl iswpunct ( wint_t _C); __declspec(dllimport) int __cdecl iswspace ( wint_t _C); __declspec(dllimport) int __cdecl iswupper ( wint_t _C); __declspec(dllimport) int __cdecl iswxdigit ( wint_t _C); __declspec(dllimport) int __cdecl __iswcsymf( wint_t _C); __declspec(dllimport) int __cdecl __iswcsym ( wint_t _C); __declspec(dllimport) int __cdecl _iswalnum_l ( wint_t _C, _locale_t _Locale); __declspec(dllimport) int __cdecl _iswalpha_l ( wint_t _C, _locale_t _Locale); __declspec(dllimport) int __cdecl _iswblank_l ( wint_t _C, _locale_t _Locale); __declspec(dllimport) int __cdecl _iswcntrl_l ( wint_t _C, _locale_t _Locale); __declspec(dllimport) int __cdecl _iswdigit_l ( wint_t _C, _locale_t _Locale); __declspec(dllimport) int __cdecl _iswgraph_l ( wint_t _C, _locale_t _Locale); __declspec(dllimport) int __cdecl _iswlower_l ( wint_t _C, _locale_t _Locale); __declspec(dllimport) int __cdecl _iswprint_l ( wint_t _C, _locale_t _Locale); __declspec(dllimport) int __cdecl _iswpunct_l ( wint_t _C, _locale_t _Locale); __declspec(dllimport) int __cdecl _iswspace_l ( wint_t _C, _locale_t _Locale); __declspec(dllimport) int __cdecl _iswupper_l ( wint_t _C, _locale_t _Locale); __declspec(dllimport) int __cdecl _iswxdigit_l( wint_t _C, _locale_t _Locale); __declspec(dllimport) int __cdecl _iswcsymf_l ( wint_t _C, _locale_t _Locale); __declspec(dllimport) int __cdecl _iswcsym_l ( wint_t _C, _locale_t _Locale); __declspec(dllimport) wint_t __cdecl towupper( wint_t _C); __declspec(dllimport) wint_t __cdecl towlower( wint_t _C); __declspec(dllimport) int __cdecl iswctype( wint_t _C, wctype_t _Type); __declspec(dllimport) wint_t __cdecl _towupper_l( wint_t _C, _locale_t _Locale); __declspec(dllimport) wint_t __cdecl _towlower_l( wint_t _C, _locale_t _Locale); __declspec(dllimport) int __cdecl _iswctype_l( wint_t _C, wctype_t _Type, _locale_t _Locale); __declspec(dllimport) int __cdecl isleadbyte( int _C); __declspec(dllimport) int __cdecl _isleadbyte_l( int _C, _locale_t _Locale); __declspec(deprecated("This function or variable has been superceded by newer library " "or operating system functionality. Consider using " "iswctype" " " "instead. See online help for details.")) __declspec(dllimport) int __cdecl is_wctype( wint_t _C, wctype_t _Type); } __pragma(pack(pop)) #pragma warning(pop) #pragma warning(push) #pragma warning(disable: 4324 4514 4574 4710 4793 4820 4995 4996 28719 28726 28727) __pragma(pack(push, 8)) extern "C" { __declspec(dllimport) int __cdecl _isctype( int _C, int _Type); __declspec(dllimport) int __cdecl _isctype_l( int _C, int _Type, _locale_t _Locale); __declspec(dllimport) int __cdecl isalpha( int _C); __declspec(dllimport) int __cdecl _isalpha_l( int _C, _locale_t _Locale); __declspec(dllimport) int __cdecl isupper( int _C); __declspec(dllimport) int __cdecl _isupper_l( int _C, _locale_t _Locale); __declspec(dllimport) int __cdecl islower( int _C); __declspec(dllimport) int __cdecl _islower_l( int _C, _locale_t _Locale); __declspec(dllimport) int __cdecl isdigit( int _C); __declspec(dllimport) int __cdecl _isdigit_l( int _C, _locale_t _Locale); __declspec(dllimport) int __cdecl isxdigit( int _C); __declspec(dllimport) int __cdecl _isxdigit_l( int _C, _locale_t _Locale); __declspec(dllimport) int __cdecl isspace( int _C); __declspec(dllimport) int __cdecl _isspace_l( int _C, _locale_t _Locale); __declspec(dllimport) int __cdecl ispunct( int _C); __declspec(dllimport) int __cdecl _ispunct_l( int _C, _locale_t _Locale); __declspec(dllimport) int __cdecl isblank( int _C); __declspec(dllimport) int __cdecl _isblank_l( int _C, _locale_t _Locale); __declspec(dllimport) int __cdecl isalnum( int _C); __declspec(dllimport) int __cdecl _isalnum_l( int _C, _locale_t _Locale); __declspec(dllimport) int __cdecl isprint( int _C); __declspec(dllimport) int __cdecl _isprint_l( int _C, _locale_t _Locale); __declspec(dllimport) int __cdecl isgraph( int _C); __declspec(dllimport) int __cdecl _isgraph_l( int _C, _locale_t _Locale); __declspec(dllimport) int __cdecl iscntrl( int _C); __declspec(dllimport) int __cdecl _iscntrl_l( int _C, _locale_t _Locale); __declspec(dllimport) int __cdecl toupper( int _C); __declspec(dllimport) int __cdecl tolower( int _C); __declspec(dllimport) int __cdecl _tolower( int _C); __declspec(dllimport) int __cdecl _tolower_l( int _C, _locale_t _Locale); __declspec(dllimport) int __cdecl _toupper( int _C); __declspec(dllimport) int __cdecl _toupper_l( int _C, _locale_t _Locale); __declspec(dllimport) int __cdecl __isascii( int _C); __declspec(dllimport) int __cdecl __toascii( int _C); __declspec(dllimport) int __cdecl __iscsymf( int _C); __declspec(dllimport) int __cdecl __iscsym( int _C); __inline int __cdecl __acrt_locale_get_ctype_array_value( unsigned short const * const _Locale_pctype_array, int const _Char_value, int const _Mask ) { if (_Char_value >= -1 && _Char_value <= 255) { return _Locale_pctype_array[_Char_value] & _Mask; } return 0; } __declspec(dllimport) int __cdecl ___mb_cur_max_func(void); __declspec(dllimport) int __cdecl ___mb_cur_max_l_func(_locale_t _Locale); __forceinline int __cdecl __ascii_tolower(int const _C) { if (_C >= 'A' && _C <= 'Z') { return _C - ('A' - 'a'); } return _C; } __forceinline int __cdecl __ascii_toupper(int const _C) { if (_C >= 'a' && _C <= 'z') { return _C - ('a' - 'A'); } return _C; } __forceinline int __cdecl __ascii_iswalpha(int const _C) { return (_C >= 'A' && _C <= 'Z') || (_C >= 'a' && _C <= 'z'); } __forceinline int __cdecl __ascii_iswdigit(int const _C) { return _C >= '0' && _C <= '9'; } __forceinline int __cdecl __ascii_towlower(int const _C) { return __ascii_tolower(_C); } __forceinline int __cdecl __ascii_towupper(int const _C) { return __ascii_toupper(_C); } __inline __crt_locale_data_public* __cdecl __acrt_get_locale_data_prefix(void const volatile* const _LocalePointers) { _locale_t const _TypedLocalePointers = (_locale_t)_LocalePointers; return (__crt_locale_data_public*)_TypedLocalePointers->locinfo; } __inline int __cdecl _chvalidchk_l( int const _C, int const _Mask, _locale_t const _Locale ) { if (_Locale) { return __acrt_locale_get_ctype_array_value(__acrt_get_locale_data_prefix(_Locale)->_locale_pctype, _C, _Mask); } return (__acrt_locale_get_ctype_array_value(__pctype_func(), (_C), (_Mask))); } __inline int __cdecl _ischartype_l( int const _C, int const _Mask, _locale_t const _Locale ) { if (_Locale) { if (_C >= -1 && _C <= 255) { return __acrt_get_locale_data_prefix(_Locale)->_locale_pctype[_C] & _Mask; } if (__acrt_get_locale_data_prefix(_Locale)->_locale_mb_cur_max > 1) { return _isctype_l(_C, _Mask, _Locale); } return 0; } return _chvalidchk_l(_C, _Mask, 0); } } __pragma(pack(pop)) #pragma warning(pop) #pragma warning(disable:4845) #pragma once extern "C" { } #pragma warning(push) #pragma warning(disable:4668) typedef unsigned __int64 POINTER_64_INT; #pragma once extern "C" { typedef signed char INT8, *PINT8; typedef signed short INT16, *PINT16; typedef signed int INT32, *PINT32; typedef signed __int64 INT64, *PINT64; typedef unsigned char UINT8, *PUINT8; typedef unsigned short UINT16, *PUINT16; typedef unsigned int UINT32, *PUINT32; typedef unsigned __int64 UINT64, *PUINT64; typedef signed int LONG32, *PLONG32; typedef unsigned int ULONG32, *PULONG32; typedef unsigned int DWORD32, *PDWORD32; typedef __int64 INT_PTR, *PINT_PTR; typedef unsigned __int64 UINT_PTR, *PUINT_PTR; typedef __int64 LONG_PTR, *PLONG_PTR; typedef unsigned __int64 ULONG_PTR, *PULONG_PTR; typedef __int64 SHANDLE_PTR; typedef unsigned __int64 HANDLE_PTR; typedef unsigned int UHALF_PTR, *PUHALF_PTR; typedef int HALF_PTR, *PHALF_PTR; __inline unsigned long HandleToULong( const void *h ) { return((unsigned long) (ULONG_PTR) h ); } __inline long HandleToLong( const void *h ) { return((long) (LONG_PTR) h ); } __inline void * ULongToHandle( const unsigned long h ) { return((void *) (UINT_PTR) h ); } __inline void * LongToHandle( const long h ) { return((void *) (INT_PTR) h ); } __inline unsigned long PtrToUlong( const void *p ) { return((unsigned long) (ULONG_PTR) p ); } __inline unsigned int PtrToUint( const void *p ) { return((unsigned int) (UINT_PTR) p ); } __inline unsigned short PtrToUshort( const void *p ) { return((unsigned short) (unsigned long) (ULONG_PTR) p ); } __inline long PtrToLong( const void *p ) { return((long) (LONG_PTR) p ); } __inline int PtrToInt( const void *p ) { return((int) (INT_PTR) p ); } __inline short PtrToShort( const void *p ) { return((short) (long) (LONG_PTR) p ); } __inline void * IntToPtr( const int i ) { return( (void *)(INT_PTR)i ); } __inline void * UIntToPtr( const unsigned int ui ) { return( (void *)(UINT_PTR)ui ); } __inline void * LongToPtr( const long l ) { return( (void *)(LONG_PTR)l ); } __inline void * ULongToPtr( const unsigned long ul ) { return( (void *)(ULONG_PTR)ul ); } __inline void * Ptr32ToPtr( const void * __ptr32 p ) { return((void *) (ULONG_PTR) (unsigned long) p); } __inline void * Handle32ToHandle( const void * __ptr32 h ) { return((void *) (LONG_PTR) (long) h); } __inline void * __ptr32 PtrToPtr32( const void *p ) { return((void * __ptr32) (unsigned long) (ULONG_PTR) p); } typedef ULONG_PTR SIZE_T, *PSIZE_T; typedef LONG_PTR SSIZE_T, *PSSIZE_T; typedef ULONG_PTR DWORD_PTR, *PDWORD_PTR; typedef __int64 LONG64, *PLONG64; typedef unsigned __int64 ULONG64, *PULONG64; typedef unsigned __int64 DWORD64, *PDWORD64; typedef ULONG_PTR KAFFINITY; typedef KAFFINITY *PKAFFINITY; } #pragma warning(pop) typedef void *PVOID; typedef void * __ptr64 PVOID64; typedef char CHAR; typedef short SHORT; typedef long LONG; typedef int INT; typedef wchar_t WCHAR; typedef WCHAR *PWCHAR, *LPWCH, *PWCH; typedef const WCHAR *LPCWCH, *PCWCH; typedef WCHAR *NWPSTR, *LPWSTR, *PWSTR; typedef PWSTR *PZPWSTR; typedef const PWSTR *PCZPWSTR; typedef WCHAR __unaligned *LPUWSTR, *PUWSTR; typedef const WCHAR *LPCWSTR, *PCWSTR; typedef PCWSTR *PZPCWSTR; typedef const PCWSTR *PCZPCWSTR; typedef const WCHAR __unaligned *LPCUWSTR, *PCUWSTR; typedef WCHAR *PZZWSTR; typedef const WCHAR *PCZZWSTR; typedef WCHAR __unaligned *PUZZWSTR; typedef const WCHAR __unaligned *PCUZZWSTR; typedef WCHAR *PNZWCH; typedef const WCHAR *PCNZWCH; typedef WCHAR __unaligned *PUNZWCH; typedef const WCHAR __unaligned *PCUNZWCH; typedef const WCHAR *LPCWCHAR, *PCWCHAR; typedef const WCHAR __unaligned *LPCUWCHAR, *PCUWCHAR; typedef unsigned long UCSCHAR; typedef UCSCHAR *PUCSCHAR; typedef const UCSCHAR *PCUCSCHAR; typedef UCSCHAR *PUCSSTR; typedef UCSCHAR __unaligned *PUUCSSTR; typedef const UCSCHAR *PCUCSSTR; typedef const UCSCHAR __unaligned *PCUUCSSTR; typedef UCSCHAR __unaligned *PUUCSCHAR; typedef const UCSCHAR __unaligned *PCUUCSCHAR; typedef CHAR *PCHAR, *LPCH, *PCH; typedef const CHAR *LPCCH, *PCCH; typedef CHAR *NPSTR, *LPSTR, *PSTR; typedef PSTR *PZPSTR; typedef const PSTR *PCZPSTR; typedef const CHAR *LPCSTR, *PCSTR; typedef PCSTR *PZPCSTR; typedef const PCSTR *PCZPCSTR; typedef CHAR *PZZSTR; typedef const CHAR *PCZZSTR; typedef CHAR *PNZCH; typedef const CHAR *PCNZCH; typedef WCHAR TCHAR, *PTCHAR; typedef WCHAR TBYTE , *PTBYTE ; typedef LPWCH LPTCH, PTCH; typedef LPCWCH LPCTCH, PCTCH; typedef LPWSTR PTSTR, LPTSTR; typedef LPCWSTR PCTSTR, LPCTSTR; typedef LPUWSTR PUTSTR, LPUTSTR; typedef LPCUWSTR PCUTSTR, LPCUTSTR; typedef LPWSTR LP; typedef PZZWSTR PZZTSTR; typedef PCZZWSTR PCZZTSTR; typedef PUZZWSTR PUZZTSTR; typedef PCUZZWSTR PCUZZTSTR; typedef PZPWSTR PZPTSTR; typedef PNZWCH PNZTCH; typedef PCNZWCH PCNZTCH; typedef PUNZWCH PUNZTCH; typedef PCUNZWCH PCUNZTCH; typedef SHORT *PSHORT; typedef LONG *PLONG; typedef struct _PROCESSOR_NUMBER { WORD Group; BYTE Number; BYTE Reserved; } PROCESSOR_NUMBER, *PPROCESSOR_NUMBER; typedef struct _GROUP_AFFINITY { KAFFINITY Mask; WORD Group; WORD Reserved[3]; } GROUP_AFFINITY, *PGROUP_AFFINITY; typedef void *HANDLE; typedef HANDLE *PHANDLE; typedef BYTE FCHAR; typedef WORD FSHORT; typedef DWORD FLONG; typedef long HRESULT; typedef char CCHAR; typedef DWORD LCID; typedef PDWORD PLCID; typedef WORD LANGID; typedef enum { UNSPECIFIED_COMPARTMENT_ID = 0, DEFAULT_COMPARTMENT_ID } COMPARTMENT_ID, *PCOMPARTMENT_ID; typedef struct _FLOAT128 { __int64 LowPart; __int64 HighPart; } FLOAT128; typedef FLOAT128 *PFLOAT128; typedef __int64 LONGLONG; typedef unsigned __int64 ULONGLONG; typedef LONGLONG *PLONGLONG; typedef ULONGLONG *PULONGLONG; typedef LONGLONG USN; typedef union _LARGE_INTEGER { struct { DWORD LowPart; LONG HighPart; } ; struct { DWORD LowPart; LONG HighPart; } u; LONGLONG QuadPart; } LARGE_INTEGER; typedef LARGE_INTEGER *PLARGE_INTEGER; typedef union _ULARGE_INTEGER { struct { DWORD LowPart; DWORD HighPart; } ; struct { DWORD LowPart; DWORD HighPart; } u; ULONGLONG QuadPart; } ULARGE_INTEGER; typedef ULARGE_INTEGER *PULARGE_INTEGER; typedef LONG_PTR RTL_REFERENCE_COUNT, *PRTL_REFERENCE_COUNT; typedef LONG RTL_REFERENCE_COUNT32, *PRTL_REFERENCE_COUNT32; typedef struct _LUID { DWORD LowPart; LONG HighPart; } LUID, *PLUID; typedef ULONGLONG DWORDLONG; typedef DWORDLONG *PDWORDLONG; extern "C" { unsigned char __cdecl _rotl8 ( unsigned char Value, unsigned char Shift ); unsigned short __cdecl _rotl16 ( unsigned short Value, unsigned char Shift ); unsigned char __cdecl _rotr8 ( unsigned char Value, unsigned char Shift ); unsigned short __cdecl _rotr16 ( unsigned short Value, unsigned char Shift ); #pragma intrinsic(_rotl8) #pragma intrinsic(_rotl16) #pragma intrinsic(_rotr8) #pragma intrinsic(_rotr16) unsigned int __cdecl _rotl ( unsigned int Value, int Shift ); unsigned __int64 __cdecl _rotl64 ( unsigned __int64 Value, int Shift ); unsigned int __cdecl _rotr ( unsigned int Value, int Shift ); unsigned __int64 __cdecl _rotr64 ( unsigned __int64 Value, int Shift ); #pragma intrinsic(_rotl) #pragma intrinsic(_rotl64) #pragma intrinsic(_rotr) #pragma intrinsic(_rotr64) } typedef BYTE BOOLEAN; typedef BOOLEAN *PBOOLEAN; typedef struct _LIST_ENTRY { struct _LIST_ENTRY *Flink; struct _LIST_ENTRY *Blink; } LIST_ENTRY, *PLIST_ENTRY, * PRLIST_ENTRY; typedef struct _SINGLE_LIST_ENTRY { struct _SINGLE_LIST_ENTRY *Next; } SINGLE_LIST_ENTRY, *PSINGLE_LIST_ENTRY; typedef struct LIST_ENTRY32 { DWORD Flink; DWORD Blink; } LIST_ENTRY32; typedef LIST_ENTRY32 *PLIST_ENTRY32; typedef struct LIST_ENTRY64 { ULONGLONG Flink; ULONGLONG Blink; } LIST_ENTRY64; typedef LIST_ENTRY64 *PLIST_ENTRY64; typedef struct _GUID { unsigned long Data1; unsigned short Data2; unsigned short Data3; unsigned char Data4[ 8 ]; } GUID; typedef GUID *LPGUID; typedef const GUID *LPCGUID; typedef GUID IID; typedef IID *LPIID; typedef GUID CLSID; typedef CLSID *LPCLSID; typedef GUID FMTID; typedef FMTID *LPFMTID; #pragma once #pragma once #pragma once #pragma once #pragma warning(push) #pragma warning(disable: 4324 4514 4574 4710 4793 4820 4995 4996 28719 28726 28727) __pragma(pack(push, 8)) extern "C" { __declspec(dllimport) int* __cdecl _errno(void); __declspec(dllimport) errno_t __cdecl _set_errno( int _Value); __declspec(dllimport) errno_t __cdecl _get_errno( int* _Value); __declspec(dllimport) unsigned long* __cdecl __doserrno(void); __declspec(dllimport) errno_t __cdecl _set_doserrno( unsigned long _Value); __declspec(dllimport) errno_t __cdecl _get_doserrno( unsigned long * _Value); } __pragma(pack(pop)) #pragma warning(pop) #pragma once #pragma warning(push) #pragma warning(disable: 4514 4820) __pragma(pack(push, 8)) extern "C" { [[nodiscard]] void const* __cdecl memchr( void const* _Buf, int _Val, size_t _MaxCount ); [[nodiscard]] int __cdecl memcmp( void const* _Buf1, void const* _Buf2, size_t _Size ); void* __cdecl memcpy( void* _Dst, void const* _Src, size_t _Size ); void* __cdecl memmove( void* _Dst, void const* _Src, size_t _Size ); void* __cdecl memset( void* _Dst, int _Val, size_t _Size ); [[nodiscard]] char const* __cdecl strchr( char const* _Str, int _Val ); [[nodiscard]] char const* __cdecl strrchr( char const* _Str, int _Ch ); [[nodiscard]] char const* __cdecl strstr( char const* _Str, char const* _SubStr ); [[nodiscard]] wchar_t const* __cdecl wcschr( wchar_t const* _Str, wchar_t _Ch ); [[nodiscard]] wchar_t const* __cdecl wcsrchr( wchar_t const* _Str, wchar_t _Ch ); [[nodiscard]] wchar_t const* __cdecl wcsstr( wchar_t const* _Str, wchar_t const* _SubStr ); } __pragma(pack(pop)) #pragma warning(pop) #pragma warning(push) #pragma warning(disable: 4324 4514 4574 4710 4793 4820 4995 4996 28719 28726 28727) __pragma(pack(push, 8)) extern "C" { static __inline errno_t __cdecl memcpy_s( void* const _Destination, rsize_t const _DestinationSize, void const* const _Source, rsize_t const _SourceSize ) { if (_SourceSize == 0) { return 0; } { int _Expr_val=!!(_Destination != 0); if (!(_Expr_val)) { (*_errno()) = 22; _invalid_parameter_noinfo(); return 22; } }; if (_Source == 0 || _DestinationSize < _SourceSize) { memset(_Destination, 0, _DestinationSize); { int _Expr_val=!!(_Source != 0); if (!(_Expr_val)) { (*_errno()) = 22; _invalid_parameter_noinfo(); return 22; } }; { int _Expr_val=!!(_DestinationSize >= _SourceSize); if (!(_Expr_val)) { (*_errno()) = 34; _invalid_parameter_noinfo(); return 34; } }; return 22; } memcpy(_Destination, _Source, _SourceSize); return 0; } static __inline errno_t __cdecl memmove_s( void* const _Destination, rsize_t const _DestinationSize, void const* const _Source, rsize_t const _SourceSize ) { if (_SourceSize == 0) { return 0; } { int _Expr_val=!!(_Destination != 0); if (!(_Expr_val)) { (*_errno()) = 22; _invalid_parameter_noinfo(); return 22; } }; { int _Expr_val=!!(_Source != 0); if (!(_Expr_val)) { (*_errno()) = 22; _invalid_parameter_noinfo(); return 22; } }; { int _Expr_val=!!(_DestinationSize >= _SourceSize); if (!(_Expr_val)) { (*_errno()) = 34; _invalid_parameter_noinfo(); return 34; } }; memmove(_Destination, _Source, _SourceSize); return 0; } #pragma warning(pop) } __pragma(pack(pop)) #pragma warning(push) #pragma warning(disable: 4324 4514 4574 4710 4793 4820 4995 4996 28719 28726 28727) __pragma(pack(push, 8)) extern "C" { __declspec(dllimport) int __cdecl _memicmp( void const* _Buf1, void const* _Buf2, size_t _Size ); __declspec(dllimport) int __cdecl _memicmp_l( void const* _Buf1, void const* _Buf2, size_t _Size, _locale_t _Locale ); __declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_memccpy" ". See online help for details.")) __declspec(dllimport) void* __cdecl memccpy( void* _Dst, void const* _Src, int _Val, size_t _Size ); __declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_memicmp" ". See online help for details.")) __declspec(dllimport) int __cdecl memicmp( void const* _Buf1, void const* _Buf2, size_t _Size ); extern "C++" inline void* __cdecl memchr( void* _Pv, int _C, size_t _N ) { void const* const _Pvc = _Pv; return const_cast(memchr(_Pvc, _C, _N)); } } __pragma(pack(pop)) #pragma warning(pop) #pragma once #pragma warning(push) #pragma warning(disable: 4324 4514 4574 4710 4793 4820 4995 4996 28719 28726 28727) __pragma(pack(push, 8)) extern "C" { __declspec(dllimport) errno_t __cdecl wcscat_s( wchar_t* _Destination, rsize_t _SizeInWords, wchar_t const* _Source ); __declspec(dllimport) errno_t __cdecl wcscpy_s( wchar_t* _Destination, rsize_t _SizeInWords, wchar_t const* _Source ); __declspec(dllimport) errno_t __cdecl wcsncat_s( wchar_t* _Destination, rsize_t _SizeInWords, wchar_t const* _Source, rsize_t _MaxCount ); __declspec(dllimport) errno_t __cdecl wcsncpy_s( wchar_t* _Destination, rsize_t _SizeInWords, wchar_t const* _Source, rsize_t _MaxCount ); __declspec(dllimport) wchar_t* __cdecl wcstok_s( wchar_t* _String, wchar_t const* _Delimiter, wchar_t** _Context ); __declspec(dllimport) __declspec(allocator) wchar_t* __cdecl _wcsdup( wchar_t const* _String ); extern "C++" { template inline errno_t __cdecl wcscat_s(wchar_t (&_Destination)[_Size], wchar_t const* _Source) throw() { return wcscat_s(_Destination, _Size, _Source); } } __declspec(deprecated("This function or variable may be unsafe. Consider using " "wcscat_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __declspec(dllimport) wchar_t* __cdecl wcscat( wchar_t *_Destination, wchar_t const* _Source); __declspec(dllimport) int __cdecl wcscmp( wchar_t const* _String1, wchar_t const* _String2 ); extern "C++" { template inline errno_t __cdecl wcscpy_s(wchar_t (&_Destination)[_Size], wchar_t const* _Source) throw() { return wcscpy_s(_Destination, _Size, _Source); } } __declspec(deprecated("This function or variable may be unsafe. Consider using " "wcscpy_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __declspec(dllimport) wchar_t* __cdecl wcscpy( wchar_t *_Destination, wchar_t const* _Source); __declspec(dllimport) size_t __cdecl wcscspn( wchar_t const* _String, wchar_t const* _Control ); __declspec(dllimport) size_t __cdecl wcslen( wchar_t const* _String ); __declspec(dllimport) size_t __cdecl wcsnlen( wchar_t const* _Source, size_t _MaxCount ); static __inline size_t __cdecl wcsnlen_s( wchar_t const* _Source, size_t _MaxCount ) { return (_Source == 0) ? 0 : wcsnlen(_Source, _MaxCount); } extern "C++" { template inline errno_t __cdecl wcsncat_s(wchar_t (&_Destination)[_Size], wchar_t const* _Source, size_t _Count) throw() { return wcsncat_s(_Destination, _Size, _Source, _Count); } } __declspec(deprecated("This function or variable may be unsafe. Consider using " "wcsncat_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __declspec(dllimport) wchar_t* __cdecl wcsncat( wchar_t *_Destination, wchar_t const* _Source, size_t _Count); __declspec(dllimport) int __cdecl wcsncmp( wchar_t const* _String1, wchar_t const* _String2, size_t _MaxCount ); extern "C++" { template inline errno_t __cdecl wcsncpy_s(wchar_t (&_Destination)[_Size], wchar_t const* _Source, size_t _Count) throw() { return wcsncpy_s(_Destination, _Size, _Source, _Count); } } __declspec(deprecated("This function or variable may be unsafe. Consider using " "wcsncpy_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __declspec(dllimport) wchar_t* __cdecl wcsncpy( wchar_t *_Destination, wchar_t const* _Source, size_t _Count); __declspec(dllimport) wchar_t const* __cdecl wcspbrk( wchar_t const* _String, wchar_t const* _Control ); __declspec(dllimport) size_t __cdecl wcsspn( wchar_t const* _String, wchar_t const* _Control ); __declspec(deprecated("This function or variable may be unsafe. Consider using " "wcstok_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __declspec(dllimport) wchar_t* __cdecl wcstok( wchar_t* _String, wchar_t const* _Delimiter, wchar_t** _Context ); __declspec(deprecated("This function or variable may be unsafe. Consider using " "wcstok_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) static __inline wchar_t* __cdecl _wcstok( wchar_t* const _String, wchar_t const* const _Delimiter ) { return wcstok(_String, _Delimiter, 0); } extern "C++" __declspec(deprecated("wcstok has been changed to conform with the ISO C standard, " "adding an extra context parameter. To use the legacy Microsoft " "wcstok, define _CRT_NON_CONFORMING_WCSTOK.")) inline wchar_t* __cdecl wcstok( wchar_t* _String, wchar_t const* _Delimiter ) throw() { return wcstok(_String, _Delimiter, 0); } __declspec(deprecated("This function or variable may be unsafe. Consider using " "_wcserror_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __declspec(dllimport) wchar_t* __cdecl _wcserror( int _ErrorNumber ); __declspec(dllimport) errno_t __cdecl _wcserror_s( wchar_t* _Buffer, size_t _SizeInWords, int _ErrorNumber ); extern "C++" { template inline errno_t __cdecl _wcserror_s(wchar_t (&_Buffer)[_Size], int _Error) throw() { return _wcserror_s(_Buffer, _Size, _Error); } } __declspec(deprecated("This function or variable may be unsafe. Consider using " "__wcserror_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __declspec(dllimport) wchar_t* __cdecl __wcserror( wchar_t const* _String ); __declspec(dllimport) errno_t __cdecl __wcserror_s( wchar_t* _Buffer, size_t _SizeInWords, wchar_t const* _ErrorMessage ); extern "C++" { template inline errno_t __cdecl __wcserror_s(wchar_t (&_Buffer)[_Size], wchar_t const* _ErrorMessage) throw() { return __wcserror_s(_Buffer, _Size, _ErrorMessage); } } __declspec(dllimport) int __cdecl _wcsicmp( wchar_t const* _String1, wchar_t const* _String2 ); __declspec(dllimport) int __cdecl _wcsicmp_l( wchar_t const* _String1, wchar_t const* _String2, _locale_t _Locale ); __declspec(dllimport) int __cdecl _wcsnicmp( wchar_t const* _String1, wchar_t const* _String2, size_t _MaxCount ); __declspec(dllimport) int __cdecl _wcsnicmp_l( wchar_t const* _String1, wchar_t const* _String2, size_t _MaxCount, _locale_t _Locale ); __declspec(dllimport) errno_t __cdecl _wcsnset_s( wchar_t* _Destination, size_t _SizeInWords, wchar_t _Value, size_t _MaxCount ); extern "C++" { template inline errno_t __cdecl _wcsnset_s(wchar_t (&_Destination)[_Size], wchar_t _Value, size_t _MaxCount) throw() { return _wcsnset_s(_Destination, _Size, _Value, _MaxCount); } } __declspec(deprecated("This function or variable may be unsafe. Consider using " "_wcsnset_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __declspec(dllimport) wchar_t* __cdecl _wcsnset( wchar_t *_String, wchar_t _Value, size_t _MaxCount); __declspec(dllimport) wchar_t* __cdecl _wcsrev( wchar_t* _String ); __declspec(dllimport) errno_t __cdecl _wcsset_s( wchar_t* _Destination, size_t _SizeInWords, wchar_t _Value ); extern "C++" { template inline errno_t __cdecl _wcsset_s(wchar_t (&_String)[_Size], wchar_t _Value) throw() { return _wcsset_s(_String, _Size, _Value); } } __declspec(deprecated("This function or variable may be unsafe. Consider using " "_wcsset_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __declspec(dllimport) wchar_t* __cdecl _wcsset( wchar_t *_String, wchar_t _Value); __declspec(dllimport) errno_t __cdecl _wcslwr_s( wchar_t* _String, size_t _SizeInWords ); extern "C++" { template inline errno_t __cdecl _wcslwr_s(wchar_t (&_String)[_Size]) throw() { return _wcslwr_s(_String, _Size); } } __declspec(deprecated("This function or variable may be unsafe. Consider using " "_wcslwr_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __declspec(dllimport) wchar_t* __cdecl _wcslwr( wchar_t *_String); __declspec(dllimport) errno_t __cdecl _wcslwr_s_l( wchar_t* _String, size_t _SizeInWords, _locale_t _Locale ); extern "C++" { template inline errno_t __cdecl _wcslwr_s_l(wchar_t (&_String)[_Size], _locale_t _Locale) throw() { return _wcslwr_s_l(_String, _Size, _Locale); } } __declspec(deprecated("This function or variable may be unsafe. Consider using " "_wcslwr_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __declspec(dllimport) wchar_t* __cdecl _wcslwr_l( wchar_t *_String, _locale_t _Locale); __declspec(dllimport) errno_t __cdecl _wcsupr_s( wchar_t* _String, size_t _Size ); extern "C++" { template inline errno_t __cdecl _wcsupr_s(wchar_t (&_String)[_Size]) throw() { return _wcsupr_s(_String, _Size); } } __declspec(deprecated("This function or variable may be unsafe. Consider using " "_wcsupr_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __declspec(dllimport) wchar_t* __cdecl _wcsupr( wchar_t *_String); __declspec(dllimport) errno_t __cdecl _wcsupr_s_l( wchar_t* _String, size_t _Size, _locale_t _Locale ); extern "C++" { template inline errno_t __cdecl _wcsupr_s_l(wchar_t (&_String)[_Size], _locale_t _Locale) throw() { return _wcsupr_s_l(_String, _Size, _Locale); } } __declspec(deprecated("This function or variable may be unsafe. Consider using " "_wcsupr_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __declspec(dllimport) wchar_t* __cdecl _wcsupr_l( wchar_t *_String, _locale_t _Locale); __declspec(dllimport) size_t __cdecl wcsxfrm( wchar_t* _Destination, wchar_t const* _Source, size_t _MaxCount ); __declspec(dllimport) size_t __cdecl _wcsxfrm_l( wchar_t* _Destination, wchar_t const* _Source, size_t _MaxCount, _locale_t _Locale ); __declspec(dllimport) int __cdecl wcscoll( wchar_t const* _String1, wchar_t const* _String2 ); __declspec(dllimport) int __cdecl _wcscoll_l( wchar_t const* _String1, wchar_t const* _String2, _locale_t _Locale ); __declspec(dllimport) int __cdecl _wcsicoll( wchar_t const* _String1, wchar_t const* _String2 ); __declspec(dllimport) int __cdecl _wcsicoll_l( wchar_t const* _String1, wchar_t const* _String2, _locale_t _Locale ); __declspec(dllimport) int __cdecl _wcsncoll( wchar_t const* _String1, wchar_t const* _String2, size_t _MaxCount ); __declspec(dllimport) int __cdecl _wcsncoll_l( wchar_t const* _String1, wchar_t const* _String2, size_t _MaxCount, _locale_t _Locale ); __declspec(dllimport) int __cdecl _wcsnicoll( wchar_t const* _String1, wchar_t const* _String2, size_t _MaxCount ); __declspec(dllimport) int __cdecl _wcsnicoll_l( wchar_t const* _String1, wchar_t const* _String2, size_t _MaxCount, _locale_t _Locale ); extern "C++" { inline wchar_t* __cdecl wcschr( wchar_t* _String, wchar_t _C) { return const_cast(wcschr(static_cast(_String), _C)); } inline wchar_t* __cdecl wcspbrk( wchar_t* _String, wchar_t const* _Control) { return const_cast(wcspbrk(static_cast(_String), _Control)); } inline wchar_t* __cdecl wcsrchr( wchar_t* _String, wchar_t _C) { return const_cast(wcsrchr(static_cast(_String), _C)); } inline wchar_t* __cdecl wcsstr( wchar_t* _String, wchar_t const*_SubStr) { return const_cast(wcsstr(static_cast(_String), _SubStr)); } } __declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_wcsdup" ". See online help for details.")) __declspec(dllimport) wchar_t* __cdecl wcsdup( wchar_t const* _String ); __declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_wcsicmp" ". See online help for details.")) __declspec(dllimport) int __cdecl wcsicmp( wchar_t const* _String1, wchar_t const* _String2 ); __declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_wcsnicmp" ". See online help for details.")) __declspec(dllimport) int __cdecl wcsnicmp( wchar_t const* _String1, wchar_t const* _String2, size_t _MaxCount ); __declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_wcsnset" ". See online help for details.")) __declspec(dllimport) wchar_t* __cdecl wcsnset( wchar_t* _String, wchar_t _Value, size_t _MaxCount ); __declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_wcsrev" ". See online help for details.")) __declspec(dllimport) wchar_t* __cdecl wcsrev( wchar_t* _String ); __declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_wcsset" ". See online help for details.")) __declspec(dllimport) wchar_t* __cdecl wcsset( wchar_t* _String, wchar_t _Value ); __declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_wcslwr" ". See online help for details.")) __declspec(dllimport) wchar_t* __cdecl wcslwr( wchar_t* _String ); __declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_wcsupr" ". See online help for details.")) __declspec(dllimport) wchar_t* __cdecl wcsupr( wchar_t* _String ); __declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_wcsicoll" ". See online help for details.")) __declspec(dllimport) int __cdecl wcsicoll( wchar_t const* _String1, wchar_t const* _String2 ); } __pragma(pack(pop)) #pragma warning(pop) #pragma warning(push) #pragma warning(disable: 4324 4514 4574 4710 4793 4820 4995 4996 28719 28726 28727) __pragma(pack(push, 8)) extern "C" { __declspec(dllimport) errno_t __cdecl strcpy_s( char* _Destination, rsize_t _SizeInBytes, char const* _Source ); __declspec(dllimport) errno_t __cdecl strcat_s( char* _Destination, rsize_t _SizeInBytes, char const* _Source ); __declspec(dllimport) errno_t __cdecl strerror_s( char* _Buffer, size_t _SizeInBytes, int _ErrorNumber); __declspec(dllimport) errno_t __cdecl strncat_s( char* _Destination, rsize_t _SizeInBytes, char const* _Source, rsize_t _MaxCount ); __declspec(dllimport) errno_t __cdecl strncpy_s( char* _Destination, rsize_t _SizeInBytes, char const* _Source, rsize_t _MaxCount ); __declspec(dllimport) char* __cdecl strtok_s( char* _String, char const* _Delimiter, char** _Context ); __declspec(dllimport) void* __cdecl _memccpy( void* _Dst, void const* _Src, int _Val, size_t _MaxCount ); extern "C++" { template inline errno_t __cdecl strcat_s(char (&_Destination)[_Size], char const* _Source) throw() { return strcat_s(_Destination, _Size, _Source); } } __declspec(deprecated("This function or variable may be unsafe. Consider using " "strcat_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) char* __cdecl strcat( char *_Destination, char const* _Source); int __cdecl strcmp( char const* _Str1, char const* _Str2 ); __declspec(dllimport) int __cdecl _strcmpi( char const* _String1, char const* _String2 ); __declspec(dllimport) int __cdecl strcoll( char const* _String1, char const* _String2 ); __declspec(dllimport) int __cdecl _strcoll_l( char const* _String1, char const* _String2, _locale_t _Locale ); extern "C++" { template inline errno_t __cdecl strcpy_s(char (&_Destination)[_Size], char const* _Source) throw() { return strcpy_s(_Destination, _Size, _Source); } } __declspec(deprecated("This function or variable may be unsafe. Consider using " "strcpy_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) char* __cdecl strcpy( char *_Destination, char const* _Source); __declspec(dllimport) size_t __cdecl strcspn( char const* _Str, char const* _Control ); __declspec(dllimport) __declspec(allocator) char* __cdecl _strdup( char const* _Source ); __declspec(deprecated("This function or variable may be unsafe. Consider using " "_strerror_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __declspec(dllimport) char* __cdecl _strerror( char const* _ErrorMessage ); __declspec(dllimport) errno_t __cdecl _strerror_s( char* _Buffer, size_t _SizeInBytes, char const* _ErrorMessage ); extern "C++" { template inline errno_t __cdecl _strerror_s(char (&_Buffer)[_Size], char const* _ErrorMessage) throw() { return _strerror_s(_Buffer, _Size, _ErrorMessage); } } __declspec(deprecated("This function or variable may be unsafe. Consider using " "strerror_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __declspec(dllimport) char* __cdecl strerror( int _ErrorMessage ); extern "C++" { template inline errno_t __cdecl strerror_s(char (&_Buffer)[_Size], int _ErrorMessage) throw() { return strerror_s(_Buffer, _Size, _ErrorMessage); } } __declspec(dllimport) int __cdecl _stricmp( char const* _String1, char const* _String2 ); __declspec(dllimport) int __cdecl _stricoll( char const* _String1, char const* _String2 ); __declspec(dllimport) int __cdecl _stricoll_l( char const* _String1, char const* _String2, _locale_t _Locale ); __declspec(dllimport) int __cdecl _stricmp_l( char const* _String1, char const* _String2, _locale_t _Locale ); size_t __cdecl strlen( char const* _Str ); __declspec(dllimport) errno_t __cdecl _strlwr_s( char* _String, size_t _Size ); extern "C++" { template inline errno_t __cdecl _strlwr_s(char (&_String)[_Size]) throw() { return _strlwr_s(_String, _Size); } } __declspec(deprecated("This function or variable may be unsafe. Consider using " "_strlwr_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __declspec(dllimport) char* __cdecl _strlwr( char *_String); __declspec(dllimport) errno_t __cdecl _strlwr_s_l( char* _String, size_t _Size, _locale_t _Locale ); extern "C++" { template inline errno_t __cdecl _strlwr_s_l(char (&_String)[_Size], _locale_t _Locale) throw() { return _strlwr_s_l(_String, _Size, _Locale); } } __declspec(deprecated("This function or variable may be unsafe. Consider using " "_strlwr_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __declspec(dllimport) char* __cdecl _strlwr_l( char *_String, _locale_t _Locale); extern "C++" { template inline errno_t __cdecl strncat_s(char (&_Destination)[_Size], char const* _Source, size_t _Count) throw() { return strncat_s(_Destination, _Size, _Source, _Count); } } __declspec(deprecated("This function or variable may be unsafe. Consider using " "strncat_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __declspec(dllimport) char* __cdecl strncat( char *_Destination, char const* _Source, size_t _Count); __declspec(dllimport) int __cdecl strncmp( char const* _Str1, char const* _Str2, size_t _MaxCount ); __declspec(dllimport) int __cdecl _strnicmp( char const* _String1, char const* _String2, size_t _MaxCount ); __declspec(dllimport) int __cdecl _strnicmp_l( char const* _String1, char const* _String2, size_t _MaxCount, _locale_t _Locale ); __declspec(dllimport) int __cdecl _strnicoll( char const* _String1, char const* _String2, size_t _MaxCount ); __declspec(dllimport) int __cdecl _strnicoll_l( char const* _String1, char const* _String2, size_t _MaxCount, _locale_t _Locale ); __declspec(dllimport) int __cdecl _strncoll( char const* _String1, char const* _String2, size_t _MaxCount ); __declspec(dllimport) int __cdecl _strncoll_l( char const* _String1, char const* _String2, size_t _MaxCount, _locale_t _Locale ); __declspec(dllimport) size_t __cdecl __strncnt( char const* _String, size_t _Count ); extern "C++" { template inline errno_t __cdecl strncpy_s(char (&_Destination)[_Size], char const* _Source, size_t _Count) throw() { return strncpy_s(_Destination, _Size, _Source, _Count); } } __declspec(deprecated("This function or variable may be unsafe. Consider using " "strncpy_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __declspec(dllimport) char* __cdecl strncpy( char *_Destination, char const* _Source, size_t _Count); __declspec(dllimport) size_t __cdecl strnlen( char const* _String, size_t _MaxCount ); static __inline size_t __cdecl strnlen_s( char const* _String, size_t _MaxCount ) { return _String == 0 ? 0 : strnlen(_String, _MaxCount); } __declspec(dllimport) errno_t __cdecl _strnset_s( char* _String, size_t _SizeInBytes, int _Value, size_t _MaxCount ); extern "C++" { template inline errno_t __cdecl _strnset_s(char (&_Destination)[_Size], int _Value, size_t _Count) throw() { return _strnset_s(_Destination, _Size, _Value, _Count); } } __declspec(deprecated("This function or variable may be unsafe. Consider using " "_strnset_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __declspec(dllimport) char* __cdecl _strnset( char *_Destination, int _Value, size_t _Count); __declspec(dllimport) char const* __cdecl strpbrk( char const* _Str, char const* _Control ); __declspec(dllimport) char* __cdecl _strrev( char* _Str ); __declspec(dllimport) errno_t __cdecl _strset_s( char* _Destination, size_t _DestinationSize, int _Value ); extern "C++" { template inline errno_t __cdecl _strset_s(char (&_Destination)[_Size], int _Value) throw() { return _strset_s(_Destination, _Size, _Value); } } __declspec(deprecated("This function or variable may be unsafe. Consider using " "_strset_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) char* __cdecl _strset( char *_Destination, int _Value); __declspec(dllimport) size_t __cdecl strspn( char const* _Str, char const* _Control ); __declspec(deprecated("This function or variable may be unsafe. Consider using " "strtok_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __declspec(dllimport) char* __cdecl strtok( char* _String, char const* _Delimiter ); __declspec(dllimport) errno_t __cdecl _strupr_s( char* _String, size_t _Size ); extern "C++" { template inline errno_t __cdecl _strupr_s(char (&_String)[_Size]) throw() { return _strupr_s(_String, _Size); } } __declspec(deprecated("This function or variable may be unsafe. Consider using " "_strupr_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __declspec(dllimport) char* __cdecl _strupr( char *_String); __declspec(dllimport) errno_t __cdecl _strupr_s_l( char* _String, size_t _Size, _locale_t _Locale ); extern "C++" { template inline errno_t __cdecl _strupr_s_l(char (&_String)[_Size], _locale_t _Locale) throw() { return _strupr_s_l(_String, _Size, _Locale); } } __declspec(deprecated("This function or variable may be unsafe. Consider using " "_strupr_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __declspec(dllimport) char* __cdecl _strupr_l( char *_String, _locale_t _Locale); __declspec(dllimport) size_t __cdecl strxfrm( char* _Destination, char const* _Source, size_t _MaxCount ); __declspec(dllimport) size_t __cdecl _strxfrm_l( char* _Destination, char const* _Source, size_t _MaxCount, _locale_t _Locale ); extern "C++" { inline char* __cdecl strchr( char* const _String, int const _Ch) { return const_cast(strchr(static_cast(_String), _Ch)); } inline char* __cdecl strpbrk( char* const _String, char const* const _Control) { return const_cast(strpbrk(static_cast(_String), _Control)); } inline char* __cdecl strrchr( char* const _String, int const _Ch) { return const_cast(strrchr(static_cast(_String), _Ch)); } inline char* __cdecl strstr( char* const _String, char const* const _SubString) { return const_cast(strstr(static_cast(_String), _SubString)); } } __declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_strdup" ". See online help for details.")) __declspec(dllimport) char* __cdecl strdup( char const* _String ); __declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_strcmpi" ". See online help for details.")) __declspec(dllimport) int __cdecl strcmpi( char const* _String1, char const* _String2 ); __declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_stricmp" ". See online help for details.")) __declspec(dllimport) int __cdecl stricmp( char const* _String1, char const* _String2 ); __declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_strlwr" ". See online help for details.")) __declspec(dllimport) char* __cdecl strlwr( char* _String ); __declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_strnicmp" ". See online help for details.")) __declspec(dllimport) int __cdecl strnicmp( char const* _String1, char const* _String2, size_t _MaxCount ); __declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_strnset" ". See online help for details.")) __declspec(dllimport) char* __cdecl strnset( char* _String, int _Value, size_t _MaxCount ); __declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_strrev" ". See online help for details.")) __declspec(dllimport) char* __cdecl strrev( char* _String ); __declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_strset" ". See online help for details.")) char* __cdecl strset( char* _String, int _Value); __declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_strupr" ". See online help for details.")) __declspec(dllimport) char* __cdecl strupr( char* _String ); } __pragma(pack(pop)) #pragma warning(pop) __inline int InlineIsEqualGUID(const GUID & rguid1, const GUID & rguid2) { return ( ((unsigned long *) &rguid1)[0] == ((unsigned long *) &rguid2)[0] && ((unsigned long *) &rguid1)[1] == ((unsigned long *) &rguid2)[1] && ((unsigned long *) &rguid1)[2] == ((unsigned long *) &rguid2)[2] && ((unsigned long *) &rguid1)[3] == ((unsigned long *) &rguid2)[3]); } __inline int IsEqualGUID(const GUID & rguid1, const GUID & rguid2) { return !memcmp(&rguid1, &rguid2, sizeof(GUID)); } __inline bool operator==(const GUID & guidOne, const GUID & guidOther) { return !!IsEqualGUID(guidOne,guidOther); } __inline bool operator!=(const GUID & guidOne, const GUID & guidOther) { return !(guidOne == guidOther); } typedef struct _OBJECTID { GUID Lineage; DWORD Uniquifier; } OBJECTID; #pragma region Application Family or OneCore Family Or Game Family extern "C++" template char (*RtlpNumberOf( __unaligned T (&)[N] ))[N]; #pragma endregion typedef EXCEPTION_DISPOSITION __stdcall EXCEPTION_ROUTINE ( struct _EXCEPTION_RECORD *ExceptionRecord, PVOID EstablisherFrame, struct _CONTEXT *ContextRecord, PVOID DispatcherContext ); typedef EXCEPTION_ROUTINE *PEXCEPTION_ROUTINE; extern "C++" { template struct _ENUM_FLAG_INTEGER_FOR_SIZE; template <> struct _ENUM_FLAG_INTEGER_FOR_SIZE<2> { typedef INT8 type; }; template <> struct _ENUM_FLAG_INTEGER_FOR_SIZE<2> { typedef INT16 type; }; template <> struct _ENUM_FLAG_INTEGER_FOR_SIZE<4> { typedef INT32 type; }; template <> struct _ENUM_FLAG_INTEGER_FOR_SIZE<8> { typedef INT64 type; }; template struct _ENUM_FLAG_SIZED_INTEGER { typedef typename _ENUM_FLAG_INTEGER_FOR_SIZE::type type; }; } static_assert(__alignof(LARGE_INTEGER) == 8, "Windows headers require the default packing option. Changing this can lead to memory corruption." " This diagnostic can be disabled by building with WINDOWS_IGNORE_PACKING_MISMATCH defined."); typedef ULONG_PTR KSPIN_LOCK; typedef KSPIN_LOCK *PKSPIN_LOCK; typedef struct __declspec(align(16)) _M128A { ULONGLONG Low; LONGLONG High; } M128A, *PM128A; typedef struct __declspec(align(16)) _XSAVE_FORMAT { WORD ControlWord; WORD StatusWord; BYTE TagWord; BYTE Reserved1; WORD ErrorOpcode; DWORD ErrorOffset; WORD ErrorSelector; WORD Reserved2; DWORD DataOffset; WORD DataSelector; WORD Reserved3; DWORD MxCsr; DWORD MxCsr_Mask; M128A FloatRegisters[8]; M128A XmmRegisters[16]; BYTE Reserved4[96]; } XSAVE_FORMAT, *PXSAVE_FORMAT; typedef struct _XSAVE_CET_U_FORMAT { DWORD64 Ia32CetUMsr; DWORD64 Ia32Pl3SspMsr; } XSAVE_CET_U_FORMAT, *PXSAVE_CET_U_FORMAT; typedef struct __declspec(align(8)) _XSAVE_AREA_HEADER { DWORD64 Mask; DWORD64 CompactionMask; DWORD64 Reserved2[6]; } XSAVE_AREA_HEADER, *PXSAVE_AREA_HEADER; typedef struct __declspec(align(16)) _XSAVE_AREA { XSAVE_FORMAT LegacyState; XSAVE_AREA_HEADER Header; } XSAVE_AREA, *PXSAVE_AREA; typedef struct _XSTATE_CONTEXT { DWORD64 Mask; DWORD Length; DWORD Reserved1; PXSAVE_AREA Area; PVOID Buffer; } XSTATE_CONTEXT, *PXSTATE_CONTEXT; typedef struct _SCOPE_TABLE_AMD64 { DWORD Count; struct { DWORD BeginAddress; DWORD EndAddress; DWORD HandlerAddress; DWORD JumpTarget; } ScopeRecord[1]; } SCOPE_TABLE_AMD64, *PSCOPE_TABLE_AMD64; extern "C" { BOOLEAN _bittest ( LONG const *Base, LONG Offset ); BOOLEAN _bittestandcomplement ( LONG *Base, LONG Offset ); BOOLEAN _bittestandset ( LONG *Base, LONG Offset ); BOOLEAN _bittestandreset ( LONG *Base, LONG Offset ); BOOLEAN _interlockedbittestandset ( LONG volatile *Base, LONG Offset ); BOOLEAN _interlockedbittestandreset ( LONG volatile *Base, LONG Offset ); BOOLEAN _bittest64 ( LONG64 const *Base, LONG64 Offset ); BOOLEAN _bittestandcomplement64 ( LONG64 *Base, LONG64 Offset ); BOOLEAN _bittestandset64 ( LONG64 *Base, LONG64 Offset ); BOOLEAN _bittestandreset64 ( LONG64 *Base, LONG64 Offset ); BOOLEAN _interlockedbittestandset64 ( LONG64 volatile *Base, LONG64 Offset ); BOOLEAN _interlockedbittestandreset64 ( LONG64 volatile *Base, LONG64 Offset ); #pragma intrinsic(_bittest) #pragma intrinsic(_bittestandcomplement) #pragma intrinsic(_bittestandset) #pragma intrinsic(_bittestandreset) #pragma intrinsic(_interlockedbittestandset) #pragma intrinsic(_interlockedbittestandreset) #pragma intrinsic(_bittest64) #pragma intrinsic(_bittestandcomplement64) #pragma intrinsic(_bittestandset64) #pragma intrinsic(_bittestandreset64) #pragma intrinsic(_interlockedbittestandset64) #pragma intrinsic(_interlockedbittestandreset64) BOOLEAN _BitScanForward ( DWORD *Index, DWORD Mask ); BOOLEAN _BitScanReverse ( DWORD *Index, DWORD Mask ); BOOLEAN _BitScanForward64 ( DWORD *Index, DWORD64 Mask ); BOOLEAN _BitScanReverse64 ( DWORD *Index, DWORD64 Mask ); #pragma intrinsic(_BitScanForward) #pragma intrinsic(_BitScanReverse) #pragma intrinsic(_BitScanForward64) #pragma intrinsic(_BitScanReverse64) SHORT _InterlockedIncrement16 ( SHORT volatile *Addend ); SHORT _InterlockedDecrement16 ( SHORT volatile *Addend ); SHORT _InterlockedCompareExchange16 ( SHORT volatile *Destination, SHORT ExChange, SHORT Comperand ); LONG _InterlockedAnd ( LONG volatile *Destination, LONG Value ); LONG _InterlockedOr ( LONG volatile *Destination, LONG Value ); LONG _InterlockedXor ( LONG volatile *Destination, LONG Value ); LONG64 _InterlockedAnd64 ( LONG64 volatile *Destination, LONG64 Value ); LONG64 _InterlockedOr64 ( LONG64 volatile *Destination, LONG64 Value ); LONG64 _InterlockedXor64 ( LONG64 volatile *Destination, LONG64 Value ); LONG _InterlockedIncrement ( LONG volatile *Addend ); LONG _InterlockedDecrement ( LONG volatile *Addend ); LONG _InterlockedExchange ( LONG volatile *Target, LONG Value ); LONG _InterlockedExchangeAdd ( LONG volatile *Addend, LONG Value ); __forceinline LONG _InlineInterlockedAdd ( LONG volatile *Addend, LONG Value ) { return _InterlockedExchangeAdd(Addend, Value) + Value; } LONG _InterlockedCompareExchange ( LONG volatile *Destination, LONG ExChange, LONG Comperand ); LONG64 _InterlockedIncrement64 ( LONG64 volatile *Addend ); LONG64 _InterlockedDecrement64 ( LONG64 volatile *Addend ); LONG64 _InterlockedExchange64 ( LONG64 volatile *Target, LONG64 Value ); LONG64 _InterlockedExchangeAdd64 ( LONG64 volatile *Addend, LONG64 Value ); __forceinline LONG64 _InlineInterlockedAdd64 ( LONG64 volatile *Addend, LONG64 Value ) { return _InterlockedExchangeAdd64(Addend, Value) + Value; } LONG64 _InterlockedCompareExchange64 ( LONG64 volatile *Destination, LONG64 ExChange, LONG64 Comperand ); BOOLEAN _InterlockedCompareExchange128 ( LONG64 volatile *Destination, LONG64 ExchangeHigh, LONG64 ExchangeLow, LONG64 *ComparandResult ); PVOID _InterlockedCompareExchangePointer ( PVOID volatile *Destination, PVOID Exchange, PVOID Comperand ); PVOID _InterlockedExchangePointer( PVOID volatile *Target, PVOID Value ); #pragma intrinsic(_InterlockedIncrement16) #pragma intrinsic(_InterlockedDecrement16) #pragma intrinsic(_InterlockedCompareExchange16) #pragma intrinsic(_InterlockedAnd) #pragma intrinsic(_InterlockedOr) #pragma intrinsic(_InterlockedXor) #pragma intrinsic(_InterlockedIncrement) #pragma intrinsic(_InterlockedDecrement) #pragma intrinsic(_InterlockedExchange) #pragma intrinsic(_InterlockedExchangeAdd) #pragma intrinsic(_InterlockedCompareExchange) #pragma intrinsic(_InterlockedAnd64) #pragma intrinsic(_InterlockedOr64) #pragma intrinsic(_InterlockedXor64) #pragma intrinsic(_InterlockedIncrement64) #pragma intrinsic(_InterlockedDecrement64) #pragma intrinsic(_InterlockedExchange64) #pragma intrinsic(_InterlockedExchangeAdd64) #pragma intrinsic(_InterlockedCompareExchange64) #pragma intrinsic(_InterlockedCompareExchange128) #pragma intrinsic(_InterlockedExchangePointer) #pragma intrinsic(_InterlockedCompareExchangePointer) CHAR _InterlockedExchange8 ( CHAR volatile *Target, CHAR Value ); SHORT _InterlockedExchange16 ( SHORT volatile *Destination, SHORT ExChange ); #pragma intrinsic(_InterlockedExchange8) #pragma intrinsic(_InterlockedExchange16) char _InterlockedExchangeAdd8 ( char volatile * _Addend, char _Value ); char _InterlockedAnd8 ( char volatile *Destination, char Value ); char _InterlockedOr8 ( char volatile *Destination, char Value ); char _InterlockedXor8 ( char volatile *Destination, char Value ); SHORT _InterlockedAnd16( SHORT volatile *Destination, SHORT Value ); SHORT _InterlockedOr16( SHORT volatile *Destination, SHORT Value ); SHORT _InterlockedXor16( SHORT volatile *Destination, SHORT Value ); #pragma intrinsic (_InterlockedExchangeAdd8) #pragma intrinsic (_InterlockedAnd8) #pragma intrinsic (_InterlockedOr8) #pragma intrinsic (_InterlockedXor8) #pragma intrinsic (_InterlockedAnd16) #pragma intrinsic (_InterlockedOr16) #pragma intrinsic (_InterlockedXor16) void __cpuidex ( int CPUInfo[4], int Function, int SubLeaf ); #pragma intrinsic(__cpuidex) void _mm_clflush ( void const *Address ); #pragma intrinsic(_mm_clflush) void _ReadWriteBarrier ( void ); #pragma intrinsic(_ReadWriteBarrier) void __faststorefence ( void ); void _mm_lfence ( void ); void _mm_mfence ( void ); void _mm_sfence ( void ); void _mm_pause ( void ); void _mm_prefetch ( CHAR const *a, int sel ); void _m_prefetchw ( volatile const void *Source ); #pragma intrinsic(__faststorefence) #pragma intrinsic(_mm_pause) #pragma intrinsic(_mm_prefetch) #pragma intrinsic(_mm_lfence) #pragma intrinsic(_mm_mfence) #pragma intrinsic(_mm_sfence) #pragma intrinsic(_m_prefetchw) unsigned int _mm_getcsr ( void ); void _mm_setcsr ( unsigned int MxCsr ); #pragma intrinsic(_mm_getcsr) #pragma intrinsic(_mm_setcsr) unsigned __int32 __getcallerseflags ( void ); #pragma intrinsic(__getcallerseflags) DWORD __segmentlimit ( DWORD Selector ); #pragma intrinsic(__segmentlimit) DWORD64 __readpmc ( DWORD Counter ); #pragma intrinsic(__readpmc) DWORD64 __rdtsc ( void ); #pragma intrinsic(__rdtsc) void __movsb ( PBYTE Destination, BYTE const *Source, SIZE_T Count ); void __movsw ( PWORD Destination, WORD const *Source, SIZE_T Count ); void __movsd ( PDWORD Destination, DWORD const *Source, SIZE_T Count ); void __movsq ( PDWORD64 Destination, DWORD64 const *Source, SIZE_T Count ); #pragma intrinsic(__movsb) #pragma intrinsic(__movsw) #pragma intrinsic(__movsd) #pragma intrinsic(__movsq) void __stosb ( PBYTE Destination, BYTE Value, SIZE_T Count ); void __stosw ( PWORD Destination, WORD Value, SIZE_T Count ); void __stosd ( PDWORD Destination, DWORD Value, SIZE_T Count ); void __stosq ( PDWORD64 Destination, DWORD64 Value, SIZE_T Count ); #pragma intrinsic(__stosb) #pragma intrinsic(__stosw) #pragma intrinsic(__stosd) #pragma intrinsic(__stosq) LONGLONG __mulh ( LONG64 Multiplier, LONG64 Multiplicand ); ULONGLONG __umulh ( DWORD64 Multiplier, DWORD64 Multiplicand ); #pragma intrinsic(__mulh) #pragma intrinsic(__umulh) DWORD64 __popcnt64 ( DWORD64 operand ); #pragma intrinsic(__popcnt64) DWORD64 __shiftleft128 ( DWORD64 LowPart, DWORD64 HighPart, BYTE Shift ); DWORD64 __shiftright128 ( DWORD64 LowPart, DWORD64 HighPart, BYTE Shift ); #pragma intrinsic(__shiftleft128) #pragma intrinsic(__shiftright128) LONG64 _mul128 ( LONG64 Multiplier, LONG64 Multiplicand, LONG64 *HighProduct ); #pragma intrinsic(_mul128) DWORD64 _umul128 ( DWORD64 Multiplier, DWORD64 Multiplicand, DWORD64 *HighProduct ); #pragma intrinsic(_umul128) __forceinline LONG64 MultiplyExtract128 ( LONG64 Multiplier, LONG64 Multiplicand, BYTE Shift ) { LONG64 extractedProduct; LONG64 highProduct; LONG64 lowProduct; BOOLEAN negate; DWORD64 uhighProduct; DWORD64 ulowProduct; lowProduct = _mul128(Multiplier, Multiplicand, &highProduct); negate = 0; uhighProduct = (DWORD64)highProduct; ulowProduct = (DWORD64)lowProduct; if (highProduct < 0) { negate = 1; uhighProduct = (DWORD64)(-highProduct); ulowProduct = (DWORD64)(-lowProduct); if (ulowProduct != 0) { uhighProduct -= 1; } } extractedProduct = (LONG64)__shiftright128(ulowProduct, uhighProduct, Shift); if (negate != 0) { extractedProduct = -extractedProduct; } return extractedProduct; } __forceinline DWORD64 UnsignedMultiplyExtract128 ( DWORD64 Multiplier, DWORD64 Multiplicand, BYTE Shift ) { DWORD64 extractedProduct; DWORD64 highProduct; DWORD64 lowProduct; lowProduct = _umul128(Multiplier, Multiplicand, &highProduct); extractedProduct = __shiftright128(lowProduct, highProduct, Shift); return extractedProduct; } BYTE __readgsbyte ( DWORD Offset ); WORD __readgsword ( DWORD Offset ); DWORD __readgsdword ( DWORD Offset ); DWORD64 __readgsqword ( DWORD Offset ); void __writegsbyte ( DWORD Offset, BYTE Data ); void __writegsword ( DWORD Offset, WORD Data ); void __writegsdword ( DWORD Offset, DWORD Data ); void __writegsqword ( DWORD Offset, DWORD64 Data ); #pragma intrinsic(__readgsbyte) #pragma intrinsic(__readgsword) #pragma intrinsic(__readgsdword) #pragma intrinsic(__readgsqword) #pragma intrinsic(__writegsbyte) #pragma intrinsic(__writegsword) #pragma intrinsic(__writegsdword) #pragma intrinsic(__writegsqword) void __incgsbyte ( DWORD Offset ); void __addgsbyte ( DWORD Offset, BYTE Value ); void __incgsword ( DWORD Offset ); void __addgsword ( DWORD Offset, WORD Value ); void __incgsdword ( DWORD Offset ); void __addgsdword ( DWORD Offset, DWORD Value ); void __incgsqword ( DWORD Offset ); void __addgsqword ( DWORD Offset, DWORD64 Value ); } typedef XSAVE_FORMAT XMM_SAVE_AREA32, *PXMM_SAVE_AREA32; typedef struct __declspec(align(16)) __declspec(no_init_all) _CONTEXT { DWORD64 P1Home; DWORD64 P2Home; DWORD64 P3Home; DWORD64 P4Home; DWORD64 P5Home; DWORD64 P6Home; DWORD ContextFlags; DWORD MxCsr; WORD SegCs; WORD SegDs; WORD SegEs; WORD SegFs; WORD SegGs; WORD SegSs; DWORD EFlags; DWORD64 Dr0; DWORD64 Dr1; DWORD64 Dr2; DWORD64 Dr3; DWORD64 Dr6; DWORD64 Dr7; DWORD64 Rax; DWORD64 Rcx; DWORD64 Rdx; DWORD64 Rbx; DWORD64 Rsp; DWORD64 Rbp; DWORD64 Rsi; DWORD64 Rdi; DWORD64 R8; DWORD64 R9; DWORD64 R10; DWORD64 R11; DWORD64 R12; DWORD64 R13; DWORD64 R14; DWORD64 R15; DWORD64 Rip; union { XMM_SAVE_AREA32 FltSave; struct { M128A Header[2]; M128A Legacy[8]; M128A Xmm0; M128A Xmm1; M128A Xmm2; M128A Xmm3; M128A Xmm4; M128A Xmm5; M128A Xmm6; M128A Xmm7; M128A Xmm8; M128A Xmm9; M128A Xmm10; M128A Xmm11; M128A Xmm12; M128A Xmm13; M128A Xmm14; M128A Xmm15; } ; } ; M128A VectorRegister[26]; DWORD64 VectorControl; DWORD64 DebugControl; DWORD64 LastBranchToRip; DWORD64 LastBranchFromRip; DWORD64 LastExceptionToRip; DWORD64 LastExceptionFromRip; } CONTEXT, *PCONTEXT; typedef struct _IMAGE_RUNTIME_FUNCTION_ENTRY RUNTIME_FUNCTION, *PRUNTIME_FUNCTION; typedef SCOPE_TABLE_AMD64 SCOPE_TABLE, *PSCOPE_TABLE; typedef struct _UNWIND_HISTORY_TABLE_ENTRY { DWORD64 ImageBase; PRUNTIME_FUNCTION FunctionEntry; } UNWIND_HISTORY_TABLE_ENTRY, *PUNWIND_HISTORY_TABLE_ENTRY; typedef struct _UNWIND_HISTORY_TABLE { DWORD Count; BYTE LocalHint; BYTE GlobalHint; BYTE Search; BYTE Once; DWORD64 LowAddress; DWORD64 HighAddress; UNWIND_HISTORY_TABLE_ENTRY Entry[12]; } UNWIND_HISTORY_TABLE, *PUNWIND_HISTORY_TABLE; typedef PRUNTIME_FUNCTION GET_RUNTIME_FUNCTION_CALLBACK ( DWORD64 ControlPc, PVOID Context ); typedef GET_RUNTIME_FUNCTION_CALLBACK *PGET_RUNTIME_FUNCTION_CALLBACK; typedef DWORD OUT_OF_PROCESS_FUNCTION_TABLE_CALLBACK ( HANDLE Process, PVOID TableAddress, PDWORD Entries, PRUNTIME_FUNCTION* Functions ); typedef OUT_OF_PROCESS_FUNCTION_TABLE_CALLBACK *POUT_OF_PROCESS_FUNCTION_TABLE_CALLBACK; typedef struct _DISPATCHER_CONTEXT { DWORD64 ControlPc; DWORD64 ImageBase; PRUNTIME_FUNCTION FunctionEntry; DWORD64 EstablisherFrame; DWORD64 TargetIp; PCONTEXT ContextRecord; PEXCEPTION_ROUTINE LanguageHandler; PVOID HandlerData; PUNWIND_HISTORY_TABLE HistoryTable; DWORD ScopeIndex; DWORD Fill0; } DISPATCHER_CONTEXT, *PDISPATCHER_CONTEXT; struct _EXCEPTION_POINTERS; typedef LONG (*PEXCEPTION_FILTER) ( struct _EXCEPTION_POINTERS *ExceptionPointers, PVOID EstablisherFrame ); typedef void (*PTERMINATION_HANDLER) ( BOOLEAN _abnormal_termination, PVOID EstablisherFrame ); typedef struct _KNONVOLATILE_CONTEXT_POINTERS { union { PM128A FloatingContext[16]; struct { PM128A Xmm0; PM128A Xmm1; PM128A Xmm2; PM128A Xmm3; PM128A Xmm4; PM128A Xmm5; PM128A Xmm6; PM128A Xmm7; PM128A Xmm8; PM128A Xmm9; PM128A Xmm10; PM128A Xmm11; PM128A Xmm12; PM128A Xmm13; PM128A Xmm14; PM128A Xmm15; } ; } ; union { PDWORD64 IntegerContext[16]; struct { PDWORD64 Rax; PDWORD64 Rcx; PDWORD64 Rdx; PDWORD64 Rbx; PDWORD64 Rsp; PDWORD64 Rbp; PDWORD64 Rsi; PDWORD64 Rdi; PDWORD64 R8; PDWORD64 R9; PDWORD64 R10; PDWORD64 R11; PDWORD64 R12; PDWORD64 R13; PDWORD64 R14; PDWORD64 R15; } ; } ; } KNONVOLATILE_CONTEXT_POINTERS, *PKNONVOLATILE_CONTEXT_POINTERS; typedef struct _SCOPE_TABLE_ARM { DWORD Count; struct { DWORD BeginAddress; DWORD EndAddress; DWORD HandlerAddress; DWORD JumpTarget; } ScopeRecord[1]; } SCOPE_TABLE_ARM, *PSCOPE_TABLE_ARM; typedef struct _SCOPE_TABLE_ARM64 { DWORD Count; struct { DWORD BeginAddress; DWORD EndAddress; DWORD HandlerAddress; DWORD JumpTarget; } ScopeRecord[1]; } SCOPE_TABLE_ARM64, *PSCOPE_TABLE_ARM64; typedef struct _KNONVOLATILE_CONTEXT_POINTERS_ARM64 { PDWORD64 X19; PDWORD64 X20; PDWORD64 X21; PDWORD64 X22; PDWORD64 X23; PDWORD64 X24; PDWORD64 X25; PDWORD64 X26; PDWORD64 X27; PDWORD64 X28; PDWORD64 Fp; PDWORD64 Lr; PDWORD64 D8; PDWORD64 D9; PDWORD64 D10; PDWORD64 D11; PDWORD64 D12; PDWORD64 D13; PDWORD64 D14; PDWORD64 D15; } KNONVOLATILE_CONTEXT_POINTERS_ARM64, *PKNONVOLATILE_CONTEXT_POINTERS_ARM64; extern "C" { void __int2c ( void ); #pragma intrinsic(__int2c) } typedef struct _LDT_ENTRY { WORD LimitLow; WORD BaseLow; union { struct { BYTE BaseMid; BYTE Flags1; BYTE Flags2; BYTE BaseHi; } Bytes; struct { DWORD BaseMid : 8; DWORD Type : 5; DWORD Dpl : 2; DWORD Pres : 1; DWORD LimitHi : 4; DWORD Sys : 1; DWORD Reserved_0 : 1; DWORD Default_Big : 1; DWORD Granularity : 1; DWORD BaseHi : 8; } Bits; } HighWord; } LDT_ENTRY, *PLDT_ENTRY; extern "C" { __forceinline CHAR ReadAcquire8 ( CHAR const volatile *Source ) { CHAR Value; Value = *Source; return Value; } __forceinline CHAR ReadNoFence8 ( CHAR const volatile *Source ) { CHAR Value; Value = *Source; return Value; } __forceinline void WriteRelease8 ( CHAR volatile *Destination, CHAR Value ) { *Destination = Value; return; } __forceinline void WriteNoFence8 ( CHAR volatile *Destination, CHAR Value ) { *Destination = Value; return; } __forceinline SHORT ReadAcquire16 ( SHORT const volatile *Source ) { SHORT Value; Value = *Source; return Value; } __forceinline SHORT ReadNoFence16 ( SHORT const volatile *Source ) { SHORT Value; Value = *Source; return Value; } __forceinline void WriteRelease16 ( SHORT volatile *Destination, SHORT Value ) { *Destination = Value; return; } __forceinline void WriteNoFence16 ( SHORT volatile *Destination, SHORT Value ) { *Destination = Value; return; } __forceinline LONG ReadAcquire ( LONG const volatile *Source ) { LONG Value; Value = *Source; return Value; } __forceinline LONG ReadNoFence ( LONG const volatile *Source ) { LONG Value; Value = *Source; return Value; } __forceinline void WriteRelease ( LONG volatile *Destination, LONG Value ) { *Destination = Value; return; } __forceinline void WriteNoFence ( LONG volatile *Destination, LONG Value ) { *Destination = Value; return; } __forceinline LONG64 ReadAcquire64 ( LONG64 const volatile *Source ) { LONG64 Value; Value = *Source; return Value; } __forceinline LONG64 ReadNoFence64 ( LONG64 const volatile *Source ) { LONG64 Value; Value = *Source; return Value; } __forceinline void WriteRelease64 ( LONG64 volatile *Destination, LONG64 Value ) { *Destination = Value; return; } __forceinline void WriteNoFence64 ( LONG64 volatile *Destination, LONG64 Value ) { *Destination = Value; return; } } __forceinline CHAR ReadRaw8 ( CHAR const volatile *Source ) { CHAR Value; Value = *(CHAR *)Source; return Value; } __forceinline void WriteRaw8 ( CHAR volatile *Destination, CHAR Value ) { *(CHAR *)Destination = Value; return; } __forceinline SHORT ReadRaw16 ( SHORT const volatile *Source ) { SHORT Value; Value = *(SHORT *)Source; return Value; } __forceinline void WriteRaw16 ( SHORT volatile *Destination, SHORT Value ) { *(SHORT *)Destination = Value; return; } __forceinline LONG ReadRaw ( LONG const volatile *Source ) { LONG Value; Value = *(LONG *)Source; return Value; } __forceinline void WriteRaw ( LONG volatile *Destination, LONG Value ) { *(LONG *)Destination = Value; return; } __forceinline LONG64 ReadRaw64 ( LONG64 const volatile *Source ) { LONG64 Value; Value = *(LONG64 *)Source; return Value; } __forceinline void WriteRaw64 ( LONG64 volatile *Destination, LONG64 Value ) { *(LONG64 *)Destination = Value; return; } __forceinline BYTE ReadUCharAcquire ( BYTE const volatile *Source ) { return (BYTE )ReadAcquire8((PCHAR)Source); } __forceinline BYTE ReadUCharNoFence ( BYTE const volatile *Source ) { return (BYTE )ReadNoFence8((PCHAR)Source); } __forceinline BYTE ReadBooleanAcquire ( BOOLEAN const volatile *Source ) { return (BOOLEAN)ReadAcquire8((PCHAR)Source); } __forceinline BYTE ReadBooleanNoFence ( BOOLEAN const volatile *Source ) { return (BOOLEAN)ReadNoFence8((PCHAR)Source); } __forceinline BYTE ReadUCharRaw ( BYTE const volatile *Source ) { return (BYTE )ReadRaw8((PCHAR)Source); } __forceinline void WriteUCharRelease ( BYTE volatile *Destination, BYTE Value ) { WriteRelease8((PCHAR)Destination, (CHAR)Value); return; } __forceinline void WriteUCharNoFence ( BYTE volatile *Destination, BYTE Value ) { WriteNoFence8((PCHAR)Destination, (CHAR)Value); return; } __forceinline void WriteBooleanRelease ( BOOLEAN volatile *Destination, BOOLEAN Value ) { WriteRelease8((PCHAR)Destination, (CHAR)Value); return; } __forceinline void WriteBooleanNoFence ( BOOLEAN volatile *Destination, BOOLEAN Value ) { WriteNoFence8((PCHAR)Destination, (CHAR)Value); return; } __forceinline void WriteUCharRaw ( BYTE volatile *Destination, BYTE Value ) { WriteRaw8((PCHAR)Destination, (CHAR)Value); return; } __forceinline WORD ReadUShortAcquire ( WORD const volatile *Source ) { return (WORD )ReadAcquire16((PSHORT)Source); } __forceinline WORD ReadUShortNoFence ( WORD const volatile *Source ) { return (WORD )ReadNoFence16((PSHORT)Source); } __forceinline WORD ReadUShortRaw ( WORD const volatile *Source ) { return (WORD )ReadRaw16((PSHORT)Source); } __forceinline void WriteUShortRelease ( WORD volatile *Destination, WORD Value ) { WriteRelease16((PSHORT)Destination, (SHORT)Value); return; } __forceinline void WriteUShortNoFence ( WORD volatile *Destination, WORD Value ) { WriteNoFence16((PSHORT)Destination, (SHORT)Value); return; } __forceinline void WriteUShortRaw ( WORD volatile *Destination, WORD Value ) { WriteRaw16((PSHORT)Destination, (SHORT)Value); return; } __forceinline DWORD ReadULongAcquire ( DWORD const volatile *Source ) { return (DWORD)ReadAcquire((PLONG)Source); } __forceinline DWORD ReadULongNoFence ( DWORD const volatile *Source ) { return (DWORD)ReadNoFence((PLONG)Source); } __forceinline DWORD ReadULongRaw ( DWORD const volatile *Source ) { return (DWORD)ReadRaw((PLONG)Source); } __forceinline void WriteULongRelease ( DWORD volatile *Destination, DWORD Value ) { WriteRelease((PLONG)Destination, (LONG)Value); return; } __forceinline void WriteULongNoFence ( DWORD volatile *Destination, DWORD Value ) { WriteNoFence((PLONG)Destination, (LONG)Value); return; } __forceinline void WriteULongRaw ( DWORD volatile *Destination, DWORD Value ) { WriteRaw((PLONG)Destination, (LONG)Value); return; } __forceinline DWORD64 ReadULong64Acquire ( DWORD64 const volatile *Source ) { return (DWORD64)ReadAcquire64((PLONG64)Source); } __forceinline DWORD64 ReadULong64NoFence ( DWORD64 const volatile *Source ) { return (DWORD64)ReadNoFence64((PLONG64)Source); } __forceinline DWORD64 ReadULong64Raw ( DWORD64 const volatile *Source ) { return (DWORD64)ReadRaw64((PLONG64)Source); } __forceinline void WriteULong64Release ( DWORD64 volatile *Destination, DWORD64 Value ) { WriteRelease64((PLONG64)Destination, (LONG64)Value); return; } __forceinline void WriteULong64NoFence ( DWORD64 volatile *Destination, DWORD64 Value ) { WriteNoFence64((PLONG64)Destination, (LONG64)Value); return; } __forceinline void WriteULong64Raw ( DWORD64 volatile *Destination, DWORD64 Value ) { WriteRaw64((PLONG64)Destination, (LONG64)Value); return; } __forceinline PVOID ReadPointerAcquire ( PVOID const volatile *Source ) { return (PVOID)ReadAcquire64((PLONG64)Source); } __forceinline PVOID ReadPointerNoFence ( PVOID const volatile *Source ) { return (PVOID)ReadNoFence64((PLONG64)Source); } __forceinline PVOID ReadPointerRaw ( PVOID const volatile *Source ) { return (PVOID)ReadRaw64((PLONG64)Source); } __forceinline void WritePointerRelease ( PVOID volatile *Destination, PVOID Value ) { WriteRelease64((PLONG64)Destination, (LONG64)Value); return; } __forceinline void WritePointerNoFence ( PVOID volatile *Destination, PVOID Value ) { WriteNoFence64((PLONG64)Destination, (LONG64)Value); return; } __forceinline void WritePointerRaw ( PVOID volatile *Destination, PVOID Value ) { WriteRaw64((PLONG64)Destination, (LONG64)Value); return; } #pragma warning(push) #pragma warning(disable:4214) #pragma warning(disable:4668) #pragma warning(disable:4820) typedef struct _WOW64_FLOATING_SAVE_AREA { DWORD ControlWord; DWORD StatusWord; DWORD TagWord; DWORD ErrorOffset; DWORD ErrorSelector; DWORD DataOffset; DWORD DataSelector; BYTE RegisterArea[80]; DWORD Cr0NpxState; } WOW64_FLOATING_SAVE_AREA; typedef WOW64_FLOATING_SAVE_AREA *PWOW64_FLOATING_SAVE_AREA; #pragma warning(disable:4103) #pragma pack(push,4) typedef struct _WOW64_CONTEXT { DWORD ContextFlags; DWORD Dr0; DWORD Dr1; DWORD Dr2; DWORD Dr3; DWORD Dr6; DWORD Dr7; WOW64_FLOATING_SAVE_AREA FloatSave; DWORD SegGs; DWORD SegFs; DWORD SegEs; DWORD SegDs; DWORD Edi; DWORD Esi; DWORD Ebx; DWORD Edx; DWORD Ecx; DWORD Eax; DWORD Ebp; DWORD Eip; DWORD SegCs; DWORD EFlags; DWORD Esp; DWORD SegSs; BYTE ExtendedRegisters[512]; } WOW64_CONTEXT; typedef WOW64_CONTEXT *PWOW64_CONTEXT; #pragma warning(disable:4103) #pragma pack(pop) typedef struct _WOW64_LDT_ENTRY { WORD LimitLow; WORD BaseLow; union { struct { BYTE BaseMid; BYTE Flags1; BYTE Flags2; BYTE BaseHi; } Bytes; struct { DWORD BaseMid : 8; DWORD Type : 5; DWORD Dpl : 2; DWORD Pres : 1; DWORD LimitHi : 4; DWORD Sys : 1; DWORD Reserved_0 : 1; DWORD Default_Big : 1; DWORD Granularity : 1; DWORD BaseHi : 8; } Bits; } HighWord; } WOW64_LDT_ENTRY, *PWOW64_LDT_ENTRY; typedef struct _WOW64_DESCRIPTOR_TABLE_ENTRY { DWORD Selector; WOW64_LDT_ENTRY Descriptor; } WOW64_DESCRIPTOR_TABLE_ENTRY, *PWOW64_DESCRIPTOR_TABLE_ENTRY; #pragma warning(pop) typedef struct _EXCEPTION_RECORD { DWORD ExceptionCode; DWORD ExceptionFlags; struct _EXCEPTION_RECORD *ExceptionRecord; PVOID ExceptionAddress; DWORD NumberParameters; ULONG_PTR ExceptionInformation[15]; } EXCEPTION_RECORD; typedef EXCEPTION_RECORD *PEXCEPTION_RECORD; typedef struct _EXCEPTION_RECORD32 { DWORD ExceptionCode; DWORD ExceptionFlags; DWORD ExceptionRecord; DWORD ExceptionAddress; DWORD NumberParameters; DWORD ExceptionInformation[15]; } EXCEPTION_RECORD32, *PEXCEPTION_RECORD32; typedef struct _EXCEPTION_RECORD64 { DWORD ExceptionCode; DWORD ExceptionFlags; DWORD64 ExceptionRecord; DWORD64 ExceptionAddress; DWORD NumberParameters; DWORD __unusedAlignment; DWORD64 ExceptionInformation[15]; } EXCEPTION_RECORD64, *PEXCEPTION_RECORD64; typedef struct _EXCEPTION_POINTERS { PEXCEPTION_RECORD ExceptionRecord; PCONTEXT ContextRecord; } EXCEPTION_POINTERS, *PEXCEPTION_POINTERS; typedef PVOID PACCESS_TOKEN; typedef PVOID PSECURITY_DESCRIPTOR; typedef PVOID PSID; typedef PVOID PCLAIMS_BLOB; typedef DWORD ACCESS_MASK; typedef ACCESS_MASK *PACCESS_MASK; typedef struct _GENERIC_MAPPING { ACCESS_MASK GenericRead; ACCESS_MASK GenericWrite; ACCESS_MASK GenericExecute; ACCESS_MASK GenericAll; } GENERIC_MAPPING; typedef GENERIC_MAPPING *PGENERIC_MAPPING; #pragma warning(disable:4103) #pragma pack(push,4) typedef struct _LUID_AND_ATTRIBUTES { LUID Luid; DWORD Attributes; } LUID_AND_ATTRIBUTES, * PLUID_AND_ATTRIBUTES; typedef LUID_AND_ATTRIBUTES LUID_AND_ATTRIBUTES_ARRAY[1]; typedef LUID_AND_ATTRIBUTES_ARRAY *PLUID_AND_ATTRIBUTES_ARRAY; #pragma warning(disable:4103) #pragma pack(pop) typedef struct _SID_IDENTIFIER_AUTHORITY { BYTE Value[6]; } SID_IDENTIFIER_AUTHORITY, *PSID_IDENTIFIER_AUTHORITY; typedef struct _SID { BYTE Revision; BYTE SubAuthorityCount; SID_IDENTIFIER_AUTHORITY IdentifierAuthority; DWORD SubAuthority[1]; } SID, *PISID; typedef union _SE_SID { SID Sid; BYTE Buffer[(sizeof(SID) - sizeof(DWORD) + ((15) * sizeof(DWORD)))]; } SE_SID, *PSE_SID; typedef enum _SID_NAME_USE { SidTypeUser = 1, SidTypeGroup, SidTypeDomain, SidTypeAlias, SidTypeWellKnownGroup, SidTypeDeletedAccount, SidTypeInvalid, SidTypeUnknown, SidTypeComputer, SidTypeLabel, SidTypeLogonSession } SID_NAME_USE, *PSID_NAME_USE; typedef struct _SID_AND_ATTRIBUTES { PSID Sid; DWORD Attributes; } SID_AND_ATTRIBUTES, * PSID_AND_ATTRIBUTES; typedef SID_AND_ATTRIBUTES SID_AND_ATTRIBUTES_ARRAY[1]; typedef SID_AND_ATTRIBUTES_ARRAY *PSID_AND_ATTRIBUTES_ARRAY; typedef ULONG_PTR SID_HASH_ENTRY, *PSID_HASH_ENTRY; typedef struct _SID_AND_ATTRIBUTES_HASH { DWORD SidCount; PSID_AND_ATTRIBUTES SidAttr; SID_HASH_ENTRY Hash[32]; } SID_AND_ATTRIBUTES_HASH, *PSID_AND_ATTRIBUTES_HASH; typedef enum { WinNullSid = 0, WinWorldSid = 1, WinLocalSid = 2, WinCreatorOwnerSid = 3, WinCreatorGroupSid = 4, WinCreatorOwnerServerSid = 5, WinCreatorGroupServerSid = 6, WinNtAuthoritySid = 7, WinDialupSid = 8, WinNetworkSid = 9, WinBatchSid = 10, WinInteractiveSid = 11, WinServiceSid = 12, WinAnonymousSid = 13, WinProxySid = 14, WinEnterpriseControllersSid = 15, WinSelfSid = 16, WinAuthenticatedUserSid = 17, WinRestrictedCodeSid = 18, WinTerminalServerSid = 19, WinRemoteLogonIdSid = 20, WinLogonIdsSid = 21, WinLocalSystemSid = 22, WinLocalServiceSid = 23, WinNetworkServiceSid = 24, WinBuiltinDomainSid = 25, WinBuiltinAdministratorsSid = 26, WinBuiltinUsersSid = 27, WinBuiltinGuestsSid = 28, WinBuiltinPowerUsersSid = 29, WinBuiltinAccountOperatorsSid = 30, WinBuiltinSystemOperatorsSid = 31, WinBuiltinPrintOperatorsSid = 32, WinBuiltinBackupOperatorsSid = 33, WinBuiltinReplicatorSid = 34, WinBuiltinPreWindows2000CompatibleAccessSid = 35, WinBuiltinRemoteDesktopUsersSid = 36, WinBuiltinNetworkConfigurationOperatorsSid = 37, WinAccountAdministratorSid = 38, WinAccountGuestSid = 39, WinAccountKrbtgtSid = 40, WinAccountDomainAdminsSid = 41, WinAccountDomainUsersSid = 42, WinAccountDomainGuestsSid = 43, WinAccountComputersSid = 44, WinAccountControllersSid = 45, WinAccountCertAdminsSid = 46, WinAccountSchemaAdminsSid = 47, WinAccountEnterpriseAdminsSid = 48, WinAccountPolicyAdminsSid = 49, WinAccountRasAndIasServersSid = 50, WinNTLMAuthenticationSid = 51, WinDigestAuthenticationSid = 52, WinSChannelAuthenticationSid = 53, WinThisOrganizationSid = 54, WinOtherOrganizationSid = 55, WinBuiltinIncomingForestTrustBuildersSid = 56, WinBuiltinPerfMonitoringUsersSid = 57, WinBuiltinPerfLoggingUsersSid = 58, WinBuiltinAuthorizationAccessSid = 59, WinBuiltinTerminalServerLicenseServersSid = 60, WinBuiltinDCOMUsersSid = 61, WinBuiltinIUsersSid = 62, WinIUserSid = 63, WinBuiltinCryptoOperatorsSid = 64, WinUntrustedLabelSid = 65, WinLowLabelSid = 66, WinMediumLabelSid = 67, WinHighLabelSid = 68, WinSystemLabelSid = 69, WinWriteRestrictedCodeSid = 70, WinCreatorOwnerRightsSid = 71, WinCacheablePrincipalsGroupSid = 72, WinNonCacheablePrincipalsGroupSid = 73, WinEnterpriseReadonlyControllersSid = 74, WinAccountReadonlyControllersSid = 75, WinBuiltinEventLogReadersGroup = 76, WinNewEnterpriseReadonlyControllersSid = 77, WinBuiltinCertSvcDComAccessGroup = 78, WinMediumPlusLabelSid = 79, WinLocalLogonSid = 80, WinConsoleLogonSid = 81, WinThisOrganizationCertificateSid = 82, WinApplicationPackageAuthoritySid = 83, WinBuiltinAnyPackageSid = 84, WinCapabilityInternetClientSid = 85, WinCapabilityInternetClientServerSid = 86, WinCapabilityPrivateNetworkClientServerSid = 87, WinCapabilityPicturesLibrarySid = 88, WinCapabilityVideosLibrarySid = 89, WinCapabilityMusicLibrarySid = 90, WinCapabilityDocumentsLibrarySid = 91, WinCapabilitySharedUserCertificatesSid = 92, WinCapabilityEnterpriseAuthenticationSid = 93, WinCapabilityRemovableStorageSid = 94, WinBuiltinRDSRemoteAccessServersSid = 95, WinBuiltinRDSEndpointServersSid = 96, WinBuiltinRDSManagementServersSid = 97, WinUserModeDriversSid = 98, WinBuiltinHyperVAdminsSid = 99, WinAccountCloneableControllersSid = 100, WinBuiltinAccessControlAssistanceOperatorsSid = 101, WinBuiltinRemoteManagementUsersSid = 102, WinAuthenticationAuthorityAssertedSid = 103, WinAuthenticationServiceAssertedSid = 104, WinLocalAccountSid = 105, WinLocalAccountAndAdministratorSid = 106, WinAccountProtectedUsersSid = 107, WinCapabilityAppointmentsSid = 108, WinCapabilityContactsSid = 109, WinAccountDefaultSystemManagedSid = 110, WinBuiltinDefaultSystemManagedGroupSid = 111, WinBuiltinStorageReplicaAdminsSid = 112, WinAccountKeyAdminsSid = 113, WinAccountEnterpriseKeyAdminsSid = 114, WinAuthenticationKeyTrustSid = 115, WinAuthenticationKeyPropertyMFASid = 116, WinAuthenticationKeyPropertyAttestationSid = 117, WinAuthenticationFreshKeyAuthSid = 118, WinBuiltinDeviceOwnersSid = 119, } WELL_KNOWN_SID_TYPE; typedef struct _ACL { BYTE AclRevision; BYTE Sbz1; WORD AclSize; WORD AceCount; WORD Sbz2; } ACL; typedef ACL *PACL; typedef struct _ACE_HEADER { BYTE AceType; BYTE AceFlags; WORD AceSize; } ACE_HEADER; typedef ACE_HEADER *PACE_HEADER; typedef struct _ACCESS_ALLOWED_ACE { ACE_HEADER Header; ACCESS_MASK Mask; DWORD SidStart; } ACCESS_ALLOWED_ACE; typedef ACCESS_ALLOWED_ACE *PACCESS_ALLOWED_ACE; typedef struct _ACCESS_DENIED_ACE { ACE_HEADER Header; ACCESS_MASK Mask; DWORD SidStart; } ACCESS_DENIED_ACE; typedef ACCESS_DENIED_ACE *PACCESS_DENIED_ACE; typedef struct _SYSTEM_AUDIT_ACE { ACE_HEADER Header; ACCESS_MASK Mask; DWORD SidStart; } SYSTEM_AUDIT_ACE; typedef SYSTEM_AUDIT_ACE *PSYSTEM_AUDIT_ACE; typedef struct _SYSTEM_ALARM_ACE { ACE_HEADER Header; ACCESS_MASK Mask; DWORD SidStart; } SYSTEM_ALARM_ACE; typedef SYSTEM_ALARM_ACE *PSYSTEM_ALARM_ACE; typedef struct _SYSTEM_RESOURCE_ATTRIBUTE_ACE { ACE_HEADER Header; ACCESS_MASK Mask; DWORD SidStart; } SYSTEM_RESOURCE_ATTRIBUTE_ACE, *PSYSTEM_RESOURCE_ATTRIBUTE_ACE; typedef struct _SYSTEM_SCOPED_POLICY_ID_ACE { ACE_HEADER Header; ACCESS_MASK Mask; DWORD SidStart; } SYSTEM_SCOPED_POLICY_ID_ACE, *PSYSTEM_SCOPED_POLICY_ID_ACE; typedef struct _SYSTEM_MANDATORY_LABEL_ACE { ACE_HEADER Header; ACCESS_MASK Mask; DWORD SidStart; } SYSTEM_MANDATORY_LABEL_ACE, *PSYSTEM_MANDATORY_LABEL_ACE; typedef struct _SYSTEM_PROCESS_TRUST_LABEL_ACE { ACE_HEADER Header; ACCESS_MASK Mask; DWORD SidStart; } SYSTEM_PROCESS_TRUST_LABEL_ACE, *PSYSTEM_PROCESS_TRUST_LABEL_ACE; typedef struct _SYSTEM_ACCESS_FILTER_ACE { ACE_HEADER Header; ACCESS_MASK Mask; DWORD SidStart; } SYSTEM_ACCESS_FILTER_ACE, *PSYSTEM_ACCESS_FILTER_ACE; typedef struct _ACCESS_ALLOWED_OBJECT_ACE { ACE_HEADER Header; ACCESS_MASK Mask; DWORD Flags; GUID ObjectType; GUID InheritedObjectType; DWORD SidStart; } ACCESS_ALLOWED_OBJECT_ACE, *PACCESS_ALLOWED_OBJECT_ACE; typedef struct _ACCESS_DENIED_OBJECT_ACE { ACE_HEADER Header; ACCESS_MASK Mask; DWORD Flags; GUID ObjectType; GUID InheritedObjectType; DWORD SidStart; } ACCESS_DENIED_OBJECT_ACE, *PACCESS_DENIED_OBJECT_ACE; typedef struct _SYSTEM_AUDIT_OBJECT_ACE { ACE_HEADER Header; ACCESS_MASK Mask; DWORD Flags; GUID ObjectType; GUID InheritedObjectType; DWORD SidStart; } SYSTEM_AUDIT_OBJECT_ACE, *PSYSTEM_AUDIT_OBJECT_ACE; typedef struct _SYSTEM_ALARM_OBJECT_ACE { ACE_HEADER Header; ACCESS_MASK Mask; DWORD Flags; GUID ObjectType; GUID InheritedObjectType; DWORD SidStart; } SYSTEM_ALARM_OBJECT_ACE, *PSYSTEM_ALARM_OBJECT_ACE; typedef struct _ACCESS_ALLOWED_CALLBACK_ACE { ACE_HEADER Header; ACCESS_MASK Mask; DWORD SidStart; } ACCESS_ALLOWED_CALLBACK_ACE, *PACCESS_ALLOWED_CALLBACK_ACE; typedef struct _ACCESS_DENIED_CALLBACK_ACE { ACE_HEADER Header; ACCESS_MASK Mask; DWORD SidStart; } ACCESS_DENIED_CALLBACK_ACE, *PACCESS_DENIED_CALLBACK_ACE; typedef struct _SYSTEM_AUDIT_CALLBACK_ACE { ACE_HEADER Header; ACCESS_MASK Mask; DWORD SidStart; } SYSTEM_AUDIT_CALLBACK_ACE, *PSYSTEM_AUDIT_CALLBACK_ACE; typedef struct _SYSTEM_ALARM_CALLBACK_ACE { ACE_HEADER Header; ACCESS_MASK Mask; DWORD SidStart; } SYSTEM_ALARM_CALLBACK_ACE, *PSYSTEM_ALARM_CALLBACK_ACE; typedef struct _ACCESS_ALLOWED_CALLBACK_OBJECT_ACE { ACE_HEADER Header; ACCESS_MASK Mask; DWORD Flags; GUID ObjectType; GUID InheritedObjectType; DWORD SidStart; } ACCESS_ALLOWED_CALLBACK_OBJECT_ACE, *PACCESS_ALLOWED_CALLBACK_OBJECT_ACE; typedef struct _ACCESS_DENIED_CALLBACK_OBJECT_ACE { ACE_HEADER Header; ACCESS_MASK Mask; DWORD Flags; GUID ObjectType; GUID InheritedObjectType; DWORD SidStart; } ACCESS_DENIED_CALLBACK_OBJECT_ACE, *PACCESS_DENIED_CALLBACK_OBJECT_ACE; typedef struct _SYSTEM_AUDIT_CALLBACK_OBJECT_ACE { ACE_HEADER Header; ACCESS_MASK Mask; DWORD Flags; GUID ObjectType; GUID InheritedObjectType; DWORD SidStart; } SYSTEM_AUDIT_CALLBACK_OBJECT_ACE, *PSYSTEM_AUDIT_CALLBACK_OBJECT_ACE; typedef struct _SYSTEM_ALARM_CALLBACK_OBJECT_ACE { ACE_HEADER Header; ACCESS_MASK Mask; DWORD Flags; GUID ObjectType; GUID InheritedObjectType; DWORD SidStart; } SYSTEM_ALARM_CALLBACK_OBJECT_ACE, *PSYSTEM_ALARM_CALLBACK_OBJECT_ACE; typedef enum _ACL_INFORMATION_CLASS { AclRevisionInformation = 1, AclSizeInformation } ACL_INFORMATION_CLASS; typedef struct _ACL_REVISION_INFORMATION { DWORD AclRevision; } ACL_REVISION_INFORMATION; typedef ACL_REVISION_INFORMATION *PACL_REVISION_INFORMATION; typedef struct _ACL_SIZE_INFORMATION { DWORD AceCount; DWORD AclBytesInUse; DWORD AclBytesFree; } ACL_SIZE_INFORMATION; typedef ACL_SIZE_INFORMATION *PACL_SIZE_INFORMATION; typedef WORD SECURITY_DESCRIPTOR_CONTROL, *PSECURITY_DESCRIPTOR_CONTROL; typedef struct _SECURITY_DESCRIPTOR_RELATIVE { BYTE Revision; BYTE Sbz1; SECURITY_DESCRIPTOR_CONTROL Control; DWORD Owner; DWORD Group; DWORD Sacl; DWORD Dacl; } SECURITY_DESCRIPTOR_RELATIVE, *PISECURITY_DESCRIPTOR_RELATIVE; typedef struct _SECURITY_DESCRIPTOR { BYTE Revision; BYTE Sbz1; SECURITY_DESCRIPTOR_CONTROL Control; PSID Owner; PSID Group; PACL Sacl; PACL Dacl; } SECURITY_DESCRIPTOR, *PISECURITY_DESCRIPTOR; typedef struct _SECURITY_OBJECT_AI_PARAMS { DWORD Size; DWORD ConstraintMask; } SECURITY_OBJECT_AI_PARAMS, *PSECURITY_OBJECT_AI_PARAMS; typedef struct _OBJECT_TYPE_LIST { WORD Level; WORD Sbz; GUID *ObjectType; } OBJECT_TYPE_LIST, *POBJECT_TYPE_LIST; typedef enum _AUDIT_EVENT_TYPE { AuditEventObjectAccess, AuditEventDirectoryServiceAccess } AUDIT_EVENT_TYPE, *PAUDIT_EVENT_TYPE; typedef struct _PRIVILEGE_SET { DWORD PrivilegeCount; DWORD Control; LUID_AND_ATTRIBUTES Privilege[1]; } PRIVILEGE_SET, * PPRIVILEGE_SET; typedef enum _ACCESS_REASON_TYPE{ AccessReasonNone = 0x00000000, AccessReasonAllowedAce = 0x00010000, AccessReasonDeniedAce = 0x00020000, AccessReasonAllowedParentAce = 0x00030000, AccessReasonDeniedParentAce = 0x00040000, AccessReasonNotGrantedByCape = 0x00050000, AccessReasonNotGrantedByParentCape = 0x00060000, AccessReasonNotGrantedToAppContainer = 0x00070000, AccessReasonMissingPrivilege = 0x00100000, AccessReasonFromPrivilege = 0x00200000, AccessReasonIntegrityLevel = 0x00300000, AccessReasonOwnership = 0x00400000, AccessReasonNullDacl = 0x00500000, AccessReasonEmptyDacl = 0x00600000, AccessReasonNoSD = 0x00700000, AccessReasonNoGrant = 0x00800000, AccessReasonTrustLabel = 0x00900000, AccessReasonFilterAce = 0x00a00000 } ACCESS_REASON_TYPE; typedef DWORD ACCESS_REASON; typedef struct _ACCESS_REASONS{ ACCESS_REASON Data[32]; } ACCESS_REASONS, *PACCESS_REASONS; typedef struct _SE_SECURITY_DESCRIPTOR { DWORD Size; DWORD Flags; PSECURITY_DESCRIPTOR SecurityDescriptor; } SE_SECURITY_DESCRIPTOR, *PSE_SECURITY_DESCRIPTOR; typedef struct _SE_ACCESS_REQUEST { DWORD Size; PSE_SECURITY_DESCRIPTOR SeSecurityDescriptor; ACCESS_MASK DesiredAccess; ACCESS_MASK PreviouslyGrantedAccess; PSID PrincipalSelfSid; PGENERIC_MAPPING GenericMapping; DWORD ObjectTypeListCount; POBJECT_TYPE_LIST ObjectTypeList; } SE_ACCESS_REQUEST, *PSE_ACCESS_REQUEST; typedef struct _SE_ACCESS_REPLY { DWORD Size; DWORD ResultListCount; PACCESS_MASK GrantedAccess; PDWORD AccessStatus; PACCESS_REASONS AccessReason; PPRIVILEGE_SET* Privileges; } SE_ACCESS_REPLY, *PSE_ACCESS_REPLY; typedef enum _SECURITY_IMPERSONATION_LEVEL { SecurityAnonymous, SecurityIdentification, SecurityImpersonation, SecurityDelegation } SECURITY_IMPERSONATION_LEVEL, * PSECURITY_IMPERSONATION_LEVEL; typedef enum _TOKEN_TYPE { TokenPrimary = 1, TokenImpersonation } TOKEN_TYPE; typedef TOKEN_TYPE *PTOKEN_TYPE; typedef enum _TOKEN_ELEVATION_TYPE { TokenElevationTypeDefault = 1, TokenElevationTypeFull, TokenElevationTypeLimited, } TOKEN_ELEVATION_TYPE, *PTOKEN_ELEVATION_TYPE; typedef enum _TOKEN_INFORMATION_CLASS { TokenUser = 1, TokenGroups, TokenPrivileges, TokenOwner, TokenPrimaryGroup, TokenDefaultDacl, TokenSource, TokenType, TokenImpersonationLevel, TokenStatistics, TokenRestrictedSids, TokenSessionId, TokenGroupsAndPrivileges, TokenSessionReference, TokenSandBoxInert, TokenAuditPolicy, TokenOrigin, TokenElevationType, TokenLinkedToken, TokenElevation, TokenHasRestrictions, TokenAccessInformation, TokenVirtualizationAllowed, TokenVirtualizationEnabled, TokenIntegrityLevel, TokenUIAccess, TokenMandatoryPolicy, TokenLogonSid, TokenIsAppContainer, TokenCapabilities, TokenAppContainerSid, TokenAppContainerNumber, TokenUserClaimAttributes, TokenDeviceClaimAttributes, TokenRestrictedUserClaimAttributes, TokenRestrictedDeviceClaimAttributes, TokenDeviceGroups, TokenRestrictedDeviceGroups, TokenSecurityAttributes, TokenIsRestricted, TokenProcessTrustLevel, TokenPrivateNameSpace, TokenSingletonAttributes, TokenBnoIsolation, TokenChildProcessFlags, TokenIsLessPrivilegedAppContainer, TokenIsSandboxed, TokenOriginatingProcessTrustLevel, MaxTokenInfoClass } TOKEN_INFORMATION_CLASS, *PTOKEN_INFORMATION_CLASS; typedef struct _TOKEN_USER { SID_AND_ATTRIBUTES User; } TOKEN_USER, *PTOKEN_USER; typedef struct _SE_TOKEN_USER { union { TOKEN_USER TokenUser; SID_AND_ATTRIBUTES User; } ; union { SID Sid; BYTE Buffer[(sizeof(SID) - sizeof(DWORD) + ((15) * sizeof(DWORD)))]; } ; } SE_TOKEN_USER , PSE_TOKEN_USER; typedef struct _TOKEN_GROUPS { DWORD GroupCount; SID_AND_ATTRIBUTES Groups[1]; } TOKEN_GROUPS, *PTOKEN_GROUPS; typedef struct _TOKEN_PRIVILEGES { DWORD PrivilegeCount; LUID_AND_ATTRIBUTES Privileges[1]; } TOKEN_PRIVILEGES, *PTOKEN_PRIVILEGES; typedef struct _TOKEN_OWNER { PSID Owner; } TOKEN_OWNER, *PTOKEN_OWNER; typedef struct _TOKEN_PRIMARY_GROUP { PSID PrimaryGroup; } TOKEN_PRIMARY_GROUP, *PTOKEN_PRIMARY_GROUP; typedef struct _TOKEN_DEFAULT_DACL { PACL DefaultDacl; } TOKEN_DEFAULT_DACL, *PTOKEN_DEFAULT_DACL; typedef struct _TOKEN_USER_CLAIMS { PCLAIMS_BLOB UserClaims; } TOKEN_USER_CLAIMS, *PTOKEN_USER_CLAIMS; typedef struct _TOKEN_DEVICE_CLAIMS { PCLAIMS_BLOB DeviceClaims; } TOKEN_DEVICE_CLAIMS, *PTOKEN_DEVICE_CLAIMS; typedef struct _TOKEN_GROUPS_AND_PRIVILEGES { DWORD SidCount; DWORD SidLength; PSID_AND_ATTRIBUTES Sids; DWORD RestrictedSidCount; DWORD RestrictedSidLength; PSID_AND_ATTRIBUTES RestrictedSids; DWORD PrivilegeCount; DWORD PrivilegeLength; PLUID_AND_ATTRIBUTES Privileges; LUID AuthenticationId; } TOKEN_GROUPS_AND_PRIVILEGES, *PTOKEN_GROUPS_AND_PRIVILEGES; typedef struct _TOKEN_LINKED_TOKEN { HANDLE LinkedToken; } TOKEN_LINKED_TOKEN, *PTOKEN_LINKED_TOKEN; typedef struct _TOKEN_ELEVATION { DWORD TokenIsElevated; } TOKEN_ELEVATION, *PTOKEN_ELEVATION; typedef struct _TOKEN_MANDATORY_LABEL { SID_AND_ATTRIBUTES Label; } TOKEN_MANDATORY_LABEL, *PTOKEN_MANDATORY_LABEL; typedef struct _TOKEN_MANDATORY_POLICY { DWORD Policy; } TOKEN_MANDATORY_POLICY, *PTOKEN_MANDATORY_POLICY; typedef PVOID PSECURITY_ATTRIBUTES_OPAQUE; typedef struct _TOKEN_ACCESS_INFORMATION { PSID_AND_ATTRIBUTES_HASH SidHash; PSID_AND_ATTRIBUTES_HASH RestrictedSidHash; PTOKEN_PRIVILEGES Privileges; LUID AuthenticationId; TOKEN_TYPE TokenType; SECURITY_IMPERSONATION_LEVEL ImpersonationLevel; TOKEN_MANDATORY_POLICY MandatoryPolicy; DWORD Flags; DWORD AppContainerNumber; PSID PackageSid; PSID_AND_ATTRIBUTES_HASH CapabilitiesHash; PSID TrustLevelSid; PSECURITY_ATTRIBUTES_OPAQUE SecurityAttributes; } TOKEN_ACCESS_INFORMATION, *PTOKEN_ACCESS_INFORMATION; typedef struct _TOKEN_AUDIT_POLICY { BYTE PerUserPolicy[(((59)) >> 1) + 1]; } TOKEN_AUDIT_POLICY, *PTOKEN_AUDIT_POLICY; typedef struct _TOKEN_SOURCE { CHAR SourceName[8]; LUID SourceIdentifier; } TOKEN_SOURCE, *PTOKEN_SOURCE; typedef struct _TOKEN_STATISTICS { LUID TokenId; LUID AuthenticationId; LARGE_INTEGER ExpirationTime; TOKEN_TYPE TokenType; SECURITY_IMPERSONATION_LEVEL ImpersonationLevel; DWORD DynamicCharged; DWORD DynamicAvailable; DWORD GroupCount; DWORD PrivilegeCount; LUID ModifiedId; } TOKEN_STATISTICS, *PTOKEN_STATISTICS; typedef struct _TOKEN_CONTROL { LUID TokenId; LUID AuthenticationId; LUID ModifiedId; TOKEN_SOURCE TokenSource; } TOKEN_CONTROL, *PTOKEN_CONTROL; typedef struct _TOKEN_ORIGIN { LUID OriginatingLogonSession ; } TOKEN_ORIGIN, * PTOKEN_ORIGIN ; typedef enum _MANDATORY_LEVEL { MandatoryLevelUntrusted = 0, MandatoryLevelLow, MandatoryLevelMedium, MandatoryLevelHigh, MandatoryLevelSystem, MandatoryLevelSecureProcess, MandatoryLevelCount } MANDATORY_LEVEL, *PMANDATORY_LEVEL; typedef struct _TOKEN_APPCONTAINER_INFORMATION { PSID TokenAppContainer; } TOKEN_APPCONTAINER_INFORMATION, *PTOKEN_APPCONTAINER_INFORMATION; typedef struct _TOKEN_SID_INFORMATION { PSID Sid; } TOKEN_SID_INFORMATION, *PTOKEN_SID_INFORMATION; typedef struct _TOKEN_BNO_ISOLATION_INFORMATION { PWSTR IsolationPrefix; BOOLEAN IsolationEnabled; } TOKEN_BNO_ISOLATION_INFORMATION, *PTOKEN_BNO_ISOLATION_INFORMATION; typedef struct _CLAIM_SECURITY_ATTRIBUTE_FQBN_VALUE { DWORD64 Version; PWSTR Name; } CLAIM_SECURITY_ATTRIBUTE_FQBN_VALUE, *PCLAIM_SECURITY_ATTRIBUTE_FQBN_VALUE; typedef struct _CLAIM_SECURITY_ATTRIBUTE_OCTET_STRING_VALUE { PVOID pValue; DWORD ValueLength; } CLAIM_SECURITY_ATTRIBUTE_OCTET_STRING_VALUE, *PCLAIM_SECURITY_ATTRIBUTE_OCTET_STRING_VALUE; typedef struct _CLAIM_SECURITY_ATTRIBUTE_V1 { PWSTR Name; WORD ValueType; WORD Reserved; DWORD Flags; DWORD ValueCount; union { PLONG64 pInt64; PDWORD64 pUint64; PWSTR *ppString; PCLAIM_SECURITY_ATTRIBUTE_FQBN_VALUE pFqbn; PCLAIM_SECURITY_ATTRIBUTE_OCTET_STRING_VALUE pOctetString; } Values; } CLAIM_SECURITY_ATTRIBUTE_V1, *PCLAIM_SECURITY_ATTRIBUTE_V1; typedef struct _CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1 { DWORD Name; WORD ValueType; WORD Reserved; DWORD Flags; DWORD ValueCount; union { DWORD pInt64[1]; DWORD pUint64[1]; DWORD ppString[1]; DWORD pFqbn[1]; DWORD pOctetString[1]; } Values; } CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1, *PCLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1; typedef struct _CLAIM_SECURITY_ATTRIBUTES_INFORMATION { WORD Version; WORD Reserved; DWORD AttributeCount; union { PCLAIM_SECURITY_ATTRIBUTE_V1 pAttributeV1; } Attribute; } CLAIM_SECURITY_ATTRIBUTES_INFORMATION, *PCLAIM_SECURITY_ATTRIBUTES_INFORMATION; typedef BOOLEAN SECURITY_CONTEXT_TRACKING_MODE, * PSECURITY_CONTEXT_TRACKING_MODE; typedef struct _SECURITY_QUALITY_OF_SERVICE { DWORD Length; SECURITY_IMPERSONATION_LEVEL ImpersonationLevel; SECURITY_CONTEXT_TRACKING_MODE ContextTrackingMode; BOOLEAN EffectiveOnly; } SECURITY_QUALITY_OF_SERVICE, * PSECURITY_QUALITY_OF_SERVICE; typedef struct _SE_IMPERSONATION_STATE { PACCESS_TOKEN Token; BOOLEAN CopyOnOpen; BOOLEAN EffectiveOnly; SECURITY_IMPERSONATION_LEVEL Level; } SE_IMPERSONATION_STATE, *PSE_IMPERSONATION_STATE; typedef DWORD SECURITY_INFORMATION, *PSECURITY_INFORMATION; typedef BYTE SE_SIGNING_LEVEL, *PSE_SIGNING_LEVEL; typedef enum _SE_IMAGE_SIGNATURE_TYPE { SeImageSignatureNone = 0, SeImageSignatureEmbedded, SeImageSignatureCache, SeImageSignatureCatalogCached, SeImageSignatureCatalogNotCached, SeImageSignatureCatalogHint, SeImageSignaturePackageCatalog, } SE_IMAGE_SIGNATURE_TYPE, *PSE_IMAGE_SIGNATURE_TYPE; typedef enum _SE_LEARNING_MODE_DATA_TYPE { SeLearningModeInvalidType = 0, SeLearningModeSettings, SeLearningModeMax } SE_LEARNING_MODE_DATA_TYPE; typedef struct _SECURITY_CAPABILITIES { PSID AppContainerSid; PSID_AND_ATTRIBUTES Capabilities; DWORD CapabilityCount; DWORD Reserved; } SECURITY_CAPABILITIES, *PSECURITY_CAPABILITIES, *LPSECURITY_CAPABILITIES; typedef struct _JOB_SET_ARRAY { HANDLE JobHandle; DWORD MemberLevel; DWORD Flags; } JOB_SET_ARRAY, *PJOB_SET_ARRAY; typedef struct _EXCEPTION_REGISTRATION_RECORD { struct _EXCEPTION_REGISTRATION_RECORD *Next; PEXCEPTION_ROUTINE Handler; } EXCEPTION_REGISTRATION_RECORD; typedef EXCEPTION_REGISTRATION_RECORD *PEXCEPTION_REGISTRATION_RECORD; typedef struct _NT_TIB { struct _EXCEPTION_REGISTRATION_RECORD *ExceptionList; PVOID StackBase; PVOID StackLimit; PVOID SubSystemTib; union { PVOID FiberData; DWORD Version; }; PVOID ArbitraryUserPointer; struct _NT_TIB *Self; } NT_TIB; typedef NT_TIB *PNT_TIB; typedef struct _NT_TIB32 { DWORD ExceptionList; DWORD StackBase; DWORD StackLimit; DWORD SubSystemTib; union { DWORD FiberData; DWORD Version; }; DWORD ArbitraryUserPointer; DWORD Self; } NT_TIB32, *PNT_TIB32; typedef struct _NT_TIB64 { DWORD64 ExceptionList; DWORD64 StackBase; DWORD64 StackLimit; DWORD64 SubSystemTib; union { DWORD64 FiberData; DWORD Version; }; DWORD64 ArbitraryUserPointer; DWORD64 Self; } NT_TIB64, *PNT_TIB64; typedef struct _UMS_CREATE_THREAD_ATTRIBUTES { DWORD UmsVersion; PVOID UmsContext; PVOID UmsCompletionList; } UMS_CREATE_THREAD_ATTRIBUTES, *PUMS_CREATE_THREAD_ATTRIBUTES; typedef struct _WOW64_ARCHITECTURE_INFORMATION { DWORD Machine : 16; DWORD KernelMode : 1; DWORD UserMode : 1; DWORD Native : 1; DWORD Process : 1; DWORD ReservedZero0 : 12; } WOW64_ARCHITECTURE_INFORMATION; typedef struct _PROCESS_DYNAMIC_EH_CONTINUATION_TARGET { ULONG_PTR TargetAddress; ULONG_PTR Flags; } PROCESS_DYNAMIC_EH_CONTINUATION_TARGET, *PPROCESS_DYNAMIC_EH_CONTINUATION_TARGET; typedef struct _PROCESS_DYNAMIC_EH_CONTINUATION_TARGETS_INFORMATION { WORD NumberOfTargets; WORD Reserved; DWORD Reserved2; PPROCESS_DYNAMIC_EH_CONTINUATION_TARGET Targets; } PROCESS_DYNAMIC_EH_CONTINUATION_TARGETS_INFORMATION, *PPROCESS_DYNAMIC_EH_CONTINUATION_TARGETS_INFORMATION; typedef struct _QUOTA_LIMITS { SIZE_T PagedPoolLimit; SIZE_T NonPagedPoolLimit; SIZE_T MinimumWorkingSetSize; SIZE_T MaximumWorkingSetSize; SIZE_T PagefileLimit; LARGE_INTEGER TimeLimit; } QUOTA_LIMITS, *PQUOTA_LIMITS; typedef union _RATE_QUOTA_LIMIT { DWORD RateData; struct { DWORD RatePercent : 7; DWORD Reserved0 : 25; } ; } RATE_QUOTA_LIMIT, *PRATE_QUOTA_LIMIT; typedef struct _QUOTA_LIMITS_EX { SIZE_T PagedPoolLimit; SIZE_T NonPagedPoolLimit; SIZE_T MinimumWorkingSetSize; SIZE_T MaximumWorkingSetSize; SIZE_T PagefileLimit; LARGE_INTEGER TimeLimit; SIZE_T WorkingSetLimit; SIZE_T Reserved2; SIZE_T Reserved3; SIZE_T Reserved4; DWORD Flags; RATE_QUOTA_LIMIT CpuRateLimit; } QUOTA_LIMITS_EX, *PQUOTA_LIMITS_EX; typedef struct _IO_COUNTERS { ULONGLONG ReadOperationCount; ULONGLONG WriteOperationCount; ULONGLONG OtherOperationCount; ULONGLONG ReadTransferCount; ULONGLONG WriteTransferCount; ULONGLONG OtherTransferCount; } IO_COUNTERS; typedef IO_COUNTERS *PIO_COUNTERS; typedef enum _HARDWARE_COUNTER_TYPE { PMCCounter, MaxHardwareCounterType } HARDWARE_COUNTER_TYPE, *PHARDWARE_COUNTER_TYPE; typedef enum _PROCESS_MITIGATION_POLICY { ProcessDEPPolicy, ProcessASLRPolicy, ProcessDynamicCodePolicy, ProcessStrictHandleCheckPolicy, ProcessSystemCallDisablePolicy, ProcessMitigationOptionsMask, ProcessExtensionPointDisablePolicy, ProcessControlFlowGuardPolicy, ProcessSignaturePolicy, ProcessFontDisablePolicy, ProcessImageLoadPolicy, ProcessSystemCallFilterPolicy, ProcessPayloadRestrictionPolicy, ProcessChildProcessPolicy, ProcessSideChannelIsolationPolicy, ProcessUserShadowStackPolicy, MaxProcessMitigationPolicy } PROCESS_MITIGATION_POLICY, *PPROCESS_MITIGATION_POLICY; typedef struct _PROCESS_MITIGATION_ASLR_POLICY { union { DWORD Flags; struct { DWORD EnableBottomUpRandomization : 1; DWORD EnableForceRelocateImages : 1; DWORD EnableHighEntropy : 1; DWORD DisallowStrippedImages : 1; DWORD ReservedFlags : 28; } ; } ; } PROCESS_MITIGATION_ASLR_POLICY, *PPROCESS_MITIGATION_ASLR_POLICY; typedef struct _PROCESS_MITIGATION_DEP_POLICY { union { DWORD Flags; struct { DWORD Enable : 1; DWORD DisableAtlThunkEmulation : 1; DWORD ReservedFlags : 30; } ; } ; BOOLEAN Permanent; } PROCESS_MITIGATION_DEP_POLICY, *PPROCESS_MITIGATION_DEP_POLICY; typedef struct _PROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY { union { DWORD Flags; struct { DWORD RaiseExceptionOnInvalidHandleReference : 1; DWORD HandleExceptionsPermanentlyEnabled : 1; DWORD ReservedFlags : 30; } ; } ; } PROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY, *PPROCESS_MITIGATION_STRICT_HANDLE_CHECK_POLICY; typedef struct _PROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY { union { DWORD Flags; struct { DWORD DisallowWin32kSystemCalls : 1; DWORD AuditDisallowWin32kSystemCalls : 1; DWORD ReservedFlags : 30; } ; } ; } PROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY, *PPROCESS_MITIGATION_SYSTEM_CALL_DISABLE_POLICY; typedef struct _PROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY { union { DWORD Flags; struct { DWORD DisableExtensionPoints : 1; DWORD ReservedFlags : 31; } ; } ; } PROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY, *PPROCESS_MITIGATION_EXTENSION_POINT_DISABLE_POLICY; typedef struct _PROCESS_MITIGATION_DYNAMIC_CODE_POLICY { union { DWORD Flags; struct { DWORD ProhibitDynamicCode : 1; DWORD AllowThreadOptOut : 1; DWORD AllowRemoteDowngrade : 1; DWORD AuditProhibitDynamicCode : 1; DWORD ReservedFlags : 28; } ; } ; } PROCESS_MITIGATION_DYNAMIC_CODE_POLICY, *PPROCESS_MITIGATION_DYNAMIC_CODE_POLICY; typedef struct _PROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY { union { DWORD Flags; struct { DWORD EnableControlFlowGuard : 1; DWORD EnableExportSuppression : 1; DWORD StrictMode : 1; DWORD ReservedFlags : 29; } ; } ; } PROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY, *PPROCESS_MITIGATION_CONTROL_FLOW_GUARD_POLICY; typedef struct _PROCESS_MITIGATION_BINARY_SIGNATURE_POLICY { union { DWORD Flags; struct { DWORD MicrosoftSignedOnly : 1; DWORD StoreSignedOnly : 1; DWORD MitigationOptIn : 1; DWORD AuditMicrosoftSignedOnly : 1; DWORD AuditStoreSignedOnly : 1; DWORD ReservedFlags : 27; } ; } ; } PROCESS_MITIGATION_BINARY_SIGNATURE_POLICY, *PPROCESS_MITIGATION_BINARY_SIGNATURE_POLICY; typedef struct _PROCESS_MITIGATION_FONT_DISABLE_POLICY { union { DWORD Flags; struct { DWORD DisableNonSystemFonts : 1; DWORD AuditNonSystemFontLoading : 1; DWORD ReservedFlags : 30; } ; } ; } PROCESS_MITIGATION_FONT_DISABLE_POLICY, *PPROCESS_MITIGATION_FONT_DISABLE_POLICY; typedef struct _PROCESS_MITIGATION_IMAGE_LOAD_POLICY { union { DWORD Flags; struct { DWORD NoRemoteImages : 1; DWORD NoLowMandatoryLabelImages : 1; DWORD PreferSystem32Images : 1; DWORD AuditNoRemoteImages : 1; DWORD AuditNoLowMandatoryLabelImages : 1; DWORD ReservedFlags : 27; } ; } ; } PROCESS_MITIGATION_IMAGE_LOAD_POLICY, *PPROCESS_MITIGATION_IMAGE_LOAD_POLICY; typedef struct _PROCESS_MITIGATION_SYSTEM_CALL_FILTER_POLICY { union { DWORD Flags; struct { DWORD FilterId: 4; DWORD ReservedFlags : 28; } ; } ; } PROCESS_MITIGATION_SYSTEM_CALL_FILTER_POLICY, *PPROCESS_MITIGATION_SYSTEM_CALL_FILTER_POLICY; typedef struct _PROCESS_MITIGATION_PAYLOAD_RESTRICTION_POLICY { union { DWORD Flags; struct { DWORD EnableExportAddressFilter : 1; DWORD AuditExportAddressFilter : 1; DWORD EnableExportAddressFilterPlus : 1; DWORD AuditExportAddressFilterPlus : 1; DWORD EnableImportAddressFilter : 1; DWORD AuditImportAddressFilter : 1; DWORD EnableRopStackPivot : 1; DWORD AuditRopStackPivot : 1; DWORD EnableRopCallerCheck : 1; DWORD AuditRopCallerCheck : 1; DWORD EnableRopSimExec : 1; DWORD AuditRopSimExec : 1; DWORD ReservedFlags : 20; } ; } ; } PROCESS_MITIGATION_PAYLOAD_RESTRICTION_POLICY, *PPROCESS_MITIGATION_PAYLOAD_RESTRICTION_POLICY; typedef struct _PROCESS_MITIGATION_CHILD_PROCESS_POLICY { union { DWORD Flags; struct { DWORD NoChildProcessCreation : 1; DWORD AuditNoChildProcessCreation : 1; DWORD AllowSecureProcessCreation : 1; DWORD ReservedFlags : 29; } ; } ; } PROCESS_MITIGATION_CHILD_PROCESS_POLICY, *PPROCESS_MITIGATION_CHILD_PROCESS_POLICY; typedef struct _PROCESS_MITIGATION_SIDE_CHANNEL_ISOLATION_POLICY { union { DWORD Flags; struct { DWORD SmtBranchTargetIsolation : 1; DWORD IsolateSecurityDomain : 1; DWORD DisablePageCombine : 1; DWORD SpeculativeStoreBypassDisable : 1; DWORD ReservedFlags : 28; } ; } ; } PROCESS_MITIGATION_SIDE_CHANNEL_ISOLATION_POLICY, *PPROCESS_MITIGATION_SIDE_CHANNEL_ISOLATION_POLICY; typedef struct _PROCESS_MITIGATION_USER_SHADOW_STACK_POLICY { union { DWORD Flags; struct { DWORD EnableUserShadowStack : 1; DWORD ReservedFlags : 31; } ; } ; } PROCESS_MITIGATION_USER_SHADOW_STACK_POLICY, *PPROCESS_MITIGATION_USER_SHADOW_STACK_POLICY; typedef struct _JOBOBJECT_BASIC_ACCOUNTING_INFORMATION { LARGE_INTEGER TotalUserTime; LARGE_INTEGER TotalKernelTime; LARGE_INTEGER ThisPeriodTotalUserTime; LARGE_INTEGER ThisPeriodTotalKernelTime; DWORD TotalPageFaultCount; DWORD TotalProcesses; DWORD ActiveProcesses; DWORD TotalTerminatedProcesses; } JOBOBJECT_BASIC_ACCOUNTING_INFORMATION, *PJOBOBJECT_BASIC_ACCOUNTING_INFORMATION; typedef struct _JOBOBJECT_BASIC_LIMIT_INFORMATION { LARGE_INTEGER PerProcessUserTimeLimit; LARGE_INTEGER PerJobUserTimeLimit; DWORD LimitFlags; SIZE_T MinimumWorkingSetSize; SIZE_T MaximumWorkingSetSize; DWORD ActiveProcessLimit; ULONG_PTR Affinity; DWORD PriorityClass; DWORD SchedulingClass; } JOBOBJECT_BASIC_LIMIT_INFORMATION, *PJOBOBJECT_BASIC_LIMIT_INFORMATION; typedef struct _JOBOBJECT_EXTENDED_LIMIT_INFORMATION { JOBOBJECT_BASIC_LIMIT_INFORMATION BasicLimitInformation; IO_COUNTERS IoInfo; SIZE_T ProcessMemoryLimit; SIZE_T JobMemoryLimit; SIZE_T PeakProcessMemoryUsed; SIZE_T PeakJobMemoryUsed; } JOBOBJECT_EXTENDED_LIMIT_INFORMATION, *PJOBOBJECT_EXTENDED_LIMIT_INFORMATION; typedef struct _JOBOBJECT_BASIC_PROCESS_ID_LIST { DWORD NumberOfAssignedProcesses; DWORD NumberOfProcessIdsInList; ULONG_PTR ProcessIdList[1]; } JOBOBJECT_BASIC_PROCESS_ID_LIST, *PJOBOBJECT_BASIC_PROCESS_ID_LIST; typedef struct _JOBOBJECT_BASIC_UI_RESTRICTIONS { DWORD UIRestrictionsClass; } JOBOBJECT_BASIC_UI_RESTRICTIONS, *PJOBOBJECT_BASIC_UI_RESTRICTIONS; typedef struct _JOBOBJECT_SECURITY_LIMIT_INFORMATION { DWORD SecurityLimitFlags ; HANDLE JobToken ; PTOKEN_GROUPS SidsToDisable ; PTOKEN_PRIVILEGES PrivilegesToDelete ; PTOKEN_GROUPS RestrictedSids ; } JOBOBJECT_SECURITY_LIMIT_INFORMATION, *PJOBOBJECT_SECURITY_LIMIT_INFORMATION ; typedef struct _JOBOBJECT_END_OF_JOB_TIME_INFORMATION { DWORD EndOfJobTimeAction; } JOBOBJECT_END_OF_JOB_TIME_INFORMATION, *PJOBOBJECT_END_OF_JOB_TIME_INFORMATION; typedef struct _JOBOBJECT_ASSOCIATE_COMPLETION_PORT { PVOID CompletionKey; HANDLE CompletionPort; } JOBOBJECT_ASSOCIATE_COMPLETION_PORT, *PJOBOBJECT_ASSOCIATE_COMPLETION_PORT; typedef struct _JOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION { JOBOBJECT_BASIC_ACCOUNTING_INFORMATION BasicInfo; IO_COUNTERS IoInfo; } JOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION, *PJOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION; typedef struct _JOBOBJECT_JOBSET_INFORMATION { DWORD MemberLevel; } JOBOBJECT_JOBSET_INFORMATION, *PJOBOBJECT_JOBSET_INFORMATION; typedef enum _JOBOBJECT_RATE_CONTROL_TOLERANCE { ToleranceLow = 1, ToleranceMedium, ToleranceHigh } JOBOBJECT_RATE_CONTROL_TOLERANCE, *PJOBOBJECT_RATE_CONTROL_TOLERANCE; typedef enum _JOBOBJECT_RATE_CONTROL_TOLERANCE_INTERVAL { ToleranceIntervalShort = 1, ToleranceIntervalMedium, ToleranceIntervalLong } JOBOBJECT_RATE_CONTROL_TOLERANCE_INTERVAL, *PJOBOBJECT_RATE_CONTROL_TOLERANCE_INTERVAL; typedef struct _JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION { DWORD64 IoReadBytesLimit; DWORD64 IoWriteBytesLimit; LARGE_INTEGER PerJobUserTimeLimit; DWORD64 JobMemoryLimit; JOBOBJECT_RATE_CONTROL_TOLERANCE RateControlTolerance; JOBOBJECT_RATE_CONTROL_TOLERANCE_INTERVAL RateControlToleranceInterval; DWORD LimitFlags; } JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION, *PJOBOBJECT_NOTIFICATION_LIMIT_INFORMATION; typedef struct JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2 { DWORD64 IoReadBytesLimit; DWORD64 IoWriteBytesLimit; LARGE_INTEGER PerJobUserTimeLimit; union { DWORD64 JobHighMemoryLimit; DWORD64 JobMemoryLimit; } ; union { JOBOBJECT_RATE_CONTROL_TOLERANCE RateControlTolerance; JOBOBJECT_RATE_CONTROL_TOLERANCE CpuRateControlTolerance; } ; union { JOBOBJECT_RATE_CONTROL_TOLERANCE_INTERVAL RateControlToleranceInterval; JOBOBJECT_RATE_CONTROL_TOLERANCE_INTERVAL CpuRateControlToleranceInterval; } ; DWORD LimitFlags; JOBOBJECT_RATE_CONTROL_TOLERANCE IoRateControlTolerance; DWORD64 JobLowMemoryLimit; JOBOBJECT_RATE_CONTROL_TOLERANCE_INTERVAL IoRateControlToleranceInterval; JOBOBJECT_RATE_CONTROL_TOLERANCE NetRateControlTolerance; JOBOBJECT_RATE_CONTROL_TOLERANCE_INTERVAL NetRateControlToleranceInterval; } JOBOBJECT_NOTIFICATION_LIMIT_INFORMATION_2; typedef struct _JOBOBJECT_LIMIT_VIOLATION_INFORMATION { DWORD LimitFlags; DWORD ViolationLimitFlags; DWORD64 IoReadBytes; DWORD64 IoReadBytesLimit; DWORD64 IoWriteBytes; DWORD64 IoWriteBytesLimit; LARGE_INTEGER PerJobUserTime; LARGE_INTEGER PerJobUserTimeLimit; DWORD64 JobMemory; DWORD64 JobMemoryLimit; JOBOBJECT_RATE_CONTROL_TOLERANCE RateControlTolerance; JOBOBJECT_RATE_CONTROL_TOLERANCE RateControlToleranceLimit; } JOBOBJECT_LIMIT_VIOLATION_INFORMATION, *PJOBOBJECT_LIMIT_VIOLATION_INFORMATION; typedef struct JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2 { DWORD LimitFlags; DWORD ViolationLimitFlags; DWORD64 IoReadBytes; DWORD64 IoReadBytesLimit; DWORD64 IoWriteBytes; DWORD64 IoWriteBytesLimit; LARGE_INTEGER PerJobUserTime; LARGE_INTEGER PerJobUserTimeLimit; DWORD64 JobMemory; union { DWORD64 JobHighMemoryLimit; DWORD64 JobMemoryLimit; } ; union { JOBOBJECT_RATE_CONTROL_TOLERANCE RateControlTolerance; JOBOBJECT_RATE_CONTROL_TOLERANCE CpuRateControlTolerance; } ; union { JOBOBJECT_RATE_CONTROL_TOLERANCE RateControlToleranceLimit; JOBOBJECT_RATE_CONTROL_TOLERANCE CpuRateControlToleranceLimit; } ; DWORD64 JobLowMemoryLimit; JOBOBJECT_RATE_CONTROL_TOLERANCE IoRateControlTolerance; JOBOBJECT_RATE_CONTROL_TOLERANCE IoRateControlToleranceLimit; JOBOBJECT_RATE_CONTROL_TOLERANCE NetRateControlTolerance; JOBOBJECT_RATE_CONTROL_TOLERANCE NetRateControlToleranceLimit; } JOBOBJECT_LIMIT_VIOLATION_INFORMATION_2; typedef struct _JOBOBJECT_CPU_RATE_CONTROL_INFORMATION { DWORD ControlFlags; union { DWORD CpuRate; DWORD Weight; struct { WORD MinRate; WORD MaxRate; } ; } ; } JOBOBJECT_CPU_RATE_CONTROL_INFORMATION, *PJOBOBJECT_CPU_RATE_CONTROL_INFORMATION; typedef enum JOB_OBJECT_NET_RATE_CONTROL_FLAGS { JOB_OBJECT_NET_RATE_CONTROL_ENABLE = 0x1, JOB_OBJECT_NET_RATE_CONTROL_MAX_BANDWIDTH = 0x2, JOB_OBJECT_NET_RATE_CONTROL_DSCP_TAG = 0x4, JOB_OBJECT_NET_RATE_CONTROL_VALID_FLAGS = 0x7 } JOB_OBJECT_NET_RATE_CONTROL_FLAGS; extern "C++" { inline constexpr JOB_OBJECT_NET_RATE_CONTROL_FLAGS operator | (JOB_OBJECT_NET_RATE_CONTROL_FLAGS a, JOB_OBJECT_NET_RATE_CONTROL_FLAGS b) throw() { return JOB_OBJECT_NET_RATE_CONTROL_FLAGS(((_ENUM_FLAG_SIZED_INTEGER::type)a) | ((_ENUM_FLAG_SIZED_INTEGER::type)b)); } inline JOB_OBJECT_NET_RATE_CONTROL_FLAGS &operator |= (JOB_OBJECT_NET_RATE_CONTROL_FLAGS &a, JOB_OBJECT_NET_RATE_CONTROL_FLAGS b) throw() { return (JOB_OBJECT_NET_RATE_CONTROL_FLAGS &)(((_ENUM_FLAG_SIZED_INTEGER::type &)a) |= ((_ENUM_FLAG_SIZED_INTEGER::type)b)); } inline constexpr JOB_OBJECT_NET_RATE_CONTROL_FLAGS operator & (JOB_OBJECT_NET_RATE_CONTROL_FLAGS a, JOB_OBJECT_NET_RATE_CONTROL_FLAGS b) throw() { return JOB_OBJECT_NET_RATE_CONTROL_FLAGS(((_ENUM_FLAG_SIZED_INTEGER::type)a) & ((_ENUM_FLAG_SIZED_INTEGER::type)b)); } inline JOB_OBJECT_NET_RATE_CONTROL_FLAGS &operator &= (JOB_OBJECT_NET_RATE_CONTROL_FLAGS &a, JOB_OBJECT_NET_RATE_CONTROL_FLAGS b) throw() { return (JOB_OBJECT_NET_RATE_CONTROL_FLAGS &)(((_ENUM_FLAG_SIZED_INTEGER::type &)a) &= ((_ENUM_FLAG_SIZED_INTEGER::type)b)); } inline constexpr JOB_OBJECT_NET_RATE_CONTROL_FLAGS operator ~ (JOB_OBJECT_NET_RATE_CONTROL_FLAGS a) throw() { return JOB_OBJECT_NET_RATE_CONTROL_FLAGS(~((_ENUM_FLAG_SIZED_INTEGER::type)a)); } inline constexpr JOB_OBJECT_NET_RATE_CONTROL_FLAGS operator ^ (JOB_OBJECT_NET_RATE_CONTROL_FLAGS a, JOB_OBJECT_NET_RATE_CONTROL_FLAGS b) throw() { return JOB_OBJECT_NET_RATE_CONTROL_FLAGS(((_ENUM_FLAG_SIZED_INTEGER::type)a) ^ ((_ENUM_FLAG_SIZED_INTEGER::type)b)); } inline JOB_OBJECT_NET_RATE_CONTROL_FLAGS &operator ^= (JOB_OBJECT_NET_RATE_CONTROL_FLAGS &a, JOB_OBJECT_NET_RATE_CONTROL_FLAGS b) throw() { return (JOB_OBJECT_NET_RATE_CONTROL_FLAGS &)(((_ENUM_FLAG_SIZED_INTEGER::type &)a) ^= ((_ENUM_FLAG_SIZED_INTEGER::type)b)); } } typedef char __C_ASSERT__[(JOB_OBJECT_NET_RATE_CONTROL_VALID_FLAGS == (JOB_OBJECT_NET_RATE_CONTROL_ENABLE + JOB_OBJECT_NET_RATE_CONTROL_MAX_BANDWIDTH + JOB_OBJECT_NET_RATE_CONTROL_DSCP_TAG))?1:-1]; typedef struct JOBOBJECT_NET_RATE_CONTROL_INFORMATION { DWORD64 MaxBandwidth; JOB_OBJECT_NET_RATE_CONTROL_FLAGS ControlFlags; BYTE DscpTag; } JOBOBJECT_NET_RATE_CONTROL_INFORMATION; typedef enum JOB_OBJECT_IO_RATE_CONTROL_FLAGS { JOB_OBJECT_IO_RATE_CONTROL_ENABLE = 0x1, JOB_OBJECT_IO_RATE_CONTROL_STANDALONE_VOLUME = 0x2, JOB_OBJECT_IO_RATE_CONTROL_FORCE_UNIT_ACCESS_ALL = 0x4, JOB_OBJECT_IO_RATE_CONTROL_FORCE_UNIT_ACCESS_ON_SOFT_CAP = 0x8, JOB_OBJECT_IO_RATE_CONTROL_VALID_FLAGS = JOB_OBJECT_IO_RATE_CONTROL_ENABLE | JOB_OBJECT_IO_RATE_CONTROL_STANDALONE_VOLUME | JOB_OBJECT_IO_RATE_CONTROL_FORCE_UNIT_ACCESS_ALL | JOB_OBJECT_IO_RATE_CONTROL_FORCE_UNIT_ACCESS_ON_SOFT_CAP } JOB_OBJECT_IO_RATE_CONTROL_FLAGS; extern "C++" { inline constexpr JOB_OBJECT_IO_RATE_CONTROL_FLAGS operator | (JOB_OBJECT_IO_RATE_CONTROL_FLAGS a, JOB_OBJECT_IO_RATE_CONTROL_FLAGS b) throw() { return JOB_OBJECT_IO_RATE_CONTROL_FLAGS(((_ENUM_FLAG_SIZED_INTEGER::type)a) | ((_ENUM_FLAG_SIZED_INTEGER::type)b)); } inline JOB_OBJECT_IO_RATE_CONTROL_FLAGS &operator |= (JOB_OBJECT_IO_RATE_CONTROL_FLAGS &a, JOB_OBJECT_IO_RATE_CONTROL_FLAGS b) throw() { return (JOB_OBJECT_IO_RATE_CONTROL_FLAGS &)(((_ENUM_FLAG_SIZED_INTEGER::type &)a) |= ((_ENUM_FLAG_SIZED_INTEGER::type)b)); } inline constexpr JOB_OBJECT_IO_RATE_CONTROL_FLAGS operator & (JOB_OBJECT_IO_RATE_CONTROL_FLAGS a, JOB_OBJECT_IO_RATE_CONTROL_FLAGS b) throw() { return JOB_OBJECT_IO_RATE_CONTROL_FLAGS(((_ENUM_FLAG_SIZED_INTEGER::type)a) & ((_ENUM_FLAG_SIZED_INTEGER::type)b)); } inline JOB_OBJECT_IO_RATE_CONTROL_FLAGS &operator &= (JOB_OBJECT_IO_RATE_CONTROL_FLAGS &a, JOB_OBJECT_IO_RATE_CONTROL_FLAGS b) throw() { return (JOB_OBJECT_IO_RATE_CONTROL_FLAGS &)(((_ENUM_FLAG_SIZED_INTEGER::type &)a) &= ((_ENUM_FLAG_SIZED_INTEGER::type)b)); } inline constexpr JOB_OBJECT_IO_RATE_CONTROL_FLAGS operator ~ (JOB_OBJECT_IO_RATE_CONTROL_FLAGS a) throw() { return JOB_OBJECT_IO_RATE_CONTROL_FLAGS(~((_ENUM_FLAG_SIZED_INTEGER::type)a)); } inline constexpr JOB_OBJECT_IO_RATE_CONTROL_FLAGS operator ^ (JOB_OBJECT_IO_RATE_CONTROL_FLAGS a, JOB_OBJECT_IO_RATE_CONTROL_FLAGS b) throw() { return JOB_OBJECT_IO_RATE_CONTROL_FLAGS(((_ENUM_FLAG_SIZED_INTEGER::type)a) ^ ((_ENUM_FLAG_SIZED_INTEGER::type)b)); } inline JOB_OBJECT_IO_RATE_CONTROL_FLAGS &operator ^= (JOB_OBJECT_IO_RATE_CONTROL_FLAGS &a, JOB_OBJECT_IO_RATE_CONTROL_FLAGS b) throw() { return (JOB_OBJECT_IO_RATE_CONTROL_FLAGS &)(((_ENUM_FLAG_SIZED_INTEGER::type &)a) ^= ((_ENUM_FLAG_SIZED_INTEGER::type)b)); } } typedef struct JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE { LONG64 MaxIops; LONG64 MaxBandwidth; LONG64 ReservationIops; PWSTR VolumeName; DWORD BaseIoSize; JOB_OBJECT_IO_RATE_CONTROL_FLAGS ControlFlags; WORD VolumeNameLength; } JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE; typedef JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V1; typedef struct JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V2 { LONG64 MaxIops; LONG64 MaxBandwidth; LONG64 ReservationIops; PWSTR VolumeName; DWORD BaseIoSize; JOB_OBJECT_IO_RATE_CONTROL_FLAGS ControlFlags; WORD VolumeNameLength; LONG64 CriticalReservationIops; LONG64 ReservationBandwidth; LONG64 CriticalReservationBandwidth; LONG64 MaxTimePercent; LONG64 ReservationTimePercent; LONG64 CriticalReservationTimePercent; } JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V2; typedef struct JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V3 { LONG64 MaxIops; LONG64 MaxBandwidth; LONG64 ReservationIops; PWSTR VolumeName; DWORD BaseIoSize; JOB_OBJECT_IO_RATE_CONTROL_FLAGS ControlFlags; WORD VolumeNameLength; LONG64 CriticalReservationIops; LONG64 ReservationBandwidth; LONG64 CriticalReservationBandwidth; LONG64 MaxTimePercent; LONG64 ReservationTimePercent; LONG64 CriticalReservationTimePercent; LONG64 SoftMaxIops; LONG64 SoftMaxBandwidth; LONG64 SoftMaxTimePercent; LONG64 LimitExcessNotifyIops; LONG64 LimitExcessNotifyBandwidth; LONG64 LimitExcessNotifyTimePercent; } JOBOBJECT_IO_RATE_CONTROL_INFORMATION_NATIVE_V3; typedef enum JOBOBJECT_IO_ATTRIBUTION_CONTROL_FLAGS { JOBOBJECT_IO_ATTRIBUTION_CONTROL_ENABLE = 0x1, JOBOBJECT_IO_ATTRIBUTION_CONTROL_DISABLE = 0x2, JOBOBJECT_IO_ATTRIBUTION_CONTROL_VALID_FLAGS = 0x3 } JOBOBJECT_IO_ATTRIBUTION_CONTROL_FLAGS; typedef struct _JOBOBJECT_IO_ATTRIBUTION_STATS { ULONG_PTR IoCount; ULONGLONG TotalNonOverlappedQueueTime; ULONGLONG TotalNonOverlappedServiceTime; ULONGLONG TotalSize; } JOBOBJECT_IO_ATTRIBUTION_STATS, *PJOBOBJECT_IO_ATTRIBUTION_STATS; typedef struct _JOBOBJECT_IO_ATTRIBUTION_INFORMATION { DWORD ControlFlags; JOBOBJECT_IO_ATTRIBUTION_STATS ReadStats; JOBOBJECT_IO_ATTRIBUTION_STATS WriteStats; } JOBOBJECT_IO_ATTRIBUTION_INFORMATION, *PJOBOBJECT_IO_ATTRIBUTION_INFORMATION; typedef enum _JOBOBJECTINFOCLASS { JobObjectBasicAccountingInformation = 1, JobObjectBasicLimitInformation, JobObjectBasicProcessIdList, JobObjectBasicUIRestrictions, JobObjectSecurityLimitInformation, JobObjectEndOfJobTimeInformation, JobObjectAssociateCompletionPortInformation, JobObjectBasicAndIoAccountingInformation, JobObjectExtendedLimitInformation, JobObjectJobSetInformation, JobObjectGroupInformation, JobObjectNotificationLimitInformation, JobObjectLimitViolationInformation, JobObjectGroupInformationEx, JobObjectCpuRateControlInformation, JobObjectCompletionFilter, JobObjectCompletionCounter, JobObjectReserved1Information = 18, JobObjectReserved2Information, JobObjectReserved3Information, JobObjectReserved4Information, JobObjectReserved5Information, JobObjectReserved6Information, JobObjectReserved7Information, JobObjectReserved8Information, JobObjectReserved9Information, JobObjectReserved10Information, JobObjectReserved11Information, JobObjectReserved12Information, JobObjectReserved13Information, JobObjectReserved14Information = 31, JobObjectNetRateControlInformation, JobObjectNotificationLimitInformation2, JobObjectLimitViolationInformation2, JobObjectCreateSilo, JobObjectSiloBasicInformation, JobObjectReserved15Information = 37, JobObjectReserved16Information = 38, JobObjectReserved17Information = 39, JobObjectReserved18Information = 40, JobObjectReserved19Information = 41, JobObjectReserved20Information = 42, JobObjectReserved21Information = 43, JobObjectReserved22Information = 44, JobObjectReserved23Information = 45, JobObjectReserved24Information = 46, JobObjectReserved25Information = 47, MaxJobObjectInfoClass } JOBOBJECTINFOCLASS; typedef struct _SILOOBJECT_BASIC_INFORMATION { DWORD SiloId; DWORD SiloParentId; DWORD NumberOfProcesses; BOOLEAN IsInServerSilo; BYTE Reserved[3]; } SILOOBJECT_BASIC_INFORMATION, *PSILOOBJECT_BASIC_INFORMATION; typedef enum _SERVERSILO_STATE { SERVERSILO_INITING = 0, SERVERSILO_STARTED, SERVERSILO_SHUTTING_DOWN, SERVERSILO_TERMINATING, SERVERSILO_TERMINATED, } SERVERSILO_STATE, *PSERVERSILO_STATE; typedef struct _SERVERSILO_BASIC_INFORMATION { DWORD ServiceSessionId; SERVERSILO_STATE State; DWORD ExitStatus; BOOLEAN IsDownlevelContainer; PVOID ApiSetSchema; PVOID HostApiSetSchema; } SERVERSILO_BASIC_INFORMATION, *PSERVERSILO_BASIC_INFORMATION; typedef enum _FIRMWARE_TYPE { FirmwareTypeUnknown, FirmwareTypeBios, FirmwareTypeUefi, FirmwareTypeMax } FIRMWARE_TYPE, *PFIRMWARE_TYPE; typedef enum _LOGICAL_PROCESSOR_RELATIONSHIP { RelationProcessorCore, RelationNumaNode, RelationCache, RelationProcessorPackage, RelationGroup, RelationAll = 0xffff } LOGICAL_PROCESSOR_RELATIONSHIP; typedef enum _PROCESSOR_CACHE_TYPE { CacheUnified, CacheInstruction, CacheData, CacheTrace } PROCESSOR_CACHE_TYPE; typedef struct _CACHE_DESCRIPTOR { BYTE Level; BYTE Associativity; WORD LineSize; DWORD Size; PROCESSOR_CACHE_TYPE Type; } CACHE_DESCRIPTOR, *PCACHE_DESCRIPTOR; typedef struct _SYSTEM_LOGICAL_PROCESSOR_INFORMATION { ULONG_PTR ProcessorMask; LOGICAL_PROCESSOR_RELATIONSHIP Relationship; union { struct { BYTE Flags; } ProcessorCore; struct { DWORD NodeNumber; } NumaNode; CACHE_DESCRIPTOR Cache; ULONGLONG Reserved[2]; } ; } SYSTEM_LOGICAL_PROCESSOR_INFORMATION, *PSYSTEM_LOGICAL_PROCESSOR_INFORMATION; typedef struct _PROCESSOR_RELATIONSHIP { BYTE Flags; BYTE EfficiencyClass; BYTE Reserved[20]; WORD GroupCount; GROUP_AFFINITY GroupMask[1]; } PROCESSOR_RELATIONSHIP, *PPROCESSOR_RELATIONSHIP; typedef struct _NUMA_NODE_RELATIONSHIP { DWORD NodeNumber; BYTE Reserved[20]; GROUP_AFFINITY GroupMask; } NUMA_NODE_RELATIONSHIP, *PNUMA_NODE_RELATIONSHIP; typedef struct _CACHE_RELATIONSHIP { BYTE Level; BYTE Associativity; WORD LineSize; DWORD CacheSize; PROCESSOR_CACHE_TYPE Type; BYTE Reserved[20]; GROUP_AFFINITY GroupMask; } CACHE_RELATIONSHIP, *PCACHE_RELATIONSHIP; typedef struct _PROCESSOR_GROUP_INFO { BYTE MaximumProcessorCount; BYTE ActiveProcessorCount; BYTE Reserved[38]; KAFFINITY ActiveProcessorMask; } PROCESSOR_GROUP_INFO, *PPROCESSOR_GROUP_INFO; typedef struct _GROUP_RELATIONSHIP { WORD MaximumGroupCount; WORD ActiveGroupCount; BYTE Reserved[20]; PROCESSOR_GROUP_INFO GroupInfo[1]; } GROUP_RELATIONSHIP, *PGROUP_RELATIONSHIP; struct _SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX { LOGICAL_PROCESSOR_RELATIONSHIP Relationship; DWORD Size; union { PROCESSOR_RELATIONSHIP Processor; NUMA_NODE_RELATIONSHIP NumaNode; CACHE_RELATIONSHIP Cache; GROUP_RELATIONSHIP Group; } ; }; typedef struct _SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX, *PSYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX; typedef enum _CPU_SET_INFORMATION_TYPE { CpuSetInformation } CPU_SET_INFORMATION_TYPE, *PCPU_SET_INFORMATION_TYPE; struct _SYSTEM_CPU_SET_INFORMATION { DWORD Size; CPU_SET_INFORMATION_TYPE Type; union { struct { DWORD Id; WORD Group; BYTE LogicalProcessorIndex; BYTE CoreIndex; BYTE LastLevelCacheIndex; BYTE NumaNodeIndex; BYTE EfficiencyClass; union { BYTE AllFlags; struct { BYTE Parked : 1; BYTE Allocated : 1; BYTE AllocatedToTargetProcess : 1; BYTE RealTime : 1; BYTE ReservedFlags : 4; } ; } ; union { DWORD Reserved; BYTE SchedulingClass; }; DWORD64 AllocationTag; } CpuSet; } ; }; typedef struct _SYSTEM_CPU_SET_INFORMATION SYSTEM_CPU_SET_INFORMATION, *PSYSTEM_CPU_SET_INFORMATION; typedef struct _SYSTEM_PROCESSOR_CYCLE_TIME_INFORMATION { DWORD64 CycleTime; } SYSTEM_PROCESSOR_CYCLE_TIME_INFORMATION, *PSYSTEM_PROCESSOR_CYCLE_TIME_INFORMATION; typedef struct _XSTATE_FEATURE { DWORD Offset; DWORD Size; } XSTATE_FEATURE, *PXSTATE_FEATURE; typedef struct _XSTATE_CONFIGURATION { DWORD64 EnabledFeatures; DWORD64 EnabledVolatileFeatures; DWORD Size; union { DWORD ControlFlags; struct { DWORD OptimizedSave : 1; DWORD CompactionEnabled : 1; }; }; XSTATE_FEATURE Features[(64)]; DWORD64 EnabledSupervisorFeatures; DWORD64 AlignedFeatures; DWORD AllFeatureSize; DWORD AllFeatures[(64)]; DWORD64 EnabledUserVisibleSupervisorFeatures; } XSTATE_CONFIGURATION, *PXSTATE_CONFIGURATION; typedef struct _MEMORY_BASIC_INFORMATION { PVOID BaseAddress; PVOID AllocationBase; DWORD AllocationProtect; WORD PartitionId; SIZE_T RegionSize; DWORD State; DWORD Protect; DWORD Type; } MEMORY_BASIC_INFORMATION, *PMEMORY_BASIC_INFORMATION; typedef struct _MEMORY_BASIC_INFORMATION32 { DWORD BaseAddress; DWORD AllocationBase; DWORD AllocationProtect; DWORD RegionSize; DWORD State; DWORD Protect; DWORD Type; } MEMORY_BASIC_INFORMATION32, *PMEMORY_BASIC_INFORMATION32; typedef struct __declspec(align(16)) _MEMORY_BASIC_INFORMATION64 { ULONGLONG BaseAddress; ULONGLONG AllocationBase; DWORD AllocationProtect; DWORD __alignment1; ULONGLONG RegionSize; DWORD State; DWORD Protect; DWORD Type; DWORD __alignment2; } MEMORY_BASIC_INFORMATION64, *PMEMORY_BASIC_INFORMATION64; typedef struct _CFG_CALL_TARGET_INFO { ULONG_PTR Offset; ULONG_PTR Flags; } CFG_CALL_TARGET_INFO, *PCFG_CALL_TARGET_INFO; typedef struct _MEM_ADDRESS_REQUIREMENTS { PVOID LowestStartingAddress; PVOID HighestEndingAddress; SIZE_T Alignment; } MEM_ADDRESS_REQUIREMENTS, *PMEM_ADDRESS_REQUIREMENTS; typedef enum MEM_EXTENDED_PARAMETER_TYPE { MemExtendedParameterInvalidType = 0, MemExtendedParameterAddressRequirements, MemExtendedParameterNumaNode, MemExtendedParameterPartitionHandle, MemExtendedParameterUserPhysicalHandle, MemExtendedParameterAttributeFlags, MemExtendedParameterMax } MEM_EXTENDED_PARAMETER_TYPE, *PMEM_EXTENDED_PARAMETER_TYPE; typedef struct __declspec(align(8)) MEM_EXTENDED_PARAMETER { struct { DWORD64 Type : 8; DWORD64 Reserved : 64 - 8; } ; union { DWORD64 ULong64; PVOID Pointer; SIZE_T Size; HANDLE Handle; DWORD ULong; } ; } MEM_EXTENDED_PARAMETER, *PMEM_EXTENDED_PARAMETER; typedef enum MEM_SECTION_EXTENDED_PARAMETER_TYPE { MemSectionExtendedParameterInvalidType = 0, MemSectionExtendedParameterUserPhysicalFlags, MemSectionExtendedParameterNumaNode, MemSectionExtendedParameterMax } MEM_SECTION_EXTENDED_PARAMETER_TYPE, *PMEM_SECTION_EXTENDED_PARAMETER_TYPE; typedef struct _ENCLAVE_CREATE_INFO_SGX { BYTE Secs[4096]; } ENCLAVE_CREATE_INFO_SGX, *PENCLAVE_CREATE_INFO_SGX; typedef struct _ENCLAVE_INIT_INFO_SGX { BYTE SigStruct[1808]; BYTE Reserved1[240]; BYTE EInitToken[304]; BYTE Reserved2[1744]; } ENCLAVE_INIT_INFO_SGX, *PENCLAVE_INIT_INFO_SGX; typedef struct _ENCLAVE_CREATE_INFO_VBS { DWORD Flags; BYTE OwnerID[32]; } ENCLAVE_CREATE_INFO_VBS, *PENCLAVE_CREATE_INFO_VBS; typedef struct _ENCLAVE_CREATE_INFO_VBS_BASIC { DWORD Flags; BYTE OwnerID[32]; } ENCLAVE_CREATE_INFO_VBS_BASIC, *PENCLAVE_CREATE_INFO_VBS_BASIC; typedef struct _ENCLAVE_LOAD_DATA_VBS_BASIC { DWORD PageType; } ENCLAVE_LOAD_DATA_VBS_BASIC, *PENCLAVE_LOAD_DATA_VBS_BASIC; typedef struct _ENCLAVE_INIT_INFO_VBS_BASIC { BYTE FamilyId[16]; BYTE ImageId[16]; ULONGLONG EnclaveSize; DWORD EnclaveSvn; DWORD Reserved; union { HANDLE SignatureInfoHandle; ULONGLONG Unused; } ; } ENCLAVE_INIT_INFO_VBS_BASIC, *PENCLAVE_INIT_INFO_VBS_BASIC; typedef struct _ENCLAVE_INIT_INFO_VBS { DWORD Length; DWORD ThreadCount; } ENCLAVE_INIT_INFO_VBS, *PENCLAVE_INIT_INFO_VBS; typedef PVOID (ENCLAVE_TARGET_FUNCTION)(PVOID); typedef ENCLAVE_TARGET_FUNCTION (*PENCLAVE_TARGET_FUNCTION); typedef PENCLAVE_TARGET_FUNCTION LPENCLAVE_TARGET_FUNCTION; typedef struct _FILE_ID_128 { BYTE Identifier[16]; } FILE_ID_128, *PFILE_ID_128; typedef struct _FILE_NOTIFY_INFORMATION { DWORD NextEntryOffset; DWORD Action; DWORD FileNameLength; WCHAR FileName[1]; } FILE_NOTIFY_INFORMATION, *PFILE_NOTIFY_INFORMATION; typedef struct _FILE_NOTIFY_EXTENDED_INFORMATION { DWORD NextEntryOffset; DWORD Action; LARGE_INTEGER CreationTime; LARGE_INTEGER LastModificationTime; LARGE_INTEGER LastChangeTime; LARGE_INTEGER LastAccessTime; LARGE_INTEGER AllocatedLength; LARGE_INTEGER FileSize; DWORD FileAttributes; DWORD ReparsePointTag; LARGE_INTEGER FileId; LARGE_INTEGER ParentFileId; DWORD FileNameLength; WCHAR FileName[1]; } FILE_NOTIFY_EXTENDED_INFORMATION, *PFILE_NOTIFY_EXTENDED_INFORMATION; typedef union _FILE_SEGMENT_ELEMENT { PVOID64 Buffer; ULONGLONG Alignment; }FILE_SEGMENT_ELEMENT, *PFILE_SEGMENT_ELEMENT; typedef struct _REPARSE_GUID_DATA_BUFFER { DWORD ReparseTag; WORD ReparseDataLength; WORD Reserved; GUID ReparseGuid; struct { BYTE DataBuffer[1]; } GenericReparseBuffer; } REPARSE_GUID_DATA_BUFFER, *PREPARSE_GUID_DATA_BUFFER; typedef struct _SCRUB_DATA_INPUT { DWORD Size; DWORD Flags; DWORD MaximumIos; DWORD ObjectId[4]; DWORD Reserved[25]; BYTE ResumeContext[816]; } SCRUB_DATA_INPUT, *PSCRUB_DATA_INPUT; typedef struct _SCRUB_PARITY_EXTENT { LONGLONG Offset; ULONGLONG Length; } SCRUB_PARITY_EXTENT, *PSCRUB_PARITY_EXTENT; typedef struct _SCRUB_PARITY_EXTENT_DATA { WORD Size; WORD Flags; WORD NumberOfParityExtents; WORD MaximumNumberOfParityExtents; SCRUB_PARITY_EXTENT ParityExtents[1]; } SCRUB_PARITY_EXTENT_DATA, *PSCRUB_PARITY_EXTENT_DATA; typedef struct _SCRUB_DATA_OUTPUT { DWORD Size; DWORD Flags; DWORD Status; ULONGLONG ErrorFileOffset; ULONGLONG ErrorLength; ULONGLONG NumberOfBytesRepaired; ULONGLONG NumberOfBytesFailed; ULONGLONG InternalFileReference; WORD ResumeContextLength; WORD ParityExtentDataOffset; DWORD Reserved[9]; ULONGLONG NumberOfMetadataBytesProcessed; ULONGLONG NumberOfDataBytesProcessed; ULONGLONG TotalNumberOfMetadataBytesInUse; ULONGLONG TotalNumberOfDataBytesInUse; BYTE ResumeContext[816]; } SCRUB_DATA_OUTPUT, *PSCRUB_DATA_OUTPUT; typedef enum _SharedVirtualDiskSupportType { SharedVirtualDisksUnsupported = 0, SharedVirtualDisksSupported = 1, SharedVirtualDiskSnapshotsSupported = 3, SharedVirtualDiskCDPSnapshotsSupported = 7 } SharedVirtualDiskSupportType; typedef enum _SharedVirtualDiskHandleState { SharedVirtualDiskHandleStateNone = 0, SharedVirtualDiskHandleStateFileShared = 1, SharedVirtualDiskHandleStateHandleShared = 3 } SharedVirtualDiskHandleState; typedef struct _SHARED_VIRTUAL_DISK_SUPPORT { SharedVirtualDiskSupportType SharedVirtualDiskSupport; SharedVirtualDiskHandleState HandleState; } SHARED_VIRTUAL_DISK_SUPPORT, *PSHARED_VIRTUAL_DISK_SUPPORT; typedef struct _REARRANGE_FILE_DATA { ULONGLONG SourceStartingOffset; ULONGLONG TargetOffset; HANDLE SourceFileHandle; DWORD Length; DWORD Flags; } REARRANGE_FILE_DATA, *PREARRANGE_FILE_DATA; typedef struct _REARRANGE_FILE_DATA32 { ULONGLONG SourceStartingOffset; ULONGLONG TargetOffset; UINT32 SourceFileHandle; DWORD Length; DWORD Flags; } REARRANGE_FILE_DATA32, *PREARRANGE_FILE_DATA32; typedef struct _SHUFFLE_FILE_DATA { LONGLONG StartingOffset; LONGLONG Length; DWORD Flags; } SHUFFLE_FILE_DATA, *PSHUFFLE_FILE_DATA; typedef struct _NETWORK_APP_INSTANCE_EA { GUID AppInstanceID; DWORD CsvFlags; } NETWORK_APP_INSTANCE_EA, *PNETWORK_APP_INSTANCE_EA; extern "C" const GUID GUID_MAX_POWER_SAVINGS; extern "C" const GUID GUID_MIN_POWER_SAVINGS; extern "C" const GUID GUID_TYPICAL_POWER_SAVINGS; extern "C" const GUID NO_SUBGROUP_GUID; extern "C" const GUID ALL_POWERSCHEMES_GUID; extern "C" const GUID GUID_POWERSCHEME_PERSONALITY; extern "C" const GUID GUID_ACTIVE_POWERSCHEME; extern "C" const GUID GUID_IDLE_RESILIENCY_SUBGROUP; extern "C" const GUID GUID_IDLE_RESILIENCY_PERIOD; extern "C" const GUID GUID_DEEP_SLEEP_ENABLED; extern "C" const GUID GUID_DEEP_SLEEP_PLATFORM_STATE; extern "C" const GUID GUID_DISK_COALESCING_POWERDOWN_TIMEOUT; extern "C" const GUID GUID_EXECUTION_REQUIRED_REQUEST_TIMEOUT; extern "C" const GUID GUID_VIDEO_SUBGROUP; extern "C" const GUID GUID_VIDEO_POWERDOWN_TIMEOUT; extern "C" const GUID GUID_VIDEO_ANNOYANCE_TIMEOUT; extern "C" const GUID GUID_VIDEO_ADAPTIVE_PERCENT_INCREASE; extern "C" const GUID GUID_VIDEO_DIM_TIMEOUT; extern "C" const GUID GUID_VIDEO_ADAPTIVE_POWERDOWN; extern "C" const GUID GUID_MONITOR_POWER_ON; extern "C" const GUID GUID_DEVICE_POWER_POLICY_VIDEO_BRIGHTNESS; extern "C" const GUID GUID_DEVICE_POWER_POLICY_VIDEO_DIM_BRIGHTNESS; extern "C" const GUID GUID_VIDEO_CURRENT_MONITOR_BRIGHTNESS; extern "C" const GUID GUID_VIDEO_ADAPTIVE_DISPLAY_BRIGHTNESS; extern "C" const GUID GUID_CONSOLE_DISPLAY_STATE; extern "C" const GUID GUID_ALLOW_DISPLAY_REQUIRED; extern "C" const GUID GUID_VIDEO_CONSOLE_LOCK_TIMEOUT; extern "C" const GUID GUID_ADVANCED_COLOR_QUALITY_BIAS; extern "C" const GUID GUID_ADAPTIVE_POWER_BEHAVIOR_SUBGROUP; extern "C" const GUID GUID_NON_ADAPTIVE_INPUT_TIMEOUT; extern "C" const GUID GUID_ADAPTIVE_INPUT_CONTROLLER_STATE; extern "C" const GUID GUID_DISK_SUBGROUP; extern "C" const GUID GUID_DISK_MAX_POWER; extern "C" const GUID GUID_DISK_POWERDOWN_TIMEOUT; extern "C" const GUID GUID_DISK_IDLE_TIMEOUT; extern "C" const GUID GUID_DISK_BURST_IGNORE_THRESHOLD; extern "C" const GUID GUID_DISK_ADAPTIVE_POWERDOWN; extern "C" const GUID GUID_DISK_NVME_NOPPME; extern "C" const GUID GUID_SLEEP_SUBGROUP; extern "C" const GUID GUID_SLEEP_IDLE_THRESHOLD; extern "C" const GUID GUID_STANDBY_TIMEOUT; extern "C" const GUID GUID_UNATTEND_SLEEP_TIMEOUT; extern "C" const GUID GUID_HIBERNATE_TIMEOUT; extern "C" const GUID GUID_HIBERNATE_FASTS4_POLICY; extern "C" const GUID GUID_CRITICAL_POWER_TRANSITION; extern "C" const GUID GUID_SYSTEM_AWAYMODE; extern "C" const GUID GUID_ALLOW_AWAYMODE; extern "C" const GUID GUID_USER_PRESENCE_PREDICTION; extern "C" const GUID GUID_STANDBY_BUDGET_GRACE_PERIOD; extern "C" const GUID GUID_STANDBY_BUDGET_PERCENT; extern "C" const GUID GUID_STANDBY_RESERVE_GRACE_PERIOD; extern "C" const GUID GUID_STANDBY_RESERVE_TIME; extern "C" const GUID GUID_STANDBY_RESET_PERCENT; extern "C" const GUID GUID_ALLOW_STANDBY_STATES; extern "C" const GUID GUID_ALLOW_RTC_WAKE; extern "C" const GUID GUID_LEGACY_RTC_MITIGATION; extern "C" const GUID GUID_ALLOW_SYSTEM_REQUIRED; extern "C" const GUID GUID_POWER_SAVING_STATUS; extern "C" const GUID GUID_ENERGY_SAVER_SUBGROUP; extern "C" const GUID GUID_ENERGY_SAVER_BATTERY_THRESHOLD; extern "C" const GUID GUID_ENERGY_SAVER_BRIGHTNESS; extern "C" const GUID GUID_ENERGY_SAVER_POLICY; extern "C" const GUID GUID_SYSTEM_BUTTON_SUBGROUP; extern "C" const GUID GUID_POWERBUTTON_ACTION; extern "C" const GUID GUID_SLEEPBUTTON_ACTION; extern "C" const GUID GUID_USERINTERFACEBUTTON_ACTION; extern "C" const GUID GUID_LIDCLOSE_ACTION; extern "C" const GUID GUID_LIDOPEN_POWERSTATE; extern "C" const GUID GUID_BATTERY_SUBGROUP; extern "C" const GUID GUID_BATTERY_DISCHARGE_ACTION_0; extern "C" const GUID GUID_BATTERY_DISCHARGE_LEVEL_0; extern "C" const GUID GUID_BATTERY_DISCHARGE_FLAGS_0; extern "C" const GUID GUID_BATTERY_DISCHARGE_ACTION_1; extern "C" const GUID GUID_BATTERY_DISCHARGE_LEVEL_1; extern "C" const GUID GUID_BATTERY_DISCHARGE_FLAGS_1; extern "C" const GUID GUID_BATTERY_DISCHARGE_ACTION_2; extern "C" const GUID GUID_BATTERY_DISCHARGE_LEVEL_2; extern "C" const GUID GUID_BATTERY_DISCHARGE_FLAGS_2; extern "C" const GUID GUID_BATTERY_DISCHARGE_ACTION_3; extern "C" const GUID GUID_BATTERY_DISCHARGE_LEVEL_3; extern "C" const GUID GUID_BATTERY_DISCHARGE_FLAGS_3; extern "C" const GUID GUID_PROCESSOR_SETTINGS_SUBGROUP; extern "C" const GUID GUID_PROCESSOR_THROTTLE_POLICY; extern "C" const GUID GUID_PROCESSOR_THROTTLE_MAXIMUM; extern "C" const GUID GUID_PROCESSOR_THROTTLE_MAXIMUM_1; extern "C" const GUID GUID_PROCESSOR_THROTTLE_MINIMUM; extern "C" const GUID GUID_PROCESSOR_THROTTLE_MINIMUM_1; extern "C" const GUID GUID_PROCESSOR_FREQUENCY_LIMIT; extern "C" const GUID GUID_PROCESSOR_FREQUENCY_LIMIT_1; extern "C" const GUID GUID_PROCESSOR_ALLOW_THROTTLING; extern "C" const GUID GUID_PROCESSOR_IDLESTATE_POLICY; extern "C" const GUID GUID_PROCESSOR_PERFSTATE_POLICY; extern "C" const GUID GUID_PROCESSOR_PERF_INCREASE_THRESHOLD; extern "C" const GUID GUID_PROCESSOR_PERF_INCREASE_THRESHOLD_1; extern "C" const GUID GUID_PROCESSOR_PERF_DECREASE_THRESHOLD; extern "C" const GUID GUID_PROCESSOR_PERF_DECREASE_THRESHOLD_1; extern "C" const GUID GUID_PROCESSOR_PERF_INCREASE_POLICY; extern "C" const GUID GUID_PROCESSOR_PERF_INCREASE_POLICY_1; extern "C" const GUID GUID_PROCESSOR_PERF_DECREASE_POLICY; extern "C" const GUID GUID_PROCESSOR_PERF_DECREASE_POLICY_1; extern "C" const GUID GUID_PROCESSOR_PERF_INCREASE_TIME; extern "C" const GUID GUID_PROCESSOR_PERF_INCREASE_TIME_1; extern "C" const GUID GUID_PROCESSOR_PERF_DECREASE_TIME; extern "C" const GUID GUID_PROCESSOR_PERF_DECREASE_TIME_1; extern "C" const GUID GUID_PROCESSOR_PERF_TIME_CHECK; extern "C" const GUID GUID_PROCESSOR_PERF_BOOST_POLICY; extern "C" const GUID GUID_PROCESSOR_PERF_BOOST_MODE; extern "C" const GUID GUID_PROCESSOR_PERF_AUTONOMOUS_MODE; extern "C" const GUID GUID_PROCESSOR_PERF_ENERGY_PERFORMANCE_PREFERENCE; extern "C" const GUID GUID_PROCESSOR_PERF_ENERGY_PERFORMANCE_PREFERENCE_1; extern "C" const GUID GUID_PROCESSOR_PERF_AUTONOMOUS_ACTIVITY_WINDOW; extern "C" const GUID GUID_PROCESSOR_DUTY_CYCLING; extern "C" const GUID GUID_PROCESSOR_IDLE_ALLOW_SCALING; extern "C" const GUID GUID_PROCESSOR_IDLE_DISABLE; extern "C" const GUID GUID_PROCESSOR_IDLE_STATE_MAXIMUM; extern "C" const GUID GUID_PROCESSOR_IDLE_TIME_CHECK; extern "C" const GUID GUID_PROCESSOR_IDLE_DEMOTE_THRESHOLD; extern "C" const GUID GUID_PROCESSOR_IDLE_PROMOTE_THRESHOLD; extern "C" const GUID GUID_PROCESSOR_CORE_PARKING_INCREASE_THRESHOLD; extern "C" const GUID GUID_PROCESSOR_CORE_PARKING_DECREASE_THRESHOLD; extern "C" const GUID GUID_PROCESSOR_CORE_PARKING_INCREASE_POLICY; extern "C" const GUID GUID_PROCESSOR_CORE_PARKING_DECREASE_POLICY; extern "C" const GUID GUID_PROCESSOR_CORE_PARKING_MAX_CORES; extern "C" const GUID GUID_PROCESSOR_CORE_PARKING_MAX_CORES_1; extern "C" const GUID GUID_PROCESSOR_CORE_PARKING_MIN_CORES; extern "C" const GUID GUID_PROCESSOR_CORE_PARKING_MIN_CORES_1; extern "C" const GUID GUID_PROCESSOR_CORE_PARKING_INCREASE_TIME; extern "C" const GUID GUID_PROCESSOR_CORE_PARKING_DECREASE_TIME; extern "C" const GUID GUID_PROCESSOR_CORE_PARKING_AFFINITY_HISTORY_DECREASE_FACTOR; extern "C" const GUID GUID_PROCESSOR_CORE_PARKING_AFFINITY_HISTORY_THRESHOLD; extern "C" const GUID GUID_PROCESSOR_CORE_PARKING_AFFINITY_WEIGHTING; extern "C" const GUID GUID_PROCESSOR_CORE_PARKING_OVER_UTILIZATION_HISTORY_DECREASE_FACTOR; extern "C" const GUID GUID_PROCESSOR_CORE_PARKING_OVER_UTILIZATION_HISTORY_THRESHOLD; extern "C" const GUID GUID_PROCESSOR_CORE_PARKING_OVER_UTILIZATION_WEIGHTING; extern "C" const GUID GUID_PROCESSOR_CORE_PARKING_OVER_UTILIZATION_THRESHOLD; extern "C" const GUID GUID_PROCESSOR_PARKING_CORE_OVERRIDE; extern "C" const GUID GUID_PROCESSOR_PARKING_PERF_STATE; extern "C" const GUID GUID_PROCESSOR_PARKING_PERF_STATE_1; extern "C" const GUID GUID_PROCESSOR_PARKING_CONCURRENCY_THRESHOLD; extern "C" const GUID GUID_PROCESSOR_PARKING_HEADROOM_THRESHOLD; extern "C" const GUID GUID_PROCESSOR_PARKING_DISTRIBUTION_THRESHOLD; extern "C" const GUID GUID_PROCESSOR_SOFT_PARKING_LATENCY; extern "C" const GUID GUID_PROCESSOR_PERF_HISTORY; extern "C" const GUID GUID_PROCESSOR_PERF_HISTORY_1; extern "C" const GUID GUID_PROCESSOR_PERF_INCREASE_HISTORY; extern "C" const GUID GUID_PROCESSOR_PERF_DECREASE_HISTORY; extern "C" const GUID GUID_PROCESSOR_PERF_CORE_PARKING_HISTORY; extern "C" const GUID GUID_PROCESSOR_PERF_LATENCY_HINT; extern "C" const GUID GUID_PROCESSOR_PERF_LATENCY_HINT_PERF; extern "C" const GUID GUID_PROCESSOR_PERF_LATENCY_HINT_PERF_1; extern "C" const GUID GUID_PROCESSOR_LATENCY_HINT_MIN_UNPARK; extern "C" const GUID GUID_PROCESSOR_LATENCY_HINT_MIN_UNPARK_1; extern "C" const GUID GUID_PROCESSOR_DISTRIBUTE_UTILITY; extern "C" const GUID GUID_PROCESSOR_HETEROGENEOUS_POLICY; extern "C" const GUID GUID_PROCESSOR_HETERO_DECREASE_TIME; extern "C" const GUID GUID_PROCESSOR_HETERO_INCREASE_TIME; extern "C" const GUID GUID_PROCESSOR_HETERO_DECREASE_THRESHOLD; extern "C" const GUID GUID_PROCESSOR_HETERO_INCREASE_THRESHOLD; extern "C" const GUID GUID_PROCESSOR_CLASS0_FLOOR_PERF; extern "C" const GUID GUID_PROCESSOR_CLASS1_INITIAL_PERF; extern "C" const GUID GUID_PROCESSOR_THREAD_SCHEDULING_POLICY; extern "C" const GUID GUID_PROCESSOR_SHORT_THREAD_SCHEDULING_POLICY; extern "C" const GUID GUID_SYSTEM_COOLING_POLICY; extern "C" const GUID GUID_PROCESSOR_RESPONSIVENESS_DISABLE_THRESHOLD; extern "C" const GUID GUID_PROCESSOR_RESPONSIVENESS_DISABLE_THRESHOLD_1; extern "C" const GUID GUID_PROCESSOR_RESPONSIVENESS_ENABLE_THRESHOLD; extern "C" const GUID GUID_PROCESSOR_RESPONSIVENESS_ENABLE_THRESHOLD_1; extern "C" const GUID GUID_PROCESSOR_RESPONSIVENESS_DISABLE_TIME; extern "C" const GUID GUID_PROCESSOR_RESPONSIVENESS_DISABLE_TIME_1; extern "C" const GUID GUID_PROCESSOR_RESPONSIVENESS_ENABLE_TIME; extern "C" const GUID GUID_PROCESSOR_RESPONSIVENESS_ENABLE_TIME_1; extern "C" const GUID GUID_PROCESSOR_RESPONSIVENESS_EPP_CEILING; extern "C" const GUID GUID_PROCESSOR_RESPONSIVENESS_EPP_CEILING_1; extern "C" const GUID GUID_PROCESSOR_RESPONSIVENESS_PERF_FLOOR; extern "C" const GUID GUID_PROCESSOR_RESPONSIVENESS_PERF_FLOOR_1; extern "C" const GUID GUID_LOCK_CONSOLE_ON_WAKE; extern "C" const GUID GUID_DEVICE_IDLE_POLICY; extern "C" const GUID GUID_CONNECTIVITY_IN_STANDBY; extern "C" const GUID GUID_DISCONNECTED_STANDBY_MODE; extern "C" const GUID GUID_ACDC_POWER_SOURCE; extern "C" const GUID GUID_LIDSWITCH_STATE_CHANGE; extern "C" const GUID GUID_BATTERY_PERCENTAGE_REMAINING; extern "C" const GUID GUID_BATTERY_COUNT; extern "C" const GUID GUID_GLOBAL_USER_PRESENCE; extern "C" const GUID GUID_SESSION_DISPLAY_STATUS; extern "C" const GUID GUID_SESSION_USER_PRESENCE; extern "C" const GUID GUID_IDLE_BACKGROUND_TASK; extern "C" const GUID GUID_BACKGROUND_TASK_NOTIFICATION; extern "C" const GUID GUID_APPLAUNCH_BUTTON; extern "C" const GUID GUID_PCIEXPRESS_SETTINGS_SUBGROUP; extern "C" const GUID GUID_PCIEXPRESS_ASPM_POLICY; extern "C" const GUID GUID_ENABLE_SWITCH_FORCED_SHUTDOWN; extern "C" const GUID GUID_INTSTEER_SUBGROUP; extern "C" const GUID GUID_INTSTEER_MODE; extern "C" const GUID GUID_INTSTEER_LOAD_PER_PROC_TRIGGER; extern "C" const GUID GUID_INTSTEER_TIME_UNPARK_TRIGGER; extern "C" const GUID GUID_GRAPHICS_SUBGROUP; extern "C" const GUID GUID_GPU_PREFERENCE_POLICY; extern "C" const GUID GUID_MIXED_REALITY_MODE; extern "C" const GUID GUID_SPR_ACTIVE_SESSION_CHANGE; typedef enum _SYSTEM_POWER_STATE { PowerSystemUnspecified = 0, PowerSystemWorking = 1, PowerSystemSleeping1 = 2, PowerSystemSleeping2 = 3, PowerSystemSleeping3 = 4, PowerSystemHibernate = 5, PowerSystemShutdown = 6, PowerSystemMaximum = 7 } SYSTEM_POWER_STATE, *PSYSTEM_POWER_STATE; typedef enum { PowerActionNone = 0, PowerActionReserved, PowerActionSleep, PowerActionHibernate, PowerActionShutdown, PowerActionShutdownReset, PowerActionShutdownOff, PowerActionWarmEject, PowerActionDisplayOff } POWER_ACTION, *PPOWER_ACTION; typedef enum _DEVICE_POWER_STATE { PowerDeviceUnspecified = 0, PowerDeviceD0, PowerDeviceD1, PowerDeviceD2, PowerDeviceD3, PowerDeviceMaximum } DEVICE_POWER_STATE, *PDEVICE_POWER_STATE; typedef enum _MONITOR_DISPLAY_STATE { PowerMonitorOff = 0, PowerMonitorOn, PowerMonitorDim } MONITOR_DISPLAY_STATE, *PMONITOR_DISPLAY_STATE; typedef enum _USER_ACTIVITY_PRESENCE { PowerUserPresent = 0, PowerUserNotPresent, PowerUserInactive, PowerUserMaximum, PowerUserInvalid = PowerUserMaximum } USER_ACTIVITY_PRESENCE, *PUSER_ACTIVITY_PRESENCE; typedef DWORD EXECUTION_STATE, *PEXECUTION_STATE; typedef enum { LT_DONT_CARE, LT_LOWEST_LATENCY } LATENCY_TIME; typedef enum _POWER_REQUEST_TYPE { PowerRequestDisplayRequired, PowerRequestSystemRequired, PowerRequestAwayModeRequired, PowerRequestExecutionRequired } POWER_REQUEST_TYPE, *PPOWER_REQUEST_TYPE; typedef struct CM_Power_Data_s { DWORD PD_Size; DEVICE_POWER_STATE PD_MostRecentPowerState; DWORD PD_Capabilities; DWORD PD_D1Latency; DWORD PD_D2Latency; DWORD PD_D3Latency; DEVICE_POWER_STATE PD_PowerStateMapping[7]; SYSTEM_POWER_STATE PD_DeepestSystemWake; } CM_POWER_DATA, *PCM_POWER_DATA; typedef enum { SystemPowerPolicyAc, SystemPowerPolicyDc, VerifySystemPolicyAc, VerifySystemPolicyDc, SystemPowerCapabilities, SystemBatteryState, SystemPowerStateHandler, ProcessorStateHandler, SystemPowerPolicyCurrent, AdministratorPowerPolicy, SystemReserveHiberFile, ProcessorInformation, SystemPowerInformation, ProcessorStateHandler2, LastWakeTime, LastSleepTime, SystemExecutionState, SystemPowerStateNotifyHandler, ProcessorPowerPolicyAc, ProcessorPowerPolicyDc, VerifyProcessorPowerPolicyAc, VerifyProcessorPowerPolicyDc, ProcessorPowerPolicyCurrent, SystemPowerStateLogging, SystemPowerLoggingEntry, SetPowerSettingValue, NotifyUserPowerSetting, PowerInformationLevelUnused0, SystemMonitorHiberBootPowerOff, SystemVideoState, TraceApplicationPowerMessage, TraceApplicationPowerMessageEnd, ProcessorPerfStates, ProcessorIdleStates, ProcessorCap, SystemWakeSource, SystemHiberFileInformation, TraceServicePowerMessage, ProcessorLoad, PowerShutdownNotification, MonitorCapabilities, SessionPowerInit, SessionDisplayState, PowerRequestCreate, PowerRequestAction, GetPowerRequestList, ProcessorInformationEx, NotifyUserModeLegacyPowerEvent, GroupPark, ProcessorIdleDomains, WakeTimerList, SystemHiberFileSize, ProcessorIdleStatesHv, ProcessorPerfStatesHv, ProcessorPerfCapHv, ProcessorSetIdle, LogicalProcessorIdling, UserPresence, PowerSettingNotificationName, GetPowerSettingValue, IdleResiliency, SessionRITState, SessionConnectNotification, SessionPowerCleanup, SessionLockState, SystemHiberbootState, PlatformInformation, PdcInvocation, MonitorInvocation, FirmwareTableInformationRegistered, SetShutdownSelectedTime, SuspendResumeInvocation, PlmPowerRequestCreate, ScreenOff, CsDeviceNotification, PlatformRole, LastResumePerformance, DisplayBurst, ExitLatencySamplingPercentage, RegisterSpmPowerSettings, PlatformIdleStates, ProcessorIdleVeto, PlatformIdleVeto, SystemBatteryStatePrecise, ThermalEvent, PowerRequestActionInternal, BatteryDeviceState, PowerInformationInternal, ThermalStandby, SystemHiberFileType, PhysicalPowerButtonPress, QueryPotentialDripsConstraint, EnergyTrackerCreate, EnergyTrackerQuery, UpdateBlackBoxRecorder, SessionAllowExternalDmaDevices, PowerInformationLevelMaximum } POWER_INFORMATION_LEVEL; typedef enum { UserNotPresent = 0, UserPresent = 1, UserUnknown = 0xff } POWER_USER_PRESENCE_TYPE, *PPOWER_USER_PRESENCE_TYPE; typedef struct _POWER_USER_PRESENCE { POWER_USER_PRESENCE_TYPE UserPresence; } POWER_USER_PRESENCE, *PPOWER_USER_PRESENCE; typedef struct _POWER_SESSION_CONNECT { BOOLEAN Connected; BOOLEAN Console; } POWER_SESSION_CONNECT, *PPOWER_SESSION_CONNECT; typedef struct _POWER_SESSION_TIMEOUTS { DWORD InputTimeout; DWORD DisplayTimeout; } POWER_SESSION_TIMEOUTS, *PPOWER_SESSION_TIMEOUTS; typedef struct _POWER_SESSION_RIT_STATE { BOOLEAN Active; DWORD LastInputTime; } POWER_SESSION_RIT_STATE, *PPOWER_SESSION_RIT_STATE; typedef struct _POWER_SESSION_WINLOGON { DWORD SessionId; BOOLEAN Console; BOOLEAN Locked; } POWER_SESSION_WINLOGON, *PPOWER_SESSION_WINLOGON; typedef struct _POWER_SESSION_ALLOW_EXTERNAL_DMA_DEVICES { BOOLEAN IsAllowed; } POWER_SESSION_ALLOW_EXTERNAL_DMA_DEVICES, *PPOWER_SESSION_ALLOW_EXTERNAL_DMA_DEVICES; typedef struct _POWER_IDLE_RESILIENCY { DWORD CoalescingTimeout; DWORD IdleResiliencyPeriod; } POWER_IDLE_RESILIENCY, *PPOWER_IDLE_RESILIENCY; typedef enum { MonitorRequestReasonUnknown, MonitorRequestReasonPowerButton, MonitorRequestReasonRemoteConnection, MonitorRequestReasonScMonitorpower, MonitorRequestReasonUserInput, MonitorRequestReasonAcDcDisplayBurst, MonitorRequestReasonUserDisplayBurst, MonitorRequestReasonPoSetSystemState, MonitorRequestReasonSetThreadExecutionState, MonitorRequestReasonFullWake, MonitorRequestReasonSessionUnlock, MonitorRequestReasonScreenOffRequest, MonitorRequestReasonIdleTimeout, MonitorRequestReasonPolicyChange, MonitorRequestReasonSleepButton, MonitorRequestReasonLid, MonitorRequestReasonBatteryCountChange, MonitorRequestReasonGracePeriod, MonitorRequestReasonPnP, MonitorRequestReasonDP, MonitorRequestReasonSxTransition, MonitorRequestReasonSystemIdle, MonitorRequestReasonNearProximity, MonitorRequestReasonThermalStandby, MonitorRequestReasonResumePdc, MonitorRequestReasonResumeS4, MonitorRequestReasonTerminal, MonitorRequestReasonPdcSignal, MonitorRequestReasonAcDcDisplayBurstSuppressed, MonitorRequestReasonSystemStateEntered, MonitorRequestReasonWinrt, MonitorRequestReasonUserInputKeyboard, MonitorRequestReasonUserInputMouse, MonitorRequestReasonUserInputTouch, MonitorRequestReasonUserInputPen, MonitorRequestReasonUserInputAccelerometer, MonitorRequestReasonUserInputHid, MonitorRequestReasonUserInputPoUserPresent, MonitorRequestReasonUserInputSessionSwitch, MonitorRequestReasonUserInputInitialization, MonitorRequestReasonPdcSignalWindowsMobilePwrNotif, MonitorRequestReasonPdcSignalWindowsMobileShell, MonitorRequestReasonPdcSignalHeyCortana, MonitorRequestReasonPdcSignalHolographicShell, MonitorRequestReasonPdcSignalFingerprint, MonitorRequestReasonDirectedDrips, MonitorRequestReasonDim, MonitorRequestReasonBuiltinPanel, MonitorRequestReasonDisplayRequiredUnDim, MonitorRequestReasonBatteryCountChangeSuppressed, MonitorRequestReasonResumeModernStandby, MonitorRequestReasonMax } POWER_MONITOR_REQUEST_REASON; typedef enum _POWER_MONITOR_REQUEST_TYPE { MonitorRequestTypeOff, MonitorRequestTypeOnAndPresent, MonitorRequestTypeToggleOn } POWER_MONITOR_REQUEST_TYPE; typedef struct _POWER_MONITOR_INVOCATION { BOOLEAN Console; POWER_MONITOR_REQUEST_REASON RequestReason; } POWER_MONITOR_INVOCATION, *PPOWER_MONITOR_INVOCATION; typedef struct _RESUME_PERFORMANCE { DWORD PostTimeMs; ULONGLONG TotalResumeTimeMs; ULONGLONG ResumeCompleteTimestamp; } RESUME_PERFORMANCE, *PRESUME_PERFORMANCE; typedef enum { PoAc, PoDc, PoHot, PoConditionMaximum } SYSTEM_POWER_CONDITION; typedef struct { DWORD Version; GUID Guid; SYSTEM_POWER_CONDITION PowerCondition; DWORD DataLength; BYTE Data[1]; } SET_POWER_SETTING_VALUE, *PSET_POWER_SETTING_VALUE; typedef struct { GUID Guid; } NOTIFY_USER_POWER_SETTING, *PNOTIFY_USER_POWER_SETTING; typedef struct _APPLICATIONLAUNCH_SETTING_VALUE { LARGE_INTEGER ActivationTime; DWORD Flags; DWORD ButtonInstanceID; } APPLICATIONLAUNCH_SETTING_VALUE, *PAPPLICATIONLAUNCH_SETTING_VALUE; typedef enum _POWER_PLATFORM_ROLE { PlatformRoleUnspecified = 0, PlatformRoleDesktop, PlatformRoleMobile, PlatformRoleWorkstation, PlatformRoleEnterpriseServer, PlatformRoleSOHOServer, PlatformRoleAppliancePC, PlatformRolePerformanceServer, PlatformRoleSlate, PlatformRoleMaximum } POWER_PLATFORM_ROLE, *PPOWER_PLATFORM_ROLE; typedef struct _POWER_PLATFORM_INFORMATION { BOOLEAN AoAc; } POWER_PLATFORM_INFORMATION, *PPOWER_PLATFORM_INFORMATION; typedef struct { DWORD Granularity; DWORD Capacity; } BATTERY_REPORTING_SCALE, *PBATTERY_REPORTING_SCALE; typedef struct { DWORD Frequency; DWORD Flags; DWORD PercentFrequency; } PPM_WMI_LEGACY_PERFSTATE, *PPPM_WMI_LEGACY_PERFSTATE; typedef struct { DWORD Latency; DWORD Power; DWORD TimeCheck; BYTE PromotePercent; BYTE DemotePercent; BYTE StateType; BYTE Reserved; DWORD StateFlags; DWORD Context; DWORD IdleHandler; DWORD Reserved1; } PPM_WMI_IDLE_STATE, *PPPM_WMI_IDLE_STATE; typedef struct { DWORD Type; DWORD Count; DWORD TargetState; DWORD OldState; DWORD64 TargetProcessors; PPM_WMI_IDLE_STATE State[1]; } PPM_WMI_IDLE_STATES, *PPPM_WMI_IDLE_STATES; typedef struct { DWORD Type; DWORD Count; DWORD TargetState; DWORD OldState; PVOID TargetProcessors; PPM_WMI_IDLE_STATE State[1]; } PPM_WMI_IDLE_STATES_EX, *PPPM_WMI_IDLE_STATES_EX; typedef struct { DWORD Frequency; DWORD Power; BYTE PercentFrequency; BYTE IncreaseLevel; BYTE DecreaseLevel; BYTE Type; DWORD IncreaseTime; DWORD DecreaseTime; DWORD64 Control; DWORD64 Status; DWORD HitCount; DWORD Reserved1; DWORD64 Reserved2; DWORD64 Reserved3; } PPM_WMI_PERF_STATE, *PPPM_WMI_PERF_STATE; typedef struct { DWORD Count; DWORD MaxFrequency; DWORD CurrentState; DWORD MaxPerfState; DWORD MinPerfState; DWORD LowestPerfState; DWORD ThermalConstraint; BYTE BusyAdjThreshold; BYTE PolicyType; BYTE Type; BYTE Reserved; DWORD TimerInterval; DWORD64 TargetProcessors; DWORD PStateHandler; DWORD PStateContext; DWORD TStateHandler; DWORD TStateContext; DWORD FeedbackHandler; DWORD Reserved1; DWORD64 Reserved2; PPM_WMI_PERF_STATE State[1]; } PPM_WMI_PERF_STATES, *PPPM_WMI_PERF_STATES; typedef struct { DWORD Count; DWORD MaxFrequency; DWORD CurrentState; DWORD MaxPerfState; DWORD MinPerfState; DWORD LowestPerfState; DWORD ThermalConstraint; BYTE BusyAdjThreshold; BYTE PolicyType; BYTE Type; BYTE Reserved; DWORD TimerInterval; PVOID TargetProcessors; DWORD PStateHandler; DWORD PStateContext; DWORD TStateHandler; DWORD TStateContext; DWORD FeedbackHandler; DWORD Reserved1; DWORD64 Reserved2; PPM_WMI_PERF_STATE State[1]; } PPM_WMI_PERF_STATES_EX, *PPPM_WMI_PERF_STATES_EX; typedef struct { DWORD IdleTransitions; DWORD FailedTransitions; DWORD InvalidBucketIndex; DWORD64 TotalTime; DWORD IdleTimeBuckets[6]; } PPM_IDLE_STATE_ACCOUNTING, *PPPM_IDLE_STATE_ACCOUNTING; typedef struct { DWORD StateCount; DWORD TotalTransitions; DWORD ResetCount; DWORD64 StartTime; PPM_IDLE_STATE_ACCOUNTING State[1]; } PPM_IDLE_ACCOUNTING, *PPPM_IDLE_ACCOUNTING; typedef struct { DWORD64 TotalTimeUs; DWORD MinTimeUs; DWORD MaxTimeUs; DWORD Count; } PPM_IDLE_STATE_BUCKET_EX, *PPPM_IDLE_STATE_BUCKET_EX; typedef struct { DWORD64 TotalTime; DWORD IdleTransitions; DWORD FailedTransitions; DWORD InvalidBucketIndex; DWORD MinTimeUs; DWORD MaxTimeUs; DWORD CancelledTransitions; PPM_IDLE_STATE_BUCKET_EX IdleTimeBuckets[16]; } PPM_IDLE_STATE_ACCOUNTING_EX, *PPPM_IDLE_STATE_ACCOUNTING_EX; typedef struct { DWORD StateCount; DWORD TotalTransitions; DWORD ResetCount; DWORD AbortCount; DWORD64 StartTime; PPM_IDLE_STATE_ACCOUNTING_EX State[1]; } PPM_IDLE_ACCOUNTING_EX, *PPPM_IDLE_ACCOUNTING_EX; extern "C" const GUID PPM_PERFSTATE_CHANGE_GUID; extern "C" const GUID PPM_PERFSTATE_DOMAIN_CHANGE_GUID; extern "C" const GUID PPM_IDLESTATE_CHANGE_GUID; extern "C" const GUID PPM_PERFSTATES_DATA_GUID; extern "C" const GUID PPM_IDLESTATES_DATA_GUID; extern "C" const GUID PPM_IDLE_ACCOUNTING_GUID; extern "C" const GUID PPM_IDLE_ACCOUNTING_EX_GUID; extern "C" const GUID PPM_THERMALCONSTRAINT_GUID; extern "C" const GUID PPM_PERFMON_PERFSTATE_GUID; extern "C" const GUID PPM_THERMAL_POLICY_CHANGE_GUID; typedef struct { DWORD State; DWORD Status; DWORD Latency; DWORD Speed; DWORD Processor; } PPM_PERFSTATE_EVENT, *PPPM_PERFSTATE_EVENT; typedef struct { DWORD State; DWORD Latency; DWORD Speed; DWORD64 Processors; } PPM_PERFSTATE_DOMAIN_EVENT, *PPPM_PERFSTATE_DOMAIN_EVENT; typedef struct { DWORD NewState; DWORD OldState; DWORD64 Processors; } PPM_IDLESTATE_EVENT, *PPPM_IDLESTATE_EVENT; typedef struct { DWORD ThermalConstraint; DWORD64 Processors; } PPM_THERMALCHANGE_EVENT, *PPPM_THERMALCHANGE_EVENT; #pragma warning(push) #pragma warning(disable:4121) typedef struct { BYTE Mode; DWORD64 Processors; } PPM_THERMAL_POLICY_EVENT, *PPPM_THERMAL_POLICY_EVENT; #pragma warning(pop) typedef struct { POWER_ACTION Action; DWORD Flags; DWORD EventCode; } POWER_ACTION_POLICY, *PPOWER_ACTION_POLICY; typedef struct { BOOLEAN Enable; BYTE Spare[3]; DWORD BatteryLevel; POWER_ACTION_POLICY PowerPolicy; SYSTEM_POWER_STATE MinSystemState; } SYSTEM_POWER_LEVEL, *PSYSTEM_POWER_LEVEL; typedef struct _SYSTEM_POWER_POLICY { DWORD Revision; POWER_ACTION_POLICY PowerButton; POWER_ACTION_POLICY SleepButton; POWER_ACTION_POLICY LidClose; SYSTEM_POWER_STATE LidOpenWake; DWORD Reserved; POWER_ACTION_POLICY Idle; DWORD IdleTimeout; BYTE IdleSensitivity; BYTE DynamicThrottle; BYTE Spare2[2]; SYSTEM_POWER_STATE MinSleep; SYSTEM_POWER_STATE MaxSleep; SYSTEM_POWER_STATE ReducedLatencySleep; DWORD WinLogonFlags; DWORD Spare3; DWORD DozeS4Timeout; DWORD BroadcastCapacityResolution; SYSTEM_POWER_LEVEL DischargePolicy[4]; DWORD VideoTimeout; BOOLEAN VideoDimDisplay; DWORD VideoReserved[3]; DWORD SpindownTimeout; BOOLEAN OptimizeForPower; BYTE FanThrottleTolerance; BYTE ForcedThrottle; BYTE MinThrottle; POWER_ACTION_POLICY OverThrottled; } SYSTEM_POWER_POLICY, *PSYSTEM_POWER_POLICY; typedef struct { DWORD TimeCheck; BYTE DemotePercent; BYTE PromotePercent; BYTE Spare[2]; } PROCESSOR_IDLESTATE_INFO, *PPROCESSOR_IDLESTATE_INFO; typedef struct { WORD Revision; union { WORD AsWORD ; struct { WORD AllowScaling : 1; WORD Disabled : 1; WORD Reserved : 14; } ; } Flags; DWORD PolicyCount; PROCESSOR_IDLESTATE_INFO Policy[0x3]; } PROCESSOR_IDLESTATE_POLICY, *PPROCESSOR_IDLESTATE_POLICY; typedef struct _PROCESSOR_POWER_POLICY_INFO { DWORD TimeCheck; DWORD DemoteLimit; DWORD PromoteLimit; BYTE DemotePercent; BYTE PromotePercent; BYTE Spare[2]; DWORD AllowDemotion:1; DWORD AllowPromotion:1; DWORD Reserved:30; } PROCESSOR_POWER_POLICY_INFO, *PPROCESSOR_POWER_POLICY_INFO; typedef struct _PROCESSOR_POWER_POLICY { DWORD Revision; BYTE DynamicThrottle; BYTE Spare[3]; DWORD DisableCStates:1; DWORD Reserved:31; DWORD PolicyCount; PROCESSOR_POWER_POLICY_INFO Policy[3]; } PROCESSOR_POWER_POLICY, *PPROCESSOR_POWER_POLICY; typedef struct { DWORD Revision; BYTE MaxThrottle; BYTE MinThrottle; BYTE BusyAdjThreshold; union { BYTE Spare; union { BYTE AsBYTE ; struct { BYTE NoDomainAccounting : 1; BYTE IncreasePolicy: 2; BYTE DecreasePolicy: 2; BYTE Reserved : 3; } ; } Flags; } ; DWORD TimeCheck; DWORD IncreaseTime; DWORD DecreaseTime; DWORD IncreasePercent; DWORD DecreasePercent; } PROCESSOR_PERFSTATE_POLICY, *PPROCESSOR_PERFSTATE_POLICY; typedef struct _ADMINISTRATOR_POWER_POLICY { SYSTEM_POWER_STATE MinSleep; SYSTEM_POWER_STATE MaxSleep; DWORD MinVideoTimeout; DWORD MaxVideoTimeout; DWORD MinSpindownTimeout; DWORD MaxSpindownTimeout; } ADMINISTRATOR_POWER_POLICY, *PADMINISTRATOR_POWER_POLICY; typedef enum _HIBERFILE_BUCKET_SIZE { HiberFileBucket1GB = 0, HiberFileBucket2GB, HiberFileBucket4GB, HiberFileBucket8GB, HiberFileBucket16GB, HiberFileBucket32GB, HiberFileBucketUnlimited, HiberFileBucketMax } HIBERFILE_BUCKET_SIZE, *PHIBERFILE_BUCKET_SIZE; typedef struct _HIBERFILE_BUCKET { DWORD64 MaxPhysicalMemory; DWORD PhysicalMemoryPercent[0x03]; } HIBERFILE_BUCKET, *PHIBERFILE_BUCKET; typedef struct { BOOLEAN PowerButtonPresent; BOOLEAN SleepButtonPresent; BOOLEAN LidPresent; BOOLEAN SystemS1; BOOLEAN SystemS2; BOOLEAN SystemS3; BOOLEAN SystemS4; BOOLEAN SystemS5; BOOLEAN HiberFilePresent; BOOLEAN FullWake; BOOLEAN VideoDimPresent; BOOLEAN ApmPresent; BOOLEAN UpsPresent; BOOLEAN ThermalControl; BOOLEAN ProcessorThrottle; BYTE ProcessorMinThrottle; BYTE ProcessorMaxThrottle; BOOLEAN FastSystemS4; BOOLEAN Hiberboot; BOOLEAN WakeAlarmPresent; BOOLEAN AoAc; BOOLEAN DiskSpinDown; BYTE HiberFileType; BOOLEAN AoAcConnectivitySupported; BYTE spare3[6]; BOOLEAN SystemBatteriesPresent; BOOLEAN BatteriesAreShortTerm; BATTERY_REPORTING_SCALE BatteryScale[3]; SYSTEM_POWER_STATE AcOnLineWake; SYSTEM_POWER_STATE SoftLidWake; SYSTEM_POWER_STATE RtcWake; SYSTEM_POWER_STATE MinDeviceWakeState; SYSTEM_POWER_STATE DefaultLowLatencyWake; } SYSTEM_POWER_CAPABILITIES, *PSYSTEM_POWER_CAPABILITIES; typedef struct { BOOLEAN AcOnLine; BOOLEAN BatteryPresent; BOOLEAN Charging; BOOLEAN Discharging; BOOLEAN Spare1[3]; BYTE Tag; DWORD MaxCapacity; DWORD RemainingCapacity; DWORD Rate; DWORD EstimatedTime; DWORD DefaultAlert1; DWORD DefaultAlert2; } SYSTEM_BATTERY_STATE, *PSYSTEM_BATTERY_STATE; #pragma warning(disable:4103) #pragma pack(push,4) #pragma warning(disable:4103) #pragma pack(push,2) typedef struct _IMAGE_DOS_HEADER { WORD e_magic; WORD e_cblp; WORD e_cp; WORD e_crlc; WORD e_cparhdr; WORD e_minalloc; WORD e_maxalloc; WORD e_ss; WORD e_sp; WORD e_csum; WORD e_ip; WORD e_cs; WORD e_lfarlc; WORD e_ovno; WORD e_res[4]; WORD e_oemid; WORD e_oeminfo; WORD e_res2[10]; LONG e_lfanew; } IMAGE_DOS_HEADER, *PIMAGE_DOS_HEADER; typedef struct _IMAGE_OS2_HEADER { WORD ne_magic; CHAR ne_ver; CHAR ne_rev; WORD ne_enttab; WORD ne_cbenttab; LONG ne_crc; WORD ne_flags; WORD ne_autodata; WORD ne_heap; WORD ne_stack; LONG ne_csip; LONG ne_sssp; WORD ne_cseg; WORD ne_cmod; WORD ne_cbnrestab; WORD ne_segtab; WORD ne_rsrctab; WORD ne_restab; WORD ne_modtab; WORD ne_imptab; LONG ne_nrestab; WORD ne_cmovent; WORD ne_align; WORD ne_cres; BYTE ne_exetyp; BYTE ne_flagsothers; WORD ne_pretthunks; WORD ne_psegrefbytes; WORD ne_swaparea; WORD ne_expver; } IMAGE_OS2_HEADER, *PIMAGE_OS2_HEADER; typedef struct _IMAGE_VXD_HEADER { WORD e32_magic; BYTE e32_border; BYTE e32_worder; DWORD e32_level; WORD e32_cpu; WORD e32_os; DWORD e32_ver; DWORD e32_mflags; DWORD e32_mpages; DWORD e32_startobj; DWORD e32_eip; DWORD e32_stackobj; DWORD e32_esp; DWORD e32_pagesize; DWORD e32_lastpagesize; DWORD e32_fixupsize; DWORD e32_fixupsum; DWORD e32_ldrsize; DWORD e32_ldrsum; DWORD e32_objtab; DWORD e32_objcnt; DWORD e32_objmap; DWORD e32_itermap; DWORD e32_rsrctab; DWORD e32_rsrccnt; DWORD e32_restab; DWORD e32_enttab; DWORD e32_dirtab; DWORD e32_dircnt; DWORD e32_fpagetab; DWORD e32_frectab; DWORD e32_impmod; DWORD e32_impmodcnt; DWORD e32_impproc; DWORD e32_pagesum; DWORD e32_datapage; DWORD e32_preload; DWORD e32_nrestab; DWORD e32_cbnrestab; DWORD e32_nressum; DWORD e32_autodata; DWORD e32_debuginfo; DWORD e32_debuglen; DWORD e32_instpreload; DWORD e32_instdemand; DWORD e32_heapsize; BYTE e32_res3[12]; DWORD e32_winresoff; DWORD e32_winreslen; WORD e32_devid; WORD e32_ddkver; } IMAGE_VXD_HEADER, *PIMAGE_VXD_HEADER; #pragma warning(disable:4103) #pragma pack(pop) typedef struct _IMAGE_FILE_HEADER { WORD Machine; WORD NumberOfSections; DWORD TimeDateStamp; DWORD PointerToSymbolTable; DWORD NumberOfSymbols; WORD SizeOfOptionalHeader; WORD Characteristics; } IMAGE_FILE_HEADER, *PIMAGE_FILE_HEADER; typedef struct _IMAGE_DATA_DIRECTORY { DWORD VirtualAddress; DWORD Size; } IMAGE_DATA_DIRECTORY, *PIMAGE_DATA_DIRECTORY; typedef struct _IMAGE_OPTIONAL_HEADER { WORD Magic; BYTE MajorLinkerVersion; BYTE MinorLinkerVersion; DWORD SizeOfCode; DWORD SizeOfInitializedData; DWORD SizeOfUninitializedData; DWORD AddressOfEntryPoint; DWORD BaseOfCode; DWORD BaseOfData; DWORD ImageBase; DWORD SectionAlignment; DWORD FileAlignment; WORD MajorOperatingSystemVersion; WORD MinorOperatingSystemVersion; WORD MajorImageVersion; WORD MinorImageVersion; WORD MajorSubsystemVersion; WORD MinorSubsystemVersion; DWORD Win32VersionValue; DWORD SizeOfImage; DWORD SizeOfHeaders; DWORD CheckSum; WORD Subsystem; WORD DllCharacteristics; DWORD SizeOfStackReserve; DWORD SizeOfStackCommit; DWORD SizeOfHeapReserve; DWORD SizeOfHeapCommit; DWORD LoaderFlags; DWORD NumberOfRvaAndSizes; IMAGE_DATA_DIRECTORY DataDirectory[16]; } IMAGE_OPTIONAL_HEADER32, *PIMAGE_OPTIONAL_HEADER32; typedef struct _IMAGE_ROM_OPTIONAL_HEADER { WORD Magic; BYTE MajorLinkerVersion; BYTE MinorLinkerVersion; DWORD SizeOfCode; DWORD SizeOfInitializedData; DWORD SizeOfUninitializedData; DWORD AddressOfEntryPoint; DWORD BaseOfCode; DWORD BaseOfData; DWORD BaseOfBss; DWORD GprMask; DWORD CprMask[4]; DWORD GpValue; } IMAGE_ROM_OPTIONAL_HEADER, *PIMAGE_ROM_OPTIONAL_HEADER; typedef struct _IMAGE_OPTIONAL_HEADER64 { WORD Magic; BYTE MajorLinkerVersion; BYTE MinorLinkerVersion; DWORD SizeOfCode; DWORD SizeOfInitializedData; DWORD SizeOfUninitializedData; DWORD AddressOfEntryPoint; DWORD BaseOfCode; ULONGLONG ImageBase; DWORD SectionAlignment; DWORD FileAlignment; WORD MajorOperatingSystemVersion; WORD MinorOperatingSystemVersion; WORD MajorImageVersion; WORD MinorImageVersion; WORD MajorSubsystemVersion; WORD MinorSubsystemVersion; DWORD Win32VersionValue; DWORD SizeOfImage; DWORD SizeOfHeaders; DWORD CheckSum; WORD Subsystem; WORD DllCharacteristics; ULONGLONG SizeOfStackReserve; ULONGLONG SizeOfStackCommit; ULONGLONG SizeOfHeapReserve; ULONGLONG SizeOfHeapCommit; DWORD LoaderFlags; DWORD NumberOfRvaAndSizes; IMAGE_DATA_DIRECTORY DataDirectory[16]; } IMAGE_OPTIONAL_HEADER64, *PIMAGE_OPTIONAL_HEADER64; typedef IMAGE_OPTIONAL_HEADER64 IMAGE_OPTIONAL_HEADER; typedef PIMAGE_OPTIONAL_HEADER64 PIMAGE_OPTIONAL_HEADER; typedef struct _IMAGE_NT_HEADERS64 { DWORD Signature; IMAGE_FILE_HEADER FileHeader; IMAGE_OPTIONAL_HEADER64 OptionalHeader; } IMAGE_NT_HEADERS64, *PIMAGE_NT_HEADERS64; typedef struct _IMAGE_NT_HEADERS { DWORD Signature; IMAGE_FILE_HEADER FileHeader; IMAGE_OPTIONAL_HEADER32 OptionalHeader; } IMAGE_NT_HEADERS32, *PIMAGE_NT_HEADERS32; typedef struct _IMAGE_ROM_HEADERS { IMAGE_FILE_HEADER FileHeader; IMAGE_ROM_OPTIONAL_HEADER OptionalHeader; } IMAGE_ROM_HEADERS, *PIMAGE_ROM_HEADERS; typedef IMAGE_NT_HEADERS64 IMAGE_NT_HEADERS; typedef PIMAGE_NT_HEADERS64 PIMAGE_NT_HEADERS; typedef struct ANON_OBJECT_HEADER { WORD Sig1; WORD Sig2; WORD Version; WORD Machine; DWORD TimeDateStamp; CLSID ClassID; DWORD SizeOfData; } ANON_OBJECT_HEADER; typedef struct ANON_OBJECT_HEADER_V2 { WORD Sig1; WORD Sig2; WORD Version; WORD Machine; DWORD TimeDateStamp; CLSID ClassID; DWORD SizeOfData; DWORD Flags; DWORD MetaDataSize; DWORD MetaDataOffset; } ANON_OBJECT_HEADER_V2; typedef struct ANON_OBJECT_HEADER_BIGOBJ { WORD Sig1; WORD Sig2; WORD Version; WORD Machine; DWORD TimeDateStamp; CLSID ClassID; DWORD SizeOfData; DWORD Flags; DWORD MetaDataSize; DWORD MetaDataOffset; DWORD NumberOfSections; DWORD PointerToSymbolTable; DWORD NumberOfSymbols; } ANON_OBJECT_HEADER_BIGOBJ; typedef struct _IMAGE_SECTION_HEADER { BYTE Name[8]; union { DWORD PhysicalAddress; DWORD VirtualSize; } Misc; DWORD VirtualAddress; DWORD SizeOfRawData; DWORD PointerToRawData; DWORD PointerToRelocations; DWORD PointerToLinenumbers; WORD NumberOfRelocations; WORD NumberOfLinenumbers; DWORD Characteristics; } IMAGE_SECTION_HEADER, *PIMAGE_SECTION_HEADER; #pragma warning(disable:4103) #pragma pack(push,2) typedef struct _IMAGE_SYMBOL { union { BYTE ShortName[8]; struct { DWORD Short; DWORD Long; } Name; DWORD LongName[2]; } N; DWORD Value; SHORT SectionNumber; WORD Type; BYTE StorageClass; BYTE NumberOfAuxSymbols; } IMAGE_SYMBOL; typedef IMAGE_SYMBOL __unaligned *PIMAGE_SYMBOL; typedef struct _IMAGE_SYMBOL_EX { union { BYTE ShortName[8]; struct { DWORD Short; DWORD Long; } Name; DWORD LongName[2]; } N; DWORD Value; LONG SectionNumber; WORD Type; BYTE StorageClass; BYTE NumberOfAuxSymbols; } IMAGE_SYMBOL_EX; typedef IMAGE_SYMBOL_EX __unaligned *PIMAGE_SYMBOL_EX; #pragma warning(disable:4103) #pragma pack(push,2) typedef struct IMAGE_AUX_SYMBOL_TOKEN_DEF { BYTE bAuxType; BYTE bReserved; DWORD SymbolTableIndex; BYTE rgbReserved[12]; } IMAGE_AUX_SYMBOL_TOKEN_DEF; typedef IMAGE_AUX_SYMBOL_TOKEN_DEF __unaligned *PIMAGE_AUX_SYMBOL_TOKEN_DEF; #pragma warning(disable:4103) #pragma pack(pop) typedef union _IMAGE_AUX_SYMBOL { struct { DWORD TagIndex; union { struct { WORD Linenumber; WORD Size; } LnSz; DWORD TotalSize; } Misc; union { struct { DWORD PointerToLinenumber; DWORD PointerToNextFunction; } Function; struct { WORD Dimension[4]; } Array; } FcnAry; WORD TvIndex; } Sym; struct { BYTE Name[18]; } File; struct { DWORD Length; WORD NumberOfRelocations; WORD NumberOfLinenumbers; DWORD CheckSum; SHORT Number; BYTE Selection; BYTE bReserved; SHORT HighNumber; } Section; IMAGE_AUX_SYMBOL_TOKEN_DEF TokenDef; struct { DWORD crc; BYTE rgbReserved[14]; } CRC; } IMAGE_AUX_SYMBOL; typedef IMAGE_AUX_SYMBOL __unaligned *PIMAGE_AUX_SYMBOL; typedef union _IMAGE_AUX_SYMBOL_EX { struct { DWORD WeakDefaultSymIndex; DWORD WeakSearchType; BYTE rgbReserved[12]; } Sym; struct { BYTE Name[sizeof(IMAGE_SYMBOL_EX)]; } File; struct { DWORD Length; WORD NumberOfRelocations; WORD NumberOfLinenumbers; DWORD CheckSum; SHORT Number; BYTE Selection; BYTE bReserved; SHORT HighNumber; BYTE rgbReserved[2]; } Section; struct{ IMAGE_AUX_SYMBOL_TOKEN_DEF TokenDef; BYTE rgbReserved[2]; } ; struct { DWORD crc; BYTE rgbReserved[16]; } CRC; } IMAGE_AUX_SYMBOL_EX; typedef IMAGE_AUX_SYMBOL_EX __unaligned *PIMAGE_AUX_SYMBOL_EX; typedef enum IMAGE_AUX_SYMBOL_TYPE { IMAGE_AUX_SYMBOL_TYPE_TOKEN_DEF = 1, } IMAGE_AUX_SYMBOL_TYPE; typedef struct _IMAGE_RELOCATION { union { DWORD VirtualAddress; DWORD RelocCount; } ; DWORD SymbolTableIndex; WORD Type; } IMAGE_RELOCATION; typedef IMAGE_RELOCATION __unaligned *PIMAGE_RELOCATION; typedef struct _IMAGE_LINENUMBER { union { DWORD SymbolTableIndex; DWORD VirtualAddress; } Type; WORD Linenumber; } IMAGE_LINENUMBER; typedef IMAGE_LINENUMBER __unaligned *PIMAGE_LINENUMBER; #pragma warning(disable:4103) #pragma pack(pop) typedef struct _IMAGE_BASE_RELOCATION { DWORD VirtualAddress; DWORD SizeOfBlock; } IMAGE_BASE_RELOCATION; typedef IMAGE_BASE_RELOCATION __unaligned * PIMAGE_BASE_RELOCATION; typedef struct _IMAGE_ARCHIVE_MEMBER_HEADER { BYTE Name[16]; BYTE Date[12]; BYTE UserID[6]; BYTE GroupID[6]; BYTE Mode[8]; BYTE Size[10]; BYTE EndHeader[2]; } IMAGE_ARCHIVE_MEMBER_HEADER, *PIMAGE_ARCHIVE_MEMBER_HEADER; typedef struct _IMAGE_EXPORT_DIRECTORY { DWORD Characteristics; DWORD TimeDateStamp; WORD MajorVersion; WORD MinorVersion; DWORD Name; DWORD Base; DWORD NumberOfFunctions; DWORD NumberOfNames; DWORD AddressOfFunctions; DWORD AddressOfNames; DWORD AddressOfNameOrdinals; } IMAGE_EXPORT_DIRECTORY, *PIMAGE_EXPORT_DIRECTORY; typedef struct _IMAGE_IMPORT_BY_NAME { WORD Hint; CHAR Name[1]; } IMAGE_IMPORT_BY_NAME, *PIMAGE_IMPORT_BY_NAME; #pragma warning(disable:4103) #pragma pack(push,8) typedef struct _IMAGE_THUNK_DATA64 { union { ULONGLONG ForwarderString; ULONGLONG Function; ULONGLONG Ordinal; ULONGLONG AddressOfData; } u1; } IMAGE_THUNK_DATA64; typedef IMAGE_THUNK_DATA64 * PIMAGE_THUNK_DATA64; #pragma warning(disable:4103) #pragma pack(pop) typedef struct _IMAGE_THUNK_DATA32 { union { DWORD ForwarderString; DWORD Function; DWORD Ordinal; DWORD AddressOfData; } u1; } IMAGE_THUNK_DATA32; typedef IMAGE_THUNK_DATA32 * PIMAGE_THUNK_DATA32; typedef void (__stdcall *PIMAGE_TLS_CALLBACK) ( PVOID DllHandle, DWORD Reason, PVOID Reserved ); typedef struct _IMAGE_TLS_DIRECTORY64 { ULONGLONG StartAddressOfRawData; ULONGLONG EndAddressOfRawData; ULONGLONG AddressOfIndex; ULONGLONG AddressOfCallBacks; DWORD SizeOfZeroFill; union { DWORD Characteristics; struct { DWORD Reserved0 : 20; DWORD Alignment : 4; DWORD Reserved1 : 8; } ; } ; } IMAGE_TLS_DIRECTORY64; typedef IMAGE_TLS_DIRECTORY64 * PIMAGE_TLS_DIRECTORY64; typedef struct _IMAGE_TLS_DIRECTORY32 { DWORD StartAddressOfRawData; DWORD EndAddressOfRawData; DWORD AddressOfIndex; DWORD AddressOfCallBacks; DWORD SizeOfZeroFill; union { DWORD Characteristics; struct { DWORD Reserved0 : 20; DWORD Alignment : 4; DWORD Reserved1 : 8; } ; } ; } IMAGE_TLS_DIRECTORY32; typedef IMAGE_TLS_DIRECTORY32 * PIMAGE_TLS_DIRECTORY32; typedef IMAGE_THUNK_DATA64 IMAGE_THUNK_DATA; typedef PIMAGE_THUNK_DATA64 PIMAGE_THUNK_DATA; typedef IMAGE_TLS_DIRECTORY64 IMAGE_TLS_DIRECTORY; typedef PIMAGE_TLS_DIRECTORY64 PIMAGE_TLS_DIRECTORY; typedef struct _IMAGE_IMPORT_DESCRIPTOR { union { DWORD Characteristics; DWORD OriginalFirstThunk; } ; DWORD TimeDateStamp; DWORD ForwarderChain; DWORD Name; DWORD FirstThunk; } IMAGE_IMPORT_DESCRIPTOR; typedef IMAGE_IMPORT_DESCRIPTOR __unaligned *PIMAGE_IMPORT_DESCRIPTOR; typedef struct _IMAGE_BOUND_IMPORT_DESCRIPTOR { DWORD TimeDateStamp; WORD OffsetModuleName; WORD NumberOfModuleForwarderRefs; } IMAGE_BOUND_IMPORT_DESCRIPTOR, *PIMAGE_BOUND_IMPORT_DESCRIPTOR; typedef struct _IMAGE_BOUND_FORWARDER_REF { DWORD TimeDateStamp; WORD OffsetModuleName; WORD Reserved; } IMAGE_BOUND_FORWARDER_REF, *PIMAGE_BOUND_FORWARDER_REF; typedef struct _IMAGE_DELAYLOAD_DESCRIPTOR { union { DWORD AllAttributes; struct { DWORD RvaBased : 1; DWORD ReservedAttributes : 31; } ; } Attributes; DWORD DllNameRVA; DWORD ModuleHandleRVA; DWORD ImportAddressTableRVA; DWORD ImportNameTableRVA; DWORD BoundImportAddressTableRVA; DWORD UnloadInformationTableRVA; DWORD TimeDateStamp; } IMAGE_DELAYLOAD_DESCRIPTOR, *PIMAGE_DELAYLOAD_DESCRIPTOR; typedef const IMAGE_DELAYLOAD_DESCRIPTOR *PCIMAGE_DELAYLOAD_DESCRIPTOR; typedef struct _IMAGE_RESOURCE_DIRECTORY { DWORD Characteristics; DWORD TimeDateStamp; WORD MajorVersion; WORD MinorVersion; WORD NumberOfNamedEntries; WORD NumberOfIdEntries; } IMAGE_RESOURCE_DIRECTORY, *PIMAGE_RESOURCE_DIRECTORY; typedef struct _IMAGE_RESOURCE_DIRECTORY_ENTRY { union { struct { DWORD NameOffset:31; DWORD NameIsString:1; } ; DWORD Name; WORD Id; } ; union { DWORD OffsetToData; struct { DWORD OffsetToDirectory:31; DWORD DataIsDirectory:1; } ; } ; } IMAGE_RESOURCE_DIRECTORY_ENTRY, *PIMAGE_RESOURCE_DIRECTORY_ENTRY; typedef struct _IMAGE_RESOURCE_DIRECTORY_STRING { WORD Length; CHAR NameString[ 1 ]; } IMAGE_RESOURCE_DIRECTORY_STRING, *PIMAGE_RESOURCE_DIRECTORY_STRING; typedef struct _IMAGE_RESOURCE_DIR_STRING_U { WORD Length; WCHAR NameString[ 1 ]; } IMAGE_RESOURCE_DIR_STRING_U, *PIMAGE_RESOURCE_DIR_STRING_U; typedef struct _IMAGE_RESOURCE_DATA_ENTRY { DWORD OffsetToData; DWORD Size; DWORD CodePage; DWORD Reserved; } IMAGE_RESOURCE_DATA_ENTRY, *PIMAGE_RESOURCE_DATA_ENTRY; typedef struct _IMAGE_LOAD_CONFIG_CODE_INTEGRITY { WORD Flags; WORD Catalog; DWORD CatalogOffset; DWORD Reserved; } IMAGE_LOAD_CONFIG_CODE_INTEGRITY, *PIMAGE_LOAD_CONFIG_CODE_INTEGRITY; typedef struct _IMAGE_DYNAMIC_RELOCATION_TABLE { DWORD Version; DWORD Size; } IMAGE_DYNAMIC_RELOCATION_TABLE, *PIMAGE_DYNAMIC_RELOCATION_TABLE; #pragma warning(disable:4103) #pragma pack(push,1) typedef struct _IMAGE_DYNAMIC_RELOCATION32 { DWORD Symbol; DWORD BaseRelocSize; } IMAGE_DYNAMIC_RELOCATION32, *PIMAGE_DYNAMIC_RELOCATION32; typedef struct _IMAGE_DYNAMIC_RELOCATION64 { ULONGLONG Symbol; DWORD BaseRelocSize; } IMAGE_DYNAMIC_RELOCATION64, *PIMAGE_DYNAMIC_RELOCATION64; typedef struct _IMAGE_DYNAMIC_RELOCATION32_V2 { DWORD HeaderSize; DWORD FixupInfoSize; DWORD Symbol; DWORD SymbolGroup; DWORD Flags; } IMAGE_DYNAMIC_RELOCATION32_V2, *PIMAGE_DYNAMIC_RELOCATION32_V2; typedef struct _IMAGE_DYNAMIC_RELOCATION64_V2 { DWORD HeaderSize; DWORD FixupInfoSize; ULONGLONG Symbol; DWORD SymbolGroup; DWORD Flags; } IMAGE_DYNAMIC_RELOCATION64_V2, *PIMAGE_DYNAMIC_RELOCATION64_V2; #pragma warning(disable:4103) #pragma pack(pop) typedef IMAGE_DYNAMIC_RELOCATION64 IMAGE_DYNAMIC_RELOCATION; typedef PIMAGE_DYNAMIC_RELOCATION64 PIMAGE_DYNAMIC_RELOCATION; typedef IMAGE_DYNAMIC_RELOCATION64_V2 IMAGE_DYNAMIC_RELOCATION_V2; typedef PIMAGE_DYNAMIC_RELOCATION64_V2 PIMAGE_DYNAMIC_RELOCATION_V2; #pragma warning(disable:4103) #pragma pack(push,1) typedef struct _IMAGE_PROLOGUE_DYNAMIC_RELOCATION_HEADER { BYTE PrologueByteCount; } IMAGE_PROLOGUE_DYNAMIC_RELOCATION_HEADER; typedef IMAGE_PROLOGUE_DYNAMIC_RELOCATION_HEADER __unaligned * PIMAGE_PROLOGUE_DYNAMIC_RELOCATION_HEADER; typedef struct _IMAGE_EPILOGUE_DYNAMIC_RELOCATION_HEADER { DWORD EpilogueCount; BYTE EpilogueByteCount; BYTE BranchDescriptorElementSize; WORD BranchDescriptorCount; } IMAGE_EPILOGUE_DYNAMIC_RELOCATION_HEADER; typedef IMAGE_EPILOGUE_DYNAMIC_RELOCATION_HEADER __unaligned * PIMAGE_EPILOGUE_DYNAMIC_RELOCATION_HEADER; typedef struct _IMAGE_IMPORT_CONTROL_TRANSFER_DYNAMIC_RELOCATION { DWORD PageRelativeOffset : 12; DWORD IndirectCall : 1; DWORD IATIndex : 19; } IMAGE_IMPORT_CONTROL_TRANSFER_DYNAMIC_RELOCATION; typedef IMAGE_IMPORT_CONTROL_TRANSFER_DYNAMIC_RELOCATION __unaligned * PIMAGE_IMPORT_CONTROL_TRANSFER_DYNAMIC_RELOCATION; typedef struct _IMAGE_INDIR_CONTROL_TRANSFER_DYNAMIC_RELOCATION { WORD PageRelativeOffset : 12; WORD IndirectCall : 1; WORD RexWPrefix : 1; WORD CfgCheck : 1; WORD Reserved : 1; } IMAGE_INDIR_CONTROL_TRANSFER_DYNAMIC_RELOCATION; typedef IMAGE_INDIR_CONTROL_TRANSFER_DYNAMIC_RELOCATION __unaligned * PIMAGE_INDIR_CONTROL_TRANSFER_DYNAMIC_RELOCATION; typedef struct _IMAGE_SWITCHTABLE_BRANCH_DYNAMIC_RELOCATION { WORD PageRelativeOffset : 12; WORD RegisterNumber : 4; } IMAGE_SWITCHTABLE_BRANCH_DYNAMIC_RELOCATION; typedef IMAGE_SWITCHTABLE_BRANCH_DYNAMIC_RELOCATION __unaligned * PIMAGE_SWITCHTABLE_BRANCH_DYNAMIC_RELOCATION; #pragma warning(disable:4103) #pragma pack(pop) typedef struct _IMAGE_LOAD_CONFIG_DIRECTORY32 { DWORD Size; DWORD TimeDateStamp; WORD MajorVersion; WORD MinorVersion; DWORD GlobalFlagsClear; DWORD GlobalFlagsSet; DWORD CriticalSectionDefaultTimeout; DWORD DeCommitFreeBlockThreshold; DWORD DeCommitTotalFreeThreshold; DWORD LockPrefixTable; DWORD MaximumAllocationSize; DWORD VirtualMemoryThreshold; DWORD ProcessHeapFlags; DWORD ProcessAffinityMask; WORD CSDVersion; WORD DependentLoadFlags; DWORD EditList; DWORD SecurityCookie; DWORD SEHandlerTable; DWORD SEHandlerCount; DWORD GuardCFCheckFunctionPointer; DWORD GuardCFDispatchFunctionPointer; DWORD GuardCFFunctionTable; DWORD GuardCFFunctionCount; DWORD GuardFlags; IMAGE_LOAD_CONFIG_CODE_INTEGRITY CodeIntegrity; DWORD GuardAddressTakenIatEntryTable; DWORD GuardAddressTakenIatEntryCount; DWORD GuardLongJumpTargetTable; DWORD GuardLongJumpTargetCount; DWORD DynamicValueRelocTable; DWORD CHPEMetadataPointer; DWORD GuardRFFailureRoutine; DWORD GuardRFFailureRoutineFunctionPointer; DWORD DynamicValueRelocTableOffset; WORD DynamicValueRelocTableSection; WORD Reserved2; DWORD GuardRFVerifyStackPointerFunctionPointer; DWORD HotPatchTableOffset; DWORD Reserved3; DWORD EnclaveConfigurationPointer; DWORD VolatileMetadataPointer; DWORD GuardEHContinuationTable; DWORD GuardEHContinuationCount; } IMAGE_LOAD_CONFIG_DIRECTORY32, *PIMAGE_LOAD_CONFIG_DIRECTORY32; typedef struct _IMAGE_LOAD_CONFIG_DIRECTORY64 { DWORD Size; DWORD TimeDateStamp; WORD MajorVersion; WORD MinorVersion; DWORD GlobalFlagsClear; DWORD GlobalFlagsSet; DWORD CriticalSectionDefaultTimeout; ULONGLONG DeCommitFreeBlockThreshold; ULONGLONG DeCommitTotalFreeThreshold; ULONGLONG LockPrefixTable; ULONGLONG MaximumAllocationSize; ULONGLONG VirtualMemoryThreshold; ULONGLONG ProcessAffinityMask; DWORD ProcessHeapFlags; WORD CSDVersion; WORD DependentLoadFlags; ULONGLONG EditList; ULONGLONG SecurityCookie; ULONGLONG SEHandlerTable; ULONGLONG SEHandlerCount; ULONGLONG GuardCFCheckFunctionPointer; ULONGLONG GuardCFDispatchFunctionPointer; ULONGLONG GuardCFFunctionTable; ULONGLONG GuardCFFunctionCount; DWORD GuardFlags; IMAGE_LOAD_CONFIG_CODE_INTEGRITY CodeIntegrity; ULONGLONG GuardAddressTakenIatEntryTable; ULONGLONG GuardAddressTakenIatEntryCount; ULONGLONG GuardLongJumpTargetTable; ULONGLONG GuardLongJumpTargetCount; ULONGLONG DynamicValueRelocTable; ULONGLONG CHPEMetadataPointer; ULONGLONG GuardRFFailureRoutine; ULONGLONG GuardRFFailureRoutineFunctionPointer; DWORD DynamicValueRelocTableOffset; WORD DynamicValueRelocTableSection; WORD Reserved2; ULONGLONG GuardRFVerifyStackPointerFunctionPointer; DWORD HotPatchTableOffset; DWORD Reserved3; ULONGLONG EnclaveConfigurationPointer; ULONGLONG VolatileMetadataPointer; ULONGLONG GuardEHContinuationTable; ULONGLONG GuardEHContinuationCount; } IMAGE_LOAD_CONFIG_DIRECTORY64, *PIMAGE_LOAD_CONFIG_DIRECTORY64; typedef IMAGE_LOAD_CONFIG_DIRECTORY64 IMAGE_LOAD_CONFIG_DIRECTORY; typedef PIMAGE_LOAD_CONFIG_DIRECTORY64 PIMAGE_LOAD_CONFIG_DIRECTORY; typedef struct _IMAGE_HOT_PATCH_INFO { DWORD Version; DWORD Size; DWORD SequenceNumber; DWORD BaseImageList; DWORD BaseImageCount; DWORD BufferOffset; DWORD ExtraPatchSize; } IMAGE_HOT_PATCH_INFO, *PIMAGE_HOT_PATCH_INFO; typedef struct _IMAGE_HOT_PATCH_BASE { DWORD SequenceNumber; DWORD Flags; DWORD OriginalTimeDateStamp; DWORD OriginalCheckSum; DWORD CodeIntegrityInfo; DWORD CodeIntegritySize; DWORD PatchTable; DWORD BufferOffset; } IMAGE_HOT_PATCH_BASE, *PIMAGE_HOT_PATCH_BASE; typedef struct _IMAGE_HOT_PATCH_HASHES { BYTE SHA256[32]; BYTE SHA1[20]; } IMAGE_HOT_PATCH_HASHES, *PIMAGE_HOT_PATCH_HASHES; typedef struct _IMAGE_CE_RUNTIME_FUNCTION_ENTRY { DWORD FuncStart; DWORD PrologLen : 8; DWORD FuncLen : 22; DWORD ThirtyTwoBit : 1; DWORD ExceptionFlag : 1; } IMAGE_CE_RUNTIME_FUNCTION_ENTRY, * PIMAGE_CE_RUNTIME_FUNCTION_ENTRY; typedef struct _IMAGE_ARM_RUNTIME_FUNCTION_ENTRY { DWORD BeginAddress; union { DWORD UnwindData; struct { DWORD Flag : 2; DWORD FunctionLength : 11; DWORD Ret : 2; DWORD H : 1; DWORD Reg : 3; DWORD R : 1; DWORD L : 1; DWORD C : 1; DWORD StackAdjust : 10; } ; } ; } IMAGE_ARM_RUNTIME_FUNCTION_ENTRY, * PIMAGE_ARM_RUNTIME_FUNCTION_ENTRY; typedef enum ARM64_FNPDATA_FLAGS { PdataRefToFullXdata = 0, PdataPackedUnwindFunction = 1, PdataPackedUnwindFragment = 2, } ARM64_FNPDATA_FLAGS; typedef enum ARM64_FNPDATA_CR { PdataCrUnchained = 0, PdataCrUnchainedSavedLr = 1, PdataCrChained = 3, } ARM64_FNPDATA_CR; typedef struct _IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY { DWORD BeginAddress; union { DWORD UnwindData; struct { DWORD Flag : 2; DWORD FunctionLength : 11; DWORD RegF : 3; DWORD RegI : 4; DWORD H : 1; DWORD CR : 2; DWORD FrameSize : 9; } ; } ; } IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY, * PIMAGE_ARM64_RUNTIME_FUNCTION_ENTRY; typedef union IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY_XDATA { DWORD HeaderData; struct { DWORD FunctionLength : 18; DWORD Version : 2; DWORD ExceptionDataPresent : 1; DWORD EpilogInHeader : 1; DWORD EpilogCount : 5; DWORD CodeWords : 5; }; } IMAGE_ARM64_RUNTIME_FUNCTION_ENTRY_XDATA; typedef struct _IMAGE_ALPHA64_RUNTIME_FUNCTION_ENTRY { ULONGLONG BeginAddress; ULONGLONG EndAddress; ULONGLONG ExceptionHandler; ULONGLONG HandlerData; ULONGLONG PrologEndAddress; } IMAGE_ALPHA64_RUNTIME_FUNCTION_ENTRY, *PIMAGE_ALPHA64_RUNTIME_FUNCTION_ENTRY; typedef struct _IMAGE_ALPHA_RUNTIME_FUNCTION_ENTRY { DWORD BeginAddress; DWORD EndAddress; DWORD ExceptionHandler; DWORD HandlerData; DWORD PrologEndAddress; } IMAGE_ALPHA_RUNTIME_FUNCTION_ENTRY, *PIMAGE_ALPHA_RUNTIME_FUNCTION_ENTRY; typedef struct _IMAGE_RUNTIME_FUNCTION_ENTRY { DWORD BeginAddress; DWORD EndAddress; union { DWORD UnwindInfoAddress; DWORD UnwindData; } ; } _IMAGE_RUNTIME_FUNCTION_ENTRY, *_PIMAGE_RUNTIME_FUNCTION_ENTRY; typedef _IMAGE_RUNTIME_FUNCTION_ENTRY IMAGE_IA64_RUNTIME_FUNCTION_ENTRY; typedef _PIMAGE_RUNTIME_FUNCTION_ENTRY PIMAGE_IA64_RUNTIME_FUNCTION_ENTRY; typedef _IMAGE_RUNTIME_FUNCTION_ENTRY IMAGE_RUNTIME_FUNCTION_ENTRY; typedef _PIMAGE_RUNTIME_FUNCTION_ENTRY PIMAGE_RUNTIME_FUNCTION_ENTRY; typedef struct _IMAGE_ENCLAVE_CONFIG32 { DWORD Size; DWORD MinimumRequiredConfigSize; DWORD PolicyFlags; DWORD NumberOfImports; DWORD ImportList; DWORD ImportEntrySize; BYTE FamilyID[16]; BYTE ImageID[16]; DWORD ImageVersion; DWORD SecurityVersion; DWORD EnclaveSize; DWORD NumberOfThreads; DWORD EnclaveFlags; } IMAGE_ENCLAVE_CONFIG32, *PIMAGE_ENCLAVE_CONFIG32; typedef struct _IMAGE_ENCLAVE_CONFIG64 { DWORD Size; DWORD MinimumRequiredConfigSize; DWORD PolicyFlags; DWORD NumberOfImports; DWORD ImportList; DWORD ImportEntrySize; BYTE FamilyID[16]; BYTE ImageID[16]; DWORD ImageVersion; DWORD SecurityVersion; ULONGLONG EnclaveSize; DWORD NumberOfThreads; DWORD EnclaveFlags; } IMAGE_ENCLAVE_CONFIG64, *PIMAGE_ENCLAVE_CONFIG64; typedef IMAGE_ENCLAVE_CONFIG64 IMAGE_ENCLAVE_CONFIG; typedef PIMAGE_ENCLAVE_CONFIG64 PIMAGE_ENCLAVE_CONFIG; typedef struct _IMAGE_ENCLAVE_IMPORT { DWORD MatchType; DWORD MinimumSecurityVersion; BYTE UniqueOrAuthorID[32]; BYTE FamilyID[16]; BYTE ImageID[16]; DWORD ImportName; DWORD Reserved; } IMAGE_ENCLAVE_IMPORT, *PIMAGE_ENCLAVE_IMPORT; typedef struct _IMAGE_DEBUG_DIRECTORY { DWORD Characteristics; DWORD TimeDateStamp; WORD MajorVersion; WORD MinorVersion; DWORD Type; DWORD SizeOfData; DWORD AddressOfRawData; DWORD PointerToRawData; } IMAGE_DEBUG_DIRECTORY, *PIMAGE_DEBUG_DIRECTORY; typedef struct _IMAGE_COFF_SYMBOLS_HEADER { DWORD NumberOfSymbols; DWORD LvaToFirstSymbol; DWORD NumberOfLinenumbers; DWORD LvaToFirstLinenumber; DWORD RvaToFirstByteOfCode; DWORD RvaToLastByteOfCode; DWORD RvaToFirstByteOfData; DWORD RvaToLastByteOfData; } IMAGE_COFF_SYMBOLS_HEADER, *PIMAGE_COFF_SYMBOLS_HEADER; typedef struct _FPO_DATA { DWORD ulOffStart; DWORD cbProcSize; DWORD cdwLocals; WORD cdwParams; WORD cbProlog : 8; WORD cbRegs : 3; WORD fHasSEH : 1; WORD fUseBP : 1; WORD reserved : 1; WORD cbFrame : 2; } FPO_DATA, *PFPO_DATA; typedef struct _IMAGE_DEBUG_MISC { DWORD DataType; DWORD Length; BOOLEAN Unicode; BYTE Reserved[ 3 ]; BYTE Data[ 1 ]; } IMAGE_DEBUG_MISC, *PIMAGE_DEBUG_MISC; typedef struct _IMAGE_FUNCTION_ENTRY { DWORD StartingAddress; DWORD EndingAddress; DWORD EndOfPrologue; } IMAGE_FUNCTION_ENTRY, *PIMAGE_FUNCTION_ENTRY; typedef struct _IMAGE_FUNCTION_ENTRY64 { ULONGLONG StartingAddress; ULONGLONG EndingAddress; union { ULONGLONG EndOfPrologue; ULONGLONG UnwindInfoAddress; } ; } IMAGE_FUNCTION_ENTRY64, *PIMAGE_FUNCTION_ENTRY64; typedef struct _IMAGE_SEPARATE_DEBUG_HEADER { WORD Signature; WORD Flags; WORD Machine; WORD Characteristics; DWORD TimeDateStamp; DWORD CheckSum; DWORD ImageBase; DWORD SizeOfImage; DWORD NumberOfSections; DWORD ExportedNamesSize; DWORD DebugDirectorySize; DWORD SectionAlignment; DWORD Reserved[2]; } IMAGE_SEPARATE_DEBUG_HEADER, *PIMAGE_SEPARATE_DEBUG_HEADER; typedef struct _NON_PAGED_DEBUG_INFO { WORD Signature; WORD Flags; DWORD Size; WORD Machine; WORD Characteristics; DWORD TimeDateStamp; DWORD CheckSum; DWORD SizeOfImage; ULONGLONG ImageBase; } NON_PAGED_DEBUG_INFO, *PNON_PAGED_DEBUG_INFO; typedef struct _ImageArchitectureHeader { unsigned int AmaskValue: 1; int :7; unsigned int AmaskShift: 8; int :16; DWORD FirstEntryRVA; } IMAGE_ARCHITECTURE_HEADER, *PIMAGE_ARCHITECTURE_HEADER; typedef struct _ImageArchitectureEntry { DWORD FixupInstRVA; DWORD NewInst; } IMAGE_ARCHITECTURE_ENTRY, *PIMAGE_ARCHITECTURE_ENTRY; #pragma warning(disable:4103) #pragma pack(pop) typedef struct IMPORT_OBJECT_HEADER { WORD Sig1; WORD Sig2; WORD Version; WORD Machine; DWORD TimeDateStamp; DWORD SizeOfData; union { WORD Ordinal; WORD Hint; } ; WORD Type : 2; WORD NameType : 3; WORD Reserved : 11; } IMPORT_OBJECT_HEADER; typedef enum IMPORT_OBJECT_TYPE { IMPORT_OBJECT_CODE = 0, IMPORT_OBJECT_DATA = 1, IMPORT_OBJECT_CONST = 2, } IMPORT_OBJECT_TYPE; typedef enum IMPORT_OBJECT_NAME_TYPE { IMPORT_OBJECT_ORDINAL = 0, IMPORT_OBJECT_NAME = 1, IMPORT_OBJECT_NAME_NO_PREFIX = 2, IMPORT_OBJECT_NAME_UNDECORATE = 3, IMPORT_OBJECT_NAME_EXPORTAS = 4, } IMPORT_OBJECT_NAME_TYPE; typedef enum ReplacesCorHdrNumericDefines { COMIMAGE_FLAGS_ILONLY =0x00000001, COMIMAGE_FLAGS_32BITREQUIRED =0x00000002, COMIMAGE_FLAGS_IL_LIBRARY =0x00000004, COMIMAGE_FLAGS_STRONGNAMESIGNED =0x00000008, COMIMAGE_FLAGS_NATIVE_ENTRYPOINT =0x00000010, COMIMAGE_FLAGS_TRACKDEBUGDATA =0x00010000, COMIMAGE_FLAGS_32BITPREFERRED =0x00020000, COR_VERSION_MAJOR_V2 =2, COR_VERSION_MAJOR =COR_VERSION_MAJOR_V2, COR_VERSION_MINOR =5, COR_DELETED_NAME_LENGTH =8, COR_VTABLEGAP_NAME_LENGTH =8, NATIVE_TYPE_MAX_CB =1, COR_ILMETHOD_SECT_SMALL_MAX_DATASIZE=0xFF, IMAGE_COR_MIH_METHODRVA =0x01, IMAGE_COR_MIH_EHRVA =0x02, IMAGE_COR_MIH_BASICBLOCK =0x08, COR_VTABLE_32BIT =0x01, COR_VTABLE_64BIT =0x02, COR_VTABLE_FROM_UNMANAGED =0x04, COR_VTABLE_FROM_UNMANAGED_RETAIN_APPDOMAIN =0x08, COR_VTABLE_CALL_MOST_DERIVED =0x10, IMAGE_COR_EATJ_THUNK_SIZE =32, MAX_CLASS_NAME =1024, MAX_PACKAGE_NAME =1024, } ReplacesCorHdrNumericDefines; typedef struct IMAGE_COR20_HEADER { DWORD cb; WORD MajorRuntimeVersion; WORD MinorRuntimeVersion; IMAGE_DATA_DIRECTORY MetaData; DWORD Flags; union { DWORD EntryPointToken; DWORD EntryPointRVA; } ; IMAGE_DATA_DIRECTORY Resources; IMAGE_DATA_DIRECTORY StrongNameSignature; IMAGE_DATA_DIRECTORY CodeManagerTable; IMAGE_DATA_DIRECTORY VTableFixups; IMAGE_DATA_DIRECTORY ExportAddressTableJumps; IMAGE_DATA_DIRECTORY ManagedNativeHeader; } IMAGE_COR20_HEADER, *PIMAGE_COR20_HEADER; #pragma region Application or OneCore or Games Family __declspec(dllimport) WORD __stdcall RtlCaptureStackBackTrace( DWORD FramesToSkip, DWORD FramesToCapture, PVOID* BackTrace, PDWORD BackTraceHash ); #pragma endregion #pragma region Desktop Family or OneCore Family or Games Family __declspec(dllimport) void __stdcall RtlCaptureContext( PCONTEXT ContextRecord ); __declspec(dllimport) void __stdcall RtlCaptureContext2( PCONTEXT ContextRecord ); #pragma endregion #pragma region Application or OneCore Family or Games Family __declspec(dllimport) void __stdcall RtlUnwind( PVOID TargetFrame, PVOID TargetIp, PEXCEPTION_RECORD ExceptionRecord, PVOID ReturnValue ); #pragma endregion #pragma region Application Family or OneCore Family __declspec(dllimport) BOOLEAN __cdecl RtlAddFunctionTable( PRUNTIME_FUNCTION FunctionTable, DWORD EntryCount, DWORD64 BaseAddress ); __declspec(dllimport) BOOLEAN __cdecl RtlDeleteFunctionTable( PRUNTIME_FUNCTION FunctionTable ); __declspec(dllimport) BOOLEAN __cdecl RtlInstallFunctionTableCallback( DWORD64 TableIdentifier, DWORD64 BaseAddress, DWORD Length, PGET_RUNTIME_FUNCTION_CALLBACK Callback, PVOID Context, PCWSTR OutOfProcessCallbackDll ); #pragma endregion #pragma region Desktop Family or OneCore Family __declspec(dllimport) DWORD __stdcall RtlAddGrowableFunctionTable( PVOID* DynamicTable, PRUNTIME_FUNCTION FunctionTable, DWORD EntryCount, DWORD MaximumEntryCount, ULONG_PTR RangeBase, ULONG_PTR RangeEnd ); __declspec(dllimport) void __stdcall RtlGrowFunctionTable( PVOID DynamicTable, DWORD NewEntryCount ); __declspec(dllimport) void __stdcall RtlDeleteGrowableFunctionTable( PVOID DynamicTable ); #pragma endregion #pragma region Application or OneCore Family or Games Family __declspec(dllimport) PRUNTIME_FUNCTION __stdcall RtlLookupFunctionEntry( DWORD64 ControlPc, PDWORD64 ImageBase, PUNWIND_HISTORY_TABLE HistoryTable ); __declspec(dllimport) void __cdecl RtlRestoreContext( PCONTEXT ContextRecord, struct _EXCEPTION_RECORD* ExceptionRecord ); __declspec(dllimport) void __stdcall RtlUnwindEx( PVOID TargetFrame, PVOID TargetIp, PEXCEPTION_RECORD ExceptionRecord, PVOID ReturnValue, PCONTEXT ContextRecord, PUNWIND_HISTORY_TABLE HistoryTable ); __declspec(dllimport) PEXCEPTION_ROUTINE __stdcall RtlVirtualUnwind( DWORD HandlerType, DWORD64 ImageBase, DWORD64 ControlPc, PRUNTIME_FUNCTION FunctionEntry, PCONTEXT ContextRecord, PVOID* HandlerData, PDWORD64 EstablisherFrame, PKNONVOLATILE_CONTEXT_POINTERS ContextPointers ); #pragma endregion #pragma region Desktop Family or OneCore Family or Games Family __declspec(dllimport) void __stdcall RtlRaiseException( PEXCEPTION_RECORD ExceptionRecord ); #pragma endregion #pragma region Application or OneCore Family or Games Family __declspec(dllimport) PVOID __stdcall RtlPcToFileHeader( PVOID PcValue, PVOID* BaseOfImage ); #pragma endregion #pragma region Application Family or OneCore Family __declspec(dllimport) SIZE_T __stdcall RtlCompareMemory( const void* Source1, const void* Source2, SIZE_T Length ); #pragma endregion #pragma warning(push) #pragma warning(disable:4324) typedef struct __declspec(align(16)) _SLIST_ENTRY { struct _SLIST_ENTRY *Next; } SLIST_ENTRY, *PSLIST_ENTRY; #pragma warning(pop) typedef union __declspec(align(16)) _SLIST_HEADER { struct { ULONGLONG Alignment; ULONGLONG Region; } ; struct { ULONGLONG Depth:16; ULONGLONG Sequence:48; ULONGLONG Reserved:4; ULONGLONG NextEntry:60; } HeaderX64; } SLIST_HEADER, *PSLIST_HEADER; #pragma region Desktop Family or OneCore Family __declspec(dllimport) void __stdcall RtlInitializeSListHead ( PSLIST_HEADER ListHead ); __declspec(dllimport) PSLIST_ENTRY __stdcall RtlFirstEntrySList ( const SLIST_HEADER *ListHead ); __declspec(dllimport) PSLIST_ENTRY __stdcall RtlInterlockedPopEntrySList ( PSLIST_HEADER ListHead ); __declspec(dllimport) PSLIST_ENTRY __stdcall RtlInterlockedPushEntrySList ( PSLIST_HEADER ListHead, PSLIST_ENTRY ListEntry ); __declspec(dllimport) PSLIST_ENTRY __stdcall RtlInterlockedPushListSListEx ( PSLIST_HEADER ListHead, PSLIST_ENTRY List, PSLIST_ENTRY ListEnd, DWORD Count ); __declspec(dllimport) PSLIST_ENTRY __stdcall RtlInterlockedFlushSList ( PSLIST_HEADER ListHead ); __declspec(dllimport) WORD __stdcall RtlQueryDepthSList ( PSLIST_HEADER ListHead ); __declspec(dllimport) ULONG_PTR __stdcall RtlGetReturnAddressHijackTarget ( void ); #pragma endregion typedef union _RTL_RUN_ONCE { PVOID Ptr; } RTL_RUN_ONCE, *PRTL_RUN_ONCE; typedef struct _RTL_BARRIER { DWORD Reserved1; DWORD Reserved2; ULONG_PTR Reserved3[2]; DWORD Reserved4; DWORD Reserved5; } RTL_BARRIER, *PRTL_BARRIER; __declspec(noreturn) void __fastfail( unsigned int Code ); #pragma intrinsic(__fastfail) #pragma region Desktop Family __forceinline DWORD HEAP_MAKE_TAG_FLAGS ( DWORD TagBase, DWORD Tag ) { return ((DWORD)((TagBase) + ((Tag) << 18))); } #pragma endregion __forceinline PVOID RtlSecureZeroMemory( PVOID ptr, SIZE_T cnt ) { volatile char *vptr = (volatile char *)ptr; __stosb((PBYTE )((DWORD64)vptr), 0, cnt); return ptr; } typedef struct _MESSAGE_RESOURCE_ENTRY { WORD Length; WORD Flags; BYTE Text[ 1 ]; } MESSAGE_RESOURCE_ENTRY, *PMESSAGE_RESOURCE_ENTRY; typedef struct _MESSAGE_RESOURCE_BLOCK { DWORD LowId; DWORD HighId; DWORD OffsetToEntries; } MESSAGE_RESOURCE_BLOCK, *PMESSAGE_RESOURCE_BLOCK; typedef struct _MESSAGE_RESOURCE_DATA { DWORD NumberOfBlocks; MESSAGE_RESOURCE_BLOCK Blocks[ 1 ]; } MESSAGE_RESOURCE_DATA, *PMESSAGE_RESOURCE_DATA; typedef struct _OSVERSIONINFOA { DWORD dwOSVersionInfoSize; DWORD dwMajorVersion; DWORD dwMinorVersion; DWORD dwBuildNumber; DWORD dwPlatformId; CHAR szCSDVersion[ 128 ]; } OSVERSIONINFOA, *POSVERSIONINFOA, *LPOSVERSIONINFOA; typedef struct _OSVERSIONINFOW { DWORD dwOSVersionInfoSize; DWORD dwMajorVersion; DWORD dwMinorVersion; DWORD dwBuildNumber; DWORD dwPlatformId; WCHAR szCSDVersion[ 128 ]; } OSVERSIONINFOW, *POSVERSIONINFOW, *LPOSVERSIONINFOW, RTL_OSVERSIONINFOW, *PRTL_OSVERSIONINFOW; typedef OSVERSIONINFOW OSVERSIONINFO; typedef POSVERSIONINFOW POSVERSIONINFO; typedef LPOSVERSIONINFOW LPOSVERSIONINFO; typedef struct _OSVERSIONINFOEXA { DWORD dwOSVersionInfoSize; DWORD dwMajorVersion; DWORD dwMinorVersion; DWORD dwBuildNumber; DWORD dwPlatformId; CHAR szCSDVersion[ 128 ]; WORD wServicePackMajor; WORD wServicePackMinor; WORD wSuiteMask; BYTE wProductType; BYTE wReserved; } OSVERSIONINFOEXA, *POSVERSIONINFOEXA, *LPOSVERSIONINFOEXA; typedef struct _OSVERSIONINFOEXW { DWORD dwOSVersionInfoSize; DWORD dwMajorVersion; DWORD dwMinorVersion; DWORD dwBuildNumber; DWORD dwPlatformId; WCHAR szCSDVersion[ 128 ]; WORD wServicePackMajor; WORD wServicePackMinor; WORD wSuiteMask; BYTE wProductType; BYTE wReserved; } OSVERSIONINFOEXW, *POSVERSIONINFOEXW, *LPOSVERSIONINFOEXW, RTL_OSVERSIONINFOEXW, *PRTL_OSVERSIONINFOEXW; typedef OSVERSIONINFOEXW OSVERSIONINFOEX; typedef POSVERSIONINFOEXW POSVERSIONINFOEX; typedef LPOSVERSIONINFOEXW LPOSVERSIONINFOEX; #pragma region Desktop Family or OneCore Family __declspec(dllimport) ULONGLONG __stdcall VerSetConditionMask( ULONGLONG ConditionMask, DWORD TypeMask, BYTE Condition ); #pragma endregion #pragma region Desktop Family or OneCore Family __declspec(dllimport) BOOLEAN __stdcall RtlGetProductInfo( DWORD OSMajorVersion, DWORD OSMinorVersion, DWORD SpMajorVersion, DWORD SpMinorVersion, PDWORD ReturnedProductType ); #pragma endregion typedef enum _RTL_UMS_THREAD_INFO_CLASS { UmsThreadInvalidInfoClass = 0, UmsThreadUserContext, UmsThreadPriority, UmsThreadAffinity, UmsThreadTeb, UmsThreadIsSuspended, UmsThreadIsTerminated, UmsThreadMaxInfoClass } RTL_UMS_THREAD_INFO_CLASS, *PRTL_UMS_THREAD_INFO_CLASS; typedef enum _RTL_UMS_SCHEDULER_REASON { UmsSchedulerStartup = 0, UmsSchedulerThreadBlocked, UmsSchedulerThreadYield, } RTL_UMS_SCHEDULER_REASON, *PRTL_UMS_SCHEDULER_REASON; typedef void __stdcall RTL_UMS_SCHEDULER_ENTRY_POINT( RTL_UMS_SCHEDULER_REASON Reason, ULONG_PTR ActivationPayload, PVOID SchedulerParam ); typedef RTL_UMS_SCHEDULER_ENTRY_POINT *PRTL_UMS_SCHEDULER_ENTRY_POINT; #pragma region Desktop Family or OneCore Family __declspec(dllimport) DWORD __stdcall RtlCrc32( const void *Buffer, size_t Size, DWORD InitialCrc ); __declspec(dllimport) ULONGLONG __stdcall RtlCrc64( const void *Buffer, size_t Size, ULONGLONG InitialCrc ); #pragma endregion typedef enum _OS_DEPLOYEMENT_STATE_VALUES { OS_DEPLOYMENT_STANDARD = 1, OS_DEPLOYMENT_COMPACT } OS_DEPLOYEMENT_STATE_VALUES; __declspec(dllimport) OS_DEPLOYEMENT_STATE_VALUES __stdcall RtlOsDeploymentState( DWORD Flags ); typedef struct _NV_MEMORY_RANGE { void *BaseAddress; SIZE_T Length; } NV_MEMORY_RANGE, *PNV_MEMORY_RANGE; __declspec(dllimport) DWORD __stdcall RtlGetNonVolatileToken ( PVOID NvBuffer, SIZE_T Size, PVOID *NvToken ); __declspec(dllimport) DWORD __stdcall RtlFreeNonVolatileToken ( PVOID NvToken ); __declspec(dllimport) DWORD __stdcall RtlFlushNonVolatileMemory ( PVOID NvToken, PVOID NvBuffer, SIZE_T Size, DWORD Flags ); __declspec(dllimport) DWORD __stdcall RtlDrainNonVolatileFlush ( PVOID NvToken ); __declspec(dllimport) DWORD __stdcall RtlWriteNonVolatileMemory ( PVOID NvToken, void __unaligned *NvDestination, const void __unaligned *Source, SIZE_T Size, DWORD Flags ); __declspec(dllimport) DWORD __stdcall RtlFillNonVolatileMemory ( PVOID NvToken, void __unaligned *NvDestination, SIZE_T Size, const BYTE Value, DWORD Flags ); __declspec(dllimport) DWORD __stdcall RtlFlushNonVolatileMemoryRanges ( PVOID NvToken, PNV_MEMORY_RANGE NvRanges, SIZE_T NumRanges, DWORD Flags ); typedef struct CORRELATION_VECTOR { CHAR Version; CHAR Vector[129]; } CORRELATION_VECTOR; typedef CORRELATION_VECTOR *PCORRELATION_VECTOR; __declspec(dllimport) DWORD __stdcall RtlInitializeCorrelationVector( PCORRELATION_VECTOR CorrelationVector, int Version, const GUID * Guid ); __declspec(dllimport) DWORD __stdcall RtlIncrementCorrelationVector( PCORRELATION_VECTOR CorrelationVector ); __declspec(dllimport) DWORD __stdcall RtlExtendCorrelationVector( PCORRELATION_VECTOR CorrelationVector ); __declspec(dllimport) DWORD __stdcall RtlValidateCorrelationVector( PCORRELATION_VECTOR Vector ); typedef struct _CUSTOM_SYSTEM_EVENT_TRIGGER_CONFIG { DWORD Size; PCWSTR TriggerId; } CUSTOM_SYSTEM_EVENT_TRIGGER_CONFIG, *PCUSTOM_SYSTEM_EVENT_TRIGGER_CONFIG; __forceinline void CUSTOM_SYSTEM_EVENT_TRIGGER_INIT( PCUSTOM_SYSTEM_EVENT_TRIGGER_CONFIG Config, PCWSTR TriggerId ) { memset((Config),0,(sizeof(CUSTOM_SYSTEM_EVENT_TRIGGER_CONFIG))); Config->Size = sizeof(CUSTOM_SYSTEM_EVENT_TRIGGER_CONFIG); Config->TriggerId = TriggerId; } DWORD __stdcall RtlRaiseCustomSystemEventTrigger( PCUSTOM_SYSTEM_EVENT_TRIGGER_CONFIG TriggerConfig ); typedef enum _IMAGE_POLICY_ENTRY_TYPE { ImagePolicyEntryTypeNone = 0, ImagePolicyEntryTypeBool, ImagePolicyEntryTypeInt8, ImagePolicyEntryTypeUInt8, ImagePolicyEntryTypeInt16, ImagePolicyEntryTypeUInt16, ImagePolicyEntryTypeInt32, ImagePolicyEntryTypeUInt32, ImagePolicyEntryTypeInt64, ImagePolicyEntryTypeUInt64, ImagePolicyEntryTypeAnsiString, ImagePolicyEntryTypeUnicodeString, ImagePolicyEntryTypeOverride, ImagePolicyEntryTypeMaximum } IMAGE_POLICY_ENTRY_TYPE; typedef enum _IMAGE_POLICY_ID { ImagePolicyIdNone = 0, ImagePolicyIdEtw, ImagePolicyIdDebug, ImagePolicyIdCrashDump, ImagePolicyIdCrashDumpKey, ImagePolicyIdCrashDumpKeyGuid, ImagePolicyIdParentSd, ImagePolicyIdParentSdRev, ImagePolicyIdSvn, ImagePolicyIdDeviceId, ImagePolicyIdCapability, ImagePolicyIdScenarioId, ImagePolicyIdMaximum } IMAGE_POLICY_ID; typedef struct _IMAGE_POLICY_ENTRY { IMAGE_POLICY_ENTRY_TYPE Type; IMAGE_POLICY_ID PolicyId; union { const void* None; BOOLEAN BoolValue; INT8 Int8Value; UINT8 UInt8Value; INT16 Int16Value; UINT16 UInt16Value; INT32 Int32Value; UINT32 UInt32Value; INT64 Int64Value; UINT64 UInt64Value; PCSTR AnsiStringValue; PCWSTR UnicodeStringValue; } u; } IMAGE_POLICY_ENTRY; typedef const IMAGE_POLICY_ENTRY* PCIMAGE_POLICY_ENTRY; #pragma warning(push) #pragma warning(disable:4200) typedef struct _IMAGE_POLICY_METADATA { BYTE Version; BYTE Reserved0[7]; ULONGLONG ApplicationId; IMAGE_POLICY_ENTRY Policies[]; } IMAGE_POLICY_METADATA; typedef const IMAGE_POLICY_METADATA* PCIMAGE_POLICY_METADATA; #pragma warning(pop) __declspec(dllimport) BOOLEAN __stdcall RtlIsZeroMemory ( PVOID Buffer, SIZE_T Length ); __declspec(dllimport) BOOLEAN __stdcall RtlNormalizeSecurityDescriptor ( PSECURITY_DESCRIPTOR *SecurityDescriptor, DWORD SecurityDescriptorLength, PSECURITY_DESCRIPTOR *NewSecurityDescriptor, PDWORD NewSecurityDescriptorLength, BOOLEAN CheckOnly ); typedef struct _RTL_CRITICAL_SECTION_DEBUG { WORD Type; WORD CreatorBackTraceIndex; struct _RTL_CRITICAL_SECTION *CriticalSection; LIST_ENTRY ProcessLocksList; DWORD EntryCount; DWORD ContentionCount; DWORD Flags; WORD CreatorBackTraceIndexHigh; WORD SpareWORD ; } RTL_CRITICAL_SECTION_DEBUG, *PRTL_CRITICAL_SECTION_DEBUG, RTL_RESOURCE_DEBUG, *PRTL_RESOURCE_DEBUG; #pragma pack(push, 8) typedef struct _RTL_CRITICAL_SECTION { PRTL_CRITICAL_SECTION_DEBUG DebugInfo; LONG LockCount; LONG RecursionCount; HANDLE OwningThread; HANDLE LockSemaphore; ULONG_PTR SpinCount; } RTL_CRITICAL_SECTION, *PRTL_CRITICAL_SECTION; #pragma pack(pop) typedef struct _RTL_SRWLOCK { PVOID Ptr; } RTL_SRWLOCK, *PRTL_SRWLOCK; typedef struct _RTL_CONDITION_VARIABLE { PVOID Ptr; } RTL_CONDITION_VARIABLE, *PRTL_CONDITION_VARIABLE; typedef void (__stdcall *PAPCFUNC)( ULONG_PTR Parameter ); typedef LONG (__stdcall *PVECTORED_EXCEPTION_HANDLER)( struct _EXCEPTION_POINTERS *ExceptionInfo ); typedef enum _HEAP_INFORMATION_CLASS { HeapCompatibilityInformation = 0, HeapEnableTerminationOnCorruption = 1 , HeapOptimizeResources = 3 } HEAP_INFORMATION_CLASS; typedef struct _HEAP_OPTIMIZE_RESOURCES_INFORMATION { DWORD Version; DWORD Flags; } HEAP_OPTIMIZE_RESOURCES_INFORMATION, *PHEAP_OPTIMIZE_RESOURCES_INFORMATION; typedef void (__stdcall * WAITORTIMERCALLBACKFUNC) (PVOID, BOOLEAN ); typedef void (__stdcall * WORKERCALLBACKFUNC) (PVOID ); typedef void (__stdcall * APC_CALLBACK_FUNCTION) (DWORD , PVOID, PVOID); typedef WAITORTIMERCALLBACKFUNC WAITORTIMERCALLBACK; typedef void (__stdcall *PFLS_CALLBACK_FUNCTION) ( PVOID lpFlsData ); typedef BOOLEAN (__stdcall *PSECURE_MEMORY_CACHE_CALLBACK) ( PVOID Addr, SIZE_T Range ); typedef enum _ACTIVATION_CONTEXT_INFO_CLASS { ActivationContextBasicInformation = 1, ActivationContextDetailedInformation = 2, AssemblyDetailedInformationInActivationContext = 3, FileInformationInAssemblyOfAssemblyInActivationContext = 4, RunlevelInformationInActivationContext = 5, CompatibilityInformationInActivationContext = 6, ActivationContextManifestResourceName = 7, MaxActivationContextInfoClass, AssemblyDetailedInformationInActivationContxt = 3, FileInformationInAssemblyOfAssemblyInActivationContxt = 4 } ACTIVATION_CONTEXT_INFO_CLASS; typedef struct _ACTIVATION_CONTEXT_QUERY_INDEX { DWORD ulAssemblyIndex; DWORD ulFileIndexInAssembly; } ACTIVATION_CONTEXT_QUERY_INDEX, * PACTIVATION_CONTEXT_QUERY_INDEX; typedef const struct _ACTIVATION_CONTEXT_QUERY_INDEX * PCACTIVATION_CONTEXT_QUERY_INDEX; typedef struct _ASSEMBLY_FILE_DETAILED_INFORMATION { DWORD ulFlags; DWORD ulFilenameLength; DWORD ulPathLength; PCWSTR lpFileName; PCWSTR lpFilePath; } ASSEMBLY_FILE_DETAILED_INFORMATION, *PASSEMBLY_FILE_DETAILED_INFORMATION; typedef const ASSEMBLY_FILE_DETAILED_INFORMATION *PCASSEMBLY_FILE_DETAILED_INFORMATION; typedef struct _ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION { DWORD ulFlags; DWORD ulEncodedAssemblyIdentityLength; DWORD ulManifestPathType; DWORD ulManifestPathLength; LARGE_INTEGER liManifestLastWriteTime; DWORD ulPolicyPathType; DWORD ulPolicyPathLength; LARGE_INTEGER liPolicyLastWriteTime; DWORD ulMetadataSatelliteRosterIndex; DWORD ulManifestVersionMajor; DWORD ulManifestVersionMinor; DWORD ulPolicyVersionMajor; DWORD ulPolicyVersionMinor; DWORD ulAssemblyDirectoryNameLength; PCWSTR lpAssemblyEncodedAssemblyIdentity; PCWSTR lpAssemblyManifestPath; PCWSTR lpAssemblyPolicyPath; PCWSTR lpAssemblyDirectoryName; DWORD ulFileCount; } ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION, * PACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION; typedef const struct _ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION * PCACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION ; typedef enum { ACTCTX_RUN_LEVEL_UNSPECIFIED = 0, ACTCTX_RUN_LEVEL_AS_INVOKER, ACTCTX_RUN_LEVEL_HIGHEST_AVAILABLE, ACTCTX_RUN_LEVEL_REQUIRE_ADMIN, ACTCTX_RUN_LEVEL_NUMBERS } ACTCTX_REQUESTED_RUN_LEVEL; typedef struct _ACTIVATION_CONTEXT_RUN_LEVEL_INFORMATION { DWORD ulFlags; ACTCTX_REQUESTED_RUN_LEVEL RunLevel; DWORD UiAccess; } ACTIVATION_CONTEXT_RUN_LEVEL_INFORMATION, * PACTIVATION_CONTEXT_RUN_LEVEL_INFORMATION; typedef const struct _ACTIVATION_CONTEXT_RUN_LEVEL_INFORMATION * PCACTIVATION_CONTEXT_RUN_LEVEL_INFORMATION ; typedef enum { ACTCTX_COMPATIBILITY_ELEMENT_TYPE_UNKNOWN = 0, ACTCTX_COMPATIBILITY_ELEMENT_TYPE_OS, ACTCTX_COMPATIBILITY_ELEMENT_TYPE_MITIGATION, ACTCTX_COMPATIBILITY_ELEMENT_TYPE_MAXVERSIONTESTED } ACTCTX_COMPATIBILITY_ELEMENT_TYPE; typedef struct _COMPATIBILITY_CONTEXT_ELEMENT { GUID Id; ACTCTX_COMPATIBILITY_ELEMENT_TYPE Type; ULONGLONG MaxVersionTested; } COMPATIBILITY_CONTEXT_ELEMENT, *PCOMPATIBILITY_CONTEXT_ELEMENT; typedef const struct _COMPATIBILITY_CONTEXT_ELEMENT *PCCOMPATIBILITY_CONTEXT_ELEMENT; #pragma warning(push) #pragma warning(disable:4200) typedef struct _ACTIVATION_CONTEXT_COMPATIBILITY_INFORMATION { DWORD ElementCount; COMPATIBILITY_CONTEXT_ELEMENT Elements[]; } ACTIVATION_CONTEXT_COMPATIBILITY_INFORMATION, * PACTIVATION_CONTEXT_COMPATIBILITY_INFORMATION; #pragma warning(pop) typedef const struct _ACTIVATION_CONTEXT_COMPATIBILITY_INFORMATION * PCACTIVATION_CONTEXT_COMPATIBILITY_INFORMATION; typedef struct _SUPPORTED_OS_INFO { WORD MajorVersion; WORD MinorVersion; } SUPPORTED_OS_INFO, *PSUPPORTED_OS_INFO; typedef struct _MAXVERSIONTESTED_INFO { ULONGLONG MaxVersionTested; } MAXVERSIONTESTED_INFO, *PMAXVERSIONTESTED_INFO; typedef struct _ACTIVATION_CONTEXT_DETAILED_INFORMATION { DWORD dwFlags; DWORD ulFormatVersion; DWORD ulAssemblyCount; DWORD ulRootManifestPathType; DWORD ulRootManifestPathChars; DWORD ulRootConfigurationPathType; DWORD ulRootConfigurationPathChars; DWORD ulAppDirPathType; DWORD ulAppDirPathChars; PCWSTR lpRootManifestPath; PCWSTR lpRootConfigurationPath; PCWSTR lpAppDirPath; } ACTIVATION_CONTEXT_DETAILED_INFORMATION, *PACTIVATION_CONTEXT_DETAILED_INFORMATION; typedef const struct _ACTIVATION_CONTEXT_DETAILED_INFORMATION *PCACTIVATION_CONTEXT_DETAILED_INFORMATION; typedef struct _HARDWARE_COUNTER_DATA { HARDWARE_COUNTER_TYPE Type; DWORD Reserved; DWORD64 Value; } HARDWARE_COUNTER_DATA, *PHARDWARE_COUNTER_DATA; typedef struct _PERFORMANCE_DATA { WORD Size; BYTE Version; BYTE HwCountersCount; DWORD ContextSwitchCount; DWORD64 WaitReasonBitMap; DWORD64 CycleTime; DWORD RetryCount; DWORD Reserved; HARDWARE_COUNTER_DATA HwCounters[16]; } PERFORMANCE_DATA, *PPERFORMANCE_DATA; #pragma region Desktop Family void __stdcall RtlGetDeviceFamilyInfoEnum( ULONGLONG *pullUAPInfo, DWORD *pulDeviceFamily, DWORD *pulDeviceForm ); DWORD __stdcall RtlConvertDeviceFamilyInfoToString( PDWORD pulDeviceFamilyBufferSize, PDWORD pulDeviceFormBufferSize, PWSTR DeviceFamily, PWSTR DeviceForm ); DWORD __stdcall RtlSwitchedVVI( PRTL_OSVERSIONINFOEXW VersionInfo, DWORD TypeMask, ULONGLONG ConditionMask ); #pragma endregion typedef struct _EVENTLOGRECORD { DWORD Length; DWORD Reserved; DWORD RecordNumber; DWORD TimeGenerated; DWORD TimeWritten; DWORD EventID; WORD EventType; WORD NumStrings; WORD EventCategory; WORD ReservedFlags; DWORD ClosingRecordNumber; DWORD StringOffset; DWORD UserSidLength; DWORD UserSidOffset; DWORD DataLength; DWORD DataOffset; } EVENTLOGRECORD, *PEVENTLOGRECORD; #pragma warning(push) #pragma warning(disable : 4200) struct _EVENTSFORLOGFILE; typedef struct _EVENTSFORLOGFILE EVENTSFORLOGFILE, *PEVENTSFORLOGFILE; struct _PACKEDEVENTINFO; typedef struct _PACKEDEVENTINFO PACKEDEVENTINFO, *PPACKEDEVENTINFO; struct _EVENTSFORLOGFILE { DWORD ulSize; WCHAR szLogicalLogFile[256]; DWORD ulNumRecords; EVENTLOGRECORD pEventLogRecords[]; }; struct _PACKEDEVENTINFO { DWORD ulSize; DWORD ulNumEventsForLogFile; DWORD ulOffsets[]; }; #pragma warning(pop) typedef enum _CM_SERVICE_NODE_TYPE { DriverType = 0x00000001, FileSystemType = 0x00000002, Win32ServiceOwnProcess = 0x00000010, Win32ServiceShareProcess = 0x00000020, AdapterType = 0x00000004, RecognizerType = 0x00000008 } SERVICE_NODE_TYPE; typedef enum _CM_SERVICE_LOAD_TYPE { BootLoad = 0x00000000, SystemLoad = 0x00000001, AutoLoad = 0x00000002, DemandLoad = 0x00000003, DisableLoad = 0x00000004 } SERVICE_LOAD_TYPE; typedef enum _CM_ERROR_CONTROL_TYPE { IgnoreError = 0x00000000, NormalError = 0x00000001, SevereError = 0x00000002, CriticalError = 0x00000003 } SERVICE_ERROR_TYPE; typedef struct _TAPE_ERASE { DWORD Type; BOOLEAN Immediate; } TAPE_ERASE, *PTAPE_ERASE; typedef struct _TAPE_PREPARE { DWORD Operation; BOOLEAN Immediate; } TAPE_PREPARE, *PTAPE_PREPARE; typedef struct _TAPE_WRITE_MARKS { DWORD Type; DWORD Count; BOOLEAN Immediate; } TAPE_WRITE_MARKS, *PTAPE_WRITE_MARKS; typedef struct _TAPE_GET_POSITION { DWORD Type; DWORD Partition; LARGE_INTEGER Offset; } TAPE_GET_POSITION, *PTAPE_GET_POSITION; typedef struct _TAPE_SET_POSITION { DWORD Method; DWORD Partition; LARGE_INTEGER Offset; BOOLEAN Immediate; } TAPE_SET_POSITION, *PTAPE_SET_POSITION; typedef struct _TAPE_GET_DRIVE_PARAMETERS { BOOLEAN ECC; BOOLEAN Compression; BOOLEAN DataPadding; BOOLEAN ReportSetmarks; DWORD DefaultBlockSize; DWORD MaximumBlockSize; DWORD MinimumBlockSize; DWORD MaximumPartitionCount; DWORD FeaturesLow; DWORD FeaturesHigh; DWORD EOTWarningZoneSize; } TAPE_GET_DRIVE_PARAMETERS, *PTAPE_GET_DRIVE_PARAMETERS; typedef struct _TAPE_SET_DRIVE_PARAMETERS { BOOLEAN ECC; BOOLEAN Compression; BOOLEAN DataPadding; BOOLEAN ReportSetmarks; DWORD EOTWarningZoneSize; } TAPE_SET_DRIVE_PARAMETERS, *PTAPE_SET_DRIVE_PARAMETERS; typedef struct _TAPE_GET_MEDIA_PARAMETERS { LARGE_INTEGER Capacity; LARGE_INTEGER Remaining; DWORD BlockSize; DWORD PartitionCount; BOOLEAN WriteProtected; } TAPE_GET_MEDIA_PARAMETERS, *PTAPE_GET_MEDIA_PARAMETERS; typedef struct _TAPE_SET_MEDIA_PARAMETERS { DWORD BlockSize; } TAPE_SET_MEDIA_PARAMETERS, *PTAPE_SET_MEDIA_PARAMETERS; typedef struct _TAPE_CREATE_PARTITION { DWORD Method; DWORD Count; DWORD Size; } TAPE_CREATE_PARTITION, *PTAPE_CREATE_PARTITION; typedef struct _TAPE_WMI_OPERATIONS { DWORD Method; DWORD DataBufferSize; PVOID DataBuffer; } TAPE_WMI_OPERATIONS, *PTAPE_WMI_OPERATIONS; typedef enum _TAPE_DRIVE_PROBLEM_TYPE { TapeDriveProblemNone, TapeDriveReadWriteWarning, TapeDriveReadWriteError, TapeDriveReadWarning, TapeDriveWriteWarning, TapeDriveReadError, TapeDriveWriteError, TapeDriveHardwareError, TapeDriveUnsupportedMedia, TapeDriveScsiConnectionError, TapeDriveTimetoClean, TapeDriveCleanDriveNow, TapeDriveMediaLifeExpired, TapeDriveSnappedTape } TAPE_DRIVE_PROBLEM_TYPE; extern "C" { extern "C" { #pragma warning(push) #pragma warning(disable:4820) typedef GUID UOW, *PUOW; typedef GUID CRM_PROTOCOL_ID, *PCRM_PROTOCOL_ID; typedef ULONG NOTIFICATION_MASK; typedef struct _TRANSACTION_NOTIFICATION { PVOID TransactionKey; ULONG TransactionNotification; LARGE_INTEGER TmVirtualClock; ULONG ArgumentLength; } TRANSACTION_NOTIFICATION, *PTRANSACTION_NOTIFICATION; typedef struct _TRANSACTION_NOTIFICATION_RECOVERY_ARGUMENT { GUID EnlistmentId; UOW UOW; } TRANSACTION_NOTIFICATION_RECOVERY_ARGUMENT, *PTRANSACTION_NOTIFICATION_RECOVERY_ARGUMENT; typedef struct _TRANSACTION_NOTIFICATION_TM_ONLINE_ARGUMENT { GUID TmIdentity; ULONG Flags; } TRANSACTION_NOTIFICATION_TM_ONLINE_ARGUMENT, *PTRANSACTION_NOTIFICATION_TM_ONLINE_ARGUMENT; typedef ULONG SAVEPOINT_ID, *PSAVEPOINT_ID; typedef struct _TRANSACTION_NOTIFICATION_SAVEPOINT_ARGUMENT { SAVEPOINT_ID SavepointId; } TRANSACTION_NOTIFICATION_SAVEPOINT_ARGUMENT, *PTRANSACTION_NOTIFICATION_SAVEPOINT_ARGUMENT; typedef struct _TRANSACTION_NOTIFICATION_PROPAGATE_ARGUMENT { ULONG PropagationCookie; GUID UOW; GUID TmIdentity; ULONG BufferLength; } TRANSACTION_NOTIFICATION_PROPAGATE_ARGUMENT, *PTRANSACTION_NOTIFICATION_PROPAGATE_ARGUMENT; typedef struct _TRANSACTION_NOTIFICATION_MARSHAL_ARGUMENT { ULONG MarshalCookie; GUID UOW; } TRANSACTION_NOTIFICATION_MARSHAL_ARGUMENT, *PTRANSACTION_NOTIFICATION_MARSHAL_ARGUMENT; typedef TRANSACTION_NOTIFICATION_PROPAGATE_ARGUMENT TRANSACTION_NOTIFICATION_PROMOTE_ARGUMENT, *PTRANSACTION_NOTIFICATION_PROMOTE_ARGUMENT; typedef struct _KCRM_MARSHAL_HEADER { ULONG VersionMajor; ULONG VersionMinor; ULONG NumProtocols; ULONG Unused; } KCRM_MARSHAL_HEADER, *PKCRM_MARSHAL_HEADER, * PRKCRM_MARSHAL_HEADER; typedef struct _KCRM_TRANSACTION_BLOB { UOW UOW; GUID TmIdentity; ULONG IsolationLevel; ULONG IsolationFlags; ULONG Timeout; WCHAR Description[64]; } KCRM_TRANSACTION_BLOB, *PKCRM_TRANSACTION_BLOB, * PRKCRM_TRANSACTION_BLOB; typedef struct _KCRM_PROTOCOL_BLOB { CRM_PROTOCOL_ID ProtocolId; ULONG StaticInfoLength; ULONG TransactionIdInfoLength; ULONG Unused1; ULONG Unused2; } KCRM_PROTOCOL_BLOB, *PKCRM_PROTOCOL_BLOB, * PRKCRM_PROTOCOL_BLOB; #pragma warning(pop) } #pragma warning(push) #pragma warning(disable:4820) typedef enum _TRANSACTION_OUTCOME { TransactionOutcomeUndetermined = 1, TransactionOutcomeCommitted, TransactionOutcomeAborted, } TRANSACTION_OUTCOME; typedef enum _TRANSACTION_STATE { TransactionStateNormal = 1, TransactionStateIndoubt, TransactionStateCommittedNotify, } TRANSACTION_STATE; typedef struct _TRANSACTION_BASIC_INFORMATION { GUID TransactionId; DWORD State; DWORD Outcome; } TRANSACTION_BASIC_INFORMATION, *PTRANSACTION_BASIC_INFORMATION; typedef struct _TRANSACTIONMANAGER_BASIC_INFORMATION { GUID TmIdentity; LARGE_INTEGER VirtualClock; } TRANSACTIONMANAGER_BASIC_INFORMATION, *PTRANSACTIONMANAGER_BASIC_INFORMATION; typedef struct _TRANSACTIONMANAGER_LOG_INFORMATION { GUID LogIdentity; } TRANSACTIONMANAGER_LOG_INFORMATION, *PTRANSACTIONMANAGER_LOG_INFORMATION; typedef struct _TRANSACTIONMANAGER_LOGPATH_INFORMATION { DWORD LogPathLength; WCHAR LogPath[1]; } TRANSACTIONMANAGER_LOGPATH_INFORMATION, *PTRANSACTIONMANAGER_LOGPATH_INFORMATION; typedef struct _TRANSACTIONMANAGER_RECOVERY_INFORMATION { ULONGLONG LastRecoveredLsn; } TRANSACTIONMANAGER_RECOVERY_INFORMATION, *PTRANSACTIONMANAGER_RECOVERY_INFORMATION; typedef struct _TRANSACTIONMANAGER_OLDEST_INFORMATION { GUID OldestTransactionGuid; } TRANSACTIONMANAGER_OLDEST_INFORMATION, *PTRANSACTIONMANAGER_OLDEST_INFORMATION; typedef struct _TRANSACTION_PROPERTIES_INFORMATION { DWORD IsolationLevel; DWORD IsolationFlags; LARGE_INTEGER Timeout; DWORD Outcome; DWORD DescriptionLength; WCHAR Description[1]; } TRANSACTION_PROPERTIES_INFORMATION, *PTRANSACTION_PROPERTIES_INFORMATION; typedef struct _TRANSACTION_BIND_INFORMATION { HANDLE TmHandle; } TRANSACTION_BIND_INFORMATION, *PTRANSACTION_BIND_INFORMATION; typedef struct _TRANSACTION_ENLISTMENT_PAIR { GUID EnlistmentId; GUID ResourceManagerId; } TRANSACTION_ENLISTMENT_PAIR, *PTRANSACTION_ENLISTMENT_PAIR; typedef struct _TRANSACTION_ENLISTMENTS_INFORMATION { DWORD NumberOfEnlistments; TRANSACTION_ENLISTMENT_PAIR EnlistmentPair[1]; } TRANSACTION_ENLISTMENTS_INFORMATION, *PTRANSACTION_ENLISTMENTS_INFORMATION; typedef struct _TRANSACTION_SUPERIOR_ENLISTMENT_INFORMATION { TRANSACTION_ENLISTMENT_PAIR SuperiorEnlistmentPair; } TRANSACTION_SUPERIOR_ENLISTMENT_INFORMATION, *PTRANSACTION_SUPERIOR_ENLISTMENT_INFORMATION; typedef struct _RESOURCEMANAGER_BASIC_INFORMATION { GUID ResourceManagerId; DWORD DescriptionLength; WCHAR Description[1]; } RESOURCEMANAGER_BASIC_INFORMATION, *PRESOURCEMANAGER_BASIC_INFORMATION; typedef struct _RESOURCEMANAGER_COMPLETION_INFORMATION { HANDLE IoCompletionPortHandle; ULONG_PTR CompletionKey; } RESOURCEMANAGER_COMPLETION_INFORMATION, *PRESOURCEMANAGER_COMPLETION_INFORMATION; typedef enum _TRANSACTION_INFORMATION_CLASS { TransactionBasicInformation, TransactionPropertiesInformation, TransactionEnlistmentInformation, TransactionSuperiorEnlistmentInformation , TransactionBindInformation, TransactionDTCPrivateInformation , } TRANSACTION_INFORMATION_CLASS; typedef enum _TRANSACTIONMANAGER_INFORMATION_CLASS { TransactionManagerBasicInformation, TransactionManagerLogInformation, TransactionManagerLogPathInformation, TransactionManagerRecoveryInformation = 4 , TransactionManagerOnlineProbeInformation = 3, TransactionManagerOldestTransactionInformation = 5 } TRANSACTIONMANAGER_INFORMATION_CLASS; typedef enum _RESOURCEMANAGER_INFORMATION_CLASS { ResourceManagerBasicInformation, ResourceManagerCompletionInformation, } RESOURCEMANAGER_INFORMATION_CLASS; typedef struct _ENLISTMENT_BASIC_INFORMATION { GUID EnlistmentId; GUID TransactionId; GUID ResourceManagerId; } ENLISTMENT_BASIC_INFORMATION, *PENLISTMENT_BASIC_INFORMATION; typedef struct _ENLISTMENT_CRM_INFORMATION { GUID CrmTransactionManagerId; GUID CrmResourceManagerId; GUID CrmEnlistmentId; } ENLISTMENT_CRM_INFORMATION, *PENLISTMENT_CRM_INFORMATION; typedef enum _ENLISTMENT_INFORMATION_CLASS { EnlistmentBasicInformation, EnlistmentRecoveryInformation, EnlistmentCrmInformation } ENLISTMENT_INFORMATION_CLASS; typedef struct _TRANSACTION_LIST_ENTRY { UOW UOW; } TRANSACTION_LIST_ENTRY, *PTRANSACTION_LIST_ENTRY; typedef struct _TRANSACTION_LIST_INFORMATION { DWORD NumberOfTransactions; TRANSACTION_LIST_ENTRY TransactionInformation[1]; } TRANSACTION_LIST_INFORMATION, *PTRANSACTION_LIST_INFORMATION; typedef enum _KTMOBJECT_TYPE { KTMOBJECT_TRANSACTION, KTMOBJECT_TRANSACTION_MANAGER, KTMOBJECT_RESOURCE_MANAGER, KTMOBJECT_ENLISTMENT, KTMOBJECT_INVALID } KTMOBJECT_TYPE, *PKTMOBJECT_TYPE; typedef struct _KTMOBJECT_CURSOR { GUID LastQuery; DWORD ObjectIdCount; GUID ObjectIds[1]; } KTMOBJECT_CURSOR, *PKTMOBJECT_CURSOR; #pragma warning(pop) } typedef DWORD TP_VERSION, *PTP_VERSION; typedef struct _TP_CALLBACK_INSTANCE TP_CALLBACK_INSTANCE, *PTP_CALLBACK_INSTANCE; typedef void (__stdcall *PTP_SIMPLE_CALLBACK)( PTP_CALLBACK_INSTANCE Instance, PVOID Context ); typedef struct _TP_POOL TP_POOL, *PTP_POOL; typedef enum _TP_CALLBACK_PRIORITY { TP_CALLBACK_PRIORITY_HIGH, TP_CALLBACK_PRIORITY_NORMAL, TP_CALLBACK_PRIORITY_LOW, TP_CALLBACK_PRIORITY_INVALID, TP_CALLBACK_PRIORITY_COUNT = TP_CALLBACK_PRIORITY_INVALID } TP_CALLBACK_PRIORITY; typedef struct _TP_POOL_STACK_INFORMATION { SIZE_T StackReserve; SIZE_T StackCommit; }TP_POOL_STACK_INFORMATION, *PTP_POOL_STACK_INFORMATION; typedef struct _TP_CLEANUP_GROUP TP_CLEANUP_GROUP, *PTP_CLEANUP_GROUP; typedef void (__stdcall *PTP_CLEANUP_GROUP_CANCEL_CALLBACK)( PVOID ObjectContext, PVOID CleanupContext ); typedef struct _TP_CALLBACK_ENVIRON_V3 { TP_VERSION Version; PTP_POOL Pool; PTP_CLEANUP_GROUP CleanupGroup; PTP_CLEANUP_GROUP_CANCEL_CALLBACK CleanupGroupCancelCallback; PVOID RaceDll; struct _ACTIVATION_CONTEXT *ActivationContext; PTP_SIMPLE_CALLBACK FinalizationCallback; union { DWORD Flags; struct { DWORD LongFunction : 1; DWORD Persistent : 1; DWORD Private : 30; } s; } u; TP_CALLBACK_PRIORITY CallbackPriority; DWORD Size; } TP_CALLBACK_ENVIRON_V3; typedef TP_CALLBACK_ENVIRON_V3 TP_CALLBACK_ENVIRON, *PTP_CALLBACK_ENVIRON; __forceinline void TpInitializeCallbackEnviron( PTP_CALLBACK_ENVIRON CallbackEnviron ) { CallbackEnviron->Version = 3; CallbackEnviron->Pool = 0; CallbackEnviron->CleanupGroup = 0; CallbackEnviron->CleanupGroupCancelCallback = 0; CallbackEnviron->RaceDll = 0; CallbackEnviron->ActivationContext = 0; CallbackEnviron->FinalizationCallback = 0; CallbackEnviron->u.Flags = 0; CallbackEnviron->CallbackPriority = TP_CALLBACK_PRIORITY_NORMAL; CallbackEnviron->Size = sizeof(TP_CALLBACK_ENVIRON); } __forceinline void TpSetCallbackThreadpool( PTP_CALLBACK_ENVIRON CallbackEnviron, PTP_POOL Pool ) { CallbackEnviron->Pool = Pool; } __forceinline void TpSetCallbackCleanupGroup( PTP_CALLBACK_ENVIRON CallbackEnviron, PTP_CLEANUP_GROUP CleanupGroup, PTP_CLEANUP_GROUP_CANCEL_CALLBACK CleanupGroupCancelCallback ) { CallbackEnviron->CleanupGroup = CleanupGroup; CallbackEnviron->CleanupGroupCancelCallback = CleanupGroupCancelCallback; } __forceinline void TpSetCallbackActivationContext( PTP_CALLBACK_ENVIRON CallbackEnviron, struct _ACTIVATION_CONTEXT *ActivationContext ) { CallbackEnviron->ActivationContext = ActivationContext; } __forceinline void TpSetCallbackNoActivationContext( PTP_CALLBACK_ENVIRON CallbackEnviron ) { CallbackEnviron->ActivationContext = (struct _ACTIVATION_CONTEXT *)(LONG_PTR) -1; } __forceinline void TpSetCallbackLongFunction( PTP_CALLBACK_ENVIRON CallbackEnviron ) { CallbackEnviron->u.s.LongFunction = 1; } __forceinline void TpSetCallbackRaceWithDll( PTP_CALLBACK_ENVIRON CallbackEnviron, PVOID DllHandle ) { CallbackEnviron->RaceDll = DllHandle; } __forceinline void TpSetCallbackFinalizationCallback( PTP_CALLBACK_ENVIRON CallbackEnviron, PTP_SIMPLE_CALLBACK FinalizationCallback ) { CallbackEnviron->FinalizationCallback = FinalizationCallback; } __forceinline void TpSetCallbackPriority( PTP_CALLBACK_ENVIRON CallbackEnviron, TP_CALLBACK_PRIORITY Priority ) { CallbackEnviron->CallbackPriority = Priority; } __forceinline void TpSetCallbackPersistent( PTP_CALLBACK_ENVIRON CallbackEnviron ) { CallbackEnviron->u.s.Persistent = 1; } __forceinline void TpDestroyCallbackEnviron( PTP_CALLBACK_ENVIRON CallbackEnviron ) { (CallbackEnviron); } typedef struct _TP_WORK TP_WORK, *PTP_WORK; typedef void (__stdcall *PTP_WORK_CALLBACK)( PTP_CALLBACK_INSTANCE Instance, PVOID Context, PTP_WORK Work ); typedef struct _TP_TIMER TP_TIMER, *PTP_TIMER; typedef void (__stdcall *PTP_TIMER_CALLBACK)( PTP_CALLBACK_INSTANCE Instance, PVOID Context, PTP_TIMER Timer ); typedef DWORD TP_WAIT_RESULT; typedef struct _TP_WAIT TP_WAIT, *PTP_WAIT; typedef void (__stdcall *PTP_WAIT_CALLBACK)( PTP_CALLBACK_INSTANCE Instance, PVOID Context, PTP_WAIT Wait, TP_WAIT_RESULT WaitResult ); typedef struct _TP_IO TP_IO, *PTP_IO; __forceinline struct _TEB * NtCurrentTeb ( void ) { return (struct _TEB *)__readgsqword(((LONG)(LONG_PTR)&(((NT_TIB *)0)->Self))); } __forceinline PVOID GetCurrentFiber ( void ) { return (PVOID)__readgsqword(((LONG)(LONG_PTR)&(((NT_TIB *)0)->FiberData))); } __forceinline PVOID GetFiberData ( void ) { return *(PVOID *)GetCurrentFiber(); } } #pragma warning(pop) typedef UINT_PTR WPARAM; typedef LONG_PTR LPARAM; typedef LONG_PTR LRESULT; typedef HANDLE *SPHANDLE; typedef HANDLE *LPHANDLE; typedef HANDLE HGLOBAL; typedef HANDLE HLOCAL; typedef HANDLE GLOBALHANDLE; typedef HANDLE LOCALHANDLE; #pragma warning(push) #pragma warning(disable:4255) typedef INT_PTR ( __stdcall *FARPROC)(); typedef INT_PTR ( __stdcall *NEARPROC)(); typedef INT_PTR (__stdcall *PROC)(); #pragma warning(pop) typedef WORD ATOM; struct HKEY__{int unused;}; typedef struct HKEY__ *HKEY; typedef HKEY *PHKEY; struct HMETAFILE__{int unused;}; typedef struct HMETAFILE__ *HMETAFILE; struct HINSTANCE__{int unused;}; typedef struct HINSTANCE__ *HINSTANCE; typedef HINSTANCE HMODULE; struct HRGN__{int unused;}; typedef struct HRGN__ *HRGN; struct HRSRC__{int unused;}; typedef struct HRSRC__ *HRSRC; struct HSPRITE__{int unused;}; typedef struct HSPRITE__ *HSPRITE; struct HLSURF__{int unused;}; typedef struct HLSURF__ *HLSURF; struct HSTR__{int unused;}; typedef struct HSTR__ *HSTR; struct HTASK__{int unused;}; typedef struct HTASK__ *HTASK; struct HWINSTA__{int unused;}; typedef struct HWINSTA__ *HWINSTA; struct HKL__{int unused;}; typedef struct HKL__ *HKL; typedef int HFILE; typedef struct _FILETIME { DWORD dwLowDateTime; DWORD dwHighDateTime; } FILETIME, *PFILETIME, *LPFILETIME; } #pragma endregion #pragma region Application Family or OneCore Family or Games Family struct HWND__{int unused;}; typedef struct HWND__ *HWND; struct HHOOK__{int unused;}; typedef struct HHOOK__ *HHOOK; #pragma endregion #pragma region Application Family typedef void * HGDIOBJ; struct HACCEL__{int unused;}; typedef struct HACCEL__ *HACCEL; struct HBITMAP__{int unused;}; typedef struct HBITMAP__ *HBITMAP; struct HBRUSH__{int unused;}; typedef struct HBRUSH__ *HBRUSH; struct HCOLORSPACE__{int unused;}; typedef struct HCOLORSPACE__ *HCOLORSPACE; struct HDC__{int unused;}; typedef struct HDC__ *HDC; struct HGLRC__{int unused;}; typedef struct HGLRC__ *HGLRC; struct HDESK__{int unused;}; typedef struct HDESK__ *HDESK; struct HENHMETAFILE__{int unused;}; typedef struct HENHMETAFILE__ *HENHMETAFILE; struct HFONT__{int unused;}; typedef struct HFONT__ *HFONT; struct HICON__{int unused;}; typedef struct HICON__ *HICON; struct HMENU__{int unused;}; typedef struct HMENU__ *HMENU; struct HPALETTE__{int unused;}; typedef struct HPALETTE__ *HPALETTE; struct HPEN__{int unused;}; typedef struct HPEN__ *HPEN; struct HWINEVENTHOOK__{int unused;}; typedef struct HWINEVENTHOOK__ *HWINEVENTHOOK; #pragma endregion #pragma region Application Family struct HMONITOR__{int unused;}; typedef struct HMONITOR__ *HMONITOR; #pragma endregion #pragma region Desktop Family struct HUMPD__{int unused;}; typedef struct HUMPD__ *HUMPD; #pragma endregion #pragma region Application Family typedef HICON HCURSOR; typedef DWORD COLORREF; #pragma endregion #pragma region Desktop Family typedef DWORD *LPCOLORREF; #pragma endregion #pragma region Application Family or Games Family typedef struct tagRECT { LONG left; LONG top; LONG right; LONG bottom; } RECT, *PRECT, *NPRECT, *LPRECT; typedef const RECT * LPCRECT; typedef struct _RECTL { LONG left; LONG top; LONG right; LONG bottom; } RECTL, *PRECTL, *LPRECTL; typedef const RECTL * LPCRECTL; typedef struct tagPOINT { LONG x; LONG y; } POINT, *PPOINT, *NPPOINT, *LPPOINT; typedef struct _POINTL { LONG x; LONG y; } POINTL, *PPOINTL; typedef struct tagSIZE { LONG cx; LONG cy; } SIZE, *PSIZE, *LPSIZE; typedef SIZE SIZEL; typedef SIZE *PSIZEL, *LPSIZEL; typedef struct tagPOINTS { SHORT x; SHORT y; } POINTS, *PPOINTS, *LPPOINTS; typedef struct APP_LOCAL_DEVICE_ID { BYTE value[32]; } APP_LOCAL_DEVICE_ID; #pragma endregion } #pragma region Desktop Family struct DPI_AWARENESS_CONTEXT__{int unused;}; typedef struct DPI_AWARENESS_CONTEXT__ *DPI_AWARENESS_CONTEXT; typedef enum DPI_AWARENESS { DPI_AWARENESS_INVALID = -1, DPI_AWARENESS_UNAWARE = 0, DPI_AWARENESS_SYSTEM_AWARE = 1, DPI_AWARENESS_PER_MONITOR_AWARE = 2 } DPI_AWARENESS; typedef enum DPI_HOSTING_BEHAVIOR { DPI_HOSTING_BEHAVIOR_INVALID = -1, DPI_HOSTING_BEHAVIOR_DEFAULT = 0, DPI_HOSTING_BEHAVIOR_MIXED = 1 } DPI_HOSTING_BEHAVIOR; #pragma once #pragma warning(push) #pragma warning(disable:4820) #pragma warning(disable:4668) #pragma warning(disable:4001) #pragma warning(disable:4201) #pragma warning(disable:4214) #pragma once #pragma warning(disable:4514) #pragma warning(disable:4103) #pragma warning(push) #pragma warning(disable:4820) #pragma warning(disable:4001) #pragma warning(disable:4201) #pragma warning(disable:4214) extern "C" { typedef struct _SECURITY_ATTRIBUTES { DWORD nLength; LPVOID lpSecurityDescriptor; BOOL bInheritHandle; } SECURITY_ATTRIBUTES, *PSECURITY_ATTRIBUTES, *LPSECURITY_ATTRIBUTES; typedef struct _OVERLAPPED { ULONG_PTR Internal; ULONG_PTR InternalHigh; union { struct { DWORD Offset; DWORD OffsetHigh; } ; PVOID Pointer; } ; HANDLE hEvent; } OVERLAPPED, *LPOVERLAPPED; typedef struct _OVERLAPPED_ENTRY { ULONG_PTR lpCompletionKey; LPOVERLAPPED lpOverlapped; ULONG_PTR Internal; DWORD dwNumberOfBytesTransferred; } OVERLAPPED_ENTRY, *LPOVERLAPPED_ENTRY; typedef struct _SYSTEMTIME { WORD wYear; WORD wMonth; WORD wDayOfWeek; WORD wDay; WORD wHour; WORD wMinute; WORD wSecond; WORD wMilliseconds; } SYSTEMTIME, *PSYSTEMTIME, *LPSYSTEMTIME; typedef struct _WIN32_FIND_DATAA { DWORD dwFileAttributes; FILETIME ftCreationTime; FILETIME ftLastAccessTime; FILETIME ftLastWriteTime; DWORD nFileSizeHigh; DWORD nFileSizeLow; DWORD dwReserved0; DWORD dwReserved1; CHAR cFileName[ 260 ]; CHAR cAlternateFileName[ 14 ]; } WIN32_FIND_DATAA, *PWIN32_FIND_DATAA, *LPWIN32_FIND_DATAA; typedef struct _WIN32_FIND_DATAW { DWORD dwFileAttributes; FILETIME ftCreationTime; FILETIME ftLastAccessTime; FILETIME ftLastWriteTime; DWORD nFileSizeHigh; DWORD nFileSizeLow; DWORD dwReserved0; DWORD dwReserved1; WCHAR cFileName[ 260 ]; WCHAR cAlternateFileName[ 14 ]; } WIN32_FIND_DATAW, *PWIN32_FIND_DATAW, *LPWIN32_FIND_DATAW; typedef WIN32_FIND_DATAW WIN32_FIND_DATA; typedef PWIN32_FIND_DATAW PWIN32_FIND_DATA; typedef LPWIN32_FIND_DATAW LPWIN32_FIND_DATA; typedef enum _FINDEX_INFO_LEVELS { FindExInfoStandard, FindExInfoBasic, FindExInfoMaxInfoLevel } FINDEX_INFO_LEVELS; typedef enum _FINDEX_SEARCH_OPS { FindExSearchNameMatch, FindExSearchLimitToDirectories, FindExSearchLimitToDevices, FindExSearchMaxSearchOp } FINDEX_SEARCH_OPS; typedef enum _READ_DIRECTORY_NOTIFY_INFORMATION_CLASS { ReadDirectoryNotifyInformation = 1, ReadDirectoryNotifyExtendedInformation } READ_DIRECTORY_NOTIFY_INFORMATION_CLASS, *PREAD_DIRECTORY_NOTIFY_INFORMATION_CLASS; typedef enum _GET_FILEEX_INFO_LEVELS { GetFileExInfoStandard, GetFileExMaxInfoLevel } GET_FILEEX_INFO_LEVELS; typedef enum _FILE_INFO_BY_HANDLE_CLASS { FileBasicInfo, FileStandardInfo, FileNameInfo, FileRenameInfo, FileDispositionInfo, FileAllocationInfo, FileEndOfFileInfo, FileStreamInfo, FileCompressionInfo, FileAttributeTagInfo, FileIdBothDirectoryInfo, FileIdBothDirectoryRestartInfo, FileIoPriorityHintInfo, FileRemoteProtocolInfo, FileFullDirectoryInfo, FileFullDirectoryRestartInfo, FileStorageInfo, FileAlignmentInfo, FileIdInfo, FileIdExtdDirectoryInfo, FileIdExtdDirectoryRestartInfo, FileDispositionInfoEx, FileRenameInfoEx, FileCaseSensitiveInfo, FileNormalizedNameInfo, MaximumFileInfoByHandleClass } FILE_INFO_BY_HANDLE_CLASS, *PFILE_INFO_BY_HANDLE_CLASS; typedef RTL_CRITICAL_SECTION CRITICAL_SECTION; typedef PRTL_CRITICAL_SECTION PCRITICAL_SECTION; typedef PRTL_CRITICAL_SECTION LPCRITICAL_SECTION; typedef RTL_CRITICAL_SECTION_DEBUG CRITICAL_SECTION_DEBUG; typedef PRTL_CRITICAL_SECTION_DEBUG PCRITICAL_SECTION_DEBUG; typedef PRTL_CRITICAL_SECTION_DEBUG LPCRITICAL_SECTION_DEBUG; typedef void (__stdcall *LPOVERLAPPED_COMPLETION_ROUTINE)( DWORD dwErrorCode, DWORD dwNumberOfBytesTransfered, LPOVERLAPPED lpOverlapped ); typedef struct _PROCESS_HEAP_ENTRY { PVOID lpData; DWORD cbData; BYTE cbOverhead; BYTE iRegionIndex; WORD wFlags; union { struct { HANDLE hMem; DWORD dwReserved[ 3 ]; } Block; struct { DWORD dwCommittedSize; DWORD dwUnCommittedSize; LPVOID lpFirstBlock; LPVOID lpLastBlock; } Region; } ; } PROCESS_HEAP_ENTRY, *LPPROCESS_HEAP_ENTRY, *PPROCESS_HEAP_ENTRY; typedef struct _REASON_CONTEXT { ULONG Version; DWORD Flags; union { struct { HMODULE LocalizedReasonModule; ULONG LocalizedReasonId; ULONG ReasonStringCount; LPWSTR *ReasonStrings; } Detailed; LPWSTR SimpleReasonString; } Reason; } REASON_CONTEXT, *PREASON_CONTEXT; typedef DWORD (__stdcall *PTHREAD_START_ROUTINE)( LPVOID lpThreadParameter ); typedef PTHREAD_START_ROUTINE LPTHREAD_START_ROUTINE; typedef LPVOID (__stdcall *PENCLAVE_ROUTINE)( LPVOID lpThreadParameter ); typedef PENCLAVE_ROUTINE LPENCLAVE_ROUTINE; typedef struct _EXCEPTION_DEBUG_INFO { EXCEPTION_RECORD ExceptionRecord; DWORD dwFirstChance; } EXCEPTION_DEBUG_INFO, *LPEXCEPTION_DEBUG_INFO; typedef struct _CREATE_THREAD_DEBUG_INFO { HANDLE hThread; LPVOID lpThreadLocalBase; LPTHREAD_START_ROUTINE lpStartAddress; } CREATE_THREAD_DEBUG_INFO, *LPCREATE_THREAD_DEBUG_INFO; typedef struct _CREATE_PROCESS_DEBUG_INFO { HANDLE hFile; HANDLE hProcess; HANDLE hThread; LPVOID lpBaseOfImage; DWORD dwDebugInfoFileOffset; DWORD nDebugInfoSize; LPVOID lpThreadLocalBase; LPTHREAD_START_ROUTINE lpStartAddress; LPVOID lpImageName; WORD fUnicode; } CREATE_PROCESS_DEBUG_INFO, *LPCREATE_PROCESS_DEBUG_INFO; typedef struct _EXIT_THREAD_DEBUG_INFO { DWORD dwExitCode; } EXIT_THREAD_DEBUG_INFO, *LPEXIT_THREAD_DEBUG_INFO; typedef struct _EXIT_PROCESS_DEBUG_INFO { DWORD dwExitCode; } EXIT_PROCESS_DEBUG_INFO, *LPEXIT_PROCESS_DEBUG_INFO; typedef struct _LOAD_DLL_DEBUG_INFO { HANDLE hFile; LPVOID lpBaseOfDll; DWORD dwDebugInfoFileOffset; DWORD nDebugInfoSize; LPVOID lpImageName; WORD fUnicode; } LOAD_DLL_DEBUG_INFO, *LPLOAD_DLL_DEBUG_INFO; typedef struct _UNLOAD_DLL_DEBUG_INFO { LPVOID lpBaseOfDll; } UNLOAD_DLL_DEBUG_INFO, *LPUNLOAD_DLL_DEBUG_INFO; typedef struct _OUTPUT_DEBUG_STRING_INFO { LPSTR lpDebugStringData; WORD fUnicode; WORD nDebugStringLength; } OUTPUT_DEBUG_STRING_INFO, *LPOUTPUT_DEBUG_STRING_INFO; typedef struct _RIP_INFO { DWORD dwError; DWORD dwType; } RIP_INFO, *LPRIP_INFO; typedef struct _DEBUG_EVENT { DWORD dwDebugEventCode; DWORD dwProcessId; DWORD dwThreadId; union { EXCEPTION_DEBUG_INFO Exception; CREATE_THREAD_DEBUG_INFO CreateThread; CREATE_PROCESS_DEBUG_INFO CreateProcessInfo; EXIT_THREAD_DEBUG_INFO ExitThread; EXIT_PROCESS_DEBUG_INFO ExitProcess; LOAD_DLL_DEBUG_INFO LoadDll; UNLOAD_DLL_DEBUG_INFO UnloadDll; OUTPUT_DEBUG_STRING_INFO DebugString; RIP_INFO RipInfo; } u; } DEBUG_EVENT, *LPDEBUG_EVENT; typedef PCONTEXT LPCONTEXT; } #pragma warning(pop) #pragma once extern "C" { #pragma region Desktop Family or OneCore Family BOOL __stdcall IsApiSetImplemented( PCSTR Contract ); #pragma endregion } #pragma once extern "C" { #pragma region Application Family or OneCore Family or Games Family __declspec(dllimport) BOOL __stdcall SetEnvironmentStringsW( LPWCH NewEnvironment ); #pragma endregion #pragma region PC Family or OneCore Family or Games Family __declspec(dllimport) HANDLE __stdcall GetStdHandle( DWORD nStdHandle ); __declspec(dllimport) BOOL __stdcall SetStdHandle( DWORD nStdHandle, HANDLE hHandle ); __declspec(dllimport) BOOL __stdcall SetStdHandleEx( DWORD nStdHandle, HANDLE hHandle, PHANDLE phPrevValue ); #pragma endregion #pragma region Application Family or OneCore Family or Games Family __declspec(dllimport) LPSTR __stdcall GetCommandLineA( void ); __declspec(dllimport) LPWSTR __stdcall GetCommandLineW( void ); __declspec(dllimport) LPCH __stdcall GetEnvironmentStrings( void ); __declspec(dllimport) LPWCH __stdcall GetEnvironmentStringsW( void ); __declspec(dllimport) BOOL __stdcall FreeEnvironmentStringsA( LPCH penv ); __declspec(dllimport) BOOL __stdcall FreeEnvironmentStringsW( LPWCH penv ); __declspec(dllimport) DWORD __stdcall GetEnvironmentVariableA( LPCSTR lpName, LPSTR lpBuffer, DWORD nSize ); __declspec(dllimport) DWORD __stdcall GetEnvironmentVariableW( LPCWSTR lpName, LPWSTR lpBuffer, DWORD nSize ); __declspec(dllimport) BOOL __stdcall SetEnvironmentVariableA( LPCSTR lpName, LPCSTR lpValue ); __declspec(dllimport) BOOL __stdcall SetEnvironmentVariableW( LPCWSTR lpName, LPCWSTR lpValue ); __declspec(dllimport) DWORD __stdcall ExpandEnvironmentStringsA( LPCSTR lpSrc, LPSTR lpDst, DWORD nSize ); __declspec(dllimport) DWORD __stdcall ExpandEnvironmentStringsW( LPCWSTR lpSrc, LPWSTR lpDst, DWORD nSize ); __declspec(dllimport) BOOL __stdcall SetCurrentDirectoryA( LPCSTR lpPathName ); __declspec(dllimport) BOOL __stdcall SetCurrentDirectoryW( LPCWSTR lpPathName ); __declspec(dllimport) DWORD __stdcall GetCurrentDirectoryA( DWORD nBufferLength, LPSTR lpBuffer ); __declspec(dllimport) DWORD __stdcall GetCurrentDirectoryW( DWORD nBufferLength, LPWSTR lpBuffer ); #pragma endregion #pragma region Desktop Family or OneCore Family or Games Family __declspec(dllimport) DWORD __stdcall SearchPathW( LPCWSTR lpPath, LPCWSTR lpFileName, LPCWSTR lpExtension, DWORD nBufferLength, LPWSTR lpBuffer, LPWSTR* lpFilePart ); __declspec(dllimport) DWORD __stdcall SearchPathA( LPCSTR lpPath, LPCSTR lpFileName, LPCSTR lpExtension, DWORD nBufferLength, LPSTR lpBuffer, LPSTR* lpFilePart ); #pragma region Desktop Family or OneCore Family __declspec(dllimport) BOOL __stdcall NeedCurrentDirectoryForExePathA( LPCSTR ExeName ); __declspec(dllimport) BOOL __stdcall NeedCurrentDirectoryForExePathW( LPCWSTR ExeName ); #pragma endregion } #pragma once #pragma once extern "C" { #pragma region Application Family or OneCore Family or Games Family __declspec(dllimport) LONG __stdcall CompareFileTime( const FILETIME* lpFileTime1, const FILETIME* lpFileTime2 ); __declspec(dllimport) BOOL __stdcall CreateDirectoryA( LPCSTR lpPathName, LPSECURITY_ATTRIBUTES lpSecurityAttributes ); __declspec(dllimport) BOOL __stdcall CreateDirectoryW( LPCWSTR lpPathName, LPSECURITY_ATTRIBUTES lpSecurityAttributes ); #pragma endregion #pragma region Desktop Family or OneCore Family or Games Family __declspec(dllimport) HANDLE __stdcall CreateFileA( LPCSTR lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode, LPSECURITY_ATTRIBUTES lpSecurityAttributes, DWORD dwCreationDisposition, DWORD dwFlagsAndAttributes, HANDLE hTemplateFile ); __declspec(dllimport) HANDLE __stdcall CreateFileW( LPCWSTR lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode, LPSECURITY_ATTRIBUTES lpSecurityAttributes, DWORD dwCreationDisposition, DWORD dwFlagsAndAttributes, HANDLE hTemplateFile ); #pragma endregion #pragma region Desktop Family or OneCore Family __declspec(dllimport) BOOL __stdcall DefineDosDeviceW( DWORD dwFlags, LPCWSTR lpDeviceName, LPCWSTR lpTargetPath ); #pragma endregion #pragma region Application Family or OneCore Family or Games Family __declspec(dllimport) BOOL __stdcall DeleteFileA( LPCSTR lpFileName ); __declspec(dllimport) BOOL __stdcall DeleteFileW( LPCWSTR lpFileName ); #pragma endregion #pragma region Application Family or OneCore Family __declspec(dllimport) BOOL __stdcall DeleteVolumeMountPointW( LPCWSTR lpszVolumeMountPoint ); #pragma endregion #pragma region Application Family or OneCore Family or Games Family __declspec(dllimport) BOOL __stdcall FileTimeToLocalFileTime( const FILETIME* lpFileTime, LPFILETIME lpLocalFileTime ); #pragma endregion #pragma region Application Family or OneCore Family or Games Family __declspec(dllimport) BOOL __stdcall FindClose( HANDLE hFindFile ); #pragma endregion #pragma region Application Family or OneCore Family __declspec(dllimport) BOOL __stdcall FindCloseChangeNotification( HANDLE hChangeHandle ); __declspec(dllimport) HANDLE __stdcall FindFirstChangeNotificationA( LPCSTR lpPathName, BOOL bWatchSubtree, DWORD dwNotifyFilter ); __declspec(dllimport) HANDLE __stdcall FindFirstChangeNotificationW( LPCWSTR lpPathName, BOOL bWatchSubtree, DWORD dwNotifyFilter ); #pragma endregion #pragma region Application Family or OneCore Family or Games Family __declspec(dllimport) HANDLE __stdcall FindFirstFileA( LPCSTR lpFileName, LPWIN32_FIND_DATAA lpFindFileData ); __declspec(dllimport) HANDLE __stdcall FindFirstFileW( LPCWSTR lpFileName, LPWIN32_FIND_DATAW lpFindFileData ); __declspec(dllimport) HANDLE __stdcall FindFirstFileExA( LPCSTR lpFileName, FINDEX_INFO_LEVELS fInfoLevelId, LPVOID lpFindFileData, FINDEX_SEARCH_OPS fSearchOp, LPVOID lpSearchFilter, DWORD dwAdditionalFlags ); __declspec(dllimport) HANDLE __stdcall FindFirstFileExW( LPCWSTR lpFileName, FINDEX_INFO_LEVELS fInfoLevelId, LPVOID lpFindFileData, FINDEX_SEARCH_OPS fSearchOp, LPVOID lpSearchFilter, DWORD dwAdditionalFlags ); #pragma endregion #pragma region Application Family or OneCore Family __declspec(dllimport) HANDLE __stdcall FindFirstVolumeW( LPWSTR lpszVolumeName, DWORD cchBufferLength ); __declspec(dllimport) BOOL __stdcall FindNextChangeNotification( HANDLE hChangeHandle ); #pragma endregion #pragma region Application Family or OneCore Family or Games Family __declspec(dllimport) BOOL __stdcall FindNextFileA( HANDLE hFindFile, LPWIN32_FIND_DATAA lpFindFileData ); __declspec(dllimport) BOOL __stdcall FindNextFileW( HANDLE hFindFile, LPWIN32_FIND_DATAW lpFindFileData ); #pragma endregion #pragma region Application Family or OneCore Family __declspec(dllimport) BOOL __stdcall FindNextVolumeW( HANDLE hFindVolume, LPWSTR lpszVolumeName, DWORD cchBufferLength ); __declspec(dllimport) BOOL __stdcall FindVolumeClose( HANDLE hFindVolume ); #pragma endregion #pragma region Application Family or OneCore Family or Games Family __declspec(dllimport) BOOL __stdcall FlushFileBuffers( HANDLE hFile ); __declspec(dllimport) BOOL __stdcall GetDiskFreeSpaceA( LPCSTR lpRootPathName, LPDWORD lpSectorsPerCluster, LPDWORD lpBytesPerSector, LPDWORD lpNumberOfFreeClusters, LPDWORD lpTotalNumberOfClusters ); __declspec(dllimport) BOOL __stdcall GetDiskFreeSpaceW( LPCWSTR lpRootPathName, LPDWORD lpSectorsPerCluster, LPDWORD lpBytesPerSector, LPDWORD lpNumberOfFreeClusters, LPDWORD lpTotalNumberOfClusters ); __declspec(dllimport) BOOL __stdcall GetDiskFreeSpaceExA( LPCSTR lpDirectoryName, PULARGE_INTEGER lpFreeBytesAvailableToCaller, PULARGE_INTEGER lpTotalNumberOfBytes, PULARGE_INTEGER lpTotalNumberOfFreeBytes ); __declspec(dllimport) BOOL __stdcall GetDiskFreeSpaceExW( LPCWSTR lpDirectoryName, PULARGE_INTEGER lpFreeBytesAvailableToCaller, PULARGE_INTEGER lpTotalNumberOfBytes, PULARGE_INTEGER lpTotalNumberOfFreeBytes ); #pragma endregion #pragma region Application Family or OneCore Family typedef struct DISK_SPACE_INFORMATION { ULONGLONG ActualTotalAllocationUnits; ULONGLONG ActualAvailableAllocationUnits; ULONGLONG ActualPoolUnavailableAllocationUnits; ULONGLONG CallerTotalAllocationUnits; ULONGLONG CallerAvailableAllocationUnits; ULONGLONG CallerPoolUnavailableAllocationUnits; ULONGLONG UsedAllocationUnits; ULONGLONG TotalReservedAllocationUnits; ULONGLONG VolumeStorageReserveAllocationUnits; ULONGLONG AvailableCommittedAllocationUnits; ULONGLONG PoolAvailableAllocationUnits; DWORD SectorsPerAllocationUnit; DWORD BytesPerSector; } DISK_SPACE_INFORMATION; __declspec(dllimport) HRESULT __stdcall GetDiskSpaceInformationA( LPCSTR rootPath, DISK_SPACE_INFORMATION* diskSpaceInfo ); __declspec(dllimport) HRESULT __stdcall GetDiskSpaceInformationW( LPCWSTR rootPath, DISK_SPACE_INFORMATION* diskSpaceInfo ); #pragma endregion #pragma region Application Family or OneCore Family or Games Family __declspec(dllimport) UINT __stdcall GetDriveTypeA( LPCSTR lpRootPathName ); __declspec(dllimport) UINT __stdcall GetDriveTypeW( LPCWSTR lpRootPathName ); typedef struct _WIN32_FILE_ATTRIBUTE_DATA { DWORD dwFileAttributes; FILETIME ftCreationTime; FILETIME ftLastAccessTime; FILETIME ftLastWriteTime; DWORD nFileSizeHigh; DWORD nFileSizeLow; } WIN32_FILE_ATTRIBUTE_DATA, *LPWIN32_FILE_ATTRIBUTE_DATA; __declspec(dllimport) DWORD __stdcall GetFileAttributesA( LPCSTR lpFileName ); __declspec(dllimport) DWORD __stdcall GetFileAttributesW( LPCWSTR lpFileName ); __declspec(dllimport) BOOL __stdcall GetFileAttributesExA( LPCSTR lpFileName, GET_FILEEX_INFO_LEVELS fInfoLevelId, LPVOID lpFileInformation ); __declspec(dllimport) BOOL __stdcall GetFileAttributesExW( LPCWSTR lpFileName, GET_FILEEX_INFO_LEVELS fInfoLevelId, LPVOID lpFileInformation ); typedef struct _BY_HANDLE_FILE_INFORMATION { DWORD dwFileAttributes; FILETIME ftCreationTime; FILETIME ftLastAccessTime; FILETIME ftLastWriteTime; DWORD dwVolumeSerialNumber; DWORD nFileSizeHigh; DWORD nFileSizeLow; DWORD nNumberOfLinks; DWORD nFileIndexHigh; DWORD nFileIndexLow; } BY_HANDLE_FILE_INFORMATION, *PBY_HANDLE_FILE_INFORMATION, *LPBY_HANDLE_FILE_INFORMATION; __declspec(dllimport) BOOL __stdcall GetFileInformationByHandle( HANDLE hFile, LPBY_HANDLE_FILE_INFORMATION lpFileInformation ); #pragma endregion #pragma region Desktop Family or OneCore Family or Games Family __declspec(dllimport) DWORD __stdcall GetFileSize( HANDLE hFile, LPDWORD lpFileSizeHigh ); #pragma endregion #pragma region Application Family or Games Family __declspec(dllimport) BOOL __stdcall GetFileSizeEx( HANDLE hFile, PLARGE_INTEGER lpFileSize ); __declspec(dllimport) DWORD __stdcall GetFileType( HANDLE hFile ); __declspec(dllimport) DWORD __stdcall GetFinalPathNameByHandleA( HANDLE hFile, LPSTR lpszFilePath, DWORD cchFilePath, DWORD dwFlags ); __declspec(dllimport) DWORD __stdcall GetFinalPathNameByHandleW( HANDLE hFile, LPWSTR lpszFilePath, DWORD cchFilePath, DWORD dwFlags ); __declspec(dllimport) BOOL __stdcall GetFileTime( HANDLE hFile, LPFILETIME lpCreationTime, LPFILETIME lpLastAccessTime, LPFILETIME lpLastWriteTime ); __declspec(dllimport) DWORD __stdcall GetFullPathNameW( LPCWSTR lpFileName, DWORD nBufferLength, LPWSTR lpBuffer, LPWSTR* lpFilePart ); __declspec(dllimport) DWORD __stdcall GetFullPathNameA( LPCSTR lpFileName, DWORD nBufferLength, LPSTR lpBuffer, LPSTR* lpFilePart ); __declspec(dllimport) DWORD __stdcall GetLogicalDrives( void ); #pragma endregion #pragma region Desktop Family or OneCore Family __declspec(dllimport) DWORD __stdcall GetLogicalDriveStringsW( DWORD nBufferLength, LPWSTR lpBuffer ); #pragma endregion #pragma region Application Family or OneCore Family __declspec(dllimport) DWORD __stdcall GetLongPathNameA( LPCSTR lpszShortPath, LPSTR lpszLongPath, DWORD cchBuffer ); __declspec(dllimport) DWORD __stdcall GetLongPathNameW( LPCWSTR lpszShortPath, LPWSTR lpszLongPath, DWORD cchBuffer ); #pragma endregion #pragma region Desktop Family or OneCore Family __declspec(dllimport) DWORD __stdcall GetShortPathNameW( LPCWSTR lpszLongPath, LPWSTR lpszShortPath, DWORD cchBuffer ); #pragma endregion #pragma region Application Family or OneCore Family __declspec(dllimport) UINT __stdcall GetTempFileNameW( LPCWSTR lpPathName, LPCWSTR lpPrefixString, UINT uUnique, LPWSTR lpTempFileName ); #pragma endregion #pragma region Application Family or OneCore Family or Games Family __declspec(dllimport) BOOL __stdcall GetVolumeInformationByHandleW( HANDLE hFile, LPWSTR lpVolumeNameBuffer, DWORD nVolumeNameSize, LPDWORD lpVolumeSerialNumber, LPDWORD lpMaximumComponentLength, LPDWORD lpFileSystemFlags, LPWSTR lpFileSystemNameBuffer, DWORD nFileSystemNameSize ); __declspec(dllimport) BOOL __stdcall GetVolumeInformationW( LPCWSTR lpRootPathName, LPWSTR lpVolumeNameBuffer, DWORD nVolumeNameSize, LPDWORD lpVolumeSerialNumber, LPDWORD lpMaximumComponentLength, LPDWORD lpFileSystemFlags, LPWSTR lpFileSystemNameBuffer, DWORD nFileSystemNameSize ); __declspec(dllimport) BOOL __stdcall GetVolumePathNameW( LPCWSTR lpszFileName, LPWSTR lpszVolumePathName, DWORD cchBufferLength ); __declspec(dllimport) BOOL __stdcall LocalFileTimeToFileTime( const FILETIME* lpLocalFileTime, LPFILETIME lpFileTime ); __declspec(dllimport) BOOL __stdcall LockFile( HANDLE hFile, DWORD dwFileOffsetLow, DWORD dwFileOffsetHigh, DWORD nNumberOfBytesToLockLow, DWORD nNumberOfBytesToLockHigh ); __declspec(dllimport) BOOL __stdcall LockFileEx( HANDLE hFile, DWORD dwFlags, DWORD dwReserved, DWORD nNumberOfBytesToLockLow, DWORD nNumberOfBytesToLockHigh, LPOVERLAPPED lpOverlapped ); #pragma endregion #pragma region Desktop Family or OneCore Family __declspec(dllimport) DWORD __stdcall QueryDosDeviceW( LPCWSTR lpDeviceName, LPWSTR lpTargetPath, DWORD ucchMax ); #pragma endregion #pragma region Application Family or OneCore Family or Games Family __declspec(dllimport) BOOL __stdcall ReadFile( HANDLE hFile, LPVOID lpBuffer, DWORD nNumberOfBytesToRead, LPDWORD lpNumberOfBytesRead, LPOVERLAPPED lpOverlapped ); __declspec(dllimport) BOOL __stdcall ReadFileEx( HANDLE hFile, LPVOID lpBuffer, DWORD nNumberOfBytesToRead, LPOVERLAPPED lpOverlapped, LPOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine ); __declspec(dllimport) BOOL __stdcall ReadFileScatter( HANDLE hFile, FILE_SEGMENT_ELEMENT aSegmentArray[], DWORD nNumberOfBytesToRead, LPDWORD lpReserved, LPOVERLAPPED lpOverlapped ); __declspec(dllimport) BOOL __stdcall RemoveDirectoryA( LPCSTR lpPathName ); __declspec(dllimport) BOOL __stdcall RemoveDirectoryW( LPCWSTR lpPathName ); __declspec(dllimport) BOOL __stdcall SetEndOfFile( HANDLE hFile ); __declspec(dllimport) BOOL __stdcall SetFileAttributesA( LPCSTR lpFileName, DWORD dwFileAttributes ); __declspec(dllimport) BOOL __stdcall SetFileAttributesW( LPCWSTR lpFileName, DWORD dwFileAttributes ); __declspec(dllimport) BOOL __stdcall SetFileInformationByHandle( HANDLE hFile, FILE_INFO_BY_HANDLE_CLASS FileInformationClass, LPVOID lpFileInformation, DWORD dwBufferSize ); __declspec(dllimport) DWORD __stdcall SetFilePointer( HANDLE hFile, LONG lDistanceToMove, PLONG lpDistanceToMoveHigh, DWORD dwMoveMethod ); __declspec(dllimport) BOOL __stdcall SetFilePointerEx( HANDLE hFile, LARGE_INTEGER liDistanceToMove, PLARGE_INTEGER lpNewFilePointer, DWORD dwMoveMethod ); __declspec(dllimport) BOOL __stdcall SetFileTime( HANDLE hFile, const FILETIME* lpCreationTime, const FILETIME* lpLastAccessTime, const FILETIME* lpLastWriteTime ); __declspec(dllimport) BOOL __stdcall SetFileValidData( HANDLE hFile, LONGLONG ValidDataLength ); __declspec(dllimport) BOOL __stdcall UnlockFile( HANDLE hFile, DWORD dwFileOffsetLow, DWORD dwFileOffsetHigh, DWORD nNumberOfBytesToUnlockLow, DWORD nNumberOfBytesToUnlockHigh ); __declspec(dllimport) BOOL __stdcall UnlockFileEx( HANDLE hFile, DWORD dwReserved, DWORD nNumberOfBytesToUnlockLow, DWORD nNumberOfBytesToUnlockHigh, LPOVERLAPPED lpOverlapped ); __declspec(dllimport) BOOL __stdcall WriteFile( HANDLE hFile, LPCVOID lpBuffer, DWORD nNumberOfBytesToWrite, LPDWORD lpNumberOfBytesWritten, LPOVERLAPPED lpOverlapped ); __declspec(dllimport) BOOL __stdcall WriteFileEx( HANDLE hFile, LPCVOID lpBuffer, DWORD nNumberOfBytesToWrite, LPOVERLAPPED lpOverlapped, LPOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine ); __declspec(dllimport) BOOL __stdcall WriteFileGather( HANDLE hFile, FILE_SEGMENT_ELEMENT aSegmentArray[], DWORD nNumberOfBytesToWrite, LPDWORD lpReserved, LPOVERLAPPED lpOverlapped ); __declspec(dllimport) DWORD __stdcall GetTempPathW( DWORD nBufferLength, LPWSTR lpBuffer ); #pragma endregion #pragma region Application Family or OneCore Family __declspec(dllimport) BOOL __stdcall GetVolumeNameForVolumeMountPointW( LPCWSTR lpszVolumeMountPoint, LPWSTR lpszVolumeName, DWORD cchBufferLength ); #pragma endregion #pragma region Desktop Family or OneCore Family __declspec(dllimport) BOOL __stdcall GetVolumePathNamesForVolumeNameW( LPCWSTR lpszVolumeName, LPWCH lpszVolumePathNames, DWORD cchBufferLength, PDWORD lpcchReturnLength ); #pragma endregion #pragma region Application Family or OneCore Family or Games Family typedef struct _CREATEFILE2_EXTENDED_PARAMETERS { DWORD dwSize; DWORD dwFileAttributes; DWORD dwFileFlags; DWORD dwSecurityQosFlags; LPSECURITY_ATTRIBUTES lpSecurityAttributes; HANDLE hTemplateFile; } CREATEFILE2_EXTENDED_PARAMETERS, *PCREATEFILE2_EXTENDED_PARAMETERS, *LPCREATEFILE2_EXTENDED_PARAMETERS; __declspec(dllimport) HANDLE __stdcall CreateFile2( LPCWSTR lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode, DWORD dwCreationDisposition, LPCREATEFILE2_EXTENDED_PARAMETERS pCreateExParams ); #pragma endregion #pragma region Desktop Family or OneCore Family __declspec(dllimport) BOOL __stdcall SetFileIoOverlappedRange( HANDLE FileHandle, PUCHAR OverlappedRangeStart, ULONG Length ); __declspec(dllimport) DWORD __stdcall GetCompressedFileSizeA( LPCSTR lpFileName, LPDWORD lpFileSizeHigh ); __declspec(dllimport) DWORD __stdcall GetCompressedFileSizeW( LPCWSTR lpFileName, LPDWORD lpFileSizeHigh ); typedef enum _STREAM_INFO_LEVELS { FindStreamInfoStandard, FindStreamInfoMaxInfoLevel } STREAM_INFO_LEVELS; typedef struct _WIN32_FIND_STREAM_DATA { LARGE_INTEGER StreamSize; WCHAR cStreamName[ 260 + 36 ]; } WIN32_FIND_STREAM_DATA, *PWIN32_FIND_STREAM_DATA; __declspec(dllimport) HANDLE __stdcall FindFirstStreamW( LPCWSTR lpFileName, STREAM_INFO_LEVELS InfoLevel, LPVOID lpFindStreamData, DWORD dwFlags ); __declspec(dllimport) BOOL __stdcall FindNextStreamW( HANDLE hFindStream, LPVOID lpFindStreamData ); #pragma endregion #pragma region Desktop Family or OneCore Family or Games Family __declspec(dllimport) BOOL __stdcall AreFileApisANSI( void ); #pragma endregion #pragma region Application Family or OneCore Family or Games Family __declspec(dllimport) DWORD __stdcall GetTempPathA( DWORD nBufferLength, LPSTR lpBuffer ); #pragma endregion #pragma region Desktop Family or OneCore Family __declspec(dllimport) HANDLE __stdcall FindFirstFileNameW( LPCWSTR lpFileName, DWORD dwFlags, LPDWORD StringLength, PWSTR LinkName ); __declspec(dllimport) BOOL __stdcall FindNextFileNameW( HANDLE hFindStream, LPDWORD StringLength, PWSTR LinkName ); #pragma endregion #pragma region Application Family or OneCore Family or Games Family __declspec(dllimport) BOOL __stdcall GetVolumeInformationA( LPCSTR lpRootPathName, LPSTR lpVolumeNameBuffer, DWORD nVolumeNameSize, LPDWORD lpVolumeSerialNumber, LPDWORD lpMaximumComponentLength, LPDWORD lpFileSystemFlags, LPSTR lpFileSystemNameBuffer, DWORD nFileSystemNameSize ); #pragma endregion #pragma region Application Family or OneCore Family __declspec(dllimport) UINT __stdcall GetTempFileNameA( LPCSTR lpPathName, LPCSTR lpPrefixString, UINT uUnique, LPSTR lpTempFileName ); #pragma endregion #pragma region Desktop Family or OneCore Family __declspec(dllimport) void __stdcall SetFileApisToOEM( void ); __declspec(dllimport) void __stdcall SetFileApisToANSI( void ); #pragma endregion } extern "C" { #pragma region Application Family __declspec(dllimport) BOOL __stdcall CopyFileFromAppW( LPCWSTR lpExistingFileName, LPCWSTR lpNewFileName, BOOL bFailIfExists ); __declspec(dllimport) BOOL __stdcall CreateDirectoryFromAppW( LPCWSTR lpPathName, LPSECURITY_ATTRIBUTES lpSecurityAttributes ); __declspec(dllimport) HANDLE __stdcall CreateFileFromAppW( LPCWSTR lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode, LPSECURITY_ATTRIBUTES lpSecurityAttributes, DWORD dwCreationDisposition, DWORD dwFlagsAndAttributes, HANDLE hTemplateFile ); __declspec(dllimport) HANDLE __stdcall CreateFile2FromAppW( LPCWSTR lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode, DWORD dwCreationDisposition, LPCREATEFILE2_EXTENDED_PARAMETERS pCreateExParams ); __declspec(dllimport) BOOL __stdcall DeleteFileFromAppW( LPCWSTR lpFileName ); __declspec(dllimport) HANDLE __stdcall FindFirstFileExFromAppW( LPCWSTR lpFileName, FINDEX_INFO_LEVELS fInfoLevelId, LPVOID lpFindFileData, FINDEX_SEARCH_OPS fSearchOp, LPVOID lpSearchFilter, DWORD dwAdditionalFlags ); __declspec(dllimport) BOOL __stdcall GetFileAttributesExFromAppW( LPCWSTR lpFileName, GET_FILEEX_INFO_LEVELS fInfoLevelId, LPVOID lpFileInformation ); __declspec(dllimport) BOOL __stdcall MoveFileFromAppW( LPCWSTR lpExistingFileName, LPCWSTR lpNewFileName ); __declspec(dllimport) BOOL __stdcall RemoveDirectoryFromAppW( LPCWSTR lpPathName ); __declspec(dllimport) BOOL __stdcall ReplaceFileFromAppW( LPCWSTR lpReplacedFileName, LPCWSTR lpReplacementFileName, LPCWSTR lpBackupFileName, DWORD dwReplaceFlags, LPVOID lpExclude, LPVOID lpReserved ); __declspec(dllimport) BOOL __stdcall SetFileAttributesFromAppW( LPCWSTR lpFileName, DWORD dwFileAttributes ); #pragma endregion } #pragma once extern "C" { #pragma region Application Family or OneCore Family or Games Family __declspec(dllimport) BOOL __stdcall IsDebuggerPresent( void ); #pragma endregion #pragma region Application Family or OneCore Family or Games Family __declspec(dllimport) void __stdcall DebugBreak( void ); __declspec(dllimport) void __stdcall OutputDebugStringA( LPCSTR lpOutputString ); __declspec(dllimport) void __stdcall OutputDebugStringW( LPCWSTR lpOutputString ); #pragma endregion #pragma region Desktop Family or OneCore Family or Games Family __declspec(dllimport) BOOL __stdcall ContinueDebugEvent( DWORD dwProcessId, DWORD dwThreadId, DWORD dwContinueStatus ); __declspec(dllimport) BOOL __stdcall WaitForDebugEvent( LPDEBUG_EVENT lpDebugEvent, DWORD dwMilliseconds ); __declspec(dllimport) BOOL __stdcall DebugActiveProcess( DWORD dwProcessId ); __declspec(dllimport) BOOL __stdcall DebugActiveProcessStop( DWORD dwProcessId ); #pragma endregion #pragma region Desktop Family or OneCore Family __declspec(dllimport) BOOL __stdcall CheckRemoteDebuggerPresent( HANDLE hProcess, PBOOL pbDebuggerPresent ); #pragma endregion #pragma region Desktop Family or OneCore Family __declspec(dllimport) BOOL __stdcall WaitForDebugEventEx( LPDEBUG_EVENT lpDebugEvent, DWORD dwMilliseconds ); #pragma endregion } #pragma once extern "C" { #pragma region Application Family or OneCore Family or Games Family __declspec(dllimport) PVOID __stdcall EncodePointer( PVOID Ptr ); __declspec(dllimport) PVOID __stdcall DecodePointer( PVOID Ptr ); __declspec(dllimport) PVOID __stdcall EncodeSystemPointer( PVOID Ptr ); __declspec(dllimport) PVOID __stdcall DecodeSystemPointer( PVOID Ptr ); #pragma endregion #pragma region Desktop Family or OneCore Family __declspec(dllimport) HRESULT __stdcall EncodeRemotePointer( HANDLE ProcessHandle, PVOID Ptr, PVOID* EncodedPtr ); __declspec(dllimport) HRESULT __stdcall DecodeRemotePointer( HANDLE ProcessHandle, PVOID Ptr, PVOID* DecodedPtr ); #pragma endregion #pragma region PC Family or OneCore Family or Games Family __declspec(dllimport) BOOL __stdcall Beep( DWORD dwFreq, DWORD dwDuration ); #pragma endregion } #pragma once extern "C" { #pragma region Application Family or OneCore Family or Games Family __declspec(dllimport) BOOL __stdcall CloseHandle( HANDLE hObject ); __declspec(dllimport) BOOL __stdcall DuplicateHandle( HANDLE hSourceProcessHandle, HANDLE hSourceHandle, HANDLE hTargetProcessHandle, LPHANDLE lpTargetHandle, DWORD dwDesiredAccess, BOOL bInheritHandle, DWORD dwOptions ); #pragma endregion #pragma region Application Family or OneCore Family __declspec(dllimport) BOOL __stdcall CompareObjectHandles( HANDLE hFirstObjectHandle, HANDLE hSecondObjectHandle ); #pragma endregion #pragma region Application Family or OneCore Family or Games Family __declspec(dllimport) BOOL __stdcall GetHandleInformation( HANDLE hObject, LPDWORD lpdwFlags ); __declspec(dllimport) BOOL __stdcall SetHandleInformation( HANDLE hObject, DWORD dwMask, DWORD dwFlags ); #pragma endregion } #pragma once extern "C" { #pragma region Application Family or OneCore Family or Games Family typedef LONG (__stdcall *PTOP_LEVEL_EXCEPTION_FILTER)( struct _EXCEPTION_POINTERS *ExceptionInfo ); typedef PTOP_LEVEL_EXCEPTION_FILTER LPTOP_LEVEL_EXCEPTION_FILTER; __declspec(dllimport) void __stdcall RaiseException( DWORD dwExceptionCode, DWORD dwExceptionFlags, DWORD nNumberOfArguments, const ULONG_PTR* lpArguments ); #pragma endregion #pragma region Desktop Family or OneCore Family or Games Family __declspec(dllimport) LONG __stdcall UnhandledExceptionFilter( struct _EXCEPTION_POINTERS* ExceptionInfo ); #pragma endregion #pragma region Application Family or OneCore Family or Games Family __declspec(dllimport) LPTOP_LEVEL_EXCEPTION_FILTER __stdcall SetUnhandledExceptionFilter( LPTOP_LEVEL_EXCEPTION_FILTER lpTopLevelExceptionFilter ); __declspec(dllimport) DWORD __stdcall GetLastError( void ); __declspec(dllimport) void __stdcall SetLastError( DWORD dwErrCode ); #pragma endregion #pragma region Application Family or OneCore Family __declspec(dllimport) UINT __stdcall GetErrorMode( void ); #pragma endregion #pragma region Application Family or OneCore Family or Games Family __declspec(dllimport) UINT __stdcall SetErrorMode( UINT uMode ); #pragma endregion #pragma region Desktop Family or OneCore Family or Games Family __declspec(dllimport) PVOID __stdcall AddVectoredExceptionHandler( ULONG First, PVECTORED_EXCEPTION_HANDLER Handler ); __declspec(dllimport) ULONG __stdcall RemoveVectoredExceptionHandler( PVOID Handle ); __declspec(dllimport) PVOID __stdcall AddVectoredContinueHandler( ULONG First, PVECTORED_EXCEPTION_HANDLER Handler ); __declspec(dllimport) ULONG __stdcall RemoveVectoredContinueHandler( PVOID Handle ); #pragma endregion #pragma region Application Family or OneCore Family or Games Family __declspec(dllimport) void __stdcall RaiseFailFastException( PEXCEPTION_RECORD pExceptionRecord, PCONTEXT pContextRecord, DWORD dwFlags ); #pragma endregion #pragma region Desktop Family or OneCore Family or Games Family __declspec(dllimport) void __stdcall FatalAppExitA( UINT uAction, LPCSTR lpMessageText ); __declspec(dllimport) void __stdcall FatalAppExitW( UINT uAction, LPCWSTR lpMessageText ); #pragma endregion #pragma region Application Family or OneCore Family __declspec(dllimport) DWORD __stdcall GetThreadErrorMode( void ); __declspec(dllimport) BOOL __stdcall SetThreadErrorMode( DWORD dwNewMode, LPDWORD lpOldMode ); #pragma endregion #pragma region Desktop Family or OneCore Family __declspec(dllimport) void __stdcall TerminateProcessOnMemoryExhaustion( SIZE_T FailedAllocationSize ); #pragma endregion } #pragma once extern "C" { #pragma region Application Family or OneCore Family or Games Family __declspec(dllimport) DWORD __stdcall FlsAlloc( PFLS_CALLBACK_FUNCTION lpCallback ); __declspec(dllimport) PVOID __stdcall FlsGetValue( DWORD dwFlsIndex ); __declspec(dllimport) BOOL __stdcall FlsSetValue( DWORD dwFlsIndex, PVOID lpFlsData ); __declspec(dllimport) BOOL __stdcall FlsFree( DWORD dwFlsIndex ); #pragma endregion #pragma region Application Family or OneCore Family or Games Family __declspec(dllimport) BOOL __stdcall IsThreadAFiber( void ); #pragma endregion } #pragma once extern "C" { __declspec(dllimport) BOOL __stdcall CreatePipe( PHANDLE hReadPipe, PHANDLE hWritePipe, LPSECURITY_ATTRIBUTES lpPipeAttributes, DWORD nSize ); __declspec(dllimport) BOOL __stdcall ConnectNamedPipe( HANDLE hNamedPipe, LPOVERLAPPED lpOverlapped ); __declspec(dllimport) BOOL __stdcall DisconnectNamedPipe( HANDLE hNamedPipe ); __declspec(dllimport) BOOL __stdcall SetNamedPipeHandleState( HANDLE hNamedPipe, LPDWORD lpMode, LPDWORD lpMaxCollectionCount, LPDWORD lpCollectDataTimeout ); __declspec(dllimport) BOOL __stdcall PeekNamedPipe( HANDLE hNamedPipe, LPVOID lpBuffer, DWORD nBufferSize, LPDWORD lpBytesRead, LPDWORD lpTotalBytesAvail, LPDWORD lpBytesLeftThisMessage ); __declspec(dllimport) BOOL __stdcall TransactNamedPipe( HANDLE hNamedPipe, LPVOID lpInBuffer, DWORD nInBufferSize, LPVOID lpOutBuffer, DWORD nOutBufferSize, LPDWORD lpBytesRead, LPOVERLAPPED lpOverlapped ); __declspec(dllimport) HANDLE __stdcall CreateNamedPipeW( LPCWSTR lpName, DWORD dwOpenMode, DWORD dwPipeMode, DWORD nMaxInstances, DWORD nOutBufferSize, DWORD nInBufferSize, DWORD nDefaultTimeOut, LPSECURITY_ATTRIBUTES lpSecurityAttributes ); __declspec(dllimport) BOOL __stdcall WaitNamedPipeW( LPCWSTR lpNamedPipeName, DWORD nTimeOut ); __declspec(dllimport) BOOL __stdcall GetNamedPipeClientComputerNameW( HANDLE Pipe, LPWSTR ClientComputerName, ULONG ClientComputerNameLength ); __declspec(dllimport) BOOL __stdcall ImpersonateNamedPipeClient( HANDLE hNamedPipe ); #pragma region Application Family or OneCore Family __declspec(dllimport) BOOL __stdcall GetNamedPipeInfo( HANDLE hNamedPipe, LPDWORD lpFlags, LPDWORD lpOutBufferSize, LPDWORD lpInBufferSize, LPDWORD lpMaxInstances ); __declspec(dllimport) BOOL __stdcall GetNamedPipeHandleStateW( HANDLE hNamedPipe, LPDWORD lpState, LPDWORD lpCurInstances, LPDWORD lpMaxCollectionCount, LPDWORD lpCollectDataTimeout, LPWSTR lpUserName, DWORD nMaxUserNameSize ); #pragma endregion #pragma region Application Family or OneCore Family __declspec(dllimport) BOOL __stdcall CallNamedPipeW( LPCWSTR lpNamedPipeName, LPVOID lpInBuffer, DWORD nInBufferSize, LPVOID lpOutBuffer, DWORD nOutBufferSize, LPDWORD lpBytesRead, DWORD nTimeOut ); #pragma endregion } #pragma once extern "C" { #pragma region Application Family or OneCore Family or Games Family __declspec(dllimport) BOOL __stdcall QueryPerformanceCounter( LARGE_INTEGER* lpPerformanceCount ); __declspec(dllimport) BOOL __stdcall QueryPerformanceFrequency( LARGE_INTEGER* lpFrequency ); #pragma endregion } #pragma once extern "C" { #pragma warning(push) #pragma warning(disable:4820) #pragma region Application Family or OneCore Family or Games Family typedef struct _HEAP_SUMMARY { DWORD cb; SIZE_T cbAllocated; SIZE_T cbCommitted; SIZE_T cbReserved; SIZE_T cbMaxReserve; } HEAP_SUMMARY, *PHEAP_SUMMARY; typedef PHEAP_SUMMARY LPHEAP_SUMMARY; __declspec(dllimport) HANDLE __stdcall HeapCreate( DWORD flOptions, SIZE_T dwInitialSize, SIZE_T dwMaximumSize ); __declspec(dllimport) BOOL __stdcall HeapDestroy( HANDLE hHeap ); __declspec(dllimport) __declspec(allocator) LPVOID __stdcall HeapAlloc( HANDLE hHeap, DWORD dwFlags, SIZE_T dwBytes ); __declspec(dllimport) __declspec(allocator) LPVOID __stdcall HeapReAlloc( HANDLE hHeap, DWORD dwFlags, LPVOID lpMem, SIZE_T dwBytes ); __declspec(dllimport) BOOL __stdcall HeapFree( HANDLE hHeap, DWORD dwFlags, LPVOID lpMem ); __declspec(dllimport) SIZE_T __stdcall HeapSize( HANDLE hHeap, DWORD dwFlags, LPCVOID lpMem ); __declspec(dllimport) HANDLE __stdcall GetProcessHeap( void ); __declspec(dllimport) SIZE_T __stdcall HeapCompact( HANDLE hHeap, DWORD dwFlags ); __declspec(dllimport) BOOL __stdcall HeapSetInformation( HANDLE HeapHandle, HEAP_INFORMATION_CLASS HeapInformationClass, PVOID HeapInformation, SIZE_T HeapInformationLength ); #pragma endregion #pragma region Desktop Family or OneCore Family or Games Family __declspec(dllimport) BOOL __stdcall HeapValidate( HANDLE hHeap, DWORD dwFlags, LPCVOID lpMem ); #pragma endregion #pragma region Application Family BOOL __stdcall HeapSummary( HANDLE hHeap, DWORD dwFlags, LPHEAP_SUMMARY lpSummary ); #pragma endregion #pragma region Application Family or OneCore Family or Games Family __declspec(dllimport) DWORD __stdcall GetProcessHeaps( DWORD NumberOfHeaps, PHANDLE ProcessHeaps ); __declspec(dllimport) BOOL __stdcall HeapLock( HANDLE hHeap ); __declspec(dllimport) BOOL __stdcall HeapUnlock( HANDLE hHeap ); #pragma endregion #pragma region Desktop Family or OneCore Family or Games Family __declspec(dllimport) BOOL __stdcall HeapWalk( HANDLE hHeap, LPPROCESS_HEAP_ENTRY lpEntry ); __declspec(dllimport) BOOL __stdcall HeapQueryInformation( HANDLE HeapHandle, HEAP_INFORMATION_CLASS HeapInformationClass, PVOID HeapInformation, SIZE_T HeapInformationLength, PSIZE_T ReturnLength ); #pragma endregion #pragma warning(pop) } #pragma once extern "C" { #pragma region Application Family or OneCore Family or Games Family __declspec(dllimport) HANDLE __stdcall CreateIoCompletionPort( HANDLE FileHandle, HANDLE ExistingCompletionPort, ULONG_PTR CompletionKey, DWORD NumberOfConcurrentThreads ); __declspec(dllimport) BOOL __stdcall GetQueuedCompletionStatus( HANDLE CompletionPort, LPDWORD lpNumberOfBytesTransferred, PULONG_PTR lpCompletionKey, LPOVERLAPPED* lpOverlapped, DWORD dwMilliseconds ); __declspec(dllimport) BOOL __stdcall GetQueuedCompletionStatusEx( HANDLE CompletionPort, LPOVERLAPPED_ENTRY lpCompletionPortEntries, ULONG ulCount, PULONG ulNumEntriesRemoved, DWORD dwMilliseconds, BOOL fAlertable ); __declspec(dllimport) BOOL __stdcall PostQueuedCompletionStatus( HANDLE CompletionPort, DWORD dwNumberOfBytesTransferred, ULONG_PTR dwCompletionKey, LPOVERLAPPED lpOverlapped ); #pragma endregion #pragma region Desktop Family or OneCore Family or Application Family or Games Family __declspec(dllimport) BOOL __stdcall DeviceIoControl( HANDLE hDevice, DWORD dwIoControlCode, LPVOID lpInBuffer, DWORD nInBufferSize, LPVOID lpOutBuffer, DWORD nOutBufferSize, LPDWORD lpBytesReturned, LPOVERLAPPED lpOverlapped ); #pragma endregion #pragma region Application Family or OneCore Family or Games Family __declspec(dllimport) BOOL __stdcall GetOverlappedResult( HANDLE hFile, LPOVERLAPPED lpOverlapped, LPDWORD lpNumberOfBytesTransferred, BOOL bWait ); __declspec(dllimport) BOOL __stdcall CancelIoEx( HANDLE hFile, LPOVERLAPPED lpOverlapped ); #pragma endregion #pragma region Application Family or OneCore Family or Games Family __declspec(dllimport) BOOL __stdcall CancelIo( HANDLE hFile ); __declspec(dllimport) BOOL __stdcall GetOverlappedResultEx( HANDLE hFile, LPOVERLAPPED lpOverlapped, LPDWORD lpNumberOfBytesTransferred, DWORD dwMilliseconds, BOOL bAlertable ); #pragma endregion #pragma region Desktop Family or OneCore Family or Games Family __declspec(dllimport) BOOL __stdcall CancelSynchronousIo( HANDLE hThread ); #pragma endregion } #pragma once extern "C" { #pragma region Application or OneCore Family or Games Family typedef RTL_SRWLOCK SRWLOCK, *PSRWLOCK; __declspec(dllimport) void __stdcall InitializeSRWLock( PSRWLOCK SRWLock ); __declspec(dllimport) void __stdcall ReleaseSRWLockExclusive( PSRWLOCK SRWLock ); __declspec(dllimport) void __stdcall ReleaseSRWLockShared( PSRWLOCK SRWLock ); __declspec(dllimport) void __stdcall AcquireSRWLockExclusive( PSRWLOCK SRWLock ); __declspec(dllimport) void __stdcall AcquireSRWLockShared( PSRWLOCK SRWLock ); __declspec(dllimport) BOOLEAN __stdcall TryAcquireSRWLockExclusive( PSRWLOCK SRWLock ); __declspec(dllimport) BOOLEAN __stdcall TryAcquireSRWLockShared( PSRWLOCK SRWLock ); __declspec(dllimport) void __stdcall InitializeCriticalSection( LPCRITICAL_SECTION lpCriticalSection ); __declspec(dllimport) void __stdcall EnterCriticalSection( LPCRITICAL_SECTION lpCriticalSection ); __declspec(dllimport) void __stdcall LeaveCriticalSection( LPCRITICAL_SECTION lpCriticalSection ); __declspec(dllimport) BOOL __stdcall InitializeCriticalSectionAndSpinCount( LPCRITICAL_SECTION lpCriticalSection, DWORD dwSpinCount ); __declspec(dllimport) BOOL __stdcall InitializeCriticalSectionEx( LPCRITICAL_SECTION lpCriticalSection, DWORD dwSpinCount, DWORD Flags ); __declspec(dllimport) DWORD __stdcall SetCriticalSectionSpinCount( LPCRITICAL_SECTION lpCriticalSection, DWORD dwSpinCount ); __declspec(dllimport) BOOL __stdcall TryEnterCriticalSection( LPCRITICAL_SECTION lpCriticalSection ); __declspec(dllimport) void __stdcall DeleteCriticalSection( LPCRITICAL_SECTION lpCriticalSection ); typedef RTL_RUN_ONCE INIT_ONCE; typedef PRTL_RUN_ONCE PINIT_ONCE; typedef PRTL_RUN_ONCE LPINIT_ONCE; typedef BOOL (__stdcall *PINIT_ONCE_FN) ( PINIT_ONCE InitOnce, PVOID Parameter, PVOID *Context ); __declspec(dllimport) void __stdcall InitOnceInitialize( PINIT_ONCE InitOnce ); __declspec(dllimport) BOOL __stdcall InitOnceExecuteOnce( PINIT_ONCE InitOnce, PINIT_ONCE_FN InitFn, PVOID Parameter, LPVOID* Context ); __declspec(dllimport) BOOL __stdcall InitOnceBeginInitialize( LPINIT_ONCE lpInitOnce, DWORD dwFlags, PBOOL fPending, LPVOID* lpContext ); __declspec(dllimport) BOOL __stdcall InitOnceComplete( LPINIT_ONCE lpInitOnce, DWORD dwFlags, LPVOID lpContext ); typedef RTL_CONDITION_VARIABLE CONDITION_VARIABLE, *PCONDITION_VARIABLE; __declspec(dllimport) void __stdcall InitializeConditionVariable( PCONDITION_VARIABLE ConditionVariable ); __declspec(dllimport) void __stdcall WakeConditionVariable( PCONDITION_VARIABLE ConditionVariable ); __declspec(dllimport) void __stdcall WakeAllConditionVariable( PCONDITION_VARIABLE ConditionVariable ); __declspec(dllimport) BOOL __stdcall SleepConditionVariableCS( PCONDITION_VARIABLE ConditionVariable, PCRITICAL_SECTION CriticalSection, DWORD dwMilliseconds ); __declspec(dllimport) BOOL __stdcall SleepConditionVariableSRW( PCONDITION_VARIABLE ConditionVariable, PSRWLOCK SRWLock, DWORD dwMilliseconds, ULONG Flags ); __declspec(dllimport) BOOL __stdcall SetEvent( HANDLE hEvent ); __declspec(dllimport) BOOL __stdcall ResetEvent( HANDLE hEvent ); __declspec(dllimport) BOOL __stdcall ReleaseSemaphore( HANDLE hSemaphore, LONG lReleaseCount, LPLONG lpPreviousCount ); __declspec(dllimport) BOOL __stdcall ReleaseMutex( HANDLE hMutex ); __declspec(dllimport) DWORD __stdcall WaitForSingleObject( HANDLE hHandle, DWORD dwMilliseconds ); __declspec(dllimport) DWORD __stdcall SleepEx( DWORD dwMilliseconds, BOOL bAlertable ); __declspec(dllimport) DWORD __stdcall WaitForSingleObjectEx( HANDLE hHandle, DWORD dwMilliseconds, BOOL bAlertable ); __declspec(dllimport) DWORD __stdcall WaitForMultipleObjectsEx( DWORD nCount, const HANDLE* lpHandles, BOOL bWaitAll, DWORD dwMilliseconds, BOOL bAlertable ); __declspec(dllimport) HANDLE __stdcall CreateMutexA( LPSECURITY_ATTRIBUTES lpMutexAttributes, BOOL bInitialOwner, LPCSTR lpName ); __declspec(dllimport) HANDLE __stdcall CreateMutexW( LPSECURITY_ATTRIBUTES lpMutexAttributes, BOOL bInitialOwner, LPCWSTR lpName ); __declspec(dllimport) HANDLE __stdcall OpenMutexW( DWORD dwDesiredAccess, BOOL bInheritHandle, LPCWSTR lpName ); __declspec(dllimport) HANDLE __stdcall CreateEventA( LPSECURITY_ATTRIBUTES lpEventAttributes, BOOL bManualReset, BOOL bInitialState, LPCSTR lpName ); __declspec(dllimport) HANDLE __stdcall CreateEventW( LPSECURITY_ATTRIBUTES lpEventAttributes, BOOL bManualReset, BOOL bInitialState, LPCWSTR lpName ); __declspec(dllimport) HANDLE __stdcall OpenEventA( DWORD dwDesiredAccess, BOOL bInheritHandle, LPCSTR lpName ); __declspec(dllimport) HANDLE __stdcall OpenEventW( DWORD dwDesiredAccess, BOOL bInheritHandle, LPCWSTR lpName ); __declspec(dllimport) HANDLE __stdcall OpenSemaphoreW( DWORD dwDesiredAccess, BOOL bInheritHandle, LPCWSTR lpName ); typedef void (__stdcall *PTIMERAPCROUTINE)( LPVOID lpArgToCompletionRoutine, DWORD dwTimerLowValue, DWORD dwTimerHighValue ); __declspec(dllimport) HANDLE __stdcall OpenWaitableTimerW( DWORD dwDesiredAccess, BOOL bInheritHandle, LPCWSTR lpTimerName ); BOOL __stdcall SetWaitableTimerEx( HANDLE hTimer, const LARGE_INTEGER* lpDueTime, LONG lPeriod, PTIMERAPCROUTINE pfnCompletionRoutine, LPVOID lpArgToCompletionRoutine, PREASON_CONTEXT WakeContext, ULONG TolerableDelay ); __declspec(dllimport) BOOL __stdcall SetWaitableTimer( HANDLE hTimer, const LARGE_INTEGER* lpDueTime, LONG lPeriod, PTIMERAPCROUTINE pfnCompletionRoutine, LPVOID lpArgToCompletionRoutine, BOOL fResume ); __declspec(dllimport) BOOL __stdcall CancelWaitableTimer( HANDLE hTimer ); __declspec(dllimport) HANDLE __stdcall CreateMutexExA( LPSECURITY_ATTRIBUTES lpMutexAttributes, LPCSTR lpName, DWORD dwFlags, DWORD dwDesiredAccess ); __declspec(dllimport) HANDLE __stdcall CreateMutexExW( LPSECURITY_ATTRIBUTES lpMutexAttributes, LPCWSTR lpName, DWORD dwFlags, DWORD dwDesiredAccess ); __declspec(dllimport) HANDLE __stdcall CreateEventExA( LPSECURITY_ATTRIBUTES lpEventAttributes, LPCSTR lpName, DWORD dwFlags, DWORD dwDesiredAccess ); __declspec(dllimport) HANDLE __stdcall CreateEventExW( LPSECURITY_ATTRIBUTES lpEventAttributes, LPCWSTR lpName, DWORD dwFlags, DWORD dwDesiredAccess ); __declspec(dllimport) HANDLE __stdcall CreateSemaphoreExW( LPSECURITY_ATTRIBUTES lpSemaphoreAttributes, LONG lInitialCount, LONG lMaximumCount, LPCWSTR lpName, DWORD dwFlags, DWORD dwDesiredAccess ); __declspec(dllimport) HANDLE __stdcall CreateWaitableTimerExW( LPSECURITY_ATTRIBUTES lpTimerAttributes, LPCWSTR lpTimerName, DWORD dwFlags, DWORD dwDesiredAccess ); typedef RTL_BARRIER SYNCHRONIZATION_BARRIER; typedef PRTL_BARRIER PSYNCHRONIZATION_BARRIER; typedef PRTL_BARRIER LPSYNCHRONIZATION_BARRIER; BOOL __stdcall EnterSynchronizationBarrier( LPSYNCHRONIZATION_BARRIER lpBarrier, DWORD dwFlags ); BOOL __stdcall InitializeSynchronizationBarrier( LPSYNCHRONIZATION_BARRIER lpBarrier, LONG lTotalThreads, LONG lSpinCount ); BOOL __stdcall DeleteSynchronizationBarrier( LPSYNCHRONIZATION_BARRIER lpBarrier ); __declspec(dllimport) void __stdcall Sleep( DWORD dwMilliseconds ); BOOL __stdcall WaitOnAddress( volatile void* Address, PVOID CompareAddress, SIZE_T AddressSize, DWORD dwMilliseconds ); void __stdcall WakeByAddressSingle( PVOID Address ); void __stdcall WakeByAddressAll( PVOID Address ); #pragma endregion #pragma region Desktop or OneCore Family __declspec(dllimport) DWORD __stdcall SignalObjectAndWait( HANDLE hObjectToSignal, HANDLE hObjectToWaitOn, DWORD dwMilliseconds, BOOL bAlertable ); #pragma endregion #pragma region Application or OneCore Family or Games Partition __declspec(dllimport) DWORD __stdcall WaitForMultipleObjects( DWORD nCount, const HANDLE* lpHandles, BOOL bWaitAll, DWORD dwMilliseconds ); __declspec(dllimport) HANDLE __stdcall CreateSemaphoreW( LPSECURITY_ATTRIBUTES lpSemaphoreAttributes, LONG lInitialCount, LONG lMaximumCount, LPCWSTR lpName ); __declspec(dllimport) HANDLE __stdcall CreateWaitableTimerW( LPSECURITY_ATTRIBUTES lpTimerAttributes, BOOL bManualReset, LPCWSTR lpTimerName ); #pragma endregion } #pragma once extern "C" { #pragma region Application Family or OneCore Family #pragma endregion #pragma region Application Family or OneCore Family or Games Family __declspec(dllimport) void __stdcall InitializeSListHead( PSLIST_HEADER ListHead ); __declspec(dllimport) PSLIST_ENTRY __stdcall InterlockedPopEntrySList( PSLIST_HEADER ListHead ); __declspec(dllimport) PSLIST_ENTRY __stdcall InterlockedPushEntrySList( PSLIST_HEADER ListHead, PSLIST_ENTRY ListEntry ); __declspec(dllimport) PSLIST_ENTRY __stdcall InterlockedPushListSListEx( PSLIST_HEADER ListHead, PSLIST_ENTRY List, PSLIST_ENTRY ListEnd, ULONG Count ); __declspec(dllimport) PSLIST_ENTRY __stdcall InterlockedFlushSList( PSLIST_HEADER ListHead ); __declspec(dllimport) USHORT __stdcall QueryDepthSList( PSLIST_HEADER ListHead ); #pragma endregion } #pragma once extern "C" { #pragma region Application Family or OneCore Family or Games Family typedef struct _PROCESS_INFORMATION { HANDLE hProcess; HANDLE hThread; DWORD dwProcessId; DWORD dwThreadId; } PROCESS_INFORMATION, *PPROCESS_INFORMATION, *LPPROCESS_INFORMATION; typedef struct _STARTUPINFOA { DWORD cb; LPSTR lpReserved; LPSTR lpDesktop; LPSTR lpTitle; DWORD dwX; DWORD dwY; DWORD dwXSize; DWORD dwYSize; DWORD dwXCountChars; DWORD dwYCountChars; DWORD dwFillAttribute; DWORD dwFlags; WORD wShowWindow; WORD cbReserved2; LPBYTE lpReserved2; HANDLE hStdInput; HANDLE hStdOutput; HANDLE hStdError; } STARTUPINFOA, *LPSTARTUPINFOA; typedef struct _STARTUPINFOW { DWORD cb; LPWSTR lpReserved; LPWSTR lpDesktop; LPWSTR lpTitle; DWORD dwX; DWORD dwY; DWORD dwXSize; DWORD dwYSize; DWORD dwXCountChars; DWORD dwYCountChars; DWORD dwFillAttribute; DWORD dwFlags; WORD wShowWindow; WORD cbReserved2; LPBYTE lpReserved2; HANDLE hStdInput; HANDLE hStdOutput; HANDLE hStdError; } STARTUPINFOW, *LPSTARTUPINFOW; typedef STARTUPINFOW STARTUPINFO; typedef LPSTARTUPINFOW LPSTARTUPINFO; #pragma endregion #pragma region Application Family or OneCore Family or Games Family __declspec(dllimport) DWORD __stdcall QueueUserAPC( PAPCFUNC pfnAPC, HANDLE hThread, ULONG_PTR dwData ); __declspec(dllimport) BOOL __stdcall GetProcessTimes( HANDLE hProcess, LPFILETIME lpCreationTime, LPFILETIME lpExitTime, LPFILETIME lpKernelTime, LPFILETIME lpUserTime ); __declspec(dllimport) HANDLE __stdcall GetCurrentProcess( void ); __declspec(dllimport) DWORD __stdcall GetCurrentProcessId( void ); __declspec(dllimport) __declspec(noreturn) void __stdcall ExitProcess( UINT uExitCode ); __declspec(dllimport) BOOL __stdcall TerminateProcess( HANDLE hProcess, UINT uExitCode ); __declspec(dllimport) BOOL __stdcall GetExitCodeProcess( HANDLE hProcess, LPDWORD lpExitCode ); __declspec(dllimport) BOOL __stdcall SwitchToThread( void ); __declspec(dllimport) HANDLE __stdcall CreateThread( LPSECURITY_ATTRIBUTES lpThreadAttributes, SIZE_T dwStackSize, LPTHREAD_START_ROUTINE lpStartAddress, LPVOID lpParameter, DWORD dwCreationFlags, LPDWORD lpThreadId ); #pragma endregion #pragma region Application Family or OneCore Family or Games Family __declspec(dllimport) HANDLE __stdcall CreateRemoteThread( HANDLE hProcess, LPSECURITY_ATTRIBUTES lpThreadAttributes, SIZE_T dwStackSize, LPTHREAD_START_ROUTINE lpStartAddress, LPVOID lpParameter, DWORD dwCreationFlags, LPDWORD lpThreadId ); #pragma endregion #pragma region Application Family or OneCore Family or Games Family __declspec(dllimport) HANDLE __stdcall GetCurrentThread( void ); __declspec(dllimport) DWORD __stdcall GetCurrentThreadId( void ); __declspec(dllimport) HANDLE __stdcall OpenThread( DWORD dwDesiredAccess, BOOL bInheritHandle, DWORD dwThreadId ); __declspec(dllimport) BOOL __stdcall SetThreadPriority( HANDLE hThread, int nPriority ); __declspec(dllimport) BOOL __stdcall SetThreadPriorityBoost( HANDLE hThread, BOOL bDisablePriorityBoost ); __declspec(dllimport) BOOL __stdcall GetThreadPriorityBoost( HANDLE hThread, PBOOL pDisablePriorityBoost ); __declspec(dllimport) int __stdcall GetThreadPriority( HANDLE hThread ); __declspec(dllimport) __declspec(noreturn) void __stdcall ExitThread( DWORD dwExitCode ); #pragma endregion #pragma region Desktop Family or OneCore Family or Games Family __declspec(dllimport) BOOL __stdcall TerminateThread( HANDLE hThread, DWORD dwExitCode ); #pragma endregion #pragma region Application Family or OneCore Family or Games Family __declspec(dllimport) BOOL __stdcall GetExitCodeThread( HANDLE hThread, LPDWORD lpExitCode ); __declspec(dllimport) DWORD __stdcall SuspendThread( HANDLE hThread ); __declspec(dllimport) DWORD __stdcall ResumeThread( HANDLE hThread ); __declspec(dllimport) DWORD __stdcall TlsAlloc( void ); __declspec(dllimport) LPVOID __stdcall TlsGetValue( DWORD dwTlsIndex ); __declspec(dllimport) BOOL __stdcall TlsSetValue( DWORD dwTlsIndex, LPVOID lpTlsValue ); __declspec(dllimport) BOOL __stdcall TlsFree( DWORD dwTlsIndex ); __declspec(dllimport) BOOL __stdcall CreateProcessA( LPCSTR lpApplicationName, LPSTR lpCommandLine, LPSECURITY_ATTRIBUTES lpProcessAttributes, LPSECURITY_ATTRIBUTES lpThreadAttributes, BOOL bInheritHandles, DWORD dwCreationFlags, LPVOID lpEnvironment, LPCSTR lpCurrentDirectory, LPSTARTUPINFOA lpStartupInfo, LPPROCESS_INFORMATION lpProcessInformation ); __declspec(dllimport) BOOL __stdcall CreateProcessW( LPCWSTR lpApplicationName, LPWSTR lpCommandLine, LPSECURITY_ATTRIBUTES lpProcessAttributes, LPSECURITY_ATTRIBUTES lpThreadAttributes, BOOL bInheritHandles, DWORD dwCreationFlags, LPVOID lpEnvironment, LPCWSTR lpCurrentDirectory, LPSTARTUPINFOW lpStartupInfo, LPPROCESS_INFORMATION lpProcessInformation ); #pragma endregion #pragma region Application Family or OneCore Family __declspec(dllimport) BOOL __stdcall SetProcessShutdownParameters( DWORD dwLevel, DWORD dwFlags ); __declspec(dllimport) DWORD __stdcall GetProcessVersion( DWORD ProcessId ); #pragma endregion #pragma region Desktop Family or OneCore Family or Games Family __declspec(dllimport) void __stdcall GetStartupInfoW( LPSTARTUPINFOW lpStartupInfo ); #pragma endregion #pragma region Desktop Family or OneCore Family __declspec(dllimport) BOOL __stdcall CreateProcessAsUserW( HANDLE hToken, LPCWSTR lpApplicationName, LPWSTR lpCommandLine, LPSECURITY_ATTRIBUTES lpProcessAttributes, LPSECURITY_ATTRIBUTES lpThreadAttributes, BOOL bInheritHandles, DWORD dwCreationFlags, LPVOID lpEnvironment, LPCWSTR lpCurrentDirectory, LPSTARTUPINFOW lpStartupInfo, LPPROCESS_INFORMATION lpProcessInformation ); __forceinline HANDLE GetCurrentProcessToken ( void ) { return (HANDLE)(LONG_PTR) -4; } __forceinline HANDLE GetCurrentThreadToken ( void ) { return (HANDLE)(LONG_PTR) -5; } __forceinline HANDLE GetCurrentThreadEffectiveToken ( void ) { return (HANDLE)(LONG_PTR) -6; } #pragma endregion #pragma region Application Family or OneCore Family __declspec(dllimport) BOOL __stdcall SetThreadToken( PHANDLE Thread, HANDLE Token ); #pragma endregion #pragma region Application Family or OneCore Family or Games Family __declspec(dllimport) BOOL __stdcall OpenProcessToken( HANDLE ProcessHandle, DWORD DesiredAccess, PHANDLE TokenHandle ); #pragma endregion #pragma region Application Family or OneCore Family __declspec(dllimport) BOOL __stdcall OpenThreadToken( HANDLE ThreadHandle, DWORD DesiredAccess, BOOL OpenAsSelf, PHANDLE TokenHandle ); __declspec(dllimport) BOOL __stdcall SetPriorityClass( HANDLE hProcess, DWORD dwPriorityClass ); __declspec(dllimport) DWORD __stdcall GetPriorityClass( HANDLE hProcess ); #pragma endregion #pragma region Desktop Family or OneCore Family or Games Family __declspec(dllimport) BOOL __stdcall SetThreadStackGuarantee( PULONG StackSizeInBytes ); #pragma endregion #pragma region Desktop Family or OneCore Family __declspec(dllimport) BOOL __stdcall ProcessIdToSessionId( DWORD dwProcessId, DWORD* pSessionId ); #pragma endregion #pragma region Application Family or OneCore Family or Games Family typedef struct _PROC_THREAD_ATTRIBUTE_LIST *PPROC_THREAD_ATTRIBUTE_LIST, *LPPROC_THREAD_ATTRIBUTE_LIST; #pragma endregion #pragma region Application Family or OneCore Family or Games Family __declspec(dllimport) DWORD __stdcall GetProcessId( HANDLE Process ); __declspec(dllimport) DWORD __stdcall GetThreadId( HANDLE Thread ); __declspec(dllimport) void __stdcall FlushProcessWriteBuffers( void ); #pragma endregion #pragma region Application Family or OneCore Family or Games Family __declspec(dllimport) DWORD __stdcall GetProcessIdOfThread( HANDLE Thread ); __declspec(dllimport) BOOL __stdcall InitializeProcThreadAttributeList( LPPROC_THREAD_ATTRIBUTE_LIST lpAttributeList, DWORD dwAttributeCount, DWORD dwFlags, PSIZE_T lpSize ); __declspec(dllimport) void __stdcall DeleteProcThreadAttributeList( LPPROC_THREAD_ATTRIBUTE_LIST lpAttributeList ); __declspec(dllimport) BOOL __stdcall UpdateProcThreadAttribute( LPPROC_THREAD_ATTRIBUTE_LIST lpAttributeList, DWORD dwFlags, DWORD_PTR Attribute, PVOID lpValue, SIZE_T cbSize, PVOID lpPreviousValue, PSIZE_T lpReturnSize ); __declspec(dllimport) BOOL __stdcall SetProcessDynamicEHContinuationTargets( HANDLE Process, USHORT NumberOfTargets, PPROCESS_DYNAMIC_EH_CONTINUATION_TARGET Targets ); #pragma endregion #pragma region Application Family or OneCore Family __declspec(dllimport) BOOL __stdcall SetProcessAffinityUpdateMode( HANDLE hProcess, DWORD dwFlags ); __declspec(dllimport) BOOL __stdcall QueryProcessAffinityUpdateMode( HANDLE hProcess, LPDWORD lpdwFlags ); #pragma endregion #pragma region Application Family or OneCore Family or Games Family __declspec(dllimport) HANDLE __stdcall CreateRemoteThreadEx( HANDLE hProcess, LPSECURITY_ATTRIBUTES lpThreadAttributes, SIZE_T dwStackSize, LPTHREAD_START_ROUTINE lpStartAddress, LPVOID lpParameter, DWORD dwCreationFlags, LPPROC_THREAD_ATTRIBUTE_LIST lpAttributeList, LPDWORD lpThreadId ); #pragma endregion #pragma region Application Family or OneCore Family or Games Family __declspec(dllimport) void __stdcall GetCurrentThreadStackLimits( PULONG_PTR LowLimit, PULONG_PTR HighLimit ); __declspec(dllimport) BOOL __stdcall GetThreadContext( HANDLE hThread, LPCONTEXT lpContext ); #pragma endregion #pragma region Application Family or OneCore Family __declspec(dllimport) BOOL __stdcall GetProcessMitigationPolicy( HANDLE hProcess, PROCESS_MITIGATION_POLICY MitigationPolicy, PVOID lpBuffer, SIZE_T dwLength ); #pragma endregion #pragma region Desktop Family or OneCore Family or Games Family __declspec(dllimport) BOOL __stdcall SetThreadContext( HANDLE hThread, const CONTEXT* lpContext ); #pragma endregion #pragma region Desktop Family or OneCore Family __declspec(dllimport) BOOL __stdcall SetProcessMitigationPolicy( PROCESS_MITIGATION_POLICY MitigationPolicy, PVOID lpBuffer, SIZE_T dwLength ); #pragma endregion #pragma region Application Family or OneCore Family __declspec(dllimport) BOOL __stdcall FlushInstructionCache( HANDLE hProcess, LPCVOID lpBaseAddress, SIZE_T dwSize ); #pragma endregion #pragma region Application Family or OneCore Family or Games Family __declspec(dllimport) BOOL __stdcall GetThreadTimes( HANDLE hThread, LPFILETIME lpCreationTime, LPFILETIME lpExitTime, LPFILETIME lpKernelTime, LPFILETIME lpUserTime ); __declspec(dllimport) HANDLE __stdcall OpenProcess( DWORD dwDesiredAccess, BOOL bInheritHandle, DWORD dwProcessId ); __declspec(dllimport) BOOL __stdcall IsProcessorFeaturePresent( DWORD ProcessorFeature ); #pragma endregion #pragma region Application Family or OneCore Family or Games Family __declspec(dllimport) BOOL __stdcall GetProcessHandleCount( HANDLE hProcess, PDWORD pdwHandleCount ); #pragma endregion #pragma region Application Family or OneCore Family or Games Family __declspec(dllimport) DWORD __stdcall GetCurrentProcessorNumber( void ); #pragma endregion #pragma region Application Family or OneCore Family or Games Family __declspec(dllimport) BOOL __stdcall SetThreadIdealProcessorEx( HANDLE hThread, PPROCESSOR_NUMBER lpIdealProcessor, PPROCESSOR_NUMBER lpPreviousIdealProcessor ); __declspec(dllimport) BOOL __stdcall GetThreadIdealProcessorEx( HANDLE hThread, PPROCESSOR_NUMBER lpIdealProcessor ); __declspec(dllimport) void __stdcall GetCurrentProcessorNumberEx( PPROCESSOR_NUMBER ProcNumber ); #pragma endregion #pragma region Application Family or OneCore Family or Games Family __declspec(dllimport) BOOL __stdcall GetProcessPriorityBoost( HANDLE hProcess, PBOOL pDisablePriorityBoost ); __declspec(dllimport) BOOL __stdcall SetProcessPriorityBoost( HANDLE hProcess, BOOL bDisablePriorityBoost ); #pragma endregion #pragma region Desktop Family or OneCore Family __declspec(dllimport) BOOL __stdcall GetThreadIOPendingFlag( HANDLE hThread, PBOOL lpIOIsPending ); #pragma endregion #pragma region Application Family or OneCore Family __declspec(dllimport) BOOL __stdcall GetSystemTimes( PFILETIME lpIdleTime, PFILETIME lpKernelTime, PFILETIME lpUserTime ); #pragma endregion #pragma region Application Family or OneCore Family typedef enum _THREAD_INFORMATION_CLASS { ThreadMemoryPriority, ThreadAbsoluteCpuPriority, ThreadDynamicCodePolicy, ThreadPowerThrottling, ThreadInformationClassMax } THREAD_INFORMATION_CLASS; typedef struct _MEMORY_PRIORITY_INFORMATION { ULONG MemoryPriority; } MEMORY_PRIORITY_INFORMATION, *PMEMORY_PRIORITY_INFORMATION; __declspec(dllimport) BOOL __stdcall GetThreadInformation( HANDLE hThread, THREAD_INFORMATION_CLASS ThreadInformationClass, LPVOID ThreadInformation, DWORD ThreadInformationSize ); __declspec(dllimport) BOOL __stdcall SetThreadInformation( HANDLE hThread, THREAD_INFORMATION_CLASS ThreadInformationClass, LPVOID ThreadInformation, DWORD ThreadInformationSize ); typedef struct _THREAD_POWER_THROTTLING_STATE { ULONG Version; ULONG ControlMask; ULONG StateMask; } THREAD_POWER_THROTTLING_STATE; #pragma endregion #pragma region Desktop Family or OneCore Family __declspec(dllimport) BOOL __stdcall IsProcessCritical( HANDLE hProcess, PBOOL Critical ); __declspec(dllimport) BOOL __stdcall SetProtectedPolicy( LPCGUID PolicyGuid, ULONG_PTR PolicyValue, PULONG_PTR OldPolicyValue ); __declspec(dllimport) BOOL __stdcall QueryProtectedPolicy( LPCGUID PolicyGuid, PULONG_PTR PolicyValue ); #pragma endregion #pragma region Desktop Family or OneCore Family __declspec(dllimport) DWORD __stdcall SetThreadIdealProcessor( HANDLE hThread, DWORD dwIdealProcessor ); #pragma endregion #pragma region Application Family or OneCore Family typedef enum _PROCESS_INFORMATION_CLASS { ProcessMemoryPriority, ProcessMemoryExhaustionInfo, ProcessAppMemoryInfo, ProcessInPrivateInfo, ProcessPowerThrottling, ProcessReservedValue1, ProcessTelemetryCoverageInfo, ProcessProtectionLevelInfo, ProcessLeapSecondInfo, ProcessInformationClassMax } PROCESS_INFORMATION_CLASS; typedef struct _APP_MEMORY_INFORMATION { ULONG64 AvailableCommit; ULONG64 PrivateCommitUsage; ULONG64 PeakPrivateCommitUsage; ULONG64 TotalCommitUsage; } APP_MEMORY_INFORMATION, *PAPP_MEMORY_INFORMATION; typedef enum _PROCESS_MEMORY_EXHAUSTION_TYPE { PMETypeFailFastOnCommitFailure, PMETypeMax } PROCESS_MEMORY_EXHAUSTION_TYPE, *PPROCESS_MEMORY_EXHAUSTION_TYPE; typedef struct _PROCESS_MEMORY_EXHAUSTION_INFO { USHORT Version; USHORT Reserved; PROCESS_MEMORY_EXHAUSTION_TYPE Type; ULONG_PTR Value; } PROCESS_MEMORY_EXHAUSTION_INFO, *PPROCESS_MEMORY_EXHAUSTION_INFO; typedef struct _PROCESS_POWER_THROTTLING_STATE { ULONG Version; ULONG ControlMask; ULONG StateMask; } PROCESS_POWER_THROTTLING_STATE, *PPROCESS_POWER_THROTTLING_STATE; typedef struct PROCESS_PROTECTION_LEVEL_INFORMATION { DWORD ProtectionLevel; } PROCESS_PROTECTION_LEVEL_INFORMATION; typedef struct _PROCESS_LEAP_SECOND_INFO { ULONG Flags; ULONG Reserved; } PROCESS_LEAP_SECOND_INFO, *PPROCESS_LEAP_SECOND_INFO; __declspec(dllimport) BOOL __stdcall SetProcessInformation( HANDLE hProcess, PROCESS_INFORMATION_CLASS ProcessInformationClass, LPVOID ProcessInformation, DWORD ProcessInformationSize ); __declspec(dllimport) BOOL __stdcall GetProcessInformation( HANDLE hProcess, PROCESS_INFORMATION_CLASS ProcessInformationClass, LPVOID ProcessInformation, DWORD ProcessInformationSize ); BOOL __stdcall GetSystemCpuSetInformation( PSYSTEM_CPU_SET_INFORMATION Information, ULONG BufferLength, PULONG ReturnedLength, HANDLE Process, ULONG Flags ); BOOL __stdcall GetProcessDefaultCpuSets( HANDLE Process, PULONG CpuSetIds, ULONG CpuSetIdCount, PULONG RequiredIdCount ); BOOL __stdcall SetProcessDefaultCpuSets( HANDLE Process, const ULONG* CpuSetIds, ULONG CpuSetIdCount ); BOOL __stdcall GetThreadSelectedCpuSets( HANDLE Thread, PULONG CpuSetIds, ULONG CpuSetIdCount, PULONG RequiredIdCount ); BOOL __stdcall SetThreadSelectedCpuSets( HANDLE Thread, const ULONG* CpuSetIds, ULONG CpuSetIdCount ); #pragma endregion #pragma region Desktop Family or OneCore Family __declspec(dllimport) BOOL __stdcall CreateProcessAsUserA( HANDLE hToken, LPCSTR lpApplicationName, LPSTR lpCommandLine, LPSECURITY_ATTRIBUTES lpProcessAttributes, LPSECURITY_ATTRIBUTES lpThreadAttributes, BOOL bInheritHandles, DWORD dwCreationFlags, LPVOID lpEnvironment, LPCSTR lpCurrentDirectory, LPSTARTUPINFOA lpStartupInfo, LPPROCESS_INFORMATION lpProcessInformation ); __declspec(dllimport) BOOL __stdcall GetProcessShutdownParameters( LPDWORD lpdwLevel, LPDWORD lpdwFlags ); #pragma endregion __declspec(dllimport) HRESULT __stdcall SetThreadDescription( HANDLE hThread, PCWSTR lpThreadDescription ); __declspec(dllimport) HRESULT __stdcall GetThreadDescription( HANDLE hThread, PWSTR* ppszThreadDescription ); } #pragma once #pragma warning(disable:4514) #pragma warning(disable:4103) #pragma warning(push) #pragma warning(disable:4001) #pragma warning(disable:4201) #pragma warning(disable:4214) extern "C" { #pragma region Application Family or OneCore Family or Games Family typedef struct _SYSTEM_INFO { union { DWORD dwOemId; struct { WORD wProcessorArchitecture; WORD wReserved; } ; } ; DWORD dwPageSize; LPVOID lpMinimumApplicationAddress; LPVOID lpMaximumApplicationAddress; DWORD_PTR dwActiveProcessorMask; DWORD dwNumberOfProcessors; DWORD dwProcessorType; DWORD dwAllocationGranularity; WORD wProcessorLevel; WORD wProcessorRevision; } SYSTEM_INFO, *LPSYSTEM_INFO; typedef struct _MEMORYSTATUSEX { DWORD dwLength; DWORD dwMemoryLoad; DWORDLONG ullTotalPhys; DWORDLONG ullAvailPhys; DWORDLONG ullTotalPageFile; DWORDLONG ullAvailPageFile; DWORDLONG ullTotalVirtual; DWORDLONG ullAvailVirtual; DWORDLONG ullAvailExtendedVirtual; } MEMORYSTATUSEX, *LPMEMORYSTATUSEX; __declspec(dllimport) BOOL __stdcall GlobalMemoryStatusEx( LPMEMORYSTATUSEX lpBuffer ); __declspec(dllimport) void __stdcall GetSystemInfo( LPSYSTEM_INFO lpSystemInfo ); __declspec(dllimport) void __stdcall GetSystemTime( LPSYSTEMTIME lpSystemTime ); __declspec(dllimport) void __stdcall GetSystemTimeAsFileTime( LPFILETIME lpSystemTimeAsFileTime ); __declspec(dllimport) void __stdcall GetLocalTime( LPSYSTEMTIME lpSystemTime ); __declspec(dllimport) BOOL __stdcall IsUserCetAvailableInEnvironment( DWORD UserCetEnvironment ); #pragma endregion #pragma region Application Family or OneCore Family __declspec(dllimport) BOOL __stdcall GetSystemLeapSecondInformation( PBOOL Enabled, PDWORD Flags ); #pragma endregion #pragma region Desktop Family or OneCore Family or Games Family __declspec(deprecated) __declspec(dllimport) DWORD __stdcall GetVersion( void ); __declspec(dllimport) BOOL __stdcall SetLocalTime( const SYSTEMTIME* lpSystemTime ); #pragma endregion #pragma region Application Family or OneCore Family or Games Family __declspec(dllimport) DWORD __stdcall GetTickCount( void ); __declspec(dllimport) ULONGLONG __stdcall GetTickCount64( void ); #pragma endregion #pragma region Desktop Family or OneCore Family or Games Family __declspec(dllimport) BOOL __stdcall GetSystemTimeAdjustment( PDWORD lpTimeAdjustment, PDWORD lpTimeIncrement, PBOOL lpTimeAdjustmentDisabled ); #pragma endregion #pragma region Desktop Family or OneCore Family __declspec(dllimport) BOOL __stdcall GetSystemTimeAdjustmentPrecise( PDWORD64 lpTimeAdjustment, PDWORD64 lpTimeIncrement, PBOOL lpTimeAdjustmentDisabled ); #pragma endregion #pragma region Application Family or OneCore Family or Games Family __declspec(dllimport) UINT __stdcall GetSystemDirectoryA( LPSTR lpBuffer, UINT uSize ); __declspec(dllimport) UINT __stdcall GetSystemDirectoryW( LPWSTR lpBuffer, UINT uSize ); #pragma endregion #pragma region Desktop Family or OneCore Family or Games Family __declspec(dllimport) UINT __stdcall GetWindowsDirectoryA( LPSTR lpBuffer, UINT uSize ); __declspec(dllimport) UINT __stdcall GetWindowsDirectoryW( LPWSTR lpBuffer, UINT uSize ); #pragma endregion #pragma region Application Family or OneCore Family or Games Family __declspec(dllimport) UINT __stdcall GetSystemWindowsDirectoryA( LPSTR lpBuffer, UINT uSize ); __declspec(dllimport) UINT __stdcall GetSystemWindowsDirectoryW( LPWSTR lpBuffer, UINT uSize ); #pragma endregion #pragma region Desktop Family or OneCore Family or Games Family typedef enum _COMPUTER_NAME_FORMAT { ComputerNameNetBIOS, ComputerNameDnsHostname, ComputerNameDnsDomain, ComputerNameDnsFullyQualified, ComputerNamePhysicalNetBIOS, ComputerNamePhysicalDnsHostname, ComputerNamePhysicalDnsDomain, ComputerNamePhysicalDnsFullyQualified, ComputerNameMax } COMPUTER_NAME_FORMAT ; __declspec(dllimport) BOOL __stdcall GetComputerNameExA( COMPUTER_NAME_FORMAT NameType, LPSTR lpBuffer, LPDWORD nSize ); __declspec(dllimport) BOOL __stdcall GetComputerNameExW( COMPUTER_NAME_FORMAT NameType, LPWSTR lpBuffer, LPDWORD nSize ); #pragma endregion #pragma region Desktop Family or OneCore Family __declspec(dllimport) BOOL __stdcall SetComputerNameExW( COMPUTER_NAME_FORMAT NameType, LPCWSTR lpBuffer ); __declspec(dllimport) BOOL __stdcall SetSystemTime( const SYSTEMTIME* lpSystemTime ); #pragma endregion #pragma region Application Family or OneCore Family or Games Family __declspec(deprecated) __declspec(dllimport) BOOL __stdcall GetVersionExA( LPOSVERSIONINFOA lpVersionInformation ); __declspec(deprecated) __declspec(dllimport) BOOL __stdcall GetVersionExW( LPOSVERSIONINFOW lpVersionInformation ); __declspec(dllimport) BOOL __stdcall GetLogicalProcessorInformation( PSYSTEM_LOGICAL_PROCESSOR_INFORMATION Buffer, PDWORD ReturnedLength ); #pragma endregion #pragma region Application Family or OneCore Family __declspec(dllimport) BOOL __stdcall GetLogicalProcessorInformationEx( LOGICAL_PROCESSOR_RELATIONSHIP RelationshipType, PSYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX Buffer, PDWORD ReturnedLength ); #pragma endregion #pragma region Application Family or OneCore Family or Games Family __declspec(dllimport) void __stdcall GetNativeSystemInfo( LPSYSTEM_INFO lpSystemInfo ); __declspec(dllimport) void __stdcall GetSystemTimePreciseAsFileTime( LPFILETIME lpSystemTimeAsFileTime ); #pragma endregion #pragma region Application Family or OneCore Family __declspec(dllimport) BOOL __stdcall GetProductInfo( DWORD dwOSMajorVersion, DWORD dwOSMinorVersion, DWORD dwSpMajorVersion, DWORD dwSpMinorVersion, PDWORD pdwReturnedProductType ); #pragma endregion #pragma region Desktop Family or OneCore Family __declspec(dllimport) ULONGLONG __stdcall VerSetConditionMask( ULONGLONG ConditionMask, ULONG TypeMask, UCHAR Condition ); __declspec(dllimport) BOOL __stdcall GetOsSafeBootMode( PDWORD Flags ); #pragma endregion #pragma region OneCore Family or App Family __declspec(dllimport) UINT __stdcall EnumSystemFirmwareTables( DWORD FirmwareTableProviderSignature, PVOID pFirmwareTableEnumBuffer, DWORD BufferSize ); __declspec(dllimport) UINT __stdcall GetSystemFirmwareTable( DWORD FirmwareTableProviderSignature, DWORD FirmwareTableID, PVOID pFirmwareTableBuffer, DWORD BufferSize ); #pragma endregion #pragma region Desktop Family or OneCore Family __declspec(dllimport) BOOL __stdcall DnsHostnameToComputerNameExW( LPCWSTR Hostname, LPWSTR ComputerName, LPDWORD nSize ); __declspec(dllimport) BOOL __stdcall GetPhysicallyInstalledSystemMemory( PULONGLONG TotalMemoryInKilobytes ); __declspec(dllimport) BOOL __stdcall SetComputerNameEx2W( COMPUTER_NAME_FORMAT NameType, DWORD Flags, LPCWSTR lpBuffer ); __declspec(dllimport) BOOL __stdcall SetSystemTimeAdjustment( DWORD dwTimeAdjustment, BOOL bTimeAdjustmentDisabled ); __declspec(dllimport) BOOL __stdcall SetSystemTimeAdjustmentPrecise( DWORD64 dwTimeAdjustment, BOOL bTimeAdjustmentDisabled ); __declspec(dllimport) BOOL __stdcall InstallELAMCertificateInfo( HANDLE ELAMFile ); #pragma endregion __declspec(dllimport) BOOL __stdcall GetProcessorSystemCycleTime( USHORT Group, PSYSTEM_PROCESSOR_CYCLE_TIME_INFORMATION Buffer, PDWORD ReturnedLength ); #pragma region Desktop Family or OneCore Family __declspec(dllimport) BOOL __stdcall GetOsManufacturingMode( PBOOL pbEnabled ); #pragma endregion #pragma region App Family or OneCore Family __declspec(dllimport) HRESULT __stdcall GetIntegratedDisplaySize( double* sizeInInches ); #pragma endregion #pragma region Desktop Family or OneCore Family __declspec(dllimport) BOOL __stdcall SetComputerNameA( LPCSTR lpComputerName ); __declspec(dllimport) BOOL __stdcall SetComputerNameW( LPCWSTR lpComputerName ); __declspec(dllimport) BOOL __stdcall SetComputerNameExA( COMPUTER_NAME_FORMAT NameType, LPCSTR lpBuffer ); #pragma endregion } #pragma warning(pop) #pragma once extern "C" { #pragma warning(push) #pragma warning(disable:4668) #pragma region Application Family or OneCore Family or Games Family #pragma endregion #pragma region Desktop Family or OneCore Family or Games Family __declspec(dllimport) LPVOID __stdcall VirtualAlloc( LPVOID lpAddress, SIZE_T dwSize, DWORD flAllocationType, DWORD flProtect ); __declspec(dllimport) BOOL __stdcall VirtualProtect( LPVOID lpAddress, SIZE_T dwSize, DWORD flNewProtect, PDWORD lpflOldProtect ); #pragma endregion #pragma region Application Family or OneCore Family or Games Family __declspec(dllimport) BOOL __stdcall VirtualFree( LPVOID lpAddress, SIZE_T dwSize, DWORD dwFreeType ); __declspec(dllimport) SIZE_T __stdcall VirtualQuery( LPCVOID lpAddress, PMEMORY_BASIC_INFORMATION lpBuffer, SIZE_T dwLength ); __declspec(dllimport) LPVOID __stdcall VirtualAllocEx( HANDLE hProcess, LPVOID lpAddress, SIZE_T dwSize, DWORD flAllocationType, DWORD flProtect ); __declspec(dllimport) BOOL __stdcall VirtualProtectEx( HANDLE hProcess, LPVOID lpAddress, SIZE_T dwSize, DWORD flNewProtect, PDWORD lpflOldProtect ); #pragma endregion #pragma region Desktop Family or OneCore Family or Games Family __declspec(dllimport) SIZE_T __stdcall VirtualQueryEx( HANDLE hProcess, LPCVOID lpAddress, PMEMORY_BASIC_INFORMATION lpBuffer, SIZE_T dwLength ); __declspec(dllimport) BOOL __stdcall ReadProcessMemory( HANDLE hProcess, LPCVOID lpBaseAddress, LPVOID lpBuffer, SIZE_T nSize, SIZE_T* lpNumberOfBytesRead ); __declspec(dllimport) BOOL __stdcall WriteProcessMemory( HANDLE hProcess, LPVOID lpBaseAddress, LPCVOID lpBuffer, SIZE_T nSize, SIZE_T* lpNumberOfBytesWritten ); __declspec(dllimport) HANDLE __stdcall CreateFileMappingW( HANDLE hFile, LPSECURITY_ATTRIBUTES lpFileMappingAttributes, DWORD flProtect, DWORD dwMaximumSizeHigh, DWORD dwMaximumSizeLow, LPCWSTR lpName ); __declspec(dllimport) HANDLE __stdcall OpenFileMappingW( DWORD dwDesiredAccess, BOOL bInheritHandle, LPCWSTR lpName ); __declspec(dllimport) LPVOID __stdcall MapViewOfFile( HANDLE hFileMappingObject, DWORD dwDesiredAccess, DWORD dwFileOffsetHigh, DWORD dwFileOffsetLow, SIZE_T dwNumberOfBytesToMap ); __declspec(dllimport) LPVOID __stdcall MapViewOfFileEx( HANDLE hFileMappingObject, DWORD dwDesiredAccess, DWORD dwFileOffsetHigh, DWORD dwFileOffsetLow, SIZE_T dwNumberOfBytesToMap, LPVOID lpBaseAddress ); #pragma endregion #pragma region Application Family or OneCore Family or Games Family __declspec(dllimport) BOOL __stdcall VirtualFreeEx( HANDLE hProcess, LPVOID lpAddress, SIZE_T dwSize, DWORD dwFreeType ); #pragma endregion #pragma region Application Family or OneCore Family __declspec(dllimport) BOOL __stdcall FlushViewOfFile( LPCVOID lpBaseAddress, SIZE_T dwNumberOfBytesToFlush ); #pragma endregion #pragma region Application Family or OneCore Family or Games Family __declspec(dllimport) BOOL __stdcall UnmapViewOfFile( LPCVOID lpBaseAddress ); #pragma endregion #pragma region Application Family or OneCore Family __declspec(dllimport) SIZE_T __stdcall GetLargePageMinimum( void ); __declspec(dllimport) BOOL __stdcall GetProcessWorkingSetSizeEx( HANDLE hProcess, PSIZE_T lpMinimumWorkingSetSize, PSIZE_T lpMaximumWorkingSetSize, PDWORD Flags ); __declspec(dllimport) BOOL __stdcall SetProcessWorkingSetSizeEx( HANDLE hProcess, SIZE_T dwMinimumWorkingSetSize, SIZE_T dwMaximumWorkingSetSize, DWORD Flags ); #pragma endregion #pragma region Desktop Family or OneCore Family __declspec(dllimport) BOOL __stdcall VirtualLock( LPVOID lpAddress, SIZE_T dwSize ); __declspec(dllimport) BOOL __stdcall VirtualUnlock( LPVOID lpAddress, SIZE_T dwSize ); #pragma endregion #pragma region Application Family or OneCore Family __declspec(dllimport) UINT __stdcall GetWriteWatch( DWORD dwFlags, PVOID lpBaseAddress, SIZE_T dwRegionSize, PVOID* lpAddresses, ULONG_PTR* lpdwCount, LPDWORD lpdwGranularity ); __declspec(dllimport) UINT __stdcall ResetWriteWatch( LPVOID lpBaseAddress, SIZE_T dwRegionSize ); #pragma endregion #pragma region Desktop Family or OneCore Family typedef enum _MEMORY_RESOURCE_NOTIFICATION_TYPE { LowMemoryResourceNotification, HighMemoryResourceNotification } MEMORY_RESOURCE_NOTIFICATION_TYPE; __declspec(dllimport) HANDLE __stdcall CreateMemoryResourceNotification( MEMORY_RESOURCE_NOTIFICATION_TYPE NotificationType ); __declspec(dllimport) BOOL __stdcall QueryMemoryResourceNotification( HANDLE ResourceNotificationHandle, PBOOL ResourceState ); #pragma endregion #pragma region Desktop Family or OneCore Family __declspec(dllimport) BOOL __stdcall GetSystemFileCacheSize( PSIZE_T lpMinimumFileCacheSize, PSIZE_T lpMaximumFileCacheSize, PDWORD lpFlags ); __declspec(dllimport) BOOL __stdcall SetSystemFileCacheSize( SIZE_T MinimumFileCacheSize, SIZE_T MaximumFileCacheSize, DWORD Flags ); #pragma endregion #pragma region Desktop Family or OneCore Family __declspec(dllimport) HANDLE __stdcall CreateFileMappingNumaW( HANDLE hFile, LPSECURITY_ATTRIBUTES lpFileMappingAttributes, DWORD flProtect, DWORD dwMaximumSizeHigh, DWORD dwMaximumSizeLow, LPCWSTR lpName, DWORD nndPreferred ); typedef struct _WIN32_MEMORY_RANGE_ENTRY { PVOID VirtualAddress; SIZE_T NumberOfBytes; } WIN32_MEMORY_RANGE_ENTRY, *PWIN32_MEMORY_RANGE_ENTRY; __declspec(dllimport) BOOL __stdcall PrefetchVirtualMemory( HANDLE hProcess, ULONG_PTR NumberOfEntries, PWIN32_MEMORY_RANGE_ENTRY VirtualAddresses, ULONG Flags ); #pragma endregion #pragma region Application Family or OneCore Family __declspec(dllimport) HANDLE __stdcall CreateFileMappingFromApp( HANDLE hFile, PSECURITY_ATTRIBUTES SecurityAttributes, ULONG PageProtection, ULONG64 MaximumSize, PCWSTR Name ); __declspec(dllimport) PVOID __stdcall MapViewOfFileFromApp( HANDLE hFileMappingObject, ULONG DesiredAccess, ULONG64 FileOffset, SIZE_T NumberOfBytesToMap ); __declspec(dllimport) BOOL __stdcall UnmapViewOfFileEx( PVOID BaseAddress, ULONG UnmapFlags ); #pragma endregion #pragma region Desktop Family or OneCore Family __declspec(dllimport) BOOL __stdcall AllocateUserPhysicalPages( HANDLE hProcess, PULONG_PTR NumberOfPages, PULONG_PTR PageArray ); __declspec(dllimport) BOOL __stdcall FreeUserPhysicalPages( HANDLE hProcess, PULONG_PTR NumberOfPages, PULONG_PTR PageArray ); __declspec(dllimport) BOOL __stdcall MapUserPhysicalPages( PVOID VirtualAddress, ULONG_PTR NumberOfPages, PULONG_PTR PageArray ); __declspec(dllimport) BOOL __stdcall AllocateUserPhysicalPagesNuma( HANDLE hProcess, PULONG_PTR NumberOfPages, PULONG_PTR PageArray, DWORD nndPreferred ); __declspec(dllimport) LPVOID __stdcall VirtualAllocExNuma( HANDLE hProcess, LPVOID lpAddress, SIZE_T dwSize, DWORD flAllocationType, DWORD flProtect, DWORD nndPreferred ); __declspec(dllimport) BOOL __stdcall GetMemoryErrorHandlingCapabilities( PULONG Capabilities ); typedef void __stdcall BAD_MEMORY_CALLBACK_ROUTINE( void ); typedef BAD_MEMORY_CALLBACK_ROUTINE *PBAD_MEMORY_CALLBACK_ROUTINE; __declspec(dllimport) PVOID __stdcall RegisterBadMemoryNotification( PBAD_MEMORY_CALLBACK_ROUTINE Callback ); __declspec(dllimport) BOOL __stdcall UnregisterBadMemoryNotification( PVOID RegistrationHandle ); #pragma endregion #pragma region Application Family or OneCore Family typedef enum OFFER_PRIORITY { VmOfferPriorityVeryLow = 1, VmOfferPriorityLow, VmOfferPriorityBelowNormal, VmOfferPriorityNormal } OFFER_PRIORITY; DWORD __stdcall OfferVirtualMemory( PVOID VirtualAddress, SIZE_T Size, OFFER_PRIORITY Priority ); DWORD __stdcall ReclaimVirtualMemory( void const* VirtualAddress, SIZE_T Size ); DWORD __stdcall DiscardVirtualMemory( PVOID VirtualAddress, SIZE_T Size ); __declspec(dllimport) BOOL __stdcall SetProcessValidCallTargets( HANDLE hProcess, PVOID VirtualAddress, SIZE_T RegionSize, ULONG NumberOfOffsets, PCFG_CALL_TARGET_INFO OffsetInformation ); __declspec(dllimport) BOOL __stdcall SetProcessValidCallTargetsForMappedView( HANDLE Process, PVOID VirtualAddress, SIZE_T RegionSize, ULONG NumberOfOffsets, PCFG_CALL_TARGET_INFO OffsetInformation, HANDLE Section, ULONG64 ExpectedFileOffset ); __declspec(dllimport) PVOID __stdcall VirtualAllocFromApp( PVOID BaseAddress, SIZE_T Size, ULONG AllocationType, ULONG Protection ); __declspec(dllimport) BOOL __stdcall VirtualProtectFromApp( PVOID Address, SIZE_T Size, ULONG NewProtection, PULONG OldProtection ); __declspec(dllimport) HANDLE __stdcall OpenFileMappingFromApp( ULONG DesiredAccess, BOOL InheritHandle, PCWSTR Name ); #pragma endregion #pragma region Application Family #pragma endregion #pragma region Desktop Family or OneCore Family typedef enum WIN32_MEMORY_INFORMATION_CLASS { MemoryRegionInfo } WIN32_MEMORY_INFORMATION_CLASS; #pragma warning(push) #pragma warning(disable:4201) #pragma warning(disable:4214) typedef struct WIN32_MEMORY_REGION_INFORMATION { PVOID AllocationBase; ULONG AllocationProtect; union { ULONG Flags; struct { ULONG Private : 1; ULONG MappedDataFile : 1; ULONG MappedImage : 1; ULONG MappedPageFile : 1; ULONG MappedPhysical : 1; ULONG DirectMapped : 1; ULONG Reserved : 26; } ; } ; SIZE_T RegionSize; SIZE_T CommitSize; } WIN32_MEMORY_REGION_INFORMATION; #pragma warning(pop) __declspec(dllimport) BOOL __stdcall QueryVirtualMemoryInformation( HANDLE Process, const void* VirtualAddress, WIN32_MEMORY_INFORMATION_CLASS MemoryInformationClass, PVOID MemoryInformation, SIZE_T MemoryInformationSize, PSIZE_T ReturnSize ); __declspec(dllimport) PVOID __stdcall MapViewOfFileNuma2( HANDLE FileMappingHandle, HANDLE ProcessHandle, ULONG64 Offset, PVOID BaseAddress, SIZE_T ViewSize, ULONG AllocationType, ULONG PageProtection, ULONG PreferredNode ); __forceinline PVOID MapViewOfFile2( HANDLE FileMappingHandle, HANDLE ProcessHandle, ULONG64 Offset, PVOID BaseAddress, SIZE_T ViewSize, ULONG AllocationType, ULONG PageProtection ) { return MapViewOfFileNuma2(FileMappingHandle, ProcessHandle, Offset, BaseAddress, ViewSize, AllocationType, PageProtection, ((DWORD) -1)); } #pragma endregion #pragma region Application Family or OneCore Family __declspec(dllimport) BOOL __stdcall UnmapViewOfFile2( HANDLE Process, PVOID BaseAddress, ULONG UnmapFlags ); __declspec(dllimport) BOOL __stdcall VirtualUnlockEx( HANDLE Process, LPVOID Address, SIZE_T Size ); #pragma endregion #pragma region Desktop Family or OneCore Family __declspec(dllimport) PVOID __stdcall VirtualAlloc2( HANDLE Process, PVOID BaseAddress, SIZE_T Size, ULONG AllocationType, ULONG PageProtection, MEM_EXTENDED_PARAMETER* ExtendedParameters, ULONG ParameterCount ); __declspec(dllimport) PVOID __stdcall MapViewOfFile3( HANDLE FileMapping, HANDLE Process, PVOID BaseAddress, ULONG64 Offset, SIZE_T ViewSize, ULONG AllocationType, ULONG PageProtection, MEM_EXTENDED_PARAMETER* ExtendedParameters, ULONG ParameterCount ); #pragma endregion #pragma region Application Family or OneCore Family __declspec(dllimport) PVOID __stdcall VirtualAlloc2FromApp( HANDLE Process, PVOID BaseAddress, SIZE_T Size, ULONG AllocationType, ULONG PageProtection, MEM_EXTENDED_PARAMETER* ExtendedParameters, ULONG ParameterCount ); __declspec(dllimport) PVOID __stdcall MapViewOfFile3FromApp( HANDLE FileMapping, HANDLE Process, PVOID BaseAddress, ULONG64 Offset, SIZE_T ViewSize, ULONG AllocationType, ULONG PageProtection, MEM_EXTENDED_PARAMETER* ExtendedParameters, ULONG ParameterCount ); #pragma endregion #pragma region Desktop Family or OneCore Family __declspec(dllimport) HANDLE __stdcall CreateFileMapping2( HANDLE File, SECURITY_ATTRIBUTES* SecurityAttributes, ULONG DesiredAccess, ULONG PageProtection, ULONG AllocationAttributes, ULONG64 MaximumSize, PCWSTR Name, MEM_EXTENDED_PARAMETER* ExtendedParameters, ULONG ParameterCount ); #pragma endregion #pragma warning(pop) } #pragma once extern "C" { #pragma region Desktop Family or OneCore Or App Family __declspec(dllimport) BOOL __stdcall IsEnclaveTypeSupported( DWORD flEnclaveType ); __declspec(dllimport) LPVOID __stdcall CreateEnclave( HANDLE hProcess, LPVOID lpAddress, SIZE_T dwSize, SIZE_T dwInitialCommitment, DWORD flEnclaveType, LPCVOID lpEnclaveInformation, DWORD dwInfoLength, LPDWORD lpEnclaveError ); __declspec(dllimport) BOOL __stdcall LoadEnclaveData( HANDLE hProcess, LPVOID lpAddress, LPCVOID lpBuffer, SIZE_T nSize, DWORD flProtect, LPCVOID lpPageInformation, DWORD dwInfoLength, PSIZE_T lpNumberOfBytesWritten, LPDWORD lpEnclaveError ); __declspec(dllimport) BOOL __stdcall InitializeEnclave( HANDLE hProcess, LPVOID lpAddress, LPCVOID lpEnclaveInformation, DWORD dwInfoLength, LPDWORD lpEnclaveError ); #pragma endregion #pragma region Desktop Family or OneCore Family __declspec(dllimport) BOOL __stdcall LoadEnclaveImageA( LPVOID lpEnclaveAddress, LPCSTR lpImageName ); __declspec(dllimport) BOOL __stdcall LoadEnclaveImageW( LPVOID lpEnclaveAddress, LPCWSTR lpImageName ); __declspec(dllimport) BOOL __stdcall CallEnclave( LPENCLAVE_ROUTINE lpRoutine, LPVOID lpParameter, BOOL fWaitForThread, LPVOID* lpReturnValue ); __declspec(dllimport) BOOL __stdcall TerminateEnclave( LPVOID lpAddress, BOOL fWait ); __declspec(dllimport) BOOL __stdcall DeleteEnclave( LPVOID lpAddress ); #pragma endregion } #pragma once extern "C" { #pragma region Desktop Family or OneCore Family or Games Family __declspec(dllimport) BOOL __stdcall QueueUserWorkItem( LPTHREAD_START_ROUTINE Function, PVOID Context, ULONG Flags ); __declspec(dllimport) BOOL __stdcall UnregisterWaitEx( HANDLE WaitHandle, HANDLE CompletionEvent ); #pragma endregion #pragma region Desktop Family or OneCore Family __declspec(dllimport) HANDLE __stdcall CreateTimerQueue( void ); __declspec(dllimport) BOOL __stdcall CreateTimerQueueTimer( PHANDLE phNewTimer, HANDLE TimerQueue, WAITORTIMERCALLBACK Callback, PVOID Parameter, DWORD DueTime, DWORD Period, ULONG Flags ); __declspec(dllimport) BOOL __stdcall ChangeTimerQueueTimer( HANDLE TimerQueue, HANDLE Timer, ULONG DueTime, ULONG Period ); __declspec(dllimport) BOOL __stdcall DeleteTimerQueueTimer( HANDLE TimerQueue, HANDLE Timer, HANDLE CompletionEvent ); __declspec(dllimport) BOOL __stdcall DeleteTimerQueueEx( HANDLE TimerQueue, HANDLE CompletionEvent ); #pragma endregion } #pragma once extern "C" { #pragma region Application Family or OneCore Family or Games Family typedef void (__stdcall *PTP_WIN32_IO_CALLBACK)( PTP_CALLBACK_INSTANCE Instance, PVOID Context, PVOID Overlapped, ULONG IoResult, ULONG_PTR NumberOfBytesTransferred, PTP_IO Io ); __declspec(dllimport) PTP_POOL __stdcall CreateThreadpool( PVOID reserved ); __declspec(dllimport) void __stdcall SetThreadpoolThreadMaximum( PTP_POOL ptpp, DWORD cthrdMost ); __declspec(dllimport) BOOL __stdcall SetThreadpoolThreadMinimum( PTP_POOL ptpp, DWORD cthrdMic ); __declspec(dllimport) BOOL __stdcall SetThreadpoolStackInformation( PTP_POOL ptpp, PTP_POOL_STACK_INFORMATION ptpsi ); __declspec(dllimport) BOOL __stdcall QueryThreadpoolStackInformation( PTP_POOL ptpp, PTP_POOL_STACK_INFORMATION ptpsi ); __declspec(dllimport) void __stdcall CloseThreadpool( PTP_POOL ptpp ); __declspec(dllimport) PTP_CLEANUP_GROUP __stdcall CreateThreadpoolCleanupGroup( void ); __declspec(dllimport) void __stdcall CloseThreadpoolCleanupGroupMembers( PTP_CLEANUP_GROUP ptpcg, BOOL fCancelPendingCallbacks, PVOID pvCleanupContext ); __declspec(dllimport) void __stdcall CloseThreadpoolCleanupGroup( PTP_CLEANUP_GROUP ptpcg ); __declspec(dllimport) void __stdcall SetEventWhenCallbackReturns( PTP_CALLBACK_INSTANCE pci, HANDLE evt ); __declspec(dllimport) void __stdcall ReleaseSemaphoreWhenCallbackReturns( PTP_CALLBACK_INSTANCE pci, HANDLE sem, DWORD crel ); __declspec(dllimport) void __stdcall ReleaseMutexWhenCallbackReturns( PTP_CALLBACK_INSTANCE pci, HANDLE mut ); __declspec(dllimport) void __stdcall LeaveCriticalSectionWhenCallbackReturns( PTP_CALLBACK_INSTANCE pci, PCRITICAL_SECTION pcs ); __declspec(dllimport) void __stdcall FreeLibraryWhenCallbackReturns( PTP_CALLBACK_INSTANCE pci, HMODULE mod ); __declspec(dllimport) BOOL __stdcall CallbackMayRunLong( PTP_CALLBACK_INSTANCE pci ); __declspec(dllimport) void __stdcall DisassociateCurrentThreadFromCallback( PTP_CALLBACK_INSTANCE pci ); __declspec(dllimport) BOOL __stdcall TrySubmitThreadpoolCallback( PTP_SIMPLE_CALLBACK pfns, PVOID pv, PTP_CALLBACK_ENVIRON pcbe ); __declspec(dllimport) PTP_WORK __stdcall CreateThreadpoolWork( PTP_WORK_CALLBACK pfnwk, PVOID pv, PTP_CALLBACK_ENVIRON pcbe ); __declspec(dllimport) void __stdcall SubmitThreadpoolWork( PTP_WORK pwk ); __declspec(dllimport) void __stdcall WaitForThreadpoolWorkCallbacks( PTP_WORK pwk, BOOL fCancelPendingCallbacks ); __declspec(dllimport) void __stdcall CloseThreadpoolWork( PTP_WORK pwk ); __declspec(dllimport) PTP_TIMER __stdcall CreateThreadpoolTimer( PTP_TIMER_CALLBACK pfnti, PVOID pv, PTP_CALLBACK_ENVIRON pcbe ); __declspec(dllimport) void __stdcall SetThreadpoolTimer( PTP_TIMER pti, PFILETIME pftDueTime, DWORD msPeriod, DWORD msWindowLength ); __declspec(dllimport) BOOL __stdcall IsThreadpoolTimerSet( PTP_TIMER pti ); __declspec(dllimport) void __stdcall WaitForThreadpoolTimerCallbacks( PTP_TIMER pti, BOOL fCancelPendingCallbacks ); __declspec(dllimport) void __stdcall CloseThreadpoolTimer( PTP_TIMER pti ); __declspec(dllimport) PTP_WAIT __stdcall CreateThreadpoolWait( PTP_WAIT_CALLBACK pfnwa, PVOID pv, PTP_CALLBACK_ENVIRON pcbe ); __declspec(dllimport) void __stdcall SetThreadpoolWait( PTP_WAIT pwa, HANDLE h, PFILETIME pftTimeout ); __declspec(dllimport) void __stdcall WaitForThreadpoolWaitCallbacks( PTP_WAIT pwa, BOOL fCancelPendingCallbacks ); __declspec(dllimport) void __stdcall CloseThreadpoolWait( PTP_WAIT pwa ); __declspec(dllimport) PTP_IO __stdcall CreateThreadpoolIo( HANDLE fl, PTP_WIN32_IO_CALLBACK pfnio, PVOID pv, PTP_CALLBACK_ENVIRON pcbe ); __declspec(dllimport) void __stdcall StartThreadpoolIo( PTP_IO pio ); __declspec(dllimport) void __stdcall CancelThreadpoolIo( PTP_IO pio ); __declspec(dllimport) void __stdcall WaitForThreadpoolIoCallbacks( PTP_IO pio, BOOL fCancelPendingCallbacks ); __declspec(dllimport) void __stdcall CloseThreadpoolIo( PTP_IO pio ); #pragma endregion #pragma region Application Family or OneCore Family __declspec(dllimport) BOOL __stdcall SetThreadpoolTimerEx( PTP_TIMER pti, PFILETIME pftDueTime, DWORD msPeriod, DWORD msWindowLength ); __declspec(dllimport) BOOL __stdcall SetThreadpoolWaitEx( PTP_WAIT pwa, HANDLE h, PFILETIME pftTimeout, PVOID Reserved ); #pragma endregion #pragma region Desktop Family or OneCore Family or Games Family #pragma endregion } #pragma once extern "C" { #pragma region Desktop Family or OneCore Family __declspec(dllimport) BOOL __stdcall IsProcessInJob( HANDLE ProcessHandle, HANDLE JobHandle, PBOOL Result ); #pragma endregion } #pragma once extern "C" { #pragma region Desktop Family or OneCore Family typedef struct JOBOBJECT_IO_RATE_CONTROL_INFORMATION { LONG64 MaxIops; LONG64 MaxBandwidth; LONG64 ReservationIops; PCWSTR VolumeName; ULONG BaseIoSize; ULONG ControlFlags; } JOBOBJECT_IO_RATE_CONTROL_INFORMATION; __declspec(dllimport) HANDLE __stdcall CreateJobObjectW( LPSECURITY_ATTRIBUTES lpJobAttributes, LPCWSTR lpName ); __declspec(dllimport) void __stdcall FreeMemoryJobObject( void* Buffer ); __declspec(dllimport) HANDLE __stdcall OpenJobObjectW( DWORD dwDesiredAccess, BOOL bInheritHandle, LPCWSTR lpName ); __declspec(dllimport) BOOL __stdcall AssignProcessToJobObject( HANDLE hJob, HANDLE hProcess ); __declspec(dllimport) BOOL __stdcall TerminateJobObject( HANDLE hJob, UINT uExitCode ); __declspec(dllimport) BOOL __stdcall SetInformationJobObject( HANDLE hJob, JOBOBJECTINFOCLASS JobObjectInformationClass, LPVOID lpJobObjectInformation, DWORD cbJobObjectInformationLength ); __declspec(dllimport) DWORD __stdcall SetIoRateControlInformationJobObject( HANDLE hJob, JOBOBJECT_IO_RATE_CONTROL_INFORMATION* IoRateControlInfo ); __declspec(dllimport) BOOL __stdcall QueryInformationJobObject( HANDLE hJob, JOBOBJECTINFOCLASS JobObjectInformationClass, LPVOID lpJobObjectInformation, DWORD cbJobObjectInformationLength, LPDWORD lpReturnLength ); __declspec(dllimport) DWORD __stdcall QueryIoRateControlInformationJobObject( HANDLE hJob, PCWSTR VolumeName, JOBOBJECT_IO_RATE_CONTROL_INFORMATION** InfoBlocks, ULONG* InfoBlockCount ); #pragma endregion } #pragma once extern "C" { #pragma region Desktop Family or OneCore Family __declspec(dllimport) BOOL __stdcall Wow64DisableWow64FsRedirection( PVOID* OldValue ); __declspec(dllimport) BOOL __stdcall Wow64RevertWow64FsRedirection( PVOID OlValue ); #pragma endregion #pragma region Application Family or OneCore Family __declspec(dllimport) BOOL __stdcall IsWow64Process( HANDLE hProcess, PBOOL Wow64Process ); #pragma endregion #pragma region Desktop Family or OneCore Family __declspec(dllimport) UINT __stdcall GetSystemWow64DirectoryA( LPSTR lpBuffer, UINT uSize ); __declspec(dllimport) UINT __stdcall GetSystemWow64DirectoryW( LPWSTR lpBuffer, UINT uSize ); __declspec(dllimport) USHORT __stdcall Wow64SetThreadDefaultGuestMachine( USHORT Machine ); #pragma endregion #pragma region Application Family or OneCore Family __declspec(dllimport) BOOL __stdcall IsWow64Process2( HANDLE hProcess, USHORT* pProcessMachine, USHORT* pNativeMachine ); #pragma endregion #pragma region Desktop Family or OneCore Family __declspec(dllimport) UINT __stdcall GetSystemWow64Directory2A( LPSTR lpBuffer, UINT uSize, WORD ImageFileMachineType ); __declspec(dllimport) UINT __stdcall GetSystemWow64Directory2W( LPWSTR lpBuffer, UINT uSize, WORD ImageFileMachineType ); __declspec(dllimport) HRESULT __stdcall IsWow64GuestMachineSupported( USHORT WowGuestMachine, BOOL* MachineIsSupported ); __declspec(dllimport) BOOL __stdcall Wow64GetThreadContext( HANDLE hThread, PWOW64_CONTEXT lpContext ); __declspec(dllimport) BOOL __stdcall Wow64SetThreadContext( HANDLE hThread, const WOW64_CONTEXT* lpContext ); __declspec(dllimport) DWORD __stdcall Wow64SuspendThread( HANDLE hThread ); #pragma endregion } #pragma once extern "C" { #pragma region Desktop Family or OneCore Family typedef struct tagENUMUILANG { ULONG NumOfEnumUILang; ULONG SizeOfEnumUIBuffer; LANGID *pEnumUIBuffer; } ENUMUILANG, *PENUMUILANG; typedef BOOL (__stdcall* ENUMRESLANGPROCA)( HMODULE hModule, LPCSTR lpType, LPCSTR lpName, WORD wLanguage, LONG_PTR lParam); typedef BOOL (__stdcall* ENUMRESLANGPROCW)( HMODULE hModule, LPCWSTR lpType, LPCWSTR lpName, WORD wLanguage, LONG_PTR lParam); typedef BOOL (__stdcall* ENUMRESNAMEPROCA)( HMODULE hModule, LPCSTR lpType, LPSTR lpName, LONG_PTR lParam); typedef BOOL (__stdcall* ENUMRESNAMEPROCW)( HMODULE hModule, LPCWSTR lpType, LPWSTR lpName, LONG_PTR lParam); typedef BOOL (__stdcall* ENUMRESTYPEPROCA)( HMODULE hModule, LPSTR lpType, LONG_PTR lParam ); typedef BOOL (__stdcall* ENUMRESTYPEPROCW)( HMODULE hModule, LPWSTR lpType, LONG_PTR lParam ); #pragma endregion #pragma region Application Family or OneCore Family or Games Family __declspec(dllimport) BOOL __stdcall DisableThreadLibraryCalls( HMODULE hLibModule ); #pragma endregion #pragma region Desktop Family or OneCore Family or Games Family __declspec(dllimport) HRSRC __stdcall FindResourceExW( HMODULE hModule, LPCWSTR lpType, LPCWSTR lpName, WORD wLanguage ); #pragma endregion #pragma region Application Family or OneCore Family or Games Family __declspec(dllimport) int __stdcall FindStringOrdinal( DWORD dwFindStringOrdinalFlags, LPCWSTR lpStringSource, int cchSource, LPCWSTR lpStringValue, int cchValue, BOOL bIgnoreCase ); __declspec(dllimport) BOOL __stdcall FreeLibrary( HMODULE hLibModule ); __declspec(dllimport) __declspec(noreturn) void __stdcall FreeLibraryAndExitThread( HMODULE hLibModule, DWORD dwExitCode ); #pragma endregion #pragma region Application Family or OneCore Family __declspec(dllimport) BOOL __stdcall FreeResource( HGLOBAL hResData ); #pragma endregion #pragma region Application Family or OneCore Family or Games Family __declspec(dllimport) DWORD __stdcall GetModuleFileNameA( HMODULE hModule, LPSTR lpFilename, DWORD nSize ); __declspec(dllimport) DWORD __stdcall GetModuleFileNameW( HMODULE hModule, LPWSTR lpFilename, DWORD nSize ); #pragma endregion #pragma region Desktop Family or OneCore Family __declspec(dllimport) HMODULE __stdcall GetModuleHandleA( LPCSTR lpModuleName ); __declspec(dllimport) HMODULE __stdcall GetModuleHandleW( LPCWSTR lpModuleName ); typedef BOOL (__stdcall* PGET_MODULE_HANDLE_EXA)( DWORD dwFlags, LPCSTR lpModuleName, HMODULE* phModule ); typedef BOOL (__stdcall* PGET_MODULE_HANDLE_EXW)( DWORD dwFlags, LPCWSTR lpModuleName, HMODULE* phModule ); __declspec(dllimport) BOOL __stdcall GetModuleHandleExA( DWORD dwFlags, LPCSTR lpModuleName, HMODULE* phModule ); __declspec(dllimport) BOOL __stdcall GetModuleHandleExW( DWORD dwFlags, LPCWSTR lpModuleName, HMODULE* phModule ); #pragma endregion #pragma region Application Family or OneCore Family or Games Family __declspec(dllimport) FARPROC __stdcall GetProcAddress( HMODULE hModule, LPCSTR lpProcName ); typedef struct _REDIRECTION_FUNCTION_DESCRIPTOR { PCSTR DllName; PCSTR FunctionName; PVOID RedirectionTarget; } REDIRECTION_FUNCTION_DESCRIPTOR, *PREDIRECTION_FUNCTION_DESCRIPTOR; typedef const REDIRECTION_FUNCTION_DESCRIPTOR *PCREDIRECTION_FUNCTION_DESCRIPTOR; typedef struct _REDIRECTION_DESCRIPTOR { ULONG Version; ULONG FunctionCount; PCREDIRECTION_FUNCTION_DESCRIPTOR Redirections; } REDIRECTION_DESCRIPTOR, *PREDIRECTION_DESCRIPTOR; typedef const REDIRECTION_DESCRIPTOR *PCREDIRECTION_DESCRIPTOR; #pragma endregion #pragma region Desktop Family or OneCore Family or Games Family __declspec(dllimport) HMODULE __stdcall LoadLibraryExA( LPCSTR lpLibFileName, HANDLE hFile, DWORD dwFlags ); __declspec(dllimport) HMODULE __stdcall LoadLibraryExW( LPCWSTR lpLibFileName, HANDLE hFile, DWORD dwFlags ); __declspec(dllimport) HGLOBAL __stdcall LoadResource( HMODULE hModule, HRSRC hResInfo ); #pragma endregion #pragma region Application Family or OneCore Family or Games Family __declspec(dllimport) int __stdcall LoadStringA( HINSTANCE hInstance, UINT uID, LPSTR lpBuffer, int cchBufferMax ); __declspec(dllimport) int __stdcall LoadStringW( HINSTANCE hInstance, UINT uID, LPWSTR lpBuffer, int cchBufferMax ); #pragma endregion #pragma region Desktop Family or OneCore Family or Games Family __declspec(dllimport) LPVOID __stdcall LockResource( HGLOBAL hResData ); __declspec(dllimport) DWORD __stdcall SizeofResource( HMODULE hModule, HRSRC hResInfo ); #pragma endregion #pragma region App Family or OneCore Family typedef PVOID DLL_DIRECTORY_COOKIE, *PDLL_DIRECTORY_COOKIE; __declspec(dllimport) DLL_DIRECTORY_COOKIE __stdcall AddDllDirectory( PCWSTR NewDirectory ); __declspec(dllimport) BOOL __stdcall RemoveDllDirectory( DLL_DIRECTORY_COOKIE Cookie ); __declspec(dllimport) BOOL __stdcall SetDefaultDllDirectories( DWORD DirectoryFlags ); #pragma endregion #pragma region Desktop Family or OneCore Family __declspec(dllimport) BOOL __stdcall EnumResourceLanguagesExA( HMODULE hModule, LPCSTR lpType, LPCSTR lpName, ENUMRESLANGPROCA lpEnumFunc, LONG_PTR lParam, DWORD dwFlags, LANGID LangId ); __declspec(dllimport) BOOL __stdcall EnumResourceLanguagesExW( HMODULE hModule, LPCWSTR lpType, LPCWSTR lpName, ENUMRESLANGPROCW lpEnumFunc, LONG_PTR lParam, DWORD dwFlags, LANGID LangId ); __declspec(dllimport) BOOL __stdcall EnumResourceNamesExA( HMODULE hModule, LPCSTR lpType, ENUMRESNAMEPROCA lpEnumFunc, LONG_PTR lParam, DWORD dwFlags, LANGID LangId ); __declspec(dllimport) BOOL __stdcall EnumResourceNamesExW( HMODULE hModule, LPCWSTR lpType, ENUMRESNAMEPROCW lpEnumFunc, LONG_PTR lParam, DWORD dwFlags, LANGID LangId ); __declspec(dllimport) BOOL __stdcall EnumResourceTypesExA( HMODULE hModule, ENUMRESTYPEPROCA lpEnumFunc, LONG_PTR lParam, DWORD dwFlags, LANGID LangId ); __declspec(dllimport) BOOL __stdcall EnumResourceTypesExW( HMODULE hModule, ENUMRESTYPEPROCW lpEnumFunc, LONG_PTR lParam, DWORD dwFlags, LANGID LangId ); #pragma endregion #pragma region Desktop Family or OneCore Family or Games Family __declspec(dllimport) HRSRC __stdcall FindResourceW( HMODULE hModule, LPCWSTR lpName, LPCWSTR lpType ); __declspec(dllimport) HMODULE __stdcall LoadLibraryA( LPCSTR lpLibFileName ); __declspec(dllimport) HMODULE __stdcall LoadLibraryW( LPCWSTR lpLibFileName ); #pragma endregion #pragma region Desktop Family or OneCore Family __declspec(dllimport) BOOL __stdcall EnumResourceNamesW( HMODULE hModule, LPCWSTR lpType, ENUMRESNAMEPROCW lpEnumFunc, LONG_PTR lParam ); #pragma endregion } #pragma once extern "C" { #pragma region Desktop Family or OneCore Family __declspec(dllimport) BOOL __stdcall AccessCheck( PSECURITY_DESCRIPTOR pSecurityDescriptor, HANDLE ClientToken, DWORD DesiredAccess, PGENERIC_MAPPING GenericMapping, PPRIVILEGE_SET PrivilegeSet, LPDWORD PrivilegeSetLength, LPDWORD GrantedAccess, LPBOOL AccessStatus ); __declspec(dllimport) BOOL __stdcall AccessCheckAndAuditAlarmW( LPCWSTR SubsystemName, LPVOID HandleId, LPWSTR ObjectTypeName, LPWSTR ObjectName, PSECURITY_DESCRIPTOR SecurityDescriptor, DWORD DesiredAccess, PGENERIC_MAPPING GenericMapping, BOOL ObjectCreation, LPDWORD GrantedAccess, LPBOOL AccessStatus, LPBOOL pfGenerateOnClose ); __declspec(dllimport) BOOL __stdcall AccessCheckByType( PSECURITY_DESCRIPTOR pSecurityDescriptor, PSID PrincipalSelfSid, HANDLE ClientToken, DWORD DesiredAccess, POBJECT_TYPE_LIST ObjectTypeList, DWORD ObjectTypeListLength, PGENERIC_MAPPING GenericMapping, PPRIVILEGE_SET PrivilegeSet, LPDWORD PrivilegeSetLength, LPDWORD GrantedAccess, LPBOOL AccessStatus ); __declspec(dllimport) BOOL __stdcall AccessCheckByTypeResultList( PSECURITY_DESCRIPTOR pSecurityDescriptor, PSID PrincipalSelfSid, HANDLE ClientToken, DWORD DesiredAccess, POBJECT_TYPE_LIST ObjectTypeList, DWORD ObjectTypeListLength, PGENERIC_MAPPING GenericMapping, PPRIVILEGE_SET PrivilegeSet, LPDWORD PrivilegeSetLength, LPDWORD GrantedAccessList, LPDWORD AccessStatusList ); __declspec(dllimport) BOOL __stdcall AccessCheckByTypeAndAuditAlarmW( LPCWSTR SubsystemName, LPVOID HandleId, LPCWSTR ObjectTypeName, LPCWSTR ObjectName, PSECURITY_DESCRIPTOR SecurityDescriptor, PSID PrincipalSelfSid, DWORD DesiredAccess, AUDIT_EVENT_TYPE AuditType, DWORD Flags, POBJECT_TYPE_LIST ObjectTypeList, DWORD ObjectTypeListLength, PGENERIC_MAPPING GenericMapping, BOOL ObjectCreation, LPDWORD GrantedAccess, LPBOOL AccessStatus, LPBOOL pfGenerateOnClose ); __declspec(dllimport) BOOL __stdcall AccessCheckByTypeResultListAndAuditAlarmW( LPCWSTR SubsystemName, LPVOID HandleId, LPCWSTR ObjectTypeName, LPCWSTR ObjectName, PSECURITY_DESCRIPTOR SecurityDescriptor, PSID PrincipalSelfSid, DWORD DesiredAccess, AUDIT_EVENT_TYPE AuditType, DWORD Flags, POBJECT_TYPE_LIST ObjectTypeList, DWORD ObjectTypeListLength, PGENERIC_MAPPING GenericMapping, BOOL ObjectCreation, LPDWORD GrantedAccessList, LPDWORD AccessStatusList, LPBOOL pfGenerateOnClose ); __declspec(dllimport) BOOL __stdcall AccessCheckByTypeResultListAndAuditAlarmByHandleW( LPCWSTR SubsystemName, LPVOID HandleId, HANDLE ClientToken, LPCWSTR ObjectTypeName, LPCWSTR ObjectName, PSECURITY_DESCRIPTOR SecurityDescriptor, PSID PrincipalSelfSid, DWORD DesiredAccess, AUDIT_EVENT_TYPE AuditType, DWORD Flags, POBJECT_TYPE_LIST ObjectTypeList, DWORD ObjectTypeListLength, PGENERIC_MAPPING GenericMapping, BOOL ObjectCreation, LPDWORD GrantedAccessList, LPDWORD AccessStatusList, LPBOOL pfGenerateOnClose ); #pragma endregion #pragma region Application Family or OneCore Family __declspec(dllimport) BOOL __stdcall AddAccessAllowedAce( PACL pAcl, DWORD dwAceRevision, DWORD AccessMask, PSID pSid ); __declspec(dllimport) BOOL __stdcall AddAccessAllowedAceEx( PACL pAcl, DWORD dwAceRevision, DWORD AceFlags, DWORD AccessMask, PSID pSid ); #pragma endregion #pragma region Desktop Family or OneCore Family __declspec(dllimport) BOOL __stdcall AddAccessAllowedObjectAce( PACL pAcl, DWORD dwAceRevision, DWORD AceFlags, DWORD AccessMask, GUID* ObjectTypeGuid, GUID* InheritedObjectTypeGuid, PSID pSid ); __declspec(dllimport) BOOL __stdcall AddAccessDeniedAce( PACL pAcl, DWORD dwAceRevision, DWORD AccessMask, PSID pSid ); __declspec(dllimport) BOOL __stdcall AddAccessDeniedAceEx( PACL pAcl, DWORD dwAceRevision, DWORD AceFlags, DWORD AccessMask, PSID pSid ); __declspec(dllimport) BOOL __stdcall AddAccessDeniedObjectAce( PACL pAcl, DWORD dwAceRevision, DWORD AceFlags, DWORD AccessMask, GUID* ObjectTypeGuid, GUID* InheritedObjectTypeGuid, PSID pSid ); #pragma endregion #pragma region Application Family or OneCore Family __declspec(dllimport) BOOL __stdcall AddAce( PACL pAcl, DWORD dwAceRevision, DWORD dwStartingAceIndex, LPVOID pAceList, DWORD nAceListLength ); #pragma endregion #pragma region Desktop Family or OneCore Family __declspec(dllimport) BOOL __stdcall AddAuditAccessAce( PACL pAcl, DWORD dwAceRevision, DWORD dwAccessMask, PSID pSid, BOOL bAuditSuccess, BOOL bAuditFailure ); __declspec(dllimport) BOOL __stdcall AddAuditAccessAceEx( PACL pAcl, DWORD dwAceRevision, DWORD AceFlags, DWORD dwAccessMask, PSID pSid, BOOL bAuditSuccess, BOOL bAuditFailure ); __declspec(dllimport) BOOL __stdcall AddAuditAccessObjectAce( PACL pAcl, DWORD dwAceRevision, DWORD AceFlags, DWORD AccessMask, GUID* ObjectTypeGuid, GUID* InheritedObjectTypeGuid, PSID pSid, BOOL bAuditSuccess, BOOL bAuditFailure ); #pragma endregion #pragma region Application Family or OneCore Family __declspec(dllimport) BOOL __stdcall AddMandatoryAce( PACL pAcl, DWORD dwAceRevision, DWORD AceFlags, DWORD MandatoryPolicy, PSID pLabelSid ); #pragma endregion #pragma region Desktop Family or OneCore Family __declspec(dllimport) BOOL __stdcall AddResourceAttributeAce( PACL pAcl, DWORD dwAceRevision, DWORD AceFlags, DWORD AccessMask, PSID pSid, PCLAIM_SECURITY_ATTRIBUTES_INFORMATION pAttributeInfo, PDWORD pReturnLength ); __declspec(dllimport) BOOL __stdcall AddScopedPolicyIDAce( PACL pAcl, DWORD dwAceRevision, DWORD AceFlags, DWORD AccessMask, PSID pSid ); #pragma endregion #pragma region Application Family or OneCore Family __declspec(dllimport) BOOL __stdcall AdjustTokenGroups( HANDLE TokenHandle, BOOL ResetToDefault, PTOKEN_GROUPS NewState, DWORD BufferLength, PTOKEN_GROUPS PreviousState, PDWORD ReturnLength ); #pragma endregion #pragma region Application Family or OneCore Family or Games Family __declspec(dllimport) BOOL __stdcall AdjustTokenPrivileges( HANDLE TokenHandle, BOOL DisableAllPrivileges, PTOKEN_PRIVILEGES NewState, DWORD BufferLength, PTOKEN_PRIVILEGES PreviousState, PDWORD ReturnLength ); #pragma endregion #pragma region Application Family or OneCore Family __declspec(dllimport) BOOL __stdcall AllocateAndInitializeSid( PSID_IDENTIFIER_AUTHORITY pIdentifierAuthority, BYTE nSubAuthorityCount, DWORD nSubAuthority0, DWORD nSubAuthority1, DWORD nSubAuthority2, DWORD nSubAuthority3, DWORD nSubAuthority4, DWORD nSubAuthority5, DWORD nSubAuthority6, DWORD nSubAuthority7, PSID* pSid ); __declspec(dllimport) BOOL __stdcall AllocateLocallyUniqueId( PLUID Luid ); #pragma endregion #pragma region Desktop Family or OneCore Family __declspec(dllimport) BOOL __stdcall AreAllAccessesGranted( DWORD GrantedAccess, DWORD DesiredAccess ); __declspec(dllimport) BOOL __stdcall AreAnyAccessesGranted( DWORD GrantedAccess, DWORD DesiredAccess ); #pragma endregion #pragma region Application Family or OneCore Family __declspec(dllimport) BOOL __stdcall CheckTokenMembership( HANDLE TokenHandle, PSID SidToCheck, PBOOL IsMember ); #pragma endregion #pragma region Desktop Family or OneCore Family __declspec(dllimport) BOOL __stdcall CheckTokenCapability( HANDLE TokenHandle, PSID CapabilitySidToCheck, PBOOL HasCapability ); __declspec(dllimport) BOOL __stdcall GetAppContainerAce( PACL Acl, DWORD StartingAceIndex, PVOID* AppContainerAce, DWORD* AppContainerAceIndex ); #pragma endregion #pragma region Application Family or OneCore Family __declspec(dllimport) BOOL __stdcall CheckTokenMembershipEx( HANDLE TokenHandle, PSID SidToCheck, DWORD Flags, PBOOL IsMember ); #pragma endregion #pragma region Desktop Family or OneCore Family __declspec(dllimport) BOOL __stdcall ConvertToAutoInheritPrivateObjectSecurity( PSECURITY_DESCRIPTOR ParentDescriptor, PSECURITY_DESCRIPTOR CurrentSecurityDescriptor, PSECURITY_DESCRIPTOR* NewSecurityDescriptor, GUID* ObjectType, BOOLEAN IsDirectoryObject, PGENERIC_MAPPING GenericMapping ); #pragma endregion #pragma region Application Family or OneCore Family __declspec(dllimport) BOOL __stdcall CopySid( DWORD nDestinationSidLength, PSID pDestinationSid, PSID pSourceSid ); #pragma endregion #pragma region Desktop Family or OneCore Family __declspec(dllimport) BOOL __stdcall CreatePrivateObjectSecurity( PSECURITY_DESCRIPTOR ParentDescriptor, PSECURITY_DESCRIPTOR CreatorDescriptor, PSECURITY_DESCRIPTOR* NewDescriptor, BOOL IsDirectoryObject, HANDLE Token, PGENERIC_MAPPING GenericMapping ); __declspec(dllimport) BOOL __stdcall CreatePrivateObjectSecurityEx( PSECURITY_DESCRIPTOR ParentDescriptor, PSECURITY_DESCRIPTOR CreatorDescriptor, PSECURITY_DESCRIPTOR* NewDescriptor, GUID* ObjectType, BOOL IsContainerObject, ULONG AutoInheritFlags, HANDLE Token, PGENERIC_MAPPING GenericMapping ); __declspec(dllimport) BOOL __stdcall CreatePrivateObjectSecurityWithMultipleInheritance( PSECURITY_DESCRIPTOR ParentDescriptor, PSECURITY_DESCRIPTOR CreatorDescriptor, PSECURITY_DESCRIPTOR* NewDescriptor, GUID** ObjectTypes, ULONG GuidCount, BOOL IsContainerObject, ULONG AutoInheritFlags, HANDLE Token, PGENERIC_MAPPING GenericMapping ); __declspec(dllimport) BOOL __stdcall CreateRestrictedToken( HANDLE ExistingTokenHandle, DWORD Flags, DWORD DisableSidCount, PSID_AND_ATTRIBUTES SidsToDisable, DWORD DeletePrivilegeCount, PLUID_AND_ATTRIBUTES PrivilegesToDelete, DWORD RestrictedSidCount, PSID_AND_ATTRIBUTES SidsToRestrict, PHANDLE NewTokenHandle ); #pragma endregion #pragma region Application Family or OneCore Family __declspec(dllimport) BOOL __stdcall CreateWellKnownSid( WELL_KNOWN_SID_TYPE WellKnownSidType, PSID DomainSid, PSID pSid, DWORD* cbSid ); __declspec(dllimport) BOOL __stdcall EqualDomainSid( PSID pSid1, PSID pSid2, BOOL* pfEqual ); __declspec(dllimport) BOOL __stdcall DeleteAce( PACL pAcl, DWORD dwAceIndex ); #pragma endregion #pragma region Desktop Family or OneCore Family __declspec(dllimport) BOOL __stdcall DestroyPrivateObjectSecurity( PSECURITY_DESCRIPTOR* ObjectDescriptor ); #pragma endregion #pragma region Application Family or OneCore Family __declspec(dllimport) BOOL __stdcall DuplicateToken( HANDLE ExistingTokenHandle, SECURITY_IMPERSONATION_LEVEL ImpersonationLevel, PHANDLE DuplicateTokenHandle ); __declspec(dllimport) BOOL __stdcall DuplicateTokenEx( HANDLE hExistingToken, DWORD dwDesiredAccess, LPSECURITY_ATTRIBUTES lpTokenAttributes, SECURITY_IMPERSONATION_LEVEL ImpersonationLevel, TOKEN_TYPE TokenType, PHANDLE phNewToken ); #pragma endregion #pragma region Desktop Family or OneCore Family __declspec(dllimport) BOOL __stdcall EqualPrefixSid( PSID pSid1, PSID pSid2 ); __declspec(dllimport) BOOL __stdcall EqualSid( PSID pSid1, PSID pSid2 ); __declspec(dllimport) BOOL __stdcall FindFirstFreeAce( PACL pAcl, LPVOID* pAce ); #pragma endregion #pragma region Application Family or OneCore Family __declspec(dllimport) PVOID __stdcall FreeSid( PSID pSid ); __declspec(dllimport) BOOL __stdcall GetAce( PACL pAcl, DWORD dwAceIndex, LPVOID* pAce ); __declspec(dllimport) BOOL __stdcall GetAclInformation( PACL pAcl, LPVOID pAclInformation, DWORD nAclInformationLength, ACL_INFORMATION_CLASS dwAclInformationClass ); #pragma endregion #pragma region Desktop Family or OneCore Family __declspec(dllimport) BOOL __stdcall GetFileSecurityW( LPCWSTR lpFileName, SECURITY_INFORMATION RequestedInformation, PSECURITY_DESCRIPTOR pSecurityDescriptor, DWORD nLength, LPDWORD lpnLengthNeeded ); #pragma endregion #pragma region Application Family or OneCore Family __declspec(dllimport) BOOL __stdcall GetKernelObjectSecurity( HANDLE Handle, SECURITY_INFORMATION RequestedInformation, PSECURITY_DESCRIPTOR pSecurityDescriptor, DWORD nLength, LPDWORD lpnLengthNeeded ); __declspec(dllimport) DWORD __stdcall GetLengthSid( PSID pSid ); #pragma endregion #pragma region Desktop Family or OneCore Family __declspec(dllimport) BOOL __stdcall GetPrivateObjectSecurity( PSECURITY_DESCRIPTOR ObjectDescriptor, SECURITY_INFORMATION SecurityInformation, PSECURITY_DESCRIPTOR ResultantDescriptor, DWORD DescriptorLength, PDWORD ReturnLength ); #pragma endregion #pragma region Application Family or OneCore Family __declspec(dllimport) BOOL __stdcall GetSecurityDescriptorControl( PSECURITY_DESCRIPTOR pSecurityDescriptor, PSECURITY_DESCRIPTOR_CONTROL pControl, LPDWORD lpdwRevision ); __declspec(dllimport) BOOL __stdcall GetSecurityDescriptorDacl( PSECURITY_DESCRIPTOR pSecurityDescriptor, LPBOOL lpbDaclPresent, PACL* pDacl, LPBOOL lpbDaclDefaulted ); __declspec(dllimport) BOOL __stdcall GetSecurityDescriptorGroup( PSECURITY_DESCRIPTOR pSecurityDescriptor, PSID* pGroup, LPBOOL lpbGroupDefaulted ); __declspec(dllimport) DWORD __stdcall GetSecurityDescriptorLength( PSECURITY_DESCRIPTOR pSecurityDescriptor ); __declspec(dllimport) BOOL __stdcall GetSecurityDescriptorOwner( PSECURITY_DESCRIPTOR pSecurityDescriptor, PSID* pOwner, LPBOOL lpbOwnerDefaulted ); __declspec(dllimport) DWORD __stdcall GetSecurityDescriptorRMControl( PSECURITY_DESCRIPTOR SecurityDescriptor, PUCHAR RMControl ); __declspec(dllimport) BOOL __stdcall GetSecurityDescriptorSacl( PSECURITY_DESCRIPTOR pSecurityDescriptor, LPBOOL lpbSaclPresent, PACL* pSacl, LPBOOL lpbSaclDefaulted ); __declspec(dllimport) PSID_IDENTIFIER_AUTHORITY __stdcall GetSidIdentifierAuthority( PSID pSid ); __declspec(dllimport) DWORD __stdcall GetSidLengthRequired( UCHAR nSubAuthorityCount ); __declspec(dllimport) PDWORD __stdcall GetSidSubAuthority( PSID pSid, DWORD nSubAuthority ); __declspec(dllimport) PUCHAR __stdcall GetSidSubAuthorityCount( PSID pSid ); __declspec(dllimport) BOOL __stdcall GetTokenInformation( HANDLE TokenHandle, TOKEN_INFORMATION_CLASS TokenInformationClass, LPVOID TokenInformation, DWORD TokenInformationLength, PDWORD ReturnLength ); __declspec(dllimport) BOOL __stdcall GetWindowsAccountDomainSid( PSID pSid, PSID pDomainSid, DWORD* cbDomainSid ); #pragma endregion #pragma region Desktop Family or OneCore Family __declspec(dllimport) BOOL __stdcall ImpersonateAnonymousToken( HANDLE ThreadHandle ); __declspec(dllimport) BOOL __stdcall ImpersonateLoggedOnUser( HANDLE hToken ); __declspec(dllimport) BOOL __stdcall ImpersonateSelf( SECURITY_IMPERSONATION_LEVEL ImpersonationLevel ); #pragma endregion #pragma region Application Family or OneCore Family __declspec(dllimport) BOOL __stdcall InitializeAcl( PACL pAcl, DWORD nAclLength, DWORD dwAclRevision ); __declspec(dllimport) BOOL __stdcall InitializeSecurityDescriptor( PSECURITY_DESCRIPTOR pSecurityDescriptor, DWORD dwRevision ); __declspec(dllimport) BOOL __stdcall InitializeSid( PSID Sid, PSID_IDENTIFIER_AUTHORITY pIdentifierAuthority, BYTE nSubAuthorityCount ); #pragma endregion #pragma region Desktop Family or OneCore Family __declspec(dllimport) BOOL __stdcall IsTokenRestricted( HANDLE TokenHandle ); #pragma endregion #pragma region Application Family or OneCore Family __declspec(dllimport) BOOL __stdcall IsValidAcl( PACL pAcl ); __declspec(dllimport) BOOL __stdcall IsValidSecurityDescriptor( PSECURITY_DESCRIPTOR pSecurityDescriptor ); __declspec(dllimport) BOOL __stdcall IsValidSid( PSID pSid ); __declspec(dllimport) BOOL __stdcall IsWellKnownSid( PSID pSid, WELL_KNOWN_SID_TYPE WellKnownSidType ); __declspec(dllimport) BOOL __stdcall MakeAbsoluteSD( PSECURITY_DESCRIPTOR pSelfRelativeSecurityDescriptor, PSECURITY_DESCRIPTOR pAbsoluteSecurityDescriptor, LPDWORD lpdwAbsoluteSecurityDescriptorSize, PACL pDacl, LPDWORD lpdwDaclSize, PACL pSacl, LPDWORD lpdwSaclSize, PSID pOwner, LPDWORD lpdwOwnerSize, PSID pPrimaryGroup, LPDWORD lpdwPrimaryGroupSize ); __declspec(dllimport) BOOL __stdcall MakeSelfRelativeSD( PSECURITY_DESCRIPTOR pAbsoluteSecurityDescriptor, PSECURITY_DESCRIPTOR pSelfRelativeSecurityDescriptor, LPDWORD lpdwBufferLength ); #pragma endregion #pragma region Desktop Family or OneCore Family __declspec(dllimport) void __stdcall MapGenericMask( PDWORD AccessMask, PGENERIC_MAPPING GenericMapping ); __declspec(dllimport) BOOL __stdcall ObjectCloseAuditAlarmW( LPCWSTR SubsystemName, LPVOID HandleId, BOOL GenerateOnClose ); __declspec(dllimport) BOOL __stdcall ObjectDeleteAuditAlarmW( LPCWSTR SubsystemName, LPVOID HandleId, BOOL GenerateOnClose ); __declspec(dllimport) BOOL __stdcall ObjectOpenAuditAlarmW( LPCWSTR SubsystemName, LPVOID HandleId, LPWSTR ObjectTypeName, LPWSTR ObjectName, PSECURITY_DESCRIPTOR pSecurityDescriptor, HANDLE ClientToken, DWORD DesiredAccess, DWORD GrantedAccess, PPRIVILEGE_SET Privileges, BOOL ObjectCreation, BOOL AccessGranted, LPBOOL GenerateOnClose ); __declspec(dllimport) BOOL __stdcall ObjectPrivilegeAuditAlarmW( LPCWSTR SubsystemName, LPVOID HandleId, HANDLE ClientToken, DWORD DesiredAccess, PPRIVILEGE_SET Privileges, BOOL AccessGranted ); __declspec(dllimport) BOOL __stdcall PrivilegeCheck( HANDLE ClientToken, PPRIVILEGE_SET RequiredPrivileges, LPBOOL pfResult ); __declspec(dllimport) BOOL __stdcall PrivilegedServiceAuditAlarmW( LPCWSTR SubsystemName, LPCWSTR ServiceName, HANDLE ClientToken, PPRIVILEGE_SET Privileges, BOOL AccessGranted ); __declspec(dllimport) void __stdcall QuerySecurityAccessMask( SECURITY_INFORMATION SecurityInformation, LPDWORD DesiredAccess ); __declspec(dllimport) BOOL __stdcall RevertToSelf( void ); __declspec(dllimport) BOOL __stdcall SetAclInformation( PACL pAcl, LPVOID pAclInformation, DWORD nAclInformationLength, ACL_INFORMATION_CLASS dwAclInformationClass ); __declspec(dllimport) BOOL __stdcall SetFileSecurityW( LPCWSTR lpFileName, SECURITY_INFORMATION SecurityInformation, PSECURITY_DESCRIPTOR pSecurityDescriptor ); #pragma endregion #pragma region Application Family or OneCore Family __declspec(dllimport) BOOL __stdcall SetKernelObjectSecurity( HANDLE Handle, SECURITY_INFORMATION SecurityInformation, PSECURITY_DESCRIPTOR SecurityDescriptor ); #pragma endregion #pragma region Desktop Family or OneCore Family __declspec(dllimport) BOOL __stdcall SetPrivateObjectSecurity( SECURITY_INFORMATION SecurityInformation, PSECURITY_DESCRIPTOR ModificationDescriptor, PSECURITY_DESCRIPTOR* ObjectsSecurityDescriptor, PGENERIC_MAPPING GenericMapping, HANDLE Token ); __declspec(dllimport) BOOL __stdcall SetPrivateObjectSecurityEx( SECURITY_INFORMATION SecurityInformation, PSECURITY_DESCRIPTOR ModificationDescriptor, PSECURITY_DESCRIPTOR* ObjectsSecurityDescriptor, ULONG AutoInheritFlags, PGENERIC_MAPPING GenericMapping, HANDLE Token ); __declspec(dllimport) void __stdcall SetSecurityAccessMask( SECURITY_INFORMATION SecurityInformation, LPDWORD DesiredAccess ); #pragma endregion #pragma region Application Family or OneCore Family __declspec(dllimport) BOOL __stdcall SetSecurityDescriptorControl( PSECURITY_DESCRIPTOR pSecurityDescriptor, SECURITY_DESCRIPTOR_CONTROL ControlBitsOfInterest, SECURITY_DESCRIPTOR_CONTROL ControlBitsToSet ); __declspec(dllimport) BOOL __stdcall SetSecurityDescriptorDacl( PSECURITY_DESCRIPTOR pSecurityDescriptor, BOOL bDaclPresent, PACL pDacl, BOOL bDaclDefaulted ); __declspec(dllimport) BOOL __stdcall SetSecurityDescriptorGroup( PSECURITY_DESCRIPTOR pSecurityDescriptor, PSID pGroup, BOOL bGroupDefaulted ); __declspec(dllimport) BOOL __stdcall SetSecurityDescriptorOwner( PSECURITY_DESCRIPTOR pSecurityDescriptor, PSID pOwner, BOOL bOwnerDefaulted ); __declspec(dllimport) DWORD __stdcall SetSecurityDescriptorRMControl( PSECURITY_DESCRIPTOR SecurityDescriptor, PUCHAR RMControl ); __declspec(dllimport) BOOL __stdcall SetSecurityDescriptorSacl( PSECURITY_DESCRIPTOR pSecurityDescriptor, BOOL bSaclPresent, PACL pSacl, BOOL bSaclDefaulted ); __declspec(dllimport) BOOL __stdcall SetTokenInformation( HANDLE TokenHandle, TOKEN_INFORMATION_CLASS TokenInformationClass, LPVOID TokenInformation, DWORD TokenInformationLength ); #pragma endregion #pragma region Desktop Family or OneCore Family __declspec(dllimport) BOOL __stdcall SetCachedSigningLevel( PHANDLE SourceFiles, ULONG SourceFileCount, ULONG Flags, HANDLE TargetFile ); __declspec(dllimport) BOOL __stdcall GetCachedSigningLevel( HANDLE File, PULONG Flags, PULONG SigningLevel, PUCHAR Thumbprint, PULONG ThumbprintSize, PULONG ThumbprintAlgorithm ); #pragma endregion #pragma region Application Family or OneCore Family __declspec(dllimport) LONG __stdcall CveEventWrite( PCWSTR CveId, PCWSTR AdditionalDetails ); #pragma endregion #pragma region Application Family or OneCore Family __declspec(dllimport) BOOL __stdcall DeriveCapabilitySidsFromName( LPCWSTR CapName, PSID** CapabilityGroupSids, DWORD* CapabilityGroupSidCount, PSID** CapabilitySids, DWORD* CapabilitySidCount ); #pragma endregion } #pragma once extern "C" { #pragma region Desktop Family or OneCore Family __declspec(dllimport) HANDLE __stdcall CreatePrivateNamespaceW( LPSECURITY_ATTRIBUTES lpPrivateNamespaceAttributes, LPVOID lpBoundaryDescriptor, LPCWSTR lpAliasPrefix ); __declspec(dllimport) HANDLE __stdcall OpenPrivateNamespaceW( LPVOID lpBoundaryDescriptor, LPCWSTR lpAliasPrefix ); __declspec(dllimport) BOOLEAN __stdcall ClosePrivateNamespace( HANDLE Handle, ULONG Flags ); __declspec(dllimport) HANDLE __stdcall CreateBoundaryDescriptorW( LPCWSTR Name, ULONG Flags ); __declspec(dllimport) BOOL __stdcall AddSIDToBoundaryDescriptor( HANDLE* BoundaryDescriptor, PSID RequiredSid ); __declspec(dllimport) void __stdcall DeleteBoundaryDescriptor( HANDLE BoundaryDescriptor ); #pragma endregion } #pragma once extern "C" { #pragma region Desktop Family or OneCore Family or Games Family __declspec(dllimport) BOOL __stdcall GetNumaHighestNodeNumber( PULONG HighestNodeNumber ); #pragma endregion #pragma region Desktop Family or OneCore Family __declspec(dllimport) BOOL __stdcall GetNumaNodeProcessorMaskEx( USHORT Node, PGROUP_AFFINITY ProcessorMask ); __declspec(dllimport) BOOL __stdcall GetNumaProximityNodeEx( ULONG ProximityId, PUSHORT NodeNumber ); #pragma endregion } #pragma once extern "C" { #pragma region Desktop Family or OneCore Family __declspec(dllimport) BOOL __stdcall GetProcessGroupAffinity( HANDLE hProcess, PUSHORT GroupCount, PUSHORT GroupArray ); #pragma endregion #pragma region Application Family or OneCore Family or Games Family __declspec(dllimport) BOOL __stdcall GetThreadGroupAffinity( HANDLE hThread, PGROUP_AFFINITY GroupAffinity ); __declspec(dllimport) BOOL __stdcall SetThreadGroupAffinity( HANDLE hThread, const GROUP_AFFINITY* GroupAffinity, PGROUP_AFFINITY PreviousGroupAffinity ); #pragma endregion } #pragma once #pragma region Desktop Family or OneCore Family extern "C" { BOOL __stdcall GetAppContainerNamedObjectPath( HANDLE Token, PSID AppContainerSid, ULONG ObjectPathLength, LPWSTR ObjectPath, PULONG ReturnLength ); } #pragma endregion #pragma once extern "C" { #pragma region Desktop Family or OneCore Family __declspec(dllimport) BOOL __stdcall QueryThreadCycleTime( HANDLE ThreadHandle, PULONG64 CycleTime ); __declspec(dllimport) BOOL __stdcall QueryProcessCycleTime( HANDLE ProcessHandle, PULONG64 CycleTime ); __declspec(dllimport) BOOL __stdcall QueryIdleProcessorCycleTime( PULONG BufferLength, PULONG64 ProcessorIdleCycleTime ); __declspec(dllimport) BOOL __stdcall QueryIdleProcessorCycleTimeEx( USHORT Group, PULONG BufferLength, PULONG64 ProcessorIdleCycleTime ); #pragma endregion #pragma region Application Family or OneCore Family __declspec(dllimport) void __stdcall QueryInterruptTimePrecise( PULONGLONG lpInterruptTimePrecise ); __declspec(dllimport) void __stdcall QueryUnbiasedInterruptTimePrecise( PULONGLONG lpUnbiasedInterruptTimePrecise ); __declspec(dllimport) void __stdcall QueryInterruptTime( PULONGLONG lpInterruptTime ); __declspec(dllimport) BOOL __stdcall QueryUnbiasedInterruptTime( PULONGLONG UnbiasedTime ); __declspec(dllimport) HRESULT __stdcall QueryAuxiliaryCounterFrequency( PULONGLONG lpAuxiliaryCounterFrequency ); __declspec(dllimport) HRESULT __stdcall ConvertAuxiliaryCounterToPerformanceCounter( ULONGLONG ullAuxiliaryCounterValue, PULONGLONG lpPerformanceCounterValue, PULONGLONG lpConversionError ); __declspec(dllimport) HRESULT __stdcall ConvertPerformanceCounterToAuxiliaryCounter( ULONGLONG ullPerformanceCounterValue, PULONGLONG lpAuxiliaryCounterValue, PULONGLONG lpConversionError ); #pragma endregion } extern "C" { #pragma region Application Family #pragma endregion #pragma region Desktop Family #pragma endregion #pragma region Application Family or OneCore Family or Games Family typedef void (__stdcall *PFIBER_START_ROUTINE)( LPVOID lpFiberParameter ); typedef PFIBER_START_ROUTINE LPFIBER_START_ROUTINE; typedef LPVOID (__stdcall *PFIBER_CALLOUT_ROUTINE)( LPVOID lpParameter ); #pragma endregion #pragma region Application Family or OneCore Family typedef LPVOID LPLDT_ENTRY; typedef struct _COMMPROP { WORD wPacketLength; WORD wPacketVersion; DWORD dwServiceMask; DWORD dwReserved1; DWORD dwMaxTxQueue; DWORD dwMaxRxQueue; DWORD dwMaxBaud; DWORD dwProvSubType; DWORD dwProvCapabilities; DWORD dwSettableParams; DWORD dwSettableBaud; WORD wSettableData; WORD wSettableStopParity; DWORD dwCurrentTxQueue; DWORD dwCurrentRxQueue; DWORD dwProvSpec1; DWORD dwProvSpec2; WCHAR wcProvChar[1]; } COMMPROP,*LPCOMMPROP; typedef struct _COMSTAT { DWORD fCtsHold : 1; DWORD fDsrHold : 1; DWORD fRlsdHold : 1; DWORD fXoffHold : 1; DWORD fXoffSent : 1; DWORD fEof : 1; DWORD fTxim : 1; DWORD fReserved : 25; DWORD cbInQue; DWORD cbOutQue; } COMSTAT, *LPCOMSTAT; typedef struct _DCB { DWORD DCBlength; DWORD BaudRate; DWORD fBinary: 1; DWORD fParity: 1; DWORD fOutxCtsFlow:1; DWORD fOutxDsrFlow:1; DWORD fDtrControl:2; DWORD fDsrSensitivity:1; DWORD fTXContinueOnXoff: 1; DWORD fOutX: 1; DWORD fInX: 1; DWORD fErrorChar: 1; DWORD fNull: 1; DWORD fRtsControl:2; DWORD fAbortOnError:1; DWORD fDummy2:17; WORD wReserved; WORD XonLim; WORD XoffLim; BYTE ByteSize; BYTE Parity; BYTE StopBits; char XonChar; char XoffChar; char ErrorChar; char EofChar; char EvtChar; WORD wReserved1; } DCB, *LPDCB; typedef struct _COMMTIMEOUTS { DWORD ReadIntervalTimeout; DWORD ReadTotalTimeoutMultiplier; DWORD ReadTotalTimeoutConstant; DWORD WriteTotalTimeoutMultiplier; DWORD WriteTotalTimeoutConstant; } COMMTIMEOUTS,*LPCOMMTIMEOUTS; typedef struct _COMMCONFIG { DWORD dwSize; WORD wVersion; WORD wReserved; DCB dcb; DWORD dwProviderSubType; DWORD dwProviderOffset; DWORD dwProviderSize; WCHAR wcProviderData[1]; } COMMCONFIG,*LPCOMMCONFIG; #pragma endregion #pragma region Application Family or OneCore Family or Games Family #pragma endregion #pragma region Application Family or OneCore Family typedef struct _MEMORYSTATUS { DWORD dwLength; DWORD dwMemoryLoad; SIZE_T dwTotalPhys; SIZE_T dwAvailPhys; SIZE_T dwTotalPageFile; SIZE_T dwAvailPageFile; SIZE_T dwTotalVirtual; SIZE_T dwAvailVirtual; } MEMORYSTATUS, *LPMEMORYSTATUS; #pragma endregion #pragma region Application Family or OneCore Family or Games Family #pragma endregion #pragma region Application Family or OneCore Family typedef struct _JIT_DEBUG_INFO { DWORD dwSize; DWORD dwProcessorArchitecture; DWORD dwThreadID; DWORD dwReserved0; ULONG64 lpExceptionAddress; ULONG64 lpExceptionRecord; ULONG64 lpContextRecord; } JIT_DEBUG_INFO, *LPJIT_DEBUG_INFO; typedef JIT_DEBUG_INFO JIT_DEBUG_INFO32, *LPJIT_DEBUG_INFO32; typedef JIT_DEBUG_INFO JIT_DEBUG_INFO64, *LPJIT_DEBUG_INFO64; #pragma endregion #pragma region Application Family or OneCore Family or Games Family typedef PEXCEPTION_RECORD LPEXCEPTION_RECORD; typedef PEXCEPTION_POINTERS LPEXCEPTION_POINTERS; #pragma endregion #pragma region Application Family or OneCore Family #pragma endregion #pragma region Application Family or OneCore Family or Games Family #pragma endregion #pragma region Application Family or OneCore Family #pragma endregion #pragma region Application Family or OneCore or Games Family #pragma endregion #pragma region Application Family or OneCore Family #pragma endregion #pragma region Application Family or OneCore Family or Games Family typedef struct _OFSTRUCT { BYTE cBytes; BYTE fFixedDisk; WORD nErrCode; WORD Reserved1; WORD Reserved2; CHAR szPathName[128]; } OFSTRUCT, *LPOFSTRUCT, *POFSTRUCT; #pragma endregion #pragma region Desktop Family int __stdcall WinMain ( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd ); int __stdcall wWinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPWSTR lpCmdLine, int nShowCmd ); #pragma endregion #pragma region Application Family or OneCore or Games Family __declspec(dllimport) __declspec(allocator) HGLOBAL __stdcall GlobalAlloc( UINT uFlags, SIZE_T dwBytes ); #pragma endregion #pragma region Application or Games Family __declspec(dllimport) __declspec(allocator) HGLOBAL __stdcall GlobalReAlloc ( HGLOBAL hMem, SIZE_T dwBytes, UINT uFlags ); #pragma endregion #pragma region Application Family or OneCore or Games Family __declspec(dllimport) SIZE_T __stdcall GlobalSize ( HGLOBAL hMem ); __declspec(dllimport) BOOL __stdcall GlobalUnlock( HGLOBAL hMem ); __declspec(dllimport) LPVOID __stdcall GlobalLock ( HGLOBAL hMem ); #pragma endregion #pragma region Desktop Family __declspec(dllimport) UINT __stdcall GlobalFlags ( HGLOBAL hMem ); __declspec(dllimport) HGLOBAL __stdcall GlobalHandle ( LPCVOID pMem ); #pragma endregion #pragma region Application Family or OneCore or Games Family __declspec(dllimport) HGLOBAL __stdcall GlobalFree( HGLOBAL hMem ); #pragma endregion #pragma region Desktop Family __declspec(dllimport) SIZE_T __stdcall GlobalCompact( DWORD dwMinFree ); __declspec(dllimport) void __stdcall GlobalFix( HGLOBAL hMem ); __declspec(dllimport) void __stdcall GlobalUnfix( HGLOBAL hMem ); __declspec(dllimport) LPVOID __stdcall GlobalWire( HGLOBAL hMem ); __declspec(dllimport) BOOL __stdcall GlobalUnWire( HGLOBAL hMem ); __declspec(dllimport) void __stdcall GlobalMemoryStatus( LPMEMORYSTATUS lpBuffer ); #pragma endregion #pragma region Application Family or OneCore Family or Games Family __declspec(dllimport) __declspec(allocator) HLOCAL __stdcall LocalAlloc( UINT uFlags, SIZE_T uBytes ); __declspec(dllimport) __declspec(allocator) HLOCAL __stdcall LocalReAlloc( HLOCAL hMem, SIZE_T uBytes, UINT uFlags ); #pragma endregion #pragma region Desktop Family or OneCore or Games Family __declspec(dllimport) LPVOID __stdcall LocalLock( HLOCAL hMem ); #pragma endregion #pragma region Desktop Family __declspec(dllimport) HLOCAL __stdcall LocalHandle( LPCVOID pMem ); #pragma endregion #pragma region Desktop Family or OneCore or Games Family __declspec(dllimport) BOOL __stdcall LocalUnlock( HLOCAL hMem ); #pragma endregion #pragma region Desktop or Games Family __declspec(dllimport) SIZE_T __stdcall LocalSize( HLOCAL hMem ); #pragma endregion #pragma region Desktop Family __declspec(dllimport) UINT __stdcall LocalFlags( HLOCAL hMem ); #pragma endregion #pragma region Application Family or OneCore Family or Games Family __declspec(dllimport) HLOCAL __stdcall LocalFree( HLOCAL hMem ); #pragma endregion #pragma region Desktop Family __declspec(dllimport) SIZE_T __stdcall LocalShrink( HLOCAL hMem, UINT cbNewSize ); __declspec(dllimport) SIZE_T __stdcall LocalCompact( UINT uMinFree ); __declspec(dllimport) BOOL __stdcall GetBinaryTypeA( LPCSTR lpApplicationName, LPDWORD lpBinaryType ); __declspec(dllimport) BOOL __stdcall GetBinaryTypeW( LPCWSTR lpApplicationName, LPDWORD lpBinaryType ); __declspec(dllimport) DWORD __stdcall GetShortPathNameA( LPCSTR lpszLongPath, LPSTR lpszShortPath, DWORD cchBuffer ); __declspec(dllimport) DWORD __stdcall GetLongPathNameTransactedA( LPCSTR lpszShortPath, LPSTR lpszLongPath, DWORD cchBuffer, HANDLE hTransaction ); __declspec(dllimport) DWORD __stdcall GetLongPathNameTransactedW( LPCWSTR lpszShortPath, LPWSTR lpszLongPath, DWORD cchBuffer, HANDLE hTransaction ); #pragma endregion #pragma region Application Family or OneCore Family or Games Family __declspec(dllimport) BOOL __stdcall GetProcessAffinityMask( HANDLE hProcess, PDWORD_PTR lpProcessAffinityMask, PDWORD_PTR lpSystemAffinityMask ); __declspec(dllimport) BOOL __stdcall SetProcessAffinityMask( HANDLE hProcess, DWORD_PTR dwProcessAffinityMask ); #pragma endregion #pragma region Desktop Family __declspec(dllimport) BOOL __stdcall GetProcessIoCounters( HANDLE hProcess, PIO_COUNTERS lpIoCounters ); #pragma endregion #pragma region Application Family or OneCore Family __declspec(dllimport) BOOL __stdcall GetProcessWorkingSetSize( HANDLE hProcess, PSIZE_T lpMinimumWorkingSetSize, PSIZE_T lpMaximumWorkingSetSize ); #pragma endregion #pragma region Desktop Family __declspec(dllimport) BOOL __stdcall SetProcessWorkingSetSize( HANDLE hProcess, SIZE_T dwMinimumWorkingSetSize, SIZE_T dwMaximumWorkingSetSize ); __declspec(dllimport) void __stdcall FatalExit( int ExitCode ); #pragma endregion #pragma region Application Family or OneCore Family or Games Family __declspec(dllimport) BOOL __stdcall SetEnvironmentStringsA( LPCH NewEnvironment ); #pragma endregion #pragma region Application Family or OneCore Family or Games Family __declspec(dllimport) void __stdcall SwitchToFiber( LPVOID lpFiber ); __declspec(dllimport) void __stdcall DeleteFiber( LPVOID lpFiber ); __declspec(dllimport) BOOL __stdcall ConvertFiberToThread( void ); __declspec(dllimport) LPVOID __stdcall CreateFiberEx( SIZE_T dwStackCommitSize, SIZE_T dwStackReserveSize, DWORD dwFlags, LPFIBER_START_ROUTINE lpStartAddress, LPVOID lpParameter ); __declspec(dllimport) LPVOID __stdcall ConvertThreadToFiberEx( LPVOID lpParameter, DWORD dwFlags ); #pragma endregion #pragma region Desktop Family or OneCore Family or Games Family __declspec(dllimport) LPVOID __stdcall CreateFiber( SIZE_T dwStackSize, LPFIBER_START_ROUTINE lpStartAddress, LPVOID lpParameter ); __declspec(dllimport) LPVOID __stdcall ConvertThreadToFiber( LPVOID lpParameter ); #pragma endregion #pragma region Desktop Family typedef void *PUMS_CONTEXT; typedef void *PUMS_COMPLETION_LIST; typedef enum _RTL_UMS_THREAD_INFO_CLASS UMS_THREAD_INFO_CLASS, *PUMS_THREAD_INFO_CLASS; typedef enum _RTL_UMS_SCHEDULER_REASON UMS_SCHEDULER_REASON; typedef PRTL_UMS_SCHEDULER_ENTRY_POINT PUMS_SCHEDULER_ENTRY_POINT; typedef struct _UMS_SCHEDULER_STARTUP_INFO { ULONG UmsVersion; PUMS_COMPLETION_LIST CompletionList; PUMS_SCHEDULER_ENTRY_POINT SchedulerProc; PVOID SchedulerParam; } UMS_SCHEDULER_STARTUP_INFO, *PUMS_SCHEDULER_STARTUP_INFO; typedef struct _UMS_SYSTEM_THREAD_INFORMATION { ULONG UmsVersion; union { struct { ULONG IsUmsSchedulerThread : 1; ULONG IsUmsWorkerThread : 1; } ; ULONG ThreadUmsFlags; } ; } UMS_SYSTEM_THREAD_INFORMATION, *PUMS_SYSTEM_THREAD_INFORMATION; __declspec(dllimport) BOOL __stdcall CreateUmsCompletionList( PUMS_COMPLETION_LIST* UmsCompletionList ); __declspec(dllimport) BOOL __stdcall DequeueUmsCompletionListItems( PUMS_COMPLETION_LIST UmsCompletionList, DWORD WaitTimeOut, PUMS_CONTEXT* UmsThreadList ); __declspec(dllimport) BOOL __stdcall GetUmsCompletionListEvent( PUMS_COMPLETION_LIST UmsCompletionList, PHANDLE UmsCompletionEvent ); __declspec(dllimport) BOOL __stdcall ExecuteUmsThread( PUMS_CONTEXT UmsThread ); __declspec(dllimport) BOOL __stdcall UmsThreadYield( PVOID SchedulerParam ); __declspec(dllimport) BOOL __stdcall DeleteUmsCompletionList( PUMS_COMPLETION_LIST UmsCompletionList ); __declspec(dllimport) PUMS_CONTEXT __stdcall GetCurrentUmsThread( void ); __declspec(dllimport) PUMS_CONTEXT __stdcall GetNextUmsListItem( PUMS_CONTEXT UmsContext ); __declspec(dllimport) BOOL __stdcall QueryUmsThreadInformation( PUMS_CONTEXT UmsThread, UMS_THREAD_INFO_CLASS UmsThreadInfoClass, PVOID UmsThreadInformation, ULONG UmsThreadInformationLength, PULONG ReturnLength ); __declspec(dllimport) BOOL __stdcall SetUmsThreadInformation( PUMS_CONTEXT UmsThread, UMS_THREAD_INFO_CLASS UmsThreadInfoClass, PVOID UmsThreadInformation, ULONG UmsThreadInformationLength ); __declspec(dllimport) BOOL __stdcall DeleteUmsThreadContext( PUMS_CONTEXT UmsThread ); __declspec(dllimport) BOOL __stdcall CreateUmsThreadContext( PUMS_CONTEXT *lpUmsThread ); __declspec(dllimport) BOOL __stdcall EnterUmsSchedulingMode( PUMS_SCHEDULER_STARTUP_INFO SchedulerStartupInfo ); __declspec(dllimport) BOOL __stdcall GetUmsSystemThreadInformation( HANDLE ThreadHandle, PUMS_SYSTEM_THREAD_INFORMATION SystemThreadInfo ); #pragma endregion #pragma region Application Family or OneCore Family or Games Family __declspec(dllimport) DWORD_PTR __stdcall SetThreadAffinityMask( HANDLE hThread, DWORD_PTR dwThreadAffinityMask ); #pragma endregion #pragma region Desktop Family __declspec(dllimport) BOOL __stdcall SetProcessDEPPolicy( DWORD dwFlags ); __declspec(dllimport) BOOL __stdcall GetProcessDEPPolicy( HANDLE hProcess, LPDWORD lpFlags, PBOOL lpPermanent ); __declspec(dllimport) BOOL __stdcall RequestWakeupLatency( LATENCY_TIME latency ); __declspec(dllimport) BOOL __stdcall IsSystemResumeAutomatic( void ); __declspec(dllimport) BOOL __stdcall GetThreadSelectorEntry( HANDLE hThread, DWORD dwSelector, LPLDT_ENTRY lpSelectorEntry ); __declspec(dllimport) EXECUTION_STATE __stdcall SetThreadExecutionState( EXECUTION_STATE esFlags ); typedef REASON_CONTEXT POWER_REQUEST_CONTEXT, *PPOWER_REQUEST_CONTEXT, *LPPOWER_REQUEST_CONTEXT; __declspec(dllimport) HANDLE __stdcall PowerCreateRequest ( PREASON_CONTEXT Context ); __declspec(dllimport) BOOL __stdcall PowerSetRequest ( HANDLE PowerRequest, POWER_REQUEST_TYPE RequestType ); __declspec(dllimport) BOOL __stdcall PowerClearRequest ( HANDLE PowerRequest, POWER_REQUEST_TYPE RequestType ); #pragma endregion #pragma region Application Family #pragma endregion #pragma region Desktop or Games Family #pragma endregion #pragma region Application Family or OneCore Family or Games Family __declspec(dllimport) BOOL __stdcall SetFileCompletionNotificationModes( HANDLE FileHandle, UCHAR Flags ); #pragma endregion #pragma region Desktop Family __declspec(dllimport) BOOL __stdcall Wow64GetThreadSelectorEntry( HANDLE hThread, DWORD dwSelector, PWOW64_LDT_ENTRY lpSelectorEntry ); __declspec(dllimport) BOOL __stdcall DebugSetProcessKillOnExit( BOOL KillOnExit ); __declspec(dllimport) BOOL __stdcall DebugBreakProcess ( HANDLE Process ); #pragma endregion #pragma region Application Family #pragma endregion #pragma region Desktop Family __declspec(dllimport) BOOL __stdcall PulseEvent( HANDLE hEvent ); __declspec(dllimport) ATOM __stdcall GlobalDeleteAtom( ATOM nAtom ); __declspec(dllimport) BOOL __stdcall InitAtomTable( DWORD nSize ); __declspec(dllimport) ATOM __stdcall DeleteAtom( ATOM nAtom ); __declspec(dllimport) UINT __stdcall SetHandleCount( UINT uNumber ); __declspec(dllimport) BOOL __stdcall RequestDeviceWakeup( HANDLE hDevice ); __declspec(dllimport) BOOL __stdcall CancelDeviceWakeupRequest( HANDLE hDevice ); __declspec(dllimport) BOOL __stdcall GetDevicePowerState( HANDLE hDevice, BOOL *pfOn ); __declspec(dllimport) BOOL __stdcall SetMessageWaitingIndicator( HANDLE hMsgIndicator, ULONG ulMsgCount ); __declspec(dllimport) BOOL __stdcall SetFileShortNameA( HANDLE hFile, LPCSTR lpShortName ); __declspec(dllimport) BOOL __stdcall SetFileShortNameW( HANDLE hFile, LPCWSTR lpShortName ); __declspec(dllimport) DWORD __stdcall LoadModule( LPCSTR lpModuleName, LPVOID lpParameterBlock ); __declspec(dllimport) UINT __stdcall WinExec( LPCSTR lpCmdLine, UINT uCmdShow ); #pragma endregion #pragma region Desktop Family or OneCore or App Family __declspec(dllimport) BOOL __stdcall ClearCommBreak( HANDLE hFile ); __declspec(dllimport) BOOL __stdcall ClearCommError( HANDLE hFile, LPDWORD lpErrors, LPCOMSTAT lpStat ); __declspec(dllimport) BOOL __stdcall SetupComm( HANDLE hFile, DWORD dwInQueue, DWORD dwOutQueue ); __declspec(dllimport) BOOL __stdcall EscapeCommFunction( HANDLE hFile, DWORD dwFunc ); __declspec(dllimport) BOOL __stdcall GetCommConfig( HANDLE hCommDev, LPCOMMCONFIG lpCC, LPDWORD lpdwSize ); __declspec(dllimport) BOOL __stdcall GetCommMask( HANDLE hFile, LPDWORD lpEvtMask ); __declspec(dllimport) BOOL __stdcall GetCommProperties( HANDLE hFile, LPCOMMPROP lpCommProp ); __declspec(dllimport) BOOL __stdcall GetCommModemStatus( HANDLE hFile, LPDWORD lpModemStat ); __declspec(dllimport) BOOL __stdcall GetCommState( HANDLE hFile, LPDCB lpDCB ); __declspec(dllimport) BOOL __stdcall GetCommTimeouts( HANDLE hFile, LPCOMMTIMEOUTS lpCommTimeouts ); __declspec(dllimport) BOOL __stdcall PurgeComm( HANDLE hFile, DWORD dwFlags ); __declspec(dllimport) BOOL __stdcall SetCommBreak( HANDLE hFile ); __declspec(dllimport) BOOL __stdcall SetCommConfig( HANDLE hCommDev, LPCOMMCONFIG lpCC, DWORD dwSize ); __declspec(dllimport) BOOL __stdcall SetCommMask( HANDLE hFile, DWORD dwEvtMask ); __declspec(dllimport) BOOL __stdcall SetCommState( HANDLE hFile, LPDCB lpDCB ); __declspec(dllimport) BOOL __stdcall SetCommTimeouts( HANDLE hFile, LPCOMMTIMEOUTS lpCommTimeouts ); __declspec(dllimport) BOOL __stdcall TransmitCommChar( HANDLE hFile, char cChar ); __declspec(dllimport) BOOL __stdcall WaitCommEvent( HANDLE hFile, LPDWORD lpEvtMask, LPOVERLAPPED lpOverlapped ); __declspec(dllimport) HANDLE __stdcall OpenCommPort( ULONG uPortNumber, DWORD dwDesiredAccess, DWORD dwFlagsAndAttributes ); __declspec(dllimport) ULONG __stdcall GetCommPorts( PULONG lpPortNumbers, ULONG uPortNumbersCount, PULONG puPortNumbersFound ); #pragma endregion #pragma region Desktop Family __declspec(dllimport) DWORD __stdcall SetTapePosition( HANDLE hDevice, DWORD dwPositionMethod, DWORD dwPartition, DWORD dwOffsetLow, DWORD dwOffsetHigh, BOOL bImmediate ); __declspec(dllimport) DWORD __stdcall GetTapePosition( HANDLE hDevice, DWORD dwPositionType, LPDWORD lpdwPartition, LPDWORD lpdwOffsetLow, LPDWORD lpdwOffsetHigh ); __declspec(dllimport) DWORD __stdcall PrepareTape( HANDLE hDevice, DWORD dwOperation, BOOL bImmediate ); __declspec(dllimport) DWORD __stdcall EraseTape( HANDLE hDevice, DWORD dwEraseType, BOOL bImmediate ); __declspec(dllimport) DWORD __stdcall CreateTapePartition( HANDLE hDevice, DWORD dwPartitionMethod, DWORD dwCount, DWORD dwSize ); __declspec(dllimport) DWORD __stdcall WriteTapemark( HANDLE hDevice, DWORD dwTapemarkType, DWORD dwTapemarkCount, BOOL bImmediate ); __declspec(dllimport) DWORD __stdcall GetTapeStatus( HANDLE hDevice ); __declspec(dllimport) DWORD __stdcall GetTapeParameters( HANDLE hDevice, DWORD dwOperation, LPDWORD lpdwSize, LPVOID lpTapeInformation ); __declspec(dllimport) DWORD __stdcall SetTapeParameters( HANDLE hDevice, DWORD dwOperation, LPVOID lpTapeInformation ); #pragma endregion #pragma region Application Family or OneCore Family or Games Family __declspec(dllimport) int __stdcall MulDiv( int nNumber, int nNumerator, int nDenominator ); #pragma endregion #pragma region Desktop Family typedef enum _DEP_SYSTEM_POLICY_TYPE { DEPPolicyAlwaysOff = 0, DEPPolicyAlwaysOn, DEPPolicyOptIn, DEPPolicyOptOut, DEPTotalPolicyCount } DEP_SYSTEM_POLICY_TYPE; __declspec(dllimport) DEP_SYSTEM_POLICY_TYPE __stdcall GetSystemDEPPolicy( void ); __declspec(dllimport) BOOL __stdcall GetSystemRegistryQuota( PDWORD pdwQuotaAllowed, PDWORD pdwQuotaUsed ); __declspec(dllimport) BOOL __stdcall FileTimeToDosDateTime( const FILETIME *lpFileTime, LPWORD lpFatDate, LPWORD lpFatTime ); __declspec(dllimport) BOOL __stdcall DosDateTimeToFileTime( WORD wFatDate, WORD wFatTime, LPFILETIME lpFileTime ); #pragma endregion #pragma region Application Family or OneCore Family or Games Family __declspec(dllimport) DWORD __stdcall FormatMessageA( DWORD dwFlags, LPCVOID lpSource, DWORD dwMessageId, DWORD dwLanguageId, LPSTR lpBuffer, DWORD nSize, va_list *Arguments ); __declspec(dllimport) DWORD __stdcall FormatMessageW( DWORD dwFlags, LPCVOID lpSource, DWORD dwMessageId, DWORD dwLanguageId, LPWSTR lpBuffer, DWORD nSize, va_list *Arguments ); #pragma endregion #pragma region Desktop Family __declspec(dllimport) HANDLE __stdcall CreateMailslotA( LPCSTR lpName, DWORD nMaxMessageSize, DWORD lReadTimeout, LPSECURITY_ATTRIBUTES lpSecurityAttributes ); __declspec(dllimport) HANDLE __stdcall CreateMailslotW( LPCWSTR lpName, DWORD nMaxMessageSize, DWORD lReadTimeout, LPSECURITY_ATTRIBUTES lpSecurityAttributes ); __declspec(dllimport) BOOL __stdcall GetMailslotInfo( HANDLE hMailslot, LPDWORD lpMaxMessageSize, LPDWORD lpNextSize, LPDWORD lpMessageCount, LPDWORD lpReadTimeout ); __declspec(dllimport) BOOL __stdcall SetMailslotInfo( HANDLE hMailslot, DWORD lReadTimeout ); __declspec(dllimport) BOOL __stdcall EncryptFileA( LPCSTR lpFileName ); __declspec(dllimport) BOOL __stdcall EncryptFileW( LPCWSTR lpFileName ); __declspec(dllimport) BOOL __stdcall DecryptFileA( LPCSTR lpFileName, DWORD dwReserved ); __declspec(dllimport) BOOL __stdcall DecryptFileW( LPCWSTR lpFileName, DWORD dwReserved ); __declspec(dllimport) BOOL __stdcall FileEncryptionStatusA( LPCSTR lpFileName, LPDWORD lpStatus ); __declspec(dllimport) BOOL __stdcall FileEncryptionStatusW( LPCWSTR lpFileName, LPDWORD lpStatus ); typedef DWORD (__stdcall *PFE_EXPORT_FUNC)( PBYTE pbData, PVOID pvCallbackContext, ULONG ulLength ); typedef DWORD (__stdcall *PFE_IMPORT_FUNC)( PBYTE pbData, PVOID pvCallbackContext, PULONG ulLength ); __declspec(dllimport) DWORD __stdcall OpenEncryptedFileRawA( LPCSTR lpFileName, ULONG ulFlags, PVOID *pvContext ); __declspec(dllimport) DWORD __stdcall OpenEncryptedFileRawW( LPCWSTR lpFileName, ULONG ulFlags, PVOID *pvContext ); __declspec(dllimport) DWORD __stdcall ReadEncryptedFileRaw( PFE_EXPORT_FUNC pfExportCallback, PVOID pvCallbackContext, PVOID pvContext ); __declspec(dllimport) DWORD __stdcall WriteEncryptedFileRaw( PFE_IMPORT_FUNC pfImportCallback, PVOID pvCallbackContext, PVOID pvContext ); __declspec(dllimport) void __stdcall CloseEncryptedFileRaw( PVOID pvContext ); #pragma endregion #pragma region Desktop Family or OneCore Family or Games Family __declspec(dllimport) int __stdcall lstrcmpA( LPCSTR lpString1, LPCSTR lpString2 ); __declspec(dllimport) int __stdcall lstrcmpW( LPCWSTR lpString1, LPCWSTR lpString2 ); __declspec(dllimport) int __stdcall lstrcmpiA( LPCSTR lpString1, LPCSTR lpString2 ); __declspec(dllimport) int __stdcall lstrcmpiW( LPCWSTR lpString1, LPCWSTR lpString2 ); #pragma endregion #pragma region Desktop Family or OneCore Family #pragma warning(push) #pragma warning(disable:4995) __declspec(dllimport) LPSTR __stdcall lstrcpynA( LPSTR lpString1, LPCSTR lpString2, int iMaxLength ); __declspec(dllimport) LPWSTR __stdcall lstrcpynW( LPWSTR lpString1, LPCWSTR lpString2, int iMaxLength ); __declspec(dllimport) LPSTR __stdcall lstrcpyA( LPSTR lpString1, LPCSTR lpString2 ); __declspec(dllimport) LPWSTR __stdcall lstrcpyW( LPWSTR lpString1, LPCWSTR lpString2 ); __declspec(dllimport) LPSTR __stdcall lstrcatA( LPSTR lpString1, LPCSTR lpString2 ); __declspec(dllimport) LPWSTR __stdcall lstrcatW( LPWSTR lpString1, LPCWSTR lpString2 ); #pragma warning(pop) #pragma endregion #pragma region Desktop Family or OneCore Family or Games Family __declspec(dllimport) int __stdcall lstrlenA( LPCSTR lpString ); __declspec(dllimport) int __stdcall lstrlenW( LPCWSTR lpString ); #pragma endregion #pragma region Desktop Family __declspec(dllimport) HFILE __stdcall OpenFile( LPCSTR lpFileName, LPOFSTRUCT lpReOpenBuff, UINT uStyle ); __declspec(dllimport) HFILE __stdcall _lopen( LPCSTR lpPathName, int iReadWrite ); __declspec(dllimport) HFILE __stdcall _lcreat( LPCSTR lpPathName, int iAttribute ); __declspec(dllimport) UINT __stdcall _lread( HFILE hFile, LPVOID lpBuffer, UINT uBytes ); __declspec(dllimport) UINT __stdcall _lwrite( HFILE hFile, LPCCH lpBuffer, UINT uBytes ); __declspec(dllimport) long __stdcall _hread( HFILE hFile, LPVOID lpBuffer, long lBytes ); __declspec(dllimport) long __stdcall _hwrite( HFILE hFile, LPCCH lpBuffer, long lBytes ); __declspec(dllimport) HFILE __stdcall _lclose( HFILE hFile ); __declspec(dllimport) LONG __stdcall _llseek( HFILE hFile, LONG lOffset, int iOrigin ); __declspec(dllimport) BOOL __stdcall IsTextUnicode( const void* lpv, int iSize, LPINT lpiResult ); #pragma endregion #pragma region Application Family or OneCore Family or Games Family __declspec(dllimport) DWORD __stdcall SignalObjectAndWait( HANDLE hObjectToSignal, HANDLE hObjectToWaitOn, DWORD dwMilliseconds, BOOL bAlertable ); #pragma endregion #pragma region Desktop Family __declspec(dllimport) BOOL __stdcall BackupRead( HANDLE hFile, LPBYTE lpBuffer, DWORD nNumberOfBytesToRead, LPDWORD lpNumberOfBytesRead, BOOL bAbort, BOOL bProcessSecurity, LPVOID *lpContext ); __declspec(dllimport) BOOL __stdcall BackupSeek( HANDLE hFile, DWORD dwLowBytesToSeek, DWORD dwHighBytesToSeek, LPDWORD lpdwLowByteSeeked, LPDWORD lpdwHighByteSeeked, LPVOID *lpContext ); __declspec(dllimport) BOOL __stdcall BackupWrite( HANDLE hFile, LPBYTE lpBuffer, DWORD nNumberOfBytesToWrite, LPDWORD lpNumberOfBytesWritten, BOOL bAbort, BOOL bProcessSecurity, LPVOID *lpContext ); typedef struct _WIN32_STREAM_ID { DWORD dwStreamId ; DWORD dwStreamAttributes ; LARGE_INTEGER Size ; DWORD dwStreamNameSize ; WCHAR cStreamName[ 1 ] ; } WIN32_STREAM_ID, *LPWIN32_STREAM_ID ; #pragma endregion #pragma region Desktop Family or OneCore Family or Games Family typedef struct _STARTUPINFOEXA { STARTUPINFOA StartupInfo; LPPROC_THREAD_ATTRIBUTE_LIST lpAttributeList; } STARTUPINFOEXA, *LPSTARTUPINFOEXA; typedef struct _STARTUPINFOEXW { STARTUPINFOW StartupInfo; LPPROC_THREAD_ATTRIBUTE_LIST lpAttributeList; } STARTUPINFOEXW, *LPSTARTUPINFOEXW; typedef STARTUPINFOEXW STARTUPINFOEX; typedef LPSTARTUPINFOEXW LPSTARTUPINFOEX; #pragma endregion #pragma region Desktop Family #pragma endregion #pragma region Application Family or OneCore Family or Games Family __declspec(dllimport) HANDLE __stdcall OpenMutexA( DWORD dwDesiredAccess, BOOL bInheritHandle, LPCSTR lpName ); __declspec(dllimport) HANDLE __stdcall CreateSemaphoreA( LPSECURITY_ATTRIBUTES lpSemaphoreAttributes, LONG lInitialCount, LONG lMaximumCount, LPCSTR lpName ); #pragma endregion #pragma region Desktop Family or OneCore Family or Games Family __declspec(dllimport) HANDLE __stdcall OpenSemaphoreA( DWORD dwDesiredAccess, BOOL bInheritHandle, LPCSTR lpName ); #pragma endregion #pragma region Desktop Family or OneCore Family or Games Family __declspec(dllimport) HANDLE __stdcall CreateWaitableTimerA( LPSECURITY_ATTRIBUTES lpTimerAttributes, BOOL bManualReset, LPCSTR lpTimerName ); __declspec(dllimport) HANDLE __stdcall OpenWaitableTimerA( DWORD dwDesiredAccess, BOOL bInheritHandle, LPCSTR lpTimerName ); __declspec(dllimport) HANDLE __stdcall CreateSemaphoreExA( LPSECURITY_ATTRIBUTES lpSemaphoreAttributes, LONG lInitialCount, LONG lMaximumCount, LPCSTR lpName, DWORD dwFlags, DWORD dwDesiredAccess ); __declspec(dllimport) HANDLE __stdcall CreateWaitableTimerExA( LPSECURITY_ATTRIBUTES lpTimerAttributes, LPCSTR lpTimerName, DWORD dwFlags, DWORD dwDesiredAccess ); #pragma endregion #pragma region Desktop Family or Games Family __declspec(dllimport) HANDLE __stdcall CreateFileMappingA( HANDLE hFile, LPSECURITY_ATTRIBUTES lpFileMappingAttributes, DWORD flProtect, DWORD dwMaximumSizeHigh, DWORD dwMaximumSizeLow, LPCSTR lpName ); #pragma endregion #pragma region Desktop Family __declspec(dllimport) HANDLE __stdcall CreateFileMappingNumaA( HANDLE hFile, LPSECURITY_ATTRIBUTES lpFileMappingAttributes, DWORD flProtect, DWORD dwMaximumSizeHigh, DWORD dwMaximumSizeLow, LPCSTR lpName, DWORD nndPreferred ); #pragma endregion #pragma region Desktop Family or Games Family __declspec(dllimport) HANDLE __stdcall OpenFileMappingA( DWORD dwDesiredAccess, BOOL bInheritHandle, LPCSTR lpName ); #pragma endregion #pragma region Desktop Family or OneCore Family __declspec(dllimport) DWORD __stdcall GetLogicalDriveStringsA( DWORD nBufferLength, LPSTR lpBuffer ); #pragma endregion #pragma region Desktop Family #pragma endregion #pragma region Application Family or OneCore Family or Games Family __declspec(dllimport) HMODULE __stdcall LoadPackagedLibrary ( LPCWSTR lpwLibFileName, DWORD Reserved ); #pragma endregion #pragma region Desktop Family or OneCore Family or Games Family __declspec(dllimport) BOOL __stdcall QueryFullProcessImageNameA( HANDLE hProcess, DWORD dwFlags, LPSTR lpExeName, PDWORD lpdwSize ); __declspec(dllimport) BOOL __stdcall QueryFullProcessImageNameW( HANDLE hProcess, DWORD dwFlags, LPWSTR lpExeName, PDWORD lpdwSize ); #pragma endregion #pragma region Desktop Family or OneCore Family or Games Family typedef enum _PROC_THREAD_ATTRIBUTE_NUM { ProcThreadAttributeParentProcess = 0, ProcThreadAttributeHandleList = 2, ProcThreadAttributeGroupAffinity = 3, ProcThreadAttributePreferredNode = 4, ProcThreadAttributeIdealProcessor = 5, ProcThreadAttributeUmsThread = 6, ProcThreadAttributeMitigationPolicy = 7, ProcThreadAttributeSecurityCapabilities = 9, ProcThreadAttributeProtectionLevel = 11, ProcThreadAttributeJobList = 13, ProcThreadAttributeChildProcessPolicy = 14, ProcThreadAttributeAllApplicationPackagesPolicy = 15, ProcThreadAttributeWin32kFilter = 16, ProcThreadAttributeSafeOpenPromptOriginClaim = 17, ProcThreadAttributeDesktopAppPolicy = 18, ProcThreadAttributePseudoConsole = 22, } PROC_THREAD_ATTRIBUTE_NUM; #pragma endregion #pragma region Desktop Family #pragma endregion #pragma region Desktop Family or Games Family __declspec(dllimport) void __stdcall GetStartupInfoA( LPSTARTUPINFOA lpStartupInfo ); #pragma endregion #pragma region Desktop Family #pragma endregion #pragma region OneCore Family or App Family __declspec(dllimport) DWORD __stdcall GetFirmwareEnvironmentVariableA( LPCSTR lpName, LPCSTR lpGuid, PVOID pBuffer, DWORD nSize ); __declspec(dllimport) DWORD __stdcall GetFirmwareEnvironmentVariableW( LPCWSTR lpName, LPCWSTR lpGuid, PVOID pBuffer, DWORD nSize ); __declspec(dllimport) DWORD __stdcall GetFirmwareEnvironmentVariableExA( LPCSTR lpName, LPCSTR lpGuid, PVOID pBuffer, DWORD nSize, PDWORD pdwAttribubutes ); __declspec(dllimport) DWORD __stdcall GetFirmwareEnvironmentVariableExW( LPCWSTR lpName, LPCWSTR lpGuid, PVOID pBuffer, DWORD nSize, PDWORD pdwAttribubutes ); __declspec(dllimport) BOOL __stdcall SetFirmwareEnvironmentVariableA( LPCSTR lpName, LPCSTR lpGuid, PVOID pValue, DWORD nSize ); __declspec(dllimport) BOOL __stdcall SetFirmwareEnvironmentVariableW( LPCWSTR lpName, LPCWSTR lpGuid, PVOID pValue, DWORD nSize ); __declspec(dllimport) BOOL __stdcall SetFirmwareEnvironmentVariableExA( LPCSTR lpName, LPCSTR lpGuid, PVOID pValue, DWORD nSize, DWORD dwAttributes ); __declspec(dllimport) BOOL __stdcall SetFirmwareEnvironmentVariableExW( LPCWSTR lpName, LPCWSTR lpGuid, PVOID pValue, DWORD nSize, DWORD dwAttributes ); #pragma endregion #pragma region Desktop Family __declspec(dllimport) BOOL __stdcall GetFirmwareType ( PFIRMWARE_TYPE FirmwareType ); __declspec(dllimport) BOOL __stdcall IsNativeVhdBoot ( PBOOL NativeVhdBoot ); __declspec(dllimport) HRSRC __stdcall FindResourceA( HMODULE hModule, LPCSTR lpName, LPCSTR lpType ); __declspec(dllimport) HRSRC __stdcall FindResourceExA( HMODULE hModule, LPCSTR lpType, LPCSTR lpName, WORD wLanguage ); __declspec(dllimport) BOOL __stdcall EnumResourceTypesA( HMODULE hModule, ENUMRESTYPEPROCA lpEnumFunc, LONG_PTR lParam ); __declspec(dllimport) BOOL __stdcall EnumResourceTypesW( HMODULE hModule, ENUMRESTYPEPROCW lpEnumFunc, LONG_PTR lParam ); __declspec(dllimport) BOOL __stdcall EnumResourceNamesA( HMODULE hModule, LPCSTR lpType, ENUMRESNAMEPROCA lpEnumFunc, LONG_PTR lParam ); __declspec(dllimport) BOOL __stdcall EnumResourceLanguagesA( HMODULE hModule, LPCSTR lpType, LPCSTR lpName, ENUMRESLANGPROCA lpEnumFunc, LONG_PTR lParam ); __declspec(dllimport) BOOL __stdcall EnumResourceLanguagesW( HMODULE hModule, LPCWSTR lpType, LPCWSTR lpName, ENUMRESLANGPROCW lpEnumFunc, LONG_PTR lParam ); __declspec(dllimport) HANDLE __stdcall BeginUpdateResourceA( LPCSTR pFileName, BOOL bDeleteExistingResources ); __declspec(dllimport) HANDLE __stdcall BeginUpdateResourceW( LPCWSTR pFileName, BOOL bDeleteExistingResources ); __declspec(dllimport) BOOL __stdcall UpdateResourceA( HANDLE hUpdate, LPCSTR lpType, LPCSTR lpName, WORD wLanguage, LPVOID lpData, DWORD cb ); __declspec(dllimport) BOOL __stdcall UpdateResourceW( HANDLE hUpdate, LPCWSTR lpType, LPCWSTR lpName, WORD wLanguage, LPVOID lpData, DWORD cb ); __declspec(dllimport) BOOL __stdcall EndUpdateResourceA( HANDLE hUpdate, BOOL fDiscard ); __declspec(dllimport) BOOL __stdcall EndUpdateResourceW( HANDLE hUpdate, BOOL fDiscard ); __declspec(dllimport) ATOM __stdcall GlobalAddAtomA( LPCSTR lpString ); __declspec(dllimport) ATOM __stdcall GlobalAddAtomW( LPCWSTR lpString ); __declspec(dllimport) ATOM __stdcall GlobalAddAtomExA( LPCSTR lpString, DWORD Flags ); __declspec(dllimport) ATOM __stdcall GlobalAddAtomExW( LPCWSTR lpString, DWORD Flags ); __declspec(dllimport) ATOM __stdcall GlobalFindAtomA( LPCSTR lpString ); __declspec(dllimport) ATOM __stdcall GlobalFindAtomW( LPCWSTR lpString ); __declspec(dllimport) UINT __stdcall GlobalGetAtomNameA( ATOM nAtom, LPSTR lpBuffer, int nSize ); __declspec(dllimport) UINT __stdcall GlobalGetAtomNameW( ATOM nAtom, LPWSTR lpBuffer, int nSize ); __declspec(dllimport) ATOM __stdcall AddAtomA( LPCSTR lpString ); __declspec(dllimport) ATOM __stdcall AddAtomW( LPCWSTR lpString ); __declspec(dllimport) ATOM __stdcall FindAtomA( LPCSTR lpString ); __declspec(dllimport) ATOM __stdcall FindAtomW( LPCWSTR lpString ); __declspec(dllimport) UINT __stdcall GetAtomNameA( ATOM nAtom, LPSTR lpBuffer, int nSize ); __declspec(dllimport) UINT __stdcall GetAtomNameW( ATOM nAtom, LPWSTR lpBuffer, int nSize ); #pragma endregion #pragma region Desktop Family or OneCore Family __declspec(dllimport) UINT __stdcall GetProfileIntA( LPCSTR lpAppName, LPCSTR lpKeyName, INT nDefault ); __declspec(dllimport) UINT __stdcall GetProfileIntW( LPCWSTR lpAppName, LPCWSTR lpKeyName, INT nDefault ); __declspec(dllimport) DWORD __stdcall GetProfileStringA( LPCSTR lpAppName, LPCSTR lpKeyName, LPCSTR lpDefault, LPSTR lpReturnedString, DWORD nSize ); __declspec(dllimport) DWORD __stdcall GetProfileStringW( LPCWSTR lpAppName, LPCWSTR lpKeyName, LPCWSTR lpDefault, LPWSTR lpReturnedString, DWORD nSize ); #pragma endregion #pragma region Desktop Family __declspec(dllimport) BOOL __stdcall WriteProfileStringA( LPCSTR lpAppName, LPCSTR lpKeyName, LPCSTR lpString ); __declspec(dllimport) BOOL __stdcall WriteProfileStringW( LPCWSTR lpAppName, LPCWSTR lpKeyName, LPCWSTR lpString ); #pragma endregion #pragma region Desktop Family or OneCore Family __declspec(dllimport) DWORD __stdcall GetProfileSectionA( LPCSTR lpAppName, LPSTR lpReturnedString, DWORD nSize ); __declspec(dllimport) DWORD __stdcall GetProfileSectionW( LPCWSTR lpAppName, LPWSTR lpReturnedString, DWORD nSize ); #pragma endregion #pragma region Desktop Family __declspec(dllimport) BOOL __stdcall WriteProfileSectionA( LPCSTR lpAppName, LPCSTR lpString ); __declspec(dllimport) BOOL __stdcall WriteProfileSectionW( LPCWSTR lpAppName, LPCWSTR lpString ); #pragma endregion #pragma region Desktop Family or OneCore Family __declspec(dllimport) UINT __stdcall GetPrivateProfileIntA( LPCSTR lpAppName, LPCSTR lpKeyName, INT nDefault, LPCSTR lpFileName ); __declspec(dllimport) UINT __stdcall GetPrivateProfileIntW( LPCWSTR lpAppName, LPCWSTR lpKeyName, INT nDefault, LPCWSTR lpFileName ); __declspec(dllimport) DWORD __stdcall GetPrivateProfileStringA( LPCSTR lpAppName, LPCSTR lpKeyName, LPCSTR lpDefault, LPSTR lpReturnedString, DWORD nSize, LPCSTR lpFileName ); __declspec(dllimport) DWORD __stdcall GetPrivateProfileStringW( LPCWSTR lpAppName, LPCWSTR lpKeyName, LPCWSTR lpDefault, LPWSTR lpReturnedString, DWORD nSize, LPCWSTR lpFileName ); __declspec(dllimport) BOOL __stdcall WritePrivateProfileStringA( LPCSTR lpAppName, LPCSTR lpKeyName, LPCSTR lpString, LPCSTR lpFileName ); __declspec(dllimport) BOOL __stdcall WritePrivateProfileStringW( LPCWSTR lpAppName, LPCWSTR lpKeyName, LPCWSTR lpString, LPCWSTR lpFileName ); __declspec(dllimport) DWORD __stdcall GetPrivateProfileSectionA( LPCSTR lpAppName, LPSTR lpReturnedString, DWORD nSize, LPCSTR lpFileName ); __declspec(dllimport) DWORD __stdcall GetPrivateProfileSectionW( LPCWSTR lpAppName, LPWSTR lpReturnedString, DWORD nSize, LPCWSTR lpFileName ); __declspec(dllimport) BOOL __stdcall WritePrivateProfileSectionA( LPCSTR lpAppName, LPCSTR lpString, LPCSTR lpFileName ); __declspec(dllimport) BOOL __stdcall WritePrivateProfileSectionW( LPCWSTR lpAppName, LPCWSTR lpString, LPCWSTR lpFileName ); #pragma endregion #pragma region Desktop Family __declspec(dllimport) DWORD __stdcall GetPrivateProfileSectionNamesA( LPSTR lpszReturnBuffer, DWORD nSize, LPCSTR lpFileName ); __declspec(dllimport) DWORD __stdcall GetPrivateProfileSectionNamesW( LPWSTR lpszReturnBuffer, DWORD nSize, LPCWSTR lpFileName ); __declspec(dllimport) BOOL __stdcall GetPrivateProfileStructA( LPCSTR lpszSection, LPCSTR lpszKey, LPVOID lpStruct, UINT uSizeStruct, LPCSTR szFile ); __declspec(dllimport) BOOL __stdcall GetPrivateProfileStructW( LPCWSTR lpszSection, LPCWSTR lpszKey, LPVOID lpStruct, UINT uSizeStruct, LPCWSTR szFile ); __declspec(dllimport) BOOL __stdcall WritePrivateProfileStructA( LPCSTR lpszSection, LPCSTR lpszKey, LPVOID lpStruct, UINT uSizeStruct, LPCSTR szFile ); __declspec(dllimport) BOOL __stdcall WritePrivateProfileStructW( LPCWSTR lpszSection, LPCWSTR lpszKey, LPVOID lpStruct, UINT uSizeStruct, LPCWSTR szFile ); __declspec(dllimport) BOOLEAN __stdcall Wow64EnableWow64FsRedirection ( BOOLEAN Wow64FsEnableRedirection ); typedef UINT (__stdcall* PGET_SYSTEM_WOW64_DIRECTORY_A)( LPSTR lpBuffer, UINT uSize); typedef UINT (__stdcall* PGET_SYSTEM_WOW64_DIRECTORY_W)( LPWSTR lpBuffer, UINT uSize); #pragma endregion #pragma region Desktop Family or Games Family __declspec(dllimport) BOOL __stdcall SetDllDirectoryA( LPCSTR lpPathName ); __declspec(dllimport) BOOL __stdcall SetDllDirectoryW( LPCWSTR lpPathName ); __declspec(dllimport) DWORD __stdcall GetDllDirectoryA( DWORD nBufferLength, LPSTR lpBuffer ); __declspec(dllimport) DWORD __stdcall GetDllDirectoryW( DWORD nBufferLength, LPWSTR lpBuffer ); #pragma endregion #pragma region Desktop Family __declspec(dllimport) BOOL __stdcall SetSearchPathMode ( DWORD Flags ); #pragma endregion #pragma region Application Family or Games Family #pragma endregion #pragma region Application Family or OneCore Family or Games Family __declspec(dllimport) BOOL __stdcall CreateDirectoryExA( LPCSTR lpTemplateDirectory, LPCSTR lpNewDirectory, LPSECURITY_ATTRIBUTES lpSecurityAttributes ); __declspec(dllimport) BOOL __stdcall CreateDirectoryExW( LPCWSTR lpTemplateDirectory, LPCWSTR lpNewDirectory, LPSECURITY_ATTRIBUTES lpSecurityAttributes ); #pragma endregion #pragma region Desktop Family __declspec(dllimport) BOOL __stdcall CreateDirectoryTransactedA( LPCSTR lpTemplateDirectory, LPCSTR lpNewDirectory, LPSECURITY_ATTRIBUTES lpSecurityAttributes, HANDLE hTransaction ); __declspec(dllimport) BOOL __stdcall CreateDirectoryTransactedW( LPCWSTR lpTemplateDirectory, LPCWSTR lpNewDirectory, LPSECURITY_ATTRIBUTES lpSecurityAttributes, HANDLE hTransaction ); __declspec(dllimport) BOOL __stdcall RemoveDirectoryTransactedA( LPCSTR lpPathName, HANDLE hTransaction ); __declspec(dllimport) BOOL __stdcall RemoveDirectoryTransactedW( LPCWSTR lpPathName, HANDLE hTransaction ); __declspec(dllimport) DWORD __stdcall GetFullPathNameTransactedA( LPCSTR lpFileName, DWORD nBufferLength, LPSTR lpBuffer, LPSTR *lpFilePart, HANDLE hTransaction ); __declspec(dllimport) DWORD __stdcall GetFullPathNameTransactedW( LPCWSTR lpFileName, DWORD nBufferLength, LPWSTR lpBuffer, LPWSTR *lpFilePart, HANDLE hTransaction ); #pragma endregion #pragma region Desktop Family or OneCore Family __declspec(dllimport) BOOL __stdcall DefineDosDeviceA( DWORD dwFlags, LPCSTR lpDeviceName, LPCSTR lpTargetPath ); __declspec(dllimport) DWORD __stdcall QueryDosDeviceA( LPCSTR lpDeviceName, LPSTR lpTargetPath, DWORD ucchMax ); #pragma endregion #pragma region Desktop Family __declspec(dllimport) HANDLE __stdcall CreateFileTransactedA( LPCSTR lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode, LPSECURITY_ATTRIBUTES lpSecurityAttributes, DWORD dwCreationDisposition, DWORD dwFlagsAndAttributes, HANDLE hTemplateFile, HANDLE hTransaction, PUSHORT pusMiniVersion, PVOID lpExtendedParameter ); __declspec(dllimport) HANDLE __stdcall CreateFileTransactedW( LPCWSTR lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode, LPSECURITY_ATTRIBUTES lpSecurityAttributes, DWORD dwCreationDisposition, DWORD dwFlagsAndAttributes, HANDLE hTemplateFile, HANDLE hTransaction, PUSHORT pusMiniVersion, PVOID lpExtendedParameter ); #pragma endregion #pragma region Application Family or OneCore Family __declspec(dllimport) HANDLE __stdcall ReOpenFile( HANDLE hOriginalFile, DWORD dwDesiredAccess, DWORD dwShareMode, DWORD dwFlagsAndAttributes ); #pragma endregion #pragma region Desktop Family __declspec(dllimport) BOOL __stdcall SetFileAttributesTransactedA( LPCSTR lpFileName, DWORD dwFileAttributes, HANDLE hTransaction ); __declspec(dllimport) BOOL __stdcall SetFileAttributesTransactedW( LPCWSTR lpFileName, DWORD dwFileAttributes, HANDLE hTransaction ); __declspec(dllimport) BOOL __stdcall GetFileAttributesTransactedA( LPCSTR lpFileName, GET_FILEEX_INFO_LEVELS fInfoLevelId, LPVOID lpFileInformation, HANDLE hTransaction ); __declspec(dllimport) BOOL __stdcall GetFileAttributesTransactedW( LPCWSTR lpFileName, GET_FILEEX_INFO_LEVELS fInfoLevelId, LPVOID lpFileInformation, HANDLE hTransaction ); __declspec(dllimport) DWORD __stdcall GetCompressedFileSizeTransactedA( LPCSTR lpFileName, LPDWORD lpFileSizeHigh, HANDLE hTransaction ); __declspec(dllimport) DWORD __stdcall GetCompressedFileSizeTransactedW( LPCWSTR lpFileName, LPDWORD lpFileSizeHigh, HANDLE hTransaction ); __declspec(dllimport) BOOL __stdcall DeleteFileTransactedA( LPCSTR lpFileName, HANDLE hTransaction ); __declspec(dllimport) BOOL __stdcall DeleteFileTransactedW( LPCWSTR lpFileName, HANDLE hTransaction ); #pragma endregion #pragma region Application Family #pragma endregion #pragma region Desktop Family __declspec(dllimport) BOOL __stdcall CheckNameLegalDOS8Dot3A( LPCSTR lpName, LPSTR lpOemName, DWORD OemNameSize, PBOOL pbNameContainsSpaces , PBOOL pbNameLegal ); __declspec(dllimport) BOOL __stdcall CheckNameLegalDOS8Dot3W( LPCWSTR lpName, LPSTR lpOemName, DWORD OemNameSize, PBOOL pbNameContainsSpaces , PBOOL pbNameLegal ); #pragma endregion #pragma region Desktop Family __declspec(dllimport) HANDLE __stdcall FindFirstFileTransactedA( LPCSTR lpFileName, FINDEX_INFO_LEVELS fInfoLevelId, LPVOID lpFindFileData, FINDEX_SEARCH_OPS fSearchOp, LPVOID lpSearchFilter, DWORD dwAdditionalFlags, HANDLE hTransaction ); __declspec(dllimport) HANDLE __stdcall FindFirstFileTransactedW( LPCWSTR lpFileName, FINDEX_INFO_LEVELS fInfoLevelId, LPVOID lpFindFileData, FINDEX_SEARCH_OPS fSearchOp, LPVOID lpSearchFilter, DWORD dwAdditionalFlags, HANDLE hTransaction ); #pragma endregion #pragma region Application Family or OneCore Family or Games Family __declspec(dllimport) BOOL __stdcall CopyFileA( LPCSTR lpExistingFileName, LPCSTR lpNewFileName, BOOL bFailIfExists ); __declspec(dllimport) BOOL __stdcall CopyFileW( LPCWSTR lpExistingFileName, LPCWSTR lpNewFileName, BOOL bFailIfExists ); #pragma endregion #pragma region Application Family or OneCore or Games Family typedef DWORD (__stdcall *LPPROGRESS_ROUTINE)( LARGE_INTEGER TotalFileSize, LARGE_INTEGER TotalBytesTransferred, LARGE_INTEGER StreamSize, LARGE_INTEGER StreamBytesTransferred, DWORD dwStreamNumber, DWORD dwCallbackReason, HANDLE hSourceFile, HANDLE hDestinationFile, LPVOID lpData ); __declspec(dllimport) BOOL __stdcall CopyFileExA( LPCSTR lpExistingFileName, LPCSTR lpNewFileName, LPPROGRESS_ROUTINE lpProgressRoutine, LPVOID lpData, LPBOOL pbCancel, DWORD dwCopyFlags ); __declspec(dllimport) BOOL __stdcall CopyFileExW( LPCWSTR lpExistingFileName, LPCWSTR lpNewFileName, LPPROGRESS_ROUTINE lpProgressRoutine, LPVOID lpData, LPBOOL pbCancel, DWORD dwCopyFlags ); #pragma endregion #pragma region Desktop Family __declspec(dllimport) BOOL __stdcall CopyFileTransactedA( LPCSTR lpExistingFileName, LPCSTR lpNewFileName, LPPROGRESS_ROUTINE lpProgressRoutine, LPVOID lpData, LPBOOL pbCancel, DWORD dwCopyFlags, HANDLE hTransaction ); __declspec(dllimport) BOOL __stdcall CopyFileTransactedW( LPCWSTR lpExistingFileName, LPCWSTR lpNewFileName, LPPROGRESS_ROUTINE lpProgressRoutine, LPVOID lpData, LPBOOL pbCancel, DWORD dwCopyFlags, HANDLE hTransaction ); #pragma endregion #pragma region Application Family or OneCore Family or Games Family typedef enum _COPYFILE2_MESSAGE_TYPE { COPYFILE2_CALLBACK_NONE = 0, COPYFILE2_CALLBACK_CHUNK_STARTED, COPYFILE2_CALLBACK_CHUNK_FINISHED, COPYFILE2_CALLBACK_STREAM_STARTED, COPYFILE2_CALLBACK_STREAM_FINISHED, COPYFILE2_CALLBACK_POLL_CONTINUE, COPYFILE2_CALLBACK_ERROR, COPYFILE2_CALLBACK_MAX, } COPYFILE2_MESSAGE_TYPE; typedef enum _COPYFILE2_MESSAGE_ACTION { COPYFILE2_PROGRESS_CONTINUE = 0, COPYFILE2_PROGRESS_CANCEL, COPYFILE2_PROGRESS_STOP, COPYFILE2_PROGRESS_QUIET, COPYFILE2_PROGRESS_PAUSE, } COPYFILE2_MESSAGE_ACTION; typedef enum _COPYFILE2_COPY_PHASE { COPYFILE2_PHASE_NONE = 0, COPYFILE2_PHASE_PREPARE_SOURCE, COPYFILE2_PHASE_PREPARE_DEST, COPYFILE2_PHASE_READ_SOURCE, COPYFILE2_PHASE_WRITE_DESTINATION, COPYFILE2_PHASE_SERVER_COPY, COPYFILE2_PHASE_NAMEGRAFT_COPY, COPYFILE2_PHASE_MAX, } COPYFILE2_COPY_PHASE; typedef struct COPYFILE2_MESSAGE { COPYFILE2_MESSAGE_TYPE Type; DWORD dwPadding; union { struct { DWORD dwStreamNumber; DWORD dwReserved; HANDLE hSourceFile; HANDLE hDestinationFile; ULARGE_INTEGER uliChunkNumber; ULARGE_INTEGER uliChunkSize; ULARGE_INTEGER uliStreamSize; ULARGE_INTEGER uliTotalFileSize; } ChunkStarted; struct { DWORD dwStreamNumber; DWORD dwFlags; HANDLE hSourceFile; HANDLE hDestinationFile; ULARGE_INTEGER uliChunkNumber; ULARGE_INTEGER uliChunkSize; ULARGE_INTEGER uliStreamSize; ULARGE_INTEGER uliStreamBytesTransferred; ULARGE_INTEGER uliTotalFileSize; ULARGE_INTEGER uliTotalBytesTransferred; } ChunkFinished; struct { DWORD dwStreamNumber; DWORD dwReserved; HANDLE hSourceFile; HANDLE hDestinationFile; ULARGE_INTEGER uliStreamSize; ULARGE_INTEGER uliTotalFileSize; } StreamStarted; struct { DWORD dwStreamNumber; DWORD dwReserved; HANDLE hSourceFile; HANDLE hDestinationFile; ULARGE_INTEGER uliStreamSize; ULARGE_INTEGER uliStreamBytesTransferred; ULARGE_INTEGER uliTotalFileSize; ULARGE_INTEGER uliTotalBytesTransferred; } StreamFinished; struct { DWORD dwReserved; } PollContinue; struct { COPYFILE2_COPY_PHASE CopyPhase; DWORD dwStreamNumber; HRESULT hrFailure; DWORD dwReserved; ULARGE_INTEGER uliChunkNumber; ULARGE_INTEGER uliStreamSize; ULARGE_INTEGER uliStreamBytesTransferred; ULARGE_INTEGER uliTotalFileSize; ULARGE_INTEGER uliTotalBytesTransferred; } Error; } Info; } COPYFILE2_MESSAGE; typedef COPYFILE2_MESSAGE_ACTION (__stdcall *PCOPYFILE2_PROGRESS_ROUTINE)( const COPYFILE2_MESSAGE *pMessage, PVOID pvCallbackContext ); typedef struct COPYFILE2_EXTENDED_PARAMETERS { DWORD dwSize; DWORD dwCopyFlags; BOOL *pfCancel; PCOPYFILE2_PROGRESS_ROUTINE pProgressRoutine; PVOID pvCallbackContext; } COPYFILE2_EXTENDED_PARAMETERS; __declspec(dllimport) HRESULT __stdcall CopyFile2( PCWSTR pwszExistingFileName, PCWSTR pwszNewFileName, COPYFILE2_EXTENDED_PARAMETERS *pExtendedParameters ); #pragma endregion #pragma region Desktop Family or Games Family __declspec(dllimport) BOOL __stdcall MoveFileA( LPCSTR lpExistingFileName, LPCSTR lpNewFileName ); __declspec(dllimport) BOOL __stdcall MoveFileW( LPCWSTR lpExistingFileName, LPCWSTR lpNewFileName ); #pragma endregion #pragma region Application Family or OneCore Family or Games Family __declspec(dllimport) BOOL __stdcall MoveFileExA( LPCSTR lpExistingFileName, LPCSTR lpNewFileName, DWORD dwFlags ); __declspec(dllimport) BOOL __stdcall MoveFileExW( LPCWSTR lpExistingFileName, LPCWSTR lpNewFileName, DWORD dwFlags ); #pragma endregion #pragma region Application Family or OneCore Family __declspec(dllimport) BOOL __stdcall MoveFileWithProgressA( LPCSTR lpExistingFileName, LPCSTR lpNewFileName, LPPROGRESS_ROUTINE lpProgressRoutine, LPVOID lpData, DWORD dwFlags ); __declspec(dllimport) BOOL __stdcall MoveFileWithProgressW( LPCWSTR lpExistingFileName, LPCWSTR lpNewFileName, LPPROGRESS_ROUTINE lpProgressRoutine, LPVOID lpData, DWORD dwFlags ); #pragma endregion #pragma region Desktop Family __declspec(dllimport) BOOL __stdcall MoveFileTransactedA( LPCSTR lpExistingFileName, LPCSTR lpNewFileName, LPPROGRESS_ROUTINE lpProgressRoutine, LPVOID lpData, DWORD dwFlags, HANDLE hTransaction ); __declspec(dllimport) BOOL __stdcall MoveFileTransactedW( LPCWSTR lpExistingFileName, LPCWSTR lpNewFileName, LPPROGRESS_ROUTINE lpProgressRoutine, LPVOID lpData, DWORD dwFlags, HANDLE hTransaction ); #pragma endregion #pragma region Application Family or Games Family #pragma endregion #pragma region Desktop Family #pragma endregion #pragma region Application Family or OneCore Family or Games Family __declspec(dllimport) BOOL __stdcall ReplaceFileA( LPCSTR lpReplacedFileName, LPCSTR lpReplacementFileName, LPCSTR lpBackupFileName, DWORD dwReplaceFlags, LPVOID lpExclude, LPVOID lpReserved ); __declspec(dllimport) BOOL __stdcall ReplaceFileW( LPCWSTR lpReplacedFileName, LPCWSTR lpReplacementFileName, LPCWSTR lpBackupFileName, DWORD dwReplaceFlags, LPVOID lpExclude, LPVOID lpReserved ); __declspec(dllimport) BOOL __stdcall CreateHardLinkA( LPCSTR lpFileName, LPCSTR lpExistingFileName, LPSECURITY_ATTRIBUTES lpSecurityAttributes ); __declspec(dllimport) BOOL __stdcall CreateHardLinkW( LPCWSTR lpFileName, LPCWSTR lpExistingFileName, LPSECURITY_ATTRIBUTES lpSecurityAttributes ); #pragma endregion #pragma region Desktop Family __declspec(dllimport) BOOL __stdcall CreateHardLinkTransactedA( LPCSTR lpFileName, LPCSTR lpExistingFileName, LPSECURITY_ATTRIBUTES lpSecurityAttributes, HANDLE hTransaction ); __declspec(dllimport) BOOL __stdcall CreateHardLinkTransactedW( LPCWSTR lpFileName, LPCWSTR lpExistingFileName, LPSECURITY_ATTRIBUTES lpSecurityAttributes, HANDLE hTransaction ); __declspec(dllimport) HANDLE __stdcall FindFirstStreamTransactedW ( LPCWSTR lpFileName, STREAM_INFO_LEVELS InfoLevel, LPVOID lpFindStreamData, DWORD dwFlags, HANDLE hTransaction ); __declspec(dllimport) HANDLE __stdcall FindFirstFileNameTransactedW ( LPCWSTR lpFileName, DWORD dwFlags, LPDWORD StringLength, PWSTR LinkName, HANDLE hTransaction ); #pragma endregion #pragma region Application Family or OneCore Family or Games Family __declspec(dllimport) HANDLE __stdcall CreateNamedPipeA( LPCSTR lpName, DWORD dwOpenMode, DWORD dwPipeMode, DWORD nMaxInstances, DWORD nOutBufferSize, DWORD nInBufferSize, DWORD nDefaultTimeOut, LPSECURITY_ATTRIBUTES lpSecurityAttributes ); #pragma endregion #pragma region Desktop Family or OneCore Family __declspec(dllimport) BOOL __stdcall GetNamedPipeHandleStateA( HANDLE hNamedPipe, LPDWORD lpState, LPDWORD lpCurInstances, LPDWORD lpMaxCollectionCount, LPDWORD lpCollectDataTimeout, LPSTR lpUserName, DWORD nMaxUserNameSize ); __declspec(dllimport) BOOL __stdcall CallNamedPipeA( LPCSTR lpNamedPipeName, LPVOID lpInBuffer, DWORD nInBufferSize, LPVOID lpOutBuffer, DWORD nOutBufferSize, LPDWORD lpBytesRead, DWORD nTimeOut ); #pragma endregion #pragma region Desktop Family or OneCore Family or Games Family __declspec(dllimport) BOOL __stdcall WaitNamedPipeA( LPCSTR lpNamedPipeName, DWORD nTimeOut ); #pragma endregion #pragma region Desktop Family #pragma endregion #pragma region Desktop Family or OneCore Family __declspec(dllimport) BOOL __stdcall GetNamedPipeClientComputerNameA( HANDLE Pipe, LPSTR ClientComputerName, ULONG ClientComputerNameLength ); #pragma endregion #pragma region Desktop Family __declspec(dllimport) BOOL __stdcall GetNamedPipeClientProcessId( HANDLE Pipe, PULONG ClientProcessId ); __declspec(dllimport) BOOL __stdcall GetNamedPipeClientSessionId( HANDLE Pipe, PULONG ClientSessionId ); __declspec(dllimport) BOOL __stdcall GetNamedPipeServerProcessId( HANDLE Pipe, PULONG ServerProcessId ); __declspec(dllimport) BOOL __stdcall GetNamedPipeServerSessionId( HANDLE Pipe, PULONG ServerSessionId ); #pragma endregion #pragma region Application Family or Desktop Family __declspec(dllimport) BOOL __stdcall SetVolumeLabelA( LPCSTR lpRootPathName, LPCSTR lpVolumeName ); __declspec(dllimport) BOOL __stdcall SetVolumeLabelW( LPCWSTR lpRootPathName, LPCWSTR lpVolumeName ); #pragma endregion #pragma region Desktop Family __declspec(dllimport) BOOL __stdcall SetFileBandwidthReservation( HANDLE hFile, DWORD nPeriodMilliseconds, DWORD nBytesPerPeriod, BOOL bDiscardable, LPDWORD lpTransferSize, LPDWORD lpNumOutstandingRequests ); __declspec(dllimport) BOOL __stdcall GetFileBandwidthReservation( HANDLE hFile, LPDWORD lpPeriodMilliseconds, LPDWORD lpBytesPerPeriod, LPBOOL pDiscardable, LPDWORD lpTransferSize, LPDWORD lpNumOutstandingRequests ); __declspec(dllimport) BOOL __stdcall ClearEventLogA ( HANDLE hEventLog, LPCSTR lpBackupFileName ); __declspec(dllimport) BOOL __stdcall ClearEventLogW ( HANDLE hEventLog, LPCWSTR lpBackupFileName ); __declspec(dllimport) BOOL __stdcall BackupEventLogA ( HANDLE hEventLog, LPCSTR lpBackupFileName ); __declspec(dllimport) BOOL __stdcall BackupEventLogW ( HANDLE hEventLog, LPCWSTR lpBackupFileName ); __declspec(dllimport) BOOL __stdcall CloseEventLog ( HANDLE hEventLog ); #pragma endregion #pragma region Application Family __declspec(dllimport) BOOL __stdcall DeregisterEventSource ( HANDLE hEventLog ); #pragma endregion #pragma region Desktop Family __declspec(dllimport) BOOL __stdcall NotifyChangeEventLog( HANDLE hEventLog, HANDLE hEvent ); __declspec(dllimport) BOOL __stdcall GetNumberOfEventLogRecords ( HANDLE hEventLog, PDWORD NumberOfRecords ); __declspec(dllimport) BOOL __stdcall GetOldestEventLogRecord ( HANDLE hEventLog, PDWORD OldestRecord ); __declspec(dllimport) HANDLE __stdcall OpenEventLogA ( LPCSTR lpUNCServerName, LPCSTR lpSourceName ); __declspec(dllimport) HANDLE __stdcall OpenEventLogW ( LPCWSTR lpUNCServerName, LPCWSTR lpSourceName ); #pragma endregion #pragma region Application Family __declspec(dllimport) HANDLE __stdcall RegisterEventSourceA ( LPCSTR lpUNCServerName, LPCSTR lpSourceName ); __declspec(dllimport) HANDLE __stdcall RegisterEventSourceW ( LPCWSTR lpUNCServerName, LPCWSTR lpSourceName ); #pragma endregion #pragma region Desktop Family __declspec(dllimport) HANDLE __stdcall OpenBackupEventLogA ( LPCSTR lpUNCServerName, LPCSTR lpFileName ); __declspec(dllimport) HANDLE __stdcall OpenBackupEventLogW ( LPCWSTR lpUNCServerName, LPCWSTR lpFileName ); __declspec(dllimport) BOOL __stdcall ReadEventLogA ( HANDLE hEventLog, DWORD dwReadFlags, DWORD dwRecordOffset, LPVOID lpBuffer, DWORD nNumberOfBytesToRead, DWORD *pnBytesRead, DWORD *pnMinNumberOfBytesNeeded ); __declspec(dllimport) BOOL __stdcall ReadEventLogW ( HANDLE hEventLog, DWORD dwReadFlags, DWORD dwRecordOffset, LPVOID lpBuffer, DWORD nNumberOfBytesToRead, DWORD *pnBytesRead, DWORD *pnMinNumberOfBytesNeeded ); #pragma endregion #pragma region Application Family __declspec(dllimport) BOOL __stdcall ReportEventA ( HANDLE hEventLog, WORD wType, WORD wCategory, DWORD dwEventID, PSID lpUserSid, WORD wNumStrings, DWORD dwDataSize, LPCSTR *lpStrings, LPVOID lpRawData ); __declspec(dllimport) BOOL __stdcall ReportEventW ( HANDLE hEventLog, WORD wType, WORD wCategory, DWORD dwEventID, PSID lpUserSid, WORD wNumStrings, DWORD dwDataSize, LPCWSTR *lpStrings, LPVOID lpRawData ); #pragma endregion #pragma region Desktop Family typedef struct _EVENTLOG_FULL_INFORMATION { DWORD dwFull; } EVENTLOG_FULL_INFORMATION, *LPEVENTLOG_FULL_INFORMATION; __declspec(dllimport) BOOL __stdcall GetEventLogInformation ( HANDLE hEventLog, DWORD dwInfoLevel, LPVOID lpBuffer, DWORD cbBufSize, LPDWORD pcbBytesNeeded ); typedef ULONG OPERATION_ID; typedef struct _OPERATION_START_PARAMETERS { ULONG Version; OPERATION_ID OperationId; ULONG Flags; } OPERATION_START_PARAMETERS, *POPERATION_START_PARAMETERS; typedef struct _OPERATION_END_PARAMETERS { ULONG Version; OPERATION_ID OperationId; ULONG Flags; } OPERATION_END_PARAMETERS, *POPERATION_END_PARAMETERS; __declspec(dllimport) BOOL __stdcall OperationStart ( OPERATION_START_PARAMETERS* OperationStartParams ); __declspec(dllimport) BOOL __stdcall OperationEnd ( OPERATION_END_PARAMETERS* OperationEndParams ); __declspec(dllimport) BOOL __stdcall AccessCheckAndAuditAlarmA ( LPCSTR SubsystemName, LPVOID HandleId, LPSTR ObjectTypeName, LPSTR ObjectName, PSECURITY_DESCRIPTOR SecurityDescriptor, DWORD DesiredAccess, PGENERIC_MAPPING GenericMapping, BOOL ObjectCreation, LPDWORD GrantedAccess, LPBOOL AccessStatus, LPBOOL pfGenerateOnClose ); __declspec(dllimport) BOOL __stdcall AccessCheckByTypeAndAuditAlarmA ( LPCSTR SubsystemName, LPVOID HandleId, LPCSTR ObjectTypeName, LPCSTR ObjectName, PSECURITY_DESCRIPTOR SecurityDescriptor, PSID PrincipalSelfSid, DWORD DesiredAccess, AUDIT_EVENT_TYPE AuditType, DWORD Flags, POBJECT_TYPE_LIST ObjectTypeList, DWORD ObjectTypeListLength, PGENERIC_MAPPING GenericMapping, BOOL ObjectCreation, LPDWORD GrantedAccess, LPBOOL AccessStatus, LPBOOL pfGenerateOnClose ); __declspec(dllimport) BOOL __stdcall AccessCheckByTypeResultListAndAuditAlarmA ( LPCSTR SubsystemName, LPVOID HandleId, LPCSTR ObjectTypeName, LPCSTR ObjectName, PSECURITY_DESCRIPTOR SecurityDescriptor, PSID PrincipalSelfSid, DWORD DesiredAccess, AUDIT_EVENT_TYPE AuditType, DWORD Flags, POBJECT_TYPE_LIST ObjectTypeList, DWORD ObjectTypeListLength, PGENERIC_MAPPING GenericMapping, BOOL ObjectCreation, LPDWORD GrantedAccess, LPDWORD AccessStatusList, LPBOOL pfGenerateOnClose ); __declspec(dllimport) BOOL __stdcall AccessCheckByTypeResultListAndAuditAlarmByHandleA ( LPCSTR SubsystemName, LPVOID HandleId, HANDLE ClientToken, LPCSTR ObjectTypeName, LPCSTR ObjectName, PSECURITY_DESCRIPTOR SecurityDescriptor, PSID PrincipalSelfSid, DWORD DesiredAccess, AUDIT_EVENT_TYPE AuditType, DWORD Flags, POBJECT_TYPE_LIST ObjectTypeList, DWORD ObjectTypeListLength, PGENERIC_MAPPING GenericMapping, BOOL ObjectCreation, LPDWORD GrantedAccess, LPDWORD AccessStatusList, LPBOOL pfGenerateOnClose ); __declspec(dllimport) BOOL __stdcall ObjectOpenAuditAlarmA ( LPCSTR SubsystemName, LPVOID HandleId, LPSTR ObjectTypeName, LPSTR ObjectName, PSECURITY_DESCRIPTOR pSecurityDescriptor, HANDLE ClientToken, DWORD DesiredAccess, DWORD GrantedAccess, PPRIVILEGE_SET Privileges, BOOL ObjectCreation, BOOL AccessGranted, LPBOOL GenerateOnClose ); __declspec(dllimport) BOOL __stdcall ObjectPrivilegeAuditAlarmA ( LPCSTR SubsystemName, LPVOID HandleId, HANDLE ClientToken, DWORD DesiredAccess, PPRIVILEGE_SET Privileges, BOOL AccessGranted ); __declspec(dllimport) BOOL __stdcall ObjectCloseAuditAlarmA ( LPCSTR SubsystemName, LPVOID HandleId, BOOL GenerateOnClose ); __declspec(dllimport) BOOL __stdcall ObjectDeleteAuditAlarmA ( LPCSTR SubsystemName, LPVOID HandleId, BOOL GenerateOnClose ); __declspec(dllimport) BOOL __stdcall PrivilegedServiceAuditAlarmA ( LPCSTR SubsystemName, LPCSTR ServiceName, HANDLE ClientToken, PPRIVILEGE_SET Privileges, BOOL AccessGranted ); __declspec(dllimport) BOOL __stdcall AddConditionalAce ( PACL pAcl, DWORD dwAceRevision, DWORD AceFlags, UCHAR AceType, DWORD AccessMask, PSID pSid, PWCHAR ConditionStr, DWORD *ReturnLength ); #pragma endregion #pragma region Desktop Family or OneCore Family __declspec(dllimport) BOOL __stdcall SetFileSecurityA ( LPCSTR lpFileName, SECURITY_INFORMATION SecurityInformation, PSECURITY_DESCRIPTOR pSecurityDescriptor ); __declspec(dllimport) BOOL __stdcall GetFileSecurityA ( LPCSTR lpFileName, SECURITY_INFORMATION RequestedInformation, PSECURITY_DESCRIPTOR pSecurityDescriptor, DWORD nLength, LPDWORD lpnLengthNeeded ); #pragma endregion #pragma region Application Family or OneCore Family __declspec(dllimport) BOOL __stdcall ReadDirectoryChangesW( HANDLE hDirectory, LPVOID lpBuffer, DWORD nBufferLength, BOOL bWatchSubtree, DWORD dwNotifyFilter, LPDWORD lpBytesReturned, LPOVERLAPPED lpOverlapped, LPOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine ); __declspec(dllimport) BOOL __stdcall ReadDirectoryChangesExW( HANDLE hDirectory, LPVOID lpBuffer, DWORD nBufferLength, BOOL bWatchSubtree, DWORD dwNotifyFilter, LPDWORD lpBytesReturned, LPOVERLAPPED lpOverlapped, LPOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine, READ_DIRECTORY_NOTIFY_INFORMATION_CLASS ReadDirectoryNotifyInformationClass ); #pragma endregion #pragma region Desktop Family __declspec(dllimport) LPVOID __stdcall MapViewOfFileExNuma( HANDLE hFileMappingObject, DWORD dwDesiredAccess, DWORD dwFileOffsetHigh, DWORD dwFileOffsetLow, SIZE_T dwNumberOfBytesToMap, LPVOID lpBaseAddress, DWORD nndPreferred ); __declspec(dllimport) BOOL __stdcall IsBadReadPtr( const void *lp, UINT_PTR ucb ); __declspec(dllimport) BOOL __stdcall IsBadWritePtr( LPVOID lp, UINT_PTR ucb ); __declspec(dllimport) BOOL __stdcall IsBadHugeReadPtr( const void *lp, UINT_PTR ucb ); __declspec(dllimport) BOOL __stdcall IsBadHugeWritePtr( LPVOID lp, UINT_PTR ucb ); __declspec(dllimport) BOOL __stdcall IsBadCodePtr( FARPROC lpfn ); __declspec(dllimport) BOOL __stdcall IsBadStringPtrA( LPCSTR lpsz, UINT_PTR ucchMax ); __declspec(dllimport) BOOL __stdcall IsBadStringPtrW( LPCWSTR lpsz, UINT_PTR ucchMax ); #pragma endregion #pragma region Application Family or OneCore Family __declspec(dllimport) BOOL __stdcall LookupAccountSidA( LPCSTR lpSystemName, PSID Sid, LPSTR Name, LPDWORD cchName, LPSTR ReferencedDomainName, LPDWORD cchReferencedDomainName, PSID_NAME_USE peUse ); __declspec(dllimport) BOOL __stdcall LookupAccountSidW( LPCWSTR lpSystemName, PSID Sid, LPWSTR Name, LPDWORD cchName, LPWSTR ReferencedDomainName, LPDWORD cchReferencedDomainName, PSID_NAME_USE peUse ); __declspec(dllimport) BOOL __stdcall LookupAccountNameA( LPCSTR lpSystemName, LPCSTR lpAccountName, PSID Sid, LPDWORD cbSid, LPSTR ReferencedDomainName, LPDWORD cchReferencedDomainName, PSID_NAME_USE peUse ); __declspec(dllimport) BOOL __stdcall LookupAccountNameW( LPCWSTR lpSystemName, LPCWSTR lpAccountName, PSID Sid, LPDWORD cbSid, LPWSTR ReferencedDomainName, LPDWORD cchReferencedDomainName, PSID_NAME_USE peUse ); #pragma endregion #pragma region Desktop Family __declspec(dllimport) BOOL __stdcall LookupAccountNameLocalA( LPCSTR lpAccountName, PSID Sid, LPDWORD cbSid, LPSTR ReferencedDomainName, LPDWORD cchReferencedDomainName, PSID_NAME_USE peUse ); __declspec(dllimport) BOOL __stdcall LookupAccountNameLocalW( LPCWSTR lpAccountName, PSID Sid, LPDWORD cbSid, LPWSTR ReferencedDomainName, LPDWORD cchReferencedDomainName, PSID_NAME_USE peUse ); __declspec(dllimport) BOOL __stdcall LookupAccountSidLocalA( PSID Sid, LPSTR Name, LPDWORD cchName, LPSTR ReferencedDomainName, LPDWORD cchReferencedDomainName, PSID_NAME_USE peUse ); __declspec(dllimport) BOOL __stdcall LookupAccountSidLocalW( PSID Sid, LPWSTR Name, LPDWORD cchName, LPWSTR ReferencedDomainName, LPDWORD cchReferencedDomainName, PSID_NAME_USE peUse ); #pragma endregion #pragma region Application Family or OneCore Family or Games Family __declspec(dllimport) BOOL __stdcall LookupPrivilegeValueA( LPCSTR lpSystemName, LPCSTR lpName, PLUID lpLuid ); __declspec(dllimport) BOOL __stdcall LookupPrivilegeValueW( LPCWSTR lpSystemName, LPCWSTR lpName, PLUID lpLuid ); __declspec(dllimport) BOOL __stdcall LookupPrivilegeNameA( LPCSTR lpSystemName, PLUID lpLuid, LPSTR lpName, LPDWORD cchName ); __declspec(dllimport) BOOL __stdcall LookupPrivilegeNameW( LPCWSTR lpSystemName, PLUID lpLuid, LPWSTR lpName, LPDWORD cchName ); __declspec(dllimport) BOOL __stdcall LookupPrivilegeDisplayNameA( LPCSTR lpSystemName, LPCSTR lpName, LPSTR lpDisplayName, LPDWORD cchDisplayName, LPDWORD lpLanguageId ); __declspec(dllimport) BOOL __stdcall LookupPrivilegeDisplayNameW( LPCWSTR lpSystemName, LPCWSTR lpName, LPWSTR lpDisplayName, LPDWORD cchDisplayName, LPDWORD lpLanguageId ); #pragma endregion #pragma region Desktop Family __declspec(dllimport) BOOL __stdcall BuildCommDCBA( LPCSTR lpDef, LPDCB lpDCB ); __declspec(dllimport) BOOL __stdcall BuildCommDCBW( LPCWSTR lpDef, LPDCB lpDCB ); __declspec(dllimport) BOOL __stdcall BuildCommDCBAndTimeoutsA( LPCSTR lpDef, LPDCB lpDCB, LPCOMMTIMEOUTS lpCommTimeouts ); __declspec(dllimport) BOOL __stdcall BuildCommDCBAndTimeoutsW( LPCWSTR lpDef, LPDCB lpDCB, LPCOMMTIMEOUTS lpCommTimeouts ); __declspec(dllimport) BOOL __stdcall CommConfigDialogA( LPCSTR lpszName, HWND hWnd, LPCOMMCONFIG lpCC ); __declspec(dllimport) BOOL __stdcall CommConfigDialogW( LPCWSTR lpszName, HWND hWnd, LPCOMMCONFIG lpCC ); __declspec(dllimport) BOOL __stdcall GetDefaultCommConfigA( LPCSTR lpszName, LPCOMMCONFIG lpCC, LPDWORD lpdwSize ); __declspec(dllimport) BOOL __stdcall GetDefaultCommConfigW( LPCWSTR lpszName, LPCOMMCONFIG lpCC, LPDWORD lpdwSize ); __declspec(dllimport) BOOL __stdcall SetDefaultCommConfigA( LPCSTR lpszName, LPCOMMCONFIG lpCC, DWORD dwSize ); __declspec(dllimport) BOOL __stdcall SetDefaultCommConfigW( LPCWSTR lpszName, LPCOMMCONFIG lpCC, DWORD dwSize ); #pragma endregion #pragma region Application Family or OneCore or Games Family __declspec(dllimport) BOOL __stdcall GetComputerNameA ( LPSTR lpBuffer, LPDWORD nSize ); __declspec(dllimport) BOOL __stdcall GetComputerNameW ( LPWSTR lpBuffer, LPDWORD nSize ); #pragma endregion #pragma region Desktop Family __declspec(dllimport) BOOL __stdcall DnsHostnameToComputerNameA ( LPCSTR Hostname, LPSTR ComputerName, LPDWORD nSize ); __declspec(dllimport) BOOL __stdcall DnsHostnameToComputerNameW ( LPCWSTR Hostname, LPWSTR ComputerName, LPDWORD nSize ); __declspec(dllimport) BOOL __stdcall GetUserNameA ( LPSTR lpBuffer, LPDWORD pcbBuffer ); __declspec(dllimport) BOOL __stdcall GetUserNameW ( LPWSTR lpBuffer, LPDWORD pcbBuffer ); __declspec(dllimport) BOOL __stdcall LogonUserA ( LPCSTR lpszUsername, LPCSTR lpszDomain, LPCSTR lpszPassword, DWORD dwLogonType, DWORD dwLogonProvider, PHANDLE phToken ); __declspec(dllimport) BOOL __stdcall LogonUserW ( LPCWSTR lpszUsername, LPCWSTR lpszDomain, LPCWSTR lpszPassword, DWORD dwLogonType, DWORD dwLogonProvider, PHANDLE phToken ); __declspec(dllimport) BOOL __stdcall LogonUserExA ( LPCSTR lpszUsername, LPCSTR lpszDomain, LPCSTR lpszPassword, DWORD dwLogonType, DWORD dwLogonProvider, PHANDLE phToken, PSID *ppLogonSid, PVOID *ppProfileBuffer, LPDWORD pdwProfileLength, PQUOTA_LIMITS pQuotaLimits ); __declspec(dllimport) BOOL __stdcall LogonUserExW ( LPCWSTR lpszUsername, LPCWSTR lpszDomain, LPCWSTR lpszPassword, DWORD dwLogonType, DWORD dwLogonProvider, PHANDLE phToken, PSID *ppLogonSid, PVOID *ppProfileBuffer, LPDWORD pdwProfileLength, PQUOTA_LIMITS pQuotaLimits ); #pragma endregion #pragma region Desktop Family __declspec(dllimport) BOOL __stdcall CreateProcessWithLogonW( LPCWSTR lpUsername, LPCWSTR lpDomain, LPCWSTR lpPassword, DWORD dwLogonFlags, LPCWSTR lpApplicationName, LPWSTR lpCommandLine, DWORD dwCreationFlags, LPVOID lpEnvironment, LPCWSTR lpCurrentDirectory, LPSTARTUPINFOW lpStartupInfo, LPPROCESS_INFORMATION lpProcessInformation ); __declspec(dllimport) BOOL __stdcall CreateProcessWithTokenW( HANDLE hToken, DWORD dwLogonFlags, LPCWSTR lpApplicationName, LPWSTR lpCommandLine, DWORD dwCreationFlags, LPVOID lpEnvironment, LPCWSTR lpCurrentDirectory, LPSTARTUPINFOW lpStartupInfo, LPPROCESS_INFORMATION lpProcessInformation ); __declspec(dllimport) BOOL __stdcall IsTokenUntrusted( HANDLE TokenHandle ); #pragma region Desktop or Games Family __declspec(dllimport) BOOL __stdcall RegisterWaitForSingleObject( PHANDLE phNewWaitObject, HANDLE hObject, WAITORTIMERCALLBACK Callback, PVOID Context, ULONG dwMilliseconds, ULONG dwFlags ); __declspec(dllimport) BOOL __stdcall UnregisterWait( HANDLE WaitHandle ); __declspec(dllimport) BOOL __stdcall BindIoCompletionCallback ( HANDLE FileHandle, LPOVERLAPPED_COMPLETION_ROUTINE Function, ULONG Flags ); __declspec(dllimport) HANDLE __stdcall SetTimerQueueTimer( HANDLE TimerQueue, WAITORTIMERCALLBACK Callback, PVOID Parameter, DWORD DueTime, DWORD Period, BOOL PreferIo ); __declspec(dllimport) BOOL __stdcall CancelTimerQueueTimer( HANDLE TimerQueue, HANDLE Timer ); __declspec(dllimport) BOOL __stdcall DeleteTimerQueue( HANDLE TimerQueue ); __forceinline void InitializeThreadpoolEnvironment( PTP_CALLBACK_ENVIRON pcbe ) { TpInitializeCallbackEnviron(pcbe); } __forceinline void SetThreadpoolCallbackPool( PTP_CALLBACK_ENVIRON pcbe, PTP_POOL ptpp ) { TpSetCallbackThreadpool(pcbe, ptpp); } __forceinline void SetThreadpoolCallbackCleanupGroup( PTP_CALLBACK_ENVIRON pcbe, PTP_CLEANUP_GROUP ptpcg, PTP_CLEANUP_GROUP_CANCEL_CALLBACK pfng ) { TpSetCallbackCleanupGroup(pcbe, ptpcg, pfng); } __forceinline void SetThreadpoolCallbackRunsLong( PTP_CALLBACK_ENVIRON pcbe ) { TpSetCallbackLongFunction(pcbe); } __forceinline void SetThreadpoolCallbackLibrary( PTP_CALLBACK_ENVIRON pcbe, PVOID mod ) { TpSetCallbackRaceWithDll(pcbe, mod); } __forceinline void SetThreadpoolCallbackPriority( PTP_CALLBACK_ENVIRON pcbe, TP_CALLBACK_PRIORITY Priority ) { TpSetCallbackPriority(pcbe, Priority); } __forceinline void DestroyThreadpoolEnvironment( PTP_CALLBACK_ENVIRON pcbe ) { TpDestroyCallbackEnviron(pcbe); } #pragma region Desktop Family __forceinline void SetThreadpoolCallbackPersistent( PTP_CALLBACK_ENVIRON pcbe ) { TpSetCallbackPersistent(pcbe); } #pragma endregion #pragma region Application Family or OneCore Family __declspec(dllimport) HANDLE __stdcall CreatePrivateNamespaceA( LPSECURITY_ATTRIBUTES lpPrivateNamespaceAttributes, LPVOID lpBoundaryDescriptor, LPCSTR lpAliasPrefix ); __declspec(dllimport) HANDLE __stdcall OpenPrivateNamespaceA( LPVOID lpBoundaryDescriptor, LPCSTR lpAliasPrefix ); __declspec(dllimport) HANDLE __stdcall CreateBoundaryDescriptorA( LPCSTR Name, ULONG Flags ); #pragma endregion #pragma region Desktop Family __declspec(dllimport) BOOL __stdcall AddIntegrityLabelToBoundaryDescriptor( HANDLE * BoundaryDescriptor, PSID IntegrityLabel ); #pragma endregion #pragma region Desktop Family typedef struct tagHW_PROFILE_INFOA { DWORD dwDockInfo; CHAR szHwProfileGuid[39]; CHAR szHwProfileName[80]; } HW_PROFILE_INFOA, *LPHW_PROFILE_INFOA; typedef struct tagHW_PROFILE_INFOW { DWORD dwDockInfo; WCHAR szHwProfileGuid[39]; WCHAR szHwProfileName[80]; } HW_PROFILE_INFOW, *LPHW_PROFILE_INFOW; typedef HW_PROFILE_INFOW HW_PROFILE_INFO; typedef LPHW_PROFILE_INFOW LPHW_PROFILE_INFO; __declspec(dllimport) BOOL __stdcall GetCurrentHwProfileA ( LPHW_PROFILE_INFOA lpHwProfileInfo ); __declspec(dllimport) BOOL __stdcall GetCurrentHwProfileW ( LPHW_PROFILE_INFOW lpHwProfileInfo ); #pragma endregion #pragma region Desktop Family or Gaming Family __declspec(dllimport) BOOL __stdcall VerifyVersionInfoA( LPOSVERSIONINFOEXA lpVersionInformation, DWORD dwTypeMask, DWORDLONG dwlConditionMask ); __declspec(dllimport) BOOL __stdcall VerifyVersionInfoW( LPOSVERSIONINFOEXW lpVersionInformation, DWORD dwTypeMask, DWORDLONG dwlConditionMask ); #pragma endregion #pragma once constexpr __forceinline HRESULT HRESULT_FROM_WIN32(unsigned long x) { return (HRESULT)(x) <= 0 ? (HRESULT)(x) : (HRESULT) (((x) & 0x0000FFFF) | (7 << 16) | 0x80000000);} #pragma once extern "C" { #pragma region Application Family or OneCore Family or Games Family typedef struct _TIME_ZONE_INFORMATION { LONG Bias; WCHAR StandardName[ 32 ]; SYSTEMTIME StandardDate; LONG StandardBias; WCHAR DaylightName[ 32 ]; SYSTEMTIME DaylightDate; LONG DaylightBias; } TIME_ZONE_INFORMATION, *PTIME_ZONE_INFORMATION, *LPTIME_ZONE_INFORMATION; typedef struct _TIME_DYNAMIC_ZONE_INFORMATION { LONG Bias; WCHAR StandardName[ 32 ]; SYSTEMTIME StandardDate; LONG StandardBias; WCHAR DaylightName[ 32 ]; SYSTEMTIME DaylightDate; LONG DaylightBias; WCHAR TimeZoneKeyName[ 128 ]; BOOLEAN DynamicDaylightTimeDisabled; } DYNAMIC_TIME_ZONE_INFORMATION, *PDYNAMIC_TIME_ZONE_INFORMATION; __declspec(dllimport) BOOL __stdcall SystemTimeToTzSpecificLocalTime( const TIME_ZONE_INFORMATION* lpTimeZoneInformation, const SYSTEMTIME* lpUniversalTime, LPSYSTEMTIME lpLocalTime ); __declspec(dllimport) BOOL __stdcall TzSpecificLocalTimeToSystemTime( const TIME_ZONE_INFORMATION* lpTimeZoneInformation, const SYSTEMTIME* lpLocalTime, LPSYSTEMTIME lpUniversalTime ); __declspec(dllimport) BOOL __stdcall FileTimeToSystemTime( const FILETIME* lpFileTime, LPSYSTEMTIME lpSystemTime ); __declspec(dllimport) BOOL __stdcall SystemTimeToFileTime( const SYSTEMTIME* lpSystemTime, LPFILETIME lpFileTime ); __declspec(dllimport) DWORD __stdcall GetTimeZoneInformation( LPTIME_ZONE_INFORMATION lpTimeZoneInformation ); __declspec(dllimport) BOOL __stdcall SetTimeZoneInformation( const TIME_ZONE_INFORMATION* lpTimeZoneInformation ); __declspec(dllimport) BOOL __stdcall SetDynamicTimeZoneInformation( const DYNAMIC_TIME_ZONE_INFORMATION* lpTimeZoneInformation ); __declspec(dllimport) DWORD __stdcall GetDynamicTimeZoneInformation( PDYNAMIC_TIME_ZONE_INFORMATION pTimeZoneInformation ); BOOL __stdcall GetTimeZoneInformationForYear( USHORT wYear, PDYNAMIC_TIME_ZONE_INFORMATION pdtzi, LPTIME_ZONE_INFORMATION ptzi ); __declspec(dllimport) DWORD __stdcall EnumDynamicTimeZoneInformation( const DWORD dwIndex, PDYNAMIC_TIME_ZONE_INFORMATION lpTimeZoneInformation ); __declspec(dllimport) DWORD __stdcall GetDynamicTimeZoneInformationEffectiveYears( const PDYNAMIC_TIME_ZONE_INFORMATION lpTimeZoneInformation, LPDWORD FirstYear, LPDWORD LastYear ); __declspec(dllimport) BOOL __stdcall SystemTimeToTzSpecificLocalTimeEx( const DYNAMIC_TIME_ZONE_INFORMATION* lpTimeZoneInformation, const SYSTEMTIME* lpUniversalTime, LPSYSTEMTIME lpLocalTime ); __declspec(dllimport) BOOL __stdcall TzSpecificLocalTimeToSystemTimeEx( const DYNAMIC_TIME_ZONE_INFORMATION* lpTimeZoneInformation, const SYSTEMTIME* lpLocalTime, LPSYSTEMTIME lpUniversalTime ); __declspec(dllimport) BOOL __stdcall LocalFileTimeToLocalSystemTime( const TIME_ZONE_INFORMATION* timeZoneInformation, const FILETIME* localFileTime, SYSTEMTIME* localSystemTime ); __declspec(dllimport) BOOL __stdcall LocalSystemTimeToLocalFileTime( const TIME_ZONE_INFORMATION* timeZoneInformation, const SYSTEMTIME* localSystemTime, FILETIME* localFileTime ); #pragma endregion } #pragma region Desktop Family __declspec(dllimport) BOOL __stdcall SetSystemPowerState( BOOL fSuspend, BOOL fForce ); #pragma endregion #pragma region Desktop or PC Family typedef struct _SYSTEM_POWER_STATUS { BYTE ACLineStatus; BYTE BatteryFlag; BYTE BatteryLifePercent; BYTE SystemStatusFlag; DWORD BatteryLifeTime; DWORD BatteryFullLifeTime; } SYSTEM_POWER_STATUS, *LPSYSTEM_POWER_STATUS; __declspec(dllimport) BOOL __stdcall GetSystemPowerStatus( LPSYSTEM_POWER_STATUS lpSystemPowerStatus ); #pragma endregion #pragma region Desktop Family __declspec(dllimport) BOOL __stdcall MapUserPhysicalPagesScatter( PVOID *VirtualAddresses, ULONG_PTR NumberOfPages, PULONG_PTR PageArray ); #pragma endregion #pragma region Desktop Family __declspec(dllimport) HANDLE __stdcall CreateJobObjectA( LPSECURITY_ATTRIBUTES lpJobAttributes, LPCSTR lpName ); __declspec(dllimport) HANDLE __stdcall OpenJobObjectA( DWORD dwDesiredAccess, BOOL bInheritHandle, LPCSTR lpName ); #pragma endregion #pragma region Desktop Family __declspec(dllimport) BOOL __stdcall CreateJobSet ( ULONG NumJob, PJOB_SET_ARRAY UserJobSet, ULONG Flags); #pragma endregion #pragma region Application Family or OneCore Family __declspec(dllimport) HANDLE __stdcall FindFirstVolumeA( LPSTR lpszVolumeName, DWORD cchBufferLength ); __declspec(dllimport) BOOL __stdcall FindNextVolumeA( HANDLE hFindVolume, LPSTR lpszVolumeName, DWORD cchBufferLength ); #pragma endregion #pragma region Desktop Family __declspec(dllimport) HANDLE __stdcall FindFirstVolumeMountPointA( LPCSTR lpszRootPathName, LPSTR lpszVolumeMountPoint, DWORD cchBufferLength ); __declspec(dllimport) HANDLE __stdcall FindFirstVolumeMountPointW( LPCWSTR lpszRootPathName, LPWSTR lpszVolumeMountPoint, DWORD cchBufferLength ); __declspec(dllimport) BOOL __stdcall FindNextVolumeMountPointA( HANDLE hFindVolumeMountPoint, LPSTR lpszVolumeMountPoint, DWORD cchBufferLength ); __declspec(dllimport) BOOL __stdcall FindNextVolumeMountPointW( HANDLE hFindVolumeMountPoint, LPWSTR lpszVolumeMountPoint, DWORD cchBufferLength ); __declspec(dllimport) BOOL __stdcall FindVolumeMountPointClose( HANDLE hFindVolumeMountPoint ); __declspec(dllimport) BOOL __stdcall SetVolumeMountPointA( LPCSTR lpszVolumeMountPoint, LPCSTR lpszVolumeName ); __declspec(dllimport) BOOL __stdcall SetVolumeMountPointW( LPCWSTR lpszVolumeMountPoint, LPCWSTR lpszVolumeName ); #pragma endregion #pragma region Application Family or OneCore Family __declspec(dllimport) BOOL __stdcall DeleteVolumeMountPointA( LPCSTR lpszVolumeMountPoint ); #pragma endregion #pragma region Desktop Family or OneCore Family __declspec(dllimport) BOOL __stdcall GetVolumeNameForVolumeMountPointA( LPCSTR lpszVolumeMountPoint, LPSTR lpszVolumeName, DWORD cchBufferLength ); #pragma endregion #pragma region Application Family or OneCore Family or Games Family __declspec(dllimport) BOOL __stdcall GetVolumePathNameA( LPCSTR lpszFileName, LPSTR lpszVolumePathName, DWORD cchBufferLength ); #pragma endregion #pragma region Desktop Family or OneCore Family __declspec(dllimport) BOOL __stdcall GetVolumePathNamesForVolumeNameA( LPCSTR lpszVolumeName, LPCH lpszVolumePathNames, DWORD cchBufferLength, PDWORD lpcchReturnLength ); typedef struct tagACTCTXA { ULONG cbSize; DWORD dwFlags; LPCSTR lpSource; USHORT wProcessorArchitecture; LANGID wLangId; LPCSTR lpAssemblyDirectory; LPCSTR lpResourceName; LPCSTR lpApplicationName; HMODULE hModule; } ACTCTXA, *PACTCTXA; typedef struct tagACTCTXW { ULONG cbSize; DWORD dwFlags; LPCWSTR lpSource; USHORT wProcessorArchitecture; LANGID wLangId; LPCWSTR lpAssemblyDirectory; LPCWSTR lpResourceName; LPCWSTR lpApplicationName; HMODULE hModule; } ACTCTXW, *PACTCTXW; typedef ACTCTXW ACTCTX; typedef PACTCTXW PACTCTX; typedef const ACTCTXA *PCACTCTXA; typedef const ACTCTXW *PCACTCTXW; typedef PCACTCTXW PCACTCTX; __declspec(dllimport) HANDLE __stdcall CreateActCtxA( PCACTCTXA pActCtx ); __declspec(dllimport) HANDLE __stdcall CreateActCtxW( PCACTCTXW pActCtx ); __declspec(dllimport) void __stdcall AddRefActCtx( HANDLE hActCtx ); __declspec(dllimport) void __stdcall ReleaseActCtx( HANDLE hActCtx ); __declspec(dllimport) BOOL __stdcall ZombifyActCtx( HANDLE hActCtx ); __declspec(dllimport) BOOL __stdcall ActivateActCtx( HANDLE hActCtx, ULONG_PTR *lpCookie ); __declspec(dllimport) BOOL __stdcall DeactivateActCtx( DWORD dwFlags, ULONG_PTR ulCookie ); __declspec(dllimport) BOOL __stdcall GetCurrentActCtx( HANDLE *lphActCtx); typedef struct tagACTCTX_SECTION_KEYED_DATA_2600 { ULONG cbSize; ULONG ulDataFormatVersion; PVOID lpData; ULONG ulLength; PVOID lpSectionGlobalData; ULONG ulSectionGlobalDataLength; PVOID lpSectionBase; ULONG ulSectionTotalLength; HANDLE hActCtx; ULONG ulAssemblyRosterIndex; } ACTCTX_SECTION_KEYED_DATA_2600, *PACTCTX_SECTION_KEYED_DATA_2600; typedef const ACTCTX_SECTION_KEYED_DATA_2600 * PCACTCTX_SECTION_KEYED_DATA_2600; typedef struct tagACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA { PVOID lpInformation; PVOID lpSectionBase; ULONG ulSectionLength; PVOID lpSectionGlobalDataBase; ULONG ulSectionGlobalDataLength; } ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA, *PACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA; typedef const ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA *PCACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA; typedef struct tagACTCTX_SECTION_KEYED_DATA { ULONG cbSize; ULONG ulDataFormatVersion; PVOID lpData; ULONG ulLength; PVOID lpSectionGlobalData; ULONG ulSectionGlobalDataLength; PVOID lpSectionBase; ULONG ulSectionTotalLength; HANDLE hActCtx; ULONG ulAssemblyRosterIndex; ULONG ulFlags; ACTCTX_SECTION_KEYED_DATA_ASSEMBLY_METADATA AssemblyMetadata; } ACTCTX_SECTION_KEYED_DATA, *PACTCTX_SECTION_KEYED_DATA; typedef const ACTCTX_SECTION_KEYED_DATA * PCACTCTX_SECTION_KEYED_DATA; __declspec(dllimport) BOOL __stdcall FindActCtxSectionStringA( DWORD dwFlags, const GUID *lpExtensionGuid, ULONG ulSectionId, LPCSTR lpStringToFind, PACTCTX_SECTION_KEYED_DATA ReturnedData ); __declspec(dllimport) BOOL __stdcall FindActCtxSectionStringW( DWORD dwFlags, const GUID *lpExtensionGuid, ULONG ulSectionId, LPCWSTR lpStringToFind, PACTCTX_SECTION_KEYED_DATA ReturnedData ); __declspec(dllimport) BOOL __stdcall FindActCtxSectionGuid( DWORD dwFlags, const GUID *lpExtensionGuid, ULONG ulSectionId, const GUID *lpGuidToFind, PACTCTX_SECTION_KEYED_DATA ReturnedData ); typedef struct _ACTIVATION_CONTEXT_BASIC_INFORMATION { HANDLE hActCtx; DWORD dwFlags; } ACTIVATION_CONTEXT_BASIC_INFORMATION, *PACTIVATION_CONTEXT_BASIC_INFORMATION; typedef const struct _ACTIVATION_CONTEXT_BASIC_INFORMATION *PCACTIVATION_CONTEXT_BASIC_INFORMATION; __declspec(dllimport) BOOL __stdcall QueryActCtxW( DWORD dwFlags, HANDLE hActCtx, PVOID pvSubInstance, ULONG ulInfoClass, PVOID pvBuffer, SIZE_T cbBuffer, SIZE_T *pcbWrittenOrRequired ); typedef BOOL (__stdcall * PQUERYACTCTXW_FUNC)( DWORD dwFlags, HANDLE hActCtx, PVOID pvSubInstance, ULONG ulInfoClass, PVOID pvBuffer, SIZE_T cbBuffer, SIZE_T *pcbWrittenOrRequired ); #pragma endregion #pragma region Desktop Family __declspec(dllimport) DWORD __stdcall WTSGetActiveConsoleSessionId( void ); __declspec(dllimport) DWORD __stdcall WTSGetServiceSessionId( void ); __declspec(dllimport) BOOLEAN __stdcall WTSIsServerContainer( void ); __declspec(dllimport) WORD __stdcall GetActiveProcessorGroupCount( void ); __declspec(dllimport) WORD __stdcall GetMaximumProcessorGroupCount( void ); __declspec(dllimport) DWORD __stdcall GetActiveProcessorCount( WORD GroupNumber ); __declspec(dllimport) DWORD __stdcall GetMaximumProcessorCount( WORD GroupNumber ); __declspec(dllimport) BOOL __stdcall GetNumaProcessorNode( UCHAR Processor, PUCHAR NodeNumber ); __declspec(dllimport) BOOL __stdcall GetNumaNodeNumberFromHandle( HANDLE hFile, PUSHORT NodeNumber ); __declspec(dllimport) BOOL __stdcall GetNumaProcessorNodeEx( PPROCESSOR_NUMBER Processor, PUSHORT NodeNumber ); __declspec(dllimport) BOOL __stdcall GetNumaNodeProcessorMask( UCHAR Node, PULONGLONG ProcessorMask ); __declspec(dllimport) BOOL __stdcall GetNumaAvailableMemoryNode( UCHAR Node, PULONGLONG AvailableBytes ); __declspec(dllimport) BOOL __stdcall GetNumaAvailableMemoryNodeEx( USHORT Node, PULONGLONG AvailableBytes ); __declspec(dllimport) BOOL __stdcall GetNumaProximityNode( ULONG ProximityId, PUCHAR NodeNumber ); #pragma endregion #pragma region Desktop Family or OneCore Family typedef DWORD (__stdcall *APPLICATION_RECOVERY_CALLBACK)(PVOID pvParameter); #pragma endregion #pragma region Desktop Family __declspec(dllimport) HRESULT __stdcall RegisterApplicationRecoveryCallback( APPLICATION_RECOVERY_CALLBACK pRecoveyCallback, PVOID pvParameter, DWORD dwPingInterval, DWORD dwFlags ); __declspec(dllimport) HRESULT __stdcall UnregisterApplicationRecoveryCallback(void); __declspec(dllimport) HRESULT __stdcall RegisterApplicationRestart( PCWSTR pwzCommandline, DWORD dwFlags ); __declspec(dllimport) HRESULT __stdcall UnregisterApplicationRestart(void); #pragma endregion #pragma region Desktop Family or OneCore Family __declspec(dllimport) HRESULT __stdcall GetApplicationRecoveryCallback( HANDLE hProcess, APPLICATION_RECOVERY_CALLBACK* pRecoveryCallback, PVOID* ppvParameter, PDWORD pdwPingInterval, PDWORD pdwFlags ); __declspec(dllimport) HRESULT __stdcall GetApplicationRestartSettings( HANDLE hProcess, PWSTR pwzCommandline, PDWORD pcchSize, PDWORD pdwFlags ); #pragma endregion #pragma region Desktop Family __declspec(dllimport) HRESULT __stdcall ApplicationRecoveryInProgress( PBOOL pbCancelled ); __declspec(dllimport) void __stdcall ApplicationRecoveryFinished( BOOL bSuccess ); #pragma endregion #pragma region Application Family or OneCore Family or Games Family typedef struct _FILE_BASIC_INFO { LARGE_INTEGER CreationTime; LARGE_INTEGER LastAccessTime; LARGE_INTEGER LastWriteTime; LARGE_INTEGER ChangeTime; DWORD FileAttributes; } FILE_BASIC_INFO, *PFILE_BASIC_INFO; typedef struct _FILE_STANDARD_INFO { LARGE_INTEGER AllocationSize; LARGE_INTEGER EndOfFile; DWORD NumberOfLinks; BOOLEAN DeletePending; BOOLEAN Directory; } FILE_STANDARD_INFO, *PFILE_STANDARD_INFO; typedef struct _FILE_NAME_INFO { DWORD FileNameLength; WCHAR FileName[1]; } FILE_NAME_INFO, *PFILE_NAME_INFO; typedef struct _FILE_CASE_SENSITIVE_INFO { ULONG Flags; } FILE_CASE_SENSITIVE_INFO, *PFILE_CASE_SENSITIVE_INFO; typedef struct _FILE_RENAME_INFO { union { BOOLEAN ReplaceIfExists; DWORD Flags; } ; HANDLE RootDirectory; DWORD FileNameLength; WCHAR FileName[1]; } FILE_RENAME_INFO, *PFILE_RENAME_INFO; typedef struct _FILE_ALLOCATION_INFO { LARGE_INTEGER AllocationSize; } FILE_ALLOCATION_INFO, *PFILE_ALLOCATION_INFO; typedef struct _FILE_END_OF_FILE_INFO { LARGE_INTEGER EndOfFile; } FILE_END_OF_FILE_INFO, *PFILE_END_OF_FILE_INFO; typedef struct _FILE_STREAM_INFO { DWORD NextEntryOffset; DWORD StreamNameLength; LARGE_INTEGER StreamSize; LARGE_INTEGER StreamAllocationSize; WCHAR StreamName[1]; } FILE_STREAM_INFO, *PFILE_STREAM_INFO; typedef struct _FILE_COMPRESSION_INFO { LARGE_INTEGER CompressedFileSize; WORD CompressionFormat; UCHAR CompressionUnitShift; UCHAR ChunkShift; UCHAR ClusterShift; UCHAR Reserved[3]; } FILE_COMPRESSION_INFO, *PFILE_COMPRESSION_INFO; typedef struct _FILE_ATTRIBUTE_TAG_INFO { DWORD FileAttributes; DWORD ReparseTag; } FILE_ATTRIBUTE_TAG_INFO, *PFILE_ATTRIBUTE_TAG_INFO; typedef struct _FILE_DISPOSITION_INFO { BOOLEAN DeleteFileW; } FILE_DISPOSITION_INFO, *PFILE_DISPOSITION_INFO; typedef struct _FILE_DISPOSITION_INFO_EX { DWORD Flags; } FILE_DISPOSITION_INFO_EX, *PFILE_DISPOSITION_INFO_EX; typedef struct _FILE_ID_BOTH_DIR_INFO { DWORD NextEntryOffset; DWORD FileIndex; LARGE_INTEGER CreationTime; LARGE_INTEGER LastAccessTime; LARGE_INTEGER LastWriteTime; LARGE_INTEGER ChangeTime; LARGE_INTEGER EndOfFile; LARGE_INTEGER AllocationSize; DWORD FileAttributes; DWORD FileNameLength; DWORD EaSize; CCHAR ShortNameLength; WCHAR ShortName[12]; LARGE_INTEGER FileId; WCHAR FileName[1]; } FILE_ID_BOTH_DIR_INFO, *PFILE_ID_BOTH_DIR_INFO; typedef struct _FILE_FULL_DIR_INFO { ULONG NextEntryOffset; ULONG FileIndex; LARGE_INTEGER CreationTime; LARGE_INTEGER LastAccessTime; LARGE_INTEGER LastWriteTime; LARGE_INTEGER ChangeTime; LARGE_INTEGER EndOfFile; LARGE_INTEGER AllocationSize; ULONG FileAttributes; ULONG FileNameLength; ULONG EaSize; WCHAR FileName[1]; } FILE_FULL_DIR_INFO, *PFILE_FULL_DIR_INFO; typedef enum _PRIORITY_HINT { IoPriorityHintVeryLow = 0, IoPriorityHintLow, IoPriorityHintNormal, MaximumIoPriorityHintType } PRIORITY_HINT; typedef struct _FILE_IO_PRIORITY_HINT_INFO { PRIORITY_HINT PriorityHint; } FILE_IO_PRIORITY_HINT_INFO, *PFILE_IO_PRIORITY_HINT_INFO; typedef struct _FILE_ALIGNMENT_INFO { ULONG AlignmentRequirement; } FILE_ALIGNMENT_INFO, *PFILE_ALIGNMENT_INFO; typedef struct _FILE_STORAGE_INFO { ULONG LogicalBytesPerSector; ULONG PhysicalBytesPerSectorForAtomicity; ULONG PhysicalBytesPerSectorForPerformance; ULONG FileSystemEffectivePhysicalBytesPerSectorForAtomicity; ULONG Flags; ULONG ByteOffsetForSectorAlignment; ULONG ByteOffsetForPartitionAlignment; } FILE_STORAGE_INFO, *PFILE_STORAGE_INFO; typedef struct _FILE_ID_INFO { ULONGLONG VolumeSerialNumber; FILE_ID_128 FileId; } FILE_ID_INFO, *PFILE_ID_INFO; typedef struct _FILE_ID_EXTD_DIR_INFO { ULONG NextEntryOffset; ULONG FileIndex; LARGE_INTEGER CreationTime; LARGE_INTEGER LastAccessTime; LARGE_INTEGER LastWriteTime; LARGE_INTEGER ChangeTime; LARGE_INTEGER EndOfFile; LARGE_INTEGER AllocationSize; ULONG FileAttributes; ULONG FileNameLength; ULONG EaSize; ULONG ReparsePointTag; FILE_ID_128 FileId; WCHAR FileName[1]; } FILE_ID_EXTD_DIR_INFO, *PFILE_ID_EXTD_DIR_INFO; typedef struct _FILE_REMOTE_PROTOCOL_INFO { USHORT StructureVersion; USHORT StructureSize; ULONG Protocol; USHORT ProtocolMajorVersion; USHORT ProtocolMinorVersion; USHORT ProtocolRevision; USHORT Reserved; ULONG Flags; struct { ULONG Reserved[8]; } GenericReserved; union { struct { struct { ULONG Capabilities; } Server; struct { ULONG Capabilities; ULONG CachingFlags; } Share; } Smb2; ULONG Reserved[16]; } ProtocolSpecific; } FILE_REMOTE_PROTOCOL_INFO, *PFILE_REMOTE_PROTOCOL_INFO; __declspec(dllimport) BOOL __stdcall GetFileInformationByHandleEx( HANDLE hFile, FILE_INFO_BY_HANDLE_CLASS FileInformationClass, LPVOID lpFileInformation, DWORD dwBufferSize ); #pragma endregion #pragma region Desktop Family or OneCore Family typedef enum _FILE_ID_TYPE { FileIdType, ObjectIdType, ExtendedFileIdType, MaximumFileIdType } FILE_ID_TYPE, *PFILE_ID_TYPE; typedef struct FILE_ID_DESCRIPTOR { DWORD dwSize; FILE_ID_TYPE Type; union { LARGE_INTEGER FileId; GUID ObjectId; FILE_ID_128 ExtendedFileId; } ; } FILE_ID_DESCRIPTOR, *LPFILE_ID_DESCRIPTOR; __declspec(dllimport) HANDLE __stdcall OpenFileById ( HANDLE hVolumeHint, LPFILE_ID_DESCRIPTOR lpFileId, DWORD dwDesiredAccess, DWORD dwShareMode, LPSECURITY_ATTRIBUTES lpSecurityAttributes, DWORD dwFlagsAndAttributes ); #pragma endregion #pragma region Desktop Family or OneCore Family __declspec(dllimport) BOOLEAN __stdcall CreateSymbolicLinkA ( LPCSTR lpSymlinkFileName, LPCSTR lpTargetFileName, DWORD dwFlags ); __declspec(dllimport) BOOLEAN __stdcall CreateSymbolicLinkW ( LPCWSTR lpSymlinkFileName, LPCWSTR lpTargetFileName, DWORD dwFlags ); __declspec(dllimport) BOOL __stdcall QueryActCtxSettingsW( DWORD dwFlags, HANDLE hActCtx, PCWSTR settingsNameSpace, PCWSTR settingName, PWSTR pvBuffer, SIZE_T dwBuffer, SIZE_T *pdwWrittenOrRequired ); #pragma endregion #pragma region Desktop Family __declspec(dllimport) BOOLEAN __stdcall CreateSymbolicLinkTransactedA ( LPCSTR lpSymlinkFileName, LPCSTR lpTargetFileName, DWORD dwFlags, HANDLE hTransaction ); __declspec(dllimport) BOOLEAN __stdcall CreateSymbolicLinkTransactedW ( LPCWSTR lpSymlinkFileName, LPCWSTR lpTargetFileName, DWORD dwFlags, HANDLE hTransaction ); __declspec(dllimport) BOOL __stdcall ReplacePartitionUnit ( PWSTR TargetPartition, PWSTR SparePartition, ULONG Flags ); __declspec(dllimport) BOOL __stdcall AddSecureMemoryCacheCallback( PSECURE_MEMORY_CACHE_CALLBACK pfnCallBack ); __declspec(dllimport) BOOL __stdcall RemoveSecureMemoryCacheCallback( PSECURE_MEMORY_CACHE_CALLBACK pfnCallBack ); #pragma endregion #pragma region Desktop Family or OneCore Family or Games Family __declspec(dllimport) BOOL __stdcall CopyContext( PCONTEXT Destination, DWORD ContextFlags, PCONTEXT Source ); #pragma endregion #pragma region Application Family or OneCore Family or Games Family __declspec(dllimport) BOOL __stdcall InitializeContext( PVOID Buffer, DWORD ContextFlags, PCONTEXT* Context, PDWORD ContextLength ); #pragma endregion #pragma region Application Family or OneCore Family or Games Family __declspec(dllimport) BOOL __stdcall InitializeContext2( PVOID Buffer, DWORD ContextFlags, PCONTEXT* Context, PDWORD ContextLength, ULONG64 XStateCompactionMask ); #pragma endregion #pragma region Application Family or OneCore Family or Games Family __declspec(dllimport) DWORD64 __stdcall GetEnabledXStateFeatures( void ); __declspec(dllimport) BOOL __stdcall GetXStateFeaturesMask( PCONTEXT Context, PDWORD64 FeatureMask ); __declspec(dllimport) PVOID __stdcall LocateXStateFeature( PCONTEXT Context, DWORD FeatureId, PDWORD Length ); __declspec(dllimport) BOOL __stdcall SetXStateFeaturesMask( PCONTEXT Context, DWORD64 FeatureMask ); #pragma endregion #pragma region Desktop Family __declspec(dllimport) DWORD __stdcall EnableThreadProfiling( HANDLE ThreadHandle, DWORD Flags, DWORD64 HardwareCounters, HANDLE *PerformanceDataHandle ); __declspec(dllimport) DWORD __stdcall DisableThreadProfiling( HANDLE PerformanceDataHandle ); __declspec(dllimport) DWORD __stdcall QueryThreadProfiling( HANDLE ThreadHandle, PBOOLEAN Enabled ); __declspec(dllimport) DWORD __stdcall ReadThreadProfilingData( HANDLE PerformanceDataHandle, DWORD Flags, PPERFORMANCE_DATA PerformanceData ); #pragma endregion #pragma region Desktop Family or OneCore Family __declspec(dllimport) DWORD __stdcall RaiseCustomSystemEventTrigger( PCUSTOM_SYSTEM_EVENT_TRIGGER_CONFIG CustomSystemEventTriggerConfig ); #pragma endregion } #pragma warning(pop) #pragma once extern "C++" { __forceinline unsigned _InterlockedIncrement( unsigned volatile *Addend ) { return (unsigned) _InterlockedIncrement((volatile long*) Addend); } __forceinline unsigned long _InterlockedIncrement( unsigned long volatile *Addend ) { return (unsigned long) _InterlockedIncrement((volatile long*) Addend); } __forceinline unsigned __int64 _InterlockedIncrement( unsigned __int64 volatile *Addend ) { return (unsigned __int64) (_InterlockedIncrement64)((volatile __int64*) Addend); } __forceinline unsigned _InterlockedDecrement( unsigned volatile *Addend ) { return (unsigned long) _InterlockedDecrement((volatile long*) Addend); } __forceinline unsigned long _InterlockedDecrement( unsigned long volatile *Addend ) { return (unsigned long) _InterlockedDecrement((volatile long*) Addend); } __forceinline unsigned __int64 _InterlockedDecrement( unsigned __int64 volatile *Addend ) { return (unsigned __int64) (_InterlockedDecrement64)((volatile __int64*) Addend); } __forceinline unsigned _InterlockedExchange( unsigned volatile *Target, unsigned Value ) { return (unsigned) _InterlockedExchange((volatile long*) Target, (long) Value); } __forceinline unsigned long _InterlockedExchange( unsigned long volatile *Target, unsigned long Value ) { return (unsigned long) _InterlockedExchange((volatile long*) Target, (long) Value); } __forceinline unsigned __int64 _InterlockedExchange( unsigned __int64 volatile *Target, unsigned __int64 Value ) { return (unsigned __int64) _InterlockedExchange64((volatile __int64*) Target, (__int64) Value); } __forceinline unsigned _InterlockedExchangeAdd( unsigned volatile *Addend, unsigned Value ) { return (unsigned) _InterlockedExchangeAdd((volatile long*) Addend, (long) Value); } __forceinline unsigned InterlockedExchangeSubtract( unsigned volatile *Addend, unsigned Value ) { return (unsigned) _InterlockedExchangeAdd((volatile long*) Addend, - (long) Value); } __forceinline unsigned long _InterlockedExchangeAdd( unsigned long volatile *Addend, unsigned long Value ) { return (unsigned long) _InterlockedExchangeAdd((volatile long*) Addend, (long) Value); } __forceinline unsigned long InterlockedExchangeSubtract( unsigned long volatile *Addend, unsigned long Value ) { return (unsigned long) _InterlockedExchangeAdd((volatile long*) Addend, - (long) Value); } __forceinline unsigned __int64 _InterlockedExchangeAdd( unsigned __int64 volatile *Addend, unsigned __int64 Value ) { return (unsigned __int64) _InterlockedExchangeAdd64((volatile __int64*) Addend, (__int64) Value); } __forceinline unsigned __int64 InterlockedExchangeSubtract( unsigned __int64 volatile *Addend, unsigned __int64 Value ) { return (unsigned __int64) _InterlockedExchangeAdd64((volatile __int64*) Addend, - (__int64) Value); } __forceinline unsigned _InterlockedCompareExchange( unsigned volatile *Destination, unsigned Exchange, unsigned Comperand ) { return (unsigned) _InterlockedCompareExchange((volatile long*) Destination, (long) Exchange, (long) Comperand); } __forceinline unsigned long _InterlockedCompareExchange( unsigned long volatile *Destination, unsigned long Exchange, unsigned long Comperand ) { return (unsigned long) _InterlockedCompareExchange((volatile long*) Destination, (long) Exchange, (long) Comperand); } __forceinline unsigned __int64 _InterlockedCompareExchange( unsigned __int64 volatile *Destination, unsigned __int64 Exchange, unsigned __int64 Comperand ) { return (unsigned __int64) _InterlockedCompareExchange64((volatile __int64*) Destination, (__int64) Exchange, (__int64) Comperand); } __forceinline unsigned __int64 _InterlockedAnd( unsigned __int64 volatile *Destination, unsigned __int64 Value ) { return (unsigned __int64) _InterlockedAnd64((volatile __int64*) Destination, (__int64) Value); } __forceinline unsigned __int64 _InterlockedOr( unsigned __int64 volatile *Destination, unsigned __int64 Value ) { return (unsigned __int64) _InterlockedOr64((volatile __int64*) Destination, (__int64) Value); } __forceinline unsigned __int64 _InterlockedXor( unsigned __int64 volatile *Destination, unsigned __int64 Value ) { return (unsigned __int64) _InterlockedXor64((volatile __int64*) Destination, (__int64) Value); } } #pragma once #pragma warning(push) #pragma warning(disable: 4201) #pragma warning(disable: 4820) extern "C" { #pragma region Desktop Family typedef struct _DRAWPATRECT { POINT ptPosition; POINT ptSize; WORD wStyle; WORD wPattern; } DRAWPATRECT, *PDRAWPATRECT; #pragma endregion #pragma region Desktop Family typedef struct _PSINJECTDATA { DWORD DataBytes; WORD InjectionPoint; WORD PageNumber; } PSINJECTDATA, *PPSINJECTDATA; #pragma endregion #pragma region Desktop Family typedef struct _PSFEATURE_OUTPUT { BOOL bPageIndependent; BOOL bSetPageDevice; } PSFEATURE_OUTPUT, *PPSFEATURE_OUTPUT; typedef struct _PSFEATURE_CUSTPAPER { LONG lOrientation; LONG lWidth; LONG lHeight; LONG lWidthOffset; LONG lHeightOffset; } PSFEATURE_CUSTPAPER, *PPSFEATURE_CUSTPAPER; #pragma endregion #pragma region Application Family typedef struct tagXFORM { FLOAT eM11; FLOAT eM12; FLOAT eM21; FLOAT eM22; FLOAT eDx; FLOAT eDy; } XFORM, *PXFORM, *LPXFORM; typedef struct tagBITMAP { LONG bmType; LONG bmWidth; LONG bmHeight; LONG bmWidthBytes; WORD bmPlanes; WORD bmBitsPixel; LPVOID bmBits; } BITMAP, *PBITMAP, *NPBITMAP, *LPBITMAP; #pragma endregion #pragma warning(disable:4103) #pragma pack(push,1) #pragma region Application Family typedef struct tagRGBTRIPLE { BYTE rgbtBlue; BYTE rgbtGreen; BYTE rgbtRed; } RGBTRIPLE, *PRGBTRIPLE, *NPRGBTRIPLE, *LPRGBTRIPLE; #pragma endregion #pragma warning(disable:4103) #pragma pack(pop) #pragma region Application Family typedef struct tagRGBQUAD { BYTE rgbBlue; BYTE rgbGreen; BYTE rgbRed; BYTE rgbReserved; } RGBQUAD; #pragma endregion #pragma region Desktop Family typedef RGBQUAD * LPRGBQUAD; #pragma endregion #pragma region Application Family typedef LONG LCSCSTYPE; typedef LONG LCSGAMUTMATCH; typedef long FXPT16DOT16, *LPFXPT16DOT16; typedef long FXPT2DOT30, *LPFXPT2DOT30; typedef struct tagCIEXYZ { FXPT2DOT30 ciexyzX; FXPT2DOT30 ciexyzY; FXPT2DOT30 ciexyzZ; } CIEXYZ; #pragma endregion #pragma region Desktop Family typedef CIEXYZ *LPCIEXYZ; #pragma endregion #pragma region Application Family typedef struct tagICEXYZTRIPLE { CIEXYZ ciexyzRed; CIEXYZ ciexyzGreen; CIEXYZ ciexyzBlue; } CIEXYZTRIPLE; #pragma endregion #pragma region Desktop Family typedef CIEXYZTRIPLE *LPCIEXYZTRIPLE; #pragma endregion #pragma region Application Family typedef struct tagLOGCOLORSPACEA { DWORD lcsSignature; DWORD lcsVersion; DWORD lcsSize; LCSCSTYPE lcsCSType; LCSGAMUTMATCH lcsIntent; CIEXYZTRIPLE lcsEndpoints; DWORD lcsGammaRed; DWORD lcsGammaGreen; DWORD lcsGammaBlue; CHAR lcsFilename[260]; } LOGCOLORSPACEA, *LPLOGCOLORSPACEA; typedef struct tagLOGCOLORSPACEW { DWORD lcsSignature; DWORD lcsVersion; DWORD lcsSize; LCSCSTYPE lcsCSType; LCSGAMUTMATCH lcsIntent; CIEXYZTRIPLE lcsEndpoints; DWORD lcsGammaRed; DWORD lcsGammaGreen; DWORD lcsGammaBlue; WCHAR lcsFilename[260]; } LOGCOLORSPACEW, *LPLOGCOLORSPACEW; typedef LOGCOLORSPACEW LOGCOLORSPACE; typedef LPLOGCOLORSPACEW LPLOGCOLORSPACE; #pragma endregion #pragma region Desktop Family typedef struct tagBITMAPCOREHEADER { DWORD bcSize; WORD bcWidth; WORD bcHeight; WORD bcPlanes; WORD bcBitCount; } BITMAPCOREHEADER, *LPBITMAPCOREHEADER, *PBITMAPCOREHEADER; #pragma endregion #pragma region Application Family or OneCore Family or Games Family typedef struct tagBITMAPINFOHEADER{ DWORD biSize; LONG biWidth; LONG biHeight; WORD biPlanes; WORD biBitCount; DWORD biCompression; DWORD biSizeImage; LONG biXPelsPerMeter; LONG biYPelsPerMeter; DWORD biClrUsed; DWORD biClrImportant; } BITMAPINFOHEADER, *LPBITMAPINFOHEADER, *PBITMAPINFOHEADER; #pragma endregion #pragma region Desktop Family typedef struct { DWORD bV4Size; LONG bV4Width; LONG bV4Height; WORD bV4Planes; WORD bV4BitCount; DWORD bV4V4Compression; DWORD bV4SizeImage; LONG bV4XPelsPerMeter; LONG bV4YPelsPerMeter; DWORD bV4ClrUsed; DWORD bV4ClrImportant; DWORD bV4RedMask; DWORD bV4GreenMask; DWORD bV4BlueMask; DWORD bV4AlphaMask; DWORD bV4CSType; CIEXYZTRIPLE bV4Endpoints; DWORD bV4GammaRed; DWORD bV4GammaGreen; DWORD bV4GammaBlue; } BITMAPV4HEADER, *LPBITMAPV4HEADER, *PBITMAPV4HEADER; #pragma endregion #pragma region Desktop Family typedef struct { DWORD bV5Size; LONG bV5Width; LONG bV5Height; WORD bV5Planes; WORD bV5BitCount; DWORD bV5Compression; DWORD bV5SizeImage; LONG bV5XPelsPerMeter; LONG bV5YPelsPerMeter; DWORD bV5ClrUsed; DWORD bV5ClrImportant; DWORD bV5RedMask; DWORD bV5GreenMask; DWORD bV5BlueMask; DWORD bV5AlphaMask; DWORD bV5CSType; CIEXYZTRIPLE bV5Endpoints; DWORD bV5GammaRed; DWORD bV5GammaGreen; DWORD bV5GammaBlue; DWORD bV5Intent; DWORD bV5ProfileData; DWORD bV5ProfileSize; DWORD bV5Reserved; } BITMAPV5HEADER, *LPBITMAPV5HEADER, *PBITMAPV5HEADER; #pragma endregion #pragma region Application Family typedef struct tagBITMAPINFO { BITMAPINFOHEADER bmiHeader; RGBQUAD bmiColors[1]; } BITMAPINFO, *LPBITMAPINFO, *PBITMAPINFO; #pragma endregion #pragma region Desktop Family typedef struct tagBITMAPCOREINFO { BITMAPCOREHEADER bmciHeader; RGBTRIPLE bmciColors[1]; } BITMAPCOREINFO, *LPBITMAPCOREINFO, *PBITMAPCOREINFO; #pragma endregion #pragma warning(disable:4103) #pragma pack(push,2) #pragma region Desktop Family typedef struct tagBITMAPFILEHEADER { WORD bfType; DWORD bfSize; WORD bfReserved1; WORD bfReserved2; DWORD bfOffBits; } BITMAPFILEHEADER, *LPBITMAPFILEHEADER, *PBITMAPFILEHEADER; #pragma endregion #pragma warning(disable:4103) #pragma pack(pop) #pragma region Application Family typedef struct tagFONTSIGNATURE { DWORD fsUsb[4]; DWORD fsCsb[2]; } FONTSIGNATURE, *PFONTSIGNATURE, *LPFONTSIGNATURE; #pragma endregion #pragma region Desktop Family typedef struct tagCHARSETINFO { UINT ciCharset; UINT ciACP; FONTSIGNATURE fs; } CHARSETINFO, *PCHARSETINFO, *NPCHARSETINFO, *LPCHARSETINFO; #pragma endregion #pragma region Application Family typedef struct tagLOCALESIGNATURE { DWORD lsUsb[4]; DWORD lsCsbDefault[2]; DWORD lsCsbSupported[2]; } LOCALESIGNATURE, *PLOCALESIGNATURE, *LPLOCALESIGNATURE; #pragma endregion #pragma region Application Family typedef struct tagHANDLETABLE { HGDIOBJ objectHandle[1]; } HANDLETABLE, *PHANDLETABLE, *LPHANDLETABLE; typedef struct tagMETARECORD { DWORD rdSize; WORD rdFunction; WORD rdParm[1]; } METARECORD; #pragma endregion #pragma region Desktop Family typedef struct tagMETARECORD __unaligned *PMETARECORD; #pragma endregion #pragma region Application Family typedef struct tagMETARECORD __unaligned *LPMETARECORD; typedef struct tagMETAFILEPICT { LONG mm; LONG xExt; LONG yExt; HMETAFILE hMF; } METAFILEPICT, *LPMETAFILEPICT; #pragma endregion #pragma warning(disable:4103) #pragma pack(push,2) #pragma region Desktop Family typedef struct tagMETAHEADER { WORD mtType; WORD mtHeaderSize; WORD mtVersion; DWORD mtSize; WORD mtNoObjects; DWORD mtMaxRecord; WORD mtNoParameters; } METAHEADER; typedef struct tagMETAHEADER __unaligned *PMETAHEADER; typedef struct tagMETAHEADER __unaligned *LPMETAHEADER; #pragma endregion #pragma warning(disable:4103) #pragma pack(pop) #pragma region Application Family typedef struct tagENHMETARECORD { DWORD iType; DWORD nSize; DWORD dParm[1]; } ENHMETARECORD, *PENHMETARECORD, *LPENHMETARECORD; typedef struct tagENHMETAHEADER { DWORD iType; DWORD nSize; RECTL rclBounds; RECTL rclFrame; DWORD dSignature; DWORD nVersion; DWORD nBytes; DWORD nRecords; WORD nHandles; WORD sReserved; DWORD nDescription; DWORD offDescription; DWORD nPalEntries; SIZEL szlDevice; SIZEL szlMillimeters; DWORD cbPixelFormat; DWORD offPixelFormat; DWORD bOpenGL; SIZEL szlMicrometers; } ENHMETAHEADER, *PENHMETAHEADER, *LPENHMETAHEADER; #pragma endregion #pragma region Desktop Family typedef WCHAR BCHAR; #pragma endregion #pragma warning(disable:4103) #pragma pack(push,4) #pragma region Application Family typedef struct tagTEXTMETRICA { LONG tmHeight; LONG tmAscent; LONG tmDescent; LONG tmInternalLeading; LONG tmExternalLeading; LONG tmAveCharWidth; LONG tmMaxCharWidth; LONG tmWeight; LONG tmOverhang; LONG tmDigitizedAspectX; LONG tmDigitizedAspectY; BYTE tmFirstChar; BYTE tmLastChar; BYTE tmDefaultChar; BYTE tmBreakChar; BYTE tmItalic; BYTE tmUnderlined; BYTE tmStruckOut; BYTE tmPitchAndFamily; BYTE tmCharSet; } TEXTMETRICA, *PTEXTMETRICA, *NPTEXTMETRICA, *LPTEXTMETRICA; typedef struct tagTEXTMETRICW { LONG tmHeight; LONG tmAscent; LONG tmDescent; LONG tmInternalLeading; LONG tmExternalLeading; LONG tmAveCharWidth; LONG tmMaxCharWidth; LONG tmWeight; LONG tmOverhang; LONG tmDigitizedAspectX; LONG tmDigitizedAspectY; WCHAR tmFirstChar; WCHAR tmLastChar; WCHAR tmDefaultChar; WCHAR tmBreakChar; BYTE tmItalic; BYTE tmUnderlined; BYTE tmStruckOut; BYTE tmPitchAndFamily; BYTE tmCharSet; } TEXTMETRICW, *PTEXTMETRICW, *NPTEXTMETRICW, *LPTEXTMETRICW; typedef TEXTMETRICW TEXTMETRIC; typedef PTEXTMETRICW PTEXTMETRIC; typedef NPTEXTMETRICW NPTEXTMETRIC; typedef LPTEXTMETRICW LPTEXTMETRIC; #pragma endregion #pragma warning(disable:4103) #pragma pack(pop) #pragma warning(disable:4103) #pragma pack(push,4) #pragma region Desktop Family typedef struct tagNEWTEXTMETRICA { LONG tmHeight; LONG tmAscent; LONG tmDescent; LONG tmInternalLeading; LONG tmExternalLeading; LONG tmAveCharWidth; LONG tmMaxCharWidth; LONG tmWeight; LONG tmOverhang; LONG tmDigitizedAspectX; LONG tmDigitizedAspectY; BYTE tmFirstChar; BYTE tmLastChar; BYTE tmDefaultChar; BYTE tmBreakChar; BYTE tmItalic; BYTE tmUnderlined; BYTE tmStruckOut; BYTE tmPitchAndFamily; BYTE tmCharSet; DWORD ntmFlags; UINT ntmSizeEM; UINT ntmCellHeight; UINT ntmAvgWidth; } NEWTEXTMETRICA, *PNEWTEXTMETRICA, *NPNEWTEXTMETRICA, *LPNEWTEXTMETRICA; typedef struct tagNEWTEXTMETRICW { LONG tmHeight; LONG tmAscent; LONG tmDescent; LONG tmInternalLeading; LONG tmExternalLeading; LONG tmAveCharWidth; LONG tmMaxCharWidth; LONG tmWeight; LONG tmOverhang; LONG tmDigitizedAspectX; LONG tmDigitizedAspectY; WCHAR tmFirstChar; WCHAR tmLastChar; WCHAR tmDefaultChar; WCHAR tmBreakChar; BYTE tmItalic; BYTE tmUnderlined; BYTE tmStruckOut; BYTE tmPitchAndFamily; BYTE tmCharSet; DWORD ntmFlags; UINT ntmSizeEM; UINT ntmCellHeight; UINT ntmAvgWidth; } NEWTEXTMETRICW, *PNEWTEXTMETRICW, *NPNEWTEXTMETRICW, *LPNEWTEXTMETRICW; typedef NEWTEXTMETRICW NEWTEXTMETRIC; typedef PNEWTEXTMETRICW PNEWTEXTMETRIC; typedef NPNEWTEXTMETRICW NPNEWTEXTMETRIC; typedef LPNEWTEXTMETRICW LPNEWTEXTMETRIC; #pragma endregion #pragma warning(disable:4103) #pragma pack(pop) #pragma region Desktop Family typedef struct tagNEWTEXTMETRICEXA { NEWTEXTMETRICA ntmTm; FONTSIGNATURE ntmFontSig; }NEWTEXTMETRICEXA; typedef struct tagNEWTEXTMETRICEXW { NEWTEXTMETRICW ntmTm; FONTSIGNATURE ntmFontSig; }NEWTEXTMETRICEXW; typedef NEWTEXTMETRICEXW NEWTEXTMETRICEX; #pragma endregion #pragma region Desktop Family typedef struct tagPELARRAY { LONG paXCount; LONG paYCount; LONG paXExt; LONG paYExt; BYTE paRGBs; } PELARRAY, *PPELARRAY, *NPPELARRAY, *LPPELARRAY; #pragma endregion #pragma region Application Family typedef struct tagLOGBRUSH { UINT lbStyle; COLORREF lbColor; ULONG_PTR lbHatch; } LOGBRUSH, *PLOGBRUSH, *NPLOGBRUSH, *LPLOGBRUSH; typedef struct tagLOGBRUSH32 { UINT lbStyle; COLORREF lbColor; ULONG lbHatch; } LOGBRUSH32, *PLOGBRUSH32, *NPLOGBRUSH32, *LPLOGBRUSH32; #pragma endregion #pragma region Desktop Family typedef LOGBRUSH PATTERN; typedef PATTERN *PPATTERN; typedef PATTERN *NPPATTERN; typedef PATTERN *LPPATTERN; #pragma endregion #pragma region Application Family typedef struct tagLOGPEN { UINT lopnStyle; POINT lopnWidth; COLORREF lopnColor; } LOGPEN, *PLOGPEN, *NPLOGPEN, *LPLOGPEN; #pragma endregion #pragma region Desktop Family typedef struct tagEXTLOGPEN { DWORD elpPenStyle; DWORD elpWidth; UINT elpBrushStyle; COLORREF elpColor; ULONG_PTR elpHatch; DWORD elpNumEntries; DWORD elpStyleEntry[1]; } EXTLOGPEN, *PEXTLOGPEN, *NPEXTLOGPEN, *LPEXTLOGPEN; #pragma endregion #pragma region Application Family typedef struct tagEXTLOGPEN32 { DWORD elpPenStyle; DWORD elpWidth; UINT elpBrushStyle; COLORREF elpColor; ULONG elpHatch; DWORD elpNumEntries; DWORD elpStyleEntry[1]; } EXTLOGPEN32, *PEXTLOGPEN32, *NPEXTLOGPEN32, *LPEXTLOGPEN32; typedef struct tagPALETTEENTRY { BYTE peRed; BYTE peGreen; BYTE peBlue; BYTE peFlags; } PALETTEENTRY, *PPALETTEENTRY, *LPPALETTEENTRY; typedef struct tagLOGPALETTE { WORD palVersion; WORD palNumEntries; PALETTEENTRY palPalEntry[1]; } LOGPALETTE, *PLOGPALETTE, *NPLOGPALETTE, *LPLOGPALETTE; typedef struct tagLOGFONTA { LONG lfHeight; LONG lfWidth; LONG lfEscapement; LONG lfOrientation; LONG lfWeight; BYTE lfItalic; BYTE lfUnderline; BYTE lfStrikeOut; BYTE lfCharSet; BYTE lfOutPrecision; BYTE lfClipPrecision; BYTE lfQuality; BYTE lfPitchAndFamily; CHAR lfFaceName[32]; } LOGFONTA, *PLOGFONTA, *NPLOGFONTA, *LPLOGFONTA; typedef struct tagLOGFONTW { LONG lfHeight; LONG lfWidth; LONG lfEscapement; LONG lfOrientation; LONG lfWeight; BYTE lfItalic; BYTE lfUnderline; BYTE lfStrikeOut; BYTE lfCharSet; BYTE lfOutPrecision; BYTE lfClipPrecision; BYTE lfQuality; BYTE lfPitchAndFamily; WCHAR lfFaceName[32]; } LOGFONTW, *PLOGFONTW, *NPLOGFONTW, *LPLOGFONTW; typedef LOGFONTW LOGFONT; typedef PLOGFONTW PLOGFONT; typedef NPLOGFONTW NPLOGFONT; typedef LPLOGFONTW LPLOGFONT; #pragma endregion #pragma region Desktop Family typedef struct tagENUMLOGFONTA { LOGFONTA elfLogFont; BYTE elfFullName[64]; BYTE elfStyle[32]; } ENUMLOGFONTA, * LPENUMLOGFONTA; typedef struct tagENUMLOGFONTW { LOGFONTW elfLogFont; WCHAR elfFullName[64]; WCHAR elfStyle[32]; } ENUMLOGFONTW, * LPENUMLOGFONTW; typedef ENUMLOGFONTW ENUMLOGFONT; typedef LPENUMLOGFONTW LPENUMLOGFONT; typedef struct tagENUMLOGFONTEXA { LOGFONTA elfLogFont; BYTE elfFullName[64]; BYTE elfStyle[32]; BYTE elfScript[32]; } ENUMLOGFONTEXA, *LPENUMLOGFONTEXA; typedef struct tagENUMLOGFONTEXW { LOGFONTW elfLogFont; WCHAR elfFullName[64]; WCHAR elfStyle[32]; WCHAR elfScript[32]; } ENUMLOGFONTEXW, *LPENUMLOGFONTEXW; typedef ENUMLOGFONTEXW ENUMLOGFONTEX; typedef LPENUMLOGFONTEXW LPENUMLOGFONTEX; #pragma endregion #pragma region Application Family typedef struct tagPANOSE { BYTE bFamilyType; BYTE bSerifStyle; BYTE bWeight; BYTE bProportion; BYTE bContrast; BYTE bStrokeVariation; BYTE bArmStyle; BYTE bLetterform; BYTE bMidline; BYTE bXHeight; } PANOSE, * LPPANOSE; typedef struct tagEXTLOGFONTA { LOGFONTA elfLogFont; BYTE elfFullName[64]; BYTE elfStyle[32]; DWORD elfVersion; DWORD elfStyleSize; DWORD elfMatch; DWORD elfReserved; BYTE elfVendorId[4]; DWORD elfCulture; PANOSE elfPanose; } EXTLOGFONTA, *PEXTLOGFONTA, *NPEXTLOGFONTA, *LPEXTLOGFONTA; typedef struct tagEXTLOGFONTW { LOGFONTW elfLogFont; WCHAR elfFullName[64]; WCHAR elfStyle[32]; DWORD elfVersion; DWORD elfStyleSize; DWORD elfMatch; DWORD elfReserved; BYTE elfVendorId[4]; DWORD elfCulture; PANOSE elfPanose; } EXTLOGFONTW, *PEXTLOGFONTW, *NPEXTLOGFONTW, *LPEXTLOGFONTW; typedef EXTLOGFONTW EXTLOGFONT; typedef PEXTLOGFONTW PEXTLOGFONT; typedef NPEXTLOGFONTW NPEXTLOGFONT; typedef LPEXTLOGFONTW LPEXTLOGFONT; #pragma endregion #pragma region Application Family typedef struct _devicemodeA { BYTE dmDeviceName[32]; WORD dmSpecVersion; WORD dmDriverVersion; WORD dmSize; WORD dmDriverExtra; DWORD dmFields; union { struct { short dmOrientation; short dmPaperSize; short dmPaperLength; short dmPaperWidth; short dmScale; short dmCopies; short dmDefaultSource; short dmPrintQuality; } ; struct { POINTL dmPosition; DWORD dmDisplayOrientation; DWORD dmDisplayFixedOutput; } ; } ; short dmColor; short dmDuplex; short dmYResolution; short dmTTOption; short dmCollate; BYTE dmFormName[32]; WORD dmLogPixels; DWORD dmBitsPerPel; DWORD dmPelsWidth; DWORD dmPelsHeight; union { DWORD dmDisplayFlags; DWORD dmNup; } ; DWORD dmDisplayFrequency; DWORD dmICMMethod; DWORD dmICMIntent; DWORD dmMediaType; DWORD dmDitherType; DWORD dmReserved1; DWORD dmReserved2; DWORD dmPanningWidth; DWORD dmPanningHeight; } DEVMODEA, *PDEVMODEA, *NPDEVMODEA, *LPDEVMODEA; typedef struct _devicemodeW { WCHAR dmDeviceName[32]; WORD dmSpecVersion; WORD dmDriverVersion; WORD dmSize; WORD dmDriverExtra; DWORD dmFields; union { struct { short dmOrientation; short dmPaperSize; short dmPaperLength; short dmPaperWidth; short dmScale; short dmCopies; short dmDefaultSource; short dmPrintQuality; } ; struct { POINTL dmPosition; DWORD dmDisplayOrientation; DWORD dmDisplayFixedOutput; } ; } ; short dmColor; short dmDuplex; short dmYResolution; short dmTTOption; short dmCollate; WCHAR dmFormName[32]; WORD dmLogPixels; DWORD dmBitsPerPel; DWORD dmPelsWidth; DWORD dmPelsHeight; union { DWORD dmDisplayFlags; DWORD dmNup; } ; DWORD dmDisplayFrequency; DWORD dmICMMethod; DWORD dmICMIntent; DWORD dmMediaType; DWORD dmDitherType; DWORD dmReserved1; DWORD dmReserved2; DWORD dmPanningWidth; DWORD dmPanningHeight; } DEVMODEW, *PDEVMODEW, *NPDEVMODEW, *LPDEVMODEW; typedef DEVMODEW DEVMODE; typedef PDEVMODEW PDEVMODE; typedef NPDEVMODEW NPDEVMODE; typedef LPDEVMODEW LPDEVMODE; #pragma endregion #pragma region Application Family typedef struct _DISPLAY_DEVICEA { DWORD cb; CHAR DeviceName[32]; CHAR DeviceString[128]; DWORD StateFlags; CHAR DeviceID[128]; CHAR DeviceKey[128]; } DISPLAY_DEVICEA, *PDISPLAY_DEVICEA, *LPDISPLAY_DEVICEA; typedef struct _DISPLAY_DEVICEW { DWORD cb; WCHAR DeviceName[32]; WCHAR DeviceString[128]; DWORD StateFlags; WCHAR DeviceID[128]; WCHAR DeviceKey[128]; } DISPLAY_DEVICEW, *PDISPLAY_DEVICEW, *LPDISPLAY_DEVICEW; typedef DISPLAY_DEVICEW DISPLAY_DEVICE; typedef PDISPLAY_DEVICEW PDISPLAY_DEVICE; typedef LPDISPLAY_DEVICEW LPDISPLAY_DEVICE; #pragma endregion #pragma region Application Family typedef struct DISPLAYCONFIG_RATIONAL { UINT32 Numerator; UINT32 Denominator; } DISPLAYCONFIG_RATIONAL; typedef enum { DISPLAYCONFIG_OUTPUT_TECHNOLOGY_OTHER = -1, DISPLAYCONFIG_OUTPUT_TECHNOLOGY_HD15 = 0, DISPLAYCONFIG_OUTPUT_TECHNOLOGY_SVIDEO = 1, DISPLAYCONFIG_OUTPUT_TECHNOLOGY_COMPOSITE_VIDEO = 2, DISPLAYCONFIG_OUTPUT_TECHNOLOGY_COMPONENT_VIDEO = 3, DISPLAYCONFIG_OUTPUT_TECHNOLOGY_DVI = 4, DISPLAYCONFIG_OUTPUT_TECHNOLOGY_HDMI = 5, DISPLAYCONFIG_OUTPUT_TECHNOLOGY_LVDS = 6, DISPLAYCONFIG_OUTPUT_TECHNOLOGY_D_JPN = 8, DISPLAYCONFIG_OUTPUT_TECHNOLOGY_SDI = 9, DISPLAYCONFIG_OUTPUT_TECHNOLOGY_DISPLAYPORT_EXTERNAL = 10, DISPLAYCONFIG_OUTPUT_TECHNOLOGY_DISPLAYPORT_EMBEDDED = 11, DISPLAYCONFIG_OUTPUT_TECHNOLOGY_UDI_EXTERNAL = 12, DISPLAYCONFIG_OUTPUT_TECHNOLOGY_UDI_EMBEDDED = 13, DISPLAYCONFIG_OUTPUT_TECHNOLOGY_SDTVDONGLE = 14, DISPLAYCONFIG_OUTPUT_TECHNOLOGY_MIRACAST = 15, DISPLAYCONFIG_OUTPUT_TECHNOLOGY_INDIRECT_WIRED = 16, DISPLAYCONFIG_OUTPUT_TECHNOLOGY_INDIRECT_VIRTUAL = 17, DISPLAYCONFIG_OUTPUT_TECHNOLOGY_INTERNAL = 0x80000000, DISPLAYCONFIG_OUTPUT_TECHNOLOGY_FORCE_UINT32 = 0xFFFFFFFF } DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY; typedef enum { DISPLAYCONFIG_SCANLINE_ORDERING_UNSPECIFIED = 0, DISPLAYCONFIG_SCANLINE_ORDERING_PROGRESSIVE = 1, DISPLAYCONFIG_SCANLINE_ORDERING_INTERLACED = 2, DISPLAYCONFIG_SCANLINE_ORDERING_INTERLACED_UPPERFIELDFIRST = DISPLAYCONFIG_SCANLINE_ORDERING_INTERLACED, DISPLAYCONFIG_SCANLINE_ORDERING_INTERLACED_LOWERFIELDFIRST = 3, DISPLAYCONFIG_SCANLINE_ORDERING_FORCE_UINT32 = 0xFFFFFFFF } DISPLAYCONFIG_SCANLINE_ORDERING; typedef struct DISPLAYCONFIG_2DREGION { UINT32 cx; UINT32 cy; } DISPLAYCONFIG_2DREGION; typedef struct DISPLAYCONFIG_VIDEO_SIGNAL_INFO { UINT64 pixelRate; DISPLAYCONFIG_RATIONAL hSyncFreq; DISPLAYCONFIG_RATIONAL vSyncFreq; DISPLAYCONFIG_2DREGION activeSize; DISPLAYCONFIG_2DREGION totalSize; union { struct { UINT32 videoStandard : 16; UINT32 vSyncFreqDivider : 6; UINT32 reserved : 10; } AdditionalSignalInfo; UINT32 videoStandard; } ; DISPLAYCONFIG_SCANLINE_ORDERING scanLineOrdering; } DISPLAYCONFIG_VIDEO_SIGNAL_INFO; typedef enum { DISPLAYCONFIG_SCALING_IDENTITY = 1, DISPLAYCONFIG_SCALING_CENTERED = 2, DISPLAYCONFIG_SCALING_STRETCHED = 3, DISPLAYCONFIG_SCALING_ASPECTRATIOCENTEREDMAX = 4, DISPLAYCONFIG_SCALING_CUSTOM = 5, DISPLAYCONFIG_SCALING_PREFERRED = 128, DISPLAYCONFIG_SCALING_FORCE_UINT32 = 0xFFFFFFFF } DISPLAYCONFIG_SCALING; typedef enum { DISPLAYCONFIG_ROTATION_IDENTITY = 1, DISPLAYCONFIG_ROTATION_ROTATE90 = 2, DISPLAYCONFIG_ROTATION_ROTATE180 = 3, DISPLAYCONFIG_ROTATION_ROTATE270 = 4, DISPLAYCONFIG_ROTATION_FORCE_UINT32 = 0xFFFFFFFF } DISPLAYCONFIG_ROTATION; typedef enum { DISPLAYCONFIG_MODE_INFO_TYPE_SOURCE = 1, DISPLAYCONFIG_MODE_INFO_TYPE_TARGET = 2, DISPLAYCONFIG_MODE_INFO_TYPE_DESKTOP_IMAGE = 3, DISPLAYCONFIG_MODE_INFO_TYPE_FORCE_UINT32 = 0xFFFFFFFF } DISPLAYCONFIG_MODE_INFO_TYPE; typedef enum { DISPLAYCONFIG_PIXELFORMAT_8BPP = 1, DISPLAYCONFIG_PIXELFORMAT_16BPP = 2, DISPLAYCONFIG_PIXELFORMAT_24BPP = 3, DISPLAYCONFIG_PIXELFORMAT_32BPP = 4, DISPLAYCONFIG_PIXELFORMAT_NONGDI = 5, DISPLAYCONFIG_PIXELFORMAT_FORCE_UINT32 = 0xffffffff } DISPLAYCONFIG_PIXELFORMAT; typedef struct DISPLAYCONFIG_SOURCE_MODE { UINT32 width; UINT32 height; DISPLAYCONFIG_PIXELFORMAT pixelFormat; POINTL position; } DISPLAYCONFIG_SOURCE_MODE; typedef struct DISPLAYCONFIG_TARGET_MODE { DISPLAYCONFIG_VIDEO_SIGNAL_INFO targetVideoSignalInfo; } DISPLAYCONFIG_TARGET_MODE; typedef struct DISPLAYCONFIG_DESKTOP_IMAGE_INFO { POINTL PathSourceSize; RECTL DesktopImageRegion; RECTL DesktopImageClip; } DISPLAYCONFIG_DESKTOP_IMAGE_INFO; typedef struct DISPLAYCONFIG_MODE_INFO { DISPLAYCONFIG_MODE_INFO_TYPE infoType; UINT32 id; LUID adapterId; union { DISPLAYCONFIG_TARGET_MODE targetMode; DISPLAYCONFIG_SOURCE_MODE sourceMode; DISPLAYCONFIG_DESKTOP_IMAGE_INFO desktopImageInfo; } ; } DISPLAYCONFIG_MODE_INFO; typedef struct DISPLAYCONFIG_PATH_SOURCE_INFO { LUID adapterId; UINT32 id; union { UINT32 modeInfoIdx; struct { UINT32 cloneGroupId : 16; UINT32 sourceModeInfoIdx : 16; } ; } ; UINT32 statusFlags; } DISPLAYCONFIG_PATH_SOURCE_INFO; typedef struct DISPLAYCONFIG_PATH_TARGET_INFO { LUID adapterId; UINT32 id; union { UINT32 modeInfoIdx; struct { UINT32 desktopModeInfoIdx : 16; UINT32 targetModeInfoIdx : 16; } ; } ; DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY outputTechnology; DISPLAYCONFIG_ROTATION rotation; DISPLAYCONFIG_SCALING scaling; DISPLAYCONFIG_RATIONAL refreshRate; DISPLAYCONFIG_SCANLINE_ORDERING scanLineOrdering; BOOL targetAvailable; UINT32 statusFlags; } DISPLAYCONFIG_PATH_TARGET_INFO; typedef struct DISPLAYCONFIG_PATH_INFO { DISPLAYCONFIG_PATH_SOURCE_INFO sourceInfo; DISPLAYCONFIG_PATH_TARGET_INFO targetInfo; UINT32 flags; } DISPLAYCONFIG_PATH_INFO; typedef enum DISPLAYCONFIG_TOPOLOGY_ID { DISPLAYCONFIG_TOPOLOGY_INTERNAL = 0x00000001, DISPLAYCONFIG_TOPOLOGY_CLONE = 0x00000002, DISPLAYCONFIG_TOPOLOGY_EXTEND = 0x00000004, DISPLAYCONFIG_TOPOLOGY_EXTERNAL = 0x00000008, DISPLAYCONFIG_TOPOLOGY_FORCE_UINT32 = 0xFFFFFFFF } DISPLAYCONFIG_TOPOLOGY_ID; typedef enum { DISPLAYCONFIG_DEVICE_INFO_GET_SOURCE_NAME = 1, DISPLAYCONFIG_DEVICE_INFO_GET_TARGET_NAME = 2, DISPLAYCONFIG_DEVICE_INFO_GET_TARGET_PREFERRED_MODE = 3, DISPLAYCONFIG_DEVICE_INFO_GET_ADAPTER_NAME = 4, DISPLAYCONFIG_DEVICE_INFO_SET_TARGET_PERSISTENCE = 5, DISPLAYCONFIG_DEVICE_INFO_GET_TARGET_BASE_TYPE = 6, DISPLAYCONFIG_DEVICE_INFO_GET_SUPPORT_VIRTUAL_RESOLUTION = 7, DISPLAYCONFIG_DEVICE_INFO_SET_SUPPORT_VIRTUAL_RESOLUTION = 8, DISPLAYCONFIG_DEVICE_INFO_GET_ADVANCED_COLOR_INFO = 9, DISPLAYCONFIG_DEVICE_INFO_SET_ADVANCED_COLOR_STATE = 10, DISPLAYCONFIG_DEVICE_INFO_GET_SDR_WHITE_LEVEL = 11, DISPLAYCONFIG_DEVICE_INFO_FORCE_UINT32 = 0xFFFFFFFF } DISPLAYCONFIG_DEVICE_INFO_TYPE; #pragma endregion #pragma region Application Family typedef struct DISPLAYCONFIG_DEVICE_INFO_HEADER { DISPLAYCONFIG_DEVICE_INFO_TYPE type; UINT32 size; LUID adapterId; UINT32 id; } DISPLAYCONFIG_DEVICE_INFO_HEADER; #pragma endregion #pragma region Desktop Family typedef struct DISPLAYCONFIG_SOURCE_DEVICE_NAME { DISPLAYCONFIG_DEVICE_INFO_HEADER header; WCHAR viewGdiDeviceName[32]; } DISPLAYCONFIG_SOURCE_DEVICE_NAME; typedef struct DISPLAYCONFIG_TARGET_DEVICE_NAME_FLAGS { union { struct { UINT32 friendlyNameFromEdid : 1; UINT32 friendlyNameForced : 1; UINT32 edidIdsValid : 1; UINT32 reserved : 29; } ; UINT32 value; } ; } DISPLAYCONFIG_TARGET_DEVICE_NAME_FLAGS; typedef struct DISPLAYCONFIG_TARGET_DEVICE_NAME { DISPLAYCONFIG_DEVICE_INFO_HEADER header; DISPLAYCONFIG_TARGET_DEVICE_NAME_FLAGS flags; DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY outputTechnology; UINT16 edidManufactureId; UINT16 edidProductCodeId; UINT32 connectorInstance; WCHAR monitorFriendlyDeviceName[64]; WCHAR monitorDevicePath[128]; } DISPLAYCONFIG_TARGET_DEVICE_NAME; typedef struct DISPLAYCONFIG_TARGET_PREFERRED_MODE { DISPLAYCONFIG_DEVICE_INFO_HEADER header; UINT32 width; UINT32 height; DISPLAYCONFIG_TARGET_MODE targetMode; } DISPLAYCONFIG_TARGET_PREFERRED_MODE; typedef struct DISPLAYCONFIG_ADAPTER_NAME { DISPLAYCONFIG_DEVICE_INFO_HEADER header; WCHAR adapterDevicePath[128]; } DISPLAYCONFIG_ADAPTER_NAME; typedef struct DISPLAYCONFIG_TARGET_BASE_TYPE { DISPLAYCONFIG_DEVICE_INFO_HEADER header; DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY baseOutputTechnology; } DISPLAYCONFIG_TARGET_BASE_TYPE; typedef struct DISPLAYCONFIG_SET_TARGET_PERSISTENCE { DISPLAYCONFIG_DEVICE_INFO_HEADER header; union { struct { UINT32 bootPersistenceOn : 1; UINT32 reserved : 31; } ; UINT32 value; } ; } DISPLAYCONFIG_SET_TARGET_PERSISTENCE; typedef struct DISPLAYCONFIG_SUPPORT_VIRTUAL_RESOLUTION { DISPLAYCONFIG_DEVICE_INFO_HEADER header; union { struct { UINT32 disableMonitorVirtualResolution : 1; UINT32 reserved : 31; } ; UINT32 value; } ; } DISPLAYCONFIG_SUPPORT_VIRTUAL_RESOLUTION; typedef enum _DISPLAYCONFIG_COLOR_ENCODING { DISPLAYCONFIG_COLOR_ENCODING_RGB = 0, DISPLAYCONFIG_COLOR_ENCODING_YCBCR444 = 1, DISPLAYCONFIG_COLOR_ENCODING_YCBCR422 = 2, DISPLAYCONFIG_COLOR_ENCODING_YCBCR420 = 3, DISPLAYCONFIG_COLOR_ENCODING_INTENSITY = 4, DISPLAYCONFIG_COLOR_ENCODING_FORCE_UINT32 = 0xFFFFFFFF } DISPLAYCONFIG_COLOR_ENCODING; typedef struct _DISPLAYCONFIG_GET_ADVANCED_COLOR_INFO { DISPLAYCONFIG_DEVICE_INFO_HEADER header; union { struct { UINT32 advancedColorSupported :1; UINT32 advancedColorEnabled :1; UINT32 wideColorEnforced :1; UINT32 advancedColorForceDisabled :1; UINT32 reserved :28; } ; UINT32 value; } ; DISPLAYCONFIG_COLOR_ENCODING colorEncoding; UINT32 bitsPerColorChannel; } DISPLAYCONFIG_GET_ADVANCED_COLOR_INFO; typedef struct _DISPLAYCONFIG_SET_ADVANCED_COLOR_STATE { DISPLAYCONFIG_DEVICE_INFO_HEADER header; union { struct { UINT32 enableAdvancedColor :1; UINT32 reserved :31; } ; UINT32 value; }; } DISPLAYCONFIG_SET_ADVANCED_COLOR_STATE; typedef struct _DISPLAYCONFIG_SDR_WHITE_LEVEL { DISPLAYCONFIG_DEVICE_INFO_HEADER header; ULONG SDRWhiteLevel; } DISPLAYCONFIG_SDR_WHITE_LEVEL; #pragma endregion #pragma region Application Family typedef struct _RGNDATAHEADER { DWORD dwSize; DWORD iType; DWORD nCount; DWORD nRgnSize; RECT rcBound; } RGNDATAHEADER, *PRGNDATAHEADER; typedef struct _RGNDATA { RGNDATAHEADER rdh; char Buffer[1]; } RGNDATA, *PRGNDATA, *NPRGNDATA, *LPRGNDATA; #pragma endregion #pragma region Desktop Family typedef struct _ABC { int abcA; UINT abcB; int abcC; } ABC, *PABC, *NPABC, *LPABC; typedef struct _ABCFLOAT { FLOAT abcfA; FLOAT abcfB; FLOAT abcfC; } ABCFLOAT, *PABCFLOAT, *NPABCFLOAT, *LPABCFLOAT; #pragma endregion #pragma region Desktop Family typedef struct _OUTLINETEXTMETRICA { UINT otmSize; TEXTMETRICA otmTextMetrics; BYTE otmFiller; PANOSE otmPanoseNumber; UINT otmfsSelection; UINT otmfsType; int otmsCharSlopeRise; int otmsCharSlopeRun; int otmItalicAngle; UINT otmEMSquare; int otmAscent; int otmDescent; UINT otmLineGap; UINT otmsCapEmHeight; UINT otmsXHeight; RECT otmrcFontBox; int otmMacAscent; int otmMacDescent; UINT otmMacLineGap; UINT otmusMinimumPPEM; POINT otmptSubscriptSize; POINT otmptSubscriptOffset; POINT otmptSuperscriptSize; POINT otmptSuperscriptOffset; UINT otmsStrikeoutSize; int otmsStrikeoutPosition; int otmsUnderscoreSize; int otmsUnderscorePosition; PSTR otmpFamilyName; PSTR otmpFaceName; PSTR otmpStyleName; PSTR otmpFullName; } OUTLINETEXTMETRICA, *POUTLINETEXTMETRICA, *NPOUTLINETEXTMETRICA, *LPOUTLINETEXTMETRICA; typedef struct _OUTLINETEXTMETRICW { UINT otmSize; TEXTMETRICW otmTextMetrics; BYTE otmFiller; PANOSE otmPanoseNumber; UINT otmfsSelection; UINT otmfsType; int otmsCharSlopeRise; int otmsCharSlopeRun; int otmItalicAngle; UINT otmEMSquare; int otmAscent; int otmDescent; UINT otmLineGap; UINT otmsCapEmHeight; UINT otmsXHeight; RECT otmrcFontBox; int otmMacAscent; int otmMacDescent; UINT otmMacLineGap; UINT otmusMinimumPPEM; POINT otmptSubscriptSize; POINT otmptSubscriptOffset; POINT otmptSuperscriptSize; POINT otmptSuperscriptOffset; UINT otmsStrikeoutSize; int otmsStrikeoutPosition; int otmsUnderscoreSize; int otmsUnderscorePosition; PSTR otmpFamilyName; PSTR otmpFaceName; PSTR otmpStyleName; PSTR otmpFullName; } OUTLINETEXTMETRICW, *POUTLINETEXTMETRICW, *NPOUTLINETEXTMETRICW, *LPOUTLINETEXTMETRICW; typedef OUTLINETEXTMETRICW OUTLINETEXTMETRIC; typedef POUTLINETEXTMETRICW POUTLINETEXTMETRIC; typedef NPOUTLINETEXTMETRICW NPOUTLINETEXTMETRIC; typedef LPOUTLINETEXTMETRICW LPOUTLINETEXTMETRIC; #pragma endregion #pragma region Application Family typedef struct tagPOLYTEXTA { int x; int y; UINT n; LPCSTR lpstr; UINT uiFlags; RECT rcl; int *pdx; } POLYTEXTA, *PPOLYTEXTA, *NPPOLYTEXTA, *LPPOLYTEXTA; typedef struct tagPOLYTEXTW { int x; int y; UINT n; LPCWSTR lpstr; UINT uiFlags; RECT rcl; int *pdx; } POLYTEXTW, *PPOLYTEXTW, *NPPOLYTEXTW, *LPPOLYTEXTW; typedef POLYTEXTW POLYTEXT; typedef PPOLYTEXTW PPOLYTEXT; typedef NPPOLYTEXTW NPPOLYTEXT; typedef LPPOLYTEXTW LPPOLYTEXT; #pragma endregion #pragma region Desktop Family typedef struct _FIXED { WORD fract; short value; } FIXED; typedef struct _MAT2 { FIXED eM11; FIXED eM12; FIXED eM21; FIXED eM22; } MAT2, *LPMAT2; typedef struct _GLYPHMETRICS { UINT gmBlackBoxX; UINT gmBlackBoxY; POINT gmptGlyphOrigin; short gmCellIncX; short gmCellIncY; } GLYPHMETRICS, *LPGLYPHMETRICS; #pragma endregion #pragma region Desktop Family typedef struct tagPOINTFX { FIXED x; FIXED y; } POINTFX, * LPPOINTFX; typedef struct tagTTPOLYCURVE { WORD wType; WORD cpfx; POINTFX apfx[1]; } TTPOLYCURVE, * LPTTPOLYCURVE; typedef struct tagTTPOLYGONHEADER { DWORD cb; DWORD dwType; POINTFX pfxStart; } TTPOLYGONHEADER, * LPTTPOLYGONHEADER; #pragma endregion #pragma region Desktop Family typedef struct tagGCP_RESULTSA { DWORD lStructSize; LPSTR lpOutString; UINT *lpOrder; int *lpDx; int *lpCaretPos; LPSTR lpClass; LPWSTR lpGlyphs; UINT nGlyphs; int nMaxFit; } GCP_RESULTSA, * LPGCP_RESULTSA; typedef struct tagGCP_RESULTSW { DWORD lStructSize; LPWSTR lpOutString; UINT *lpOrder; int *lpDx; int *lpCaretPos; LPSTR lpClass; LPWSTR lpGlyphs; UINT nGlyphs; int nMaxFit; } GCP_RESULTSW, * LPGCP_RESULTSW; typedef GCP_RESULTSW GCP_RESULTS; typedef LPGCP_RESULTSW LPGCP_RESULTS; #pragma endregion #pragma region Desktop Family typedef struct _RASTERIZER_STATUS { short nSize; short wFlags; short nLanguageID; } RASTERIZER_STATUS, *LPRASTERIZER_STATUS; #pragma endregion #pragma region Application Family typedef struct tagPIXELFORMATDESCRIPTOR { WORD nSize; WORD nVersion; DWORD dwFlags; BYTE iPixelType; BYTE cColorBits; BYTE cRedBits; BYTE cRedShift; BYTE cGreenBits; BYTE cGreenShift; BYTE cBlueBits; BYTE cBlueShift; BYTE cAlphaBits; BYTE cAlphaShift; BYTE cAccumBits; BYTE cAccumRedBits; BYTE cAccumGreenBits; BYTE cAccumBlueBits; BYTE cAccumAlphaBits; BYTE cDepthBits; BYTE cStencilBits; BYTE cAuxBuffers; BYTE iLayerType; BYTE bReserved; DWORD dwLayerMask; DWORD dwVisibleMask; DWORD dwDamageMask; } PIXELFORMATDESCRIPTOR, *PPIXELFORMATDESCRIPTOR, *LPPIXELFORMATDESCRIPTOR; #pragma endregion #pragma region Desktop Family typedef int (__stdcall* OLDFONTENUMPROCA)(const LOGFONTA *, const TEXTMETRICA *, DWORD, LPARAM); typedef int (__stdcall* OLDFONTENUMPROCW)(const LOGFONTW *, const TEXTMETRICW *, DWORD, LPARAM); typedef OLDFONTENUMPROCA FONTENUMPROCA; typedef OLDFONTENUMPROCW FONTENUMPROCW; typedef FONTENUMPROCW FONTENUMPROC; typedef int (__stdcall* GOBJENUMPROC)(LPVOID, LPARAM); typedef void (__stdcall* LINEDDAPROC)(int, int, LPARAM); #pragma endregion #pragma region Desktop Family __declspec(dllimport) int __stdcall AddFontResourceA( LPCSTR); __declspec(dllimport) int __stdcall AddFontResourceW( LPCWSTR); __declspec(dllimport) BOOL __stdcall AnimatePalette( HPALETTE hPal, UINT iStartIndex, UINT cEntries, const PALETTEENTRY * ppe); __declspec(dllimport) BOOL __stdcall Arc( HDC hdc, int x1, int y1, int x2, int y2, int x3, int y3, int x4, int y4); __declspec(dllimport) BOOL __stdcall BitBlt( HDC hdc, int x, int y, int cx, int cy, HDC hdcSrc, int x1, int y1, DWORD rop); __declspec(dllimport) BOOL __stdcall CancelDC( HDC hdc); __declspec(dllimport) BOOL __stdcall Chord( HDC hdc, int x1, int y1, int x2, int y2, int x3, int y3, int x4, int y4); __declspec(dllimport) int __stdcall ChoosePixelFormat( HDC hdc, const PIXELFORMATDESCRIPTOR *ppfd); __declspec(dllimport) HMETAFILE __stdcall CloseMetaFile( HDC hdc); __declspec(dllimport) int __stdcall CombineRgn( HRGN hrgnDst, HRGN hrgnSrc1, HRGN hrgnSrc2, int iMode); __declspec(dllimport) HMETAFILE __stdcall CopyMetaFileA( HMETAFILE, LPCSTR); __declspec(dllimport) HMETAFILE __stdcall CopyMetaFileW( HMETAFILE, LPCWSTR); __declspec(dllimport) HBITMAP __stdcall CreateBitmap( int nWidth, int nHeight, UINT nPlanes, UINT nBitCount, const void *lpBits); __declspec(dllimport) HBITMAP __stdcall CreateBitmapIndirect( const BITMAP *pbm); __declspec(dllimport) HBRUSH __stdcall CreateBrushIndirect( const LOGBRUSH *plbrush); __declspec(dllimport) HBITMAP __stdcall CreateCompatibleBitmap( HDC hdc, int cx, int cy); __declspec(dllimport) HBITMAP __stdcall CreateDiscardableBitmap( HDC hdc, int cx, int cy); __declspec(dllimport) HDC __stdcall CreateCompatibleDC( HDC hdc); __declspec(dllimport) HDC __stdcall CreateDCA( LPCSTR pwszDriver, LPCSTR pwszDevice, LPCSTR pszPort, const DEVMODEA * pdm); __declspec(dllimport) HDC __stdcall CreateDCW( LPCWSTR pwszDriver, LPCWSTR pwszDevice, LPCWSTR pszPort, const DEVMODEW * pdm); __declspec(dllimport) HBITMAP __stdcall CreateDIBitmap( HDC hdc, const BITMAPINFOHEADER *pbmih, DWORD flInit, const void *pjBits, const BITMAPINFO *pbmi, UINT iUsage); __declspec(dllimport) HBRUSH __stdcall CreateDIBPatternBrush( HGLOBAL h, UINT iUsage); __declspec(dllimport) HBRUSH __stdcall CreateDIBPatternBrushPt( const void *lpPackedDIB, UINT iUsage); __declspec(dllimport) HRGN __stdcall CreateEllipticRgn( int x1, int y1, int x2, int y2); __declspec(dllimport) HRGN __stdcall CreateEllipticRgnIndirect( const RECT *lprect); __declspec(dllimport) HFONT __stdcall CreateFontIndirectA( const LOGFONTA *lplf); __declspec(dllimport) HFONT __stdcall CreateFontIndirectW( const LOGFONTW *lplf); __declspec(dllimport) HFONT __stdcall CreateFontA( int cHeight, int cWidth, int cEscapement, int cOrientation, int cWeight, DWORD bItalic, DWORD bUnderline, DWORD bStrikeOut, DWORD iCharSet, DWORD iOutPrecision, DWORD iClipPrecision, DWORD iQuality, DWORD iPitchAndFamily, LPCSTR pszFaceName); __declspec(dllimport) HFONT __stdcall CreateFontW( int cHeight, int cWidth, int cEscapement, int cOrientation, int cWeight, DWORD bItalic, DWORD bUnderline, DWORD bStrikeOut, DWORD iCharSet, DWORD iOutPrecision, DWORD iClipPrecision, DWORD iQuality, DWORD iPitchAndFamily, LPCWSTR pszFaceName); __declspec(dllimport) HBRUSH __stdcall CreateHatchBrush( int iHatch, COLORREF color); __declspec(dllimport) HDC __stdcall CreateICA( LPCSTR pszDriver, LPCSTR pszDevice, LPCSTR pszPort, const DEVMODEA * pdm); __declspec(dllimport) HDC __stdcall CreateICW( LPCWSTR pszDriver, LPCWSTR pszDevice, LPCWSTR pszPort, const DEVMODEW * pdm); __declspec(dllimport) HDC __stdcall CreateMetaFileA( LPCSTR pszFile); __declspec(dllimport) HDC __stdcall CreateMetaFileW( LPCWSTR pszFile); __declspec(dllimport) HPALETTE __stdcall CreatePalette( const LOGPALETTE * plpal); __declspec(dllimport) HPEN __stdcall CreatePen( int iStyle, int cWidth, COLORREF color); __declspec(dllimport) HPEN __stdcall CreatePenIndirect( const LOGPEN *plpen); __declspec(dllimport) HRGN __stdcall CreatePolyPolygonRgn( const POINT *pptl, const INT *pc, int cPoly, int iMode); __declspec(dllimport) HBRUSH __stdcall CreatePatternBrush( HBITMAP hbm); __declspec(dllimport) HRGN __stdcall CreateRectRgn( int x1, int y1, int x2, int y2); __declspec(dllimport) HRGN __stdcall CreateRectRgnIndirect( const RECT *lprect); __declspec(dllimport) HRGN __stdcall CreateRoundRectRgn( int x1, int y1, int x2, int y2, int w, int h); __declspec(dllimport) BOOL __stdcall CreateScalableFontResourceA( DWORD fdwHidden, LPCSTR lpszFont, LPCSTR lpszFile, LPCSTR lpszPath); __declspec(dllimport) BOOL __stdcall CreateScalableFontResourceW( DWORD fdwHidden, LPCWSTR lpszFont, LPCWSTR lpszFile, LPCWSTR lpszPath); __declspec(dllimport) HBRUSH __stdcall CreateSolidBrush( COLORREF color); __declspec(dllimport) BOOL __stdcall DeleteDC( HDC hdc); __declspec(dllimport) BOOL __stdcall DeleteMetaFile( HMETAFILE hmf); __declspec(dllimport) BOOL __stdcall DeleteObject( HGDIOBJ ho); __declspec(dllimport) int __stdcall DescribePixelFormat( HDC hdc, int iPixelFormat, UINT nBytes, LPPIXELFORMATDESCRIPTOR ppfd); typedef UINT (__stdcall* LPFNDEVMODE)(HWND, HMODULE, LPDEVMODE, LPSTR, LPSTR, LPDEVMODE, LPSTR, UINT); typedef DWORD (__stdcall* LPFNDEVCAPS)(LPSTR, LPSTR, UINT, LPSTR, LPDEVMODE); #pragma endregion #pragma region Desktop Family __declspec(dllimport) int __stdcall DeviceCapabilitiesA( LPCSTR pDevice, LPCSTR pPort, WORD fwCapability, LPSTR pOutput, const DEVMODEA *pDevMode ); __declspec(dllimport) int __stdcall DeviceCapabilitiesW( LPCWSTR pDevice, LPCWSTR pPort, WORD fwCapability, LPWSTR pOutput, const DEVMODEW *pDevMode ); __declspec(dllimport) int __stdcall DrawEscape( HDC hdc, int iEscape, int cjIn, LPCSTR lpIn); __declspec(dllimport) BOOL __stdcall Ellipse( HDC hdc, int left, int top, int right, int bottom); __declspec(dllimport) int __stdcall EnumFontFamiliesExA( HDC hdc, LPLOGFONTA lpLogfont, FONTENUMPROCA lpProc, LPARAM lParam, DWORD dwFlags); __declspec(dllimport) int __stdcall EnumFontFamiliesExW( HDC hdc, LPLOGFONTW lpLogfont, FONTENUMPROCW lpProc, LPARAM lParam, DWORD dwFlags); __declspec(dllimport) int __stdcall EnumFontFamiliesA( HDC hdc, LPCSTR lpLogfont, FONTENUMPROCA lpProc, LPARAM lParam); __declspec(dllimport) int __stdcall EnumFontFamiliesW( HDC hdc, LPCWSTR lpLogfont, FONTENUMPROCW lpProc, LPARAM lParam); __declspec(dllimport) int __stdcall EnumFontsA( HDC hdc, LPCSTR lpLogfont, FONTENUMPROCA lpProc, LPARAM lParam); __declspec(dllimport) int __stdcall EnumFontsW( HDC hdc, LPCWSTR lpLogfont, FONTENUMPROCW lpProc, LPARAM lParam); __declspec(dllimport) int __stdcall EnumObjects( HDC hdc, int nType, GOBJENUMPROC lpFunc, LPARAM lParam); __declspec(dllimport) BOOL __stdcall EqualRgn( HRGN hrgn1, HRGN hrgn2); __declspec(dllimport) int __stdcall Escape( HDC hdc, int iEscape, int cjIn, LPCSTR pvIn, LPVOID pvOut); __declspec(dllimport) int __stdcall ExtEscape( HDC hdc, int iEscape, int cjInput, LPCSTR lpInData, int cjOutput, LPSTR lpOutData); __declspec(dllimport) int __stdcall ExcludeClipRect( HDC hdc, int left, int top, int right, int bottom); __declspec(dllimport) HRGN __stdcall ExtCreateRegion( const XFORM * lpx, DWORD nCount, const RGNDATA * lpData); __declspec(dllimport) BOOL __stdcall ExtFloodFill( HDC hdc, int x, int y, COLORREF color, UINT type); __declspec(dllimport) BOOL __stdcall FillRgn( HDC hdc, HRGN hrgn, HBRUSH hbr); __declspec(dllimport) BOOL __stdcall FloodFill( HDC hdc, int x, int y, COLORREF color); __declspec(dllimport) BOOL __stdcall FrameRgn( HDC hdc, HRGN hrgn, HBRUSH hbr, int w, int h); __declspec(dllimport) int __stdcall GetROP2( HDC hdc); __declspec(dllimport) BOOL __stdcall GetAspectRatioFilterEx( HDC hdc, LPSIZE lpsize); __declspec(dllimport) COLORREF __stdcall GetBkColor( HDC hdc); __declspec(dllimport) COLORREF __stdcall GetDCBrushColor( HDC hdc); __declspec(dllimport) COLORREF __stdcall GetDCPenColor( HDC hdc); __declspec(dllimport) int __stdcall GetBkMode( HDC hdc ); __declspec(dllimport) LONG __stdcall GetBitmapBits( HBITMAP hbit, LONG cb, LPVOID lpvBits ); __declspec(dllimport) BOOL __stdcall GetBitmapDimensionEx( HBITMAP hbit, LPSIZE lpsize); __declspec(dllimport) UINT __stdcall GetBoundsRect( HDC hdc, LPRECT lprect, UINT flags); __declspec(dllimport) BOOL __stdcall GetBrushOrgEx( HDC hdc, LPPOINT lppt); __declspec(dllimport) BOOL __stdcall GetCharWidthA( HDC hdc, UINT iFirst, UINT iLast, LPINT lpBuffer); __declspec(dllimport) BOOL __stdcall GetCharWidthW( HDC hdc, UINT iFirst, UINT iLast, LPINT lpBuffer); __declspec(dllimport) BOOL __stdcall GetCharWidth32A( HDC hdc, UINT iFirst, UINT iLast, LPINT lpBuffer); __declspec(dllimport) BOOL __stdcall GetCharWidth32W( HDC hdc, UINT iFirst, UINT iLast, LPINT lpBuffer); __declspec(dllimport) BOOL __stdcall GetCharWidthFloatA( HDC hdc, UINT iFirst, UINT iLast, PFLOAT lpBuffer); __declspec(dllimport) BOOL __stdcall GetCharWidthFloatW( HDC hdc, UINT iFirst, UINT iLast, PFLOAT lpBuffer); __declspec(dllimport) BOOL __stdcall GetCharABCWidthsA( HDC hdc, UINT wFirst, UINT wLast, LPABC lpABC); __declspec(dllimport) BOOL __stdcall GetCharABCWidthsW( HDC hdc, UINT wFirst, UINT wLast, LPABC lpABC); __declspec(dllimport) BOOL __stdcall GetCharABCWidthsFloatA( HDC hdc, UINT iFirst, UINT iLast, LPABCFLOAT lpABC); __declspec(dllimport) BOOL __stdcall GetCharABCWidthsFloatW( HDC hdc, UINT iFirst, UINT iLast, LPABCFLOAT lpABC); __declspec(dllimport) int __stdcall GetClipBox( HDC hdc, LPRECT lprect); __declspec(dllimport) int __stdcall GetClipRgn( HDC hdc, HRGN hrgn); __declspec(dllimport) int __stdcall GetMetaRgn( HDC hdc, HRGN hrgn); __declspec(dllimport) HGDIOBJ __stdcall GetCurrentObject( HDC hdc, UINT type); __declspec(dllimport) BOOL __stdcall GetCurrentPositionEx( HDC hdc, LPPOINT lppt); __declspec(dllimport) int __stdcall GetDeviceCaps( HDC hdc, int index); __declspec(dllimport) int __stdcall GetDIBits( HDC hdc, HBITMAP hbm, UINT start, UINT cLines, LPVOID lpvBits, LPBITMAPINFO lpbmi, UINT usage); __declspec(dllimport) DWORD __stdcall GetFontData ( HDC hdc, DWORD dwTable, DWORD dwOffset, PVOID pvBuffer, DWORD cjBuffer ); __declspec(dllimport) DWORD __stdcall GetGlyphOutlineA( HDC hdc, UINT uChar, UINT fuFormat, LPGLYPHMETRICS lpgm, DWORD cjBuffer, LPVOID pvBuffer, const MAT2 *lpmat2 ); __declspec(dllimport) DWORD __stdcall GetGlyphOutlineW( HDC hdc, UINT uChar, UINT fuFormat, LPGLYPHMETRICS lpgm, DWORD cjBuffer, LPVOID pvBuffer, const MAT2 *lpmat2 ); __declspec(dllimport) int __stdcall GetGraphicsMode( HDC hdc); __declspec(dllimport) int __stdcall GetMapMode( HDC hdc); __declspec(dllimport) UINT __stdcall GetMetaFileBitsEx( HMETAFILE hMF, UINT cbBuffer, LPVOID lpData); __declspec(dllimport) HMETAFILE __stdcall GetMetaFileA( LPCSTR lpName); __declspec(dllimport) HMETAFILE __stdcall GetMetaFileW( LPCWSTR lpName); __declspec(dllimport) COLORREF __stdcall GetNearestColor( HDC hdc, COLORREF color); __declspec(dllimport) UINT __stdcall GetNearestPaletteIndex( HPALETTE h, COLORREF color); __declspec(dllimport) DWORD __stdcall GetObjectType( HGDIOBJ h); __declspec(dllimport) UINT __stdcall GetOutlineTextMetricsA( HDC hdc, UINT cjCopy, LPOUTLINETEXTMETRICA potm); __declspec(dllimport) UINT __stdcall GetOutlineTextMetricsW( HDC hdc, UINT cjCopy, LPOUTLINETEXTMETRICW potm); __declspec(dllimport) UINT __stdcall GetPaletteEntries( HPALETTE hpal, UINT iStart, UINT cEntries, LPPALETTEENTRY pPalEntries); __declspec(dllimport) COLORREF __stdcall GetPixel( HDC hdc, int x, int y); __declspec(dllimport) int __stdcall GetPixelFormat( HDC hdc); __declspec(dllimport) int __stdcall GetPolyFillMode( HDC hdc); __declspec(dllimport) BOOL __stdcall GetRasterizerCaps( LPRASTERIZER_STATUS lpraststat, UINT cjBytes); __declspec(dllimport) int __stdcall GetRandomRgn ( HDC hdc, HRGN hrgn, INT i); __declspec(dllimport) DWORD __stdcall GetRegionData( HRGN hrgn, DWORD nCount, LPRGNDATA lpRgnData); __declspec(dllimport) int __stdcall GetRgnBox( HRGN hrgn, LPRECT lprc); __declspec(dllimport) HGDIOBJ __stdcall GetStockObject( int i); __declspec(dllimport) int __stdcall GetStretchBltMode( HDC hdc); __declspec(dllimport) UINT __stdcall GetSystemPaletteEntries( HDC hdc, UINT iStart, UINT cEntries, LPPALETTEENTRY pPalEntries ); __declspec(dllimport) UINT __stdcall GetSystemPaletteUse( HDC hdc); __declspec(dllimport) int __stdcall GetTextCharacterExtra( HDC hdc); __declspec(dllimport) UINT __stdcall GetTextAlign( HDC hdc); __declspec(dllimport) COLORREF __stdcall GetTextColor( HDC hdc); __declspec(dllimport) BOOL __stdcall GetTextExtentPointA( HDC hdc, LPCSTR lpString, int c, LPSIZE lpsz ); __declspec(dllimport) BOOL __stdcall GetTextExtentPointW( HDC hdc, LPCWSTR lpString, int c, LPSIZE lpsz ); __declspec(dllimport) BOOL __stdcall GetTextExtentPoint32A( HDC hdc, LPCSTR lpString, int c, LPSIZE psizl ); __declspec(dllimport) BOOL __stdcall GetTextExtentPoint32W( HDC hdc, LPCWSTR lpString, int c, LPSIZE psizl ); __declspec(dllimport) BOOL __stdcall GetTextExtentExPointA( HDC hdc, LPCSTR lpszString, int cchString, int nMaxExtent, LPINT lpnFit, LPINT lpnDx, LPSIZE lpSize ); __declspec(dllimport) BOOL __stdcall GetTextExtentExPointW( HDC hdc, LPCWSTR lpszString, int cchString, int nMaxExtent, LPINT lpnFit, LPINT lpnDx, LPSIZE lpSize ); __declspec(dllimport) int __stdcall GetTextCharset( HDC hdc); __declspec(dllimport) int __stdcall GetTextCharsetInfo( HDC hdc, LPFONTSIGNATURE lpSig, DWORD dwFlags); __declspec(dllimport) BOOL __stdcall TranslateCharsetInfo( DWORD *lpSrc, LPCHARSETINFO lpCs, DWORD dwFlags); __declspec(dllimport) DWORD __stdcall GetFontLanguageInfo( HDC hdc); __declspec(dllimport) DWORD __stdcall GetCharacterPlacementA( HDC hdc, LPCSTR lpString, int nCount, int nMexExtent, LPGCP_RESULTSA lpResults, DWORD dwFlags); __declspec(dllimport) DWORD __stdcall GetCharacterPlacementW( HDC hdc, LPCWSTR lpString, int nCount, int nMexExtent, LPGCP_RESULTSW lpResults, DWORD dwFlags); #pragma endregion #pragma region Desktop Family typedef struct tagWCRANGE { WCHAR wcLow; USHORT cGlyphs; } WCRANGE, *PWCRANGE, *LPWCRANGE; typedef struct tagGLYPHSET { DWORD cbThis; DWORD flAccel; DWORD cGlyphsSupported; DWORD cRanges; WCRANGE ranges[1]; } GLYPHSET, *PGLYPHSET, *LPGLYPHSET; __declspec(dllimport) DWORD __stdcall GetFontUnicodeRanges( HDC hdc, LPGLYPHSET lpgs); __declspec(dllimport) DWORD __stdcall GetGlyphIndicesA( HDC hdc, LPCSTR lpstr, int c, LPWORD pgi, DWORD fl); __declspec(dllimport) DWORD __stdcall GetGlyphIndicesW( HDC hdc, LPCWSTR lpstr, int c, LPWORD pgi, DWORD fl); __declspec(dllimport) BOOL __stdcall GetTextExtentPointI( HDC hdc, LPWORD pgiIn, int cgi, LPSIZE psize); __declspec(dllimport) BOOL __stdcall GetTextExtentExPointI ( HDC hdc, LPWORD lpwszString, int cwchString, int nMaxExtent, LPINT lpnFit, LPINT lpnDx, LPSIZE lpSize ); __declspec(dllimport) BOOL __stdcall GetCharWidthI( HDC hdc, UINT giFirst, UINT cgi, LPWORD pgi, LPINT piWidths ); __declspec(dllimport) BOOL __stdcall GetCharABCWidthsI( HDC hdc, UINT giFirst, UINT cgi, LPWORD pgi, LPABC pabc ); typedef struct tagDESIGNVECTOR { DWORD dvReserved; DWORD dvNumAxes; LONG dvValues[16]; } DESIGNVECTOR, *PDESIGNVECTOR, *LPDESIGNVECTOR; __declspec(dllimport) int __stdcall AddFontResourceExA( LPCSTR name, DWORD fl, PVOID res); __declspec(dllimport) int __stdcall AddFontResourceExW( LPCWSTR name, DWORD fl, PVOID res); __declspec(dllimport) BOOL __stdcall RemoveFontResourceExA( LPCSTR name, DWORD fl, PVOID pdv); __declspec(dllimport) BOOL __stdcall RemoveFontResourceExW( LPCWSTR name, DWORD fl, PVOID pdv); __declspec(dllimport) HANDLE __stdcall AddFontMemResourceEx( PVOID pFileView, DWORD cjSize, PVOID pvResrved, DWORD* pNumFonts); __declspec(dllimport) BOOL __stdcall RemoveFontMemResourceEx( HANDLE h); typedef struct tagAXISINFOA { LONG axMinValue; LONG axMaxValue; BYTE axAxisName[16]; } AXISINFOA, *PAXISINFOA, *LPAXISINFOA; typedef struct tagAXISINFOW { LONG axMinValue; LONG axMaxValue; WCHAR axAxisName[16]; } AXISINFOW, *PAXISINFOW, *LPAXISINFOW; typedef AXISINFOW AXISINFO; typedef PAXISINFOW PAXISINFO; typedef LPAXISINFOW LPAXISINFO; typedef struct tagAXESLISTA { DWORD axlReserved; DWORD axlNumAxes; AXISINFOA axlAxisInfo[16]; } AXESLISTA, *PAXESLISTA, *LPAXESLISTA; typedef struct tagAXESLISTW { DWORD axlReserved; DWORD axlNumAxes; AXISINFOW axlAxisInfo[16]; } AXESLISTW, *PAXESLISTW, *LPAXESLISTW; typedef AXESLISTW AXESLIST; typedef PAXESLISTW PAXESLIST; typedef LPAXESLISTW LPAXESLIST; typedef struct tagENUMLOGFONTEXDVA { ENUMLOGFONTEXA elfEnumLogfontEx; DESIGNVECTOR elfDesignVector; } ENUMLOGFONTEXDVA, *PENUMLOGFONTEXDVA, *LPENUMLOGFONTEXDVA; typedef struct tagENUMLOGFONTEXDVW { ENUMLOGFONTEXW elfEnumLogfontEx; DESIGNVECTOR elfDesignVector; } ENUMLOGFONTEXDVW, *PENUMLOGFONTEXDVW, *LPENUMLOGFONTEXDVW; typedef ENUMLOGFONTEXDVW ENUMLOGFONTEXDV; typedef PENUMLOGFONTEXDVW PENUMLOGFONTEXDV; typedef LPENUMLOGFONTEXDVW LPENUMLOGFONTEXDV; __declspec(dllimport) HFONT __stdcall CreateFontIndirectExA( const ENUMLOGFONTEXDVA *); __declspec(dllimport) HFONT __stdcall CreateFontIndirectExW( const ENUMLOGFONTEXDVW *); typedef struct tagENUMTEXTMETRICA { NEWTEXTMETRICEXA etmNewTextMetricEx; AXESLISTA etmAxesList; } ENUMTEXTMETRICA, *PENUMTEXTMETRICA, *LPENUMTEXTMETRICA; typedef struct tagENUMTEXTMETRICW { NEWTEXTMETRICEXW etmNewTextMetricEx; AXESLISTW etmAxesList; } ENUMTEXTMETRICW, *PENUMTEXTMETRICW, *LPENUMTEXTMETRICW; typedef ENUMTEXTMETRICW ENUMTEXTMETRIC; typedef PENUMTEXTMETRICW PENUMTEXTMETRIC; typedef LPENUMTEXTMETRICW LPENUMTEXTMETRIC; #pragma endregion #pragma region Desktop Family __declspec(dllimport) BOOL __stdcall GetViewportExtEx( HDC hdc, LPSIZE lpsize); __declspec(dllimport) BOOL __stdcall GetViewportOrgEx( HDC hdc, LPPOINT lppoint); __declspec(dllimport) BOOL __stdcall GetWindowExtEx( HDC hdc, LPSIZE lpsize); __declspec(dllimport) BOOL __stdcall GetWindowOrgEx( HDC hdc, LPPOINT lppoint); __declspec(dllimport) int __stdcall IntersectClipRect( HDC hdc, int left, int top, int right, int bottom); __declspec(dllimport) BOOL __stdcall InvertRgn( HDC hdc, HRGN hrgn); __declspec(dllimport) BOOL __stdcall LineDDA( int xStart, int yStart, int xEnd, int yEnd, LINEDDAPROC lpProc, LPARAM data); __declspec(dllimport) BOOL __stdcall LineTo( HDC hdc, int x, int y); __declspec(dllimport) BOOL __stdcall MaskBlt( HDC hdcDest, int xDest, int yDest, int width, int height, HDC hdcSrc, int xSrc, int ySrc, HBITMAP hbmMask, int xMask, int yMask, DWORD rop); __declspec(dllimport) BOOL __stdcall PlgBlt( HDC hdcDest, const POINT * lpPoint, HDC hdcSrc, int xSrc, int ySrc, int width, int height, HBITMAP hbmMask, int xMask, int yMask); __declspec(dllimport) int __stdcall OffsetClipRgn( HDC hdc, int x, int y); __declspec(dllimport) int __stdcall OffsetRgn( HRGN hrgn, int x, int y); __declspec(dllimport) BOOL __stdcall PatBlt( HDC hdc, int x, int y, int w, int h, DWORD rop); __declspec(dllimport) BOOL __stdcall Pie( HDC hdc, int left, int top, int right, int bottom, int xr1, int yr1, int xr2, int yr2); __declspec(dllimport) BOOL __stdcall PlayMetaFile( HDC hdc, HMETAFILE hmf); __declspec(dllimport) BOOL __stdcall PaintRgn( HDC hdc, HRGN hrgn); __declspec(dllimport) BOOL __stdcall PolyPolygon( HDC hdc, const POINT *apt, const INT *asz, int csz); __declspec(dllimport) BOOL __stdcall PtInRegion( HRGN hrgn, int x, int y); __declspec(dllimport) BOOL __stdcall PtVisible( HDC hdc, int x, int y); __declspec(dllimport) BOOL __stdcall RectInRegion( HRGN hrgn, const RECT * lprect); __declspec(dllimport) BOOL __stdcall RectVisible( HDC hdc, const RECT * lprect); __declspec(dllimport) BOOL __stdcall Rectangle( HDC hdc, int left, int top, int right, int bottom); __declspec(dllimport) BOOL __stdcall RestoreDC( HDC hdc, int nSavedDC); __declspec(dllimport) HDC __stdcall ResetDCA( HDC hdc, const DEVMODEA * lpdm); __declspec(dllimport) HDC __stdcall ResetDCW( HDC hdc, const DEVMODEW * lpdm); __declspec(dllimport) UINT __stdcall RealizePalette( HDC hdc); __declspec(dllimport) BOOL __stdcall RemoveFontResourceA( LPCSTR lpFileName); __declspec(dllimport) BOOL __stdcall RemoveFontResourceW( LPCWSTR lpFileName); __declspec(dllimport) BOOL __stdcall RoundRect( HDC hdc, int left, int top, int right, int bottom, int width, int height); __declspec(dllimport) BOOL __stdcall ResizePalette( HPALETTE hpal, UINT n); __declspec(dllimport) int __stdcall SaveDC( HDC hdc); __declspec(dllimport) int __stdcall SelectClipRgn( HDC hdc, HRGN hrgn); __declspec(dllimport) int __stdcall ExtSelectClipRgn( HDC hdc, HRGN hrgn, int mode); __declspec(dllimport) int __stdcall SetMetaRgn( HDC hdc); __declspec(dllimport) HGDIOBJ __stdcall SelectObject( HDC hdc, HGDIOBJ h); __declspec(dllimport) HPALETTE __stdcall SelectPalette( HDC hdc, HPALETTE hPal, BOOL bForceBkgd); __declspec(dllimport) COLORREF __stdcall SetBkColor( HDC hdc, COLORREF color); __declspec(dllimport) COLORREF __stdcall SetDCBrushColor( HDC hdc, COLORREF color); __declspec(dllimport) COLORREF __stdcall SetDCPenColor( HDC hdc, COLORREF color); __declspec(dllimport) int __stdcall SetBkMode( HDC hdc, int mode); __declspec(dllimport) LONG __stdcall SetBitmapBits( HBITMAP hbm, DWORD cb, const void *pvBits); __declspec(dllimport) UINT __stdcall SetBoundsRect( HDC hdc, const RECT * lprect, UINT flags); __declspec(dllimport) int __stdcall SetDIBits( HDC hdc, HBITMAP hbm, UINT start, UINT cLines, const void *lpBits, const BITMAPINFO * lpbmi, UINT ColorUse); __declspec(dllimport) int __stdcall SetDIBitsToDevice( HDC hdc, int xDest, int yDest, DWORD w, DWORD h, int xSrc, int ySrc, UINT StartScan, UINT cLines, const void * lpvBits, const BITMAPINFO * lpbmi, UINT ColorUse); __declspec(dllimport) DWORD __stdcall SetMapperFlags( HDC hdc, DWORD flags); __declspec(dllimport) int __stdcall SetGraphicsMode( HDC hdc, int iMode); __declspec(dllimport) int __stdcall SetMapMode( HDC hdc, int iMode); __declspec(dllimport) DWORD __stdcall SetLayout( HDC hdc, DWORD l); __declspec(dllimport) DWORD __stdcall GetLayout( HDC hdc); __declspec(dllimport) HMETAFILE __stdcall SetMetaFileBitsEx( UINT cbBuffer, const BYTE *lpData); __declspec(dllimport) UINT __stdcall SetPaletteEntries( HPALETTE hpal, UINT iStart, UINT cEntries, const PALETTEENTRY *pPalEntries); __declspec(dllimport) COLORREF __stdcall SetPixel( HDC hdc, int x, int y, COLORREF color); __declspec(dllimport) BOOL __stdcall SetPixelV( HDC hdc, int x, int y, COLORREF color); __declspec(dllimport) BOOL __stdcall SetPixelFormat( HDC hdc, int format, const PIXELFORMATDESCRIPTOR * ppfd); __declspec(dllimport) int __stdcall SetPolyFillMode( HDC hdc, int mode); __declspec(dllimport) BOOL __stdcall StretchBlt( HDC hdcDest, int xDest, int yDest, int wDest, int hDest, HDC hdcSrc, int xSrc, int ySrc, int wSrc, int hSrc, DWORD rop); __declspec(dllimport) BOOL __stdcall SetRectRgn( HRGN hrgn, int left, int top, int right, int bottom); __declspec(dllimport) int __stdcall StretchDIBits( HDC hdc, int xDest, int yDest, int DestWidth, int DestHeight, int xSrc, int ySrc, int SrcWidth, int SrcHeight, const void * lpBits, const BITMAPINFO * lpbmi, UINT iUsage, DWORD rop); __declspec(dllimport) int __stdcall SetROP2( HDC hdc, int rop2); __declspec(dllimport) int __stdcall SetStretchBltMode( HDC hdc, int mode); __declspec(dllimport) UINT __stdcall SetSystemPaletteUse( HDC hdc, UINT use); __declspec(dllimport) int __stdcall SetTextCharacterExtra( HDC hdc, int extra); __declspec(dllimport) COLORREF __stdcall SetTextColor( HDC hdc, COLORREF color); __declspec(dllimport) UINT __stdcall SetTextAlign( HDC hdc, UINT align); __declspec(dllimport) BOOL __stdcall SetTextJustification( HDC hdc, int extra, int count); __declspec(dllimport) BOOL __stdcall UpdateColors( HDC hdc); #pragma endregion #pragma region Application Family typedef USHORT COLOR16; typedef struct _TRIVERTEX { LONG x; LONG y; COLOR16 Red; COLOR16 Green; COLOR16 Blue; COLOR16 Alpha; }TRIVERTEX,*PTRIVERTEX,*LPTRIVERTEX; #pragma endregion #pragma region Desktop Family typedef struct _GRADIENT_TRIANGLE { ULONG Vertex1; ULONG Vertex2; ULONG Vertex3; } GRADIENT_TRIANGLE,*PGRADIENT_TRIANGLE,*LPGRADIENT_TRIANGLE; typedef struct _GRADIENT_RECT { ULONG UpperLeft; ULONG LowerRight; }GRADIENT_RECT,*PGRADIENT_RECT,*LPGRADIENT_RECT; #pragma endregion #pragma region Application Family typedef struct _BLENDFUNCTION { BYTE BlendOp; BYTE BlendFlags; BYTE SourceConstantAlpha; BYTE AlphaFormat; }BLENDFUNCTION,*PBLENDFUNCTION; #pragma endregion #pragma region Desktop Family __declspec(dllimport) BOOL __stdcall AlphaBlend( HDC hdcDest, int xoriginDest, int yoriginDest, int wDest, int hDest, HDC hdcSrc, int xoriginSrc, int yoriginSrc, int wSrc, int hSrc, BLENDFUNCTION ftn); __declspec(dllimport) BOOL __stdcall TransparentBlt( HDC hdcDest, int xoriginDest, int yoriginDest, int wDest, int hDest, HDC hdcSrc, int xoriginSrc, int yoriginSrc, int wSrc, int hSrc, UINT crTransparent); __declspec(dllimport) BOOL __stdcall GradientFill( HDC hdc, PTRIVERTEX pVertex, ULONG nVertex, PVOID pMesh, ULONG nMesh, ULONG ulMode ); #pragma endregion #pragma region Desktop Family __declspec(dllimport) BOOL __stdcall GdiAlphaBlend( HDC hdcDest, int xoriginDest, int yoriginDest, int wDest, int hDest, HDC hdcSrc, int xoriginSrc, int yoriginSrc, int wSrc, int hSrc, BLENDFUNCTION ftn); __declspec(dllimport) BOOL __stdcall GdiTransparentBlt( HDC hdcDest, int xoriginDest, int yoriginDest, int wDest, int hDest, HDC hdcSrc, int xoriginSrc, int yoriginSrc, int wSrc, int hSrc, UINT crTransparent); __declspec(dllimport) BOOL __stdcall GdiGradientFill( HDC hdc, PTRIVERTEX pVertex, ULONG nVertex, PVOID pMesh, ULONG nCount, ULONG ulMode); __declspec(dllimport) BOOL __stdcall PlayMetaFileRecord( HDC hdc, LPHANDLETABLE lpHandleTable, LPMETARECORD lpMR, UINT noObjs); typedef int (__stdcall* MFENUMPROC)( HDC hdc, HANDLETABLE * lpht, METARECORD * lpMR, int nObj, LPARAM param); __declspec(dllimport) BOOL __stdcall EnumMetaFile( HDC hdc, HMETAFILE hmf, MFENUMPROC proc, LPARAM param); typedef int (__stdcall* ENHMFENUMPROC)( HDC hdc, HANDLETABLE * lpht, const ENHMETARECORD * lpmr, int nHandles, LPARAM data); __declspec(dllimport) HENHMETAFILE __stdcall CloseEnhMetaFile( HDC hdc); __declspec(dllimport) HENHMETAFILE __stdcall CopyEnhMetaFileA( HENHMETAFILE hEnh, LPCSTR lpFileName); __declspec(dllimport) HENHMETAFILE __stdcall CopyEnhMetaFileW( HENHMETAFILE hEnh, LPCWSTR lpFileName); __declspec(dllimport) HDC __stdcall CreateEnhMetaFileA( HDC hdc, LPCSTR lpFilename, const RECT *lprc, LPCSTR lpDesc); __declspec(dllimport) HDC __stdcall CreateEnhMetaFileW( HDC hdc, LPCWSTR lpFilename, const RECT *lprc, LPCWSTR lpDesc); __declspec(dllimport) BOOL __stdcall DeleteEnhMetaFile( HENHMETAFILE hmf); __declspec(dllimport) BOOL __stdcall EnumEnhMetaFile( HDC hdc, HENHMETAFILE hmf, ENHMFENUMPROC proc, LPVOID param, const RECT * lpRect); __declspec(dllimport) HENHMETAFILE __stdcall GetEnhMetaFileA( LPCSTR lpName); __declspec(dllimport) HENHMETAFILE __stdcall GetEnhMetaFileW( LPCWSTR lpName); __declspec(dllimport) UINT __stdcall GetEnhMetaFileBits( HENHMETAFILE hEMF, UINT nSize, LPBYTE lpData); __declspec(dllimport) UINT __stdcall GetEnhMetaFileDescriptionA( HENHMETAFILE hemf, UINT cchBuffer, LPSTR lpDescription); __declspec(dllimport) UINT __stdcall GetEnhMetaFileDescriptionW( HENHMETAFILE hemf, UINT cchBuffer, LPWSTR lpDescription); __declspec(dllimport) UINT __stdcall GetEnhMetaFileHeader( HENHMETAFILE hemf, UINT nSize, LPENHMETAHEADER lpEnhMetaHeader); __declspec(dllimport) UINT __stdcall GetEnhMetaFilePaletteEntries( HENHMETAFILE hemf, UINT nNumEntries, LPPALETTEENTRY lpPaletteEntries); __declspec(dllimport) UINT __stdcall GetEnhMetaFilePixelFormat( HENHMETAFILE hemf, UINT cbBuffer, PIXELFORMATDESCRIPTOR *ppfd); __declspec(dllimport) UINT __stdcall GetWinMetaFileBits( HENHMETAFILE hemf, UINT cbData16, LPBYTE pData16, INT iMapMode, HDC hdcRef); __declspec(dllimport) BOOL __stdcall PlayEnhMetaFile( HDC hdc, HENHMETAFILE hmf, const RECT * lprect); __declspec(dllimport) BOOL __stdcall PlayEnhMetaFileRecord( HDC hdc, LPHANDLETABLE pht, const ENHMETARECORD *pmr, UINT cht); __declspec(dllimport) HENHMETAFILE __stdcall SetEnhMetaFileBits( UINT nSize, const BYTE * pb); __declspec(dllimport) HENHMETAFILE __stdcall SetWinMetaFileBits( UINT nSize, const BYTE *lpMeta16Data, HDC hdcRef, const METAFILEPICT *lpMFP); __declspec(dllimport) BOOL __stdcall GdiComment( HDC hdc, UINT nSize, const BYTE *lpData); __declspec(dllimport) BOOL __stdcall GetTextMetricsA( HDC hdc, LPTEXTMETRICA lptm); __declspec(dllimport) BOOL __stdcall GetTextMetricsW( HDC hdc, LPTEXTMETRICW lptm); typedef struct tagDIBSECTION { BITMAP dsBm; BITMAPINFOHEADER dsBmih; DWORD dsBitfields[3]; HANDLE dshSection; DWORD dsOffset; } DIBSECTION, *LPDIBSECTION, *PDIBSECTION; __declspec(dllimport) BOOL __stdcall AngleArc( HDC hdc, int x, int y, DWORD r, FLOAT StartAngle, FLOAT SweepAngle); __declspec(dllimport) BOOL __stdcall PolyPolyline( HDC hdc, const POINT *apt, const DWORD *asz, DWORD csz); __declspec(dllimport) BOOL __stdcall GetWorldTransform( HDC hdc, LPXFORM lpxf); __declspec(dllimport) BOOL __stdcall SetWorldTransform( HDC hdc, const XFORM * lpxf); __declspec(dllimport) BOOL __stdcall ModifyWorldTransform( HDC hdc, const XFORM * lpxf, DWORD mode); __declspec(dllimport) BOOL __stdcall CombineTransform( LPXFORM lpxfOut, const XFORM *lpxf1, const XFORM *lpxf2); __declspec(dllimport) HBITMAP __stdcall CreateDIBSection( HDC hdc, const BITMAPINFO *pbmi, UINT usage, void **ppvBits, HANDLE hSection, DWORD offset); __declspec(dllimport) UINT __stdcall GetDIBColorTable( HDC hdc, UINT iStart, UINT cEntries, RGBQUAD *prgbq); __declspec(dllimport) UINT __stdcall SetDIBColorTable( HDC hdc, UINT iStart, UINT cEntries, const RGBQUAD *prgbq); typedef struct tagCOLORADJUSTMENT { WORD caSize; WORD caFlags; WORD caIlluminantIndex; WORD caRedGamma; WORD caGreenGamma; WORD caBlueGamma; WORD caReferenceBlack; WORD caReferenceWhite; SHORT caContrast; SHORT caBrightness; SHORT caColorfulness; SHORT caRedGreenTint; } COLORADJUSTMENT, *PCOLORADJUSTMENT, *LPCOLORADJUSTMENT; __declspec(dllimport) BOOL __stdcall SetColorAdjustment( HDC hdc, const COLORADJUSTMENT *lpca); __declspec(dllimport) BOOL __stdcall GetColorAdjustment( HDC hdc, LPCOLORADJUSTMENT lpca); __declspec(dllimport) HPALETTE __stdcall CreateHalftonePalette( HDC hdc); typedef BOOL (__stdcall* ABORTPROC)( HDC, int); typedef struct _DOCINFOA { int cbSize; LPCSTR lpszDocName; LPCSTR lpszOutput; LPCSTR lpszDatatype; DWORD fwType; } DOCINFOA, *LPDOCINFOA; typedef struct _DOCINFOW { int cbSize; LPCWSTR lpszDocName; LPCWSTR lpszOutput; LPCWSTR lpszDatatype; DWORD fwType; } DOCINFOW, *LPDOCINFOW; typedef DOCINFOW DOCINFO; typedef LPDOCINFOW LPDOCINFO; __declspec(dllimport) int __stdcall StartDocA( HDC hdc, const DOCINFOA *lpdi); __declspec(dllimport) int __stdcall StartDocW( HDC hdc, const DOCINFOW *lpdi); __declspec(dllimport) int __stdcall EndDoc( HDC hdc); __declspec(dllimport) int __stdcall StartPage( HDC hdc); __declspec(dllimport) int __stdcall EndPage( HDC hdc); __declspec(dllimport) int __stdcall AbortDoc( HDC hdc); __declspec(dllimport) int __stdcall SetAbortProc( HDC hdc, ABORTPROC proc); __declspec(dllimport) BOOL __stdcall AbortPath( HDC hdc); __declspec(dllimport) BOOL __stdcall ArcTo( HDC hdc, int left, int top, int right, int bottom, int xr1, int yr1, int xr2, int yr2); __declspec(dllimport) BOOL __stdcall BeginPath( HDC hdc); __declspec(dllimport) BOOL __stdcall CloseFigure( HDC hdc); __declspec(dllimport) BOOL __stdcall EndPath( HDC hdc); __declspec(dllimport) BOOL __stdcall FillPath( HDC hdc); __declspec(dllimport) BOOL __stdcall FlattenPath( HDC hdc); __declspec(dllimport) int __stdcall GetPath( HDC hdc, LPPOINT apt, LPBYTE aj, int cpt); __declspec(dllimport) HRGN __stdcall PathToRegion( HDC hdc); __declspec(dllimport) BOOL __stdcall PolyDraw( HDC hdc, const POINT * apt, const BYTE * aj, int cpt); __declspec(dllimport) BOOL __stdcall SelectClipPath( HDC hdc, int mode); __declspec(dllimport) int __stdcall SetArcDirection( HDC hdc, int dir); __declspec(dllimport) BOOL __stdcall SetMiterLimit( HDC hdc, FLOAT limit, PFLOAT old); __declspec(dllimport) BOOL __stdcall StrokeAndFillPath( HDC hdc); __declspec(dllimport) BOOL __stdcall StrokePath( HDC hdc); __declspec(dllimport) BOOL __stdcall WidenPath( HDC hdc); __declspec(dllimport) HPEN __stdcall ExtCreatePen( DWORD iPenStyle, DWORD cWidth, const LOGBRUSH *plbrush, DWORD cStyle, const DWORD *pstyle); __declspec(dllimport) BOOL __stdcall GetMiterLimit( HDC hdc, PFLOAT plimit); __declspec(dllimport) int __stdcall GetArcDirection( HDC hdc); __declspec(dllimport) int __stdcall GetObjectA( HANDLE h, int c, LPVOID pv); __declspec(dllimport) int __stdcall GetObjectW( HANDLE h, int c, LPVOID pv); __declspec(dllimport) BOOL __stdcall MoveToEx( HDC hdc, int x, int y, LPPOINT lppt); __declspec(dllimport) BOOL __stdcall TextOutA( HDC hdc, int x, int y, LPCSTR lpString, int c); __declspec(dllimport) BOOL __stdcall TextOutW( HDC hdc, int x, int y, LPCWSTR lpString, int c); __declspec(dllimport) BOOL __stdcall ExtTextOutA( HDC hdc, int x, int y, UINT options, const RECT * lprect, LPCSTR lpString, UINT c, const INT * lpDx); __declspec(dllimport) BOOL __stdcall ExtTextOutW( HDC hdc, int x, int y, UINT options, const RECT * lprect, LPCWSTR lpString, UINT c, const INT * lpDx); __declspec(dllimport) BOOL __stdcall PolyTextOutA( HDC hdc, const POLYTEXTA * ppt, int nstrings); __declspec(dllimport) BOOL __stdcall PolyTextOutW( HDC hdc, const POLYTEXTW * ppt, int nstrings); __declspec(dllimport) HRGN __stdcall CreatePolygonRgn( const POINT *pptl, int cPoint, int iMode); __declspec(dllimport) BOOL __stdcall DPtoLP( HDC hdc, LPPOINT lppt, int c); __declspec(dllimport) BOOL __stdcall LPtoDP( HDC hdc, LPPOINT lppt, int c); __declspec(dllimport) BOOL __stdcall Polygon( HDC hdc, const POINT *apt, int cpt); __declspec(dllimport) BOOL __stdcall Polyline( HDC hdc, const POINT *apt, int cpt); __declspec(dllimport) BOOL __stdcall PolyBezier( HDC hdc, const POINT * apt, DWORD cpt); __declspec(dllimport) BOOL __stdcall PolyBezierTo( HDC hdc, const POINT * apt, DWORD cpt); __declspec(dllimport) BOOL __stdcall PolylineTo( HDC hdc, const POINT * apt, DWORD cpt); __declspec(dllimport) BOOL __stdcall SetViewportExtEx( HDC hdc, int x, int y, LPSIZE lpsz); __declspec(dllimport) BOOL __stdcall SetViewportOrgEx( HDC hdc, int x, int y, LPPOINT lppt); __declspec(dllimport) BOOL __stdcall SetWindowExtEx( HDC hdc, int x, int y, LPSIZE lpsz); __declspec(dllimport) BOOL __stdcall SetWindowOrgEx( HDC hdc, int x, int y, LPPOINT lppt); __declspec(dllimport) BOOL __stdcall OffsetViewportOrgEx( HDC hdc, int x, int y, LPPOINT lppt); __declspec(dllimport) BOOL __stdcall OffsetWindowOrgEx( HDC hdc, int x, int y, LPPOINT lppt); __declspec(dllimport) BOOL __stdcall ScaleViewportExtEx( HDC hdc, int xn, int dx, int yn, int yd, LPSIZE lpsz); __declspec(dllimport) BOOL __stdcall ScaleWindowExtEx( HDC hdc, int xn, int xd, int yn, int yd, LPSIZE lpsz); __declspec(dllimport) BOOL __stdcall SetBitmapDimensionEx( HBITMAP hbm, int w, int h, LPSIZE lpsz); __declspec(dllimport) BOOL __stdcall SetBrushOrgEx( HDC hdc, int x, int y, LPPOINT lppt); __declspec(dllimport) int __stdcall GetTextFaceA( HDC hdc, int c, LPSTR lpName); __declspec(dllimport) int __stdcall GetTextFaceW( HDC hdc, int c, LPWSTR lpName); typedef struct tagKERNINGPAIR { WORD wFirst; WORD wSecond; int iKernAmount; } KERNINGPAIR, *LPKERNINGPAIR; __declspec(dllimport) DWORD __stdcall GetKerningPairsA( HDC hdc, DWORD nPairs, LPKERNINGPAIR lpKernPair); __declspec(dllimport) DWORD __stdcall GetKerningPairsW( HDC hdc, DWORD nPairs, LPKERNINGPAIR lpKernPair); __declspec(dllimport) BOOL __stdcall GetDCOrgEx( HDC hdc, LPPOINT lppt); __declspec(dllimport) BOOL __stdcall FixBrushOrgEx( HDC hdc, int x, int y, LPPOINT ptl); __declspec(dllimport) BOOL __stdcall UnrealizeObject( HGDIOBJ h); __declspec(dllimport) BOOL __stdcall GdiFlush(void); __declspec(dllimport) DWORD __stdcall GdiSetBatchLimit( DWORD dw); __declspec(dllimport) DWORD __stdcall GdiGetBatchLimit(void); typedef int (__stdcall* ICMENUMPROCA)(LPSTR, LPARAM); typedef int (__stdcall* ICMENUMPROCW)(LPWSTR, LPARAM); __declspec(dllimport) int __stdcall SetICMMode( HDC hdc, int mode); __declspec(dllimport) BOOL __stdcall CheckColorsInGamut( HDC hdc, LPRGBTRIPLE lpRGBTriple, LPVOID dlpBuffer, DWORD nCount); __declspec(dllimport) HCOLORSPACE __stdcall GetColorSpace( HDC hdc); __declspec(dllimport) BOOL __stdcall GetLogColorSpaceA( HCOLORSPACE hColorSpace, LPLOGCOLORSPACEA lpBuffer, DWORD nSize); __declspec(dllimport) BOOL __stdcall GetLogColorSpaceW( HCOLORSPACE hColorSpace, LPLOGCOLORSPACEW lpBuffer, DWORD nSize); __declspec(dllimport) HCOLORSPACE __stdcall CreateColorSpaceA( LPLOGCOLORSPACEA lplcs); __declspec(dllimport) HCOLORSPACE __stdcall CreateColorSpaceW( LPLOGCOLORSPACEW lplcs); __declspec(dllimport) HCOLORSPACE __stdcall SetColorSpace( HDC hdc, HCOLORSPACE hcs); __declspec(dllimport) BOOL __stdcall DeleteColorSpace( HCOLORSPACE hcs); __declspec(dllimport) BOOL __stdcall GetICMProfileA( HDC hdc, LPDWORD pBufSize, LPSTR pszFilename); __declspec(dllimport) BOOL __stdcall GetICMProfileW( HDC hdc, LPDWORD pBufSize, LPWSTR pszFilename); __declspec(dllimport) BOOL __stdcall SetICMProfileA( HDC hdc, LPSTR lpFileName); __declspec(dllimport) BOOL __stdcall SetICMProfileW( HDC hdc, LPWSTR lpFileName); __declspec(dllimport) BOOL __stdcall GetDeviceGammaRamp( HDC hdc, LPVOID lpRamp); __declspec(dllimport) BOOL __stdcall SetDeviceGammaRamp( HDC hdc, LPVOID lpRamp); __declspec(dllimport) BOOL __stdcall ColorMatchToTarget( HDC hdc, HDC hdcTarget, DWORD action); __declspec(dllimport) int __stdcall EnumICMProfilesA( HDC hdc, ICMENUMPROCA proc, LPARAM param); __declspec(dllimport) int __stdcall EnumICMProfilesW( HDC hdc, ICMENUMPROCW proc, LPARAM param); __declspec(dllimport) BOOL __stdcall UpdateICMRegKeyA( DWORD reserved, LPSTR lpszCMID, LPSTR lpszFileName, UINT command); __declspec(dllimport) BOOL __stdcall UpdateICMRegKeyW( DWORD reserved, LPWSTR lpszCMID, LPWSTR lpszFileName, UINT command); #pragma deprecated (UpdateICMRegKeyW) #pragma deprecated (UpdateICMRegKeyA) __declspec(dllimport) BOOL __stdcall ColorCorrectPalette( HDC hdc, HPALETTE hPal, DWORD deFirst, DWORD num); typedef struct tagEMR { DWORD iType; DWORD nSize; } EMR, *PEMR; typedef struct tagEMRTEXT { POINTL ptlReference; DWORD nChars; DWORD offString; DWORD fOptions; RECTL rcl; DWORD offDx; } EMRTEXT, *PEMRTEXT; typedef struct tagABORTPATH { EMR emr; } EMRABORTPATH, *PEMRABORTPATH, EMRBEGINPATH, *PEMRBEGINPATH, EMRENDPATH, *PEMRENDPATH, EMRCLOSEFIGURE, *PEMRCLOSEFIGURE, EMRFLATTENPATH, *PEMRFLATTENPATH, EMRWIDENPATH, *PEMRWIDENPATH, EMRSETMETARGN, *PEMRSETMETARGN, EMRSAVEDC, *PEMRSAVEDC, EMRREALIZEPALETTE, *PEMRREALIZEPALETTE; typedef struct tagEMRSELECTCLIPPATH { EMR emr; DWORD iMode; } EMRSELECTCLIPPATH, *PEMRSELECTCLIPPATH, EMRSETBKMODE, *PEMRSETBKMODE, EMRSETMAPMODE, *PEMRSETMAPMODE, EMRSETLAYOUT, *PEMRSETLAYOUT, EMRSETPOLYFILLMODE, *PEMRSETPOLYFILLMODE, EMRSETROP2, *PEMRSETROP2, EMRSETSTRETCHBLTMODE, *PEMRSETSTRETCHBLTMODE, EMRSETICMMODE, *PEMRSETICMMODE, EMRSETTEXTALIGN, *PEMRSETTEXTALIGN; typedef struct tagEMRSETMITERLIMIT { EMR emr; FLOAT eMiterLimit; } EMRSETMITERLIMIT, *PEMRSETMITERLIMIT; typedef struct tagEMRRESTOREDC { EMR emr; LONG iRelative; } EMRRESTOREDC, *PEMRRESTOREDC; typedef struct tagEMRSETARCDIRECTION { EMR emr; DWORD iArcDirection; } EMRSETARCDIRECTION, *PEMRSETARCDIRECTION; typedef struct tagEMRSETMAPPERFLAGS { EMR emr; DWORD dwFlags; } EMRSETMAPPERFLAGS, *PEMRSETMAPPERFLAGS; typedef struct tagEMRSETTEXTCOLOR { EMR emr; COLORREF crColor; } EMRSETBKCOLOR, *PEMRSETBKCOLOR, EMRSETTEXTCOLOR, *PEMRSETTEXTCOLOR; typedef struct tagEMRSELECTOBJECT { EMR emr; DWORD ihObject; } EMRSELECTOBJECT, *PEMRSELECTOBJECT, EMRDELETEOBJECT, *PEMRDELETEOBJECT; typedef struct tagEMRSELECTPALETTE { EMR emr; DWORD ihPal; } EMRSELECTPALETTE, *PEMRSELECTPALETTE; typedef struct tagEMRRESIZEPALETTE { EMR emr; DWORD ihPal; DWORD cEntries; } EMRRESIZEPALETTE, *PEMRRESIZEPALETTE; typedef struct tagEMRSETPALETTEENTRIES { EMR emr; DWORD ihPal; DWORD iStart; DWORD cEntries; PALETTEENTRY aPalEntries[1]; } EMRSETPALETTEENTRIES, *PEMRSETPALETTEENTRIES; typedef struct tagEMRSETCOLORADJUSTMENT { EMR emr; COLORADJUSTMENT ColorAdjustment; } EMRSETCOLORADJUSTMENT, *PEMRSETCOLORADJUSTMENT; typedef struct tagEMRGDICOMMENT { EMR emr; DWORD cbData; BYTE Data[1]; } EMRGDICOMMENT, *PEMRGDICOMMENT; typedef struct tagEMREOF { EMR emr; DWORD nPalEntries; DWORD offPalEntries; DWORD nSizeLast; } EMREOF, *PEMREOF; typedef struct tagEMRLINETO { EMR emr; POINTL ptl; } EMRLINETO, *PEMRLINETO, EMRMOVETOEX, *PEMRMOVETOEX; typedef struct tagEMROFFSETCLIPRGN { EMR emr; POINTL ptlOffset; } EMROFFSETCLIPRGN, *PEMROFFSETCLIPRGN; typedef struct tagEMRFILLPATH { EMR emr; RECTL rclBounds; } EMRFILLPATH, *PEMRFILLPATH, EMRSTROKEANDFILLPATH, *PEMRSTROKEANDFILLPATH, EMRSTROKEPATH, *PEMRSTROKEPATH; typedef struct tagEMREXCLUDECLIPRECT { EMR emr; RECTL rclClip; } EMREXCLUDECLIPRECT, *PEMREXCLUDECLIPRECT, EMRINTERSECTCLIPRECT, *PEMRINTERSECTCLIPRECT; typedef struct tagEMRSETVIEWPORTORGEX { EMR emr; POINTL ptlOrigin; } EMRSETVIEWPORTORGEX, *PEMRSETVIEWPORTORGEX, EMRSETWINDOWORGEX, *PEMRSETWINDOWORGEX, EMRSETBRUSHORGEX, *PEMRSETBRUSHORGEX; typedef struct tagEMRSETVIEWPORTEXTEX { EMR emr; SIZEL szlExtent; } EMRSETVIEWPORTEXTEX, *PEMRSETVIEWPORTEXTEX, EMRSETWINDOWEXTEX, *PEMRSETWINDOWEXTEX; typedef struct tagEMRSCALEVIEWPORTEXTEX { EMR emr; LONG xNum; LONG xDenom; LONG yNum; LONG yDenom; } EMRSCALEVIEWPORTEXTEX, *PEMRSCALEVIEWPORTEXTEX, EMRSCALEWINDOWEXTEX, *PEMRSCALEWINDOWEXTEX; typedef struct tagEMRSETWORLDTRANSFORM { EMR emr; XFORM xform; } EMRSETWORLDTRANSFORM, *PEMRSETWORLDTRANSFORM; typedef struct tagEMRMODIFYWORLDTRANSFORM { EMR emr; XFORM xform; DWORD iMode; } EMRMODIFYWORLDTRANSFORM, *PEMRMODIFYWORLDTRANSFORM; typedef struct tagEMRSETPIXELV { EMR emr; POINTL ptlPixel; COLORREF crColor; } EMRSETPIXELV, *PEMRSETPIXELV; typedef struct tagEMREXTFLOODFILL { EMR emr; POINTL ptlStart; COLORREF crColor; DWORD iMode; } EMREXTFLOODFILL, *PEMREXTFLOODFILL; typedef struct tagEMRELLIPSE { EMR emr; RECTL rclBox; } EMRELLIPSE, *PEMRELLIPSE, EMRRECTANGLE, *PEMRRECTANGLE; typedef struct tagEMRROUNDRECT { EMR emr; RECTL rclBox; SIZEL szlCorner; } EMRROUNDRECT, *PEMRROUNDRECT; typedef struct tagEMRARC { EMR emr; RECTL rclBox; POINTL ptlStart; POINTL ptlEnd; } EMRARC, *PEMRARC, EMRARCTO, *PEMRARCTO, EMRCHORD, *PEMRCHORD, EMRPIE, *PEMRPIE; typedef struct tagEMRANGLEARC { EMR emr; POINTL ptlCenter; DWORD nRadius; FLOAT eStartAngle; FLOAT eSweepAngle; } EMRANGLEARC, *PEMRANGLEARC; typedef struct tagEMRPOLYLINE { EMR emr; RECTL rclBounds; DWORD cptl; POINTL aptl[1]; } EMRPOLYLINE, *PEMRPOLYLINE, EMRPOLYBEZIER, *PEMRPOLYBEZIER, EMRPOLYGON, *PEMRPOLYGON, EMRPOLYBEZIERTO, *PEMRPOLYBEZIERTO, EMRPOLYLINETO, *PEMRPOLYLINETO; typedef struct tagEMRPOLYLINE16 { EMR emr; RECTL rclBounds; DWORD cpts; POINTS apts[1]; } EMRPOLYLINE16, *PEMRPOLYLINE16, EMRPOLYBEZIER16, *PEMRPOLYBEZIER16, EMRPOLYGON16, *PEMRPOLYGON16, EMRPOLYBEZIERTO16, *PEMRPOLYBEZIERTO16, EMRPOLYLINETO16, *PEMRPOLYLINETO16; typedef struct tagEMRPOLYDRAW { EMR emr; RECTL rclBounds; DWORD cptl; POINTL aptl[1]; BYTE abTypes[1]; } EMRPOLYDRAW, *PEMRPOLYDRAW; typedef struct tagEMRPOLYDRAW16 { EMR emr; RECTL rclBounds; DWORD cpts; POINTS apts[1]; BYTE abTypes[1]; } EMRPOLYDRAW16, *PEMRPOLYDRAW16; typedef struct tagEMRPOLYPOLYLINE { EMR emr; RECTL rclBounds; DWORD nPolys; DWORD cptl; DWORD aPolyCounts[1]; POINTL aptl[1]; } EMRPOLYPOLYLINE, *PEMRPOLYPOLYLINE, EMRPOLYPOLYGON, *PEMRPOLYPOLYGON; typedef struct tagEMRPOLYPOLYLINE16 { EMR emr; RECTL rclBounds; DWORD nPolys; DWORD cpts; DWORD aPolyCounts[1]; POINTS apts[1]; } EMRPOLYPOLYLINE16, *PEMRPOLYPOLYLINE16, EMRPOLYPOLYGON16, *PEMRPOLYPOLYGON16; typedef struct tagEMRINVERTRGN { EMR emr; RECTL rclBounds; DWORD cbRgnData; BYTE RgnData[1]; } EMRINVERTRGN, *PEMRINVERTRGN, EMRPAINTRGN, *PEMRPAINTRGN; typedef struct tagEMRFILLRGN { EMR emr; RECTL rclBounds; DWORD cbRgnData; DWORD ihBrush; BYTE RgnData[1]; } EMRFILLRGN, *PEMRFILLRGN; typedef struct tagEMRFRAMERGN { EMR emr; RECTL rclBounds; DWORD cbRgnData; DWORD ihBrush; SIZEL szlStroke; BYTE RgnData[1]; } EMRFRAMERGN, *PEMRFRAMERGN; typedef struct tagEMREXTSELECTCLIPRGN { EMR emr; DWORD cbRgnData; DWORD iMode; BYTE RgnData[1]; } EMREXTSELECTCLIPRGN, *PEMREXTSELECTCLIPRGN; typedef struct tagEMREXTTEXTOUTA { EMR emr; RECTL rclBounds; DWORD iGraphicsMode; FLOAT exScale; FLOAT eyScale; EMRTEXT emrtext; } EMREXTTEXTOUTA, *PEMREXTTEXTOUTA, EMREXTTEXTOUTW, *PEMREXTTEXTOUTW; typedef struct tagEMRPOLYTEXTOUTA { EMR emr; RECTL rclBounds; DWORD iGraphicsMode; FLOAT exScale; FLOAT eyScale; LONG cStrings; EMRTEXT aemrtext[1]; } EMRPOLYTEXTOUTA, *PEMRPOLYTEXTOUTA, EMRPOLYTEXTOUTW, *PEMRPOLYTEXTOUTW; typedef struct tagEMRBITBLT { EMR emr; RECTL rclBounds; LONG xDest; LONG yDest; LONG cxDest; LONG cyDest; DWORD dwRop; LONG xSrc; LONG ySrc; XFORM xformSrc; COLORREF crBkColorSrc; DWORD iUsageSrc; DWORD offBmiSrc; DWORD cbBmiSrc; DWORD offBitsSrc; DWORD cbBitsSrc; } EMRBITBLT, *PEMRBITBLT; typedef struct tagEMRSTRETCHBLT { EMR emr; RECTL rclBounds; LONG xDest; LONG yDest; LONG cxDest; LONG cyDest; DWORD dwRop; LONG xSrc; LONG ySrc; XFORM xformSrc; COLORREF crBkColorSrc; DWORD iUsageSrc; DWORD offBmiSrc; DWORD cbBmiSrc; DWORD offBitsSrc; DWORD cbBitsSrc; LONG cxSrc; LONG cySrc; } EMRSTRETCHBLT, *PEMRSTRETCHBLT; typedef struct tagEMRMASKBLT { EMR emr; RECTL rclBounds; LONG xDest; LONG yDest; LONG cxDest; LONG cyDest; DWORD dwRop; LONG xSrc; LONG ySrc; XFORM xformSrc; COLORREF crBkColorSrc; DWORD iUsageSrc; DWORD offBmiSrc; DWORD cbBmiSrc; DWORD offBitsSrc; DWORD cbBitsSrc; LONG xMask; LONG yMask; DWORD iUsageMask; DWORD offBmiMask; DWORD cbBmiMask; DWORD offBitsMask; DWORD cbBitsMask; } EMRMASKBLT, *PEMRMASKBLT; typedef struct tagEMRPLGBLT { EMR emr; RECTL rclBounds; POINTL aptlDest[3]; LONG xSrc; LONG ySrc; LONG cxSrc; LONG cySrc; XFORM xformSrc; COLORREF crBkColorSrc; DWORD iUsageSrc; DWORD offBmiSrc; DWORD cbBmiSrc; DWORD offBitsSrc; DWORD cbBitsSrc; LONG xMask; LONG yMask; DWORD iUsageMask; DWORD offBmiMask; DWORD cbBmiMask; DWORD offBitsMask; DWORD cbBitsMask; } EMRPLGBLT, *PEMRPLGBLT; typedef struct tagEMRSETDIBITSTODEVICE { EMR emr; RECTL rclBounds; LONG xDest; LONG yDest; LONG xSrc; LONG ySrc; LONG cxSrc; LONG cySrc; DWORD offBmiSrc; DWORD cbBmiSrc; DWORD offBitsSrc; DWORD cbBitsSrc; DWORD iUsageSrc; DWORD iStartScan; DWORD cScans; } EMRSETDIBITSTODEVICE, *PEMRSETDIBITSTODEVICE; typedef struct tagEMRSTRETCHDIBITS { EMR emr; RECTL rclBounds; LONG xDest; LONG yDest; LONG xSrc; LONG ySrc; LONG cxSrc; LONG cySrc; DWORD offBmiSrc; DWORD cbBmiSrc; DWORD offBitsSrc; DWORD cbBitsSrc; DWORD iUsageSrc; DWORD dwRop; LONG cxDest; LONG cyDest; } EMRSTRETCHDIBITS, *PEMRSTRETCHDIBITS; typedef struct tagEMREXTCREATEFONTINDIRECTW { EMR emr; DWORD ihFont; EXTLOGFONTW elfw; } EMREXTCREATEFONTINDIRECTW, *PEMREXTCREATEFONTINDIRECTW; typedef struct tagEMRCREATEPALETTE { EMR emr; DWORD ihPal; LOGPALETTE lgpl; } EMRCREATEPALETTE, *PEMRCREATEPALETTE; typedef struct tagEMRCREATEPEN { EMR emr; DWORD ihPen; LOGPEN lopn; } EMRCREATEPEN, *PEMRCREATEPEN; typedef struct tagEMREXTCREATEPEN { EMR emr; DWORD ihPen; DWORD offBmi; DWORD cbBmi; DWORD offBits; DWORD cbBits; EXTLOGPEN32 elp; } EMREXTCREATEPEN, *PEMREXTCREATEPEN; typedef struct tagEMRCREATEBRUSHINDIRECT { EMR emr; DWORD ihBrush; LOGBRUSH32 lb; } EMRCREATEBRUSHINDIRECT, *PEMRCREATEBRUSHINDIRECT; typedef struct tagEMRCREATEMONOBRUSH { EMR emr; DWORD ihBrush; DWORD iUsage; DWORD offBmi; DWORD cbBmi; DWORD offBits; DWORD cbBits; } EMRCREATEMONOBRUSH, *PEMRCREATEMONOBRUSH; typedef struct tagEMRCREATEDIBPATTERNBRUSHPT { EMR emr; DWORD ihBrush; DWORD iUsage; DWORD offBmi; DWORD cbBmi; DWORD offBits; DWORD cbBits; } EMRCREATEDIBPATTERNBRUSHPT, *PEMRCREATEDIBPATTERNBRUSHPT; typedef struct tagEMRFORMAT { DWORD dSignature; DWORD nVersion; DWORD cbData; DWORD offData; } EMRFORMAT, *PEMRFORMAT; typedef struct tagEMRGLSRECORD { EMR emr; DWORD cbData; BYTE Data[1]; } EMRGLSRECORD, *PEMRGLSRECORD; typedef struct tagEMRGLSBOUNDEDRECORD { EMR emr; RECTL rclBounds; DWORD cbData; BYTE Data[1]; } EMRGLSBOUNDEDRECORD, *PEMRGLSBOUNDEDRECORD; typedef struct tagEMRPIXELFORMAT { EMR emr; PIXELFORMATDESCRIPTOR pfd; } EMRPIXELFORMAT, *PEMRPIXELFORMAT; typedef struct tagEMRCREATECOLORSPACE { EMR emr; DWORD ihCS; LOGCOLORSPACEA lcs; } EMRCREATECOLORSPACE, *PEMRCREATECOLORSPACE; typedef struct tagEMRSETCOLORSPACE { EMR emr; DWORD ihCS; } EMRSETCOLORSPACE, *PEMRSETCOLORSPACE, EMRSELECTCOLORSPACE, *PEMRSELECTCOLORSPACE, EMRDELETECOLORSPACE, *PEMRDELETECOLORSPACE; typedef struct tagEMREXTESCAPE { EMR emr; INT iEscape; INT cbEscData; BYTE EscData[1]; } EMREXTESCAPE, *PEMREXTESCAPE, EMRDRAWESCAPE, *PEMRDRAWESCAPE; typedef struct tagEMRNAMEDESCAPE { EMR emr; INT iEscape; INT cbDriver; INT cbEscData; BYTE EscData[1]; } EMRNAMEDESCAPE, *PEMRNAMEDESCAPE; typedef struct tagEMRSETICMPROFILE { EMR emr; DWORD dwFlags; DWORD cbName; DWORD cbData; BYTE Data[1]; } EMRSETICMPROFILE, *PEMRSETICMPROFILE, EMRSETICMPROFILEA, *PEMRSETICMPROFILEA, EMRSETICMPROFILEW, *PEMRSETICMPROFILEW; typedef struct tagEMRCREATECOLORSPACEW { EMR emr; DWORD ihCS; LOGCOLORSPACEW lcs; DWORD dwFlags; DWORD cbData; BYTE Data[1]; } EMRCREATECOLORSPACEW, *PEMRCREATECOLORSPACEW; typedef struct tagCOLORMATCHTOTARGET { EMR emr; DWORD dwAction; DWORD dwFlags; DWORD cbName; DWORD cbData; BYTE Data[1]; } EMRCOLORMATCHTOTARGET, *PEMRCOLORMATCHTOTARGET; typedef struct tagCOLORCORRECTPALETTE { EMR emr; DWORD ihPalette; DWORD nFirstEntry; DWORD nPalEntries; DWORD nReserved; } EMRCOLORCORRECTPALETTE, *PEMRCOLORCORRECTPALETTE; typedef struct tagEMRALPHABLEND { EMR emr; RECTL rclBounds; LONG xDest; LONG yDest; LONG cxDest; LONG cyDest; DWORD dwRop; LONG xSrc; LONG ySrc; XFORM xformSrc; COLORREF crBkColorSrc; DWORD iUsageSrc; DWORD offBmiSrc; DWORD cbBmiSrc; DWORD offBitsSrc; DWORD cbBitsSrc; LONG cxSrc; LONG cySrc; } EMRALPHABLEND, *PEMRALPHABLEND; typedef struct tagEMRGRADIENTFILL { EMR emr; RECTL rclBounds; DWORD nVer; DWORD nTri; ULONG ulMode; TRIVERTEX Ver[1]; }EMRGRADIENTFILL,*PEMRGRADIENTFILL; typedef struct tagEMRTRANSPARENTBLT { EMR emr; RECTL rclBounds; LONG xDest; LONG yDest; LONG cxDest; LONG cyDest; DWORD dwRop; LONG xSrc; LONG ySrc; XFORM xformSrc; COLORREF crBkColorSrc; DWORD iUsageSrc; DWORD offBmiSrc; DWORD cbBmiSrc; DWORD offBitsSrc; DWORD cbBitsSrc; LONG cxSrc; LONG cySrc; } EMRTRANSPARENTBLT, *PEMRTRANSPARENTBLT; __declspec(dllimport) BOOL __stdcall wglCopyContext(HGLRC, HGLRC, UINT); __declspec(dllimport) HGLRC __stdcall wglCreateContext(HDC); __declspec(dllimport) HGLRC __stdcall wglCreateLayerContext(HDC, int); __declspec(dllimport) BOOL __stdcall wglDeleteContext(HGLRC); __declspec(dllimport) HGLRC __stdcall wglGetCurrentContext(void); __declspec(dllimport) HDC __stdcall wglGetCurrentDC(void); __declspec(dllimport) PROC __stdcall wglGetProcAddress(LPCSTR); __declspec(dllimport) BOOL __stdcall wglMakeCurrent(HDC, HGLRC); __declspec(dllimport) BOOL __stdcall wglShareLists(HGLRC, HGLRC); __declspec(dllimport) BOOL __stdcall wglUseFontBitmapsA(HDC, DWORD, DWORD, DWORD); __declspec(dllimport) BOOL __stdcall wglUseFontBitmapsW(HDC, DWORD, DWORD, DWORD); __declspec(dllimport) BOOL __stdcall SwapBuffers(HDC); typedef struct _POINTFLOAT { FLOAT x; FLOAT y; } POINTFLOAT, *PPOINTFLOAT; typedef struct _GLYPHMETRICSFLOAT { FLOAT gmfBlackBoxX; FLOAT gmfBlackBoxY; POINTFLOAT gmfptGlyphOrigin; FLOAT gmfCellIncX; FLOAT gmfCellIncY; } GLYPHMETRICSFLOAT, *PGLYPHMETRICSFLOAT, *LPGLYPHMETRICSFLOAT; __declspec(dllimport) BOOL __stdcall wglUseFontOutlinesA(HDC, DWORD, DWORD, DWORD, FLOAT, FLOAT, int, LPGLYPHMETRICSFLOAT); __declspec(dllimport) BOOL __stdcall wglUseFontOutlinesW(HDC, DWORD, DWORD, DWORD, FLOAT, FLOAT, int, LPGLYPHMETRICSFLOAT); typedef struct tagLAYERPLANEDESCRIPTOR { WORD nSize; WORD nVersion; DWORD dwFlags; BYTE iPixelType; BYTE cColorBits; BYTE cRedBits; BYTE cRedShift; BYTE cGreenBits; BYTE cGreenShift; BYTE cBlueBits; BYTE cBlueShift; BYTE cAlphaBits; BYTE cAlphaShift; BYTE cAccumBits; BYTE cAccumRedBits; BYTE cAccumGreenBits; BYTE cAccumBlueBits; BYTE cAccumAlphaBits; BYTE cDepthBits; BYTE cStencilBits; BYTE cAuxBuffers; BYTE iLayerPlane; BYTE bReserved; COLORREF crTransparent; } LAYERPLANEDESCRIPTOR, *PLAYERPLANEDESCRIPTOR, *LPLAYERPLANEDESCRIPTOR; __declspec(dllimport) BOOL __stdcall wglDescribeLayerPlane(HDC, int, int, UINT, LPLAYERPLANEDESCRIPTOR); __declspec(dllimport) int __stdcall wglSetLayerPaletteEntries(HDC, int, int, int, const COLORREF *); __declspec(dllimport) int __stdcall wglGetLayerPaletteEntries(HDC, int, int, int, COLORREF *); __declspec(dllimport) BOOL __stdcall wglRealizeLayerPalette(HDC, int, BOOL); __declspec(dllimport) BOOL __stdcall wglSwapLayerBuffers(HDC, UINT); typedef struct _WGLSWAP { HDC hdc; UINT uiFlags; } WGLSWAP, *PWGLSWAP, *LPWGLSWAP; __declspec(dllimport) DWORD __stdcall wglSwapMultipleBuffers(UINT, const WGLSWAP *); #pragma endregion #pragma region Desktop Family #pragma endregion } #pragma warning(pop) #pragma once extern "C" { #pragma warning(push) #pragma warning(disable:4820) #pragma region Desktop Family typedef HANDLE HDWP; typedef void MENUTEMPLATEA; typedef void MENUTEMPLATEW; typedef MENUTEMPLATEW MENUTEMPLATE; typedef PVOID LPMENUTEMPLATEA; typedef PVOID LPMENUTEMPLATEW; typedef LPMENUTEMPLATEW LPMENUTEMPLATE; #pragma endregion #pragma region Desktop Family typedef LRESULT (__stdcall* WNDPROC)(HWND, UINT, WPARAM, LPARAM); #pragma endregion #pragma region Application Family or OneCore Family typedef INT_PTR (__stdcall* DLGPROC)(HWND, UINT, WPARAM, LPARAM); #pragma endregion #pragma region Desktop Family or Games Family typedef void (__stdcall* TIMERPROC)(HWND, UINT, UINT_PTR, DWORD); #pragma endregion #pragma region Desktop Family typedef BOOL (__stdcall* GRAYSTRINGPROC)(HDC, LPARAM, int); typedef BOOL (__stdcall* WNDENUMPROC)(HWND, LPARAM); typedef LRESULT (__stdcall* HOOKPROC)(int code, WPARAM wParam, LPARAM lParam); typedef void (__stdcall* SENDASYNCPROC)(HWND, UINT, ULONG_PTR, LRESULT); typedef BOOL (__stdcall* PROPENUMPROCA)(HWND, LPCSTR, HANDLE); typedef BOOL (__stdcall* PROPENUMPROCW)(HWND, LPCWSTR, HANDLE); typedef BOOL (__stdcall* PROPENUMPROCEXA)(HWND, LPSTR, HANDLE, ULONG_PTR); typedef BOOL (__stdcall* PROPENUMPROCEXW)(HWND, LPWSTR, HANDLE, ULONG_PTR); typedef int (__stdcall* EDITWORDBREAKPROCA)(LPSTR lpch, int ichCurrent, int cch, int code); typedef int (__stdcall* EDITWORDBREAKPROCW)(LPWSTR lpch, int ichCurrent, int cch, int code); typedef BOOL (__stdcall* DRAWSTATEPROC)(HDC hdc, LPARAM lData, WPARAM wData, int cx, int cy); #pragma endregion #pragma region Desktop Family typedef PROPENUMPROCW PROPENUMPROC; typedef PROPENUMPROCEXW PROPENUMPROCEX; typedef EDITWORDBREAKPROCW EDITWORDBREAKPROC; typedef BOOL (__stdcall* NAMEENUMPROCA)(LPSTR, LPARAM); typedef BOOL (__stdcall* NAMEENUMPROCW)(LPWSTR, LPARAM); typedef NAMEENUMPROCA WINSTAENUMPROCA; typedef NAMEENUMPROCA DESKTOPENUMPROCA; typedef NAMEENUMPROCW WINSTAENUMPROCW; typedef NAMEENUMPROCW DESKTOPENUMPROCW; typedef WINSTAENUMPROCW WINSTAENUMPROC; typedef DESKTOPENUMPROCW DESKTOPENUMPROC; #pragma endregion #pragma region Desktop Family #pragma warning(push) #pragma warning(disable:4995) __declspec(dllimport) int __stdcall wvsprintfA( LPSTR, LPCSTR, va_list arglist); __declspec(dllimport) int __stdcall wvsprintfW( LPWSTR, LPCWSTR, va_list arglist); __declspec(dllimport) int __cdecl wsprintfA( LPSTR, LPCSTR, ...); __declspec(dllimport) int __cdecl wsprintfW( LPWSTR, LPCWSTR, ...); #pragma warning(pop) #pragma endregion #pragma region Desktop Family typedef struct tagCBT_CREATEWNDA { struct tagCREATESTRUCTA *lpcs; HWND hwndInsertAfter; } CBT_CREATEWNDA, *LPCBT_CREATEWNDA; typedef struct tagCBT_CREATEWNDW { struct tagCREATESTRUCTW *lpcs; HWND hwndInsertAfter; } CBT_CREATEWNDW, *LPCBT_CREATEWNDW; typedef CBT_CREATEWNDW CBT_CREATEWND; typedef LPCBT_CREATEWNDW LPCBT_CREATEWND; typedef struct tagCBTACTIVATESTRUCT { BOOL fMouse; HWND hWndActive; } CBTACTIVATESTRUCT, *LPCBTACTIVATESTRUCT; #pragma endregion #pragma region Desktop Family typedef struct tagWTSSESSION_NOTIFICATION { DWORD cbSize; DWORD dwSessionId; } WTSSESSION_NOTIFICATION, *PWTSSESSION_NOTIFICATION; #pragma endregion #pragma region Desktop Family typedef struct { HWND hwnd; RECT rc; } SHELLHOOKINFO, *LPSHELLHOOKINFO; typedef struct tagEVENTMSG { UINT message; UINT paramL; UINT paramH; DWORD time; HWND hwnd; } EVENTMSG, *PEVENTMSGMSG, *NPEVENTMSGMSG, *LPEVENTMSGMSG; typedef struct tagEVENTMSG *PEVENTMSG, *NPEVENTMSG, *LPEVENTMSG; typedef struct tagCWPSTRUCT { LPARAM lParam; WPARAM wParam; UINT message; HWND hwnd; } CWPSTRUCT, *PCWPSTRUCT, *NPCWPSTRUCT, *LPCWPSTRUCT; typedef struct tagCWPRETSTRUCT { LRESULT lResult; LPARAM lParam; WPARAM wParam; UINT message; HWND hwnd; } CWPRETSTRUCT, *PCWPRETSTRUCT, *NPCWPRETSTRUCT, *LPCWPRETSTRUCT; #pragma endregion #pragma region Desktop Family typedef struct tagKBDLLHOOKSTRUCT { DWORD vkCode; DWORD scanCode; DWORD flags; DWORD time; ULONG_PTR dwExtraInfo; } KBDLLHOOKSTRUCT, *LPKBDLLHOOKSTRUCT, *PKBDLLHOOKSTRUCT; typedef struct tagMSLLHOOKSTRUCT { POINT pt; DWORD mouseData; DWORD flags; DWORD time; ULONG_PTR dwExtraInfo; } MSLLHOOKSTRUCT, *LPMSLLHOOKSTRUCT, *PMSLLHOOKSTRUCT; #pragma endregion #pragma region Desktop Family typedef struct tagDEBUGHOOKINFO { DWORD idThread; DWORD idThreadInstaller; LPARAM lParam; WPARAM wParam; int code; } DEBUGHOOKINFO, *PDEBUGHOOKINFO, *NPDEBUGHOOKINFO, * LPDEBUGHOOKINFO; typedef struct tagMOUSEHOOKSTRUCT { POINT pt; HWND hwnd; UINT wHitTestCode; ULONG_PTR dwExtraInfo; } MOUSEHOOKSTRUCT, *LPMOUSEHOOKSTRUCT, *PMOUSEHOOKSTRUCT; typedef struct tagMOUSEHOOKSTRUCTEX : public tagMOUSEHOOKSTRUCT { DWORD mouseData; } MOUSEHOOKSTRUCTEX, *LPMOUSEHOOKSTRUCTEX, *PMOUSEHOOKSTRUCTEX; typedef struct tagHARDWAREHOOKSTRUCT { HWND hwnd; UINT message; WPARAM wParam; LPARAM lParam; } HARDWAREHOOKSTRUCT, *LPHARDWAREHOOKSTRUCT, *PHARDWAREHOOKSTRUCT; #pragma endregion #pragma region Desktop Family __declspec(dllimport) HKL __stdcall LoadKeyboardLayoutA( LPCSTR pwszKLID, UINT Flags); __declspec(dllimport) HKL __stdcall LoadKeyboardLayoutW( LPCWSTR pwszKLID, UINT Flags); __declspec(dllimport) HKL __stdcall ActivateKeyboardLayout( HKL hkl, UINT Flags); __declspec(dllimport) int __stdcall ToUnicodeEx( UINT wVirtKey, UINT wScanCode, const BYTE *lpKeyState, LPWSTR pwszBuff, int cchBuff, UINT wFlags, HKL dwhkl); __declspec(dllimport) BOOL __stdcall UnloadKeyboardLayout( HKL hkl); __declspec(dllimport) BOOL __stdcall GetKeyboardLayoutNameA( LPSTR pwszKLID); __declspec(dllimport) BOOL __stdcall GetKeyboardLayoutNameW( LPWSTR pwszKLID); __declspec(dllimport) int __stdcall GetKeyboardLayoutList( int nBuff, HKL *lpList); __declspec(dllimport) HKL __stdcall GetKeyboardLayout( DWORD idThread); #pragma endregion #pragma region Desktop Family typedef struct tagMOUSEMOVEPOINT { int x; int y; DWORD time; ULONG_PTR dwExtraInfo; } MOUSEMOVEPOINT, *PMOUSEMOVEPOINT, * LPMOUSEMOVEPOINT; #pragma endregion #pragma region Desktop Family __declspec(dllimport) int __stdcall GetMouseMovePointsEx( UINT cbSize, LPMOUSEMOVEPOINT lppt, LPMOUSEMOVEPOINT lpptBuf, int nBufPoints, DWORD resolution); #pragma endregion #pragma region Desktop Family __declspec(dllimport) HDESK __stdcall CreateDesktopA( LPCSTR lpszDesktop, LPCSTR lpszDevice, DEVMODEA* pDevmode, DWORD dwFlags, ACCESS_MASK dwDesiredAccess, LPSECURITY_ATTRIBUTES lpsa); __declspec(dllimport) HDESK __stdcall CreateDesktopW( LPCWSTR lpszDesktop, LPCWSTR lpszDevice, DEVMODEW* pDevmode, DWORD dwFlags, ACCESS_MASK dwDesiredAccess, LPSECURITY_ATTRIBUTES lpsa); __declspec(dllimport) HDESK __stdcall CreateDesktopExA( LPCSTR lpszDesktop, LPCSTR lpszDevice, DEVMODEA* pDevmode, DWORD dwFlags, ACCESS_MASK dwDesiredAccess, LPSECURITY_ATTRIBUTES lpsa, ULONG ulHeapSize, PVOID pvoid); __declspec(dllimport) HDESK __stdcall CreateDesktopExW( LPCWSTR lpszDesktop, LPCWSTR lpszDevice, DEVMODEW* pDevmode, DWORD dwFlags, ACCESS_MASK dwDesiredAccess, LPSECURITY_ATTRIBUTES lpsa, ULONG ulHeapSize, PVOID pvoid); #pragma endregion #pragma region Desktop Family __declspec(dllimport) HDESK __stdcall OpenDesktopA( LPCSTR lpszDesktop, DWORD dwFlags, BOOL fInherit, ACCESS_MASK dwDesiredAccess); __declspec(dllimport) HDESK __stdcall OpenDesktopW( LPCWSTR lpszDesktop, DWORD dwFlags, BOOL fInherit, ACCESS_MASK dwDesiredAccess); __declspec(dllimport) HDESK __stdcall OpenInputDesktop( DWORD dwFlags, BOOL fInherit, ACCESS_MASK dwDesiredAccess); __declspec(dllimport) BOOL __stdcall EnumDesktopsA( HWINSTA hwinsta, DESKTOPENUMPROCA lpEnumFunc, LPARAM lParam); __declspec(dllimport) BOOL __stdcall EnumDesktopsW( HWINSTA hwinsta, DESKTOPENUMPROCW lpEnumFunc, LPARAM lParam); __declspec(dllimport) BOOL __stdcall EnumDesktopWindows( HDESK hDesktop, WNDENUMPROC lpfn, LPARAM lParam); __declspec(dllimport) BOOL __stdcall SwitchDesktop( HDESK hDesktop); __declspec(dllimport) BOOL __stdcall SetThreadDesktop( HDESK hDesktop); __declspec(dllimport) BOOL __stdcall CloseDesktop( HDESK hDesktop); __declspec(dllimport) HDESK __stdcall GetThreadDesktop( DWORD dwThreadId); #pragma endregion #pragma region Desktop Family __declspec(dllimport) HWINSTA __stdcall CreateWindowStationA( LPCSTR lpwinsta, DWORD dwFlags, ACCESS_MASK dwDesiredAccess, LPSECURITY_ATTRIBUTES lpsa); __declspec(dllimport) HWINSTA __stdcall CreateWindowStationW( LPCWSTR lpwinsta, DWORD dwFlags, ACCESS_MASK dwDesiredAccess, LPSECURITY_ATTRIBUTES lpsa); __declspec(dllimport) HWINSTA __stdcall OpenWindowStationA( LPCSTR lpszWinSta, BOOL fInherit, ACCESS_MASK dwDesiredAccess); __declspec(dllimport) HWINSTA __stdcall OpenWindowStationW( LPCWSTR lpszWinSta, BOOL fInherit, ACCESS_MASK dwDesiredAccess); __declspec(dllimport) BOOL __stdcall EnumWindowStationsA( WINSTAENUMPROCA lpEnumFunc, LPARAM lParam); __declspec(dllimport) BOOL __stdcall EnumWindowStationsW( WINSTAENUMPROCW lpEnumFunc, LPARAM lParam); __declspec(dllimport) BOOL __stdcall CloseWindowStation( HWINSTA hWinSta); __declspec(dllimport) BOOL __stdcall SetProcessWindowStation( HWINSTA hWinSta); __declspec(dllimport) HWINSTA __stdcall GetProcessWindowStation( void); #pragma endregion #pragma region Desktop Family __declspec(dllimport) BOOL __stdcall SetUserObjectSecurity( HANDLE hObj, PSECURITY_INFORMATION pSIRequested, PSECURITY_DESCRIPTOR pSID); __declspec(dllimport) BOOL __stdcall GetUserObjectSecurity( HANDLE hObj, PSECURITY_INFORMATION pSIRequested, PSECURITY_DESCRIPTOR pSID, DWORD nLength, LPDWORD lpnLengthNeeded); #pragma endregion #pragma region Desktop Family typedef struct tagUSEROBJECTFLAGS { BOOL fInherit; BOOL fReserved; DWORD dwFlags; } USEROBJECTFLAGS, *PUSEROBJECTFLAGS; __declspec(dllimport) BOOL __stdcall GetUserObjectInformationA( HANDLE hObj, int nIndex, PVOID pvInfo, DWORD nLength, LPDWORD lpnLengthNeeded); __declspec(dllimport) BOOL __stdcall GetUserObjectInformationW( HANDLE hObj, int nIndex, PVOID pvInfo, DWORD nLength, LPDWORD lpnLengthNeeded); __declspec(dllimport) BOOL __stdcall SetUserObjectInformationA( HANDLE hObj, int nIndex, PVOID pvInfo, DWORD nLength); __declspec(dllimport) BOOL __stdcall SetUserObjectInformationW( HANDLE hObj, int nIndex, PVOID pvInfo, DWORD nLength); #pragma endregion #pragma region Desktop or Games Family typedef struct tagWNDCLASSEXA { UINT cbSize; UINT style; WNDPROC lpfnWndProc; int cbClsExtra; int cbWndExtra; HINSTANCE hInstance; HICON hIcon; HCURSOR hCursor; HBRUSH hbrBackground; LPCSTR lpszMenuName; LPCSTR lpszClassName; HICON hIconSm; } WNDCLASSEXA, *PWNDCLASSEXA, *NPWNDCLASSEXA, *LPWNDCLASSEXA; typedef struct tagWNDCLASSEXW { UINT cbSize; UINT style; WNDPROC lpfnWndProc; int cbClsExtra; int cbWndExtra; HINSTANCE hInstance; HICON hIcon; HCURSOR hCursor; HBRUSH hbrBackground; LPCWSTR lpszMenuName; LPCWSTR lpszClassName; HICON hIconSm; } WNDCLASSEXW, *PWNDCLASSEXW, *NPWNDCLASSEXW, *LPWNDCLASSEXW; typedef WNDCLASSEXW WNDCLASSEX; typedef PWNDCLASSEXW PWNDCLASSEX; typedef NPWNDCLASSEXW NPWNDCLASSEX; typedef LPWNDCLASSEXW LPWNDCLASSEX; typedef struct tagWNDCLASSA { UINT style; WNDPROC lpfnWndProc; int cbClsExtra; int cbWndExtra; HINSTANCE hInstance; HICON hIcon; HCURSOR hCursor; HBRUSH hbrBackground; LPCSTR lpszMenuName; LPCSTR lpszClassName; } WNDCLASSA, *PWNDCLASSA, *NPWNDCLASSA, *LPWNDCLASSA; typedef struct tagWNDCLASSW { UINT style; WNDPROC lpfnWndProc; int cbClsExtra; int cbWndExtra; HINSTANCE hInstance; HICON hIcon; HCURSOR hCursor; HBRUSH hbrBackground; LPCWSTR lpszMenuName; LPCWSTR lpszClassName; } WNDCLASSW, *PWNDCLASSW, *NPWNDCLASSW, *LPWNDCLASSW; typedef WNDCLASSW WNDCLASS; typedef PWNDCLASSW PWNDCLASS; typedef NPWNDCLASSW NPWNDCLASS; typedef LPWNDCLASSW LPWNDCLASS; #pragma endregion #pragma region Desktop Family __declspec(dllimport) BOOL __stdcall IsHungAppWindow( HWND hwnd); __declspec(dllimport) void __stdcall DisableProcessWindowsGhosting( void); #pragma endregion #pragma region Application Family or OneCore Family or Games Family typedef struct tagMSG { HWND hwnd; UINT message; WPARAM wParam; LPARAM lParam; DWORD time; POINT pt; } MSG, *PMSG, *NPMSG, *LPMSG; #pragma endregion #pragma region Desktop Family typedef struct tagMINMAXINFO { POINT ptReserved; POINT ptMaxSize; POINT ptMaxPosition; POINT ptMinTrackSize; POINT ptMaxTrackSize; } MINMAXINFO, *PMINMAXINFO, *LPMINMAXINFO; #pragma endregion #pragma region Desktop Family typedef struct tagCOPYDATASTRUCT { ULONG_PTR dwData; DWORD cbData; PVOID lpData; } COPYDATASTRUCT, *PCOPYDATASTRUCT; typedef struct tagMDINEXTMENU { HMENU hmenuIn; HMENU hmenuNext; HWND hwndNext; } MDINEXTMENU, * PMDINEXTMENU, * LPMDINEXTMENU; #pragma endregion #pragma region Desktop Family typedef struct { GUID PowerSetting; DWORD DataLength; UCHAR Data[1]; } POWERBROADCAST_SETTING, *PPOWERBROADCAST_SETTING; #pragma endregion #pragma region Desktop Family __declspec(dllimport) UINT __stdcall RegisterWindowMessageA( LPCSTR lpString); __declspec(dllimport) UINT __stdcall RegisterWindowMessageW( LPCWSTR lpString); #pragma endregion #pragma region Desktop Family typedef struct tagWINDOWPOS { HWND hwnd; HWND hwndInsertAfter; int x; int y; int cx; int cy; UINT flags; } WINDOWPOS, *LPWINDOWPOS, *PWINDOWPOS; typedef struct tagNCCALCSIZE_PARAMS { RECT rgrc[3]; PWINDOWPOS lppos; } NCCALCSIZE_PARAMS, *LPNCCALCSIZE_PARAMS; #pragma endregion #pragma region Desktop Family typedef struct tagTRACKMOUSEEVENT { DWORD cbSize; DWORD dwFlags; HWND hwndTrack; DWORD dwHoverTime; } TRACKMOUSEEVENT, *LPTRACKMOUSEEVENT; __declspec(dllimport) BOOL __stdcall TrackMouseEvent( LPTRACKMOUSEEVENT lpEventTrack); #pragma endregion #pragma region Desktop Family __declspec(dllimport) BOOL __stdcall DrawEdge( HDC hdc, LPRECT qrc, UINT edge, UINT grfFlags); #pragma endregion #pragma region Desktop Family __declspec(dllimport) BOOL __stdcall DrawFrameControl( HDC, LPRECT, UINT, UINT); #pragma endregion #pragma region Desktop Family __declspec(dllimport) BOOL __stdcall DrawCaption( HWND hwnd, HDC hdc, const RECT * lprect, UINT flags); #pragma endregion #pragma region Desktop Family __declspec(dllimport) BOOL __stdcall DrawAnimatedRects( HWND hwnd, int idAni, const RECT *lprcFrom, const RECT *lprcTo); #pragma endregion #pragma region Desktop Family typedef struct tagACCEL { BYTE fVirt; WORD key; WORD cmd; } ACCEL, *LPACCEL; typedef struct tagPAINTSTRUCT { HDC hdc; BOOL fErase; RECT rcPaint; BOOL fRestore; BOOL fIncUpdate; BYTE rgbReserved[32]; } PAINTSTRUCT, *PPAINTSTRUCT, *NPPAINTSTRUCT, *LPPAINTSTRUCT; #pragma endregion #pragma region Desktop Family or Games Family typedef struct tagCREATESTRUCTA { LPVOID lpCreateParams; HINSTANCE hInstance; HMENU hMenu; HWND hwndParent; int cy; int cx; int y; int x; LONG style; LPCSTR lpszName; LPCSTR lpszClass; DWORD dwExStyle; } CREATESTRUCTA, *LPCREATESTRUCTA; typedef struct tagCREATESTRUCTW { LPVOID lpCreateParams; HINSTANCE hInstance; HMENU hMenu; HWND hwndParent; int cy; int cx; int y; int x; LONG style; LPCWSTR lpszName; LPCWSTR lpszClass; DWORD dwExStyle; } CREATESTRUCTW, *LPCREATESTRUCTW; typedef CREATESTRUCTW CREATESTRUCT; typedef LPCREATESTRUCTW LPCREATESTRUCT; #pragma endregion #pragma region Desktop Family typedef struct tagWINDOWPLACEMENT { UINT length; UINT flags; UINT showCmd; POINT ptMinPosition; POINT ptMaxPosition; RECT rcNormalPosition; } WINDOWPLACEMENT; typedef WINDOWPLACEMENT *PWINDOWPLACEMENT, *LPWINDOWPLACEMENT; #pragma endregion #pragma region Application Family or OneCore Family typedef struct tagNMHDR { HWND hwndFrom; UINT_PTR idFrom; UINT code; } NMHDR; #pragma endregion #pragma region Desktop Family typedef NMHDR * LPNMHDR; typedef struct tagSTYLESTRUCT { DWORD styleOld; DWORD styleNew; } STYLESTRUCT, * LPSTYLESTRUCT; #pragma endregion #pragma region Desktop Family typedef struct tagMEASUREITEMSTRUCT { UINT CtlType; UINT CtlID; UINT itemID; UINT itemWidth; UINT itemHeight; ULONG_PTR itemData; } MEASUREITEMSTRUCT, *PMEASUREITEMSTRUCT, *LPMEASUREITEMSTRUCT; typedef struct tagDRAWITEMSTRUCT { UINT CtlType; UINT CtlID; UINT itemID; UINT itemAction; UINT itemState; HWND hwndItem; HDC hDC; RECT rcItem; ULONG_PTR itemData; } DRAWITEMSTRUCT, *PDRAWITEMSTRUCT, *LPDRAWITEMSTRUCT; typedef struct tagDELETEITEMSTRUCT { UINT CtlType; UINT CtlID; UINT itemID; HWND hwndItem; ULONG_PTR itemData; } DELETEITEMSTRUCT, *PDELETEITEMSTRUCT, *LPDELETEITEMSTRUCT; typedef struct tagCOMPAREITEMSTRUCT { UINT CtlType; UINT CtlID; HWND hwndItem; UINT itemID1; ULONG_PTR itemData1; UINT itemID2; ULONG_PTR itemData2; DWORD dwLocaleId; } COMPAREITEMSTRUCT, *PCOMPAREITEMSTRUCT, *LPCOMPAREITEMSTRUCT; #pragma endregion #pragma region Desktop Family or Games Family __declspec(dllimport) BOOL __stdcall GetMessageA( LPMSG lpMsg, HWND hWnd, UINT wMsgFilterMin, UINT wMsgFilterMax); __declspec(dllimport) BOOL __stdcall GetMessageW( LPMSG lpMsg, HWND hWnd, UINT wMsgFilterMin, UINT wMsgFilterMax); __declspec(dllimport) BOOL __stdcall TranslateMessage( const MSG *lpMsg); __declspec(dllimport) LRESULT __stdcall DispatchMessageA( const MSG *lpMsg); __declspec(dllimport) LRESULT __stdcall DispatchMessageW( const MSG *lpMsg); #pragma endregion #pragma region Desktop Family __declspec(dllimport) BOOL __stdcall SetMessageQueue( int cMessagesMax); #pragma endregion #pragma region Desktop Family or Games Family __declspec(dllimport) BOOL __stdcall PeekMessageA( LPMSG lpMsg, HWND hWnd, UINT wMsgFilterMin, UINT wMsgFilterMax, UINT wRemoveMsg); __declspec(dllimport) BOOL __stdcall PeekMessageW( LPMSG lpMsg, HWND hWnd, UINT wMsgFilterMin, UINT wMsgFilterMax, UINT wRemoveMsg); #pragma endregion #pragma region Desktop Family __declspec(dllimport) BOOL __stdcall RegisterHotKey( HWND hWnd, int id, UINT fsModifiers, UINT vk); __declspec(dllimport) BOOL __stdcall UnregisterHotKey( HWND hWnd, int id); #pragma endregion #pragma region Desktop Family __declspec(dllimport) BOOL __stdcall ExitWindowsEx( UINT uFlags, DWORD dwReason); __declspec(dllimport) BOOL __stdcall SwapMouseButton( BOOL fSwap); __declspec(dllimport) DWORD __stdcall GetMessagePos( void); __declspec(dllimport) LONG __stdcall GetMessageTime( void); __declspec(dllimport) LPARAM __stdcall GetMessageExtraInfo( void); __declspec(dllimport) DWORD __stdcall GetUnpredictedMessagePos( void); __declspec(dllimport) BOOL __stdcall IsWow64Message( void); __declspec(dllimport) LPARAM __stdcall SetMessageExtraInfo( LPARAM lParam); #pragma endregion #pragma region Desktop Family or Games Family __declspec(dllimport) LRESULT __stdcall SendMessageA( HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam); __declspec(dllimport) LRESULT __stdcall SendMessageW( HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam); #pragma endregion #pragma region Desktop Family __declspec(dllimport) LRESULT __stdcall SendMessageTimeoutA( HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam, UINT fuFlags, UINT uTimeout, PDWORD_PTR lpdwResult); __declspec(dllimport) LRESULT __stdcall SendMessageTimeoutW( HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam, UINT fuFlags, UINT uTimeout, PDWORD_PTR lpdwResult); __declspec(dllimport) BOOL __stdcall SendNotifyMessageA( HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam); __declspec(dllimport) BOOL __stdcall SendNotifyMessageW( HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam); __declspec(dllimport) BOOL __stdcall SendMessageCallbackA( HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam, SENDASYNCPROC lpResultCallBack, ULONG_PTR dwData); __declspec(dllimport) BOOL __stdcall SendMessageCallbackW( HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam, SENDASYNCPROC lpResultCallBack, ULONG_PTR dwData); typedef struct { UINT cbSize; HDESK hdesk; HWND hwnd; LUID luid; } BSMINFO, *PBSMINFO; __declspec(dllimport) long __stdcall BroadcastSystemMessageExA( DWORD flags, LPDWORD lpInfo, UINT Msg, WPARAM wParam, LPARAM lParam, PBSMINFO pbsmInfo); __declspec(dllimport) long __stdcall BroadcastSystemMessageExW( DWORD flags, LPDWORD lpInfo, UINT Msg, WPARAM wParam, LPARAM lParam, PBSMINFO pbsmInfo); #pragma endregion #pragma region Desktop Family __declspec(dllimport) long __stdcall BroadcastSystemMessageA( DWORD flags, LPDWORD lpInfo, UINT Msg, WPARAM wParam, LPARAM lParam); __declspec(dllimport) long __stdcall BroadcastSystemMessageW( DWORD flags, LPDWORD lpInfo, UINT Msg, WPARAM wParam, LPARAM lParam); #pragma endregion #pragma region Desktop Family typedef PVOID HDEVNOTIFY; typedef HDEVNOTIFY *PHDEVNOTIFY; __declspec(dllimport) HDEVNOTIFY __stdcall RegisterDeviceNotificationA( HANDLE hRecipient, LPVOID NotificationFilter, DWORD Flags); __declspec(dllimport) HDEVNOTIFY __stdcall RegisterDeviceNotificationW( HANDLE hRecipient, LPVOID NotificationFilter, DWORD Flags); __declspec(dllimport) BOOL __stdcall UnregisterDeviceNotification( HDEVNOTIFY Handle ); typedef PVOID HPOWERNOTIFY; typedef HPOWERNOTIFY *PHPOWERNOTIFY; __declspec(dllimport) HPOWERNOTIFY __stdcall RegisterPowerSettingNotification( HANDLE hRecipient, LPCGUID PowerSettingGuid, DWORD Flags ); __declspec(dllimport) BOOL __stdcall UnregisterPowerSettingNotification( HPOWERNOTIFY Handle ); __declspec(dllimport) HPOWERNOTIFY __stdcall RegisterSuspendResumeNotification ( HANDLE hRecipient, DWORD Flags ); __declspec(dllimport) BOOL __stdcall UnregisterSuspendResumeNotification ( HPOWERNOTIFY Handle ); #pragma endregion #pragma region Desktop Family __declspec(dllimport) BOOL __stdcall PostMessageA( HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam); __declspec(dllimport) BOOL __stdcall PostMessageW( HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam); __declspec(dllimport) BOOL __stdcall PostThreadMessageA( DWORD idThread, UINT Msg, WPARAM wParam, LPARAM lParam); __declspec(dllimport) BOOL __stdcall PostThreadMessageW( DWORD idThread, UINT Msg, WPARAM wParam, LPARAM lParam); #pragma endregion #pragma region Desktop Family __declspec(dllimport) BOOL __stdcall AttachThreadInput( DWORD idAttach, DWORD idAttachTo, BOOL fAttach); __declspec(dllimport) BOOL __stdcall ReplyMessage( LRESULT lResult); __declspec(dllimport) BOOL __stdcall WaitMessage( void); __declspec(dllimport) DWORD __stdcall WaitForInputIdle( HANDLE hProcess, DWORD dwMilliseconds); #pragma endregion #pragma region Desktop Family or Games Family __declspec(dllimport) LRESULT __stdcall DefWindowProcA( HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam); __declspec(dllimport) LRESULT __stdcall DefWindowProcW( HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam); __declspec(dllimport) void __stdcall PostQuitMessage( int nExitCode); __declspec(dllimport) LRESULT __stdcall CallWindowProcA( WNDPROC lpPrevWndFunc, HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam); __declspec(dllimport) LRESULT __stdcall CallWindowProcW( WNDPROC lpPrevWndFunc, HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam); #pragma endregion #pragma region Desktop Family __declspec(dllimport) BOOL __stdcall InSendMessage( void); #pragma endregion #pragma region Desktop Family __declspec(dllimport) DWORD __stdcall InSendMessageEx( LPVOID lpReserved); #pragma endregion #pragma region Desktop Family __declspec(dllimport) UINT __stdcall GetDoubleClickTime( void); __declspec(dllimport) BOOL __stdcall SetDoubleClickTime( UINT); #pragma endregion #pragma region Desktop Family or Games Family __declspec(dllimport) ATOM __stdcall RegisterClassA( const WNDCLASSA *lpWndClass); __declspec(dllimport) ATOM __stdcall RegisterClassW( const WNDCLASSW *lpWndClass); __declspec(dllimport) BOOL __stdcall UnregisterClassA( LPCSTR lpClassName, HINSTANCE hInstance); __declspec(dllimport) BOOL __stdcall UnregisterClassW( LPCWSTR lpClassName, HINSTANCE hInstance); #pragma endregion #pragma region Desktop Family __declspec(dllimport) BOOL __stdcall GetClassInfoA( HINSTANCE hInstance, LPCSTR lpClassName, LPWNDCLASSA lpWndClass); __declspec(dllimport) BOOL __stdcall GetClassInfoW( HINSTANCE hInstance, LPCWSTR lpClassName, LPWNDCLASSW lpWndClass); #pragma endregion #pragma region Desktop Family or Games Family __declspec(dllimport) ATOM __stdcall RegisterClassExA( const WNDCLASSEXA *); __declspec(dllimport) ATOM __stdcall RegisterClassExW( const WNDCLASSEXW *); #pragma endregion #pragma region Desktop Family __declspec(dllimport) BOOL __stdcall GetClassInfoExA( HINSTANCE hInstance, LPCSTR lpszClass, LPWNDCLASSEXA lpwcx); __declspec(dllimport) BOOL __stdcall GetClassInfoExW( HINSTANCE hInstance, LPCWSTR lpszClass, LPWNDCLASSEXW lpwcx); #pragma endregion #pragma region Desktop Family or Games Family typedef BOOLEAN (__stdcall * PREGISTERCLASSNAMEW)(LPCWSTR); __declspec(dllimport) HWND __stdcall CreateWindowExA( DWORD dwExStyle, LPCSTR lpClassName, LPCSTR lpWindowName, DWORD dwStyle, int X, int Y, int nWidth, int nHeight, HWND hWndParent, HMENU hMenu, HINSTANCE hInstance, LPVOID lpParam); __declspec(dllimport) HWND __stdcall CreateWindowExW( DWORD dwExStyle, LPCWSTR lpClassName, LPCWSTR lpWindowName, DWORD dwStyle, int X, int Y, int nWidth, int nHeight, HWND hWndParent, HMENU hMenu, HINSTANCE hInstance, LPVOID lpParam); #pragma endregion #pragma region Desktop Family __declspec(dllimport) BOOL __stdcall IsWindow( HWND hWnd); __declspec(dllimport) BOOL __stdcall IsMenu( HMENU hMenu); __declspec(dllimport) BOOL __stdcall IsChild( HWND hWndParent, HWND hWnd); #pragma endregion #pragma region Desktop or Games Family __declspec(dllimport) BOOL __stdcall DestroyWindow( HWND hWnd); __declspec(dllimport) BOOL __stdcall ShowWindow( HWND hWnd, int nCmdShow); #pragma endregion #pragma region Desktop Family __declspec(dllimport) BOOL __stdcall AnimateWindow( HWND hWnd, DWORD dwTime, DWORD dwFlags); #pragma endregion #pragma region Desktop Family __declspec(dllimport) BOOL __stdcall UpdateLayeredWindow( HWND hWnd, HDC hdcDst, POINT* pptDst, SIZE* psize, HDC hdcSrc, POINT* pptSrc, COLORREF crKey, BLENDFUNCTION* pblend, DWORD dwFlags); typedef struct tagUPDATELAYEREDWINDOWINFO { DWORD cbSize; HDC hdcDst; const POINT* pptDst; const SIZE* psize; HDC hdcSrc; const POINT* pptSrc; COLORREF crKey; const BLENDFUNCTION* pblend; DWORD dwFlags; const RECT* prcDirty; } UPDATELAYEREDWINDOWINFO, *PUPDATELAYEREDWINDOWINFO; __declspec(dllimport) BOOL __stdcall UpdateLayeredWindowIndirect( HWND hWnd, const UPDATELAYEREDWINDOWINFO* pULWInfo); #pragma endregion #pragma region Desktop Family __declspec(dllimport) BOOL __stdcall GetLayeredWindowAttributes( HWND hwnd, COLORREF* pcrKey, BYTE* pbAlpha, DWORD* pdwFlags); __declspec(dllimport) BOOL __stdcall PrintWindow( HWND hwnd, HDC hdcBlt, UINT nFlags); #pragma endregion #pragma region Desktop Family __declspec(dllimport) BOOL __stdcall SetLayeredWindowAttributes( HWND hwnd, COLORREF crKey, BYTE bAlpha, DWORD dwFlags); #pragma endregion #pragma region Desktop Family __declspec(dllimport) BOOL __stdcall ShowWindowAsync( HWND hWnd, int nCmdShow); __declspec(dllimport) BOOL __stdcall FlashWindow( HWND hWnd, BOOL bInvert); typedef struct { UINT cbSize; HWND hwnd; DWORD dwFlags; UINT uCount; DWORD dwTimeout; } FLASHWINFO, *PFLASHWINFO; __declspec(dllimport) BOOL __stdcall FlashWindowEx( PFLASHWINFO pfwi); __declspec(dllimport) BOOL __stdcall ShowOwnedPopups( HWND hWnd, BOOL fShow); __declspec(dllimport) BOOL __stdcall OpenIcon( HWND hWnd); __declspec(dllimport) BOOL __stdcall CloseWindow( HWND hWnd); #pragma endregion #pragma region Desktop Family __declspec(dllimport) BOOL __stdcall MoveWindow( HWND hWnd, int X, int Y, int nWidth, int nHeight, BOOL bRepaint); __declspec(dllimport) BOOL __stdcall SetWindowPos( HWND hWnd, HWND hWndInsertAfter, int X, int Y, int cx, int cy, UINT uFlags); #pragma endregion #pragma region Desktop Family __declspec(dllimport) BOOL __stdcall GetWindowPlacement( HWND hWnd, WINDOWPLACEMENT *lpwndpl); __declspec(dllimport) BOOL __stdcall SetWindowPlacement( HWND hWnd, const WINDOWPLACEMENT *lpwndpl); __declspec(dllimport) BOOL __stdcall GetWindowDisplayAffinity( HWND hWnd, DWORD* pdwAffinity); __declspec(dllimport) BOOL __stdcall SetWindowDisplayAffinity( HWND hWnd, DWORD dwAffinity); #pragma endregion #pragma region Desktop Family __declspec(dllimport) HDWP __stdcall BeginDeferWindowPos( int nNumWindows); __declspec(dllimport) HDWP __stdcall DeferWindowPos( HDWP hWinPosInfo, HWND hWnd, HWND hWndInsertAfter, int x, int y, int cx, int cy, UINT uFlags); __declspec(dllimport) BOOL __stdcall EndDeferWindowPos( HDWP hWinPosInfo); #pragma endregion #pragma region Desktop Family __declspec(dllimport) BOOL __stdcall IsWindowVisible( HWND hWnd); #pragma endregion #pragma region Desktop Family __declspec(dllimport) BOOL __stdcall IsIconic( HWND hWnd); __declspec(dllimport) BOOL __stdcall AnyPopup( void); __declspec(dllimport) BOOL __stdcall BringWindowToTop( HWND hWnd); __declspec(dllimport) BOOL __stdcall IsZoomed( HWND hWnd); #pragma endregion #pragma warning(disable:4103) #pragma pack(push,2) #pragma region Application Family or OneCore Family typedef struct { DWORD style; DWORD dwExtendedStyle; WORD cdit; short x; short y; short cx; short cy; } DLGTEMPLATE; #pragma endregion #pragma region Desktop Family typedef DLGTEMPLATE *LPDLGTEMPLATEA; typedef DLGTEMPLATE *LPDLGTEMPLATEW; typedef LPDLGTEMPLATEW LPDLGTEMPLATE; #pragma endregion #pragma region Application Family or OneCore Family typedef const DLGTEMPLATE *LPCDLGTEMPLATEA; typedef const DLGTEMPLATE *LPCDLGTEMPLATEW; typedef LPCDLGTEMPLATEW LPCDLGTEMPLATE; #pragma endregion #pragma region Desktop Family typedef struct { DWORD style; DWORD dwExtendedStyle; short x; short y; short cx; short cy; WORD id; } DLGITEMTEMPLATE; typedef DLGITEMTEMPLATE *PDLGITEMTEMPLATEA; typedef DLGITEMTEMPLATE *PDLGITEMTEMPLATEW; typedef PDLGITEMTEMPLATEW PDLGITEMTEMPLATE; typedef DLGITEMTEMPLATE *LPDLGITEMTEMPLATEA; typedef DLGITEMTEMPLATE *LPDLGITEMTEMPLATEW; typedef LPDLGITEMTEMPLATEW LPDLGITEMTEMPLATE; #pragma endregion #pragma warning(disable:4103) #pragma pack(pop) #pragma region Desktop Family __declspec(dllimport) HWND __stdcall CreateDialogParamA( HINSTANCE hInstance, LPCSTR lpTemplateName, HWND hWndParent, DLGPROC lpDialogFunc, LPARAM dwInitParam); __declspec(dllimport) HWND __stdcall CreateDialogParamW( HINSTANCE hInstance, LPCWSTR lpTemplateName, HWND hWndParent, DLGPROC lpDialogFunc, LPARAM dwInitParam); __declspec(dllimport) HWND __stdcall CreateDialogIndirectParamA( HINSTANCE hInstance, LPCDLGTEMPLATEA lpTemplate, HWND hWndParent, DLGPROC lpDialogFunc, LPARAM dwInitParam); __declspec(dllimport) HWND __stdcall CreateDialogIndirectParamW( HINSTANCE hInstance, LPCDLGTEMPLATEW lpTemplate, HWND hWndParent, DLGPROC lpDialogFunc, LPARAM dwInitParam); __declspec(dllimport) INT_PTR __stdcall DialogBoxParamA( HINSTANCE hInstance, LPCSTR lpTemplateName, HWND hWndParent, DLGPROC lpDialogFunc, LPARAM dwInitParam); __declspec(dllimport) INT_PTR __stdcall DialogBoxParamW( HINSTANCE hInstance, LPCWSTR lpTemplateName, HWND hWndParent, DLGPROC lpDialogFunc, LPARAM dwInitParam); __declspec(dllimport) INT_PTR __stdcall DialogBoxIndirectParamA( HINSTANCE hInstance, LPCDLGTEMPLATEA hDialogTemplate, HWND hWndParent, DLGPROC lpDialogFunc, LPARAM dwInitParam); __declspec(dllimport) INT_PTR __stdcall DialogBoxIndirectParamW( HINSTANCE hInstance, LPCDLGTEMPLATEW hDialogTemplate, HWND hWndParent, DLGPROC lpDialogFunc, LPARAM dwInitParam); __declspec(dllimport) BOOL __stdcall EndDialog( HWND hDlg, INT_PTR nResult); __declspec(dllimport) HWND __stdcall GetDlgItem( HWND hDlg, int nIDDlgItem); __declspec(dllimport) BOOL __stdcall SetDlgItemInt( HWND hDlg, int nIDDlgItem, UINT uValue, BOOL bSigned); __declspec(dllimport) UINT __stdcall GetDlgItemInt( HWND hDlg, int nIDDlgItem, BOOL *lpTranslated, BOOL bSigned); __declspec(dllimport) BOOL __stdcall SetDlgItemTextA( HWND hDlg, int nIDDlgItem, LPCSTR lpString); __declspec(dllimport) BOOL __stdcall SetDlgItemTextW( HWND hDlg, int nIDDlgItem, LPCWSTR lpString); __declspec(dllimport) UINT __stdcall GetDlgItemTextA( HWND hDlg, int nIDDlgItem, LPSTR lpString, int cchMax); __declspec(dllimport) UINT __stdcall GetDlgItemTextW( HWND hDlg, int nIDDlgItem, LPWSTR lpString, int cchMax); __declspec(dllimport) BOOL __stdcall CheckDlgButton( HWND hDlg, int nIDButton, UINT uCheck); __declspec(dllimport) BOOL __stdcall CheckRadioButton( HWND hDlg, int nIDFirstButton, int nIDLastButton, int nIDCheckButton); __declspec(dllimport) UINT __stdcall IsDlgButtonChecked( HWND hDlg, int nIDButton); __declspec(dllimport) LRESULT __stdcall SendDlgItemMessageA( HWND hDlg, int nIDDlgItem, UINT Msg, WPARAM wParam, LPARAM lParam); __declspec(dllimport) LRESULT __stdcall SendDlgItemMessageW( HWND hDlg, int nIDDlgItem, UINT Msg, WPARAM wParam, LPARAM lParam); __declspec(dllimport) HWND __stdcall GetNextDlgGroupItem( HWND hDlg, HWND hCtl, BOOL bPrevious); __declspec(dllimport) HWND __stdcall GetNextDlgTabItem( HWND hDlg, HWND hCtl, BOOL bPrevious); __declspec(dllimport) int __stdcall GetDlgCtrlID( HWND hWnd); __declspec(dllimport) long __stdcall GetDialogBaseUnits(void); __declspec(dllimport) LRESULT __stdcall DefDlgProcA( HWND hDlg, UINT Msg, WPARAM wParam, LPARAM lParam); __declspec(dllimport) LRESULT __stdcall DefDlgProcW( HWND hDlg, UINT Msg, WPARAM wParam, LPARAM lParam); typedef enum DIALOG_CONTROL_DPI_CHANGE_BEHAVIORS { DCDC_DEFAULT = 0x0000, DCDC_DISABLE_FONT_UPDATE = 0x0001, DCDC_DISABLE_RELAYOUT = 0x0002, } DIALOG_CONTROL_DPI_CHANGE_BEHAVIORS; extern "C++" { inline constexpr DIALOG_CONTROL_DPI_CHANGE_BEHAVIORS operator | (DIALOG_CONTROL_DPI_CHANGE_BEHAVIORS a, DIALOG_CONTROL_DPI_CHANGE_BEHAVIORS b) throw() { return DIALOG_CONTROL_DPI_CHANGE_BEHAVIORS(((_ENUM_FLAG_SIZED_INTEGER::type)a) | ((_ENUM_FLAG_SIZED_INTEGER::type)b)); } inline DIALOG_CONTROL_DPI_CHANGE_BEHAVIORS &operator |= (DIALOG_CONTROL_DPI_CHANGE_BEHAVIORS &a, DIALOG_CONTROL_DPI_CHANGE_BEHAVIORS b) throw() { return (DIALOG_CONTROL_DPI_CHANGE_BEHAVIORS &)(((_ENUM_FLAG_SIZED_INTEGER::type &)a) |= ((_ENUM_FLAG_SIZED_INTEGER::type)b)); } inline constexpr DIALOG_CONTROL_DPI_CHANGE_BEHAVIORS operator & (DIALOG_CONTROL_DPI_CHANGE_BEHAVIORS a, DIALOG_CONTROL_DPI_CHANGE_BEHAVIORS b) throw() { return DIALOG_CONTROL_DPI_CHANGE_BEHAVIORS(((_ENUM_FLAG_SIZED_INTEGER::type)a) & ((_ENUM_FLAG_SIZED_INTEGER::type)b)); } inline DIALOG_CONTROL_DPI_CHANGE_BEHAVIORS &operator &= (DIALOG_CONTROL_DPI_CHANGE_BEHAVIORS &a, DIALOG_CONTROL_DPI_CHANGE_BEHAVIORS b) throw() { return (DIALOG_CONTROL_DPI_CHANGE_BEHAVIORS &)(((_ENUM_FLAG_SIZED_INTEGER::type &)a) &= ((_ENUM_FLAG_SIZED_INTEGER::type)b)); } inline constexpr DIALOG_CONTROL_DPI_CHANGE_BEHAVIORS operator ~ (DIALOG_CONTROL_DPI_CHANGE_BEHAVIORS a) throw() { return DIALOG_CONTROL_DPI_CHANGE_BEHAVIORS(~((_ENUM_FLAG_SIZED_INTEGER::type)a)); } inline constexpr DIALOG_CONTROL_DPI_CHANGE_BEHAVIORS operator ^ (DIALOG_CONTROL_DPI_CHANGE_BEHAVIORS a, DIALOG_CONTROL_DPI_CHANGE_BEHAVIORS b) throw() { return DIALOG_CONTROL_DPI_CHANGE_BEHAVIORS(((_ENUM_FLAG_SIZED_INTEGER::type)a) ^ ((_ENUM_FLAG_SIZED_INTEGER::type)b)); } inline DIALOG_CONTROL_DPI_CHANGE_BEHAVIORS &operator ^= (DIALOG_CONTROL_DPI_CHANGE_BEHAVIORS &a, DIALOG_CONTROL_DPI_CHANGE_BEHAVIORS b) throw() { return (DIALOG_CONTROL_DPI_CHANGE_BEHAVIORS &)(((_ENUM_FLAG_SIZED_INTEGER::type &)a) ^= ((_ENUM_FLAG_SIZED_INTEGER::type)b)); } }; BOOL __stdcall SetDialogControlDpiChangeBehavior( HWND hWnd, DIALOG_CONTROL_DPI_CHANGE_BEHAVIORS mask, DIALOG_CONTROL_DPI_CHANGE_BEHAVIORS values); DIALOG_CONTROL_DPI_CHANGE_BEHAVIORS __stdcall GetDialogControlDpiChangeBehavior( HWND hWnd); typedef enum DIALOG_DPI_CHANGE_BEHAVIORS { DDC_DEFAULT = 0x0000, DDC_DISABLE_ALL = 0x0001, DDC_DISABLE_RESIZE = 0x0002, DDC_DISABLE_CONTROL_RELAYOUT = 0x0004, } DIALOG_DPI_CHANGE_BEHAVIORS; extern "C++" { inline constexpr DIALOG_DPI_CHANGE_BEHAVIORS operator | (DIALOG_DPI_CHANGE_BEHAVIORS a, DIALOG_DPI_CHANGE_BEHAVIORS b) throw() { return DIALOG_DPI_CHANGE_BEHAVIORS(((_ENUM_FLAG_SIZED_INTEGER::type)a) | ((_ENUM_FLAG_SIZED_INTEGER::type)b)); } inline DIALOG_DPI_CHANGE_BEHAVIORS &operator |= (DIALOG_DPI_CHANGE_BEHAVIORS &a, DIALOG_DPI_CHANGE_BEHAVIORS b) throw() { return (DIALOG_DPI_CHANGE_BEHAVIORS &)(((_ENUM_FLAG_SIZED_INTEGER::type &)a) |= ((_ENUM_FLAG_SIZED_INTEGER::type)b)); } inline constexpr DIALOG_DPI_CHANGE_BEHAVIORS operator & (DIALOG_DPI_CHANGE_BEHAVIORS a, DIALOG_DPI_CHANGE_BEHAVIORS b) throw() { return DIALOG_DPI_CHANGE_BEHAVIORS(((_ENUM_FLAG_SIZED_INTEGER::type)a) & ((_ENUM_FLAG_SIZED_INTEGER::type)b)); } inline DIALOG_DPI_CHANGE_BEHAVIORS &operator &= (DIALOG_DPI_CHANGE_BEHAVIORS &a, DIALOG_DPI_CHANGE_BEHAVIORS b) throw() { return (DIALOG_DPI_CHANGE_BEHAVIORS &)(((_ENUM_FLAG_SIZED_INTEGER::type &)a) &= ((_ENUM_FLAG_SIZED_INTEGER::type)b)); } inline constexpr DIALOG_DPI_CHANGE_BEHAVIORS operator ~ (DIALOG_DPI_CHANGE_BEHAVIORS a) throw() { return DIALOG_DPI_CHANGE_BEHAVIORS(~((_ENUM_FLAG_SIZED_INTEGER::type)a)); } inline constexpr DIALOG_DPI_CHANGE_BEHAVIORS operator ^ (DIALOG_DPI_CHANGE_BEHAVIORS a, DIALOG_DPI_CHANGE_BEHAVIORS b) throw() { return DIALOG_DPI_CHANGE_BEHAVIORS(((_ENUM_FLAG_SIZED_INTEGER::type)a) ^ ((_ENUM_FLAG_SIZED_INTEGER::type)b)); } inline DIALOG_DPI_CHANGE_BEHAVIORS &operator ^= (DIALOG_DPI_CHANGE_BEHAVIORS &a, DIALOG_DPI_CHANGE_BEHAVIORS b) throw() { return (DIALOG_DPI_CHANGE_BEHAVIORS &)(((_ENUM_FLAG_SIZED_INTEGER::type &)a) ^= ((_ENUM_FLAG_SIZED_INTEGER::type)b)); } }; BOOL __stdcall SetDialogDpiChangeBehavior( HWND hDlg, DIALOG_DPI_CHANGE_BEHAVIORS mask, DIALOG_DPI_CHANGE_BEHAVIORS values); DIALOG_DPI_CHANGE_BEHAVIORS __stdcall GetDialogDpiChangeBehavior( HWND hDlg); #pragma endregion #pragma region Desktop Family __declspec(dllimport) BOOL __stdcall CallMsgFilterA( LPMSG lpMsg, int nCode); __declspec(dllimport) BOOL __stdcall CallMsgFilterW( LPMSG lpMsg, int nCode); __declspec(dllimport) BOOL __stdcall OpenClipboard( HWND hWndNewOwner); __declspec(dllimport) BOOL __stdcall CloseClipboard( void); __declspec(dllimport) DWORD __stdcall GetClipboardSequenceNumber( void); __declspec(dllimport) HWND __stdcall GetClipboardOwner( void); __declspec(dllimport) HWND __stdcall SetClipboardViewer( HWND hWndNewViewer); __declspec(dllimport) HWND __stdcall GetClipboardViewer( void); __declspec(dllimport) BOOL __stdcall ChangeClipboardChain( HWND hWndRemove, HWND hWndNewNext); __declspec(dllimport) HANDLE __stdcall SetClipboardData( UINT uFormat, HANDLE hMem); __declspec(dllimport) HANDLE __stdcall GetClipboardData( UINT uFormat); __declspec(dllimport) UINT __stdcall RegisterClipboardFormatA( LPCSTR lpszFormat); __declspec(dllimport) UINT __stdcall RegisterClipboardFormatW( LPCWSTR lpszFormat); __declspec(dllimport) int __stdcall CountClipboardFormats( void); __declspec(dllimport) UINT __stdcall EnumClipboardFormats( UINT format); __declspec(dllimport) int __stdcall GetClipboardFormatNameA( UINT format, LPSTR lpszFormatName, int cchMaxCount); __declspec(dllimport) int __stdcall GetClipboardFormatNameW( UINT format, LPWSTR lpszFormatName, int cchMaxCount); __declspec(dllimport) BOOL __stdcall EmptyClipboard( void); __declspec(dllimport) BOOL __stdcall IsClipboardFormatAvailable( UINT format); __declspec(dllimport) int __stdcall GetPriorityClipboardFormat( UINT *paFormatPriorityList, int cFormats); __declspec(dllimport) HWND __stdcall GetOpenClipboardWindow( void); __declspec(dllimport) BOOL __stdcall AddClipboardFormatListener( HWND hwnd); __declspec(dllimport) BOOL __stdcall RemoveClipboardFormatListener( HWND hwnd); __declspec(dllimport) BOOL __stdcall GetUpdatedClipboardFormats( PUINT lpuiFormats, UINT cFormats, PUINT pcFormatsOut); __declspec(dllimport) BOOL __stdcall CharToOemA( LPCSTR pSrc, LPSTR pDst); __declspec(dllimport) BOOL __stdcall CharToOemW( LPCWSTR pSrc, LPSTR pDst); __declspec(dllimport) BOOL __stdcall OemToCharA( LPCSTR pSrc, LPSTR pDst); __declspec(dllimport) BOOL __stdcall OemToCharW( LPCSTR pSrc, LPWSTR pDst); __declspec(dllimport) BOOL __stdcall CharToOemBuffA( LPCSTR lpszSrc, LPSTR lpszDst, DWORD cchDstLength); __declspec(dllimport) BOOL __stdcall CharToOemBuffW( LPCWSTR lpszSrc, LPSTR lpszDst, DWORD cchDstLength); __declspec(dllimport) BOOL __stdcall OemToCharBuffA( LPCSTR lpszSrc, LPSTR lpszDst, DWORD cchDstLength); __declspec(dllimport) BOOL __stdcall OemToCharBuffW( LPCSTR lpszSrc, LPWSTR lpszDst, DWORD cchDstLength); #pragma endregion #pragma region Desktop Family or OneCore Family __declspec(dllimport) LPSTR __stdcall CharUpperA( LPSTR lpsz); __declspec(dllimport) LPWSTR __stdcall CharUpperW( LPWSTR lpsz); __declspec(dllimport) DWORD __stdcall CharUpperBuffA( LPSTR lpsz, DWORD cchLength); __declspec(dllimport) DWORD __stdcall CharUpperBuffW( LPWSTR lpsz, DWORD cchLength); __declspec(dllimport) LPSTR __stdcall CharLowerA( LPSTR lpsz); __declspec(dllimport) LPWSTR __stdcall CharLowerW( LPWSTR lpsz); __declspec(dllimport) DWORD __stdcall CharLowerBuffA( LPSTR lpsz, DWORD cchLength); __declspec(dllimport) DWORD __stdcall CharLowerBuffW( LPWSTR lpsz, DWORD cchLength); __declspec(dllimport) LPSTR __stdcall CharNextA( LPCSTR lpsz); __declspec(dllimport) LPWSTR __stdcall CharNextW( LPCWSTR lpsz); __declspec(dllimport) LPSTR __stdcall CharPrevA( LPCSTR lpszStart, LPCSTR lpszCurrent); __declspec(dllimport) LPWSTR __stdcall CharPrevW( LPCWSTR lpszStart, LPCWSTR lpszCurrent); __declspec(dllimport) LPSTR __stdcall CharNextExA( WORD CodePage, LPCSTR lpCurrentChar, DWORD dwFlags); __declspec(dllimport) LPSTR __stdcall CharPrevExA( WORD CodePage, LPCSTR lpStart, LPCSTR lpCurrentChar, DWORD dwFlags); #pragma endregion #pragma region Desktop or OneCore Family __declspec(dllimport) BOOL __stdcall IsCharAlphaA( CHAR ch); __declspec(dllimport) BOOL __stdcall IsCharAlphaW( WCHAR ch); __declspec(dllimport) BOOL __stdcall IsCharAlphaNumericA( CHAR ch); __declspec(dllimport) BOOL __stdcall IsCharAlphaNumericW( WCHAR ch); __declspec(dllimport) BOOL __stdcall IsCharUpperA( CHAR ch); __declspec(dllimport) BOOL __stdcall IsCharUpperW( WCHAR ch); __declspec(dllimport) BOOL __stdcall IsCharLowerA( CHAR ch); __declspec(dllimport) BOOL __stdcall IsCharLowerW( WCHAR ch); #pragma endregion #pragma region Desktop Family __declspec(dllimport) HWND __stdcall SetFocus( HWND hWnd); __declspec(dllimport) HWND __stdcall GetActiveWindow( void); __declspec(dllimport) HWND __stdcall GetFocus( void); __declspec(dllimport) UINT __stdcall GetKBCodePage( void); __declspec(dllimport) SHORT __stdcall GetKeyState( int nVirtKey); __declspec(dllimport) SHORT __stdcall GetAsyncKeyState( int vKey); __declspec(dllimport) BOOL __stdcall GetKeyboardState( PBYTE lpKeyState); __declspec(dllimport) BOOL __stdcall SetKeyboardState( LPBYTE lpKeyState); #pragma endregion #pragma region Desktop or PC Family __declspec(dllimport) int __stdcall GetKeyNameTextA( LONG lParam, LPSTR lpString, int cchSize); __declspec(dllimport) int __stdcall GetKeyNameTextW( LONG lParam, LPWSTR lpString, int cchSize); #pragma endregion #pragma region Desktop Family __declspec(dllimport) int __stdcall GetKeyboardType( int nTypeFlag); __declspec(dllimport) int __stdcall ToAscii( UINT uVirtKey, UINT uScanCode, const BYTE *lpKeyState, LPWORD lpChar, UINT uFlags); __declspec(dllimport) int __stdcall ToAsciiEx( UINT uVirtKey, UINT uScanCode, const BYTE *lpKeyState, LPWORD lpChar, UINT uFlags, HKL dwhkl); __declspec(dllimport) int __stdcall ToUnicode( UINT wVirtKey, UINT wScanCode, const BYTE *lpKeyState, LPWSTR pwszBuff, int cchBuff, UINT wFlags); __declspec(dllimport) DWORD __stdcall OemKeyScan( WORD wOemChar); __declspec(dllimport) SHORT __stdcall VkKeyScanA( CHAR ch); __declspec(dllimport) SHORT __stdcall VkKeyScanW( WCHAR ch); __declspec(dllimport) SHORT __stdcall VkKeyScanExA( CHAR ch, HKL dwhkl); __declspec(dllimport) SHORT __stdcall VkKeyScanExW( WCHAR ch, HKL dwhkl); __declspec(dllimport) void __stdcall keybd_event( BYTE bVk, BYTE bScan, DWORD dwFlags, ULONG_PTR dwExtraInfo); #pragma endregion #pragma region Desktop Family __declspec(dllimport) void __stdcall mouse_event( DWORD dwFlags, DWORD dx, DWORD dy, DWORD dwData, ULONG_PTR dwExtraInfo); #pragma endregion typedef struct tagMOUSEINPUT { LONG dx; LONG dy; DWORD mouseData; DWORD dwFlags; DWORD time; ULONG_PTR dwExtraInfo; } MOUSEINPUT, *PMOUSEINPUT, * LPMOUSEINPUT; typedef struct tagKEYBDINPUT { WORD wVk; WORD wScan; DWORD dwFlags; DWORD time; ULONG_PTR dwExtraInfo; } KEYBDINPUT, *PKEYBDINPUT, * LPKEYBDINPUT; #pragma region Desktop Family typedef struct tagHARDWAREINPUT { DWORD uMsg; WORD wParamL; WORD wParamH; } HARDWAREINPUT, *PHARDWAREINPUT, * LPHARDWAREINPUT; typedef struct tagINPUT { DWORD type; union { MOUSEINPUT mi; KEYBDINPUT ki; HARDWAREINPUT hi; } ; } INPUT, *PINPUT, * LPINPUT; __declspec(dllimport) UINT __stdcall SendInput( UINT cInputs, LPINPUT pInputs, int cbSize); #pragma endregion #pragma region Desktop Family struct HTOUCHINPUT__{int unused;}; typedef struct HTOUCHINPUT__ *HTOUCHINPUT; typedef struct tagTOUCHINPUT { LONG x; LONG y; HANDLE hSource; DWORD dwID; DWORD dwFlags; DWORD dwMask; DWORD dwTime; ULONG_PTR dwExtraInfo; DWORD cxContact; DWORD cyContact; } TOUCHINPUT, *PTOUCHINPUT; typedef TOUCHINPUT const * PCTOUCHINPUT; #pragma endregion #pragma region Desktop Family __declspec(dllimport) BOOL __stdcall GetTouchInputInfo( HTOUCHINPUT hTouchInput, UINT cInputs, PTOUCHINPUT pInputs, int cbSize); __declspec(dllimport) BOOL __stdcall CloseTouchInputHandle( HTOUCHINPUT hTouchInput); #pragma endregion #pragma region Desktop Family __declspec(dllimport) BOOL __stdcall RegisterTouchWindow( HWND hwnd, ULONG ulFlags); __declspec(dllimport) BOOL __stdcall UnregisterTouchWindow( HWND hwnd); __declspec(dllimport) BOOL __stdcall IsTouchWindow( HWND hwnd, PULONG pulFlags); #pragma endregion #pragma region Desktop Family enum tagPOINTER_INPUT_TYPE { PT_POINTER = 1, PT_TOUCH = 2, PT_PEN = 3, PT_MOUSE = 4, PT_TOUCHPAD = 5, }; typedef DWORD POINTER_INPUT_TYPE; typedef UINT32 POINTER_FLAGS; #pragma endregion #pragma region Desktop Family typedef enum tagPOINTER_BUTTON_CHANGE_TYPE { POINTER_CHANGE_NONE, POINTER_CHANGE_FIRSTBUTTON_DOWN, POINTER_CHANGE_FIRSTBUTTON_UP, POINTER_CHANGE_SECONDBUTTON_DOWN, POINTER_CHANGE_SECONDBUTTON_UP, POINTER_CHANGE_THIRDBUTTON_DOWN, POINTER_CHANGE_THIRDBUTTON_UP, POINTER_CHANGE_FOURTHBUTTON_DOWN, POINTER_CHANGE_FOURTHBUTTON_UP, POINTER_CHANGE_FIFTHBUTTON_DOWN, POINTER_CHANGE_FIFTHBUTTON_UP, } POINTER_BUTTON_CHANGE_TYPE; typedef struct tagPOINTER_INFO { POINTER_INPUT_TYPE pointerType; UINT32 pointerId; UINT32 frameId; POINTER_FLAGS pointerFlags; HANDLE sourceDevice; HWND hwndTarget; POINT ptPixelLocation; POINT ptHimetricLocation; POINT ptPixelLocationRaw; POINT ptHimetricLocationRaw; DWORD dwTime; UINT32 historyCount; INT32 InputData; DWORD dwKeyStates; UINT64 PerformanceCount; POINTER_BUTTON_CHANGE_TYPE ButtonChangeType; } POINTER_INFO; typedef UINT32 TOUCH_FLAGS; typedef UINT32 TOUCH_MASK; typedef struct tagPOINTER_TOUCH_INFO { POINTER_INFO pointerInfo; TOUCH_FLAGS touchFlags; TOUCH_MASK touchMask; RECT rcContact; RECT rcContactRaw; UINT32 orientation; UINT32 pressure; } POINTER_TOUCH_INFO; typedef UINT32 PEN_FLAGS; typedef UINT32 PEN_MASK; typedef struct tagPOINTER_PEN_INFO { POINTER_INFO pointerInfo; PEN_FLAGS penFlags; PEN_MASK penMask; UINT32 pressure; UINT32 rotation; INT32 tiltX; INT32 tiltY; } POINTER_PEN_INFO; #pragma endregion typedef enum { POINTER_FEEDBACK_DEFAULT = 1, POINTER_FEEDBACK_INDIRECT = 2, POINTER_FEEDBACK_NONE = 3, } POINTER_FEEDBACK_MODE; #pragma region Desktop Family __declspec(dllimport) BOOL __stdcall InitializeTouchInjection( UINT32 maxCount, DWORD dwMode); __declspec(dllimport) BOOL __stdcall InjectTouchInput( UINT32 count, const POINTER_TOUCH_INFO *contacts); typedef struct tagUSAGE_PROPERTIES { USHORT level; USHORT page; USHORT usage; INT32 logicalMinimum; INT32 logicalMaximum; USHORT unit; USHORT exponent; BYTE count; INT32 physicalMinimum; INT32 physicalMaximum; }USAGE_PROPERTIES, *PUSAGE_PROPERTIES; typedef struct tagPOINTER_TYPE_INFO { POINTER_INPUT_TYPE type; union{ POINTER_TOUCH_INFO touchInfo; POINTER_PEN_INFO penInfo; } ; }POINTER_TYPE_INFO, *PPOINTER_TYPE_INFO; typedef struct tagINPUT_INJECTION_VALUE { USHORT page; USHORT usage; INT32 value; USHORT index; }INPUT_INJECTION_VALUE, *PINPUT_INJECTION_VALUE; __declspec(dllimport) BOOL __stdcall GetPointerType( UINT32 pointerId, POINTER_INPUT_TYPE *pointerType); __declspec(dllimport) BOOL __stdcall GetPointerCursorId( UINT32 pointerId, UINT32 *cursorId); __declspec(dllimport) BOOL __stdcall GetPointerInfo( UINT32 pointerId, POINTER_INFO *pointerInfo); __declspec(dllimport) BOOL __stdcall GetPointerInfoHistory( UINT32 pointerId, UINT32 *entriesCount, POINTER_INFO *pointerInfo); __declspec(dllimport) BOOL __stdcall GetPointerFrameInfo( UINT32 pointerId, UINT32 *pointerCount, POINTER_INFO *pointerInfo); __declspec(dllimport) BOOL __stdcall GetPointerFrameInfoHistory( UINT32 pointerId, UINT32 *entriesCount, UINT32 *pointerCount, POINTER_INFO *pointerInfo); __declspec(dllimport) BOOL __stdcall GetPointerTouchInfo( UINT32 pointerId, POINTER_TOUCH_INFO *touchInfo); __declspec(dllimport) BOOL __stdcall GetPointerTouchInfoHistory( UINT32 pointerId, UINT32 *entriesCount, POINTER_TOUCH_INFO *touchInfo); __declspec(dllimport) BOOL __stdcall GetPointerFrameTouchInfo( UINT32 pointerId, UINT32 *pointerCount, POINTER_TOUCH_INFO *touchInfo); __declspec(dllimport) BOOL __stdcall GetPointerFrameTouchInfoHistory( UINT32 pointerId, UINT32 *entriesCount, UINT32 *pointerCount, POINTER_TOUCH_INFO *touchInfo); __declspec(dllimport) BOOL __stdcall GetPointerPenInfo( UINT32 pointerId, POINTER_PEN_INFO *penInfo); __declspec(dllimport) BOOL __stdcall GetPointerPenInfoHistory( UINT32 pointerId, UINT32 *entriesCount, POINTER_PEN_INFO *penInfo); __declspec(dllimport) BOOL __stdcall GetPointerFramePenInfo( UINT32 pointerId, UINT32 *pointerCount, POINTER_PEN_INFO *penInfo); __declspec(dllimport) BOOL __stdcall GetPointerFramePenInfoHistory( UINT32 pointerId, UINT32 *entriesCount, UINT32 *pointerCount, POINTER_PEN_INFO *penInfo); __declspec(dllimport) BOOL __stdcall SkipPointerFrameMessages( UINT32 pointerId); __declspec(dllimport) BOOL __stdcall RegisterPointerInputTarget( HWND hwnd, POINTER_INPUT_TYPE pointerType); __declspec(dllimport) BOOL __stdcall UnregisterPointerInputTarget( HWND hwnd, POINTER_INPUT_TYPE pointerType); __declspec(dllimport) BOOL __stdcall RegisterPointerInputTargetEx( HWND hwnd, POINTER_INPUT_TYPE pointerType, BOOL fObserve); __declspec(dllimport) BOOL __stdcall UnregisterPointerInputTargetEx( HWND hwnd, POINTER_INPUT_TYPE pointerType); struct HSYNTHETICPOINTERDEVICE__{int unused;}; typedef struct HSYNTHETICPOINTERDEVICE__ *HSYNTHETICPOINTERDEVICE; __declspec(dllimport) HSYNTHETICPOINTERDEVICE __stdcall CreateSyntheticPointerDevice( POINTER_INPUT_TYPE pointerType, ULONG maxCount, POINTER_FEEDBACK_MODE mode); __declspec(dllimport) BOOL __stdcall InjectSyntheticPointerInput( HSYNTHETICPOINTERDEVICE device, const POINTER_TYPE_INFO* pointerInfo, UINT32 count); __declspec(dllimport) void __stdcall DestroySyntheticPointerDevice( HSYNTHETICPOINTERDEVICE device); __declspec(dllimport) BOOL __stdcall EnableMouseInPointer( BOOL fEnable); __declspec(dllimport) BOOL __stdcall IsMouseInPointerEnabled( void); __declspec(dllimport) BOOL __stdcall EnableMouseInPointerForThread(void); __declspec(dllimport) BOOL __stdcall RegisterTouchHitTestingWindow( HWND hwnd, ULONG value); typedef struct tagTOUCH_HIT_TESTING_PROXIMITY_EVALUATION { UINT16 score; POINT adjustedPoint; } TOUCH_HIT_TESTING_PROXIMITY_EVALUATION, *PTOUCH_HIT_TESTING_PROXIMITY_EVALUATION; typedef struct tagTOUCH_HIT_TESTING_INPUT { UINT32 pointerId; POINT point; RECT boundingBox; RECT nonOccludedBoundingBox; UINT32 orientation; } TOUCH_HIT_TESTING_INPUT, *PTOUCH_HIT_TESTING_INPUT; __declspec(dllimport) BOOL __stdcall EvaluateProximityToRect( const RECT *controlBoundingBox, const TOUCH_HIT_TESTING_INPUT *pHitTestingInput, TOUCH_HIT_TESTING_PROXIMITY_EVALUATION *pProximityEval); __declspec(dllimport) BOOL __stdcall EvaluateProximityToPolygon( UINT32 numVertices, const POINT *controlPolygon, const TOUCH_HIT_TESTING_INPUT *pHitTestingInput, TOUCH_HIT_TESTING_PROXIMITY_EVALUATION *pProximityEval); __declspec(dllimport) LRESULT __stdcall PackTouchHitTestingProximityEvaluation( const TOUCH_HIT_TESTING_INPUT *pHitTestingInput, const TOUCH_HIT_TESTING_PROXIMITY_EVALUATION *pProximityEval); typedef enum tagFEEDBACK_TYPE { FEEDBACK_TOUCH_CONTACTVISUALIZATION = 1, FEEDBACK_PEN_BARRELVISUALIZATION = 2, FEEDBACK_PEN_TAP = 3, FEEDBACK_PEN_DOUBLETAP = 4, FEEDBACK_PEN_PRESSANDHOLD = 5, FEEDBACK_PEN_RIGHTTAP = 6, FEEDBACK_TOUCH_TAP = 7, FEEDBACK_TOUCH_DOUBLETAP = 8, FEEDBACK_TOUCH_PRESSANDHOLD = 9, FEEDBACK_TOUCH_RIGHTTAP = 10, FEEDBACK_GESTURE_PRESSANDTAP = 11, FEEDBACK_MAX = 0xFFFFFFFF } FEEDBACK_TYPE; __declspec(dllimport) BOOL __stdcall GetWindowFeedbackSetting( HWND hwnd, FEEDBACK_TYPE feedback, DWORD dwFlags, UINT32* pSize, void* config); __declspec(dllimport) BOOL __stdcall SetWindowFeedbackSetting( HWND hwnd, FEEDBACK_TYPE feedback, DWORD dwFlags, UINT32 size, const void* configuration); #pragma endregion #pragma region Desktop Family #pragma warning(push) #pragma warning(disable : 4201) typedef struct tagINPUT_TRANSFORM { union { struct { float _11, _12, _13, _14; float _21, _22, _23, _24; float _31, _32, _33, _34; float _41, _42, _43, _44; } ; float m[4][4]; } ; } INPUT_TRANSFORM; #pragma warning(pop) __declspec(dllimport) BOOL __stdcall GetPointerInputTransform( UINT32 pointerId, UINT32 historyCount, INPUT_TRANSFORM *inputTransform); #pragma endregion #pragma region Desktop Family #pragma endregion #pragma region Desktop Family typedef struct tagLASTINPUTINFO { UINT cbSize; DWORD dwTime; } LASTINPUTINFO, * PLASTINPUTINFO; __declspec(dllimport) BOOL __stdcall GetLastInputInfo( PLASTINPUTINFO plii); #pragma endregion #pragma region Desktop or PC Family __declspec(dllimport) UINT __stdcall MapVirtualKeyA( UINT uCode, UINT uMapType); __declspec(dllimport) UINT __stdcall MapVirtualKeyW( UINT uCode, UINT uMapType); __declspec(dllimport) UINT __stdcall MapVirtualKeyExA( UINT uCode, UINT uMapType, HKL dwhkl); __declspec(dllimport) UINT __stdcall MapVirtualKeyExW( UINT uCode, UINT uMapType, HKL dwhkl); #pragma endregion #pragma region Desktop Family __declspec(dllimport) BOOL __stdcall GetInputState( void); __declspec(dllimport) DWORD __stdcall GetQueueStatus( UINT flags); __declspec(dllimport) HWND __stdcall GetCapture( void); __declspec(dllimport) HWND __stdcall SetCapture( HWND hWnd); __declspec(dllimport) BOOL __stdcall ReleaseCapture( void); __declspec(dllimport) DWORD __stdcall MsgWaitForMultipleObjects( DWORD nCount, const HANDLE *pHandles, BOOL fWaitAll, DWORD dwMilliseconds, DWORD dwWakeMask); __declspec(dllimport) DWORD __stdcall MsgWaitForMultipleObjectsEx( DWORD nCount, const HANDLE *pHandles, DWORD dwMilliseconds, DWORD dwWakeMask, DWORD dwFlags); #pragma endregion #pragma region Desktop Family or Games Family __declspec(dllimport) UINT_PTR __stdcall SetTimer( HWND hWnd, UINT_PTR nIDEvent, UINT uElapse, TIMERPROC lpTimerFunc); #pragma endregion #pragma region Desktop Family __declspec(dllimport) UINT_PTR __stdcall SetCoalescableTimer( HWND hWnd, UINT_PTR nIDEvent, UINT uElapse, TIMERPROC lpTimerFunc, ULONG uToleranceDelay); #pragma endregion #pragma region Desktop Family or Games Family __declspec(dllimport) BOOL __stdcall KillTimer( HWND hWnd, UINT_PTR uIDEvent); #pragma endregion #pragma region Desktop Family __declspec(dllimport) BOOL __stdcall IsWindowUnicode( HWND hWnd); __declspec(dllimport) BOOL __stdcall EnableWindow( HWND hWnd, BOOL bEnable); __declspec(dllimport) BOOL __stdcall IsWindowEnabled( HWND hWnd); __declspec(dllimport) HACCEL __stdcall LoadAcceleratorsA( HINSTANCE hInstance, LPCSTR lpTableName); __declspec(dllimport) HACCEL __stdcall LoadAcceleratorsW( HINSTANCE hInstance, LPCWSTR lpTableName); __declspec(dllimport) HACCEL __stdcall CreateAcceleratorTableA( LPACCEL paccel, int cAccel); __declspec(dllimport) HACCEL __stdcall CreateAcceleratorTableW( LPACCEL paccel, int cAccel); __declspec(dllimport) BOOL __stdcall DestroyAcceleratorTable( HACCEL hAccel); __declspec(dllimport) int __stdcall CopyAcceleratorTableA( HACCEL hAccelSrc, LPACCEL lpAccelDst, int cAccelEntries); __declspec(dllimport) int __stdcall CopyAcceleratorTableW( HACCEL hAccelSrc, LPACCEL lpAccelDst, int cAccelEntries); __declspec(dllimport) int __stdcall TranslateAcceleratorA( HWND hWnd, HACCEL hAccTable, LPMSG lpMsg); __declspec(dllimport) int __stdcall TranslateAcceleratorW( HWND hWnd, HACCEL hAccTable, LPMSG lpMsg); #pragma endregion #pragma region Desktop Family __declspec(dllimport) int __stdcall GetSystemMetrics( int nIndex); __declspec(dllimport) int __stdcall GetSystemMetricsForDpi( int nIndex, UINT dpi); #pragma endregion #pragma region Desktop Family __declspec(dllimport) HMENU __stdcall LoadMenuA( HINSTANCE hInstance, LPCSTR lpMenuName); __declspec(dllimport) HMENU __stdcall LoadMenuW( HINSTANCE hInstance, LPCWSTR lpMenuName); __declspec(dllimport) HMENU __stdcall LoadMenuIndirectA( const MENUTEMPLATEA *lpMenuTemplate); __declspec(dllimport) HMENU __stdcall LoadMenuIndirectW( const MENUTEMPLATEW *lpMenuTemplate); __declspec(dllimport) HMENU __stdcall GetMenu( HWND hWnd); __declspec(dllimport) BOOL __stdcall SetMenu( HWND hWnd, HMENU hMenu); __declspec(dllimport) BOOL __stdcall ChangeMenuA( HMENU hMenu, UINT cmd, LPCSTR lpszNewItem, UINT cmdInsert, UINT flags); __declspec(dllimport) BOOL __stdcall ChangeMenuW( HMENU hMenu, UINT cmd, LPCWSTR lpszNewItem, UINT cmdInsert, UINT flags); __declspec(dllimport) BOOL __stdcall HiliteMenuItem( HWND hWnd, HMENU hMenu, UINT uIDHiliteItem, UINT uHilite); __declspec(dllimport) int __stdcall GetMenuStringA( HMENU hMenu, UINT uIDItem, LPSTR lpString, int cchMax, UINT flags); __declspec(dllimport) int __stdcall GetMenuStringW( HMENU hMenu, UINT uIDItem, LPWSTR lpString, int cchMax, UINT flags); __declspec(dllimport) UINT __stdcall GetMenuState( HMENU hMenu, UINT uId, UINT uFlags); __declspec(dllimport) BOOL __stdcall DrawMenuBar( HWND hWnd); __declspec(dllimport) HMENU __stdcall GetSystemMenu( HWND hWnd, BOOL bRevert); __declspec(dllimport) HMENU __stdcall CreateMenu( void); __declspec(dllimport) HMENU __stdcall CreatePopupMenu( void); __declspec(dllimport) BOOL __stdcall DestroyMenu( HMENU hMenu); __declspec(dllimport) DWORD __stdcall CheckMenuItem( HMENU hMenu, UINT uIDCheckItem, UINT uCheck); __declspec(dllimport) BOOL __stdcall EnableMenuItem( HMENU hMenu, UINT uIDEnableItem, UINT uEnable); __declspec(dllimport) HMENU __stdcall GetSubMenu( HMENU hMenu, int nPos); __declspec(dllimport) UINT __stdcall GetMenuItemID( HMENU hMenu, int nPos); __declspec(dllimport) int __stdcall GetMenuItemCount( HMENU hMenu); __declspec(dllimport) BOOL __stdcall InsertMenuA( HMENU hMenu, UINT uPosition, UINT uFlags, UINT_PTR uIDNewItem, LPCSTR lpNewItem); __declspec(dllimport) BOOL __stdcall InsertMenuW( HMENU hMenu, UINT uPosition, UINT uFlags, UINT_PTR uIDNewItem, LPCWSTR lpNewItem); __declspec(dllimport) BOOL __stdcall AppendMenuA( HMENU hMenu, UINT uFlags, UINT_PTR uIDNewItem, LPCSTR lpNewItem); __declspec(dllimport) BOOL __stdcall AppendMenuW( HMENU hMenu, UINT uFlags, UINT_PTR uIDNewItem, LPCWSTR lpNewItem); __declspec(dllimport) BOOL __stdcall ModifyMenuA( HMENU hMnu, UINT uPosition, UINT uFlags, UINT_PTR uIDNewItem, LPCSTR lpNewItem); __declspec(dllimport) BOOL __stdcall ModifyMenuW( HMENU hMnu, UINT uPosition, UINT uFlags, UINT_PTR uIDNewItem, LPCWSTR lpNewItem); __declspec(dllimport) BOOL __stdcall RemoveMenu( HMENU hMenu, UINT uPosition, UINT uFlags); __declspec(dllimport) BOOL __stdcall DeleteMenu( HMENU hMenu, UINT uPosition, UINT uFlags); __declspec(dllimport) BOOL __stdcall SetMenuItemBitmaps( HMENU hMenu, UINT uPosition, UINT uFlags, HBITMAP hBitmapUnchecked, HBITMAP hBitmapChecked); __declspec(dllimport) LONG __stdcall GetMenuCheckMarkDimensions( void); __declspec(dllimport) BOOL __stdcall TrackPopupMenu( HMENU hMenu, UINT uFlags, int x, int y, int nReserved, HWND hWnd, const RECT *prcRect); typedef struct tagTPMPARAMS { UINT cbSize; RECT rcExclude; } TPMPARAMS; typedef TPMPARAMS *LPTPMPARAMS; __declspec(dllimport) BOOL __stdcall TrackPopupMenuEx( HMENU hMenu, UINT uFlags, int x, int y, HWND hwnd, LPTPMPARAMS lptpm); __declspec(dllimport) BOOL __stdcall CalculatePopupWindowPosition( const POINT *anchorPoint, const SIZE *windowSize, UINT flags, RECT *excludeRect, RECT *popupWindowPosition); typedef struct tagMENUINFO { DWORD cbSize; DWORD fMask; DWORD dwStyle; UINT cyMax; HBRUSH hbrBack; DWORD dwContextHelpID; ULONG_PTR dwMenuData; } MENUINFO, *LPMENUINFO; typedef MENUINFO const *LPCMENUINFO; __declspec(dllimport) BOOL __stdcall GetMenuInfo( HMENU, LPMENUINFO); __declspec(dllimport) BOOL __stdcall SetMenuInfo( HMENU, LPCMENUINFO); __declspec(dllimport) BOOL __stdcall EndMenu( void); typedef struct tagMENUGETOBJECTINFO { DWORD dwFlags; UINT uPos; HMENU hmenu; PVOID riid; PVOID pvObj; } MENUGETOBJECTINFO, * PMENUGETOBJECTINFO; typedef struct tagMENUITEMINFOA { UINT cbSize; UINT fMask; UINT fType; UINT fState; UINT wID; HMENU hSubMenu; HBITMAP hbmpChecked; HBITMAP hbmpUnchecked; ULONG_PTR dwItemData; LPSTR dwTypeData; UINT cch; HBITMAP hbmpItem; } MENUITEMINFOA, *LPMENUITEMINFOA; typedef struct tagMENUITEMINFOW { UINT cbSize; UINT fMask; UINT fType; UINT fState; UINT wID; HMENU hSubMenu; HBITMAP hbmpChecked; HBITMAP hbmpUnchecked; ULONG_PTR dwItemData; LPWSTR dwTypeData; UINT cch; HBITMAP hbmpItem; } MENUITEMINFOW, *LPMENUITEMINFOW; typedef MENUITEMINFOW MENUITEMINFO; typedef LPMENUITEMINFOW LPMENUITEMINFO; typedef MENUITEMINFOA const *LPCMENUITEMINFOA; typedef MENUITEMINFOW const *LPCMENUITEMINFOW; typedef LPCMENUITEMINFOW LPCMENUITEMINFO; __declspec(dllimport) BOOL __stdcall InsertMenuItemA( HMENU hmenu, UINT item, BOOL fByPosition, LPCMENUITEMINFOA lpmi); __declspec(dllimport) BOOL __stdcall InsertMenuItemW( HMENU hmenu, UINT item, BOOL fByPosition, LPCMENUITEMINFOW lpmi); __declspec(dllimport) BOOL __stdcall GetMenuItemInfoA( HMENU hmenu, UINT item, BOOL fByPosition, LPMENUITEMINFOA lpmii); __declspec(dllimport) BOOL __stdcall GetMenuItemInfoW( HMENU hmenu, UINT item, BOOL fByPosition, LPMENUITEMINFOW lpmii); __declspec(dllimport) BOOL __stdcall SetMenuItemInfoA( HMENU hmenu, UINT item, BOOL fByPositon, LPCMENUITEMINFOA lpmii); __declspec(dllimport) BOOL __stdcall SetMenuItemInfoW( HMENU hmenu, UINT item, BOOL fByPositon, LPCMENUITEMINFOW lpmii); __declspec(dllimport) UINT __stdcall GetMenuDefaultItem( HMENU hMenu, UINT fByPos, UINT gmdiFlags); __declspec(dllimport) BOOL __stdcall SetMenuDefaultItem( HMENU hMenu, UINT uItem, UINT fByPos); __declspec(dllimport) BOOL __stdcall GetMenuItemRect( HWND hWnd, HMENU hMenu, UINT uItem, LPRECT lprcItem); __declspec(dllimport) int __stdcall MenuItemFromPoint( HWND hWnd, HMENU hMenu, POINT ptScreen); #pragma endregion #pragma region Desktop Family typedef struct tagDROPSTRUCT { HWND hwndSource; HWND hwndSink; DWORD wFmt; ULONG_PTR dwData; POINT ptDrop; DWORD dwControlData; } DROPSTRUCT, *PDROPSTRUCT, *LPDROPSTRUCT; #pragma endregion #pragma region Desktop Family __declspec(dllimport) DWORD __stdcall DragObject( HWND hwndParent, HWND hwndFrom, UINT fmt, ULONG_PTR data, HCURSOR hcur); __declspec(dllimport) BOOL __stdcall DragDetect( HWND hwnd, POINT pt); #pragma endregion #pragma region Desktop Family __declspec(dllimport) BOOL __stdcall DrawIcon( HDC hDC, int X, int Y, HICON hIcon); #pragma endregion #pragma region Desktop Family typedef struct tagDRAWTEXTPARAMS { UINT cbSize; int iTabLength; int iLeftMargin; int iRightMargin; UINT uiLengthDrawn; } DRAWTEXTPARAMS, *LPDRAWTEXTPARAMS; #pragma endregion #pragma region Desktop Family __declspec(dllimport) int __stdcall DrawTextA( HDC hdc, LPCSTR lpchText, int cchText, LPRECT lprc, UINT format); __declspec(dllimport) int __stdcall DrawTextW( HDC hdc, LPCWSTR lpchText, int cchText, LPRECT lprc, UINT format); __declspec(dllimport) int __stdcall DrawTextExA( HDC hdc, LPSTR lpchText, int cchText, LPRECT lprc, UINT format, LPDRAWTEXTPARAMS lpdtp); __declspec(dllimport) int __stdcall DrawTextExW( HDC hdc, LPWSTR lpchText, int cchText, LPRECT lprc, UINT format, LPDRAWTEXTPARAMS lpdtp); #pragma endregion #pragma region Desktop Family __declspec(dllimport) BOOL __stdcall GrayStringA( HDC hDC, HBRUSH hBrush, GRAYSTRINGPROC lpOutputFunc, LPARAM lpData, int nCount, int X, int Y, int nWidth, int nHeight); __declspec(dllimport) BOOL __stdcall GrayStringW( HDC hDC, HBRUSH hBrush, GRAYSTRINGPROC lpOutputFunc, LPARAM lpData, int nCount, int X, int Y, int nWidth, int nHeight); #pragma endregion #pragma region Desktop Family __declspec(dllimport) BOOL __stdcall DrawStateA( HDC hdc, HBRUSH hbrFore, DRAWSTATEPROC qfnCallBack, LPARAM lData, WPARAM wData, int x, int y, int cx, int cy, UINT uFlags); __declspec(dllimport) BOOL __stdcall DrawStateW( HDC hdc, HBRUSH hbrFore, DRAWSTATEPROC qfnCallBack, LPARAM lData, WPARAM wData, int x, int y, int cx, int cy, UINT uFlags); #pragma endregion #pragma region Desktop Family __declspec(dllimport) LONG __stdcall TabbedTextOutA( HDC hdc, int x, int y, LPCSTR lpString, int chCount, int nTabPositions, const INT *lpnTabStopPositions, int nTabOrigin); __declspec(dllimport) LONG __stdcall TabbedTextOutW( HDC hdc, int x, int y, LPCWSTR lpString, int chCount, int nTabPositions, const INT *lpnTabStopPositions, int nTabOrigin); __declspec(dllimport) DWORD __stdcall GetTabbedTextExtentA( HDC hdc, LPCSTR lpString, int chCount, int nTabPositions, const INT *lpnTabStopPositions); __declspec(dllimport) DWORD __stdcall GetTabbedTextExtentW( HDC hdc, LPCWSTR lpString, int chCount, int nTabPositions, const INT *lpnTabStopPositions); __declspec(dllimport) BOOL __stdcall UpdateWindow( HWND hWnd); __declspec(dllimport) HWND __stdcall SetActiveWindow( HWND hWnd); __declspec(dllimport) HWND __stdcall GetForegroundWindow( void); __declspec(dllimport) BOOL __stdcall PaintDesktop( HDC hdc); __declspec(dllimport) void __stdcall SwitchToThisWindow( HWND hwnd, BOOL fUnknown); __declspec(dllimport) BOOL __stdcall SetForegroundWindow( HWND hWnd); __declspec(dllimport) BOOL __stdcall AllowSetForegroundWindow( DWORD dwProcessId); __declspec(dllimport) BOOL __stdcall LockSetForegroundWindow( UINT uLockCode); __declspec(dllimport) HWND __stdcall WindowFromDC( HDC hDC); __declspec(dllimport) HDC __stdcall GetDC( HWND hWnd); __declspec(dllimport) HDC __stdcall GetDCEx( HWND hWnd, HRGN hrgnClip, DWORD flags); #pragma endregion #pragma region Desktop Family __declspec(dllimport) HDC __stdcall GetWindowDC( HWND hWnd); __declspec(dllimport) int __stdcall ReleaseDC( HWND hWnd, HDC hDC); __declspec(dllimport) HDC __stdcall BeginPaint( HWND hWnd, LPPAINTSTRUCT lpPaint); __declspec(dllimport) BOOL __stdcall EndPaint( HWND hWnd, const PAINTSTRUCT *lpPaint); __declspec(dllimport) BOOL __stdcall GetUpdateRect( HWND hWnd, LPRECT lpRect, BOOL bErase); __declspec(dllimport) int __stdcall GetUpdateRgn( HWND hWnd, HRGN hRgn, BOOL bErase); __declspec(dllimport) int __stdcall SetWindowRgn( HWND hWnd, HRGN hRgn, BOOL bRedraw); #pragma endregion #pragma region Desktop Family __declspec(dllimport) int __stdcall GetWindowRgn( HWND hWnd, HRGN hRgn); __declspec(dllimport) int __stdcall GetWindowRgnBox( HWND hWnd, LPRECT lprc); __declspec(dllimport) int __stdcall ExcludeUpdateRgn( HDC hDC, HWND hWnd); __declspec(dllimport) BOOL __stdcall InvalidateRect( HWND hWnd, const RECT *lpRect, BOOL bErase); __declspec(dllimport) BOOL __stdcall ValidateRect( HWND hWnd, const RECT *lpRect); __declspec(dllimport) BOOL __stdcall InvalidateRgn( HWND hWnd, HRGN hRgn, BOOL bErase); __declspec(dllimport) BOOL __stdcall ValidateRgn( HWND hWnd, HRGN hRgn); __declspec(dllimport) BOOL __stdcall RedrawWindow( HWND hWnd, const RECT *lprcUpdate, HRGN hrgnUpdate, UINT flags); #pragma endregion #pragma region Desktop Family __declspec(dllimport) BOOL __stdcall LockWindowUpdate( HWND hWndLock); __declspec(dllimport) BOOL __stdcall ScrollWindow( HWND hWnd, int XAmount, int YAmount, const RECT *lpRect, const RECT *lpClipRect); __declspec(dllimport) BOOL __stdcall ScrollDC( HDC hDC, int dx, int dy, const RECT *lprcScroll, const RECT *lprcClip, HRGN hrgnUpdate, LPRECT lprcUpdate); __declspec(dllimport) int __stdcall ScrollWindowEx( HWND hWnd, int dx, int dy, const RECT *prcScroll, const RECT *prcClip, HRGN hrgnUpdate, LPRECT prcUpdate, UINT flags); #pragma endregion #pragma region Desktop Family __declspec(dllimport) int __stdcall SetScrollPos( HWND hWnd, int nBar, int nPos, BOOL bRedraw); __declspec(dllimport) int __stdcall GetScrollPos( HWND hWnd, int nBar); __declspec(dllimport) BOOL __stdcall SetScrollRange( HWND hWnd, int nBar, int nMinPos, int nMaxPos, BOOL bRedraw); __declspec(dllimport) BOOL __stdcall GetScrollRange( HWND hWnd, int nBar, LPINT lpMinPos, LPINT lpMaxPos); __declspec(dllimport) BOOL __stdcall ShowScrollBar( HWND hWnd, int wBar, BOOL bShow); __declspec(dllimport) BOOL __stdcall EnableScrollBar( HWND hWnd, UINT wSBflags, UINT wArrows); __declspec(dllimport) BOOL __stdcall SetPropA( HWND hWnd, LPCSTR lpString, HANDLE hData); __declspec(dllimport) BOOL __stdcall SetPropW( HWND hWnd, LPCWSTR lpString, HANDLE hData); __declspec(dllimport) HANDLE __stdcall GetPropA( HWND hWnd, LPCSTR lpString); __declspec(dllimport) HANDLE __stdcall GetPropW( HWND hWnd, LPCWSTR lpString); __declspec(dllimport) HANDLE __stdcall RemovePropA( HWND hWnd, LPCSTR lpString); __declspec(dllimport) HANDLE __stdcall RemovePropW( HWND hWnd, LPCWSTR lpString); __declspec(dllimport) int __stdcall EnumPropsExA( HWND hWnd, PROPENUMPROCEXA lpEnumFunc, LPARAM lParam); __declspec(dllimport) int __stdcall EnumPropsExW( HWND hWnd, PROPENUMPROCEXW lpEnumFunc, LPARAM lParam); __declspec(dllimport) int __stdcall EnumPropsA( HWND hWnd, PROPENUMPROCA lpEnumFunc); __declspec(dllimport) int __stdcall EnumPropsW( HWND hWnd, PROPENUMPROCW lpEnumFunc); __declspec(dllimport) BOOL __stdcall SetWindowTextA( HWND hWnd, LPCSTR lpString); __declspec(dllimport) BOOL __stdcall SetWindowTextW( HWND hWnd, LPCWSTR lpString); __declspec(dllimport) int __stdcall GetWindowTextA( HWND hWnd, LPSTR lpString, int nMaxCount); __declspec(dllimport) int __stdcall GetWindowTextW( HWND hWnd, LPWSTR lpString, int nMaxCount); __declspec(dllimport) int __stdcall GetWindowTextLengthA( HWND hWnd); __declspec(dllimport) int __stdcall GetWindowTextLengthW( HWND hWnd); #pragma endregion #pragma region Desktop Family or Games Family __declspec(dllimport) BOOL __stdcall GetClientRect( HWND hWnd, LPRECT lpRect); #pragma endregion #pragma region Desktop Family __declspec(dllimport) BOOL __stdcall GetWindowRect( HWND hWnd, LPRECT lpRect); #pragma endregion #pragma region Desktop Family or Games Family __declspec(dllimport) BOOL __stdcall AdjustWindowRect( LPRECT lpRect, DWORD dwStyle, BOOL bMenu); __declspec(dllimport) BOOL __stdcall AdjustWindowRectEx( LPRECT lpRect, DWORD dwStyle, BOOL bMenu, DWORD dwExStyle); #pragma endregion #pragma region Desktop Family __declspec(dllimport) BOOL __stdcall AdjustWindowRectExForDpi( LPRECT lpRect, DWORD dwStyle, BOOL bMenu, DWORD dwExStyle, UINT dpi); #pragma endregion #pragma region Desktop Family typedef struct tagHELPINFO { UINT cbSize; int iContextType; int iCtrlId; HANDLE hItemHandle; DWORD_PTR dwContextId; POINT MousePos; } HELPINFO, *LPHELPINFO; __declspec(dllimport) BOOL __stdcall SetWindowContextHelpId( HWND, DWORD); __declspec(dllimport) DWORD __stdcall GetWindowContextHelpId( HWND); __declspec(dllimport) BOOL __stdcall SetMenuContextHelpId( HMENU, DWORD); __declspec(dllimport) DWORD __stdcall GetMenuContextHelpId( HMENU); #pragma endregion #pragma region Desktop Family __declspec(dllimport) int __stdcall MessageBoxA( HWND hWnd, LPCSTR lpText, LPCSTR lpCaption, UINT uType); __declspec(dllimport) int __stdcall MessageBoxW( HWND hWnd, LPCWSTR lpText, LPCWSTR lpCaption, UINT uType); __declspec(dllimport) int __stdcall MessageBoxExA( HWND hWnd, LPCSTR lpText, LPCSTR lpCaption, UINT uType, WORD wLanguageId); __declspec(dllimport) int __stdcall MessageBoxExW( HWND hWnd, LPCWSTR lpText, LPCWSTR lpCaption, UINT uType, WORD wLanguageId); typedef void (__stdcall *MSGBOXCALLBACK)(LPHELPINFO lpHelpInfo); typedef struct tagMSGBOXPARAMSA { UINT cbSize; HWND hwndOwner; HINSTANCE hInstance; LPCSTR lpszText; LPCSTR lpszCaption; DWORD dwStyle; LPCSTR lpszIcon; DWORD_PTR dwContextHelpId; MSGBOXCALLBACK lpfnMsgBoxCallback; DWORD dwLanguageId; } MSGBOXPARAMSA, *PMSGBOXPARAMSA, *LPMSGBOXPARAMSA; typedef struct tagMSGBOXPARAMSW { UINT cbSize; HWND hwndOwner; HINSTANCE hInstance; LPCWSTR lpszText; LPCWSTR lpszCaption; DWORD dwStyle; LPCWSTR lpszIcon; DWORD_PTR dwContextHelpId; MSGBOXCALLBACK lpfnMsgBoxCallback; DWORD dwLanguageId; } MSGBOXPARAMSW, *PMSGBOXPARAMSW, *LPMSGBOXPARAMSW; typedef MSGBOXPARAMSW MSGBOXPARAMS; typedef PMSGBOXPARAMSW PMSGBOXPARAMS; typedef LPMSGBOXPARAMSW LPMSGBOXPARAMS; __declspec(dllimport) int __stdcall MessageBoxIndirectA( const MSGBOXPARAMSA * lpmbp); __declspec(dllimport) int __stdcall MessageBoxIndirectW( const MSGBOXPARAMSW * lpmbp); #pragma endregion #pragma region Desktop Family __declspec(dllimport) BOOL __stdcall MessageBeep( UINT uType); #pragma endregion #pragma region Desktop Family #pragma endregion #pragma region Desktop Family or Games Family __declspec(dllimport) int __stdcall ShowCursor( BOOL bShow); #pragma endregion #pragma region Desktop Family __declspec(dllimport) BOOL __stdcall SetCursorPos( int X, int Y); __declspec(dllimport) BOOL __stdcall SetPhysicalCursorPos( int X, int Y); #pragma endregion #pragma region Desktop Family or Games Family __declspec(dllimport) HCURSOR __stdcall SetCursor( HCURSOR hCursor); __declspec(dllimport) BOOL __stdcall GetCursorPos( LPPOINT lpPoint); #pragma endregion #pragma region Desktop Family __declspec(dllimport) BOOL __stdcall GetPhysicalCursorPos( LPPOINT lpPoint); __declspec(dllimport) BOOL __stdcall GetClipCursor( LPRECT lpRect); __declspec(dllimport) HCURSOR __stdcall GetCursor( void); __declspec(dllimport) BOOL __stdcall CreateCaret( HWND hWnd, HBITMAP hBitmap, int nWidth, int nHeight); __declspec(dllimport) UINT __stdcall GetCaretBlinkTime( void); __declspec(dllimport) BOOL __stdcall SetCaretBlinkTime( UINT uMSeconds); __declspec(dllimport) BOOL __stdcall DestroyCaret( void); __declspec(dllimport) BOOL __stdcall HideCaret( HWND hWnd); __declspec(dllimport) BOOL __stdcall ShowCaret( HWND hWnd); __declspec(dllimport) BOOL __stdcall SetCaretPos( int X, int Y); __declspec(dllimport) BOOL __stdcall GetCaretPos( LPPOINT lpPoint); __declspec(dllimport) BOOL __stdcall ClientToScreen( HWND hWnd, LPPOINT lpPoint); __declspec(dllimport) BOOL __stdcall ScreenToClient( HWND hWnd, LPPOINT lpPoint); __declspec(dllimport) BOOL __stdcall LogicalToPhysicalPoint( HWND hWnd, LPPOINT lpPoint); __declspec(dllimport) BOOL __stdcall PhysicalToLogicalPoint( HWND hWnd, LPPOINT lpPoint); __declspec(dllimport) BOOL __stdcall LogicalToPhysicalPointForPerMonitorDPI( HWND hWnd, LPPOINT lpPoint); __declspec(dllimport) BOOL __stdcall PhysicalToLogicalPointForPerMonitorDPI( HWND hWnd, LPPOINT lpPoint); __declspec(dllimport) int __stdcall MapWindowPoints( HWND hWndFrom, HWND hWndTo, LPPOINT lpPoints, UINT cPoints); __declspec(dllimport) HWND __stdcall WindowFromPoint( POINT Point); __declspec(dllimport) HWND __stdcall WindowFromPhysicalPoint( POINT Point); __declspec(dllimport) HWND __stdcall ChildWindowFromPoint( HWND hWndParent, POINT Point); #pragma endregion #pragma region Desktop or PC Family __declspec(dllimport) BOOL __stdcall ClipCursor( const RECT *lpRect); #pragma endregion #pragma region Desktop Family __declspec(dllimport) HWND __stdcall ChildWindowFromPointEx( HWND hwnd, POINT pt, UINT flags); #pragma endregion #pragma region Desktop Family __declspec(dllimport) DWORD __stdcall GetSysColor( int nIndex); __declspec(dllimport) HBRUSH __stdcall GetSysColorBrush( int nIndex); __declspec(dllimport) BOOL __stdcall SetSysColors( int cElements, const INT * lpaElements, const COLORREF * lpaRgbValues); #pragma endregion #pragma region Desktop Family __declspec(dllimport) BOOL __stdcall DrawFocusRect( HDC hDC, const RECT * lprc); __declspec(dllimport) int __stdcall FillRect( HDC hDC, const RECT *lprc, HBRUSH hbr); __declspec(dllimport) int __stdcall FrameRect( HDC hDC, const RECT *lprc, HBRUSH hbr); __declspec(dllimport) BOOL __stdcall InvertRect( HDC hDC, const RECT *lprc); __declspec(dllimport) BOOL __stdcall SetRect( LPRECT lprc, int xLeft, int yTop, int xRight, int yBottom); __declspec(dllimport) BOOL __stdcall SetRectEmpty( LPRECT lprc); __declspec(dllimport) BOOL __stdcall CopyRect( LPRECT lprcDst, const RECT *lprcSrc); __declspec(dllimport) BOOL __stdcall InflateRect( LPRECT lprc, int dx, int dy); __declspec(dllimport) BOOL __stdcall IntersectRect( LPRECT lprcDst, const RECT *lprcSrc1, const RECT *lprcSrc2); __declspec(dllimport) BOOL __stdcall UnionRect( LPRECT lprcDst, const RECT *lprcSrc1, const RECT *lprcSrc2); __declspec(dllimport) BOOL __stdcall SubtractRect( LPRECT lprcDst, const RECT *lprcSrc1, const RECT *lprcSrc2); __declspec(dllimport) BOOL __stdcall OffsetRect( LPRECT lprc, int dx, int dy); __declspec(dllimport) BOOL __stdcall IsRectEmpty( const RECT *lprc); __declspec(dllimport) BOOL __stdcall EqualRect( const RECT *lprc1, const RECT *lprc2); __declspec(dllimport) BOOL __stdcall PtInRect( const RECT *lprc, POINT pt); __declspec(dllimport) WORD __stdcall GetWindowWord( HWND hWnd, int nIndex); __declspec(dllimport) WORD __stdcall SetWindowWord( HWND hWnd, int nIndex, WORD wNewWord); #pragma endregion #pragma region Desktop Family or Games Family __declspec(dllimport) LONG __stdcall GetWindowLongA( HWND hWnd, int nIndex); __declspec(dllimport) LONG __stdcall GetWindowLongW( HWND hWnd, int nIndex); __declspec(dllimport) LONG __stdcall SetWindowLongA( HWND hWnd, int nIndex, LONG dwNewLong); __declspec(dllimport) LONG __stdcall SetWindowLongW( HWND hWnd, int nIndex, LONG dwNewLong); __declspec(dllimport) LONG_PTR __stdcall GetWindowLongPtrA( HWND hWnd, int nIndex); __declspec(dllimport) LONG_PTR __stdcall GetWindowLongPtrW( HWND hWnd, int nIndex); __declspec(dllimport) LONG_PTR __stdcall SetWindowLongPtrA( HWND hWnd, int nIndex, LONG_PTR dwNewLong); __declspec(dllimport) LONG_PTR __stdcall SetWindowLongPtrW( HWND hWnd, int nIndex, LONG_PTR dwNewLong); #pragma endregion #pragma region Desktop Family __declspec(dllimport) WORD __stdcall GetClassWord( HWND hWnd, int nIndex); __declspec(dllimport) WORD __stdcall SetClassWord( HWND hWnd, int nIndex, WORD wNewWord); __declspec(dllimport) DWORD __stdcall GetClassLongA( HWND hWnd, int nIndex); __declspec(dllimport) DWORD __stdcall GetClassLongW( HWND hWnd, int nIndex); __declspec(dllimport) DWORD __stdcall SetClassLongA( HWND hWnd, int nIndex, LONG dwNewLong); __declspec(dllimport) DWORD __stdcall SetClassLongW( HWND hWnd, int nIndex, LONG dwNewLong); __declspec(dllimport) ULONG_PTR __stdcall GetClassLongPtrA( HWND hWnd, int nIndex); __declspec(dllimport) ULONG_PTR __stdcall GetClassLongPtrW( HWND hWnd, int nIndex); __declspec(dllimport) ULONG_PTR __stdcall SetClassLongPtrA( HWND hWnd, int nIndex, LONG_PTR dwNewLong); __declspec(dllimport) ULONG_PTR __stdcall SetClassLongPtrW( HWND hWnd, int nIndex, LONG_PTR dwNewLong); __declspec(dllimport) BOOL __stdcall GetProcessDefaultLayout( DWORD *pdwDefaultLayout); __declspec(dllimport) BOOL __stdcall SetProcessDefaultLayout( DWORD dwDefaultLayout); __declspec(dllimport) HWND __stdcall GetDesktopWindow( void); __declspec(dllimport) HWND __stdcall GetParent( HWND hWnd); __declspec(dllimport) HWND __stdcall SetParent( HWND hWndChild, HWND hWndNewParent); __declspec(dllimport) BOOL __stdcall EnumChildWindows( HWND hWndParent, WNDENUMPROC lpEnumFunc, LPARAM lParam); __declspec(dllimport) HWND __stdcall FindWindowA( LPCSTR lpClassName, LPCSTR lpWindowName); __declspec(dllimport) HWND __stdcall FindWindowW( LPCWSTR lpClassName, LPCWSTR lpWindowName); __declspec(dllimport) HWND __stdcall FindWindowExA( HWND hWndParent, HWND hWndChildAfter, LPCSTR lpszClass, LPCSTR lpszWindow); __declspec(dllimport) HWND __stdcall FindWindowExW( HWND hWndParent, HWND hWndChildAfter, LPCWSTR lpszClass, LPCWSTR lpszWindow); __declspec(dllimport) HWND __stdcall GetShellWindow( void); __declspec(dllimport) BOOL __stdcall RegisterShellHookWindow( HWND hwnd); __declspec(dllimport) BOOL __stdcall DeregisterShellHookWindow( HWND hwnd); __declspec(dllimport) BOOL __stdcall EnumWindows( WNDENUMPROC lpEnumFunc, LPARAM lParam); __declspec(dllimport) BOOL __stdcall EnumThreadWindows( DWORD dwThreadId, WNDENUMPROC lpfn, LPARAM lParam); #pragma endregion #pragma region Desktop Family or Games Family __declspec(dllimport) int __stdcall GetClassNameA( HWND hWnd, LPSTR lpClassName, int nMaxCount ); __declspec(dllimport) int __stdcall GetClassNameW( HWND hWnd, LPWSTR lpClassName, int nMaxCount ); #pragma endregion #pragma region Desktop Family __declspec(dllimport) HWND __stdcall GetTopWindow( HWND hWnd); __declspec(dllimport) DWORD __stdcall GetWindowThreadProcessId( HWND hWnd, LPDWORD lpdwProcessId); __declspec(dllimport) BOOL __stdcall IsGUIThread( BOOL bConvert); __declspec(dllimport) HWND __stdcall GetLastActivePopup( HWND hWnd); __declspec(dllimport) HWND __stdcall GetWindow( HWND hWnd, UINT uCmd); __declspec(dllimport) HHOOK __stdcall SetWindowsHookA( int nFilterType, HOOKPROC pfnFilterProc); __declspec(dllimport) HHOOK __stdcall SetWindowsHookW( int nFilterType, HOOKPROC pfnFilterProc); __declspec(dllimport) BOOL __stdcall UnhookWindowsHook( int nCode, HOOKPROC pfnFilterProc); __declspec(dllimport) HHOOK __stdcall SetWindowsHookExA( int idHook, HOOKPROC lpfn, HINSTANCE hmod, DWORD dwThreadId); __declspec(dllimport) HHOOK __stdcall SetWindowsHookExW( int idHook, HOOKPROC lpfn, HINSTANCE hmod, DWORD dwThreadId); __declspec(dllimport) BOOL __stdcall UnhookWindowsHookEx( HHOOK hhk); __declspec(dllimport) LRESULT __stdcall CallNextHookEx( HHOOK hhk, int nCode, WPARAM wParam, LPARAM lParam); #pragma endregion #pragma region Desktop Family __declspec(dllimport) BOOL __stdcall CheckMenuRadioItem( HMENU hmenu, UINT first, UINT last, UINT check, UINT flags); typedef struct { WORD versionNumber; WORD offset; } MENUITEMTEMPLATEHEADER, *PMENUITEMTEMPLATEHEADER; typedef struct { WORD mtOption; WORD mtID; WCHAR mtString[1]; } MENUITEMTEMPLATE, *PMENUITEMTEMPLATE; #pragma endregion #pragma region Desktop Family __declspec(dllimport) HBITMAP __stdcall LoadBitmapA( HINSTANCE hInstance, LPCSTR lpBitmapName); __declspec(dllimport) HBITMAP __stdcall LoadBitmapW( HINSTANCE hInstance, LPCWSTR lpBitmapName); #pragma endregion #pragma region Desktop or Games Family __declspec(dllimport) HCURSOR __stdcall LoadCursorA( HINSTANCE hInstance, LPCSTR lpCursorName); __declspec(dllimport) HCURSOR __stdcall LoadCursorW( HINSTANCE hInstance, LPCWSTR lpCursorName); #pragma endregion #pragma region Desktop Family __declspec(dllimport) HCURSOR __stdcall LoadCursorFromFileA( LPCSTR lpFileName); __declspec(dllimport) HCURSOR __stdcall LoadCursorFromFileW( LPCWSTR lpFileName); #pragma endregion #pragma region Desktop or Games Family __declspec(dllimport) HCURSOR __stdcall CreateCursor( HINSTANCE hInst, int xHotSpot, int yHotSpot, int nWidth, int nHeight, const void *pvANDPlane, const void *pvXORPlane); __declspec(dllimport) BOOL __stdcall DestroyCursor( HCURSOR hCursor); #pragma endregion #pragma region Desktop Family #pragma endregion #pragma region Desktop Family __declspec(dllimport) BOOL __stdcall SetSystemCursor( HCURSOR hcur, DWORD id); typedef struct _ICONINFO { BOOL fIcon; DWORD xHotspot; DWORD yHotspot; HBITMAP hbmMask; HBITMAP hbmColor; } ICONINFO; typedef ICONINFO *PICONINFO; __declspec(dllimport) HICON __stdcall LoadIconA( HINSTANCE hInstance, LPCSTR lpIconName); __declspec(dllimport) HICON __stdcall LoadIconW( HINSTANCE hInstance, LPCWSTR lpIconName); __declspec(dllimport) UINT __stdcall PrivateExtractIconsA( LPCSTR szFileName, int nIconIndex, int cxIcon, int cyIcon, HICON *phicon, UINT *piconid, UINT nIcons, UINT flags); __declspec(dllimport) UINT __stdcall PrivateExtractIconsW( LPCWSTR szFileName, int nIconIndex, int cxIcon, int cyIcon, HICON *phicon, UINT *piconid, UINT nIcons, UINT flags); __declspec(dllimport) HICON __stdcall CreateIcon( HINSTANCE hInstance, int nWidth, int nHeight, BYTE cPlanes, BYTE cBitsPixel, const BYTE *lpbANDbits, const BYTE *lpbXORbits); __declspec(dllimport) BOOL __stdcall DestroyIcon( HICON hIcon); __declspec(dllimport) int __stdcall LookupIconIdFromDirectory( PBYTE presbits, BOOL fIcon); __declspec(dllimport) int __stdcall LookupIconIdFromDirectoryEx( PBYTE presbits, BOOL fIcon, int cxDesired, int cyDesired, UINT Flags); __declspec(dllimport) HICON __stdcall CreateIconFromResource( PBYTE presbits, DWORD dwResSize, BOOL fIcon, DWORD dwVer); __declspec(dllimport) HICON __stdcall CreateIconFromResourceEx( PBYTE presbits, DWORD dwResSize, BOOL fIcon, DWORD dwVer, int cxDesired, int cyDesired, UINT Flags); typedef struct tagCURSORSHAPE { int xHotSpot; int yHotSpot; int cx; int cy; int cbWidth; BYTE Planes; BYTE BitsPixel; } CURSORSHAPE, *LPCURSORSHAPE; #pragma endregion #pragma region Desktop Family __declspec(dllimport) HANDLE __stdcall LoadImageA( HINSTANCE hInst, LPCSTR name, UINT type, int cx, int cy, UINT fuLoad); __declspec(dllimport) HANDLE __stdcall LoadImageW( HINSTANCE hInst, LPCWSTR name, UINT type, int cx, int cy, UINT fuLoad); __declspec(dllimport) HANDLE __stdcall CopyImage( HANDLE h, UINT type, int cx, int cy, UINT flags); __declspec(dllimport) BOOL __stdcall DrawIconEx( HDC hdc, int xLeft, int yTop, HICON hIcon, int cxWidth, int cyWidth, UINT istepIfAniCur, HBRUSH hbrFlickerFreeDraw, UINT diFlags); #pragma endregion #pragma region Desktop Family __declspec(dllimport) HICON __stdcall CreateIconIndirect( PICONINFO piconinfo); __declspec(dllimport) HICON __stdcall CopyIcon( HICON hIcon); __declspec(dllimport) BOOL __stdcall GetIconInfo( HICON hIcon, PICONINFO piconinfo); typedef struct _ICONINFOEXA { DWORD cbSize; BOOL fIcon; DWORD xHotspot; DWORD yHotspot; HBITMAP hbmMask; HBITMAP hbmColor; WORD wResID; CHAR szModName[260]; CHAR szResName[260]; } ICONINFOEXA, *PICONINFOEXA; typedef struct _ICONINFOEXW { DWORD cbSize; BOOL fIcon; DWORD xHotspot; DWORD yHotspot; HBITMAP hbmMask; HBITMAP hbmColor; WORD wResID; WCHAR szModName[260]; WCHAR szResName[260]; } ICONINFOEXW, *PICONINFOEXW; typedef ICONINFOEXW ICONINFOEX; typedef PICONINFOEXW PICONINFOEX; __declspec(dllimport) BOOL __stdcall GetIconInfoExA( HICON hicon, PICONINFOEXA piconinfo); __declspec(dllimport) BOOL __stdcall GetIconInfoExW( HICON hicon, PICONINFOEXW piconinfo); #pragma endregion typedef enum { EDIT_CONTROL_FEATURE_ENTERPRISE_DATA_PROTECTION_PASTE_SUPPORT = 0, EDIT_CONTROL_FEATURE_PASTE_NOTIFICATIONS = 1, } EDIT_CONTROL_FEATURE; #pragma region Desktop Family __declspec(dllimport) BOOL __stdcall IsDialogMessageA( HWND hDlg, LPMSG lpMsg); __declspec(dllimport) BOOL __stdcall IsDialogMessageW( HWND hDlg, LPMSG lpMsg); __declspec(dllimport) BOOL __stdcall MapDialogRect( HWND hDlg, LPRECT lpRect); __declspec(dllimport) int __stdcall DlgDirListA( HWND hDlg, LPSTR lpPathSpec, int nIDListBox, int nIDStaticPath, UINT uFileType); __declspec(dllimport) int __stdcall DlgDirListW( HWND hDlg, LPWSTR lpPathSpec, int nIDListBox, int nIDStaticPath, UINT uFileType); #pragma endregion #pragma region Desktop Family __declspec(dllimport) BOOL __stdcall DlgDirSelectExA( HWND hwndDlg, LPSTR lpString, int chCount, int idListBox); __declspec(dllimport) BOOL __stdcall DlgDirSelectExW( HWND hwndDlg, LPWSTR lpString, int chCount, int idListBox); __declspec(dllimport) int __stdcall DlgDirListComboBoxA( HWND hDlg, LPSTR lpPathSpec, int nIDComboBox, int nIDStaticPath, UINT uFiletype); __declspec(dllimport) int __stdcall DlgDirListComboBoxW( HWND hDlg, LPWSTR lpPathSpec, int nIDComboBox, int nIDStaticPath, UINT uFiletype); __declspec(dllimport) BOOL __stdcall DlgDirSelectComboBoxExA( HWND hwndDlg, LPSTR lpString, int cchOut, int idComboBox); __declspec(dllimport) BOOL __stdcall DlgDirSelectComboBoxExW( HWND hwndDlg, LPWSTR lpString, int cchOut, int idComboBox); #pragma endregion #pragma region Desktop Family typedef struct tagSCROLLINFO { UINT cbSize; UINT fMask; int nMin; int nMax; UINT nPage; int nPos; int nTrackPos; } SCROLLINFO, *LPSCROLLINFO; typedef SCROLLINFO const *LPCSCROLLINFO; __declspec(dllimport) int __stdcall SetScrollInfo( HWND hwnd, int nBar, LPCSCROLLINFO lpsi, BOOL redraw); __declspec(dllimport) BOOL __stdcall GetScrollInfo( HWND hwnd, int nBar, LPSCROLLINFO lpsi); #pragma endregion #pragma region Desktop Family typedef struct tagMDICREATESTRUCTA { LPCSTR szClass; LPCSTR szTitle; HANDLE hOwner; int x; int y; int cx; int cy; DWORD style; LPARAM lParam; } MDICREATESTRUCTA, *LPMDICREATESTRUCTA; typedef struct tagMDICREATESTRUCTW { LPCWSTR szClass; LPCWSTR szTitle; HANDLE hOwner; int x; int y; int cx; int cy; DWORD style; LPARAM lParam; } MDICREATESTRUCTW, *LPMDICREATESTRUCTW; typedef MDICREATESTRUCTW MDICREATESTRUCT; typedef LPMDICREATESTRUCTW LPMDICREATESTRUCT; typedef struct tagCLIENTCREATESTRUCT { HANDLE hWindowMenu; UINT idFirstChild; } CLIENTCREATESTRUCT, *LPCLIENTCREATESTRUCT; __declspec(dllimport) LRESULT __stdcall DefFrameProcA( HWND hWnd, HWND hWndMDIClient, UINT uMsg, WPARAM wParam, LPARAM lParam); __declspec(dllimport) LRESULT __stdcall DefFrameProcW( HWND hWnd, HWND hWndMDIClient, UINT uMsg, WPARAM wParam, LPARAM lParam); __declspec(dllimport) LRESULT __stdcall DefMDIChildProcA( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam); __declspec(dllimport) LRESULT __stdcall DefMDIChildProcW( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam); __declspec(dllimport) BOOL __stdcall TranslateMDISysAccel( HWND hWndClient, LPMSG lpMsg); __declspec(dllimport) UINT __stdcall ArrangeIconicWindows( HWND hWnd); __declspec(dllimport) HWND __stdcall CreateMDIWindowA( LPCSTR lpClassName, LPCSTR lpWindowName, DWORD dwStyle, int X, int Y, int nWidth, int nHeight, HWND hWndParent, HINSTANCE hInstance, LPARAM lParam); __declspec(dllimport) HWND __stdcall CreateMDIWindowW( LPCWSTR lpClassName, LPCWSTR lpWindowName, DWORD dwStyle, int X, int Y, int nWidth, int nHeight, HWND hWndParent, HINSTANCE hInstance, LPARAM lParam); __declspec(dllimport) WORD __stdcall TileWindows( HWND hwndParent, UINT wHow, const RECT * lpRect, UINT cKids, const HWND * lpKids); __declspec(dllimport) WORD __stdcall CascadeWindows( HWND hwndParent, UINT wHow, const RECT * lpRect, UINT cKids, const HWND * lpKids); #pragma endregion #pragma region Desktop Family typedef DWORD HELPPOLY; typedef struct tagMULTIKEYHELPA { DWORD mkSize; CHAR mkKeylist; CHAR szKeyphrase[1]; } MULTIKEYHELPA, *PMULTIKEYHELPA, *LPMULTIKEYHELPA; typedef struct tagMULTIKEYHELPW { DWORD mkSize; WCHAR mkKeylist; WCHAR szKeyphrase[1]; } MULTIKEYHELPW, *PMULTIKEYHELPW, *LPMULTIKEYHELPW; typedef MULTIKEYHELPW MULTIKEYHELP; typedef PMULTIKEYHELPW PMULTIKEYHELP; typedef LPMULTIKEYHELPW LPMULTIKEYHELP; typedef struct tagHELPWININFOA { int wStructSize; int x; int y; int dx; int dy; int wMax; CHAR rgchMember[2]; } HELPWININFOA, *PHELPWININFOA, *LPHELPWININFOA; typedef struct tagHELPWININFOW { int wStructSize; int x; int y; int dx; int dy; int wMax; WCHAR rgchMember[2]; } HELPWININFOW, *PHELPWININFOW, *LPHELPWININFOW; typedef HELPWININFOW HELPWININFO; typedef PHELPWININFOW PHELPWININFO; typedef LPHELPWININFOW LPHELPWININFO; __declspec(dllimport) BOOL __stdcall WinHelpA( HWND hWndMain, LPCSTR lpszHelp, UINT uCommand, ULONG_PTR dwData); __declspec(dllimport) BOOL __stdcall WinHelpW( HWND hWndMain, LPCWSTR lpszHelp, UINT uCommand, ULONG_PTR dwData); #pragma endregion #pragma region Desktop Family __declspec(dllimport) DWORD __stdcall GetGuiResources( HANDLE hProcess, DWORD uiFlags); #pragma endregion #pragma region Desktop Family #pragma endregion #pragma region Desktop Family typedef struct tagTouchPredictionParameters { UINT cbSize; UINT dwLatency; UINT dwSampleTime; UINT bUseHWTimeStamp; } TOUCHPREDICTIONPARAMETERS, *PTOUCHPREDICTIONPARAMETERS; #pragma endregion typedef enum tagHANDEDNESS { HANDEDNESS_LEFT = 0, HANDEDNESS_RIGHT } HANDEDNESS, *PHANDEDNESS; #pragma region Desktop Family typedef struct tagNONCLIENTMETRICSA { UINT cbSize; int iBorderWidth; int iScrollWidth; int iScrollHeight; int iCaptionWidth; int iCaptionHeight; LOGFONTA lfCaptionFont; int iSmCaptionWidth; int iSmCaptionHeight; LOGFONTA lfSmCaptionFont; int iMenuWidth; int iMenuHeight; LOGFONTA lfMenuFont; LOGFONTA lfStatusFont; LOGFONTA lfMessageFont; int iPaddedBorderWidth; } NONCLIENTMETRICSA, *PNONCLIENTMETRICSA, * LPNONCLIENTMETRICSA; typedef struct tagNONCLIENTMETRICSW { UINT cbSize; int iBorderWidth; int iScrollWidth; int iScrollHeight; int iCaptionWidth; int iCaptionHeight; LOGFONTW lfCaptionFont; int iSmCaptionWidth; int iSmCaptionHeight; LOGFONTW lfSmCaptionFont; int iMenuWidth; int iMenuHeight; LOGFONTW lfMenuFont; LOGFONTW lfStatusFont; LOGFONTW lfMessageFont; int iPaddedBorderWidth; } NONCLIENTMETRICSW, *PNONCLIENTMETRICSW, * LPNONCLIENTMETRICSW; typedef NONCLIENTMETRICSW NONCLIENTMETRICS; typedef PNONCLIENTMETRICSW PNONCLIENTMETRICS; typedef LPNONCLIENTMETRICSW LPNONCLIENTMETRICS; #pragma endregion #pragma region Desktop Family typedef struct tagMINIMIZEDMETRICS { UINT cbSize; int iWidth; int iHorzGap; int iVertGap; int iArrange; } MINIMIZEDMETRICS, *PMINIMIZEDMETRICS, *LPMINIMIZEDMETRICS; typedef struct tagICONMETRICSA { UINT cbSize; int iHorzSpacing; int iVertSpacing; int iTitleWrap; LOGFONTA lfFont; } ICONMETRICSA, *PICONMETRICSA, *LPICONMETRICSA; typedef struct tagICONMETRICSW { UINT cbSize; int iHorzSpacing; int iVertSpacing; int iTitleWrap; LOGFONTW lfFont; } ICONMETRICSW, *PICONMETRICSW, *LPICONMETRICSW; typedef ICONMETRICSW ICONMETRICS; typedef PICONMETRICSW PICONMETRICS; typedef LPICONMETRICSW LPICONMETRICS; typedef struct tagANIMATIONINFO { UINT cbSize; int iMinAnimate; } ANIMATIONINFO, *LPANIMATIONINFO; typedef struct tagSERIALKEYSA { UINT cbSize; DWORD dwFlags; LPSTR lpszActivePort; LPSTR lpszPort; UINT iBaudRate; UINT iPortState; UINT iActive; } SERIALKEYSA, *LPSERIALKEYSA; typedef struct tagSERIALKEYSW { UINT cbSize; DWORD dwFlags; LPWSTR lpszActivePort; LPWSTR lpszPort; UINT iBaudRate; UINT iPortState; UINT iActive; } SERIALKEYSW, *LPSERIALKEYSW; typedef SERIALKEYSW SERIALKEYS; typedef LPSERIALKEYSW LPSERIALKEYS; typedef struct tagHIGHCONTRASTA { UINT cbSize; DWORD dwFlags; LPSTR lpszDefaultScheme; } HIGHCONTRASTA, *LPHIGHCONTRASTA; typedef struct tagHIGHCONTRASTW { UINT cbSize; DWORD dwFlags; LPWSTR lpszDefaultScheme; } HIGHCONTRASTW, *LPHIGHCONTRASTW; typedef HIGHCONTRASTW HIGHCONTRAST; typedef LPHIGHCONTRASTW LPHIGHCONTRAST; #pragma endregion #pragma once #pragma region Desktop Family typedef struct _VIDEOPARAMETERS { GUID Guid; ULONG dwOffset; ULONG dwCommand; ULONG dwFlags; ULONG dwMode; ULONG dwTVStandard; ULONG dwAvailableModes; ULONG dwAvailableTVStandard; ULONG dwFlickerFilter; ULONG dwOverScanX; ULONG dwOverScanY; ULONG dwMaxUnscaledX; ULONG dwMaxUnscaledY; ULONG dwPositionX; ULONG dwPositionY; ULONG dwBrightness; ULONG dwContrast; ULONG dwCPType; ULONG dwCPCommand; ULONG dwCPStandard; ULONG dwCPKey; ULONG bCP_APSTriggerBits; UCHAR bOEMCopyProtection[256]; } VIDEOPARAMETERS, *PVIDEOPARAMETERS, *LPVIDEOPARAMETERS; #pragma endregion #pragma region Desktop Family __declspec(dllimport) LONG __stdcall ChangeDisplaySettingsA( DEVMODEA* lpDevMode, DWORD dwFlags); __declspec(dllimport) LONG __stdcall ChangeDisplaySettingsW( DEVMODEW* lpDevMode, DWORD dwFlags); __declspec(dllimport) LONG __stdcall ChangeDisplaySettingsExA( LPCSTR lpszDeviceName, DEVMODEA* lpDevMode, HWND hwnd, DWORD dwflags, LPVOID lParam); __declspec(dllimport) LONG __stdcall ChangeDisplaySettingsExW( LPCWSTR lpszDeviceName, DEVMODEW* lpDevMode, HWND hwnd, DWORD dwflags, LPVOID lParam); __declspec(dllimport) BOOL __stdcall EnumDisplaySettingsA( LPCSTR lpszDeviceName, DWORD iModeNum, DEVMODEA* lpDevMode); __declspec(dllimport) BOOL __stdcall EnumDisplaySettingsW( LPCWSTR lpszDeviceName, DWORD iModeNum, DEVMODEW* lpDevMode); __declspec(dllimport) BOOL __stdcall EnumDisplaySettingsExA( LPCSTR lpszDeviceName, DWORD iModeNum, DEVMODEA* lpDevMode, DWORD dwFlags); __declspec(dllimport) BOOL __stdcall EnumDisplaySettingsExW( LPCWSTR lpszDeviceName, DWORD iModeNum, DEVMODEW* lpDevMode, DWORD dwFlags); __declspec(dllimport) BOOL __stdcall EnumDisplayDevicesA( LPCSTR lpDevice, DWORD iDevNum, PDISPLAY_DEVICEA lpDisplayDevice, DWORD dwFlags); __declspec(dllimport) BOOL __stdcall EnumDisplayDevicesW( LPCWSTR lpDevice, DWORD iDevNum, PDISPLAY_DEVICEW lpDisplayDevice, DWORD dwFlags); __declspec(dllimport) LONG __stdcall GetDisplayConfigBufferSizes( UINT32 flags, UINT32* numPathArrayElements, UINT32* numModeInfoArrayElements); __declspec(dllimport) LONG __stdcall SetDisplayConfig( UINT32 numPathArrayElements, DISPLAYCONFIG_PATH_INFO* pathArray, UINT32 numModeInfoArrayElements, DISPLAYCONFIG_MODE_INFO* modeInfoArray, UINT32 flags); __declspec(dllimport) LONG __stdcall QueryDisplayConfig( UINT32 flags, UINT32* numPathArrayElements, DISPLAYCONFIG_PATH_INFO* pathArray, UINT32* numModeInfoArrayElements, DISPLAYCONFIG_MODE_INFO* modeInfoArray, DISPLAYCONFIG_TOPOLOGY_ID* currentTopologyId); __declspec(dllimport) LONG __stdcall DisplayConfigGetDeviceInfo( DISPLAYCONFIG_DEVICE_INFO_HEADER* requestPacket); __declspec(dllimport) LONG __stdcall DisplayConfigSetDeviceInfo( DISPLAYCONFIG_DEVICE_INFO_HEADER* setPacket); __declspec(dllimport) BOOL __stdcall SystemParametersInfoA( UINT uiAction, UINT uiParam, PVOID pvParam, UINT fWinIni); __declspec(dllimport) BOOL __stdcall SystemParametersInfoW( UINT uiAction, UINT uiParam, PVOID pvParam, UINT fWinIni); __declspec(dllimport) BOOL __stdcall SystemParametersInfoForDpi( UINT uiAction, UINT uiParam, PVOID pvParam, UINT fWinIni, UINT dpi); #pragma endregion #pragma region Desktop Family typedef struct tagFILTERKEYS { UINT cbSize; DWORD dwFlags; DWORD iWaitMSec; DWORD iDelayMSec; DWORD iRepeatMSec; DWORD iBounceMSec; } FILTERKEYS, *LPFILTERKEYS; #pragma endregion #pragma region Desktop Family typedef struct tagSTICKYKEYS { UINT cbSize; DWORD dwFlags; } STICKYKEYS, *LPSTICKYKEYS; #pragma endregion #pragma region Desktop Family typedef struct tagMOUSEKEYS { UINT cbSize; DWORD dwFlags; DWORD iMaxSpeed; DWORD iTimeToMaxSpeed; DWORD iCtrlSpeed; DWORD dwReserved1; DWORD dwReserved2; } MOUSEKEYS, *LPMOUSEKEYS; #pragma endregion #pragma region Desktop Family typedef struct tagACCESSTIMEOUT { UINT cbSize; DWORD dwFlags; DWORD iTimeOutMSec; } ACCESSTIMEOUT, *LPACCESSTIMEOUT; #pragma endregion #pragma region Desktop Family typedef struct tagSOUNDSENTRYA { UINT cbSize; DWORD dwFlags; DWORD iFSTextEffect; DWORD iFSTextEffectMSec; DWORD iFSTextEffectColorBits; DWORD iFSGrafEffect; DWORD iFSGrafEffectMSec; DWORD iFSGrafEffectColor; DWORD iWindowsEffect; DWORD iWindowsEffectMSec; LPSTR lpszWindowsEffectDLL; DWORD iWindowsEffectOrdinal; } SOUNDSENTRYA, *LPSOUNDSENTRYA; typedef struct tagSOUNDSENTRYW { UINT cbSize; DWORD dwFlags; DWORD iFSTextEffect; DWORD iFSTextEffectMSec; DWORD iFSTextEffectColorBits; DWORD iFSGrafEffect; DWORD iFSGrafEffectMSec; DWORD iFSGrafEffectColor; DWORD iWindowsEffect; DWORD iWindowsEffectMSec; LPWSTR lpszWindowsEffectDLL; DWORD iWindowsEffectOrdinal; } SOUNDSENTRYW, *LPSOUNDSENTRYW; typedef SOUNDSENTRYW SOUNDSENTRY; typedef LPSOUNDSENTRYW LPSOUNDSENTRY; #pragma endregion #pragma region Desktop or PC Family __declspec(dllimport) BOOL __stdcall SoundSentry(void); #pragma endregion #pragma region Desktop Family typedef struct tagTOGGLEKEYS { UINT cbSize; DWORD dwFlags; } TOGGLEKEYS, *LPTOGGLEKEYS; #pragma endregion #pragma region Desktop Family typedef struct tagAUDIODESCRIPTION { UINT cbSize; BOOL Enabled; LCID Locale; } AUDIODESCRIPTION, *LPAUDIODESCRIPTION; __declspec(dllimport) void __stdcall SetDebugErrorLevel( DWORD dwLevel); #pragma endregion #pragma region Desktop Family __declspec(dllimport) void __stdcall SetLastErrorEx( DWORD dwErrCode, DWORD dwType); __declspec(dllimport) int __stdcall InternalGetWindowText( HWND hWnd, LPWSTR pString, int cchMaxCount); __declspec(dllimport) BOOL __stdcall CancelShutdown( void); #pragma endregion #pragma region Desktop Family __declspec(dllimport) HMONITOR __stdcall MonitorFromPoint( POINT pt, DWORD dwFlags); __declspec(dllimport) HMONITOR __stdcall MonitorFromRect( LPCRECT lprc, DWORD dwFlags); __declspec(dllimport) HMONITOR __stdcall MonitorFromWindow( HWND hwnd, DWORD dwFlags); #pragma endregion #pragma region Desktop Family typedef struct tagMONITORINFO { DWORD cbSize; RECT rcMonitor; RECT rcWork; DWORD dwFlags; } MONITORINFO, *LPMONITORINFO; typedef struct tagMONITORINFOEXA : public tagMONITORINFO { CHAR szDevice[32]; } MONITORINFOEXA, *LPMONITORINFOEXA; typedef struct tagMONITORINFOEXW : public tagMONITORINFO { WCHAR szDevice[32]; } MONITORINFOEXW, *LPMONITORINFOEXW; typedef MONITORINFOEXW MONITORINFOEX; typedef LPMONITORINFOEXW LPMONITORINFOEX; __declspec(dllimport) BOOL __stdcall GetMonitorInfoA( HMONITOR hMonitor, LPMONITORINFO lpmi); __declspec(dllimport) BOOL __stdcall GetMonitorInfoW( HMONITOR hMonitor, LPMONITORINFO lpmi); typedef BOOL (__stdcall* MONITORENUMPROC)(HMONITOR, HDC, LPRECT, LPARAM); __declspec(dllimport) BOOL __stdcall EnumDisplayMonitors( HDC hdc, LPCRECT lprcClip, MONITORENUMPROC lpfnEnum, LPARAM dwData); #pragma endregion #pragma region Desktop Family __declspec(dllimport) void __stdcall NotifyWinEvent( DWORD event, HWND hwnd, LONG idObject, LONG idChild); typedef void (__stdcall* WINEVENTPROC)( HWINEVENTHOOK hWinEventHook, DWORD event, HWND hwnd, LONG idObject, LONG idChild, DWORD idEventThread, DWORD dwmsEventTime); __declspec(dllimport) HWINEVENTHOOK __stdcall SetWinEventHook( DWORD eventMin, DWORD eventMax, HMODULE hmodWinEventProc, WINEVENTPROC pfnWinEventProc, DWORD idProcess, DWORD idThread, DWORD dwFlags); __declspec(dllimport) BOOL __stdcall IsWinEventHookInstalled( DWORD event); #pragma endregion #pragma region Desktop Family __declspec(dllimport) BOOL __stdcall UnhookWinEvent( HWINEVENTHOOK hWinEventHook); #pragma endregion #pragma region Desktop Family typedef struct tagGUITHREADINFO { DWORD cbSize; DWORD flags; HWND hwndActive; HWND hwndFocus; HWND hwndCapture; HWND hwndMenuOwner; HWND hwndMoveSize; HWND hwndCaret; RECT rcCaret; } GUITHREADINFO, *PGUITHREADINFO, * LPGUITHREADINFO; #pragma endregion #pragma region Desktop Family __declspec(dllimport) BOOL __stdcall GetGUIThreadInfo( DWORD idThread, PGUITHREADINFO pgui); __declspec(dllimport) BOOL __stdcall BlockInput( BOOL fBlockIt); __declspec(dllimport) BOOL __stdcall SetProcessDPIAware( void); __declspec(dllimport) BOOL __stdcall IsProcessDPIAware( void); __declspec(dllimport) DPI_AWARENESS_CONTEXT __stdcall SetThreadDpiAwarenessContext( DPI_AWARENESS_CONTEXT dpiContext); __declspec(dllimport) DPI_AWARENESS_CONTEXT __stdcall GetThreadDpiAwarenessContext( void); __declspec(dllimport) DPI_AWARENESS_CONTEXT __stdcall GetWindowDpiAwarenessContext( HWND hwnd); __declspec(dllimport) DPI_AWARENESS __stdcall GetAwarenessFromDpiAwarenessContext( DPI_AWARENESS_CONTEXT value); __declspec(dllimport) UINT __stdcall GetDpiFromDpiAwarenessContext( DPI_AWARENESS_CONTEXT value); __declspec(dllimport) BOOL __stdcall AreDpiAwarenessContextsEqual( DPI_AWARENESS_CONTEXT dpiContextA, DPI_AWARENESS_CONTEXT dpiContextB); __declspec(dllimport) BOOL __stdcall IsValidDpiAwarenessContext( DPI_AWARENESS_CONTEXT value); __declspec(dllimport) UINT __stdcall GetDpiForWindow( HWND hwnd); __declspec(dllimport) UINT __stdcall GetDpiForSystem( void); __declspec(dllimport) UINT __stdcall GetSystemDpiForProcess( HANDLE hProcess); __declspec(dllimport) BOOL __stdcall EnableNonClientDpiScaling( HWND hwnd); __declspec(dllimport) BOOL __stdcall InheritWindowMonitor( HWND hwnd, HWND hwndInherit); __declspec(dllimport) BOOL __stdcall SetProcessDpiAwarenessContext( DPI_AWARENESS_CONTEXT value); __declspec(dllimport) DPI_AWARENESS_CONTEXT __stdcall GetDpiAwarenessContextForProcess( HANDLE hProcess); __declspec(dllimport) DPI_HOSTING_BEHAVIOR __stdcall SetThreadDpiHostingBehavior( DPI_HOSTING_BEHAVIOR value); __declspec(dllimport) DPI_HOSTING_BEHAVIOR __stdcall GetThreadDpiHostingBehavior(void); __declspec(dllimport) DPI_HOSTING_BEHAVIOR __stdcall GetWindowDpiHostingBehavior( HWND hwnd); __declspec(dllimport) UINT __stdcall GetWindowModuleFileNameA( HWND hwnd, LPSTR pszFileName, UINT cchFileNameMax); __declspec(dllimport) UINT __stdcall GetWindowModuleFileNameW( HWND hwnd, LPWSTR pszFileName, UINT cchFileNameMax); #pragma endregion #pragma region Desktop Family or Games Family typedef struct tagCURSORINFO { DWORD cbSize; DWORD flags; HCURSOR hCursor; POINT ptScreenPos; } CURSORINFO, *PCURSORINFO, *LPCURSORINFO; __declspec(dllimport) BOOL __stdcall GetCursorInfo( PCURSORINFO pci); #pragma endregion #pragma region Desktop Family typedef struct tagWINDOWINFO { DWORD cbSize; RECT rcWindow; RECT rcClient; DWORD dwStyle; DWORD dwExStyle; DWORD dwWindowStatus; UINT cxWindowBorders; UINT cyWindowBorders; ATOM atomWindowType; WORD wCreatorVersion; } WINDOWINFO, *PWINDOWINFO, *LPWINDOWINFO; __declspec(dllimport) BOOL __stdcall GetWindowInfo( HWND hwnd, PWINDOWINFO pwi); typedef struct tagTITLEBARINFO { DWORD cbSize; RECT rcTitleBar; DWORD rgstate[5 + 1]; } TITLEBARINFO, *PTITLEBARINFO, *LPTITLEBARINFO; __declspec(dllimport) BOOL __stdcall GetTitleBarInfo( HWND hwnd, PTITLEBARINFO pti); typedef struct tagTITLEBARINFOEX { DWORD cbSize; RECT rcTitleBar; DWORD rgstate[5 + 1]; RECT rgrect[5 + 1]; } TITLEBARINFOEX, *PTITLEBARINFOEX, *LPTITLEBARINFOEX; typedef struct tagMENUBARINFO { DWORD cbSize; RECT rcBar; HMENU hMenu; HWND hwndMenu; BOOL fBarFocused:1; BOOL fFocused:1; } MENUBARINFO, *PMENUBARINFO, *LPMENUBARINFO; __declspec(dllimport) BOOL __stdcall GetMenuBarInfo( HWND hwnd, LONG idObject, LONG idItem, PMENUBARINFO pmbi); typedef struct tagSCROLLBARINFO { DWORD cbSize; RECT rcScrollBar; int dxyLineButton; int xyThumbTop; int xyThumbBottom; int reserved; DWORD rgstate[5 + 1]; } SCROLLBARINFO, *PSCROLLBARINFO, *LPSCROLLBARINFO; __declspec(dllimport) BOOL __stdcall GetScrollBarInfo( HWND hwnd, LONG idObject, PSCROLLBARINFO psbi); typedef struct tagCOMBOBOXINFO { DWORD cbSize; RECT rcItem; RECT rcButton; DWORD stateButton; HWND hwndCombo; HWND hwndItem; HWND hwndList; } COMBOBOXINFO, *PCOMBOBOXINFO, *LPCOMBOBOXINFO; __declspec(dllimport) BOOL __stdcall GetComboBoxInfo( HWND hwndCombo, PCOMBOBOXINFO pcbi); #pragma endregion #pragma region Desktop Family __declspec(dllimport) HWND __stdcall GetAncestor( HWND hwnd, UINT gaFlags); __declspec(dllimport) HWND __stdcall RealChildWindowFromPoint( HWND hwndParent, POINT ptParentClientCoords); __declspec(dllimport) UINT __stdcall RealGetWindowClassA( HWND hwnd, LPSTR ptszClassName, UINT cchClassNameMax); __declspec(dllimport) UINT __stdcall RealGetWindowClassW( HWND hwnd, LPWSTR ptszClassName, UINT cchClassNameMax); typedef struct tagALTTABINFO { DWORD cbSize; int cItems; int cColumns; int cRows; int iColFocus; int iRowFocus; int cxItem; int cyItem; POINT ptStart; } ALTTABINFO, *PALTTABINFO, *LPALTTABINFO; __declspec(dllimport) BOOL __stdcall GetAltTabInfoA( HWND hwnd, int iItem, PALTTABINFO pati, LPSTR pszItemText, UINT cchItemText); __declspec(dllimport) BOOL __stdcall GetAltTabInfoW( HWND hwnd, int iItem, PALTTABINFO pati, LPWSTR pszItemText, UINT cchItemText); __declspec(dllimport) DWORD __stdcall GetListBoxInfo( HWND hwnd); #pragma endregion #pragma region Desktop Family __declspec(dllimport) BOOL __stdcall LockWorkStation( void); __declspec(dllimport) BOOL __stdcall UserHandleGrantAccess( HANDLE hUserHandle, HANDLE hJob, BOOL bGrant); #pragma endregion #pragma region Desktop Family struct HRAWINPUT__{int unused;}; typedef struct HRAWINPUT__ *HRAWINPUT; #pragma endregion #pragma region Desktop Family typedef struct tagRAWINPUTHEADER { DWORD dwType; DWORD dwSize; HANDLE hDevice; WPARAM wParam; } RAWINPUTHEADER, *PRAWINPUTHEADER, *LPRAWINPUTHEADER; #pragma endregion #pragma region Desktop Family #pragma warning(push) #pragma warning(disable : 4201) typedef struct tagRAWMOUSE { USHORT usFlags; union { ULONG ulButtons; struct { USHORT usButtonFlags; USHORT usButtonData; } ; } ; ULONG ulRawButtons; LONG lLastX; LONG lLastY; ULONG ulExtraInformation; } RAWMOUSE, *PRAWMOUSE, *LPRAWMOUSE; #pragma warning(pop) #pragma endregion #pragma region Desktop Family typedef struct tagRAWKEYBOARD { USHORT MakeCode; USHORT Flags; USHORT Reserved; USHORT VKey; UINT Message; ULONG ExtraInformation; } RAWKEYBOARD, *PRAWKEYBOARD, *LPRAWKEYBOARD; #pragma endregion #pragma region Desktop Family typedef struct tagRAWHID { DWORD dwSizeHid; DWORD dwCount; BYTE bRawData[1]; } RAWHID, *PRAWHID, *LPRAWHID; #pragma endregion #pragma region Desktop Family typedef struct tagRAWINPUT { RAWINPUTHEADER header; union { RAWMOUSE mouse; RAWKEYBOARD keyboard; RAWHID hid; } data; } RAWINPUT, *PRAWINPUT, *LPRAWINPUT; #pragma endregion #pragma region Desktop Family __declspec(dllimport) UINT __stdcall GetRawInputData( HRAWINPUT hRawInput, UINT uiCommand, LPVOID pData, PUINT pcbSize, UINT cbSizeHeader); #pragma endregion #pragma region Desktop Family typedef struct tagRID_DEVICE_INFO_MOUSE { DWORD dwId; DWORD dwNumberOfButtons; DWORD dwSampleRate; BOOL fHasHorizontalWheel; } RID_DEVICE_INFO_MOUSE, *PRID_DEVICE_INFO_MOUSE; typedef struct tagRID_DEVICE_INFO_KEYBOARD { DWORD dwType; DWORD dwSubType; DWORD dwKeyboardMode; DWORD dwNumberOfFunctionKeys; DWORD dwNumberOfIndicators; DWORD dwNumberOfKeysTotal; } RID_DEVICE_INFO_KEYBOARD, *PRID_DEVICE_INFO_KEYBOARD; typedef struct tagRID_DEVICE_INFO_HID { DWORD dwVendorId; DWORD dwProductId; DWORD dwVersionNumber; USHORT usUsagePage; USHORT usUsage; } RID_DEVICE_INFO_HID, *PRID_DEVICE_INFO_HID; typedef struct tagRID_DEVICE_INFO { DWORD cbSize; DWORD dwType; union { RID_DEVICE_INFO_MOUSE mouse; RID_DEVICE_INFO_KEYBOARD keyboard; RID_DEVICE_INFO_HID hid; } ; } RID_DEVICE_INFO, *PRID_DEVICE_INFO, *LPRID_DEVICE_INFO; __declspec(dllimport) UINT __stdcall GetRawInputDeviceInfoA( HANDLE hDevice, UINT uiCommand, LPVOID pData, PUINT pcbSize); __declspec(dllimport) UINT __stdcall GetRawInputDeviceInfoW( HANDLE hDevice, UINT uiCommand, LPVOID pData, PUINT pcbSize); __declspec(dllimport) UINT __stdcall GetRawInputBuffer( PRAWINPUT pData, PUINT pcbSize, UINT cbSizeHeader); typedef struct tagRAWINPUTDEVICE { USHORT usUsagePage; USHORT usUsage; DWORD dwFlags; HWND hwndTarget; } RAWINPUTDEVICE, *PRAWINPUTDEVICE, *LPRAWINPUTDEVICE; typedef const RAWINPUTDEVICE* PCRAWINPUTDEVICE; #pragma endregion #pragma region Desktop Family __declspec(dllimport) BOOL __stdcall RegisterRawInputDevices( PCRAWINPUTDEVICE pRawInputDevices, UINT uiNumDevices, UINT cbSize); __declspec(dllimport) UINT __stdcall GetRegisteredRawInputDevices( PRAWINPUTDEVICE pRawInputDevices, PUINT puiNumDevices, UINT cbSize); typedef struct tagRAWINPUTDEVICELIST { HANDLE hDevice; DWORD dwType; } RAWINPUTDEVICELIST, *PRAWINPUTDEVICELIST; __declspec(dllimport) UINT __stdcall GetRawInputDeviceList( PRAWINPUTDEVICELIST pRawInputDeviceList, PUINT puiNumDevices, UINT cbSize); __declspec(dllimport) LRESULT __stdcall DefRawInputProc( PRAWINPUT* paRawInput, INT nInput, UINT cbSizeHeader); #pragma endregion #pragma region Desktop Family typedef enum tagPOINTER_DEVICE_TYPE { POINTER_DEVICE_TYPE_INTEGRATED_PEN = 0x00000001, POINTER_DEVICE_TYPE_EXTERNAL_PEN = 0x00000002, POINTER_DEVICE_TYPE_TOUCH = 0x00000003, POINTER_DEVICE_TYPE_TOUCH_PAD = 0x00000004, POINTER_DEVICE_TYPE_MAX = 0xFFFFFFFF } POINTER_DEVICE_TYPE; typedef struct tagPOINTER_DEVICE_INFO { DWORD displayOrientation; HANDLE device; POINTER_DEVICE_TYPE pointerDeviceType; HMONITOR monitor; ULONG startingCursorId; USHORT maxActiveContacts; WCHAR productString[520]; } POINTER_DEVICE_INFO; typedef struct tagPOINTER_DEVICE_PROPERTY { INT32 logicalMin; INT32 logicalMax; INT32 physicalMin; INT32 physicalMax; UINT32 unit; UINT32 unitExponent; USHORT usagePageId; USHORT usageId; } POINTER_DEVICE_PROPERTY; typedef enum tagPOINTER_DEVICE_CURSOR_TYPE { POINTER_DEVICE_CURSOR_TYPE_UNKNOWN = 0x00000000, POINTER_DEVICE_CURSOR_TYPE_TIP = 0x00000001, POINTER_DEVICE_CURSOR_TYPE_ERASER = 0x00000002, POINTER_DEVICE_CURSOR_TYPE_MAX = 0xFFFFFFFF } POINTER_DEVICE_CURSOR_TYPE; typedef struct tagPOINTER_DEVICE_CURSOR_INFO { UINT32 cursorId; POINTER_DEVICE_CURSOR_TYPE cursor; } POINTER_DEVICE_CURSOR_INFO; __declspec(dllimport) BOOL __stdcall GetPointerDevices( UINT32* deviceCount, POINTER_DEVICE_INFO *pointerDevices); __declspec(dllimport) BOOL __stdcall GetPointerDevice( HANDLE device, POINTER_DEVICE_INFO *pointerDevice); __declspec(dllimport) BOOL __stdcall GetPointerDeviceProperties( HANDLE device, UINT32* propertyCount, POINTER_DEVICE_PROPERTY *pointerProperties); __declspec(dllimport) BOOL __stdcall RegisterPointerDeviceNotifications( HWND window, BOOL notifyRange); __declspec(dllimport) BOOL __stdcall GetPointerDeviceRects( HANDLE device, RECT* pointerDeviceRect, RECT* displayRect); __declspec(dllimport) BOOL __stdcall GetPointerDeviceCursors( HANDLE device, UINT32* cursorCount, POINTER_DEVICE_CURSOR_INFO *deviceCursors); __declspec(dllimport) BOOL __stdcall GetRawPointerDeviceData( UINT32 pointerId, UINT32 historyCount, UINT32 propertiesCount, POINTER_DEVICE_PROPERTY* pProperties, LONG* pValues); #pragma endregion #pragma region Desktop Family __declspec(dllimport) BOOL __stdcall ChangeWindowMessageFilter( UINT message, DWORD dwFlag); #pragma endregion #pragma region Desktop Family typedef struct tagCHANGEFILTERSTRUCT { DWORD cbSize; DWORD ExtStatus; } CHANGEFILTERSTRUCT, *PCHANGEFILTERSTRUCT; #pragma endregion #pragma region Desktop Family __declspec(dllimport) BOOL __stdcall ChangeWindowMessageFilterEx( HWND hwnd, UINT message, DWORD action, PCHANGEFILTERSTRUCT pChangeFilterStruct); #pragma endregion #pragma region Desktop Family struct HGESTUREINFO__{int unused;}; typedef struct HGESTUREINFO__ *HGESTUREINFO; #pragma endregion #pragma region Desktop Family typedef struct tagGESTUREINFO { UINT cbSize; DWORD dwFlags; DWORD dwID; HWND hwndTarget; POINTS ptsLocation; DWORD dwInstanceID; DWORD dwSequenceID; ULONGLONG ullArguments; UINT cbExtraArgs; } GESTUREINFO, *PGESTUREINFO; typedef GESTUREINFO const * PCGESTUREINFO; typedef struct tagGESTURENOTIFYSTRUCT { UINT cbSize; DWORD dwFlags; HWND hwndTarget; POINTS ptsLocation; DWORD dwInstanceID; } GESTURENOTIFYSTRUCT, *PGESTURENOTIFYSTRUCT; __declspec(dllimport) BOOL __stdcall GetGestureInfo( HGESTUREINFO hGestureInfo, PGESTUREINFO pGestureInfo); __declspec(dllimport) BOOL __stdcall GetGestureExtraArgs( HGESTUREINFO hGestureInfo, UINT cbExtraArgs, PBYTE pExtraArgs); __declspec(dllimport) BOOL __stdcall CloseGestureInfoHandle( HGESTUREINFO hGestureInfo); typedef struct tagGESTURECONFIG { DWORD dwID; DWORD dwWant; DWORD dwBlock; } GESTURECONFIG, *PGESTURECONFIG; #pragma endregion #pragma region Desktop Family __declspec(dllimport) BOOL __stdcall SetGestureConfig( HWND hwnd, DWORD dwReserved, UINT cIDs, PGESTURECONFIG pGestureConfig, UINT cbSize); __declspec(dllimport) BOOL __stdcall GetGestureConfig( HWND hwnd, DWORD dwReserved, DWORD dwFlags, PUINT pcIDs, PGESTURECONFIG pGestureConfig, UINT cbSize); #pragma endregion #pragma region Desktop Family __declspec(dllimport) BOOL __stdcall ShutdownBlockReasonCreate( HWND hWnd, LPCWSTR pwszReason); __declspec(dllimport) BOOL __stdcall ShutdownBlockReasonQuery( HWND hWnd, LPWSTR pwszBuff, DWORD *pcchBuff); __declspec(dllimport) BOOL __stdcall ShutdownBlockReasonDestroy( HWND hWnd); #pragma endregion #pragma region Desktop Family typedef enum tagINPUT_MESSAGE_DEVICE_TYPE { IMDT_UNAVAILABLE = 0x00000000, IMDT_KEYBOARD = 0x00000001, IMDT_MOUSE = 0x00000002, IMDT_TOUCH = 0x00000004, IMDT_PEN = 0x00000008, IMDT_TOUCHPAD = 0x00000010, } INPUT_MESSAGE_DEVICE_TYPE; typedef enum tagINPUT_MESSAGE_ORIGIN_ID { IMO_UNAVAILABLE = 0x00000000, IMO_HARDWARE = 0x00000001, IMO_INJECTED = 0x00000002, IMO_SYSTEM = 0x00000004, } INPUT_MESSAGE_ORIGIN_ID; typedef struct tagINPUT_MESSAGE_SOURCE { INPUT_MESSAGE_DEVICE_TYPE deviceType; INPUT_MESSAGE_ORIGIN_ID originId; } INPUT_MESSAGE_SOURCE; __declspec(dllimport) BOOL __stdcall GetCurrentInputMessageSource( INPUT_MESSAGE_SOURCE *inputMessageSource); __declspec(dllimport) BOOL __stdcall GetCIMSSM( INPUT_MESSAGE_SOURCE *inputMessageSource); #pragma endregion #pragma region Application Family or OneCore Family or Games Family typedef enum tagAR_STATE { AR_ENABLED = 0x0, AR_DISABLED = 0x1, AR_SUPPRESSED = 0x2, AR_REMOTESESSION = 0x4, AR_MULTIMON = 0x8, AR_NOSENSOR = 0x10, AR_NOT_SUPPORTED = 0x20, AR_DOCKED = 0x40, AR_LAPTOP = 0x80 } AR_STATE, *PAR_STATE; #pragma endregion extern "C++" { inline constexpr AR_STATE operator | (AR_STATE a, AR_STATE b) throw() { return AR_STATE(((_ENUM_FLAG_SIZED_INTEGER::type)a) | ((_ENUM_FLAG_SIZED_INTEGER::type)b)); } inline AR_STATE &operator |= (AR_STATE &a, AR_STATE b) throw() { return (AR_STATE &)(((_ENUM_FLAG_SIZED_INTEGER::type &)a) |= ((_ENUM_FLAG_SIZED_INTEGER::type)b)); } inline constexpr AR_STATE operator & (AR_STATE a, AR_STATE b) throw() { return AR_STATE(((_ENUM_FLAG_SIZED_INTEGER::type)a) & ((_ENUM_FLAG_SIZED_INTEGER::type)b)); } inline AR_STATE &operator &= (AR_STATE &a, AR_STATE b) throw() { return (AR_STATE &)(((_ENUM_FLAG_SIZED_INTEGER::type &)a) &= ((_ENUM_FLAG_SIZED_INTEGER::type)b)); } inline constexpr AR_STATE operator ~ (AR_STATE a) throw() { return AR_STATE(~((_ENUM_FLAG_SIZED_INTEGER::type)a)); } inline constexpr AR_STATE operator ^ (AR_STATE a, AR_STATE b) throw() { return AR_STATE(((_ENUM_FLAG_SIZED_INTEGER::type)a) ^ ((_ENUM_FLAG_SIZED_INTEGER::type)b)); } inline AR_STATE &operator ^= (AR_STATE &a, AR_STATE b) throw() { return (AR_STATE &)(((_ENUM_FLAG_SIZED_INTEGER::type &)a) ^= ((_ENUM_FLAG_SIZED_INTEGER::type)b)); } } #pragma region Desktop Family typedef enum ORIENTATION_PREFERENCE { ORIENTATION_PREFERENCE_NONE = 0x0, ORIENTATION_PREFERENCE_LANDSCAPE = 0x1, ORIENTATION_PREFERENCE_PORTRAIT = 0x2, ORIENTATION_PREFERENCE_LANDSCAPE_FLIPPED = 0x4, ORIENTATION_PREFERENCE_PORTRAIT_FLIPPED = 0x8 } ORIENTATION_PREFERENCE; extern "C++" { inline constexpr ORIENTATION_PREFERENCE operator | (ORIENTATION_PREFERENCE a, ORIENTATION_PREFERENCE b) throw() { return ORIENTATION_PREFERENCE(((_ENUM_FLAG_SIZED_INTEGER::type)a) | ((_ENUM_FLAG_SIZED_INTEGER::type)b)); } inline ORIENTATION_PREFERENCE &operator |= (ORIENTATION_PREFERENCE &a, ORIENTATION_PREFERENCE b) throw() { return (ORIENTATION_PREFERENCE &)(((_ENUM_FLAG_SIZED_INTEGER::type &)a) |= ((_ENUM_FLAG_SIZED_INTEGER::type)b)); } inline constexpr ORIENTATION_PREFERENCE operator & (ORIENTATION_PREFERENCE a, ORIENTATION_PREFERENCE b) throw() { return ORIENTATION_PREFERENCE(((_ENUM_FLAG_SIZED_INTEGER::type)a) & ((_ENUM_FLAG_SIZED_INTEGER::type)b)); } inline ORIENTATION_PREFERENCE &operator &= (ORIENTATION_PREFERENCE &a, ORIENTATION_PREFERENCE b) throw() { return (ORIENTATION_PREFERENCE &)(((_ENUM_FLAG_SIZED_INTEGER::type &)a) &= ((_ENUM_FLAG_SIZED_INTEGER::type)b)); } inline constexpr ORIENTATION_PREFERENCE operator ~ (ORIENTATION_PREFERENCE a) throw() { return ORIENTATION_PREFERENCE(~((_ENUM_FLAG_SIZED_INTEGER::type)a)); } inline constexpr ORIENTATION_PREFERENCE operator ^ (ORIENTATION_PREFERENCE a, ORIENTATION_PREFERENCE b) throw() { return ORIENTATION_PREFERENCE(((_ENUM_FLAG_SIZED_INTEGER::type)a) ^ ((_ENUM_FLAG_SIZED_INTEGER::type)b)); } inline ORIENTATION_PREFERENCE &operator ^= (ORIENTATION_PREFERENCE &a, ORIENTATION_PREFERENCE b) throw() { return (ORIENTATION_PREFERENCE &)(((_ENUM_FLAG_SIZED_INTEGER::type &)a) ^= ((_ENUM_FLAG_SIZED_INTEGER::type)b)); } } __declspec(dllimport) BOOL __stdcall GetAutoRotationState( PAR_STATE pState); __declspec(dllimport) BOOL __stdcall GetDisplayAutoRotationPreferences( ORIENTATION_PREFERENCE *pOrientation); __declspec(dllimport) BOOL __stdcall GetDisplayAutoRotationPreferencesByProcessId( DWORD dwProcessId, ORIENTATION_PREFERENCE *pOrientation, BOOL *fRotateScreen); __declspec(dllimport) BOOL __stdcall SetDisplayAutoRotationPreferences( ORIENTATION_PREFERENCE orientation); #pragma endregion #pragma region Desktop Family __declspec(dllimport) BOOL __stdcall IsImmersiveProcess( HANDLE hProcess); __declspec(dllimport) BOOL __stdcall SetProcessRestrictionExemption( BOOL fEnableExemption); #pragma endregion #pragma region Desktop Family #pragma warning(pop) } extern "C" { #pragma once extern "C" { #pragma region Desktop Family or OneCore or Games Family __declspec(dllimport) int __stdcall GetDateFormatA( LCID Locale, DWORD dwFlags, const SYSTEMTIME* lpDate, LPCSTR lpFormat, LPSTR lpDateStr, int cchDate ); __declspec(dllimport) int __stdcall GetDateFormatW( LCID Locale, DWORD dwFlags, const SYSTEMTIME* lpDate, LPCWSTR lpFormat, LPWSTR lpDateStr, int cchDate ); __declspec(dllimport) int __stdcall GetTimeFormatA( LCID Locale, DWORD dwFlags, const SYSTEMTIME* lpTime, LPCSTR lpFormat, LPSTR lpTimeStr, int cchTime ); __declspec(dllimport) int __stdcall GetTimeFormatW( LCID Locale, DWORD dwFlags, const SYSTEMTIME* lpTime, LPCWSTR lpFormat, LPWSTR lpTimeStr, int cchTime ); #pragma endregion #pragma region Application Family or OneCore or Games Family __declspec(dllimport) int __stdcall GetTimeFormatEx( LPCWSTR lpLocaleName, DWORD dwFlags, const SYSTEMTIME* lpTime, LPCWSTR lpFormat, LPWSTR lpTimeStr, int cchTime ); __declspec(dllimport) int __stdcall GetDateFormatEx( LPCWSTR lpLocaleName, DWORD dwFlags, const SYSTEMTIME* lpDate, LPCWSTR lpFormat, LPWSTR lpDateStr, int cchDate, LPCWSTR lpCalendar ); #pragma endregion #pragma region Desktop Family or OneCore Family __declspec(dllimport) int __stdcall GetDurationFormatEx( LPCWSTR lpLocaleName, DWORD dwFlags, const SYSTEMTIME* lpDuration, ULONGLONG ullDuration, LPCWSTR lpFormat, LPWSTR lpDurationStr, int cchDuration ); #pragma endregion } #pragma warning(push) #pragma warning(disable:4820) #pragma region Application Family or OneCore or Games Family typedef DWORD LGRPID; typedef DWORD LCTYPE; typedef DWORD CALTYPE; typedef DWORD CALID; typedef struct _cpinfo { UINT MaxCharSize; BYTE DefaultChar[2]; BYTE LeadByte[12]; } CPINFO, *LPCPINFO; typedef DWORD GEOTYPE; typedef DWORD GEOCLASS; typedef LONG GEOID; #pragma endregion #pragma region Application Family or OneCore Family or Games Family typedef struct _cpinfoexA { UINT MaxCharSize; BYTE DefaultChar[2]; BYTE LeadByte[12]; WCHAR UnicodeDefaultChar; UINT CodePage; CHAR CodePageName[260]; } CPINFOEXA, *LPCPINFOEXA; typedef struct _cpinfoexW { UINT MaxCharSize; BYTE DefaultChar[2]; BYTE LeadByte[12]; WCHAR UnicodeDefaultChar; UINT CodePage; WCHAR CodePageName[260]; } CPINFOEXW, *LPCPINFOEXW; typedef CPINFOEXW CPINFOEX; typedef LPCPINFOEXW LPCPINFOEX; #pragma endregion #pragma region Application Family or OneCore or Games Family typedef struct _numberfmtA { UINT NumDigits; UINT LeadingZero; UINT Grouping; LPSTR lpDecimalSep; LPSTR lpThousandSep; UINT NegativeOrder; } NUMBERFMTA, *LPNUMBERFMTA; typedef struct _numberfmtW { UINT NumDigits; UINT LeadingZero; UINT Grouping; LPWSTR lpDecimalSep; LPWSTR lpThousandSep; UINT NegativeOrder; } NUMBERFMTW, *LPNUMBERFMTW; typedef NUMBERFMTW NUMBERFMT; typedef LPNUMBERFMTW LPNUMBERFMT; typedef struct _currencyfmtA { UINT NumDigits; UINT LeadingZero; UINT Grouping; LPSTR lpDecimalSep; LPSTR lpThousandSep; UINT NegativeOrder; UINT PositiveOrder; LPSTR lpCurrencySymbol; } CURRENCYFMTA, *LPCURRENCYFMTA; typedef struct _currencyfmtW { UINT NumDigits; UINT LeadingZero; UINT Grouping; LPWSTR lpDecimalSep; LPWSTR lpThousandSep; UINT NegativeOrder; UINT PositiveOrder; LPWSTR lpCurrencySymbol; } CURRENCYFMTW, *LPCURRENCYFMTW; typedef CURRENCYFMTW CURRENCYFMT; typedef LPCURRENCYFMTW LPCURRENCYFMT; #pragma endregion #pragma region Application Family or OneCore Family enum SYSNLS_FUNCTION{ COMPARE_STRING = 0x0001, }; typedef DWORD NLS_FUNCTION; #pragma endregion #pragma region Application Family or OneCore or Games Family typedef struct _nlsversioninfo{ DWORD dwNLSVersionInfoSize; DWORD dwNLSVersion; DWORD dwDefinedVersion; DWORD dwEffectiveId; GUID guidCustomVersion; } NLSVERSIONINFO, *LPNLSVERSIONINFO; #pragma endregion #pragma region Application Family or OneCore or Games Family typedef struct _nlsversioninfoex{ DWORD dwNLSVersionInfoSize; DWORD dwNLSVersion; DWORD dwDefinedVersion; DWORD dwEffectiveId; GUID guidCustomVersion; } NLSVERSIONINFOEX, *LPNLSVERSIONINFOEX; enum SYSGEOTYPE { GEO_NATION = 0x0001, GEO_LATITUDE = 0x0002, GEO_LONGITUDE = 0x0003, GEO_ISO2 = 0x0004, GEO_ISO3 = 0x0005, GEO_RFC1766 = 0x0006, GEO_LCID = 0x0007, GEO_FRIENDLYNAME= 0x0008, GEO_OFFICIALNAME= 0x0009, GEO_TIMEZONES = 0x000A, GEO_OFFICIALLANGUAGES = 0x000B, GEO_ISO_UN_NUMBER = 0x000C, GEO_PARENT = 0x000D, GEO_DIALINGCODE = 0x000E, GEO_CURRENCYCODE= 0x000F, GEO_CURRENCYSYMBOL= 0x0010, GEO_NAME = 0x0011, GEO_ID = 0x0012 }; enum SYSGEOCLASS { GEOCLASS_NATION = 16, GEOCLASS_REGION = 14, GEOCLASS_ALL = 0 }; typedef BOOL (__stdcall* LOCALE_ENUMPROCA)(LPSTR); typedef BOOL (__stdcall* LOCALE_ENUMPROCW)(LPWSTR); #pragma endregion #pragma region Desktop Family or OneCore Family typedef enum _NORM_FORM { NormalizationOther = 0, NormalizationC = 0x1, NormalizationD = 0x2, NormalizationKC = 0x5, NormalizationKD = 0x6 } NORM_FORM; typedef BOOL (__stdcall* LANGUAGEGROUP_ENUMPROCA)(LGRPID, LPSTR, LPSTR, DWORD, LONG_PTR); typedef BOOL (__stdcall* LANGGROUPLOCALE_ENUMPROCA)(LGRPID, LCID, LPSTR, LONG_PTR); typedef BOOL (__stdcall* UILANGUAGE_ENUMPROCA)(LPSTR, LONG_PTR); typedef BOOL (__stdcall* CODEPAGE_ENUMPROCA)(LPSTR); typedef BOOL (__stdcall* DATEFMT_ENUMPROCA)(LPSTR); typedef BOOL (__stdcall* DATEFMT_ENUMPROCEXA)(LPSTR, CALID); typedef BOOL (__stdcall* TIMEFMT_ENUMPROCA)(LPSTR); typedef BOOL (__stdcall* CALINFO_ENUMPROCA)(LPSTR); typedef BOOL (__stdcall* CALINFO_ENUMPROCEXA)(LPSTR, CALID); typedef BOOL (__stdcall* LANGUAGEGROUP_ENUMPROCW)(LGRPID, LPWSTR, LPWSTR, DWORD, LONG_PTR); typedef BOOL (__stdcall* LANGGROUPLOCALE_ENUMPROCW)(LGRPID, LCID, LPWSTR, LONG_PTR); typedef BOOL (__stdcall* UILANGUAGE_ENUMPROCW)(LPWSTR, LONG_PTR); typedef BOOL (__stdcall* CODEPAGE_ENUMPROCW)(LPWSTR); typedef BOOL (__stdcall* DATEFMT_ENUMPROCW)(LPWSTR); typedef BOOL (__stdcall* DATEFMT_ENUMPROCEXW)(LPWSTR, CALID); typedef BOOL (__stdcall* TIMEFMT_ENUMPROCW)(LPWSTR); typedef BOOL (__stdcall* CALINFO_ENUMPROCW)(LPWSTR); typedef BOOL (__stdcall* CALINFO_ENUMPROCEXW)(LPWSTR, CALID); typedef BOOL (__stdcall* GEO_ENUMPROC)(GEOID); typedef BOOL (__stdcall* GEO_ENUMNAMEPROC)(PWSTR, LPARAM); #pragma endregion #pragma region Application Family or OneCore or Games Family #pragma endregion #pragma region Desktop Family or OneCore Family typedef struct _FILEMUIINFO { DWORD dwSize; DWORD dwVersion; DWORD dwFileType; BYTE pChecksum[16]; BYTE pServiceChecksum[16]; DWORD dwLanguageNameOffset; DWORD dwTypeIDMainSize; DWORD dwTypeIDMainOffset; DWORD dwTypeNameMainOffset; DWORD dwTypeIDMUISize; DWORD dwTypeIDMUIOffset; DWORD dwTypeNameMUIOffset; BYTE abBuffer[8]; } FILEMUIINFO, *PFILEMUIINFO; #pragma endregion #pragma region Application Family or OneCore or Games Family #pragma once extern "C" { #pragma region Desktop or OneCore or Application or Games Family __declspec(dllimport) int __stdcall CompareStringEx( LPCWSTR lpLocaleName, DWORD dwCmpFlags, LPCWCH lpString1, int cchCount1, LPCWCH lpString2, int cchCount2, LPNLSVERSIONINFO lpVersionInformation, LPVOID lpReserved, LPARAM lParam ); __declspec(dllimport) int __stdcall CompareStringOrdinal( LPCWCH lpString1, int cchCount1, LPCWCH lpString2, int cchCount2, BOOL bIgnoreCase ); __declspec(dllimport) int __stdcall CompareStringW( LCID Locale, DWORD dwCmpFlags, PCNZWCH lpString1, int cchCount1, PCNZWCH lpString2, int cchCount2 ); __declspec(dllimport) int __stdcall FoldStringW( DWORD dwMapFlags, LPCWCH lpSrcStr, int cchSrc, LPWSTR lpDestStr, int cchDest ); __declspec(dllimport) BOOL __stdcall GetStringTypeExW( LCID Locale, DWORD dwInfoType, LPCWCH lpSrcStr, int cchSrc, LPWORD lpCharType ); __declspec(dllimport) BOOL __stdcall GetStringTypeW( DWORD dwInfoType, LPCWCH lpSrcStr, int cchSrc, LPWORD lpCharType ); __declspec(dllimport) int __stdcall MultiByteToWideChar( UINT CodePage, DWORD dwFlags, LPCCH lpMultiByteStr, int cbMultiByte, LPWSTR lpWideCharStr, int cchWideChar ); __declspec(dllimport) int __stdcall WideCharToMultiByte( UINT CodePage, DWORD dwFlags, LPCWCH lpWideCharStr, int cchWideChar, LPSTR lpMultiByteStr, int cbMultiByte, LPCCH lpDefaultChar, LPBOOL lpUsedDefaultChar ); #pragma endregion } #pragma endregion #pragma region Desktop Family or OneCore Family #pragma endregion #pragma region Application Family or OneCore or Games Family __declspec(dllimport) BOOL __stdcall IsValidCodePage( UINT CodePage); __declspec(dllimport) UINT __stdcall GetACP(void); #pragma endregion #pragma region Desktop Family or OneCore Family __declspec(dllimport) UINT __stdcall GetOEMCP(void); #pragma endregion #pragma region Desktop or Pc Family or OneCore or Games Family __declspec(dllimport) BOOL __stdcall GetCPInfo( UINT CodePage, LPCPINFO lpCPInfo); #pragma endregion #pragma region Desktop or Pc Family or OneCore Family or Games Family __declspec(dllimport) BOOL __stdcall GetCPInfoExA( UINT CodePage, DWORD dwFlags, LPCPINFOEXA lpCPInfoEx); __declspec(dllimport) BOOL __stdcall GetCPInfoExW( UINT CodePage, DWORD dwFlags, LPCPINFOEXW lpCPInfoEx); #pragma endregion #pragma region Desktop or OneCore or Application or Games Family __declspec(dllimport) int __stdcall CompareStringA( LCID Locale, DWORD dwCmpFlags, PCNZCH lpString1, int cchCount1, PCNZCH lpString2, int cchCount2); #pragma endregion #pragma region Application or OneCore or Games Family __declspec(dllimport) int __stdcall FindNLSString( LCID Locale, DWORD dwFindNLSStringFlags, LPCWSTR lpStringSource, int cchSource, LPCWSTR lpStringValue, int cchValue, LPINT pcchFound); #pragma endregion #pragma region Desktop or OneCore or Games Family __declspec(dllimport) int __stdcall LCMapStringW( LCID Locale, DWORD dwMapFlags, LPCWSTR lpSrcStr, int cchSrc, LPWSTR lpDestStr, int cchDest); __declspec(dllimport) int __stdcall LCMapStringA( LCID Locale, DWORD dwMapFlags, LPCSTR lpSrcStr, int cchSrc, LPSTR lpDestStr, int cchDest); #pragma endregion #pragma region Application Family or OneCore or Games Family __declspec(dllimport) int __stdcall GetLocaleInfoW( LCID Locale, LCTYPE LCType, LPWSTR lpLCData, int cchData); __declspec(dllimport) int __stdcall GetLocaleInfoA( LCID Locale, LCTYPE LCType, LPSTR lpLCData, int cchData ); #pragma endregion #pragma region Application or OneCore Family __declspec(dllimport) BOOL __stdcall SetLocaleInfoA( LCID Locale, LCTYPE LCType, LPCSTR lpLCData); __declspec(dllimport) BOOL __stdcall SetLocaleInfoW( LCID Locale, LCTYPE LCType, LPCWSTR lpLCData); __declspec(dllimport) int __stdcall GetCalendarInfoA( LCID Locale, CALID Calendar, CALTYPE CalType, LPSTR lpCalData, int cchData, LPDWORD lpValue); __declspec(dllimport) int __stdcall GetCalendarInfoW( LCID Locale, CALID Calendar, CALTYPE CalType, LPWSTR lpCalData, int cchData, LPDWORD lpValue); __declspec(dllimport) BOOL __stdcall SetCalendarInfoA( LCID Locale, CALID Calendar, CALTYPE CalType, LPCSTR lpCalData); __declspec(dllimport) BOOL __stdcall SetCalendarInfoW( LCID Locale, CALID Calendar, CALTYPE CalType, LPCWSTR lpCalData); #pragma endregion #pragma region Desktop Family __declspec(dllimport) BOOL __stdcall LoadStringByReference( DWORD Flags, PCWSTR Language, PCWSTR SourceString, PWSTR Buffer, ULONG cchBuffer, PCWSTR Directory, PULONG pcchBufferOut ); #pragma endregion #pragma region Application Family or OneCore Family __declspec(dllimport) BOOL __stdcall IsDBCSLeadByte( BYTE TestChar ); __declspec(dllimport) BOOL __stdcall IsDBCSLeadByteEx( UINT CodePage, BYTE TestChar ); #pragma endregion #pragma region Application Family or OneCore or Games Family __declspec(dllimport) LCID __stdcall LocaleNameToLCID( LPCWSTR lpName, DWORD dwFlags); __declspec(dllimport) int __stdcall LCIDToLocaleName( LCID Locale, LPWSTR lpName, int cchName, DWORD dwFlags); #pragma endregion #pragma region Desktop Family __declspec(dllimport) int __stdcall GetDurationFormat( LCID Locale, DWORD dwFlags, const SYSTEMTIME *lpDuration, ULONGLONG ullDuration, LPCWSTR lpFormat, LPWSTR lpDurationStr, int cchDuration); #pragma endregion #pragma region Desktop Family or OneCore or Games Family __declspec(dllimport) int __stdcall GetNumberFormatA( LCID Locale, DWORD dwFlags, LPCSTR lpValue, const NUMBERFMTA *lpFormat, LPSTR lpNumberStr, int cchNumber); __declspec(dllimport) int __stdcall GetNumberFormatW( LCID Locale, DWORD dwFlags, LPCWSTR lpValue, const NUMBERFMTW *lpFormat, LPWSTR lpNumberStr, int cchNumber); __declspec(dllimport) int __stdcall GetCurrencyFormatA( LCID Locale, DWORD dwFlags, LPCSTR lpValue, const CURRENCYFMTA *lpFormat, LPSTR lpCurrencyStr, int cchCurrency); __declspec(dllimport) int __stdcall GetCurrencyFormatW( LCID Locale, DWORD dwFlags, LPCWSTR lpValue, const CURRENCYFMTW *lpFormat, LPWSTR lpCurrencyStr, int cchCurrency); #pragma endregion #pragma region Desktop Family or OneCore Family __declspec(dllimport) BOOL __stdcall EnumCalendarInfoA( CALINFO_ENUMPROCA lpCalInfoEnumProc, LCID Locale, CALID Calendar, CALTYPE CalType); __declspec(dllimport) BOOL __stdcall EnumCalendarInfoW( CALINFO_ENUMPROCW lpCalInfoEnumProc, LCID Locale, CALID Calendar, CALTYPE CalType); __declspec(dllimport) BOOL __stdcall EnumCalendarInfoExA( CALINFO_ENUMPROCEXA lpCalInfoEnumProcEx, LCID Locale, CALID Calendar, CALTYPE CalType); __declspec(dllimport) BOOL __stdcall EnumCalendarInfoExW( CALINFO_ENUMPROCEXW lpCalInfoEnumProcEx, LCID Locale, CALID Calendar, CALTYPE CalType); __declspec(dllimport) BOOL __stdcall EnumTimeFormatsA( TIMEFMT_ENUMPROCA lpTimeFmtEnumProc, LCID Locale, DWORD dwFlags); __declspec(dllimport) BOOL __stdcall EnumTimeFormatsW( TIMEFMT_ENUMPROCW lpTimeFmtEnumProc, LCID Locale, DWORD dwFlags); __declspec(dllimport) BOOL __stdcall EnumDateFormatsA( DATEFMT_ENUMPROCA lpDateFmtEnumProc, LCID Locale, DWORD dwFlags); __declspec(dllimport) BOOL __stdcall EnumDateFormatsW( DATEFMT_ENUMPROCW lpDateFmtEnumProc, LCID Locale, DWORD dwFlags); __declspec(dllimport) BOOL __stdcall EnumDateFormatsExA( DATEFMT_ENUMPROCEXA lpDateFmtEnumProcEx, LCID Locale, DWORD dwFlags); __declspec(dllimport) BOOL __stdcall EnumDateFormatsExW( DATEFMT_ENUMPROCEXW lpDateFmtEnumProcEx, LCID Locale, DWORD dwFlags); #pragma endregion #pragma region Application Family or OneCore Family __declspec(dllimport) BOOL __stdcall IsValidLanguageGroup( LGRPID LanguageGroup, DWORD dwFlags); __declspec(dllimport) BOOL __stdcall GetNLSVersion( NLS_FUNCTION Function, LCID Locale, LPNLSVERSIONINFO lpVersionInformation); #pragma endregion #pragma region Desktop Family or OneCore Family __declspec(dllimport) BOOL __stdcall IsValidLocale( LCID Locale, DWORD dwFlags); #pragma endregion #pragma region Application Family or OneCore or Games Family __declspec(dllimport) int __stdcall GetGeoInfoA( GEOID Location, GEOTYPE GeoType, LPSTR lpGeoData, int cchData, LANGID LangId); __declspec(dllimport) int __stdcall GetGeoInfoW( GEOID Location, GEOTYPE GeoType, LPWSTR lpGeoData, int cchData, LANGID LangId); __declspec(dllimport) int __stdcall GetGeoInfoEx( PWSTR location, GEOTYPE geoType, PWSTR geoData, int geoDataCount); #pragma endregion #pragma region Desktop or PC Family or OneCore Family __declspec(dllimport) BOOL __stdcall EnumSystemGeoID( GEOCLASS GeoClass, GEOID ParentGeoId, GEO_ENUMPROC lpGeoEnumProc); __declspec(dllimport) BOOL __stdcall EnumSystemGeoNames( GEOCLASS geoClass, GEO_ENUMNAMEPROC geoEnumProc, LPARAM data); #pragma endregion #pragma region Application Family or OneCore or Games Family __declspec(dllimport) GEOID __stdcall GetUserGeoID( GEOCLASS GeoClass); __declspec(dllimport) int __stdcall GetUserDefaultGeoName( LPWSTR geoName, int geoNameCount ); #pragma endregion #pragma region Desktop Family or OneCore Family __declspec(dllimport) BOOL __stdcall SetUserGeoID( GEOID GeoId); __declspec(dllimport) BOOL __stdcall SetUserGeoName( PWSTR geoName); __declspec(dllimport) LCID __stdcall ConvertDefaultLocale( LCID Locale); __declspec(dllimport) LANGID __stdcall GetSystemDefaultUILanguage(void); #pragma endregion #pragma region Application Family or OneCore Family __declspec(dllimport) LCID __stdcall GetThreadLocale(void); __declspec(dllimport) BOOL __stdcall SetThreadLocale( LCID Locale ); #pragma endregion #pragma region Application Family or OneCore Family __declspec(dllimport) LANGID __stdcall GetUserDefaultUILanguage(void); __declspec(dllimport) LANGID __stdcall GetUserDefaultLangID(void); #pragma endregion #pragma region Desktop Family or OneCore Family __declspec(dllimport) LANGID __stdcall GetSystemDefaultLangID(void); __declspec(dllimport) LCID __stdcall GetSystemDefaultLCID(void); __declspec(dllimport) LCID __stdcall GetUserDefaultLCID(void); #pragma endregion #pragma region Desktop Family #pragma endregion #pragma region Desktop Family or OneCore Family __declspec(dllimport) LANGID __stdcall SetThreadUILanguage( LANGID LangId); __declspec(dllimport) LANGID __stdcall GetThreadUILanguage(void); __declspec(dllimport) BOOL __stdcall GetProcessPreferredUILanguages( DWORD dwFlags, PULONG pulNumLanguages, PZZWSTR pwszLanguagesBuffer, PULONG pcchLanguagesBuffer ); __declspec(dllimport) BOOL __stdcall SetProcessPreferredUILanguages( DWORD dwFlags, PCZZWSTR pwszLanguagesBuffer, PULONG pulNumLanguages ); #pragma endregion #pragma region Desktop Family or Phone Family or OneCore or Games Family __declspec(dllimport) BOOL __stdcall GetUserPreferredUILanguages ( DWORD dwFlags, PULONG pulNumLanguages, PZZWSTR pwszLanguagesBuffer, PULONG pcchLanguagesBuffer ); #pragma endregion #pragma region Application Family or OneCore Family __declspec(dllimport) BOOL __stdcall GetSystemPreferredUILanguages ( DWORD dwFlags, PULONG pulNumLanguages, PZZWSTR pwszLanguagesBuffer, PULONG pcchLanguagesBuffer ); __declspec(dllimport) BOOL __stdcall GetThreadPreferredUILanguages( DWORD dwFlags, PULONG pulNumLanguages, PZZWSTR pwszLanguagesBuffer, PULONG pcchLanguagesBuffer ); __declspec(dllimport) BOOL __stdcall SetThreadPreferredUILanguages( DWORD dwFlags, PCZZWSTR pwszLanguagesBuffer, PULONG pulNumLanguages ); __declspec(dllimport) BOOL __stdcall GetFileMUIInfo( DWORD dwFlags, PCWSTR pcwszFilePath, PFILEMUIINFO pFileMUIInfo, DWORD* pcbFileMUIInfo); __declspec(dllimport) BOOL __stdcall GetFileMUIPath( DWORD dwFlags, PCWSTR pcwszFilePath , PWSTR pwszLanguage, PULONG pcchLanguage, PWSTR pwszFileMUIPath, PULONG pcchFileMUIPath, PULONGLONG pululEnumerator ); __declspec(dllimport) BOOL __stdcall GetUILanguageInfo( DWORD dwFlags, PCZZWSTR pwmszLanguage, PZZWSTR pwszFallbackLanguages, PDWORD pcchFallbackLanguages, PDWORD pAttributes ); #pragma endregion #pragma region Desktop Family or OneCore Family struct HSAVEDUILANGUAGES__{int unused;}; typedef struct HSAVEDUILANGUAGES__ *HSAVEDUILANGUAGES; __declspec(dllimport) BOOL __stdcall SetThreadPreferredUILanguages2( ULONG flags, PCZZWSTR languages, PULONG numLanguagesSet, HSAVEDUILANGUAGES* snapshot); __declspec(dllimport) void __stdcall RestoreThreadPreferredUILanguages( const HSAVEDUILANGUAGES snapshot); #pragma endregion #pragma region Desktop Family __declspec(dllimport) BOOL __stdcall NotifyUILanguageChange( DWORD dwFlags, PCWSTR pcwstrNewLanguage, PCWSTR pcwstrPreviousLanguage, DWORD dwReserved, PDWORD pdwStatusRtrn ); #pragma endregion #pragma region Desktop or OneCore or Application or Games Family __declspec(dllimport) BOOL __stdcall GetStringTypeExA( LCID Locale, DWORD dwInfoType, LPCSTR lpSrcStr, int cchSrc, LPWORD lpCharType); __declspec(dllimport) BOOL __stdcall GetStringTypeA( LCID Locale, DWORD dwInfoType, LPCSTR lpSrcStr, int cchSrc, LPWORD lpCharType); __declspec(dllimport) int __stdcall FoldStringA( DWORD dwMapFlags, LPCSTR lpSrcStr, int cchSrc, LPSTR lpDestStr, int cchDest); #pragma endregion #pragma region Desktop Family or OneCore or Games Family __declspec(dllimport) BOOL __stdcall EnumSystemLocalesA( LOCALE_ENUMPROCA lpLocaleEnumProc, DWORD dwFlags); __declspec(dllimport) BOOL __stdcall EnumSystemLocalesW( LOCALE_ENUMPROCW lpLocaleEnumProc, DWORD dwFlags); #pragma endregion #pragma region Desktop Family or OneCore Family __declspec(dllimport) BOOL __stdcall EnumSystemLanguageGroupsA( LANGUAGEGROUP_ENUMPROCA lpLanguageGroupEnumProc, DWORD dwFlags, LONG_PTR lParam); __declspec(dllimport) BOOL __stdcall EnumSystemLanguageGroupsW( LANGUAGEGROUP_ENUMPROCW lpLanguageGroupEnumProc, DWORD dwFlags, LONG_PTR lParam); __declspec(dllimport) BOOL __stdcall EnumLanguageGroupLocalesA( LANGGROUPLOCALE_ENUMPROCA lpLangGroupLocaleEnumProc, LGRPID LanguageGroup, DWORD dwFlags, LONG_PTR lParam); __declspec(dllimport) BOOL __stdcall EnumLanguageGroupLocalesW( LANGGROUPLOCALE_ENUMPROCW lpLangGroupLocaleEnumProc, LGRPID LanguageGroup, DWORD dwFlags, LONG_PTR lParam); #pragma endregion #pragma region Application Family or OneCore Family __declspec(dllimport) BOOL __stdcall EnumUILanguagesA( UILANGUAGE_ENUMPROCA lpUILanguageEnumProc, DWORD dwFlags, LONG_PTR lParam); __declspec(dllimport) BOOL __stdcall EnumUILanguagesW( UILANGUAGE_ENUMPROCW lpUILanguageEnumProc, DWORD dwFlags, LONG_PTR lParam); #pragma endregion #pragma region Desktop or PC Family or OneCore Family __declspec(dllimport) BOOL __stdcall EnumSystemCodePagesA( CODEPAGE_ENUMPROCA lpCodePageEnumProc, DWORD dwFlags); __declspec(dllimport) BOOL __stdcall EnumSystemCodePagesW( CODEPAGE_ENUMPROCW lpCodePageEnumProc, DWORD dwFlags); #pragma endregion #pragma region Application Family or OneCore or Games Family __declspec(dllimport) int __stdcall IdnToAscii( DWORD dwFlags, LPCWSTR lpUnicodeCharStr, int cchUnicodeChar, LPWSTR lpASCIICharStr, int cchASCIIChar); __declspec(dllimport) int __stdcall IdnToUnicode( DWORD dwFlags, LPCWSTR lpASCIICharStr, int cchASCIIChar, LPWSTR lpUnicodeCharStr, int cchUnicodeChar); __declspec(dllimport) int __stdcall IdnToNameprepUnicode( DWORD dwFlags, LPCWSTR lpUnicodeCharStr, int cchUnicodeChar, LPWSTR lpNameprepCharStr, int cchNameprepChar); #pragma endregion #pragma region Application Family or OneCore Family __declspec(dllimport) int __stdcall NormalizeString( NORM_FORM NormForm, LPCWSTR lpSrcString, int cwSrcLength, LPWSTR lpDstString, int cwDstLength ); __declspec(dllimport) BOOL __stdcall IsNormalizedString( NORM_FORM NormForm, LPCWSTR lpString, int cwLength ); __declspec(dllimport) BOOL __stdcall VerifyScripts( DWORD dwFlags, LPCWSTR lpLocaleScripts, int cchLocaleScripts, LPCWSTR lpTestScripts, int cchTestScripts); __declspec(dllimport) int __stdcall GetStringScripts( DWORD dwFlags, LPCWSTR lpString, int cchString, LPWSTR lpScripts, int cchScripts); #pragma endregion #pragma region Application Family or OneCore or Games Family __declspec(dllimport) int __stdcall GetLocaleInfoEx( LPCWSTR lpLocaleName, LCTYPE LCType, LPWSTR lpLCData, int cchData ); #pragma endregion #pragma region Desktop or PC Family or OneCore Family __declspec(dllimport) int __stdcall GetCalendarInfoEx( LPCWSTR lpLocaleName, CALID Calendar, LPCWSTR lpReserved, CALTYPE CalType, LPWSTR lpCalData, int cchData, LPDWORD lpValue ); #pragma endregion #pragma region Application Family #pragma endregion #pragma region Application Family or OneCore Family __declspec(dllimport) int __stdcall GetNumberFormatEx( LPCWSTR lpLocaleName, DWORD dwFlags, LPCWSTR lpValue, const NUMBERFMTW *lpFormat, LPWSTR lpNumberStr, int cchNumber ); __declspec(dllimport) int __stdcall GetCurrencyFormatEx( LPCWSTR lpLocaleName, DWORD dwFlags, LPCWSTR lpValue, const CURRENCYFMTW *lpFormat, LPWSTR lpCurrencyStr, int cchCurrency ); __declspec(dllimport) int __stdcall GetUserDefaultLocaleName( LPWSTR lpLocaleName, int cchLocaleName ); #pragma endregion #pragma region Desktop or PC Family or OneCore Family __declspec(dllimport) int __stdcall GetSystemDefaultLocaleName( LPWSTR lpLocaleName, int cchLocaleName ); __declspec(dllimport) BOOL __stdcall IsNLSDefinedString( NLS_FUNCTION Function, DWORD dwFlags, LPNLSVERSIONINFO lpVersionInformation, LPCWSTR lpString, INT cchStr); __declspec(dllimport) BOOL __stdcall GetNLSVersionEx( NLS_FUNCTION function, LPCWSTR lpLocaleName, LPNLSVERSIONINFOEX lpVersionInformation ); __declspec(dllimport) DWORD __stdcall IsValidNLSVersion( NLS_FUNCTION function, LPCWSTR lpLocaleName, LPNLSVERSIONINFOEX lpVersionInformation ); #pragma endregion #pragma region Application Family or OneCore or Gamaes Family __declspec(dllimport) int __stdcall FindNLSStringEx( LPCWSTR lpLocaleName, DWORD dwFindNLSStringFlags, LPCWSTR lpStringSource, int cchSource, LPCWSTR lpStringValue, int cchValue, LPINT pcchFound, LPNLSVERSIONINFO lpVersionInformation, LPVOID lpReserved, LPARAM sortHandle ); __declspec(dllimport) int __stdcall LCMapStringEx( LPCWSTR lpLocaleName, DWORD dwMapFlags, LPCWSTR lpSrcStr, int cchSrc, LPWSTR lpDestStr, int cchDest, LPNLSVERSIONINFO lpVersionInformation, LPVOID lpReserved, LPARAM sortHandle ); __declspec(dllimport) BOOL __stdcall IsValidLocaleName( LPCWSTR lpLocaleName ); #pragma endregion #pragma region Desktop or PC Family or OneCore Family typedef BOOL (__stdcall* CALINFO_ENUMPROCEXEX)(LPWSTR, CALID, LPWSTR, LPARAM); __declspec(dllimport) BOOL __stdcall EnumCalendarInfoExEx( CALINFO_ENUMPROCEXEX pCalInfoEnumProcExEx, LPCWSTR lpLocaleName, CALID Calendar, LPCWSTR lpReserved, CALTYPE CalType, LPARAM lParam ); typedef BOOL (__stdcall* DATEFMT_ENUMPROCEXEX)(LPWSTR, CALID, LPARAM); __declspec(dllimport) BOOL __stdcall EnumDateFormatsExEx( DATEFMT_ENUMPROCEXEX lpDateFmtEnumProcExEx, LPCWSTR lpLocaleName, DWORD dwFlags, LPARAM lParam ); typedef BOOL (__stdcall* TIMEFMT_ENUMPROCEX)(LPWSTR, LPARAM); __declspec(dllimport) BOOL __stdcall EnumTimeFormatsEx( TIMEFMT_ENUMPROCEX lpTimeFmtEnumProcEx, LPCWSTR lpLocaleName, DWORD dwFlags, LPARAM lParam ); #pragma endregion #pragma region Desktop or PC Family or OneCore or Games Family typedef BOOL (__stdcall* LOCALE_ENUMPROCEX)(LPWSTR, DWORD, LPARAM); __declspec(dllimport) BOOL __stdcall EnumSystemLocalesEx( LOCALE_ENUMPROCEX lpLocaleEnumProcEx, DWORD dwFlags, LPARAM lParam, LPVOID lpReserved ); #pragma endregion #pragma region Application Family or OneCore or Games Family __declspec(dllimport) int __stdcall ResolveLocaleName( LPCWSTR lpNameToResolve, LPWSTR lpLocaleName, int cchLocaleName ); #pragma endregion #pragma region Desktop Family #pragma endregion #pragma warning(pop) } #pragma once extern "C" { #pragma warning(push) #pragma warning(disable:4820) #pragma once extern "C" { #pragma region Application Family typedef struct _COORD { SHORT X; SHORT Y; } COORD, *PCOORD; typedef struct _SMALL_RECT { SHORT Left; SHORT Top; SHORT Right; SHORT Bottom; } SMALL_RECT, *PSMALL_RECT; typedef struct _KEY_EVENT_RECORD { BOOL bKeyDown; WORD wRepeatCount; WORD wVirtualKeyCode; WORD wVirtualScanCode; union { WCHAR UnicodeChar; CHAR AsciiChar; } uChar; DWORD dwControlKeyState; } KEY_EVENT_RECORD, *PKEY_EVENT_RECORD; typedef struct _MOUSE_EVENT_RECORD { COORD dwMousePosition; DWORD dwButtonState; DWORD dwControlKeyState; DWORD dwEventFlags; } MOUSE_EVENT_RECORD, *PMOUSE_EVENT_RECORD; typedef struct _WINDOW_BUFFER_SIZE_RECORD { COORD dwSize; } WINDOW_BUFFER_SIZE_RECORD, *PWINDOW_BUFFER_SIZE_RECORD; typedef struct _MENU_EVENT_RECORD { UINT dwCommandId; } MENU_EVENT_RECORD, *PMENU_EVENT_RECORD; typedef struct _FOCUS_EVENT_RECORD { BOOL bSetFocus; } FOCUS_EVENT_RECORD, *PFOCUS_EVENT_RECORD; typedef struct _INPUT_RECORD { WORD EventType; union { KEY_EVENT_RECORD KeyEvent; MOUSE_EVENT_RECORD MouseEvent; WINDOW_BUFFER_SIZE_RECORD WindowBufferSizeEvent; MENU_EVENT_RECORD MenuEvent; FOCUS_EVENT_RECORD FocusEvent; } Event; } INPUT_RECORD, *PINPUT_RECORD; typedef struct _CHAR_INFO { union { WCHAR UnicodeChar; CHAR AsciiChar; } Char; WORD Attributes; } CHAR_INFO, *PCHAR_INFO; typedef struct _CONSOLE_FONT_INFO { DWORD nFont; COORD dwFontSize; } CONSOLE_FONT_INFO, *PCONSOLE_FONT_INFO; typedef void* HPCON; #pragma endregion } #pragma once extern "C" { #pragma region Application Family or OneCore Family __declspec(dllimport) BOOL __stdcall AllocConsole( void ); __declspec(dllimport) BOOL __stdcall FreeConsole( void ); __declspec(dllimport) BOOL __stdcall AttachConsole( DWORD dwProcessId ); __declspec(dllimport) UINT __stdcall GetConsoleCP( void ); __declspec(dllimport) UINT __stdcall GetConsoleOutputCP( void ); __declspec(dllimport) BOOL __stdcall GetConsoleMode( HANDLE hConsoleHandle, LPDWORD lpMode ); __declspec(dllimport) BOOL __stdcall SetConsoleMode( HANDLE hConsoleHandle, DWORD dwMode ); __declspec(dllimport) BOOL __stdcall GetNumberOfConsoleInputEvents( HANDLE hConsoleInput, LPDWORD lpNumberOfEvents ); __declspec(dllimport) BOOL __stdcall ReadConsoleInputA( HANDLE hConsoleInput, PINPUT_RECORD lpBuffer, DWORD nLength, LPDWORD lpNumberOfEventsRead ); __declspec(dllimport) BOOL __stdcall ReadConsoleInputW( HANDLE hConsoleInput, PINPUT_RECORD lpBuffer, DWORD nLength, LPDWORD lpNumberOfEventsRead ); __declspec(dllimport) BOOL __stdcall PeekConsoleInputA( HANDLE hConsoleInput, PINPUT_RECORD lpBuffer, DWORD nLength, LPDWORD lpNumberOfEventsRead ); __declspec(dllimport) BOOL __stdcall PeekConsoleInputW( HANDLE hConsoleInput, PINPUT_RECORD lpBuffer, DWORD nLength, LPDWORD lpNumberOfEventsRead ); typedef struct _CONSOLE_READCONSOLE_CONTROL { ULONG nLength; ULONG nInitialChars; ULONG dwCtrlWakeupMask; ULONG dwControlKeyState; } CONSOLE_READCONSOLE_CONTROL, *PCONSOLE_READCONSOLE_CONTROL; __declspec(dllimport) BOOL __stdcall ReadConsoleA( HANDLE hConsoleInput, LPVOID lpBuffer, DWORD nNumberOfCharsToRead, LPDWORD lpNumberOfCharsRead, PCONSOLE_READCONSOLE_CONTROL pInputControl ); __declspec(dllimport) BOOL __stdcall ReadConsoleW( HANDLE hConsoleInput, LPVOID lpBuffer, DWORD nNumberOfCharsToRead, LPDWORD lpNumberOfCharsRead, PCONSOLE_READCONSOLE_CONTROL pInputControl ); __declspec(dllimport) BOOL __stdcall WriteConsoleA( HANDLE hConsoleOutput, const void* lpBuffer, DWORD nNumberOfCharsToWrite, LPDWORD lpNumberOfCharsWritten, LPVOID lpReserved ); __declspec(dllimport) BOOL __stdcall WriteConsoleW( HANDLE hConsoleOutput, const void* lpBuffer, DWORD nNumberOfCharsToWrite, LPDWORD lpNumberOfCharsWritten, LPVOID lpReserved ); typedef BOOL (__stdcall *PHANDLER_ROUTINE)( DWORD CtrlType ); __declspec(dllimport) BOOL __stdcall SetConsoleCtrlHandler( PHANDLER_ROUTINE HandlerRoutine, BOOL Add ); #pragma endregion #pragma region Desktop Family or OneCore Family __declspec(dllimport) HRESULT __stdcall CreatePseudoConsole( COORD size, HANDLE hInput, HANDLE hOutput, DWORD dwFlags, HPCON* phPC ); __declspec(dllimport) HRESULT __stdcall ResizePseudoConsole( HPCON hPC, COORD size ); __declspec(dllimport) void __stdcall ClosePseudoConsole( HPCON hPC ); #pragma endregion } #pragma once extern "C" { #pragma region Application Family or OneCore Family __declspec(dllimport) BOOL __stdcall FillConsoleOutputCharacterA( HANDLE hConsoleOutput, CHAR cCharacter, DWORD nLength, COORD dwWriteCoord, LPDWORD lpNumberOfCharsWritten ); __declspec(dllimport) BOOL __stdcall FillConsoleOutputCharacterW( HANDLE hConsoleOutput, WCHAR cCharacter, DWORD nLength, COORD dwWriteCoord, LPDWORD lpNumberOfCharsWritten ); __declspec(dllimport) BOOL __stdcall FillConsoleOutputAttribute( HANDLE hConsoleOutput, WORD wAttribute, DWORD nLength, COORD dwWriteCoord, LPDWORD lpNumberOfAttrsWritten ); __declspec(dllimport) BOOL __stdcall GenerateConsoleCtrlEvent( DWORD dwCtrlEvent, DWORD dwProcessGroupId ); __declspec(dllimport) HANDLE __stdcall CreateConsoleScreenBuffer( DWORD dwDesiredAccess, DWORD dwShareMode, const SECURITY_ATTRIBUTES* lpSecurityAttributes, DWORD dwFlags, LPVOID lpScreenBufferData ); __declspec(dllimport) BOOL __stdcall SetConsoleActiveScreenBuffer( HANDLE hConsoleOutput ); __declspec(dllimport) BOOL __stdcall FlushConsoleInputBuffer( HANDLE hConsoleInput ); __declspec(dllimport) BOOL __stdcall SetConsoleCP( UINT wCodePageID ); __declspec(dllimport) BOOL __stdcall SetConsoleOutputCP( UINT wCodePageID ); typedef struct _CONSOLE_CURSOR_INFO { DWORD dwSize; BOOL bVisible; } CONSOLE_CURSOR_INFO, *PCONSOLE_CURSOR_INFO; __declspec(dllimport) BOOL __stdcall GetConsoleCursorInfo( HANDLE hConsoleOutput, PCONSOLE_CURSOR_INFO lpConsoleCursorInfo ); __declspec(dllimport) BOOL __stdcall SetConsoleCursorInfo( HANDLE hConsoleOutput, const CONSOLE_CURSOR_INFO* lpConsoleCursorInfo ); typedef struct _CONSOLE_SCREEN_BUFFER_INFO { COORD dwSize; COORD dwCursorPosition; WORD wAttributes; SMALL_RECT srWindow; COORD dwMaximumWindowSize; } CONSOLE_SCREEN_BUFFER_INFO, *PCONSOLE_SCREEN_BUFFER_INFO; __declspec(dllimport) BOOL __stdcall GetConsoleScreenBufferInfo( HANDLE hConsoleOutput, PCONSOLE_SCREEN_BUFFER_INFO lpConsoleScreenBufferInfo ); typedef struct _CONSOLE_SCREEN_BUFFER_INFOEX { ULONG cbSize; COORD dwSize; COORD dwCursorPosition; WORD wAttributes; SMALL_RECT srWindow; COORD dwMaximumWindowSize; WORD wPopupAttributes; BOOL bFullscreenSupported; COLORREF ColorTable[16]; } CONSOLE_SCREEN_BUFFER_INFOEX, *PCONSOLE_SCREEN_BUFFER_INFOEX; __declspec(dllimport) BOOL __stdcall GetConsoleScreenBufferInfoEx( HANDLE hConsoleOutput, PCONSOLE_SCREEN_BUFFER_INFOEX lpConsoleScreenBufferInfoEx ); __declspec(dllimport) BOOL __stdcall SetConsoleScreenBufferInfoEx( HANDLE hConsoleOutput, PCONSOLE_SCREEN_BUFFER_INFOEX lpConsoleScreenBufferInfoEx ); __declspec(dllimport) BOOL __stdcall SetConsoleScreenBufferSize( HANDLE hConsoleOutput, COORD dwSize ); __declspec(dllimport) BOOL __stdcall SetConsoleCursorPosition( HANDLE hConsoleOutput, COORD dwCursorPosition ); __declspec(dllimport) COORD __stdcall GetLargestConsoleWindowSize( HANDLE hConsoleOutput ); __declspec(dllimport) BOOL __stdcall SetConsoleTextAttribute( HANDLE hConsoleOutput, WORD wAttributes ); __declspec(dllimport) BOOL __stdcall SetConsoleWindowInfo( HANDLE hConsoleOutput, BOOL bAbsolute, const SMALL_RECT* lpConsoleWindow ); __declspec(dllimport) BOOL __stdcall WriteConsoleOutputCharacterA( HANDLE hConsoleOutput, LPCSTR lpCharacter, DWORD nLength, COORD dwWriteCoord, LPDWORD lpNumberOfCharsWritten ); __declspec(dllimport) BOOL __stdcall WriteConsoleOutputCharacterW( HANDLE hConsoleOutput, LPCWSTR lpCharacter, DWORD nLength, COORD dwWriteCoord, LPDWORD lpNumberOfCharsWritten ); __declspec(dllimport) BOOL __stdcall WriteConsoleOutputAttribute( HANDLE hConsoleOutput, const WORD* lpAttribute, DWORD nLength, COORD dwWriteCoord, LPDWORD lpNumberOfAttrsWritten ); __declspec(dllimport) BOOL __stdcall ReadConsoleOutputCharacterA( HANDLE hConsoleOutput, LPSTR lpCharacter, DWORD nLength, COORD dwReadCoord, LPDWORD lpNumberOfCharsRead ); __declspec(dllimport) BOOL __stdcall ReadConsoleOutputCharacterW( HANDLE hConsoleOutput, LPWSTR lpCharacter, DWORD nLength, COORD dwReadCoord, LPDWORD lpNumberOfCharsRead ); __declspec(dllimport) BOOL __stdcall ReadConsoleOutputAttribute( HANDLE hConsoleOutput, LPWORD lpAttribute, DWORD nLength, COORD dwReadCoord, LPDWORD lpNumberOfAttrsRead ); __declspec(dllimport) BOOL __stdcall WriteConsoleInputA( HANDLE hConsoleInput, const INPUT_RECORD* lpBuffer, DWORD nLength, LPDWORD lpNumberOfEventsWritten ); __declspec(dllimport) BOOL __stdcall WriteConsoleInputW( HANDLE hConsoleInput, const INPUT_RECORD* lpBuffer, DWORD nLength, LPDWORD lpNumberOfEventsWritten ); __declspec(dllimport) BOOL __stdcall ScrollConsoleScreenBufferA( HANDLE hConsoleOutput, const SMALL_RECT* lpScrollRectangle, const SMALL_RECT* lpClipRectangle, COORD dwDestinationOrigin, const CHAR_INFO* lpFill ); __declspec(dllimport) BOOL __stdcall ScrollConsoleScreenBufferW( HANDLE hConsoleOutput, const SMALL_RECT* lpScrollRectangle, const SMALL_RECT* lpClipRectangle, COORD dwDestinationOrigin, const CHAR_INFO* lpFill ); __declspec(dllimport) BOOL __stdcall WriteConsoleOutputA( HANDLE hConsoleOutput, const CHAR_INFO* lpBuffer, COORD dwBufferSize, COORD dwBufferCoord, PSMALL_RECT lpWriteRegion ); __declspec(dllimport) BOOL __stdcall WriteConsoleOutputW( HANDLE hConsoleOutput, const CHAR_INFO* lpBuffer, COORD dwBufferSize, COORD dwBufferCoord, PSMALL_RECT lpWriteRegion ); __declspec(dllimport) BOOL __stdcall ReadConsoleOutputA( HANDLE hConsoleOutput, PCHAR_INFO lpBuffer, COORD dwBufferSize, COORD dwBufferCoord, PSMALL_RECT lpReadRegion ); __declspec(dllimport) BOOL __stdcall ReadConsoleOutputW( HANDLE hConsoleOutput, PCHAR_INFO lpBuffer, COORD dwBufferSize, COORD dwBufferCoord, PSMALL_RECT lpReadRegion ); __declspec(dllimport) DWORD __stdcall GetConsoleTitleA( LPSTR lpConsoleTitle, DWORD nSize ); __declspec(dllimport) DWORD __stdcall GetConsoleTitleW( LPWSTR lpConsoleTitle, DWORD nSize ); __declspec(dllimport) DWORD __stdcall GetConsoleOriginalTitleA( LPSTR lpConsoleTitle, DWORD nSize ); __declspec(dllimport) DWORD __stdcall GetConsoleOriginalTitleW( LPWSTR lpConsoleTitle, DWORD nSize ); __declspec(dllimport) BOOL __stdcall SetConsoleTitleA( LPCSTR lpConsoleTitle ); __declspec(dllimport) BOOL __stdcall SetConsoleTitleW( LPCWSTR lpConsoleTitle ); #pragma endregion } #pragma once extern "C" { #pragma region Application Family or OneCore Family __declspec(dllimport) BOOL __stdcall GetNumberOfConsoleMouseButtons( LPDWORD lpNumberOfMouseButtons ); __declspec(dllimport) COORD __stdcall GetConsoleFontSize( HANDLE hConsoleOutput, DWORD nFont ); __declspec(dllimport) BOOL __stdcall GetCurrentConsoleFont( HANDLE hConsoleOutput, BOOL bMaximumWindow, PCONSOLE_FONT_INFO lpConsoleCurrentFont ); typedef struct _CONSOLE_FONT_INFOEX { ULONG cbSize; DWORD nFont; COORD dwFontSize; UINT FontFamily; UINT FontWeight; WCHAR FaceName[32]; } CONSOLE_FONT_INFOEX, *PCONSOLE_FONT_INFOEX; __declspec(dllimport) BOOL __stdcall GetCurrentConsoleFontEx( HANDLE hConsoleOutput, BOOL bMaximumWindow, PCONSOLE_FONT_INFOEX lpConsoleCurrentFontEx ); __declspec(dllimport) BOOL __stdcall SetCurrentConsoleFontEx( HANDLE hConsoleOutput, BOOL bMaximumWindow, PCONSOLE_FONT_INFOEX lpConsoleCurrentFontEx ); typedef struct _CONSOLE_SELECTION_INFO { DWORD dwFlags; COORD dwSelectionAnchor; SMALL_RECT srSelection; } CONSOLE_SELECTION_INFO, *PCONSOLE_SELECTION_INFO; __declspec(dllimport) BOOL __stdcall GetConsoleSelectionInfo( PCONSOLE_SELECTION_INFO lpConsoleSelectionInfo ); typedef struct _CONSOLE_HISTORY_INFO { UINT cbSize; UINT HistoryBufferSize; UINT NumberOfHistoryBuffers; DWORD dwFlags; } CONSOLE_HISTORY_INFO, *PCONSOLE_HISTORY_INFO; __declspec(dllimport) BOOL __stdcall GetConsoleHistoryInfo( PCONSOLE_HISTORY_INFO lpConsoleHistoryInfo ); __declspec(dllimport) BOOL __stdcall SetConsoleHistoryInfo( PCONSOLE_HISTORY_INFO lpConsoleHistoryInfo ); __declspec(dllimport) BOOL __stdcall GetConsoleDisplayMode( LPDWORD lpModeFlags ); __declspec(dllimport) BOOL __stdcall SetConsoleDisplayMode( HANDLE hConsoleOutput, DWORD dwFlags, PCOORD lpNewScreenBufferDimensions ); __declspec(dllimport) HWND __stdcall GetConsoleWindow( void ); __declspec(dllimport) BOOL __stdcall AddConsoleAliasA( LPSTR Source, LPSTR Target, LPSTR ExeName ); __declspec(dllimport) BOOL __stdcall AddConsoleAliasW( LPWSTR Source, LPWSTR Target, LPWSTR ExeName ); __declspec(dllimport) DWORD __stdcall GetConsoleAliasA( LPSTR Source, LPSTR TargetBuffer, DWORD TargetBufferLength, LPSTR ExeName ); __declspec(dllimport) DWORD __stdcall GetConsoleAliasW( LPWSTR Source, LPWSTR TargetBuffer, DWORD TargetBufferLength, LPWSTR ExeName ); __declspec(dllimport) DWORD __stdcall GetConsoleAliasesLengthA( LPSTR ExeName ); __declspec(dllimport) DWORD __stdcall GetConsoleAliasesLengthW( LPWSTR ExeName ); __declspec(dllimport) DWORD __stdcall GetConsoleAliasExesLengthA( void ); __declspec(dllimport) DWORD __stdcall GetConsoleAliasExesLengthW( void ); __declspec(dllimport) DWORD __stdcall GetConsoleAliasesA( LPSTR AliasBuffer, DWORD AliasBufferLength, LPSTR ExeName ); __declspec(dllimport) DWORD __stdcall GetConsoleAliasesW( LPWSTR AliasBuffer, DWORD AliasBufferLength, LPWSTR ExeName ); __declspec(dllimport) DWORD __stdcall GetConsoleAliasExesA( LPSTR ExeNameBuffer, DWORD ExeNameBufferLength ); __declspec(dllimport) DWORD __stdcall GetConsoleAliasExesW( LPWSTR ExeNameBuffer, DWORD ExeNameBufferLength ); __declspec(dllimport) void __stdcall ExpungeConsoleCommandHistoryA( LPSTR ExeName ); __declspec(dllimport) void __stdcall ExpungeConsoleCommandHistoryW( LPWSTR ExeName ); __declspec(dllimport) BOOL __stdcall SetConsoleNumberOfCommandsA( DWORD Number, LPSTR ExeName ); __declspec(dllimport) BOOL __stdcall SetConsoleNumberOfCommandsW( DWORD Number, LPWSTR ExeName ); __declspec(dllimport) DWORD __stdcall GetConsoleCommandHistoryLengthA( LPSTR ExeName ); __declspec(dllimport) DWORD __stdcall GetConsoleCommandHistoryLengthW( LPWSTR ExeName ); __declspec(dllimport) DWORD __stdcall GetConsoleCommandHistoryA( LPSTR Commands, DWORD CommandBufferLength, LPSTR ExeName ); __declspec(dllimport) DWORD __stdcall GetConsoleCommandHistoryW( LPWSTR Commands, DWORD CommandBufferLength, LPWSTR ExeName ); __declspec(dllimport) DWORD __stdcall GetConsoleProcessList( LPDWORD lpdwProcessList, DWORD dwProcessCount ); #pragma endregion } #pragma warning(pop) } #pragma region Application Family or OneCore Family or Games Family #pragma endregion #pragma region Desktop Family or OneCore Family or Games Family extern "C" { typedef struct tagVS_FIXEDFILEINFO { DWORD dwSignature; DWORD dwStrucVersion; DWORD dwFileVersionMS; DWORD dwFileVersionLS; DWORD dwProductVersionMS; DWORD dwProductVersionLS; DWORD dwFileFlagsMask; DWORD dwFileFlags; DWORD dwFileOS; DWORD dwFileType; DWORD dwFileSubtype; DWORD dwFileDateMS; DWORD dwFileDateLS; } VS_FIXEDFILEINFO; } #pragma endregion extern "C" { #pragma region Desktop Family or OneCore Family DWORD __stdcall VerFindFileA( DWORD uFlags, LPCSTR szFileName, LPCSTR szWinDir, LPCSTR szAppDir, LPSTR szCurDir, PUINT puCurDirLen, LPSTR szDestDir, PUINT puDestDirLen ); DWORD __stdcall VerFindFileW( DWORD uFlags, LPCWSTR szFileName, LPCWSTR szWinDir, LPCWSTR szAppDir, LPWSTR szCurDir, PUINT puCurDirLen, LPWSTR szDestDir, PUINT puDestDirLen ); #pragma endregion #pragma region Desktop Family DWORD __stdcall VerInstallFileA( DWORD uFlags, LPCSTR szSrcFileName, LPCSTR szDestFileName, LPCSTR szSrcDir, LPCSTR szDestDir, LPCSTR szCurDir, LPSTR szTmpFile, PUINT puTmpFileLen ); DWORD __stdcall VerInstallFileW( DWORD uFlags, LPCWSTR szSrcFileName, LPCWSTR szDestFileName, LPCWSTR szSrcDir, LPCWSTR szDestDir, LPCWSTR szCurDir, LPWSTR szTmpFile, PUINT puTmpFileLen ); #pragma endregion #pragma region Application Family or OneCore Family DWORD __stdcall GetFileVersionInfoSizeA( LPCSTR lptstrFilename, LPDWORD lpdwHandle ); DWORD __stdcall GetFileVersionInfoSizeW( LPCWSTR lptstrFilename, LPDWORD lpdwHandle ); BOOL __stdcall GetFileVersionInfoA( LPCSTR lptstrFilename, DWORD dwHandle, DWORD dwLen, LPVOID lpData ); BOOL __stdcall GetFileVersionInfoW( LPCWSTR lptstrFilename, DWORD dwHandle, DWORD dwLen, LPVOID lpData ); DWORD __stdcall GetFileVersionInfoSizeExA( DWORD dwFlags, LPCSTR lpwstrFilename, LPDWORD lpdwHandle); DWORD __stdcall GetFileVersionInfoSizeExW( DWORD dwFlags, LPCWSTR lpwstrFilename, LPDWORD lpdwHandle); BOOL __stdcall GetFileVersionInfoExA( DWORD dwFlags, LPCSTR lpwstrFilename, DWORD dwHandle, DWORD dwLen, LPVOID lpData); BOOL __stdcall GetFileVersionInfoExW( DWORD dwFlags, LPCWSTR lpwstrFilename, DWORD dwHandle, DWORD dwLen, LPVOID lpData); #pragma endregion #pragma region Desktop Family #pragma endregion #pragma region Application Family or OneCore Family DWORD __stdcall VerLanguageNameA( DWORD wLang, LPSTR szLang, DWORD cchLang ); DWORD __stdcall VerLanguageNameW( DWORD wLang, LPWSTR szLang, DWORD cchLang ); BOOL __stdcall VerQueryValueA( LPCVOID pBlock, LPCSTR lpSubBlock, LPVOID * lplpBuffer, PUINT puLen ); BOOL __stdcall VerQueryValueW( LPCVOID pBlock, LPCWSTR lpSubBlock, LPVOID * lplpBuffer, PUINT puLen ); #pragma endregion } extern "C" { #pragma warning(push) #pragma warning(disable:4820) #pragma region Application Family or Desktop Family or OneCore Family #pragma endregion #pragma region Application Family or Desktop Family or OneCore Family or Games Family typedef LONG LSTATUS; #pragma endregion #pragma region Application Family or Desktop Family or OneCore Family #pragma endregion #pragma region Application Family or Desktop Family or OneCore Family or Games Family typedef ACCESS_MASK REGSAM; #pragma endregion #pragma region Application Family or Desktop Family or OneCore Family struct val_context { int valuelen; LPVOID value_context; LPVOID val_buff_ptr; }; typedef struct val_context *PVALCONTEXT; typedef struct pvalueA { LPSTR pv_valuename; int pv_valuelen; LPVOID pv_value_context; DWORD pv_type; }PVALUEA, *PPVALUEA; typedef struct pvalueW { LPWSTR pv_valuename; int pv_valuelen; LPVOID pv_value_context; DWORD pv_type; }PVALUEW, *PPVALUEW; typedef PVALUEW PVALUE; typedef PPVALUEW PPVALUE; typedef DWORD __cdecl QUERYHANDLER (LPVOID keycontext, PVALCONTEXT val_list, DWORD num_vals, LPVOID outputbuffer, DWORD *total_outlen, DWORD input_blen); typedef QUERYHANDLER *PQUERYHANDLER; typedef struct provider_info { PQUERYHANDLER pi_R0_1val; PQUERYHANDLER pi_R0_allvals; PQUERYHANDLER pi_R3_1val; PQUERYHANDLER pi_R3_allvals; DWORD pi_flags; LPVOID pi_key_context; }REG_PROVIDER; typedef struct provider_info *PPROVIDER; typedef struct value_entA { LPSTR ve_valuename; DWORD ve_valuelen; DWORD_PTR ve_valueptr; DWORD ve_type; }VALENTA, *PVALENTA; typedef struct value_entW { LPWSTR ve_valuename; DWORD ve_valuelen; DWORD_PTR ve_valueptr; DWORD ve_type; }VALENTW, *PVALENTW; typedef VALENTW VALENT; typedef PVALENTW PVALENT; #pragma endregion #pragma region Desktop Family or OneCore Family #pragma endregion #pragma region Desktop Family or OneCore Family or Games Family __declspec(dllimport) LSTATUS __stdcall RegCloseKey( HKEY hKey ); #pragma endregion #pragma region Desktop Family or OneCore Family __declspec(dllimport) LSTATUS __stdcall RegOverridePredefKey ( HKEY hKey, HKEY hNewHKey ); __declspec(dllimport) LSTATUS __stdcall RegOpenUserClassesRoot( HANDLE hToken, DWORD dwOptions, REGSAM samDesired, PHKEY phkResult ); __declspec(dllimport) LSTATUS __stdcall RegOpenCurrentUser( REGSAM samDesired, PHKEY phkResult ); __declspec(dllimport) LSTATUS __stdcall RegDisablePredefinedCache( void ); __declspec(dllimport) LSTATUS __stdcall RegDisablePredefinedCacheEx( void ); __declspec(dllimport) LSTATUS __stdcall RegConnectRegistryA ( LPCSTR lpMachineName, HKEY hKey, PHKEY phkResult ); __declspec(dllimport) LSTATUS __stdcall RegConnectRegistryW ( LPCWSTR lpMachineName, HKEY hKey, PHKEY phkResult ); __declspec(dllimport) LSTATUS __stdcall RegConnectRegistryExA ( LPCSTR lpMachineName, HKEY hKey, ULONG Flags, PHKEY phkResult ); __declspec(dllimport) LSTATUS __stdcall RegConnectRegistryExW ( LPCWSTR lpMachineName, HKEY hKey, ULONG Flags, PHKEY phkResult ); #pragma endregion #pragma region Desktop Family or OneCore Family or Games Family __declspec(dllimport) LSTATUS __stdcall RegCreateKeyA ( HKEY hKey, LPCSTR lpSubKey, PHKEY phkResult ); __declspec(dllimport) LSTATUS __stdcall RegCreateKeyW ( HKEY hKey, LPCWSTR lpSubKey, PHKEY phkResult ); __declspec(dllimport) LSTATUS __stdcall RegCreateKeyExA( HKEY hKey, LPCSTR lpSubKey, DWORD Reserved, LPSTR lpClass, DWORD dwOptions, REGSAM samDesired, const LPSECURITY_ATTRIBUTES lpSecurityAttributes, PHKEY phkResult, LPDWORD lpdwDisposition ); __declspec(dllimport) LSTATUS __stdcall RegCreateKeyExW( HKEY hKey, LPCWSTR lpSubKey, DWORD Reserved, LPWSTR lpClass, DWORD dwOptions, REGSAM samDesired, const LPSECURITY_ATTRIBUTES lpSecurityAttributes, PHKEY phkResult, LPDWORD lpdwDisposition ); #pragma endregion #pragma region Desktop Family or OneCore Family __declspec(dllimport) LSTATUS __stdcall RegCreateKeyTransactedA ( HKEY hKey, LPCSTR lpSubKey, DWORD Reserved, LPSTR lpClass, DWORD dwOptions, REGSAM samDesired, const LPSECURITY_ATTRIBUTES lpSecurityAttributes, PHKEY phkResult, LPDWORD lpdwDisposition, HANDLE hTransaction, PVOID pExtendedParemeter ); __declspec(dllimport) LSTATUS __stdcall RegCreateKeyTransactedW ( HKEY hKey, LPCWSTR lpSubKey, DWORD Reserved, LPWSTR lpClass, DWORD dwOptions, REGSAM samDesired, const LPSECURITY_ATTRIBUTES lpSecurityAttributes, PHKEY phkResult, LPDWORD lpdwDisposition, HANDLE hTransaction, PVOID pExtendedParemeter ); #pragma endregion #pragma region Desktop Family or OneCore Family or Games Family __declspec(dllimport) LSTATUS __stdcall RegDeleteKeyA ( HKEY hKey, LPCSTR lpSubKey ); __declspec(dllimport) LSTATUS __stdcall RegDeleteKeyW ( HKEY hKey, LPCWSTR lpSubKey ); __declspec(dllimport) LSTATUS __stdcall RegDeleteKeyExA( HKEY hKey, LPCSTR lpSubKey, REGSAM samDesired, DWORD Reserved ); __declspec(dllimport) LSTATUS __stdcall RegDeleteKeyExW( HKEY hKey, LPCWSTR lpSubKey, REGSAM samDesired, DWORD Reserved ); #pragma endregion #pragma region Desktop Family or OneCore Family __declspec(dllimport) LSTATUS __stdcall RegDeleteKeyTransactedA ( HKEY hKey, LPCSTR lpSubKey, REGSAM samDesired, DWORD Reserved, HANDLE hTransaction, PVOID pExtendedParameter ); __declspec(dllimport) LSTATUS __stdcall RegDeleteKeyTransactedW ( HKEY hKey, LPCWSTR lpSubKey, REGSAM samDesired, DWORD Reserved, HANDLE hTransaction, PVOID pExtendedParameter ); __declspec(dllimport) LONG __stdcall RegDisableReflectionKey ( HKEY hBase ); __declspec(dllimport) LONG __stdcall RegEnableReflectionKey ( HKEY hBase ); __declspec(dllimport) LONG __stdcall RegQueryReflectionKey ( HKEY hBase, BOOL *bIsReflectionDisabled ); #pragma endregion #pragma region Desktop Family or OneCore Family or Games Family __declspec(dllimport) LSTATUS __stdcall RegDeleteValueA( HKEY hKey, LPCSTR lpValueName ); __declspec(dllimport) LSTATUS __stdcall RegDeleteValueW( HKEY hKey, LPCWSTR lpValueName ); __declspec(dllimport) LSTATUS __stdcall RegEnumKeyA ( HKEY hKey, DWORD dwIndex, LPSTR lpName, DWORD cchName ); __declspec(dllimport) LSTATUS __stdcall RegEnumKeyW ( HKEY hKey, DWORD dwIndex, LPWSTR lpName, DWORD cchName ); __declspec(dllimport) LSTATUS __stdcall RegEnumKeyExA( HKEY hKey, DWORD dwIndex, LPSTR lpName, LPDWORD lpcchName, LPDWORD lpReserved, LPSTR lpClass, LPDWORD lpcchClass, PFILETIME lpftLastWriteTime ); __declspec(dllimport) LSTATUS __stdcall RegEnumKeyExW( HKEY hKey, DWORD dwIndex, LPWSTR lpName, LPDWORD lpcchName, LPDWORD lpReserved, LPWSTR lpClass, LPDWORD lpcchClass, PFILETIME lpftLastWriteTime ); __declspec(dllimport) LSTATUS __stdcall RegEnumValueA( HKEY hKey, DWORD dwIndex, LPSTR lpValueName, LPDWORD lpcchValueName, LPDWORD lpReserved, LPDWORD lpType, LPBYTE lpData, LPDWORD lpcbData ); __declspec(dllimport) LSTATUS __stdcall RegEnumValueW( HKEY hKey, DWORD dwIndex, LPWSTR lpValueName, LPDWORD lpcchValueName, LPDWORD lpReserved, LPDWORD lpType, LPBYTE lpData, LPDWORD lpcbData ); #pragma endregion #pragma region Desktop Family or OneCore Family __declspec(dllimport) LSTATUS __stdcall RegFlushKey( HKEY hKey ); __declspec(dllimport) LSTATUS __stdcall RegGetKeySecurity( HKEY hKey, SECURITY_INFORMATION SecurityInformation, PSECURITY_DESCRIPTOR pSecurityDescriptor, LPDWORD lpcbSecurityDescriptor ); __declspec(dllimport) LSTATUS __stdcall RegLoadKeyA( HKEY hKey, LPCSTR lpSubKey, LPCSTR lpFile ); __declspec(dllimport) LSTATUS __stdcall RegLoadKeyW( HKEY hKey, LPCWSTR lpSubKey, LPCWSTR lpFile ); __declspec(dllimport) LSTATUS __stdcall RegNotifyChangeKeyValue( HKEY hKey, BOOL bWatchSubtree, DWORD dwNotifyFilter, HANDLE hEvent, BOOL fAsynchronous ); #pragma endregion #pragma region Desktop Family or OneCore Family or Games Family __declspec(dllimport) LSTATUS __stdcall RegOpenKeyA ( HKEY hKey, LPCSTR lpSubKey, PHKEY phkResult ); __declspec(dllimport) LSTATUS __stdcall RegOpenKeyW ( HKEY hKey, LPCWSTR lpSubKey, PHKEY phkResult ); __declspec(dllimport) LSTATUS __stdcall RegOpenKeyExA( HKEY hKey, LPCSTR lpSubKey, DWORD ulOptions, REGSAM samDesired, PHKEY phkResult ); __declspec(dllimport) LSTATUS __stdcall RegOpenKeyExW( HKEY hKey, LPCWSTR lpSubKey, DWORD ulOptions, REGSAM samDesired, PHKEY phkResult ); #pragma endregion #pragma region Desktop Family or OneCore Family __declspec(dllimport) LSTATUS __stdcall RegOpenKeyTransactedA ( HKEY hKey, LPCSTR lpSubKey, DWORD ulOptions, REGSAM samDesired, PHKEY phkResult, HANDLE hTransaction, PVOID pExtendedParemeter ); __declspec(dllimport) LSTATUS __stdcall RegOpenKeyTransactedW ( HKEY hKey, LPCWSTR lpSubKey, DWORD ulOptions, REGSAM samDesired, PHKEY phkResult, HANDLE hTransaction, PVOID pExtendedParemeter ); #pragma endregion #pragma region Desktop Family or OneCore Family or Games Family __declspec(dllimport) LSTATUS __stdcall RegQueryInfoKeyA( HKEY hKey, LPSTR lpClass, LPDWORD lpcchClass, LPDWORD lpReserved, LPDWORD lpcSubKeys, LPDWORD lpcbMaxSubKeyLen, LPDWORD lpcbMaxClassLen, LPDWORD lpcValues, LPDWORD lpcbMaxValueNameLen, LPDWORD lpcbMaxValueLen, LPDWORD lpcbSecurityDescriptor, PFILETIME lpftLastWriteTime ); __declspec(dllimport) LSTATUS __stdcall RegQueryInfoKeyW( HKEY hKey, LPWSTR lpClass, LPDWORD lpcchClass, LPDWORD lpReserved, LPDWORD lpcSubKeys, LPDWORD lpcbMaxSubKeyLen, LPDWORD lpcbMaxClassLen, LPDWORD lpcValues, LPDWORD lpcbMaxValueNameLen, LPDWORD lpcbMaxValueLen, LPDWORD lpcbSecurityDescriptor, PFILETIME lpftLastWriteTime ); #pragma endregion #pragma region Desktop Family or OneCore Family __declspec(dllimport) LSTATUS __stdcall RegQueryValueA ( HKEY hKey, LPCSTR lpSubKey, LPSTR lpData, PLONG lpcbData ); __declspec(dllimport) LSTATUS __stdcall RegQueryValueW ( HKEY hKey, LPCWSTR lpSubKey, LPWSTR lpData, PLONG lpcbData ); __declspec(dllimport) LSTATUS __stdcall RegQueryMultipleValuesA( HKEY hKey, PVALENTA val_list, DWORD num_vals, LPSTR lpValueBuf, LPDWORD ldwTotsize ); __declspec(dllimport) LSTATUS __stdcall RegQueryMultipleValuesW( HKEY hKey, PVALENTW val_list, DWORD num_vals, LPWSTR lpValueBuf, LPDWORD ldwTotsize ); #pragma endregion #pragma region Desktop Family or OneCore Family or Games Family __declspec(dllimport) LSTATUS __stdcall RegQueryValueExA( HKEY hKey, LPCSTR lpValueName, LPDWORD lpReserved, LPDWORD lpType, LPBYTE lpData, LPDWORD lpcbData ); __declspec(dllimport) LSTATUS __stdcall RegQueryValueExW( HKEY hKey, LPCWSTR lpValueName, LPDWORD lpReserved, LPDWORD lpType, LPBYTE lpData, LPDWORD lpcbData ); #pragma endregion #pragma region Desktop Family or OneCore Family __declspec(dllimport) LSTATUS __stdcall RegReplaceKeyA ( HKEY hKey, LPCSTR lpSubKey, LPCSTR lpNewFile, LPCSTR lpOldFile ); __declspec(dllimport) LSTATUS __stdcall RegReplaceKeyW ( HKEY hKey, LPCWSTR lpSubKey, LPCWSTR lpNewFile, LPCWSTR lpOldFile ); __declspec(dllimport) LSTATUS __stdcall RegRestoreKeyA( HKEY hKey, LPCSTR lpFile, DWORD dwFlags ); __declspec(dllimport) LSTATUS __stdcall RegRestoreKeyW( HKEY hKey, LPCWSTR lpFile, DWORD dwFlags ); __declspec(dllimport) LSTATUS __stdcall RegRenameKey( HKEY hKey, LPCWSTR lpSubKeyName, LPCWSTR lpNewKeyName ); __declspec(dllimport) LSTATUS __stdcall RegSaveKeyA ( HKEY hKey, LPCSTR lpFile, const LPSECURITY_ATTRIBUTES lpSecurityAttributes ); __declspec(dllimport) LSTATUS __stdcall RegSaveKeyW ( HKEY hKey, LPCWSTR lpFile, const LPSECURITY_ATTRIBUTES lpSecurityAttributes ); __declspec(dllimport) LSTATUS __stdcall RegSetKeySecurity( HKEY hKey, SECURITY_INFORMATION SecurityInformation, PSECURITY_DESCRIPTOR pSecurityDescriptor ); __declspec(dllimport) LSTATUS __stdcall RegSetValueA ( HKEY hKey, LPCSTR lpSubKey, DWORD dwType, LPCSTR lpData, DWORD cbData ); __declspec(dllimport) LSTATUS __stdcall RegSetValueW ( HKEY hKey, LPCWSTR lpSubKey, DWORD dwType, LPCWSTR lpData, DWORD cbData ); #pragma endregion #pragma region Desktop Family or OneCore Family or Games Family __declspec(dllimport) LSTATUS __stdcall RegSetValueExA( HKEY hKey, LPCSTR lpValueName, DWORD Reserved, DWORD dwType, const BYTE* lpData, DWORD cbData ); __declspec(dllimport) LSTATUS __stdcall RegSetValueExW( HKEY hKey, LPCWSTR lpValueName, DWORD Reserved, DWORD dwType, const BYTE* lpData, DWORD cbData ); #pragma endregion #pragma region Desktop Family or OneCore Family __declspec(dllimport) LSTATUS __stdcall RegUnLoadKeyA( HKEY hKey, LPCSTR lpSubKey ); __declspec(dllimport) LSTATUS __stdcall RegUnLoadKeyW( HKEY hKey, LPCWSTR lpSubKey ); __declspec(dllimport) LSTATUS __stdcall RegDeleteKeyValueA( HKEY hKey, LPCSTR lpSubKey, LPCSTR lpValueName ); __declspec(dllimport) LSTATUS __stdcall RegDeleteKeyValueW( HKEY hKey, LPCWSTR lpSubKey, LPCWSTR lpValueName ); __declspec(dllimport) LSTATUS __stdcall RegSetKeyValueA( HKEY hKey, LPCSTR lpSubKey, LPCSTR lpValueName, DWORD dwType, LPCVOID lpData, DWORD cbData ); __declspec(dllimport) LSTATUS __stdcall RegSetKeyValueW( HKEY hKey, LPCWSTR lpSubKey, LPCWSTR lpValueName, DWORD dwType, LPCVOID lpData, DWORD cbData ); __declspec(dllimport) LSTATUS __stdcall RegDeleteTreeA( HKEY hKey, LPCSTR lpSubKey ); __declspec(dllimport) LSTATUS __stdcall RegDeleteTreeW( HKEY hKey, LPCWSTR lpSubKey ); __declspec(dllimport) LSTATUS __stdcall RegCopyTreeA ( HKEY hKeySrc, LPCSTR lpSubKey, HKEY hKeyDest ); __declspec(dllimport) LSTATUS __stdcall RegGetValueA( HKEY hkey, LPCSTR lpSubKey, LPCSTR lpValue, DWORD dwFlags, LPDWORD pdwType, PVOID pvData, LPDWORD pcbData ); __declspec(dllimport) LSTATUS __stdcall RegGetValueW( HKEY hkey, LPCWSTR lpSubKey, LPCWSTR lpValue, DWORD dwFlags, LPDWORD pdwType, PVOID pvData, LPDWORD pcbData ); __declspec(dllimport) LSTATUS __stdcall RegCopyTreeW( HKEY hKeySrc, LPCWSTR lpSubKey, HKEY hKeyDest ); __declspec(dllimport) LSTATUS __stdcall RegLoadMUIStringA( HKEY hKey, LPCSTR pszValue, LPSTR pszOutBuf, DWORD cbOutBuf, LPDWORD pcbData, DWORD Flags, LPCSTR pszDirectory ); __declspec(dllimport) LSTATUS __stdcall RegLoadMUIStringW( HKEY hKey, LPCWSTR pszValue, LPWSTR pszOutBuf, DWORD cbOutBuf, LPDWORD pcbData, DWORD Flags, LPCWSTR pszDirectory ); __declspec(dllimport) LSTATUS __stdcall RegLoadAppKeyA( LPCSTR lpFile, PHKEY phkResult, REGSAM samDesired, DWORD dwOptions, DWORD Reserved ); __declspec(dllimport) LSTATUS __stdcall RegLoadAppKeyW( LPCWSTR lpFile, PHKEY phkResult, REGSAM samDesired, DWORD dwOptions, DWORD Reserved ); __declspec(dllimport) BOOL __stdcall InitiateSystemShutdownA( LPSTR lpMachineName, LPSTR lpMessage, DWORD dwTimeout, BOOL bForceAppsClosed, BOOL bRebootAfterShutdown ); __declspec(dllimport) BOOL __stdcall InitiateSystemShutdownW( LPWSTR lpMachineName, LPWSTR lpMessage, DWORD dwTimeout, BOOL bForceAppsClosed, BOOL bRebootAfterShutdown ); __declspec(dllimport) BOOL __stdcall AbortSystemShutdownA( LPSTR lpMachineName ); __declspec(dllimport) BOOL __stdcall AbortSystemShutdownW( LPWSTR lpMachineName ); #pragma once #pragma region Desktop Family #pragma endregion __declspec(dllimport) BOOL __stdcall InitiateSystemShutdownExA( LPSTR lpMachineName, LPSTR lpMessage, DWORD dwTimeout, BOOL bForceAppsClosed, BOOL bRebootAfterShutdown, DWORD dwReason ); __declspec(dllimport) BOOL __stdcall InitiateSystemShutdownExW( LPWSTR lpMachineName, LPWSTR lpMessage, DWORD dwTimeout, BOOL bForceAppsClosed, BOOL bRebootAfterShutdown, DWORD dwReason ); __declspec(dllimport) DWORD __stdcall InitiateShutdownA( LPSTR lpMachineName, LPSTR lpMessage, DWORD dwGracePeriod, DWORD dwShutdownFlags, DWORD dwReason ); __declspec(dllimport) DWORD __stdcall InitiateShutdownW( LPWSTR lpMachineName, LPWSTR lpMessage, DWORD dwGracePeriod, DWORD dwShutdownFlags, DWORD dwReason ); __declspec(dllimport) DWORD __stdcall CheckForHiberboot( PBOOLEAN pHiberboot, BOOLEAN bClearFlag ); __declspec(dllimport) LSTATUS __stdcall RegSaveKeyExA( HKEY hKey, LPCSTR lpFile, const LPSECURITY_ATTRIBUTES lpSecurityAttributes, DWORD Flags ); __declspec(dllimport) LSTATUS __stdcall RegSaveKeyExW( HKEY hKey, LPCWSTR lpFile, const LPSECURITY_ATTRIBUTES lpSecurityAttributes, DWORD Flags ); #pragma endregion #pragma warning(pop) } #pragma once extern "C" { #pragma warning(push) #pragma warning(disable:4820) #pragma region Desktop Family or System Family #pragma region Desktop Family or OneCore Family #pragma endregion typedef struct _NETRESOURCEA { DWORD dwScope; DWORD dwType; DWORD dwDisplayType; DWORD dwUsage; LPSTR lpLocalName; LPSTR lpRemoteName; LPSTR lpComment ; LPSTR lpProvider; }NETRESOURCEA, *LPNETRESOURCEA; typedef struct _NETRESOURCEW { DWORD dwScope; DWORD dwType; DWORD dwDisplayType; DWORD dwUsage; LPWSTR lpLocalName; LPWSTR lpRemoteName; LPWSTR lpComment ; LPWSTR lpProvider; }NETRESOURCEW, *LPNETRESOURCEW; typedef NETRESOURCEW NETRESOURCE; typedef LPNETRESOURCEW LPNETRESOURCE; DWORD __stdcall WNetAddConnectionA( LPCSTR lpRemoteName, LPCSTR lpPassword, LPCSTR lpLocalName ); DWORD __stdcall WNetAddConnectionW( LPCWSTR lpRemoteName, LPCWSTR lpPassword, LPCWSTR lpLocalName ); DWORD __stdcall WNetAddConnection2A( LPNETRESOURCEA lpNetResource, LPCSTR lpPassword, LPCSTR lpUserName, DWORD dwFlags ); DWORD __stdcall WNetAddConnection2W( LPNETRESOURCEW lpNetResource, LPCWSTR lpPassword, LPCWSTR lpUserName, DWORD dwFlags ); DWORD __stdcall WNetAddConnection3A( HWND hwndOwner, LPNETRESOURCEA lpNetResource, LPCSTR lpPassword, LPCSTR lpUserName, DWORD dwFlags ); DWORD __stdcall WNetAddConnection3W( HWND hwndOwner, LPNETRESOURCEW lpNetResource, LPCWSTR lpPassword, LPCWSTR lpUserName, DWORD dwFlags ); DWORD __stdcall WNetAddConnection4A( HWND hwndOwner, LPNETRESOURCEA lpNetResource, PVOID pAuthBuffer, DWORD cbAuthBuffer, DWORD dwFlags, PBYTE lpUseOptions, DWORD cbUseOptions ); DWORD __stdcall WNetAddConnection4W( HWND hwndOwner, LPNETRESOURCEW lpNetResource, PVOID pAuthBuffer, DWORD cbAuthBuffer, DWORD dwFlags, PBYTE lpUseOptions, DWORD cbUseOptions ); DWORD __stdcall WNetCancelConnectionA( LPCSTR lpName, BOOL fForce ); DWORD __stdcall WNetCancelConnectionW( LPCWSTR lpName, BOOL fForce ); DWORD __stdcall WNetCancelConnection2A( LPCSTR lpName, DWORD dwFlags, BOOL fForce ); DWORD __stdcall WNetCancelConnection2W( LPCWSTR lpName, DWORD dwFlags, BOOL fForce ); DWORD __stdcall WNetGetConnectionA( LPCSTR lpLocalName, LPSTR lpRemoteName, LPDWORD lpnLength ); DWORD __stdcall WNetGetConnectionW( LPCWSTR lpLocalName, LPWSTR lpRemoteName, LPDWORD lpnLength ); #pragma endregion #pragma region Desktop Family DWORD __stdcall WNetRestoreSingleConnectionW( HWND hwndParent, LPCWSTR lpDevice, BOOL fUseUI ); #pragma endregion #pragma region Desktop Family or System Family DWORD __stdcall WNetUseConnectionA( HWND hwndOwner, LPNETRESOURCEA lpNetResource, LPCSTR lpPassword, LPCSTR lpUserId, DWORD dwFlags, LPSTR lpAccessName, LPDWORD lpBufferSize, LPDWORD lpResult ); DWORD __stdcall WNetUseConnectionW( HWND hwndOwner, LPNETRESOURCEW lpNetResource, LPCWSTR lpPassword, LPCWSTR lpUserId, DWORD dwFlags, LPWSTR lpAccessName, LPDWORD lpBufferSize, LPDWORD lpResult ); DWORD __stdcall WNetUseConnection4A( HWND hwndOwner, LPNETRESOURCEA lpNetResource, PVOID pAuthBuffer, DWORD cbAuthBuffer, DWORD dwFlags, PBYTE lpUseOptions, DWORD cbUseOptions, LPSTR lpAccessName, LPDWORD lpBufferSize, LPDWORD lpResult ); DWORD __stdcall WNetUseConnection4W( HWND hwndOwner, LPNETRESOURCEW lpNetResource, PVOID pAuthBuffer, DWORD cbAuthBuffer, DWORD dwFlags, PBYTE lpUseOptions, DWORD cbUseOptions, LPWSTR lpAccessName, LPDWORD lpBufferSize, LPDWORD lpResult ); DWORD __stdcall WNetConnectionDialog( HWND hwnd, DWORD dwType ); DWORD __stdcall WNetDisconnectDialog( HWND hwnd, DWORD dwType ); typedef struct _CONNECTDLGSTRUCTA{ DWORD cbStructure; HWND hwndOwner; LPNETRESOURCEA lpConnRes; DWORD dwFlags; DWORD dwDevNum; } CONNECTDLGSTRUCTA, *LPCONNECTDLGSTRUCTA; typedef struct _CONNECTDLGSTRUCTW{ DWORD cbStructure; HWND hwndOwner; LPNETRESOURCEW lpConnRes; DWORD dwFlags; DWORD dwDevNum; } CONNECTDLGSTRUCTW, *LPCONNECTDLGSTRUCTW; typedef CONNECTDLGSTRUCTW CONNECTDLGSTRUCT; typedef LPCONNECTDLGSTRUCTW LPCONNECTDLGSTRUCT; DWORD __stdcall WNetConnectionDialog1A( LPCONNECTDLGSTRUCTA lpConnDlgStruct ); DWORD __stdcall WNetConnectionDialog1W( LPCONNECTDLGSTRUCTW lpConnDlgStruct ); typedef struct _DISCDLGSTRUCTA{ DWORD cbStructure; HWND hwndOwner; LPSTR lpLocalName; LPSTR lpRemoteName; DWORD dwFlags; } DISCDLGSTRUCTA, *LPDISCDLGSTRUCTA; typedef struct _DISCDLGSTRUCTW{ DWORD cbStructure; HWND hwndOwner; LPWSTR lpLocalName; LPWSTR lpRemoteName; DWORD dwFlags; } DISCDLGSTRUCTW, *LPDISCDLGSTRUCTW; typedef DISCDLGSTRUCTW DISCDLGSTRUCT; typedef LPDISCDLGSTRUCTW LPDISCDLGSTRUCT; DWORD __stdcall WNetDisconnectDialog1A( LPDISCDLGSTRUCTA lpConnDlgStruct ); DWORD __stdcall WNetDisconnectDialog1W( LPDISCDLGSTRUCTW lpConnDlgStruct ); DWORD __stdcall WNetOpenEnumA( DWORD dwScope, DWORD dwType, DWORD dwUsage, LPNETRESOURCEA lpNetResource, LPHANDLE lphEnum ); DWORD __stdcall WNetOpenEnumW( DWORD dwScope, DWORD dwType, DWORD dwUsage, LPNETRESOURCEW lpNetResource, LPHANDLE lphEnum ); DWORD __stdcall WNetEnumResourceA( HANDLE hEnum, LPDWORD lpcCount, LPVOID lpBuffer, LPDWORD lpBufferSize ); DWORD __stdcall WNetEnumResourceW( HANDLE hEnum, LPDWORD lpcCount, LPVOID lpBuffer, LPDWORD lpBufferSize ); DWORD __stdcall WNetCloseEnum( HANDLE hEnum ); DWORD __stdcall WNetGetResourceParentA( LPNETRESOURCEA lpNetResource, LPVOID lpBuffer, LPDWORD lpcbBuffer ); DWORD __stdcall WNetGetResourceParentW( LPNETRESOURCEW lpNetResource, LPVOID lpBuffer, LPDWORD lpcbBuffer ); DWORD __stdcall WNetGetResourceInformationA( LPNETRESOURCEA lpNetResource, LPVOID lpBuffer, LPDWORD lpcbBuffer, LPSTR *lplpSystem ); DWORD __stdcall WNetGetResourceInformationW( LPNETRESOURCEW lpNetResource, LPVOID lpBuffer, LPDWORD lpcbBuffer, LPWSTR *lplpSystem ); typedef struct _UNIVERSAL_NAME_INFOA { LPSTR lpUniversalName; }UNIVERSAL_NAME_INFOA, *LPUNIVERSAL_NAME_INFOA; typedef struct _UNIVERSAL_NAME_INFOW { LPWSTR lpUniversalName; }UNIVERSAL_NAME_INFOW, *LPUNIVERSAL_NAME_INFOW; typedef UNIVERSAL_NAME_INFOW UNIVERSAL_NAME_INFO; typedef LPUNIVERSAL_NAME_INFOW LPUNIVERSAL_NAME_INFO; typedef struct _REMOTE_NAME_INFOA { LPSTR lpUniversalName; LPSTR lpConnectionName; LPSTR lpRemainingPath; }REMOTE_NAME_INFOA, *LPREMOTE_NAME_INFOA; typedef struct _REMOTE_NAME_INFOW { LPWSTR lpUniversalName; LPWSTR lpConnectionName; LPWSTR lpRemainingPath; }REMOTE_NAME_INFOW, *LPREMOTE_NAME_INFOW; typedef REMOTE_NAME_INFOW REMOTE_NAME_INFO; typedef LPREMOTE_NAME_INFOW LPREMOTE_NAME_INFO; DWORD __stdcall WNetGetUniversalNameA( LPCSTR lpLocalPath, DWORD dwInfoLevel, LPVOID lpBuffer, LPDWORD lpBufferSize ); DWORD __stdcall WNetGetUniversalNameW( LPCWSTR lpLocalPath, DWORD dwInfoLevel, LPVOID lpBuffer, LPDWORD lpBufferSize ); DWORD __stdcall WNetGetUserA( LPCSTR lpName, LPSTR lpUserName, LPDWORD lpnLength ); DWORD __stdcall WNetGetUserW( LPCWSTR lpName, LPWSTR lpUserName, LPDWORD lpnLength ); DWORD __stdcall WNetGetProviderNameA( DWORD dwNetType, LPSTR lpProviderName, LPDWORD lpBufferSize ); DWORD __stdcall WNetGetProviderNameW( DWORD dwNetType, LPWSTR lpProviderName, LPDWORD lpBufferSize ); typedef struct _NETINFOSTRUCT{ DWORD cbStructure; DWORD dwProviderVersion; DWORD dwStatus; DWORD dwCharacteristics; ULONG_PTR dwHandle; WORD wNetType; DWORD dwPrinters; DWORD dwDrives; } NETINFOSTRUCT, *LPNETINFOSTRUCT; DWORD __stdcall WNetGetNetworkInformationA( LPCSTR lpProvider, LPNETINFOSTRUCT lpNetInfoStruct ); DWORD __stdcall WNetGetNetworkInformationW( LPCWSTR lpProvider, LPNETINFOSTRUCT lpNetInfoStruct ); DWORD __stdcall WNetGetLastErrorA( LPDWORD lpError, LPSTR lpErrorBuf, DWORD nErrorBufSize, LPSTR lpNameBuf, DWORD nNameBufSize ); DWORD __stdcall WNetGetLastErrorW( LPDWORD lpError, LPWSTR lpErrorBuf, DWORD nErrorBufSize, LPWSTR lpNameBuf, DWORD nNameBufSize ); typedef struct _NETCONNECTINFOSTRUCT{ DWORD cbStructure; DWORD dwFlags; DWORD dwSpeed; DWORD dwDelay; DWORD dwOptDataSize; } NETCONNECTINFOSTRUCT, *LPNETCONNECTINFOSTRUCT; DWORD __stdcall MultinetGetConnectionPerformanceA( LPNETRESOURCEA lpNetResource, LPNETCONNECTINFOSTRUCT lpNetConnectInfoStruct ); DWORD __stdcall MultinetGetConnectionPerformanceW( LPNETRESOURCEW lpNetResource, LPNETCONNECTINFOSTRUCT lpNetConnectInfoStruct ); #pragma endregion #pragma warning(pop) } extern "C" { #pragma region Desktop Family #pragma warning(push) #pragma warning(disable:4127) LPUWSTR __stdcall uaw_CharUpperW( LPUWSTR String ); int __stdcall uaw_lstrcmpW( PCUWSTR String1, PCUWSTR String2 ); int __stdcall uaw_lstrcmpiW( PCUWSTR String1, PCUWSTR String2 ); int __stdcall uaw_lstrlenW( LPCUWSTR String ); PUWSTR __cdecl uaw_wcschr( PCUWSTR String, WCHAR Character ); PUWSTR __cdecl uaw_wcscpy( PUWSTR Destination, PCUWSTR Source ); int __cdecl uaw_wcsicmp( PCUWSTR String1, PCUWSTR String2 ); size_t __cdecl uaw_wcslen( PCUWSTR String ); PUWSTR __cdecl uaw_wcsrchr( PCUWSTR String, WCHAR Character ); __inline LPUWSTR static ua_CharUpperW( LPUWSTR String ) { if (1) { return CharUpperW( (PWSTR)String ); } else { return uaw_CharUpperW( String ); } } __inline int static ua_lstrcmpW( LPCUWSTR String1, LPCUWSTR String2 ) { if (1 && 1) { return lstrcmpW( (LPCWSTR)String1, (LPCWSTR)String2); } else { return uaw_lstrcmpW( String1, String2 ); } } __inline int static ua_lstrcmpiW( LPCUWSTR String1, LPCUWSTR String2 ) { if (1 && 1) { return lstrcmpiW( (LPCWSTR)String1, (LPCWSTR)String2 ); } else { return uaw_lstrcmpiW( String1, String2 ); } } __inline int static ua_lstrlenW( LPCUWSTR String ) { if (1) { #pragma warning(suppress: 28750) return lstrlenW( (PCWSTR)String ); } else { return uaw_lstrlenW( String ); } } typedef const WCHAR __unaligned *PUWSTR_C; __inline PUWSTR_C static ua_wcschr( PCUWSTR String, WCHAR Character ) { if (1) { return wcschr((PCWSTR)String, Character); } else { return (PUWSTR_C)uaw_wcschr(String, Character); } } __inline PUWSTR_C static ua_wcsrchr( PCUWSTR String, WCHAR Character ) { if (1) { return wcsrchr((PCWSTR)String, Character); } else { return (PUWSTR_C)uaw_wcsrchr(String, Character); } } __inline PUWSTR static __declspec(deprecated) ua_wcscpy( PUWSTR Destination, PCUWSTR Source ) { if (1 && 1) { #pragma warning(push) #pragma warning(disable:4995) #pragma warning(disable:4996) return wcscpy( (PWSTR)Destination, (PCWSTR)Source ); #pragma warning(pop) } else { return uaw_wcscpy( Destination, Source ); } } __inline PUWSTR static ua_wcscpy_s( PUWSTR Destination, size_t DestinationSize, PCUWSTR Source ) { if (1 && 1) { return (wcscpy_s( (PWSTR)Destination, DestinationSize, (PCWSTR)Source ) == 0 ? Destination : 0); } else { return uaw_wcscpy( Destination, Source ); } } __inline size_t static ua_wcslen( PCUWSTR String ) { if (1) { return wcslen( (PCWSTR)String ); } else { return uaw_wcslen( String ); } } __inline int static ua_wcsicmp( PCUWSTR String1, PCUWSTR String2 ) { if (1 && 1) { return _wcsicmp( (LPCWSTR)String1, (LPCWSTR)String2 ); } else { return uaw_wcsicmp( String1, String2 ); } } #pragma warning(pop) #pragma endregion } #pragma warning(pop) #pragma endregion #pragma warning(pop) #pragma once __inline HWND HwndMSWheel( PUINT puiMsh_MsgMouseWheel, PUINT puiMsh_Msg3DSupport, PUINT puiMsh_MsgScrollLines, PBOOL pf3DSupport, PINT piScrollLines ) { HWND hdlMsWheel; hdlMsWheel = FindWindowW((L"MouseZ"), (L"Magellan MSWHEEL")); *puiMsh_MsgMouseWheel = RegisterWindowMessageW(L"MSWHEEL_ROLLMSG"); *puiMsh_Msg3DSupport = RegisterWindowMessageW(L"MSH_WHEELSUPPORT_MSG"); *puiMsh_MsgScrollLines = RegisterWindowMessageW(L"MSH_SCROLL_LINES_MSG"); if (*puiMsh_Msg3DSupport) *pf3DSupport = (BOOL)SendMessageW(hdlMsWheel, *puiMsh_Msg3DSupport, 0, 0); else *pf3DSupport = 0; if (*puiMsh_MsgScrollLines) *piScrollLines = (int)SendMessageW(hdlMsWheel, *puiMsh_MsgScrollLines, 0, 0); else *piScrollLines = 3; return(hdlMsWheel); } struct HKEY__; typedef struct HKEY__ *HKEY; #pragma warning(push) #pragma warning(disable:4001) #pragma warning(disable:4201) #pragma warning(disable:4820) #pragma once #pragma region Desktop Family extern "C" { #pragma warning(push) #pragma warning(disable:4001) #pragma warning(disable:4201) #pragma warning(disable:4820) #pragma warning(disable:4103) #pragma pack(push,8) extern "C" { #pragma region Desktop Family struct _PSP; typedef struct _PSP * HPROPSHEETPAGE; struct _PROPSHEETPAGEA; struct _PROPSHEETPAGEW; typedef UINT (__stdcall *LPFNPSPCALLBACKA)(HWND hwnd, UINT uMsg, struct _PROPSHEETPAGEA *ppsp); typedef UINT (__stdcall *LPFNPSPCALLBACKW)(HWND hwnd, UINT uMsg, struct _PROPSHEETPAGEW *ppsp); typedef LPCDLGTEMPLATE PROPSHEETPAGE_RESOURCE; typedef struct _PROPSHEETPAGEA_V1 { DWORD dwSize; DWORD dwFlags; HINSTANCE hInstance; union { LPCSTR pszTemplate; PROPSHEETPAGE_RESOURCE pResource; } ; union { HICON hIcon; LPCSTR pszIcon; } ; LPCSTR pszTitle; DLGPROC pfnDlgProc; LPARAM lParam; LPFNPSPCALLBACKA pfnCallback; UINT *pcRefParent; } PROPSHEETPAGEA_V1, *LPPROPSHEETPAGEA_V1; typedef const PROPSHEETPAGEA_V1 *LPCPROPSHEETPAGEA_V1; typedef struct _PROPSHEETPAGEA_V2 { DWORD dwSize; DWORD dwFlags; HINSTANCE hInstance; union { LPCSTR pszTemplate; PROPSHEETPAGE_RESOURCE pResource; } ; union { HICON hIcon; LPCSTR pszIcon; } ; LPCSTR pszTitle; DLGPROC pfnDlgProc; LPARAM lParam; LPFNPSPCALLBACKA pfnCallback; UINT *pcRefParent; LPCSTR pszHeaderTitle; LPCSTR pszHeaderSubTitle; } PROPSHEETPAGEA_V2, *LPPROPSHEETPAGEA_V2; typedef const PROPSHEETPAGEA_V2 *LPCPROPSHEETPAGEA_V2; typedef struct _PROPSHEETPAGEA_V3 { DWORD dwSize; DWORD dwFlags; HINSTANCE hInstance; union { LPCSTR pszTemplate; PROPSHEETPAGE_RESOURCE pResource; } ; union { HICON hIcon; LPCSTR pszIcon; } ; LPCSTR pszTitle; DLGPROC pfnDlgProc; LPARAM lParam; LPFNPSPCALLBACKA pfnCallback; UINT *pcRefParent; LPCSTR pszHeaderTitle; LPCSTR pszHeaderSubTitle; HANDLE hActCtx; } PROPSHEETPAGEA_V3, *LPPROPSHEETPAGEA_V3; typedef const PROPSHEETPAGEA_V3 *LPCPROPSHEETPAGEA_V3; typedef struct _PROPSHEETPAGEA { DWORD dwSize; DWORD dwFlags; HINSTANCE hInstance; union { LPCSTR pszTemplate; PROPSHEETPAGE_RESOURCE pResource; } ; union { HICON hIcon; LPCSTR pszIcon; } ; LPCSTR pszTitle; DLGPROC pfnDlgProc; LPARAM lParam; LPFNPSPCALLBACKA pfnCallback; UINT *pcRefParent; LPCSTR pszHeaderTitle; LPCSTR pszHeaderSubTitle; HANDLE hActCtx; union { HBITMAP hbmHeader; LPCSTR pszbmHeader; } ; } PROPSHEETPAGEA_V4, *LPPROPSHEETPAGEA_V4; typedef const PROPSHEETPAGEA_V4 *LPCPROPSHEETPAGEA_V4; typedef struct _PROPSHEETPAGEW_V1 { DWORD dwSize; DWORD dwFlags; HINSTANCE hInstance; union { LPCWSTR pszTemplate; PROPSHEETPAGE_RESOURCE pResource; } ; union { HICON hIcon; LPCWSTR pszIcon; } ; LPCWSTR pszTitle; DLGPROC pfnDlgProc; LPARAM lParam; LPFNPSPCALLBACKW pfnCallback; UINT *pcRefParent; } PROPSHEETPAGEW_V1, *LPPROPSHEETPAGEW_V1; typedef const PROPSHEETPAGEW_V1 *LPCPROPSHEETPAGEW_V1; typedef struct _PROPSHEETPAGEW_V2 { DWORD dwSize; DWORD dwFlags; HINSTANCE hInstance; union { LPCWSTR pszTemplate; PROPSHEETPAGE_RESOURCE pResource; } ; union { HICON hIcon; LPCWSTR pszIcon; } ; LPCWSTR pszTitle; DLGPROC pfnDlgProc; LPARAM lParam; LPFNPSPCALLBACKW pfnCallback; UINT *pcRefParent; LPCWSTR pszHeaderTitle; LPCWSTR pszHeaderSubTitle; } PROPSHEETPAGEW_V2, *LPPROPSHEETPAGEW_V2; typedef const PROPSHEETPAGEW_V2 *LPCPROPSHEETPAGEW_V2; typedef struct _PROPSHEETPAGEW_V3 { DWORD dwSize; DWORD dwFlags; HINSTANCE hInstance; union { LPCWSTR pszTemplate; PROPSHEETPAGE_RESOURCE pResource; } ; union { HICON hIcon; LPCWSTR pszIcon; } ; LPCWSTR pszTitle; DLGPROC pfnDlgProc; LPARAM lParam; LPFNPSPCALLBACKW pfnCallback; UINT *pcRefParent; LPCWSTR pszHeaderTitle; LPCWSTR pszHeaderSubTitle; HANDLE hActCtx; } PROPSHEETPAGEW_V3, *LPPROPSHEETPAGEW_V3; typedef const PROPSHEETPAGEW_V3 *LPCPROPSHEETPAGEW_V3; typedef struct _PROPSHEETPAGEW { DWORD dwSize; DWORD dwFlags; HINSTANCE hInstance; union { LPCWSTR pszTemplate; PROPSHEETPAGE_RESOURCE pResource; } ; union { HICON hIcon; LPCWSTR pszIcon; } ; LPCWSTR pszTitle; DLGPROC pfnDlgProc; LPARAM lParam; LPFNPSPCALLBACKW pfnCallback; UINT *pcRefParent; LPCWSTR pszHeaderTitle; LPCWSTR pszHeaderSubTitle; HANDLE hActCtx; union { HBITMAP hbmHeader; LPCWSTR pszbmHeader; } ; } PROPSHEETPAGEW_V4, *LPPROPSHEETPAGEW_V4; typedef const PROPSHEETPAGEW_V4 *LPCPROPSHEETPAGEW_V4; typedef PROPSHEETPAGEA_V4 PROPSHEETPAGEA_LATEST; typedef PROPSHEETPAGEW_V4 PROPSHEETPAGEW_LATEST; typedef LPPROPSHEETPAGEA_V4 LPPROPSHEETPAGEA_LATEST; typedef LPPROPSHEETPAGEW_V4 LPPROPSHEETPAGEW_LATEST; typedef LPCPROPSHEETPAGEA_V4 LPCPROPSHEETPAGEA_LATEST; typedef LPCPROPSHEETPAGEW_V4 LPCPROPSHEETPAGEW_LATEST; typedef PROPSHEETPAGEA_V4 PROPSHEETPAGEA; typedef PROPSHEETPAGEW_V4 PROPSHEETPAGEW; typedef LPPROPSHEETPAGEA_V4 LPPROPSHEETPAGEA; typedef LPPROPSHEETPAGEW_V4 LPPROPSHEETPAGEW; typedef LPCPROPSHEETPAGEA_V4 LPCPROPSHEETPAGEA; typedef LPCPROPSHEETPAGEW_V4 LPCPROPSHEETPAGEW; typedef int (__stdcall *PFNPROPSHEETCALLBACK)(HWND, UINT, LPARAM); typedef struct _PROPSHEETHEADERA_V1 { DWORD dwSize; DWORD dwFlags; HWND hwndParent; HINSTANCE hInstance; union { HICON hIcon; LPCSTR pszIcon; } ; LPCSTR pszCaption; UINT nPages; union { UINT nStartPage; LPCSTR pStartPage; } ; union { LPCPROPSHEETPAGEA ppsp; HPROPSHEETPAGE *phpage; } ; PFNPROPSHEETCALLBACK pfnCallback; } PROPSHEETHEADERA_V1, *LPPROPSHEETHEADERA_V1; typedef const PROPSHEETHEADERA_V1 *LPCPROPSHEETHEADERA_V1; typedef struct _PROPSHEETHEADERA_V2 { DWORD dwSize; DWORD dwFlags; HWND hwndParent; HINSTANCE hInstance; union { HICON hIcon; LPCSTR pszIcon; } ; LPCSTR pszCaption; UINT nPages; union { UINT nStartPage; LPCSTR pStartPage; } ; union { LPCPROPSHEETPAGEA ppsp; HPROPSHEETPAGE *phpage; } ; PFNPROPSHEETCALLBACK pfnCallback; union { HBITMAP hbmWatermark; LPCSTR pszbmWatermark; } ; HPALETTE hplWatermark; union { HBITMAP hbmHeader; LPCSTR pszbmHeader; } ; } PROPSHEETHEADERA_V2, *LPPROPSHEETHEADERA_V2; typedef const PROPSHEETHEADERA_V2 *LPCPROPSHEETHEADERA_V2; typedef struct _PROPSHEETHEADERW_V1 { DWORD dwSize; DWORD dwFlags; HWND hwndParent; HINSTANCE hInstance; union { HICON hIcon; LPCWSTR pszIcon; } ; LPCWSTR pszCaption; UINT nPages; union { UINT nStartPage; LPCWSTR pStartPage; } ; union { LPCPROPSHEETPAGEW ppsp; HPROPSHEETPAGE *phpage; } ; PFNPROPSHEETCALLBACK pfnCallback; } PROPSHEETHEADERW_V1, *LPPROPSHEETHEADERW_V1; typedef const PROPSHEETHEADERW_V1 *LPCPROPSHEETHEADERW_V1; typedef struct _PROPSHEETHEADERW_V2 { DWORD dwSize; DWORD dwFlags; HWND hwndParent; HINSTANCE hInstance; union { HICON hIcon; LPCWSTR pszIcon; } ; LPCWSTR pszCaption; UINT nPages; union { UINT nStartPage; LPCWSTR pStartPage; } ; union { LPCPROPSHEETPAGEW ppsp; HPROPSHEETPAGE *phpage; } ; PFNPROPSHEETCALLBACK pfnCallback; union { HBITMAP hbmWatermark; LPCWSTR pszbmWatermark; } ; HPALETTE hplWatermark; union { HBITMAP hbmHeader; LPCWSTR pszbmHeader; } ; } PROPSHEETHEADERW_V2, *LPPROPSHEETHEADERW_V2; typedef const PROPSHEETHEADERW_V2 *LPCPROPSHEETHEADERW_V2; typedef PROPSHEETHEADERA_V2 PROPSHEETHEADERA; typedef PROPSHEETHEADERW_V2 PROPSHEETHEADERW; typedef LPPROPSHEETHEADERA_V2 LPPROPSHEETHEADERA; typedef LPPROPSHEETHEADERW_V2 LPPROPSHEETHEADERW; typedef LPCPROPSHEETHEADERA_V2 LPCPROPSHEETHEADERA; typedef LPCPROPSHEETHEADERW_V2 LPCPROPSHEETHEADERW; __declspec(dllimport) HPROPSHEETPAGE __stdcall CreatePropertySheetPageA(LPCPROPSHEETPAGEA constPropSheetPagePointer); __declspec(dllimport) HPROPSHEETPAGE __stdcall CreatePropertySheetPageW(LPCPROPSHEETPAGEW constPropSheetPagePointer); __declspec(dllimport) BOOL __stdcall DestroyPropertySheetPage(HPROPSHEETPAGE); __declspec(dllimport) INT_PTR __stdcall PropertySheetA(LPCPROPSHEETHEADERA); __declspec(dllimport) INT_PTR __stdcall PropertySheetW(LPCPROPSHEETHEADERW); typedef BOOL (__stdcall *LPFNADDPROPSHEETPAGE)(HPROPSHEETPAGE, LPARAM); typedef BOOL (__stdcall *LPFNADDPROPSHEETPAGES)(LPVOID, LPFNADDPROPSHEETPAGE, LPARAM); typedef struct _PSHNOTIFY { NMHDR hdr; LPARAM lParam; } PSHNOTIFY, *LPPSHNOTIFY; #pragma endregion } #pragma warning(disable:4103) #pragma pack(pop) #pragma warning(pop) __declspec(dllimport) void __stdcall InitCommonControls(void); typedef struct tagINITCOMMONCONTROLSEX { DWORD dwSize; DWORD dwICC; } INITCOMMONCONTROLSEX, *LPINITCOMMONCONTROLSEX; __declspec(dllimport) BOOL __stdcall InitCommonControlsEx( const INITCOMMONCONTROLSEX *picce); typedef struct tagCOLORSCHEME { DWORD dwSize; COLORREF clrBtnHighlight; COLORREF clrBtnShadow; } COLORSCHEME, *LPCOLORSCHEME; typedef struct tagNMTOOLTIPSCREATED { NMHDR hdr; HWND hwndToolTips; } NMTOOLTIPSCREATED, * LPNMTOOLTIPSCREATED; typedef struct tagNMMOUSE { NMHDR hdr; DWORD_PTR dwItemSpec; DWORD_PTR dwItemData; POINT pt; LPARAM dwHitInfo; } NMMOUSE, *LPNMMOUSE; typedef NMMOUSE NMCLICK; typedef LPNMMOUSE LPNMCLICK; typedef struct tagNMOBJECTNOTIFY { NMHDR hdr; int iItem; const IID *piid; void *pObject; HRESULT hResult; DWORD dwFlags; } NMOBJECTNOTIFY, *LPNMOBJECTNOTIFY; typedef struct tagNMKEY { NMHDR hdr; UINT nVKey; UINT uFlags; } NMKEY, *LPNMKEY; typedef struct tagNMCHAR { NMHDR hdr; UINT ch; DWORD dwItemPrev; DWORD dwItemNext; } NMCHAR, *LPNMCHAR; typedef struct tagNMCUSTOMTEXT { NMHDR hdr; HDC hDC; LPCWSTR lpString; int nCount; LPRECT lpRect; UINT uFormat; BOOL fLink; } NMCUSTOMTEXT, *LPNMCUSTOMTEXT; typedef struct tagNMCUSTOMDRAWINFO { NMHDR hdr; DWORD dwDrawStage; HDC hdc; RECT rc; DWORD_PTR dwItemSpec; UINT uItemState; LPARAM lItemlParam; } NMCUSTOMDRAW, *LPNMCUSTOMDRAW; typedef struct tagNMTTCUSTOMDRAW { NMCUSTOMDRAW nmcd; UINT uDrawFlags; } NMTTCUSTOMDRAW, *LPNMTTCUSTOMDRAW; typedef struct tagNMCUSTOMSPLITRECTINFO { NMHDR hdr; RECT rcClient; RECT rcButton; RECT rcSplit; } NMCUSTOMSPLITRECTINFO, *LPNMCUSTOMSPLITRECTINFO; struct _IMAGELIST; typedef struct _IMAGELIST* HIMAGELIST; typedef struct _IMAGELISTDRAWPARAMS { DWORD cbSize; HIMAGELIST himl; int i; HDC hdcDst; int x; int y; int cx; int cy; int xBitmap; int yBitmap; COLORREF rgbBk; COLORREF rgbFg; UINT fStyle; DWORD dwRop; DWORD fState; DWORD Frame; COLORREF crEffect; } IMAGELISTDRAWPARAMS, *LPIMAGELISTDRAWPARAMS; __declspec(dllimport) HIMAGELIST __stdcall ImageList_Create(int cx, int cy, UINT flags, int cInitial, int cGrow); __declspec(dllimport) BOOL __stdcall ImageList_Destroy( HIMAGELIST himl); __declspec(dllimport) int __stdcall ImageList_GetImageCount( HIMAGELIST himl); __declspec(dllimport) BOOL __stdcall ImageList_SetImageCount( HIMAGELIST himl, UINT uNewCount); __declspec(dllimport) int __stdcall ImageList_Add( HIMAGELIST himl, HBITMAP hbmImage, HBITMAP hbmMask); __declspec(dllimport) int __stdcall ImageList_ReplaceIcon( HIMAGELIST himl, int i, HICON hicon); __declspec(dllimport) COLORREF __stdcall ImageList_SetBkColor( HIMAGELIST himl, COLORREF clrBk); __declspec(dllimport) COLORREF __stdcall ImageList_GetBkColor( HIMAGELIST himl); __declspec(dllimport) BOOL __stdcall ImageList_SetOverlayImage( HIMAGELIST himl, int iImage, int iOverlay); __declspec(dllimport) BOOL __stdcall ImageList_Draw( HIMAGELIST himl, int i, HDC hdcDst, int x, int y, UINT fStyle); __declspec(dllimport) BOOL __stdcall ImageList_Replace( HIMAGELIST himl, int i, HBITMAP hbmImage, HBITMAP hbmMask); __declspec(dllimport) int __stdcall ImageList_AddMasked( HIMAGELIST himl, HBITMAP hbmImage, COLORREF crMask); __declspec(dllimport) BOOL __stdcall ImageList_DrawEx( HIMAGELIST himl, int i, HDC hdcDst, int x, int y, int dx, int dy, COLORREF rgbBk, COLORREF rgbFg, UINT fStyle); __declspec(dllimport) BOOL __stdcall ImageList_DrawIndirect( IMAGELISTDRAWPARAMS* pimldp); __declspec(dllimport) BOOL __stdcall ImageList_Remove( HIMAGELIST himl, int i); __declspec(dllimport) HICON __stdcall ImageList_GetIcon( HIMAGELIST himl, int i, UINT flags); __declspec(dllimport) HIMAGELIST __stdcall ImageList_LoadImageA(HINSTANCE hi, LPCSTR lpbmp, int cx, int cGrow, COLORREF crMask, UINT uType, UINT uFlags); __declspec(dllimport) HIMAGELIST __stdcall ImageList_LoadImageW(HINSTANCE hi, LPCWSTR lpbmp, int cx, int cGrow, COLORREF crMask, UINT uType, UINT uFlags); __declspec(dllimport) BOOL __stdcall ImageList_Copy( HIMAGELIST himlDst, int iDst, HIMAGELIST himlSrc, int iSrc, UINT uFlags); __declspec(dllimport) BOOL __stdcall ImageList_BeginDrag( HIMAGELIST himlTrack, int iTrack, int dxHotspot, int dyHotspot); __declspec(dllimport) void __stdcall ImageList_EndDrag(void); __declspec(dllimport) BOOL __stdcall ImageList_DragEnter(HWND hwndLock, int x, int y); __declspec(dllimport) BOOL __stdcall ImageList_DragLeave(HWND hwndLock); __declspec(dllimport) BOOL __stdcall ImageList_DragMove(int x, int y); __declspec(dllimport) BOOL __stdcall ImageList_SetDragCursorImage( HIMAGELIST himlDrag, int iDrag, int dxHotspot, int dyHotspot); __declspec(dllimport) BOOL __stdcall ImageList_DragShowNolock(BOOL fShow); __declspec(dllimport) HIMAGELIST __stdcall ImageList_GetDragImage( POINT *ppt, POINT *pptHotspot); struct IStream; __declspec(dllimport) HIMAGELIST __stdcall ImageList_Read( struct IStream *pstm); __declspec(dllimport) BOOL __stdcall ImageList_Write( HIMAGELIST himl, struct IStream *pstm); __declspec(dllimport) HRESULT __stdcall ImageList_ReadEx( DWORD dwFlags, struct IStream *pstm, const IID & riid, PVOID* ppv); __declspec(dllimport) HRESULT __stdcall ImageList_WriteEx( HIMAGELIST himl, DWORD dwFlags, struct IStream *pstm); typedef struct _IMAGEINFO { HBITMAP hbmImage; HBITMAP hbmMask; int Unused1; int Unused2; RECT rcImage; } IMAGEINFO, *LPIMAGEINFO; __declspec(dllimport) BOOL __stdcall ImageList_GetIconSize( HIMAGELIST himl, int *cx, int *cy); __declspec(dllimport) BOOL __stdcall ImageList_SetIconSize( HIMAGELIST himl, int cx, int cy); __declspec(dllimport) BOOL __stdcall ImageList_GetImageInfo( HIMAGELIST himl, int i, IMAGEINFO *pImageInfo); __declspec(dllimport) HIMAGELIST __stdcall ImageList_Merge( HIMAGELIST himl1, int i1, HIMAGELIST himl2, int i2, int dx, int dy); __declspec(dllimport) HIMAGELIST __stdcall ImageList_Duplicate( HIMAGELIST himl); __declspec(dllimport) HRESULT __stdcall HIMAGELIST_QueryInterface( HIMAGELIST himl, const IID & riid, void **ppv); __forceinline HIMAGELIST IImageListToHIMAGELIST(struct IImageList *himl) { return reinterpret_cast(himl); } typedef struct _HD_TEXTFILTERA { LPSTR pszText; INT cchTextMax; } HD_TEXTFILTERA, *LPHD_TEXTFILTERA; typedef struct _HD_TEXTFILTERW { LPWSTR pszText; INT cchTextMax; } HD_TEXTFILTERW, *LPHD_TEXTFILTERW; typedef struct _HD_ITEMA { UINT mask; int cxy; LPSTR pszText; HBITMAP hbm; int cchTextMax; int fmt; LPARAM lParam; int iImage; int iOrder; UINT type; void * pvFilter; UINT state; } HDITEMA, *LPHDITEMA; typedef struct _HD_ITEMW { UINT mask; int cxy; LPWSTR pszText; HBITMAP hbm; int cchTextMax; int fmt; LPARAM lParam; int iImage; int iOrder; UINT type; void * pvFilter; UINT state; } HDITEMW, *LPHDITEMW; typedef struct _HD_LAYOUT { RECT *prc; WINDOWPOS *pwpos; } HDLAYOUT, *LPHDLAYOUT; typedef struct _HD_HITTESTINFO { POINT pt; UINT flags; int iItem; } HDHITTESTINFO, *LPHDHITTESTINFO; typedef struct tagNMHEADERA { NMHDR hdr; int iItem; int iButton; HDITEMA *pitem; } NMHEADERA, *LPNMHEADERA; typedef struct tagNMHEADERW { NMHDR hdr; int iItem; int iButton; HDITEMW *pitem; } NMHEADERW, *LPNMHEADERW; typedef struct tagNMHDDISPINFOW { NMHDR hdr; int iItem; UINT mask; LPWSTR pszText; int cchTextMax; int iImage; LPARAM lParam; } NMHDDISPINFOW, *LPNMHDDISPINFOW; typedef struct tagNMHDDISPINFOA { NMHDR hdr; int iItem; UINT mask; LPSTR pszText; int cchTextMax; int iImage; LPARAM lParam; } NMHDDISPINFOA, *LPNMHDDISPINFOA; typedef struct tagNMHDFILTERBTNCLICK { NMHDR hdr; INT iItem; RECT rc; } NMHDFILTERBTNCLICK, *LPNMHDFILTERBTNCLICK; typedef struct _TBBUTTON { int iBitmap; int idCommand; BYTE fsState; BYTE fsStyle; BYTE bReserved[6]; DWORD_PTR dwData; INT_PTR iString; } TBBUTTON, * PTBBUTTON, *LPTBBUTTON; typedef const TBBUTTON *LPCTBBUTTON; typedef struct _COLORMAP { COLORREF from; COLORREF to; } COLORMAP, *LPCOLORMAP; __declspec(dllimport) HWND __stdcall CreateToolbarEx(HWND hwnd, DWORD ws, UINT wID, int nBitmaps, HINSTANCE hBMInst, UINT_PTR wBMID, LPCTBBUTTON lpButtons, int iNumButtons, int dxButton, int dyButton, int dxBitmap, int dyBitmap, UINT uStructSize); __declspec(dllimport) HBITMAP __stdcall CreateMappedBitmap(HINSTANCE hInstance, INT_PTR idBitmap, UINT wFlags, LPCOLORMAP lpColorMap, int iNumMaps); typedef struct _NMTBCUSTOMDRAW { NMCUSTOMDRAW nmcd; HBRUSH hbrMonoDither; HBRUSH hbrLines; HPEN hpenLines; COLORREF clrText; COLORREF clrMark; COLORREF clrTextHighlight; COLORREF clrBtnFace; COLORREF clrBtnHighlight; COLORREF clrHighlightHotTrack; RECT rcText; int nStringBkMode; int nHLStringBkMode; int iListGap; } NMTBCUSTOMDRAW, * LPNMTBCUSTOMDRAW; typedef struct tagTBADDBITMAP { HINSTANCE hInst; UINT_PTR nID; } TBADDBITMAP, *LPTBADDBITMAP; typedef struct tagTBSAVEPARAMSA { HKEY hkr; LPCSTR pszSubKey; LPCSTR pszValueName; } TBSAVEPARAMSA, *LPTBSAVEPARAMSA; typedef struct tagTBSAVEPARAMSW { HKEY hkr; LPCWSTR pszSubKey; LPCWSTR pszValueName; } TBSAVEPARAMSW, *LPTBSAVEPARAMW; typedef struct { int iButton; DWORD dwFlags; } TBINSERTMARK, * LPTBINSERTMARK; typedef struct { HINSTANCE hInstOld; UINT_PTR nIDOld; HINSTANCE hInstNew; UINT_PTR nIDNew; int nButtons; } TBREPLACEBITMAP, *LPTBREPLACEBITMAP; typedef struct { UINT cbSize; DWORD dwMask; int idCommand; int iImage; BYTE fsState; BYTE fsStyle; WORD cx; DWORD_PTR lParam; LPSTR pszText; int cchText; } TBBUTTONINFOA, *LPTBBUTTONINFOA; typedef struct { UINT cbSize; DWORD dwMask; int idCommand; int iImage; BYTE fsState; BYTE fsStyle; WORD cx; DWORD_PTR lParam; LPWSTR pszText; int cchText; } TBBUTTONINFOW, *LPTBBUTTONINFOW; typedef struct { UINT cbSize; DWORD dwMask; int cxPad; int cyPad; int cxBarPad; int cyBarPad; int cxButtonSpacing; int cyButtonSpacing; } TBMETRICS, * LPTBMETRICS; typedef struct tagNMTBHOTITEM { NMHDR hdr; int idOld; int idNew; DWORD dwFlags; } NMTBHOTITEM, * LPNMTBHOTITEM; typedef struct tagNMTBSAVE { NMHDR hdr; DWORD* pData; DWORD* pCurrent; UINT cbData; int iItem; int cButtons; TBBUTTON tbButton; } NMTBSAVE, *LPNMTBSAVE; typedef struct tagNMTBRESTORE { NMHDR hdr; DWORD* pData; DWORD* pCurrent; UINT cbData; int iItem; int cButtons; int cbBytesPerRecord; TBBUTTON tbButton; } NMTBRESTORE, *LPNMTBRESTORE; typedef struct tagNMTBGETINFOTIPA { NMHDR hdr; LPSTR pszText; int cchTextMax; int iItem; LPARAM lParam; } NMTBGETINFOTIPA, *LPNMTBGETINFOTIPA; typedef struct tagNMTBGETINFOTIPW { NMHDR hdr; LPWSTR pszText; int cchTextMax; int iItem; LPARAM lParam; } NMTBGETINFOTIPW, *LPNMTBGETINFOTIPW; typedef struct { NMHDR hdr; DWORD dwMask; int idCommand; DWORD_PTR lParam; int iImage; LPSTR pszText; int cchText; } NMTBDISPINFOA, *LPNMTBDISPINFOA; typedef struct { NMHDR hdr; DWORD dwMask; int idCommand; DWORD_PTR lParam; int iImage; LPWSTR pszText; int cchText; } NMTBDISPINFOW, *LPNMTBDISPINFOW; typedef struct tagNMTOOLBARA { NMHDR hdr; int iItem; TBBUTTON tbButton; int cchText; LPSTR pszText; RECT rcButton; } NMTOOLBARA, *LPNMTOOLBARA; typedef struct tagNMTOOLBARW { NMHDR hdr; int iItem; TBBUTTON tbButton; int cchText; LPWSTR pszText; RECT rcButton; } NMTOOLBARW, *LPNMTOOLBARW; typedef struct tagREBARINFO { UINT cbSize; UINT fMask; HIMAGELIST himl; } REBARINFO, *LPREBARINFO; typedef struct tagREBARBANDINFOA { UINT cbSize; UINT fMask; UINT fStyle; COLORREF clrFore; COLORREF clrBack; LPSTR lpText; UINT cch; int iImage; HWND hwndChild; UINT cxMinChild; UINT cyMinChild; UINT cx; HBITMAP hbmBack; UINT wID; UINT cyChild; UINT cyMaxChild; UINT cyIntegral; UINT cxIdeal; LPARAM lParam; UINT cxHeader; RECT rcChevronLocation; UINT uChevronState; } REBARBANDINFOA, *LPREBARBANDINFOA; typedef REBARBANDINFOA const *LPCREBARBANDINFOA; typedef struct tagREBARBANDINFOW { UINT cbSize; UINT fMask; UINT fStyle; COLORREF clrFore; COLORREF clrBack; LPWSTR lpText; UINT cch; int iImage; HWND hwndChild; UINT cxMinChild; UINT cyMinChild; UINT cx; HBITMAP hbmBack; UINT wID; UINT cyChild; UINT cyMaxChild; UINT cyIntegral; UINT cxIdeal; LPARAM lParam; UINT cxHeader; RECT rcChevronLocation; UINT uChevronState; } REBARBANDINFOW, *LPREBARBANDINFOW; typedef REBARBANDINFOW const *LPCREBARBANDINFOW; typedef struct tagNMREBARCHILDSIZE { NMHDR hdr; UINT uBand; UINT wID; RECT rcChild; RECT rcBand; } NMREBARCHILDSIZE, *LPNMREBARCHILDSIZE; typedef struct tagNMREBAR { NMHDR hdr; DWORD dwMask; UINT uBand; UINT fStyle; UINT wID; LPARAM lParam; } NMREBAR, *LPNMREBAR; typedef struct tagNMRBAUTOSIZE { NMHDR hdr; BOOL fChanged; RECT rcTarget; RECT rcActual; } NMRBAUTOSIZE, *LPNMRBAUTOSIZE; typedef struct tagNMREBARCHEVRON { NMHDR hdr; UINT uBand; UINT wID; LPARAM lParam; RECT rc; LPARAM lParamNM; } NMREBARCHEVRON, *LPNMREBARCHEVRON; typedef struct tagNMREBARSPLITTER { NMHDR hdr; RECT rcSizing; } NMREBARSPLITTER, *LPNMREBARSPLITTER; typedef struct tagNMREBARAUTOBREAK { NMHDR hdr; UINT uBand; UINT wID; LPARAM lParam; UINT uMsg; UINT fStyleCurrent; BOOL fAutoBreak; } NMREBARAUTOBREAK, *LPNMREBARAUTOBREAK; typedef struct _RB_HITTESTINFO { POINT pt; UINT flags; int iBand; } RBHITTESTINFO, *LPRBHITTESTINFO; typedef struct tagTOOLINFOA { UINT cbSize; UINT uFlags; HWND hwnd; UINT_PTR uId; RECT rect; HINSTANCE hinst; LPSTR lpszText; LPARAM lParam; void *lpReserved; } TTTOOLINFOA, *PTOOLINFOA, *LPTTTOOLINFOA; typedef struct tagTOOLINFOW { UINT cbSize; UINT uFlags; HWND hwnd; UINT_PTR uId; RECT rect; HINSTANCE hinst; LPWSTR lpszText; LPARAM lParam; void *lpReserved; } TTTOOLINFOW, *PTOOLINFOW, *LPTTTOOLINFOW; typedef struct _TTGETTITLE { DWORD dwSize; UINT uTitleBitmap; UINT cch; WCHAR* pszTitle; } TTGETTITLE, *PTTGETTITLE; typedef struct _TT_HITTESTINFOA { HWND hwnd; POINT pt; TTTOOLINFOA ti; } TTHITTESTINFOA, *LPTTHITTESTINFOA; typedef struct _TT_HITTESTINFOW { HWND hwnd; POINT pt; TTTOOLINFOW ti; } TTHITTESTINFOW, *LPTTHITTESTINFOW; typedef struct tagNMTTDISPINFOA { NMHDR hdr; LPSTR lpszText; char szText[80]; HINSTANCE hinst; UINT uFlags; LPARAM lParam; } NMTTDISPINFOA, *LPNMTTDISPINFOA; typedef struct tagNMTTDISPINFOW { NMHDR hdr; LPWSTR lpszText; WCHAR szText[80]; HINSTANCE hinst; UINT uFlags; LPARAM lParam; } NMTTDISPINFOW, *LPNMTTDISPINFOW; __declspec(dllimport) void __stdcall DrawStatusTextA(HDC hDC, LPCRECT lprc, LPCSTR pszText, UINT uFlags); __declspec(dllimport) void __stdcall DrawStatusTextW(HDC hDC, LPCRECT lprc, LPCWSTR pszText, UINT uFlags); __declspec(dllimport) HWND __stdcall CreateStatusWindowA(LONG style, LPCSTR lpszText, HWND hwndParent, UINT wID); __declspec(dllimport) HWND __stdcall CreateStatusWindowW(LONG style, LPCWSTR lpszText, HWND hwndParent, UINT wID); __declspec(dllimport) void __stdcall MenuHelp(UINT uMsg, WPARAM wParam, LPARAM lParam, HMENU hMainMenu, HINSTANCE hInst, HWND hwndStatus, UINT *lpwIDs); __declspec(dllimport) BOOL __stdcall ShowHideMenuCtl( HWND hWnd, UINT_PTR uFlags, LPINT lpInfo); __declspec(dllimport) void __stdcall GetEffectiveClientRect( HWND hWnd, LPRECT lprc, const INT *lpInfo); typedef struct tagTRBTHUMBPOSCHANGING { NMHDR hdr; DWORD dwPos; int nReason; } NMTRBTHUMBPOSCHANGING; typedef struct tagDRAGLISTINFO { UINT uNotification; HWND hWnd; POINT ptCursor; } DRAGLISTINFO, *LPDRAGLISTINFO; __declspec(dllimport) BOOL __stdcall MakeDragList(HWND hLB); __declspec(dllimport) void __stdcall DrawInsert(HWND handParent, HWND hLB, int nItem); __declspec(dllimport) int __stdcall LBItemFromPt(HWND hLB, POINT pt, BOOL bAutoScroll); typedef struct _UDACCEL { UINT nSec; UINT nInc; } UDACCEL, *LPUDACCEL; __declspec(dllimport) HWND __stdcall CreateUpDownControl(DWORD dwStyle, int x, int y, int cx, int cy, HWND hParent, int nID, HINSTANCE hInst, HWND hBuddy, int nUpper, int nLower, int nPos); typedef struct _NM_UPDOWN { NMHDR hdr; int iPos; int iDelta; } NMUPDOWN, *LPNMUPDOWN; typedef struct { int iLow; int iHigh; } PBRANGE, *PPBRANGE; typedef struct tagLITEM { UINT mask ; int iLink ; UINT state ; UINT stateMask ; WCHAR szID[48] ; WCHAR szUrl[(2048 + 32 + sizeof("://"))] ; } LITEM, * PLITEM ; typedef struct tagLHITTESTINFO { POINT pt ; LITEM item ; } LHITTESTINFO, *PLHITTESTINFO ; typedef struct tagNMLINK { NMHDR hdr; LITEM item ; } NMLINK, *PNMLINK; typedef struct tagLVITEMA { UINT mask; int iItem; int iSubItem; UINT state; UINT stateMask; LPSTR pszText; int cchTextMax; int iImage; LPARAM lParam; int iIndent; int iGroupId; UINT cColumns; PUINT puColumns; int* piColFmt; int iGroup; } LVITEMA, *LPLVITEMA; typedef struct tagLVITEMW { UINT mask; int iItem; int iSubItem; UINT state; UINT stateMask; LPWSTR pszText; int cchTextMax; int iImage; LPARAM lParam; int iIndent; int iGroupId; UINT cColumns; PUINT puColumns; int* piColFmt; int iGroup; } LVITEMW, *LPLVITEMW; typedef struct tagLVFINDINFOA { UINT flags; LPCSTR psz; LPARAM lParam; POINT pt; UINT vkDirection; } LVFINDINFOA, *LPFINDINFOA; typedef struct tagLVFINDINFOW { UINT flags; LPCWSTR psz; LPARAM lParam; POINT pt; UINT vkDirection; } LVFINDINFOW, *LPFINDINFOW; typedef struct tagLVHITTESTINFO { POINT pt; UINT flags; int iItem; int iSubItem; int iGroup; } LVHITTESTINFO, *LPLVHITTESTINFO; typedef struct tagLVCOLUMNA { UINT mask; int fmt; int cx; LPSTR pszText; int cchTextMax; int iSubItem; int iImage; int iOrder; int cxMin; int cxDefault; int cxIdeal; } LVCOLUMNA, *LPLVCOLUMNA; typedef struct tagLVCOLUMNW { UINT mask; int fmt; int cx; LPWSTR pszText; int cchTextMax; int iSubItem; int iImage; int iOrder; int cxMin; int cxDefault; int cxIdeal; } LVCOLUMNW, *LPLVCOLUMNW; typedef int (__stdcall *PFNLVCOMPARE)(LPARAM, LPARAM, LPARAM); typedef struct tagLVBKIMAGEA { ULONG ulFlags; HBITMAP hbm; LPSTR pszImage; UINT cchImageMax; int xOffsetPercent; int yOffsetPercent; } LVBKIMAGEA, *LPLVBKIMAGEA; typedef struct tagLVBKIMAGEW { ULONG ulFlags; HBITMAP hbm; LPWSTR pszImage; UINT cchImageMax; int xOffsetPercent; int yOffsetPercent; } LVBKIMAGEW, *LPLVBKIMAGEW; typedef struct tagLVGROUP { UINT cbSize; UINT mask; LPWSTR pszHeader; int cchHeader; LPWSTR pszFooter; int cchFooter; int iGroupId; UINT stateMask; UINT state; UINT uAlign; LPWSTR pszSubtitle; UINT cchSubtitle; LPWSTR pszTask; UINT cchTask; LPWSTR pszDescriptionTop; UINT cchDescriptionTop; LPWSTR pszDescriptionBottom; UINT cchDescriptionBottom; int iTitleImage; int iExtendedImage; int iFirstItem; UINT cItems; LPWSTR pszSubsetTitle; UINT cchSubsetTitle; } LVGROUP, *PLVGROUP; typedef struct tagLVGROUPMETRICS { UINT cbSize; UINT mask; UINT Left; UINT Top; UINT Right; UINT Bottom; COLORREF crLeft; COLORREF crTop; COLORREF crRight; COLORREF crBottom; COLORREF crHeader; COLORREF crFooter; } LVGROUPMETRICS, *PLVGROUPMETRICS; typedef int (__stdcall *PFNLVGROUPCOMPARE)(int, int, void *); typedef struct tagLVINSERTGROUPSORTED { PFNLVGROUPCOMPARE pfnGroupCompare; void *pvData; LVGROUP lvGroup; }LVINSERTGROUPSORTED, *PLVINSERTGROUPSORTED; typedef struct tagLVTILEVIEWINFO { UINT cbSize; DWORD dwMask; DWORD dwFlags; SIZE sizeTile; int cLines; RECT rcLabelMargin; } LVTILEVIEWINFO, *PLVTILEVIEWINFO; typedef struct tagLVTILEINFO { UINT cbSize; int iItem; UINT cColumns; PUINT puColumns; int* piColFmt; } LVTILEINFO, *PLVTILEINFO; typedef struct { UINT cbSize; DWORD dwFlags; int iItem; DWORD dwReserved; } LVINSERTMARK, * LPLVINSERTMARK; typedef struct tagLVSETINFOTIP { UINT cbSize; DWORD dwFlags; LPWSTR pszText; int iItem; int iSubItem; } LVSETINFOTIP, *PLVSETINFOTIP; typedef struct tagLVFOOTERINFO { UINT mask; LPWSTR pszText; int cchTextMax; UINT cItems; } LVFOOTERINFO, *LPLVFOOTERINFO; typedef struct tagLVFOOTERITEM { UINT mask; int iItem; LPWSTR pszText; int cchTextMax; UINT state; UINT stateMask; } LVFOOTERITEM, *LPLVFOOTERITEM; typedef struct tagLVITEMINDEX { int iItem; int iGroup; } LVITEMINDEX, *PLVITEMINDEX; typedef struct tagNMLISTVIEW { NMHDR hdr; int iItem; int iSubItem; UINT uNewState; UINT uOldState; UINT uChanged; POINT ptAction; LPARAM lParam; } NMLISTVIEW, *LPNMLISTVIEW; typedef struct tagNMITEMACTIVATE { NMHDR hdr; int iItem; int iSubItem; UINT uNewState; UINT uOldState; UINT uChanged; POINT ptAction; LPARAM lParam; UINT uKeyFlags; } NMITEMACTIVATE, *LPNMITEMACTIVATE; typedef struct tagNMLVCUSTOMDRAW { NMCUSTOMDRAW nmcd; COLORREF clrText; COLORREF clrTextBk; int iSubItem; DWORD dwItemType; COLORREF clrFace; int iIconEffect; int iIconPhase; int iPartId; int iStateId; RECT rcText; UINT uAlign; } NMLVCUSTOMDRAW, *LPNMLVCUSTOMDRAW; typedef struct tagNMLVCACHEHINT { NMHDR hdr; int iFrom; int iTo; } NMLVCACHEHINT, *LPNMLVCACHEHINT; typedef struct tagNMLVFINDITEMA { NMHDR hdr; int iStart; LVFINDINFOA lvfi; } NMLVFINDITEMA, *LPNMLVFINDITEMA; typedef struct tagNMLVFINDITEMW { NMHDR hdr; int iStart; LVFINDINFOW lvfi; } NMLVFINDITEMW, *LPNMLVFINDITEMW; typedef struct tagNMLVODSTATECHANGE { NMHDR hdr; int iFrom; int iTo; UINT uNewState; UINT uOldState; } NMLVODSTATECHANGE, *LPNMLVODSTATECHANGE; typedef struct tagLVDISPINFO { NMHDR hdr; LVITEMA item; } NMLVDISPINFOA, *LPNMLVDISPINFOA; typedef struct tagLVDISPINFOW { NMHDR hdr; LVITEMW item; } NMLVDISPINFOW, *LPNMLVDISPINFOW; #pragma warning(disable:4103) #pragma pack(push,1) typedef struct tagLVKEYDOWN { NMHDR hdr; WORD wVKey; UINT flags; } NMLVKEYDOWN, *LPNMLVKEYDOWN; #pragma warning(disable:4103) #pragma pack(pop) typedef struct tagNMLVLINK { NMHDR hdr; LITEM link; int iItem; int iSubItem; } NMLVLINK, *PNMLVLINK; typedef struct tagNMLVGETINFOTIPA { NMHDR hdr; DWORD dwFlags; LPSTR pszText; int cchTextMax; int iItem; int iSubItem; LPARAM lParam; } NMLVGETINFOTIPA, *LPNMLVGETINFOTIPA; typedef struct tagNMLVGETINFOTIPW { NMHDR hdr; DWORD dwFlags; LPWSTR pszText; int cchTextMax; int iItem; int iSubItem; LPARAM lParam; } NMLVGETINFOTIPW, *LPNMLVGETINFOTIPW; typedef struct tagNMLVSCROLL { NMHDR hdr; int dx; int dy; } NMLVSCROLL, *LPNMLVSCROLL; typedef struct tagNMLVEMPTYMARKUP { NMHDR hdr; DWORD dwFlags; WCHAR szMarkup[(2048 + 32 + sizeof("://"))]; } NMLVEMPTYMARKUP; struct _TREEITEM; typedef struct _TREEITEM *HTREEITEM; typedef struct tagNMTVSTATEIMAGECHANGING { NMHDR hdr; HTREEITEM hti; int iOldStateImageIndex; int iNewStateImageIndex; } NMTVSTATEIMAGECHANGING, *LPNMTVSTATEIMAGECHANGING; typedef struct tagTVITEMA { UINT mask; HTREEITEM hItem; UINT state; UINT stateMask; LPSTR pszText; int cchTextMax; int iImage; int iSelectedImage; int cChildren; LPARAM lParam; } TVITEMA, *LPTVITEMA; typedef struct tagTVITEMW { UINT mask; HTREEITEM hItem; UINT state; UINT stateMask; LPWSTR pszText; int cchTextMax; int iImage; int iSelectedImage; int cChildren; LPARAM lParam; } TVITEMW, *LPTVITEMW; typedef struct tagTVITEMEXA { UINT mask; HTREEITEM hItem; UINT state; UINT stateMask; LPSTR pszText; int cchTextMax; int iImage; int iSelectedImage; int cChildren; LPARAM lParam; int iIntegral; UINT uStateEx; HWND hwnd; int iExpandedImage; int iReserved; } TVITEMEXA, *LPTVITEMEXA; typedef struct tagTVITEMEXW { UINT mask; HTREEITEM hItem; UINT state; UINT stateMask; LPWSTR pszText; int cchTextMax; int iImage; int iSelectedImage; int cChildren; LPARAM lParam; int iIntegral; UINT uStateEx; HWND hwnd; int iExpandedImage; int iReserved; } TVITEMEXW, *LPTVITEMEXW; typedef TVITEMEXW TVITEMEX; typedef LPTVITEMEXW LPTVITEMEX; typedef struct tagTVINSERTSTRUCTA { HTREEITEM hParent; HTREEITEM hInsertAfter; union { TVITEMEXA itemex; TVITEMA item; } ; } TVINSERTSTRUCTA, *LPTVINSERTSTRUCTA; typedef struct tagTVINSERTSTRUCTW { HTREEITEM hParent; HTREEITEM hInsertAfter; union { TVITEMEXW itemex; TVITEMW item; } ; } TVINSERTSTRUCTW, *LPTVINSERTSTRUCTW; typedef struct tagTVHITTESTINFO { POINT pt; UINT flags; HTREEITEM hItem; } TVHITTESTINFO, *LPTVHITTESTINFO; typedef enum _TVITEMPART { TVGIPR_BUTTON = 0x0001, } TVITEMPART; typedef struct tagTVGETITEMPARTRECTINFO { HTREEITEM hti; RECT* prc; TVITEMPART partID; } TVGETITEMPARTRECTINFO; typedef int (__stdcall *PFNTVCOMPARE)(LPARAM lParam1, LPARAM lParam2, LPARAM lParamSort); typedef struct tagTVSORTCB { HTREEITEM hParent; PFNTVCOMPARE lpfnCompare; LPARAM lParam; } TVSORTCB, *LPTVSORTCB; typedef struct tagNMTREEVIEWA { NMHDR hdr; UINT action; TVITEMA itemOld; TVITEMA itemNew; POINT ptDrag; } NMTREEVIEWA, *LPNMTREEVIEWA; typedef struct tagNMTREEVIEWW { NMHDR hdr; UINT action; TVITEMW itemOld; TVITEMW itemNew; POINT ptDrag; } NMTREEVIEWW, *LPNMTREEVIEWW; typedef struct tagTVDISPINFOA { NMHDR hdr; TVITEMA item; } NMTVDISPINFOA, *LPNMTVDISPINFOA; typedef struct tagTVDISPINFOW { NMHDR hdr; TVITEMW item; } NMTVDISPINFOW, *LPNMTVDISPINFOW; typedef struct tagTVDISPINFOEXA { NMHDR hdr; TVITEMEXA item; } NMTVDISPINFOEXA, *LPNMTVDISPINFOEXA; typedef struct tagTVDISPINFOEXW { NMHDR hdr; TVITEMEXW item; } NMTVDISPINFOEXW, *LPNMTVDISPINFOEXW; #pragma warning(disable:4103) #pragma pack(push,1) typedef struct tagTVKEYDOWN { NMHDR hdr; WORD wVKey; UINT flags; } NMTVKEYDOWN, *LPNMTVKEYDOWN; #pragma warning(disable:4103) #pragma pack(pop) typedef struct tagNMTVCUSTOMDRAW { NMCUSTOMDRAW nmcd; COLORREF clrText; COLORREF clrTextBk; int iLevel; } NMTVCUSTOMDRAW, *LPNMTVCUSTOMDRAW; typedef struct tagNMTVGETINFOTIPA { NMHDR hdr; LPSTR pszText; int cchTextMax; HTREEITEM hItem; LPARAM lParam; } NMTVGETINFOTIPA, *LPNMTVGETINFOTIPA; typedef struct tagNMTVGETINFOTIPW { NMHDR hdr; LPWSTR pszText; int cchTextMax; HTREEITEM hItem; LPARAM lParam; } NMTVGETINFOTIPW, *LPNMTVGETINFOTIPW; typedef struct tagTVITEMCHANGE { NMHDR hdr; UINT uChanged; HTREEITEM hItem; UINT uStateNew; UINT uStateOld; LPARAM lParam; } NMTVITEMCHANGE; typedef struct tagNMTVASYNCDRAW { NMHDR hdr; IMAGELISTDRAWPARAMS *pimldp; HRESULT hr; HTREEITEM hItem; LPARAM lParam; DWORD dwRetFlags; int iRetImageIndex; } NMTVASYNCDRAW; typedef struct tagCOMBOBOXEXITEMA { UINT mask; INT_PTR iItem; LPSTR pszText; int cchTextMax; int iImage; int iSelectedImage; int iOverlay; int iIndent; LPARAM lParam; } COMBOBOXEXITEMA, *PCOMBOBOXEXITEMA; typedef COMBOBOXEXITEMA const *PCCOMBOEXITEMA; typedef struct tagCOMBOBOXEXITEMW { UINT mask; INT_PTR iItem; LPWSTR pszText; int cchTextMax; int iImage; int iSelectedImage; int iOverlay; int iIndent; LPARAM lParam; } COMBOBOXEXITEMW, *PCOMBOBOXEXITEMW; typedef COMBOBOXEXITEMW const *PCCOMBOEXITEMW; typedef struct { NMHDR hdr; COMBOBOXEXITEMA ceItem; } NMCOMBOBOXEXA, *PNMCOMBOBOXEXA; typedef struct { NMHDR hdr; COMBOBOXEXITEMW ceItem; } NMCOMBOBOXEXW, *PNMCOMBOBOXEXW; typedef struct { NMHDR hdr; int iItemid; WCHAR szText[260]; }NMCBEDRAGBEGINW, *LPNMCBEDRAGBEGINW, *PNMCBEDRAGBEGINW; typedef struct { NMHDR hdr; int iItemid; char szText[260]; }NMCBEDRAGBEGINA, *LPNMCBEDRAGBEGINA, *PNMCBEDRAGBEGINA; typedef struct { NMHDR hdr; BOOL fChanged; int iNewSelection; WCHAR szText[260]; int iWhy; } NMCBEENDEDITW, *LPNMCBEENDEDITW, *PNMCBEENDEDITW; typedef struct { NMHDR hdr; BOOL fChanged; int iNewSelection; char szText[260]; int iWhy; } NMCBEENDEDITA, *LPNMCBEENDEDITA,*PNMCBEENDEDITA; typedef struct tagTCITEMHEADERA { UINT mask; UINT lpReserved1; UINT lpReserved2; LPSTR pszText; int cchTextMax; int iImage; } TCITEMHEADERA, *LPTCITEMHEADERA; typedef struct tagTCITEMHEADERW { UINT mask; UINT lpReserved1; UINT lpReserved2; LPWSTR pszText; int cchTextMax; int iImage; } TCITEMHEADERW, *LPTCITEMHEADERW; typedef struct tagTCITEMA { UINT mask; DWORD dwState; DWORD dwStateMask; LPSTR pszText; int cchTextMax; int iImage; LPARAM lParam; } TCITEMA, *LPTCITEMA; typedef struct tagTCITEMW { UINT mask; DWORD dwState; DWORD dwStateMask; LPWSTR pszText; int cchTextMax; int iImage; LPARAM lParam; } TCITEMW, *LPTCITEMW; typedef struct tagTCHITTESTINFO { POINT pt; UINT flags; } TCHITTESTINFO, *LPTCHITTESTINFO; #pragma warning(disable:4103) #pragma pack(push,1) typedef struct tagTCKEYDOWN { NMHDR hdr; WORD wVKey; UINT flags; } NMTCKEYDOWN; #pragma warning(disable:4103) #pragma pack(pop) typedef DWORD MONTHDAYSTATE, *LPMONTHDAYSTATE; typedef struct { UINT cbSize; POINT pt; UINT uHit; SYSTEMTIME st; RECT rc; int iOffset; int iRow; int iCol; } MCHITTESTINFO, *PMCHITTESTINFO; typedef struct tagMCGRIDINFO { UINT cbSize; DWORD dwPart; DWORD dwFlags; int iCalendar; int iRow; int iCol; BOOL bSelected; SYSTEMTIME stStart; SYSTEMTIME stEnd; RECT rc; PWSTR pszName; size_t cchName; } MCGRIDINFO, *PMCGRIDINFO; typedef struct tagNMSELCHANGE { NMHDR nmhdr; SYSTEMTIME stSelStart; SYSTEMTIME stSelEnd; } NMSELCHANGE, *LPNMSELCHANGE; typedef struct tagNMDAYSTATE { NMHDR nmhdr; SYSTEMTIME stStart; int cDayState; LPMONTHDAYSTATE prgDayState; } NMDAYSTATE, *LPNMDAYSTATE; typedef NMSELCHANGE NMSELECT, *LPNMSELECT; typedef struct tagNMVIEWCHANGE { NMHDR nmhdr; DWORD dwOldView; DWORD dwNewView; } NMVIEWCHANGE, *LPNMVIEWCHANGE; typedef struct tagDATETIMEPICKERINFO { DWORD cbSize; RECT rcCheck; DWORD stateCheck; RECT rcButton; DWORD stateButton; HWND hwndEdit; HWND hwndUD; HWND hwndDropDown; } DATETIMEPICKERINFO, *LPDATETIMEPICKERINFO; typedef struct tagNMDATETIMECHANGE { NMHDR nmhdr; DWORD dwFlags; SYSTEMTIME st; } NMDATETIMECHANGE, *LPNMDATETIMECHANGE; typedef struct tagNMDATETIMESTRINGA { NMHDR nmhdr; LPCSTR pszUserString; SYSTEMTIME st; DWORD dwFlags; } NMDATETIMESTRINGA, *LPNMDATETIMESTRINGA; typedef struct tagNMDATETIMESTRINGW { NMHDR nmhdr; LPCWSTR pszUserString; SYSTEMTIME st; DWORD dwFlags; } NMDATETIMESTRINGW, *LPNMDATETIMESTRINGW; typedef struct tagNMDATETIMEWMKEYDOWNA { NMHDR nmhdr; int nVirtKey; LPCSTR pszFormat; SYSTEMTIME st; } NMDATETIMEWMKEYDOWNA, *LPNMDATETIMEWMKEYDOWNA; typedef struct tagNMDATETIMEWMKEYDOWNW { NMHDR nmhdr; int nVirtKey; LPCWSTR pszFormat; SYSTEMTIME st; } NMDATETIMEWMKEYDOWNW, *LPNMDATETIMEWMKEYDOWNW; typedef struct tagNMDATETIMEFORMATA { NMHDR nmhdr; LPCSTR pszFormat; SYSTEMTIME st; LPCSTR pszDisplay; CHAR szDisplay[64]; } NMDATETIMEFORMATA, *LPNMDATETIMEFORMATA; typedef struct tagNMDATETIMEFORMATW { NMHDR nmhdr; LPCWSTR pszFormat; SYSTEMTIME st; LPCWSTR pszDisplay; WCHAR szDisplay[64]; } NMDATETIMEFORMATW, *LPNMDATETIMEFORMATW; typedef struct tagNMDATETIMEFORMATQUERYA { NMHDR nmhdr; LPCSTR pszFormat; SIZE szMax; } NMDATETIMEFORMATQUERYA, *LPNMDATETIMEFORMATQUERYA; typedef struct tagNMDATETIMEFORMATQUERYW { NMHDR nmhdr; LPCWSTR pszFormat; SIZE szMax; } NMDATETIMEFORMATQUERYW, *LPNMDATETIMEFORMATQUERYW; typedef struct tagNMIPADDRESS { NMHDR hdr; int iField; int iValue; } NMIPADDRESS, *LPNMIPADDRESS; #pragma warning(disable:4103) #pragma pack(push,1) typedef struct { NMHDR hdr; WORD fwKeys; RECT rcParent; int iDir; int iXpos; int iYpos; int iScroll; }NMPGSCROLL, *LPNMPGSCROLL; #pragma warning(disable:4103) #pragma pack(pop) typedef struct { NMHDR hdr; DWORD dwFlag; int iWidth; int iHeight; }NMPGCALCSIZE, *LPNMPGCALCSIZE; typedef struct tagNMPGHOTITEM { NMHDR hdr; int idOld; int idNew; DWORD dwFlags; } NMPGHOTITEM, * LPNMPGHOTITEM; typedef struct { HIMAGELIST himl; RECT margin; UINT uAlign; } BUTTON_IMAGELIST, *PBUTTON_IMAGELIST; typedef struct tagNMBCHOTITEM { NMHDR hdr; DWORD dwFlags; } NMBCHOTITEM, * LPNMBCHOTITEM; typedef struct tagBUTTON_SPLITINFO { UINT mask; HIMAGELIST himlGlyph; UINT uSplitStyle; SIZE size; } BUTTON_SPLITINFO, * PBUTTON_SPLITINFO; typedef struct tagNMBCDROPDOWN { NMHDR hdr; RECT rcButton; } NMBCDROPDOWN, * LPNMBCDROPDOWN; typedef struct _tagEDITBALLOONTIP { DWORD cbStruct; LPCWSTR pszTitle; LPCWSTR pszText; INT ttiIcon; } EDITBALLOONTIP, *PEDITBALLOONTIP; typedef enum EC_ENDOFLINE { EC_ENDOFLINE_DETECTFROMCONTENT = 0, EC_ENDOFLINE_CRLF = 1, EC_ENDOFLINE_CR = 2, EC_ENDOFLINE_LF = 3, } EC_ENDOFLINE; typedef enum EC_SEARCHWEB_ENTRYPOINT { EC_SEARCHWEB_ENTRYPOINT_EXTERNAL = 0, EC_SEARCHWEB_ENTRYPOINT_CONTEXTMENU = 1, } EC_SEARCHWEB_ENTRYPOINT; typedef struct NMSEARCHWEB { NMHDR hdr; EC_SEARCHWEB_ENTRYPOINT entrypoint; BOOL hasQueryText; BOOL invokeSucceeded; } NMSEARCHWEB; #pragma warning(disable:4103) #pragma pack(push,1) typedef HRESULT (__stdcall *PFTASKDIALOGCALLBACK)( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam, LONG_PTR lpRefData); enum _TASKDIALOG_FLAGS { TDF_ENABLE_HYPERLINKS = 0x0001, TDF_USE_HICON_MAIN = 0x0002, TDF_USE_HICON_FOOTER = 0x0004, TDF_ALLOW_DIALOG_CANCELLATION = 0x0008, TDF_USE_COMMAND_LINKS = 0x0010, TDF_USE_COMMAND_LINKS_NO_ICON = 0x0020, TDF_EXPAND_FOOTER_AREA = 0x0040, TDF_EXPANDED_BY_DEFAULT = 0x0080, TDF_VERIFICATION_FLAG_CHECKED = 0x0100, TDF_SHOW_PROGRESS_BAR = 0x0200, TDF_SHOW_MARQUEE_PROGRESS_BAR = 0x0400, TDF_CALLBACK_TIMER = 0x0800, TDF_POSITION_RELATIVE_TO_WINDOW = 0x1000, TDF_RTL_LAYOUT = 0x2000, TDF_NO_DEFAULT_RADIO_BUTTON = 0x4000, TDF_CAN_BE_MINIMIZED = 0x8000, TDF_NO_SET_FOREGROUND = 0x00010000, TDF_SIZE_TO_CONTENT = 0x01000000 }; typedef int TASKDIALOG_FLAGS; typedef enum _TASKDIALOG_MESSAGES { TDM_NAVIGATE_PAGE = 0x0400+101, TDM_CLICK_BUTTON = 0x0400+102, TDM_SET_MARQUEE_PROGRESS_BAR = 0x0400+103, TDM_SET_PROGRESS_BAR_STATE = 0x0400+104, TDM_SET_PROGRESS_BAR_RANGE = 0x0400+105, TDM_SET_PROGRESS_BAR_POS = 0x0400+106, TDM_SET_PROGRESS_BAR_MARQUEE = 0x0400+107, TDM_SET_ELEMENT_TEXT = 0x0400+108, TDM_CLICK_RADIO_BUTTON = 0x0400+110, TDM_ENABLE_BUTTON = 0x0400+111, TDM_ENABLE_RADIO_BUTTON = 0x0400+112, TDM_CLICK_VERIFICATION = 0x0400+113, TDM_UPDATE_ELEMENT_TEXT = 0x0400+114, TDM_SET_BUTTON_ELEVATION_REQUIRED_STATE = 0x0400+115, TDM_UPDATE_ICON = 0x0400+116 } TASKDIALOG_MESSAGES; typedef enum _TASKDIALOG_NOTIFICATIONS { TDN_CREATED = 0, TDN_NAVIGATED = 1, TDN_BUTTON_CLICKED = 2, TDN_HYPERLINK_CLICKED = 3, TDN_TIMER = 4, TDN_DESTROYED = 5, TDN_RADIO_BUTTON_CLICKED = 6, TDN_DIALOG_CONSTRUCTED = 7, TDN_VERIFICATION_CLICKED = 8, TDN_HELP = 9, TDN_EXPANDO_BUTTON_CLICKED = 10 } TASKDIALOG_NOTIFICATIONS; typedef struct _TASKDIALOG_BUTTON { int nButtonID; PCWSTR pszButtonText; } TASKDIALOG_BUTTON; typedef enum _TASKDIALOG_ELEMENTS { TDE_CONTENT, TDE_EXPANDED_INFORMATION, TDE_FOOTER, TDE_MAIN_INSTRUCTION } TASKDIALOG_ELEMENTS; typedef enum _TASKDIALOG_ICON_ELEMENTS { TDIE_ICON_MAIN, TDIE_ICON_FOOTER } TASKDIALOG_ICON_ELEMENTS; enum _TASKDIALOG_COMMON_BUTTON_FLAGS { TDCBF_OK_BUTTON = 0x0001, TDCBF_YES_BUTTON = 0x0002, TDCBF_NO_BUTTON = 0x0004, TDCBF_CANCEL_BUTTON = 0x0008, TDCBF_RETRY_BUTTON = 0x0010, TDCBF_CLOSE_BUTTON = 0x0020 }; typedef int TASKDIALOG_COMMON_BUTTON_FLAGS; typedef struct _TASKDIALOGCONFIG { UINT cbSize; HWND hwndParent; HINSTANCE hInstance; TASKDIALOG_FLAGS dwFlags; TASKDIALOG_COMMON_BUTTON_FLAGS dwCommonButtons; PCWSTR pszWindowTitle; union { HICON hMainIcon; PCWSTR pszMainIcon; } ; PCWSTR pszMainInstruction; PCWSTR pszContent; UINT cButtons; const TASKDIALOG_BUTTON *pButtons; int nDefaultButton; UINT cRadioButtons; const TASKDIALOG_BUTTON *pRadioButtons; int nDefaultRadioButton; PCWSTR pszVerificationText; PCWSTR pszExpandedInformation; PCWSTR pszExpandedControlText; PCWSTR pszCollapsedControlText; union { HICON hFooterIcon; PCWSTR pszFooterIcon; } ; PCWSTR pszFooter; PFTASKDIALOGCALLBACK pfCallback; LONG_PTR lpCallbackData; UINT cxWidth; } TASKDIALOGCONFIG; __declspec(dllimport) HRESULT __stdcall TaskDialogIndirect( const TASKDIALOGCONFIG *pTaskConfig, int *pnButton, int *pnRadioButton, BOOL *pfVerificationFlagChecked); __declspec(dllimport) HRESULT __stdcall TaskDialog( HWND hwndOwner, HINSTANCE hInstance, PCWSTR pszWindowTitle, PCWSTR pszMainInstruction, PCWSTR pszContent, TASKDIALOG_COMMON_BUTTON_FLAGS dwCommonButtons, PCWSTR pszIcon, int *pnButton); #pragma warning(disable:4103) #pragma pack(pop) void __stdcall InitMUILanguage(LANGID uiLang); LANGID __stdcall GetMUILanguage(void); #pragma warning(push) #pragma warning(disable:4001) #pragma warning(disable:4201) #pragma warning(disable:4820) #pragma once #pragma region Desktop Family extern "C" { typedef int (__stdcall *PFNDAENUMCALLBACK)( void *p, void *pData); typedef int (__stdcall *PFNDAENUMCALLBACKCONST)( const void *p, void *pData); typedef int (__stdcall *PFNDACOMPARE)( void *p1, void *p2, LPARAM lParam); typedef int (__stdcall *PFNDACOMPARECONST)( const void *p1, const void *p2, LPARAM lParam); struct _DSA; typedef struct _DSA *HDSA; __declspec(dllimport) HDSA __stdcall DSA_Create(int cbItem, int cItemGrow); __declspec(dllimport) BOOL __stdcall DSA_Destroy( HDSA hdsa); __declspec(dllimport) void __stdcall DSA_DestroyCallback( HDSA hdsa, PFNDAENUMCALLBACK pfnCB, void *pData); extern "C++" __inline void DSA_DestroyCallback( HDSA hdsa, PFNDAENUMCALLBACKCONST pfnCB, void *pData) { DSA_DestroyCallback(hdsa, (PFNDAENUMCALLBACK)pfnCB, pData); } __declspec(dllimport) BOOL __stdcall DSA_DeleteItem( HDSA hdsa, int i); __declspec(dllimport) BOOL __stdcall DSA_DeleteAllItems( HDSA hdsa); __declspec(dllimport) void __stdcall DSA_EnumCallback( HDSA hdsa, PFNDAENUMCALLBACK pfnCB, void *pData); extern "C++" __inline void DSA_EnumCallback( HDSA hdsa, PFNDAENUMCALLBACKCONST pfnCB, void *pData) { DSA_EnumCallback(hdsa, (PFNDAENUMCALLBACK)pfnCB, pData); } __declspec(dllimport) int __stdcall DSA_InsertItem( HDSA hdsa, int i, const void *pitem); __declspec(dllimport) PVOID __stdcall DSA_GetItemPtr( HDSA hdsa, int i); __declspec(dllimport) BOOL __stdcall DSA_GetItem( HDSA hdsa, int i, void *pitem); __declspec(dllimport) BOOL __stdcall DSA_SetItem( HDSA hdsa, int i, const void *pitem); __declspec(dllimport) HDSA __stdcall DSA_Clone( HDSA hdsa); __declspec(dllimport) ULONGLONG __stdcall DSA_GetSize( HDSA hdsa); __declspec(dllimport) BOOL __stdcall DSA_Sort( HDSA pdsa, PFNDACOMPARE pfnCompare, LPARAM lParam); extern "C++" __inline BOOL DSA_Sort( HDSA hdsa, PFNDACOMPARECONST pfnCompare, LPARAM lParam) { return DSA_Sort(hdsa, (PFNDACOMPARE)(pfnCompare), lParam); } struct _DPA; typedef struct _DPA *HDPA; __declspec(dllimport) HDPA __stdcall DPA_Create(int cItemGrow); __declspec(dllimport) HDPA __stdcall DPA_CreateEx( int cpGrow, HANDLE hheap); __declspec(dllimport) HDPA __stdcall DPA_Clone( const HDPA hdpa, HDPA hdpaNew); __declspec(dllimport) BOOL __stdcall DPA_Destroy( HDPA hdpa); __declspec(dllimport) void __stdcall DPA_DestroyCallback( HDPA hdpa, PFNDAENUMCALLBACK pfnCB, void *pData); extern "C++" __inline void DPA_DestroyCallback( HDPA hdpa, PFNDAENUMCALLBACKCONST pfnCB, void *pData) { DPA_DestroyCallback(hdpa, (PFNDAENUMCALLBACK)pfnCB, pData); } __declspec(dllimport) PVOID __stdcall DPA_DeletePtr( HDPA hdpa, int i); __declspec(dllimport) BOOL __stdcall DPA_DeleteAllPtrs( HDPA hdpa); __declspec(dllimport) void __stdcall DPA_EnumCallback( HDPA hdpa, PFNDAENUMCALLBACK pfnCB, void *pData); extern "C++" __inline void DPA_EnumCallback( HDPA hdpa, PFNDAENUMCALLBACKCONST pfnCB, void *pData) { DPA_EnumCallback(hdpa, (PFNDAENUMCALLBACK)pfnCB, pData); } __declspec(dllimport) BOOL __stdcall DPA_Grow( HDPA pdpa, int cp); __declspec(dllimport) int __stdcall DPA_InsertPtr( HDPA hdpa, int i, void *p); __declspec(dllimport) BOOL __stdcall DPA_SetPtr( HDPA hdpa, int i, void *p); __declspec(dllimport) PVOID __stdcall DPA_GetPtr( HDPA hdpa, INT_PTR i); __declspec(dllimport) int __stdcall DPA_GetPtrIndex( HDPA hdpa, const void *p); __declspec(dllimport) ULONGLONG __stdcall DPA_GetSize( HDPA hdpa); __declspec(dllimport) BOOL __stdcall DPA_Sort( HDPA hdpa, PFNDACOMPARE pfnCompare, LPARAM lParam); extern "C++" __inline BOOL DPA_Sort( HDPA hdpa, PFNDACOMPARECONST pfnCompare, LPARAM lParam) { return DPA_Sort(hdpa, (PFNDACOMPARE)(pfnCompare), lParam); } typedef struct _DPASTREAMINFO { int iPos; void *pvItem; } DPASTREAMINFO; struct IStream; typedef HRESULT (__stdcall *PFNDPASTREAM)( DPASTREAMINFO * pinfo, struct IStream * pstream, void *pvInstData); __declspec(dllimport) HRESULT __stdcall DPA_LoadStream( HDPA * phdpa, PFNDPASTREAM pfn, struct IStream * pstream, void *pvInstData); __declspec(dllimport) HRESULT __stdcall DPA_SaveStream( HDPA hdpa, PFNDPASTREAM pfn, struct IStream * pstream, void *pvInstData); typedef void* (__stdcall *PFNDPAMERGE)( UINT uMsg, void *pvDest, void *pvSrc, LPARAM lParam); typedef const void* (__stdcall *PFNDPAMERGECONST)( UINT uMsg, const void *pvDest, const void *pvSrc, LPARAM lParam); __declspec(dllimport) BOOL __stdcall DPA_Merge( HDPA hdpaDest, HDPA hdpaSrc, DWORD dwFlags, PFNDACOMPARE pfnCompare, PFNDPAMERGE pfnMerge, LPARAM lParam); extern "C++" __inline BOOL DPA_Merge( HDPA hdpaDest, HDPA hdpaSrc, DWORD dwFlags, PFNDACOMPARECONST pfnCompare, PFNDPAMERGECONST pfnMerge, LPARAM lParam) { return DPA_Merge(hdpaDest, hdpaSrc, dwFlags, (PFNDACOMPARE)pfnCompare, (PFNDPAMERGE)pfnMerge, lParam); } __declspec(dllimport) int __stdcall DPA_Search( HDPA hdpa, void *pFind, int iStart, PFNDACOMPARE pfnCompare, LPARAM lParam, UINT options); extern "C++" __inline int DPA_Search( HDPA hdpa, const void *pFind, int iStart, PFNDACOMPARECONST pfnCompare, LPARAM lParam, UINT options) { return DPA_Search(hdpa, const_cast(pFind), iStart, (PFNDACOMPARE)pfnCompare, lParam, options); } __declspec(dllimport) BOOL __stdcall Str_SetPtrW( LPWSTR * ppsz, LPCWSTR psz); } #pragma warning(pop) #pragma endregion __declspec(dllimport) BOOL __stdcall _TrackMouseEvent( LPTRACKMOUSEEVENT lpEventTrack); __declspec(dllimport) BOOL __stdcall FlatSB_EnableScrollBar(HWND, int, UINT); __declspec(dllimport) BOOL __stdcall FlatSB_ShowScrollBar(HWND, int code, BOOL); __declspec(dllimport) BOOL __stdcall FlatSB_GetScrollRange(HWND, int code, LPINT, LPINT); __declspec(dllimport) BOOL __stdcall FlatSB_GetScrollInfo(HWND, int code, LPSCROLLINFO); __declspec(dllimport) int __stdcall FlatSB_GetScrollPos(HWND, int code); __declspec(dllimport) BOOL __stdcall FlatSB_GetScrollProp(HWND, int propIndex, LPINT); __declspec(dllimport) BOOL __stdcall FlatSB_GetScrollPropPtr(HWND, int propIndex, PINT_PTR); __declspec(dllimport) int __stdcall FlatSB_SetScrollPos(HWND, int code, int pos, BOOL fRedraw); __declspec(dllimport) int __stdcall FlatSB_SetScrollInfo(HWND, int code, LPSCROLLINFO psi, BOOL fRedraw); __declspec(dllimport) int __stdcall FlatSB_SetScrollRange(HWND, int code, int min, int max, BOOL fRedraw); __declspec(dllimport) BOOL __stdcall FlatSB_SetScrollProp(HWND, UINT index, INT_PTR newValue, BOOL); __declspec(dllimport) BOOL __stdcall InitializeFlatSB(HWND); __declspec(dllimport) HRESULT __stdcall UninitializeFlatSB(HWND); typedef LRESULT (__stdcall *SUBCLASSPROC)(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, UINT_PTR uIdSubclass, DWORD_PTR dwRefData); BOOL __stdcall SetWindowSubclass( HWND hWnd, SUBCLASSPROC pfnSubclass, UINT_PTR uIdSubclass, DWORD_PTR dwRefData); BOOL __stdcall GetWindowSubclass( HWND hWnd, SUBCLASSPROC pfnSubclass, UINT_PTR uIdSubclass, DWORD_PTR *pdwRefData); BOOL __stdcall RemoveWindowSubclass( HWND hWnd, SUBCLASSPROC pfnSubclass, UINT_PTR uIdSubclass); LRESULT __stdcall DefSubclassProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam); enum _LI_METRIC { LIM_SMALL, LIM_LARGE, }; __declspec(dllimport) HRESULT __stdcall LoadIconMetric(HINSTANCE hinst, PCWSTR pszName, int lims, HICON *phico); __declspec(dllimport) HRESULT __stdcall LoadIconWithScaleDown(HINSTANCE hinst, PCWSTR pszName, int cx, int cy, HICON *phico); int __stdcall DrawShadowText( HDC hdc, LPCWSTR pszText, UINT cch, RECT* prc, DWORD dwFlags, COLORREF crText, COLORREF crShadow, int ixOffset, int iyOffset); } #pragma warning(pop) #pragma endregion #pragma pack(pop) #pragma once #pragma warning(push) #pragma warning(disable: 4324 4514 4574 4710 4793 4820 4995 4996 28719 28726 28727) extern "C" { #pragma deprecated("_ftcscat") #pragma deprecated("_ftcschr") #pragma deprecated("_ftcscpy") #pragma deprecated("_ftcscspn") #pragma deprecated("_ftcslen") #pragma deprecated("_ftcsncat") #pragma deprecated("_ftcsncpy") #pragma deprecated("_ftcspbrk") #pragma deprecated("_ftcsrchr") #pragma deprecated("_ftcsspn") #pragma deprecated("_ftcsstr") #pragma deprecated("_ftcstok") #pragma deprecated("_ftcsdup") #pragma deprecated("_ftcsnset") #pragma deprecated("_ftcsrev") #pragma deprecated("_ftcsset") #pragma deprecated("_ftcscmp") #pragma deprecated("_ftcsicmp") #pragma deprecated("_ftcsnccmp") #pragma deprecated("_ftcsncmp") #pragma deprecated("_ftcsncicmp") #pragma deprecated("_ftcsnicmp") #pragma deprecated("_ftcscoll") #pragma deprecated("_ftcsicoll") #pragma deprecated("_ftcsnccoll") #pragma deprecated("_ftcsncoll") #pragma deprecated("_ftcsncicoll") #pragma deprecated("_ftcsnicoll") #pragma deprecated("_ftcsclen") #pragma deprecated("_ftcsnccat") #pragma deprecated("_ftcsnccpy") #pragma deprecated("_ftcsncset") #pragma deprecated("_ftcsdec") #pragma deprecated("_ftcsinc") #pragma deprecated("_ftcsnbcnt") #pragma deprecated("_ftcsnccnt") #pragma deprecated("_ftcsnextc") #pragma deprecated("_ftcsninc") #pragma deprecated("_ftcsspnp") #pragma deprecated("_ftcslwr") #pragma deprecated("_ftcsupr") #pragma deprecated("_ftclen") #pragma deprecated("_ftccpy") #pragma deprecated("_ftccmp") } #pragma once #pragma once #pragma once #pragma warning(push) #pragma warning(disable: 4324 4514 4574 4710 4793 4820 4995 4996 28719 28726 28727) __pragma(pack(push, 8)) extern "C" { #pragma detect_mismatch("_CRT_STDIO_ISO_WIDE_SPECIFIERS", "0") __declspec(noinline) __inline unsigned __int64* __cdecl __local_stdio_printf_options(void) { static unsigned __int64 _OptionsStorage; return &_OptionsStorage; } __declspec(noinline) __inline unsigned __int64* __cdecl __local_stdio_scanf_options(void) { static unsigned __int64 _OptionsStorage; return &_OptionsStorage; } } __pragma(pack(pop)) #pragma warning(pop) #pragma warning(push) #pragma warning(disable: 4324 4514 4574 4710 4793 4820 4995 4996 28719 28726 28727) __pragma(pack(push, 8)) extern "C" { __declspec(dllimport) errno_t __cdecl _cgetws_s( wchar_t* _Buffer, size_t _BufferCount, size_t* _SizeRead ); extern "C++" { template inline errno_t __cdecl _cgetws_s(wchar_t (&_Buffer)[_Size], size_t* _SizeRead) throw() { return _cgetws_s(_Buffer, _Size, _SizeRead); } } __declspec(dllimport) int __cdecl _cputws( wchar_t const* _Buffer ); __declspec(dllimport) wint_t __cdecl _getwch (void); __declspec(dllimport) wint_t __cdecl _getwche (void); __declspec(dllimport) wint_t __cdecl _putwch ( wchar_t _Character); __declspec(dllimport) wint_t __cdecl _ungetwch( wint_t _Character); __declspec(dllimport) wint_t __cdecl _getwch_nolock (void); __declspec(dllimport) wint_t __cdecl _getwche_nolock (void); __declspec(dllimport) wint_t __cdecl _putwch_nolock ( wchar_t _Character); __declspec(dllimport) wint_t __cdecl _ungetwch_nolock( wint_t _Character); __declspec(dllimport) int __cdecl __conio_common_vcwprintf( unsigned __int64 _Options, wchar_t const* _Format, _locale_t _Locale, va_list _ArgList ); __declspec(dllimport) int __cdecl __conio_common_vcwprintf_s( unsigned __int64 _Options, wchar_t const* _Format, _locale_t _Locale, va_list _ArgList ); __declspec(dllimport) int __cdecl __conio_common_vcwprintf_p( unsigned __int64 _Options, wchar_t const* _Format, _locale_t _Locale, va_list _ArgList ); __inline int __cdecl _vcwprintf_l( wchar_t const* const _Format, _locale_t const _Locale, va_list _ArgList ) { return __conio_common_vcwprintf((*__local_stdio_printf_options()), _Format, _Locale, _ArgList); } __inline int __cdecl _vcwprintf( wchar_t const* const _Format, va_list _ArgList ) { return _vcwprintf_l(_Format, 0, _ArgList); } __inline int __cdecl _vcwprintf_s_l( wchar_t const* const _Format, _locale_t const _Locale, va_list _ArgList ) { return __conio_common_vcwprintf_s((*__local_stdio_printf_options()), _Format, _Locale, _ArgList); } __inline int __cdecl _vcwprintf_s( wchar_t const* const _Format, va_list _ArgList ) { return _vcwprintf_s_l(_Format, 0, _ArgList); } __inline int __cdecl _vcwprintf_p_l( wchar_t const* const _Format, _locale_t const _Locale, va_list _ArgList ) { return __conio_common_vcwprintf_p((*__local_stdio_printf_options()), _Format, _Locale, _ArgList); } __inline int __cdecl _vcwprintf_p( const wchar_t* const _Format, va_list _ArgList ) { return _vcwprintf_p_l(_Format, 0, _ArgList); } __inline int __cdecl _cwprintf_l( wchar_t const* const _Format, _locale_t const _Locale, ...) { int _Result; va_list _ArgList; ((void)(__vcrt_assert_va_start_is_not_reference(), ((void)(__va_start(&_ArgList, _Locale))))); _Result = _vcwprintf_l(_Format, _Locale, _ArgList); ((void)(_ArgList = (va_list)0)); return _Result; } __inline int __cdecl _cwprintf( wchar_t const* const _Format, ...) { int _Result; va_list _ArgList; ((void)(__vcrt_assert_va_start_is_not_reference(), ((void)(__va_start(&_ArgList, _Format))))); _Result = _vcwprintf_l(_Format, 0, _ArgList); ((void)(_ArgList = (va_list)0)); return _Result; } __inline int __cdecl _cwprintf_s_l( wchar_t const* const _Format, _locale_t const _Locale, ...) { int _Result; va_list _ArgList; ((void)(__vcrt_assert_va_start_is_not_reference(), ((void)(__va_start(&_ArgList, _Locale))))); _Result = _vcwprintf_s_l(_Format, _Locale, _ArgList); ((void)(_ArgList = (va_list)0)); return _Result; } __inline int __cdecl _cwprintf_s( wchar_t const* const _Format, ...) { int _Result; va_list _ArgList; ((void)(__vcrt_assert_va_start_is_not_reference(), ((void)(__va_start(&_ArgList, _Format))))); _Result = _vcwprintf_s_l(_Format, 0, _ArgList); ((void)(_ArgList = (va_list)0)); return _Result; } __inline int __cdecl _cwprintf_p_l( wchar_t const* const _Format, _locale_t const _Locale, ...) { int _Result; va_list _ArgList; ((void)(__vcrt_assert_va_start_is_not_reference(), ((void)(__va_start(&_ArgList, _Locale))))); _Result = _vcwprintf_p_l(_Format, _Locale, _ArgList); ((void)(_ArgList = (va_list)0)); return _Result; } __inline int __cdecl _cwprintf_p( wchar_t const* const _Format, ...) { int _Result; va_list _ArgList; ((void)(__vcrt_assert_va_start_is_not_reference(), ((void)(__va_start(&_ArgList, _Format))))); _Result = _vcwprintf_p_l(_Format, 0, _ArgList); ((void)(_ArgList = (va_list)0)); return _Result; } __declspec(dllimport) int __cdecl __conio_common_vcwscanf( unsigned __int64 _Options, wchar_t const* _Format, _locale_t _Locale, va_list _ArgList ); __declspec(deprecated("This function or variable may be unsafe. Consider using " "_vcwscanf_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __inline int __cdecl _vcwscanf_l( wchar_t const* const _Format, _locale_t const _Locale, va_list _ArgList ) { return __conio_common_vcwscanf( (*__local_stdio_scanf_options ()), _Format, _Locale, _ArgList); } __declspec(deprecated("This function or variable may be unsafe. Consider using " "_vcwscanf_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __inline int __cdecl _vcwscanf( wchar_t const* const _Format, va_list _ArgList ) { return _vcwscanf_l(_Format, 0, _ArgList); } __inline int __cdecl _vcwscanf_s_l( wchar_t const* const _Format, _locale_t const _Locale, va_list _ArgList ) { return __conio_common_vcwscanf( (*__local_stdio_scanf_options ()) | (1ULL << 0), _Format, _Locale, _ArgList); } __inline int __cdecl _vcwscanf_s( wchar_t const* const _Format, va_list _ArgList ) { return _vcwscanf_s_l(_Format, 0, _ArgList); } __declspec(deprecated("This function or variable may be unsafe. Consider using " "_cwscanf_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __inline int __cdecl _cwscanf_l( wchar_t const* const _Format, _locale_t const _Locale, ...) { int _Result; va_list _ArgList; ((void)(__vcrt_assert_va_start_is_not_reference(), ((void)(__va_start(&_ArgList, _Locale))))); _Result = _vcwscanf_l(_Format, _Locale, _ArgList); ((void)(_ArgList = (va_list)0)); return _Result; } __declspec(deprecated("This function or variable may be unsafe. Consider using " "_cwscanf_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __inline int __cdecl _cwscanf( wchar_t const* const _Format, ...) { int _Result; va_list _ArgList; ((void)(__vcrt_assert_va_start_is_not_reference(), ((void)(__va_start(&_ArgList, _Format))))); _Result = _vcwscanf_l(_Format, 0, _ArgList); ((void)(_ArgList = (va_list)0)); return _Result; } __inline int __cdecl _cwscanf_s_l( wchar_t const* const _Format, _locale_t const _Locale, ...) { int _Result; va_list _ArgList; ((void)(__vcrt_assert_va_start_is_not_reference(), ((void)(__va_start(&_ArgList, _Locale))))); _Result = _vcwscanf_s_l(_Format, _Locale, _ArgList); ((void)(_ArgList = (va_list)0)); return _Result; } __inline int __cdecl _cwscanf_s( wchar_t const* const _Format, ...) { int _Result; va_list _ArgList; ((void)(__vcrt_assert_va_start_is_not_reference(), ((void)(__va_start(&_ArgList, _Format))))); _Result = _vcwscanf_s_l(_Format, 0, _ArgList); ((void)(_ArgList = (va_list)0)); return _Result; } } __pragma(pack(pop)) #pragma warning(pop) #pragma once #pragma warning(push) #pragma warning(disable: 4324 4514 4574 4710 4793 4820 4995 4996 28719 28726 28727) __pragma(pack(push, 8)) extern "C" { __declspec(dllimport) __declspec(allocator) wchar_t* __cdecl _wgetcwd( wchar_t* _DstBuf, int _SizeInWords ); __declspec(dllimport) __declspec(allocator) wchar_t* __cdecl _wgetdcwd( int _Drive, wchar_t* _DstBuf, int _SizeInWords ); __declspec(dllimport) int __cdecl _wchdir( wchar_t const* _Path ); __declspec(dllimport) int __cdecl _wmkdir( wchar_t const* _Path ); __declspec(dllimport) int __cdecl _wrmdir( wchar_t const* _Path ); } __pragma(pack(pop)) #pragma warning(pop) #pragma once #pragma once #pragma warning(push) #pragma warning(disable: 4324 4514 4574 4710 4793 4820 4995 4996 28719 28726 28727) #pragma warning(pop) #pragma warning(push) #pragma warning(disable: 4324 4514 4574 4710 4793 4820 4995 4996 28719 28726 28727) __pragma(pack(push, 8)) extern "C" { typedef unsigned long _fsize_t; struct _wfinddata32_t { unsigned attrib; __time32_t time_create; __time32_t time_access; __time32_t time_write; _fsize_t size; wchar_t name[260]; }; struct _wfinddata32i64_t { unsigned attrib; __time32_t time_create; __time32_t time_access; __time32_t time_write; __int64 size; wchar_t name[260]; }; struct _wfinddata64i32_t { unsigned attrib; __time64_t time_create; __time64_t time_access; __time64_t time_write; _fsize_t size; wchar_t name[260]; }; struct _wfinddata64_t { unsigned attrib; __time64_t time_create; __time64_t time_access; __time64_t time_write; __int64 size; wchar_t name[260]; }; __declspec(dllimport) int __cdecl _waccess( wchar_t const* _FileName, int _AccessMode ); __declspec(dllimport) errno_t __cdecl _waccess_s( wchar_t const* _FileName, int _AccessMode ); __declspec(dllimport) int __cdecl _wchmod( wchar_t const* _FileName, int _Mode ); __declspec(deprecated("This function or variable may be unsafe. Consider using " "_wsopen_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __declspec(dllimport) int __cdecl _wcreat( wchar_t const* _FileName, int _PermissionMode ); __declspec(dllimport) intptr_t __cdecl _wfindfirst32( wchar_t const* _FileName, struct _wfinddata32_t* _FindData ); __declspec(dllimport) int __cdecl _wfindnext32( intptr_t _FindHandle, struct _wfinddata32_t* _FindData ); __declspec(dllimport) int __cdecl _wunlink( wchar_t const* _FileName ); __declspec(dllimport) int __cdecl _wrename( wchar_t const* _OldFileName, wchar_t const* _NewFileName ); __declspec(dllimport) errno_t __cdecl _wmktemp_s( wchar_t* _TemplateName, size_t _SizeInWords ); extern "C++" { template inline errno_t __cdecl _wmktemp_s(wchar_t (&_TemplateName)[_Size]) throw() { return _wmktemp_s(_TemplateName, _Size); } } __declspec(deprecated("This function or variable may be unsafe. Consider using " "_wmktemp_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __declspec(dllimport) wchar_t* __cdecl _wmktemp( wchar_t *_TemplateName); __declspec(dllimport) intptr_t __cdecl _wfindfirst32i64( wchar_t const* _FileName, struct _wfinddata32i64_t* _FindData ); __declspec(dllimport) intptr_t __cdecl _wfindfirst64i32( wchar_t const* _FileName, struct _wfinddata64i32_t* _FindData ); __declspec(dllimport) intptr_t __cdecl _wfindfirst64( wchar_t const* _FileName, struct _wfinddata64_t* _FindData ); __declspec(dllimport) int __cdecl _wfindnext32i64( intptr_t _FindHandle, struct _wfinddata32i64_t* _FindData ); __declspec(dllimport) int __cdecl _wfindnext64i32( intptr_t _FindHandle, struct _wfinddata64i32_t* _FindData ); __declspec(dllimport) int __cdecl _wfindnext64( intptr_t _FindHandle, struct _wfinddata64_t* _FindData ); __declspec(dllimport) errno_t __cdecl _wsopen_s( int* _FileHandle, wchar_t const* _FileName, int _OpenFlag, int _ShareFlag, int _PermissionFlag ); __declspec(dllimport) errno_t __cdecl _wsopen_dispatch( wchar_t const* _FileName, int _OFlag, int _ShFlag, int _PMode, int* _PFileHandle, int _BSecure ); extern "C++" __declspec(deprecated("This function or variable may be unsafe. Consider using " "_wsopen_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) inline int __cdecl _wopen( wchar_t const* _FileName, int _OFlag, int _PMode = 0 ) { int _FileHandle; errno_t const _Result = _wsopen_dispatch(_FileName, _OFlag, 0x40, _PMode, &_FileHandle, 0); return _Result ? -1 : _FileHandle; } extern "C++" __declspec(deprecated("This function or variable may be unsafe. Consider using " "_wsopen_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) inline int __cdecl _wsopen( wchar_t const* _FileName, int _OFlag, int _ShFlag, int _PMode = 0 ) { int _FileHandle; errno_t const _Result = _wsopen_dispatch(_FileName, _OFlag, _ShFlag, _PMode, &_FileHandle, 0); return _Result ? -1 : _FileHandle; } } __pragma(pack(pop)) #pragma warning(pop) #pragma once #pragma warning(push) #pragma warning(disable: 4324 4514 4574 4710 4793 4820 4995 4996 28719 28726 28727) __pragma(pack(push, 8)) extern "C" { __declspec(dllimport) intptr_t __cdecl _wexecl( wchar_t const* _FileName, wchar_t const* _ArgList, ...); __declspec(dllimport) intptr_t __cdecl _wexecle( wchar_t const* _FileName, wchar_t const* _ArgList, ...); __declspec(dllimport) intptr_t __cdecl _wexeclp( wchar_t const* _FileName, wchar_t const* _ArgList, ...); __declspec(dllimport) intptr_t __cdecl _wexeclpe( wchar_t const* _FileName, wchar_t const* _ArgList, ...); __declspec(dllimport) intptr_t __cdecl _wexecv( wchar_t const* _FileName, wchar_t const* const* _ArgList ); __declspec(dllimport) intptr_t __cdecl _wexecve( wchar_t const* _FileName, wchar_t const* const* _ArgList, wchar_t const* const* _Env ); __declspec(dllimport) intptr_t __cdecl _wexecvp( wchar_t const* _FileName, wchar_t const* const* _ArgList ); __declspec(dllimport) intptr_t __cdecl _wexecvpe( wchar_t const* _FileName, wchar_t const* const* _ArgList, wchar_t const* const* _Env ); __declspec(dllimport) intptr_t __cdecl _wspawnl( int _Mode, wchar_t const* _FileName, wchar_t const* _ArgList, ...); __declspec(dllimport) intptr_t __cdecl _wspawnle( int _Mode, wchar_t const* _FileName, wchar_t const* _ArgList, ...); __declspec(dllimport) intptr_t __cdecl _wspawnlp( int _Mode, wchar_t const* _FileName, wchar_t const* _ArgList, ...); __declspec(dllimport) intptr_t __cdecl _wspawnlpe( int _Mode, wchar_t const* _FileName, wchar_t const* _ArgList, ...); __declspec(dllimport) intptr_t __cdecl _wspawnv( int _Mode, wchar_t const* _FileName, wchar_t const* const* _ArgList ); __declspec(dllimport) intptr_t __cdecl _wspawnve( int _Mode, wchar_t const* _FileName, wchar_t const* const* _ArgList, wchar_t const* const* _Env ); __declspec(dllimport) intptr_t __cdecl _wspawnvp( int _Mode, wchar_t const* _FileName, wchar_t const* const* _ArgList ); __declspec(dllimport) intptr_t __cdecl _wspawnvpe( int _Mode, wchar_t const* _FileName, wchar_t const* const* _ArgList, wchar_t const* const* _Env ); __declspec(dllimport) int __cdecl _wsystem( wchar_t const* _Command ); } __pragma(pack(pop)) #pragma warning(pop) #pragma once #pragma warning(push) #pragma warning(disable: 4324 4514 4574 4710 4793 4820 4995 4996 28719 28726 28727) __pragma(pack(push, 8)) extern "C" { typedef struct _iobuf { void* _Placeholder; } FILE; __declspec(dllimport) FILE* __cdecl __acrt_iob_func(unsigned _Ix); __declspec(dllimport) wint_t __cdecl fgetwc( FILE* _Stream ); __declspec(dllimport) wint_t __cdecl _fgetwchar(void); __declspec(dllimport) wint_t __cdecl fputwc( wchar_t _Character, FILE* _Stream); __declspec(dllimport) wint_t __cdecl _fputwchar( wchar_t _Character ); __declspec(dllimport) wint_t __cdecl getwc( FILE* _Stream ); __declspec(dllimport) wint_t __cdecl getwchar(void); __declspec(dllimport) wchar_t* __cdecl fgetws( wchar_t* _Buffer, int _BufferCount, FILE* _Stream ); __declspec(dllimport) int __cdecl fputws( wchar_t const* _Buffer, FILE* _Stream ); __declspec(dllimport) wchar_t* __cdecl _getws_s( wchar_t* _Buffer, size_t _BufferCount ); extern "C++" { template inline wchar_t* __cdecl _getws_s(wchar_t (&_Buffer)[_Size]) throw() { return _getws_s(_Buffer, _Size); } } __declspec(dllimport) wint_t __cdecl putwc( wchar_t _Character, FILE* _Stream ); __declspec(dllimport) wint_t __cdecl putwchar( wchar_t _Character ); __declspec(dllimport) int __cdecl _putws( wchar_t const* _Buffer ); __declspec(dllimport) wint_t __cdecl ungetwc( wint_t _Character, FILE* _Stream ); __declspec(dllimport) FILE * __cdecl _wfdopen( int _FileHandle, wchar_t const* _Mode ); __declspec(deprecated("This function or variable may be unsafe. Consider using " "_wfopen_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __declspec(dllimport) FILE* __cdecl _wfopen( wchar_t const* _FileName, wchar_t const* _Mode ); __declspec(dllimport) errno_t __cdecl _wfopen_s( FILE** _Stream, wchar_t const* _FileName, wchar_t const* _Mode ); __declspec(deprecated("This function or variable may be unsafe. Consider using " "_wfreopen_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __declspec(dllimport) FILE* __cdecl _wfreopen( wchar_t const* _FileName, wchar_t const* _Mode, FILE* _OldStream ); __declspec(dllimport) errno_t __cdecl _wfreopen_s( FILE** _Stream, wchar_t const* _FileName, wchar_t const* _Mode, FILE* _OldStream ); __declspec(dllimport) FILE* __cdecl _wfsopen( wchar_t const* _FileName, wchar_t const* _Mode, int _ShFlag ); __declspec(dllimport) void __cdecl _wperror( wchar_t const* _ErrorMessage ); __declspec(dllimport) FILE* __cdecl _wpopen( wchar_t const* _Command, wchar_t const* _Mode ); __declspec(dllimport) int __cdecl _wremove( wchar_t const* _FileName ); __declspec(dllimport) __declspec(allocator) wchar_t* __cdecl _wtempnam( wchar_t const* _Directory, wchar_t const* _FilePrefix ); __declspec(dllimport) errno_t __cdecl _wtmpnam_s( wchar_t* _Buffer, size_t _BufferCount ); extern "C++" { template inline errno_t __cdecl _wtmpnam_s(wchar_t (&_Buffer)[_Size]) throw() { return _wtmpnam_s(_Buffer, _Size); } } __declspec(deprecated("This function or variable may be unsafe. Consider using " "_wtmpnam_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __declspec(dllimport) wchar_t* __cdecl _wtmpnam( wchar_t *_Buffer); __declspec(dllimport) wint_t __cdecl _fgetwc_nolock( FILE* _Stream ); __declspec(dllimport) wint_t __cdecl _fputwc_nolock( wchar_t _Character, FILE* _Stream ); __declspec(dllimport) wint_t __cdecl _getwc_nolock( FILE* _Stream ); __declspec(dllimport) wint_t __cdecl _putwc_nolock( wchar_t _Character, FILE* _Stream ); __declspec(dllimport) wint_t __cdecl _ungetwc_nolock( wint_t _Character, FILE* _Stream ); __declspec(dllimport) int __cdecl __stdio_common_vfwprintf( unsigned __int64 _Options, FILE* _Stream, wchar_t const* _Format, _locale_t _Locale, va_list _ArgList ); __declspec(dllimport) int __cdecl __stdio_common_vfwprintf_s( unsigned __int64 _Options, FILE* _Stream, wchar_t const* _Format, _locale_t _Locale, va_list _ArgList ); __declspec(dllimport) int __cdecl __stdio_common_vfwprintf_p( unsigned __int64 _Options, FILE* _Stream, wchar_t const* _Format, _locale_t _Locale, va_list _ArgList ); __inline int __cdecl _vfwprintf_l( FILE* const _Stream, wchar_t const* const _Format, _locale_t const _Locale, va_list _ArgList ) { return __stdio_common_vfwprintf((*__local_stdio_printf_options()), _Stream, _Format, _Locale, _ArgList); } __inline int __cdecl vfwprintf( FILE* const _Stream, wchar_t const* const _Format, va_list _ArgList ) { return _vfwprintf_l(_Stream, _Format, 0, _ArgList); } __inline int __cdecl _vfwprintf_s_l( FILE* const _Stream, wchar_t const* const _Format, _locale_t const _Locale, va_list _ArgList ) { return __stdio_common_vfwprintf_s((*__local_stdio_printf_options()), _Stream, _Format, _Locale, _ArgList); } __inline int __cdecl vfwprintf_s( FILE* const _Stream, wchar_t const* const _Format, va_list _ArgList ) { return _vfwprintf_s_l(_Stream, _Format, 0, _ArgList); } __inline int __cdecl _vfwprintf_p_l( FILE* const _Stream, wchar_t const* const _Format, _locale_t const _Locale, va_list _ArgList ) { return __stdio_common_vfwprintf_p((*__local_stdio_printf_options()), _Stream, _Format, _Locale, _ArgList); } __inline int __cdecl _vfwprintf_p( FILE* const _Stream, wchar_t const* const _Format, va_list _ArgList ) { return _vfwprintf_p_l(_Stream, _Format, 0, _ArgList); } __inline int __cdecl _vwprintf_l( wchar_t const* const _Format, _locale_t const _Locale, va_list _ArgList ) { return _vfwprintf_l((__acrt_iob_func(1)), _Format, _Locale, _ArgList); } __inline int __cdecl vwprintf( wchar_t const* const _Format, va_list _ArgList ) { return _vfwprintf_l((__acrt_iob_func(1)), _Format, 0, _ArgList); } __inline int __cdecl _vwprintf_s_l( wchar_t const* const _Format, _locale_t const _Locale, va_list _ArgList ) { return _vfwprintf_s_l((__acrt_iob_func(1)), _Format, _Locale, _ArgList); } __inline int __cdecl vwprintf_s( wchar_t const* const _Format, va_list _ArgList ) { return _vfwprintf_s_l((__acrt_iob_func(1)), _Format, 0, _ArgList); } __inline int __cdecl _vwprintf_p_l( wchar_t const* const _Format, _locale_t const _Locale, va_list _ArgList ) { return _vfwprintf_p_l((__acrt_iob_func(1)), _Format, _Locale, _ArgList); } __inline int __cdecl _vwprintf_p( wchar_t const* const _Format, va_list _ArgList ) { return _vfwprintf_p_l((__acrt_iob_func(1)), _Format, 0, _ArgList); } __inline int __cdecl _fwprintf_l( FILE* const _Stream, wchar_t const* const _Format, _locale_t const _Locale, ...) { int _Result; va_list _ArgList; ((void)(__vcrt_assert_va_start_is_not_reference(), ((void)(__va_start(&_ArgList, _Locale))))); _Result = _vfwprintf_l(_Stream, _Format, _Locale, _ArgList); ((void)(_ArgList = (va_list)0)); return _Result; } __inline int __cdecl fwprintf( FILE* const _Stream, wchar_t const* const _Format, ...) { int _Result; va_list _ArgList; ((void)(__vcrt_assert_va_start_is_not_reference(), ((void)(__va_start(&_ArgList, _Format))))); _Result = _vfwprintf_l(_Stream, _Format, 0, _ArgList); ((void)(_ArgList = (va_list)0)); return _Result; } __inline int __cdecl _fwprintf_s_l( FILE* const _Stream, wchar_t const* const _Format, _locale_t const _Locale, ...) { int _Result; va_list _ArgList; ((void)(__vcrt_assert_va_start_is_not_reference(), ((void)(__va_start(&_ArgList, _Locale))))); _Result = _vfwprintf_s_l(_Stream, _Format, _Locale, _ArgList); ((void)(_ArgList = (va_list)0)); return _Result; } __inline int __cdecl fwprintf_s( FILE* const _Stream, wchar_t const* const _Format, ...) { int _Result; va_list _ArgList; ((void)(__vcrt_assert_va_start_is_not_reference(), ((void)(__va_start(&_ArgList, _Format))))); _Result = _vfwprintf_s_l(_Stream, _Format, 0, _ArgList); ((void)(_ArgList = (va_list)0)); return _Result; } __inline int __cdecl _fwprintf_p_l( FILE* const _Stream, wchar_t const* const _Format, _locale_t const _Locale, ...) { int _Result; va_list _ArgList; ((void)(__vcrt_assert_va_start_is_not_reference(), ((void)(__va_start(&_ArgList, _Locale))))); _Result = _vfwprintf_p_l(_Stream, _Format, _Locale, _ArgList); ((void)(_ArgList = (va_list)0)); return _Result; } __inline int __cdecl _fwprintf_p( FILE* const _Stream, wchar_t const* const _Format, ...) { int _Result; va_list _ArgList; ((void)(__vcrt_assert_va_start_is_not_reference(), ((void)(__va_start(&_ArgList, _Format))))); _Result = _vfwprintf_p_l(_Stream, _Format, 0, _ArgList); ((void)(_ArgList = (va_list)0)); return _Result; } __inline int __cdecl _wprintf_l( wchar_t const* const _Format, _locale_t const _Locale, ...) { int _Result; va_list _ArgList; ((void)(__vcrt_assert_va_start_is_not_reference(), ((void)(__va_start(&_ArgList, _Locale))))); _Result = _vfwprintf_l((__acrt_iob_func(1)), _Format, _Locale, _ArgList); ((void)(_ArgList = (va_list)0)); return _Result; } __inline int __cdecl wprintf( wchar_t const* const _Format, ...) { int _Result; va_list _ArgList; ((void)(__vcrt_assert_va_start_is_not_reference(), ((void)(__va_start(&_ArgList, _Format))))); _Result = _vfwprintf_l((__acrt_iob_func(1)), _Format, 0, _ArgList); ((void)(_ArgList = (va_list)0)); return _Result; } __inline int __cdecl _wprintf_s_l( wchar_t const* const _Format, _locale_t const _Locale, ...) { int _Result; va_list _ArgList; ((void)(__vcrt_assert_va_start_is_not_reference(), ((void)(__va_start(&_ArgList, _Locale))))); _Result = _vfwprintf_s_l((__acrt_iob_func(1)), _Format, _Locale, _ArgList); ((void)(_ArgList = (va_list)0)); return _Result; } __inline int __cdecl wprintf_s( wchar_t const* const _Format, ...) { int _Result; va_list _ArgList; ((void)(__vcrt_assert_va_start_is_not_reference(), ((void)(__va_start(&_ArgList, _Format))))); _Result = _vfwprintf_s_l((__acrt_iob_func(1)), _Format, 0, _ArgList); ((void)(_ArgList = (va_list)0)); return _Result; } __inline int __cdecl _wprintf_p_l( wchar_t const* const _Format, _locale_t const _Locale, ...) { int _Result; va_list _ArgList; ((void)(__vcrt_assert_va_start_is_not_reference(), ((void)(__va_start(&_ArgList, _Locale))))); _Result = _vfwprintf_p_l((__acrt_iob_func(1)), _Format, _Locale, _ArgList); ((void)(_ArgList = (va_list)0)); return _Result; } __inline int __cdecl _wprintf_p( wchar_t const* const _Format, ...) { int _Result; va_list _ArgList; ((void)(__vcrt_assert_va_start_is_not_reference(), ((void)(__va_start(&_ArgList, _Format))))); _Result = _vfwprintf_p_l((__acrt_iob_func(1)), _Format, 0, _ArgList); ((void)(_ArgList = (va_list)0)); return _Result; } __declspec(dllimport) int __cdecl __stdio_common_vfwscanf( unsigned __int64 _Options, FILE* _Stream, wchar_t const* _Format, _locale_t _Locale, va_list _ArgList ); __inline int __cdecl _vfwscanf_l( FILE* const _Stream, wchar_t const* const _Format, _locale_t const _Locale, va_list _ArgList ) { return __stdio_common_vfwscanf( (*__local_stdio_scanf_options ()), _Stream, _Format, _Locale, _ArgList); } __inline int __cdecl vfwscanf( FILE* const _Stream, wchar_t const* const _Format, va_list _ArgList ) { return _vfwscanf_l(_Stream, _Format, 0, _ArgList); } __inline int __cdecl _vfwscanf_s_l( FILE* const _Stream, wchar_t const* const _Format, _locale_t const _Locale, va_list _ArgList ) { return __stdio_common_vfwscanf( (*__local_stdio_scanf_options ()) | (1ULL << 0), _Stream, _Format, _Locale, _ArgList); } __inline int __cdecl vfwscanf_s( FILE* const _Stream, wchar_t const* const _Format, va_list _ArgList ) { return _vfwscanf_s_l(_Stream, _Format, 0, _ArgList); } __inline int __cdecl _vwscanf_l( wchar_t const* const _Format, _locale_t const _Locale, va_list _ArgList ) { return _vfwscanf_l((__acrt_iob_func(0)), _Format, _Locale, _ArgList); } __inline int __cdecl vwscanf( wchar_t const* const _Format, va_list _ArgList ) { return _vfwscanf_l((__acrt_iob_func(0)), _Format, 0, _ArgList); } __inline int __cdecl _vwscanf_s_l( wchar_t const* const _Format, _locale_t const _Locale, va_list _ArgList ) { return _vfwscanf_s_l((__acrt_iob_func(0)), _Format, _Locale, _ArgList); } __inline int __cdecl vwscanf_s( wchar_t const* const _Format, va_list _ArgList ) { return _vfwscanf_s_l((__acrt_iob_func(0)), _Format, 0, _ArgList); } __declspec(deprecated("This function or variable may be unsafe. Consider using " "_fwscanf_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __inline int __cdecl _fwscanf_l( FILE* const _Stream, wchar_t const* const _Format, _locale_t const _Locale, ...) { int _Result; va_list _ArgList; ((void)(__vcrt_assert_va_start_is_not_reference(), ((void)(__va_start(&_ArgList, _Locale))))); _Result = _vfwscanf_l(_Stream, _Format, _Locale, _ArgList); ((void)(_ArgList = (va_list)0)); return _Result; } __declspec(deprecated("This function or variable may be unsafe. Consider using " "fwscanf_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __inline int __cdecl fwscanf( FILE* const _Stream, wchar_t const* const _Format, ...) { int _Result; va_list _ArgList; ((void)(__vcrt_assert_va_start_is_not_reference(), ((void)(__va_start(&_ArgList, _Format))))); _Result = _vfwscanf_l(_Stream, _Format, 0, _ArgList); ((void)(_ArgList = (va_list)0)); return _Result; } __inline int __cdecl _fwscanf_s_l( FILE* const _Stream, wchar_t const* const _Format, _locale_t const _Locale, ...) { int _Result; va_list _ArgList; ((void)(__vcrt_assert_va_start_is_not_reference(), ((void)(__va_start(&_ArgList, _Locale))))); _Result = _vfwscanf_s_l(_Stream, _Format, _Locale, _ArgList); ((void)(_ArgList = (va_list)0)); return _Result; } __inline int __cdecl fwscanf_s( FILE* const _Stream, wchar_t const* const _Format, ...) { int _Result; va_list _ArgList; ((void)(__vcrt_assert_va_start_is_not_reference(), ((void)(__va_start(&_ArgList, _Format))))); _Result = _vfwscanf_s_l(_Stream, _Format, 0, _ArgList); ((void)(_ArgList = (va_list)0)); return _Result; } __declspec(deprecated("This function or variable may be unsafe. Consider using " "_wscanf_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __inline int __cdecl _wscanf_l( wchar_t const* const _Format, _locale_t const _Locale, ...) { int _Result; va_list _ArgList; ((void)(__vcrt_assert_va_start_is_not_reference(), ((void)(__va_start(&_ArgList, _Locale))))); _Result = _vfwscanf_l((__acrt_iob_func(0)), _Format, _Locale, _ArgList); ((void)(_ArgList = (va_list)0)); return _Result; } __declspec(deprecated("This function or variable may be unsafe. Consider using " "wscanf_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __inline int __cdecl wscanf( wchar_t const* const _Format, ...) { int _Result; va_list _ArgList; ((void)(__vcrt_assert_va_start_is_not_reference(), ((void)(__va_start(&_ArgList, _Format))))); _Result = _vfwscanf_l((__acrt_iob_func(0)), _Format, 0, _ArgList); ((void)(_ArgList = (va_list)0)); return _Result; } __inline int __cdecl _wscanf_s_l( wchar_t const* const _Format, _locale_t const _Locale, ...) { int _Result; va_list _ArgList; ((void)(__vcrt_assert_va_start_is_not_reference(), ((void)(__va_start(&_ArgList, _Locale))))); _Result = _vfwscanf_s_l((__acrt_iob_func(0)), _Format, _Locale, _ArgList); ((void)(_ArgList = (va_list)0)); return _Result; } __inline int __cdecl wscanf_s( wchar_t const* const _Format, ...) { int _Result; va_list _ArgList; ((void)(__vcrt_assert_va_start_is_not_reference(), ((void)(__va_start(&_ArgList, _Format))))); _Result = _vfwscanf_s_l((__acrt_iob_func(0)), _Format, 0, _ArgList); ((void)(_ArgList = (va_list)0)); return _Result; } __declspec(dllimport) int __cdecl __stdio_common_vswprintf( unsigned __int64 _Options, wchar_t* _Buffer, size_t _BufferCount, wchar_t const* _Format, _locale_t _Locale, va_list _ArgList ); __declspec(dllimport) int __cdecl __stdio_common_vswprintf_s( unsigned __int64 _Options, wchar_t* _Buffer, size_t _BufferCount, wchar_t const* _Format, _locale_t _Locale, va_list _ArgList ); __declspec(dllimport) int __cdecl __stdio_common_vsnwprintf_s( unsigned __int64 _Options, wchar_t* _Buffer, size_t _BufferCount, size_t _MaxCount, wchar_t const* _Format, _locale_t _Locale, va_list _ArgList ); __declspec(dllimport) int __cdecl __stdio_common_vswprintf_p( unsigned __int64 _Options, wchar_t* _Buffer, size_t _BufferCount, wchar_t const* _Format, _locale_t _Locale, va_list _ArgList ); __declspec(deprecated("This function or variable may be unsafe. Consider using " "_vsnwprintf_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __inline int __cdecl _vsnwprintf_l( wchar_t* const _Buffer, size_t const _BufferCount, wchar_t const* const _Format, _locale_t const _Locale, va_list _ArgList ) { int const _Result = __stdio_common_vswprintf( (*__local_stdio_printf_options()) | (1ULL << 0), _Buffer, _BufferCount, _Format, _Locale, _ArgList); return _Result < 0 ? -1 : _Result; } __inline int __cdecl _vsnwprintf_s_l( wchar_t* const _Buffer, size_t const _BufferCount, size_t const _MaxCount, wchar_t const* const _Format, _locale_t const _Locale, va_list _ArgList ) { int const _Result = __stdio_common_vsnwprintf_s( (*__local_stdio_printf_options()), _Buffer, _BufferCount, _MaxCount, _Format, _Locale, _ArgList); return _Result < 0 ? -1 : _Result; } __inline int __cdecl _vsnwprintf_s( wchar_t* const _Buffer, size_t const _BufferCount, size_t const _MaxCount, wchar_t const* const _Format, va_list _ArgList ) { return _vsnwprintf_s_l(_Buffer, _BufferCount, _MaxCount, _Format, 0, _ArgList); } __declspec(deprecated("This function or variable may be unsafe. Consider using " "_snwprintf_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __inline int __cdecl _snwprintf( wchar_t *_Buffer, size_t _BufferCount, wchar_t const* _Format, ...); __declspec(deprecated("This function or variable may be unsafe. Consider using " "_vsnwprintf_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __inline int __cdecl _vsnwprintf( wchar_t *_Buffer, size_t _BufferCount, wchar_t const* _Format, va_list _Args); __declspec(deprecated("This function or variable may be unsafe. Consider using " "_vsnwprintf_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __inline int __cdecl _vsnwprintf( wchar_t* _Buffer, size_t _BufferCount, wchar_t const* _Format, va_list _ArgList ) { return _vsnwprintf_l(_Buffer, _BufferCount, _Format, 0, _ArgList); } extern "C++" { template inline int __cdecl _vsnwprintf_s(wchar_t (&_Buffer)[_Size], size_t _BufferCount, wchar_t const* _Format, va_list _ArgList) throw() { return _vsnwprintf_s(_Buffer, _Size, _BufferCount, _Format, _ArgList); } } __inline int __cdecl _vswprintf_c_l( wchar_t* const _Buffer, size_t const _BufferCount, wchar_t const* const _Format, _locale_t const _Locale, va_list _ArgList ) { int const _Result = __stdio_common_vswprintf( (*__local_stdio_printf_options()), _Buffer, _BufferCount, _Format, _Locale, _ArgList); return _Result < 0 ? -1 : _Result; } __inline int __cdecl _vswprintf_c( wchar_t* const _Buffer, size_t const _BufferCount, wchar_t const* const _Format, va_list _ArgList ) { return _vswprintf_c_l(_Buffer, _BufferCount, _Format, 0, _ArgList); } __inline int __cdecl _vswprintf_l( wchar_t* const _Buffer, size_t const _BufferCount, wchar_t const* const _Format, _locale_t const _Locale, va_list _ArgList ) { return _vswprintf_c_l(_Buffer, _BufferCount, _Format, _Locale, _ArgList); } __inline int __cdecl __vswprintf_l( wchar_t* const _Buffer, wchar_t const* const _Format, _locale_t const _Locale, va_list _ArgList ) { return _vswprintf_l(_Buffer, (size_t)-1, _Format, _Locale, _ArgList); } __inline int __cdecl _vswprintf( wchar_t* const _Buffer, wchar_t const* const _Format, va_list _ArgList ) { return _vswprintf_l(_Buffer, (size_t)-1, _Format, 0, _ArgList); } __inline int __cdecl vswprintf( wchar_t* const _Buffer, size_t const _BufferCount, wchar_t const* const _Format, va_list _ArgList ) { return _vswprintf_c_l(_Buffer, _BufferCount, _Format, 0, _ArgList); } __inline int __cdecl _vswprintf_s_l( wchar_t* const _Buffer, size_t const _BufferCount, wchar_t const* const _Format, _locale_t const _Locale, va_list _ArgList ) { int const _Result = __stdio_common_vswprintf_s( (*__local_stdio_printf_options()), _Buffer, _BufferCount, _Format, _Locale, _ArgList); return _Result < 0 ? -1 : _Result; } __inline int __cdecl vswprintf_s( wchar_t* const _Buffer, size_t const _BufferCount, wchar_t const* const _Format, va_list _ArgList ) { return _vswprintf_s_l(_Buffer, _BufferCount, _Format, 0, _ArgList); } extern "C++" { template inline int __cdecl vswprintf_s(wchar_t (&_Buffer)[_Size], wchar_t const* _Format, va_list _ArgList) throw() { return vswprintf_s(_Buffer, _Size, _Format, _ArgList); } } __inline int __cdecl _vswprintf_p_l( wchar_t* const _Buffer, size_t const _BufferCount, wchar_t const* const _Format, _locale_t const _Locale, va_list _ArgList ) { int const _Result = __stdio_common_vswprintf_p( (*__local_stdio_printf_options()), _Buffer, _BufferCount, _Format, _Locale, _ArgList); return _Result < 0 ? -1 : _Result; } __inline int __cdecl _vswprintf_p( wchar_t* const _Buffer, size_t const _BufferCount, wchar_t const* const _Format, va_list _ArgList ) { return _vswprintf_p_l(_Buffer, _BufferCount, _Format, 0, _ArgList); } __inline int __cdecl _vscwprintf_l( wchar_t const* const _Format, _locale_t const _Locale, va_list _ArgList ) { int const _Result = __stdio_common_vswprintf( (*__local_stdio_printf_options()) | (1ULL << 1), 0, 0, _Format, _Locale, _ArgList); return _Result < 0 ? -1 : _Result; } __inline int __cdecl _vscwprintf( wchar_t const* const _Format, va_list _ArgList ) { return _vscwprintf_l(_Format, 0, _ArgList); } __inline int __cdecl _vscwprintf_p_l( wchar_t const* const _Format, _locale_t const _Locale, va_list _ArgList ) { int const _Result = __stdio_common_vswprintf_p( (*__local_stdio_printf_options()) | (1ULL << 1), 0, 0, _Format, _Locale, _ArgList); return _Result < 0 ? -1 : _Result; } __inline int __cdecl _vscwprintf_p( wchar_t const* const _Format, va_list _ArgList ) { return _vscwprintf_p_l(_Format, 0, _ArgList); } __inline int __cdecl __swprintf_l( wchar_t* const _Buffer, wchar_t const* const _Format, _locale_t const _Locale, ...) { int _Result; va_list _ArgList; ((void)(__vcrt_assert_va_start_is_not_reference(), ((void)(__va_start(&_ArgList, _Locale))))); _Result = __vswprintf_l(_Buffer, _Format, _Locale, _ArgList); ((void)(_ArgList = (va_list)0)); return _Result; } __inline int __cdecl _swprintf_l( wchar_t* const _Buffer, size_t const _BufferCount, wchar_t const* const _Format, _locale_t const _Locale, ...) { int _Result; va_list _ArgList; ((void)(__vcrt_assert_va_start_is_not_reference(), ((void)(__va_start(&_ArgList, _Locale))))); _Result = _vswprintf_c_l(_Buffer, _BufferCount, _Format, _Locale, _ArgList); ((void)(_ArgList = (va_list)0)); return _Result; } __inline int __cdecl _swprintf( wchar_t* const _Buffer, wchar_t const* const _Format, ...) { int _Result; va_list _ArgList; ((void)(__vcrt_assert_va_start_is_not_reference(), ((void)(__va_start(&_ArgList, _Format))))); _Result = __vswprintf_l(_Buffer, _Format, 0, _ArgList); ((void)(_ArgList = (va_list)0)); return _Result; } __inline int __cdecl swprintf( wchar_t* const _Buffer, size_t const _BufferCount, wchar_t const* const _Format, ...) { int _Result; va_list _ArgList; ((void)(__vcrt_assert_va_start_is_not_reference(), ((void)(__va_start(&_ArgList, _Format))))); _Result = _vswprintf_c_l(_Buffer, _BufferCount, _Format, 0, _ArgList); ((void)(_ArgList = (va_list)0)); return _Result; } __declspec(deprecated("This function or variable may be unsafe. Consider using " "__swprintf_l_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __inline int __cdecl __swprintf_l( wchar_t *_Buffer, wchar_t const* _Format, _locale_t _Locale, ...); __declspec(deprecated("This function or variable may be unsafe. Consider using " "_vswprintf_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __inline int __cdecl __vswprintf_l( wchar_t *_Buffer, wchar_t const* _Format, _locale_t _Locale, va_list _Args); __declspec(deprecated("This function or variable may be unsafe. Consider using " "swprintf_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __inline int __cdecl _swprintf( wchar_t *_Buffer, wchar_t const* _Format, ...); __declspec(deprecated("This function or variable may be unsafe. Consider using " "vswprintf_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __inline int __cdecl _vswprintf( wchar_t *_Buffer, wchar_t const* _Format, va_list _Args); __inline int __cdecl _swprintf_s_l( wchar_t* const _Buffer, size_t const _BufferCount, wchar_t const* const _Format, _locale_t const _Locale, ...) { int _Result; va_list _ArgList; ((void)(__vcrt_assert_va_start_is_not_reference(), ((void)(__va_start(&_ArgList, _Locale))))); _Result = _vswprintf_s_l(_Buffer, _BufferCount, _Format, _Locale, _ArgList); ((void)(_ArgList = (va_list)0)); return _Result; } __inline int __cdecl swprintf_s( wchar_t* const _Buffer, size_t const _BufferCount, wchar_t const* const _Format, ...) { int _Result; va_list _ArgList; ((void)(__vcrt_assert_va_start_is_not_reference(), ((void)(__va_start(&_ArgList, _Format))))); _Result = _vswprintf_s_l(_Buffer, _BufferCount, _Format, 0, _ArgList); ((void)(_ArgList = (va_list)0)); return _Result; } extern "C++" { template inline int __cdecl swprintf_s(wchar_t (&_Buffer)[_Size], wchar_t const* _Format, ...) throw() { va_list _ArgList; ((void)(__vcrt_assert_va_start_is_not_reference(), ((void)(__va_start(&_ArgList, _Format))))); return vswprintf_s(_Buffer, _Size, _Format, _ArgList); } } __inline int __cdecl _swprintf_p_l( wchar_t* const _Buffer, size_t const _BufferCount, wchar_t const* const _Format, _locale_t const _Locale, ...) { int _Result; va_list _ArgList; ((void)(__vcrt_assert_va_start_is_not_reference(), ((void)(__va_start(&_ArgList, _Locale))))); _Result = _vswprintf_p_l(_Buffer, _BufferCount, _Format, _Locale, _ArgList); ((void)(_ArgList = (va_list)0)); return _Result; } __inline int __cdecl _swprintf_p( wchar_t* const _Buffer, size_t const _BufferCount, wchar_t const* const _Format, ...) { int _Result; va_list _ArgList; ((void)(__vcrt_assert_va_start_is_not_reference(), ((void)(__va_start(&_ArgList, _Format))))); _Result = _vswprintf_p_l(_Buffer, _BufferCount, _Format, 0, _ArgList); ((void)(_ArgList = (va_list)0)); return _Result; } __inline int __cdecl _swprintf_c_l( wchar_t* const _Buffer, size_t const _BufferCount, wchar_t const* const _Format, _locale_t const _Locale, ...) { int _Result; va_list _ArgList; ((void)(__vcrt_assert_va_start_is_not_reference(), ((void)(__va_start(&_ArgList, _Locale))))); _Result = _vswprintf_c_l(_Buffer, _BufferCount, _Format, _Locale, _ArgList); ((void)(_ArgList = (va_list)0)); return _Result; } __inline int __cdecl _swprintf_c( wchar_t* const _Buffer, size_t const _BufferCount, wchar_t const* const _Format, ...) { int _Result; va_list _ArgList; ((void)(__vcrt_assert_va_start_is_not_reference(), ((void)(__va_start(&_ArgList, _Format))))); _Result = _vswprintf_c_l(_Buffer, _BufferCount, _Format, 0, _ArgList); ((void)(_ArgList = (va_list)0)); return _Result; } __declspec(deprecated("This function or variable may be unsafe. Consider using " "_snwprintf_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __inline int __cdecl _snwprintf_l( wchar_t* const _Buffer, size_t const _BufferCount, wchar_t const* const _Format, _locale_t const _Locale, ...) { int _Result; va_list _ArgList; ((void)(__vcrt_assert_va_start_is_not_reference(), ((void)(__va_start(&_ArgList, _Locale))))); _Result = _vsnwprintf_l(_Buffer, _BufferCount, _Format, _Locale, _ArgList); ((void)(_ArgList = (va_list)0)); return _Result; } __inline int __cdecl _snwprintf( wchar_t* _Buffer, size_t _BufferCount, wchar_t const* _Format, ...) { int _Result; va_list _ArgList; ((void)(__vcrt_assert_va_start_is_not_reference(), ((void)(__va_start(&_ArgList, _Format))))); _Result = _vsnwprintf_l(_Buffer, _BufferCount, _Format, 0, _ArgList); ((void)(_ArgList = (va_list)0)); return _Result; } __inline int __cdecl _snwprintf_s_l( wchar_t* const _Buffer, size_t const _BufferCount, size_t const _MaxCount, wchar_t const* const _Format, _locale_t const _Locale, ...) { int _Result; va_list _ArgList; ((void)(__vcrt_assert_va_start_is_not_reference(), ((void)(__va_start(&_ArgList, _Locale))))); _Result = _vsnwprintf_s_l(_Buffer, _BufferCount, _MaxCount, _Format, _Locale, _ArgList); ((void)(_ArgList = (va_list)0)); return _Result; } __inline int __cdecl _snwprintf_s( wchar_t* const _Buffer, size_t const _BufferCount, size_t const _MaxCount, wchar_t const* const _Format, ...) { int _Result; va_list _ArgList; ((void)(__vcrt_assert_va_start_is_not_reference(), ((void)(__va_start(&_ArgList, _Format))))); _Result = _vsnwprintf_s_l(_Buffer, _BufferCount, _MaxCount, _Format, 0, _ArgList); ((void)(_ArgList = (va_list)0)); return _Result; } extern "C++" { template inline int __cdecl _snwprintf_s(wchar_t (&_Buffer)[_Size], size_t _BufferCount, wchar_t const* _Format, ...) throw() { va_list _ArgList; ((void)(__vcrt_assert_va_start_is_not_reference(), ((void)(__va_start(&_ArgList, _Format))))); return _vsnwprintf_s(_Buffer, _Size, _BufferCount, _Format, _ArgList); } } __inline int __cdecl _scwprintf_l( wchar_t const* const _Format, _locale_t const _Locale, ...) { int _Result; va_list _ArgList; ((void)(__vcrt_assert_va_start_is_not_reference(), ((void)(__va_start(&_ArgList, _Locale))))); _Result = _vscwprintf_l(_Format, _Locale, _ArgList); ((void)(_ArgList = (va_list)0)); return _Result; } __inline int __cdecl _scwprintf( wchar_t const* const _Format, ...) { int _Result; va_list _ArgList; ((void)(__vcrt_assert_va_start_is_not_reference(), ((void)(__va_start(&_ArgList, _Format))))); _Result = _vscwprintf_l(_Format, 0, _ArgList); ((void)(_ArgList = (va_list)0)); return _Result; } __inline int __cdecl _scwprintf_p_l( wchar_t const* const _Format, _locale_t const _Locale, ...) { int _Result; va_list _ArgList; ((void)(__vcrt_assert_va_start_is_not_reference(), ((void)(__va_start(&_ArgList, _Locale))))); _Result = _vscwprintf_p_l(_Format, _Locale, _ArgList); ((void)(_ArgList = (va_list)0)); return _Result; } __inline int __cdecl _scwprintf_p( wchar_t const* const _Format, ...) { int _Result; va_list _ArgList; ((void)(__vcrt_assert_va_start_is_not_reference(), ((void)(__va_start(&_ArgList, _Format))))); _Result = _vscwprintf_p_l(_Format, 0, _ArgList); ((void)(_ArgList = (va_list)0)); return _Result; } #pragma warning(push) #pragma warning(disable: 4141 6054) extern "C++" __declspec(deprecated("function has been changed to conform with the ISO C standard, " "adding an extra character count parameter. To use the traditional " "Microsoft version, set _CRT_NON_CONFORMING_SWPRINTFS.")) __declspec(deprecated("This function or variable may be unsafe. Consider using " "swprintf_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) inline int swprintf( wchar_t* const _Buffer, wchar_t const* const _Format, ...) throw() { int _Result; va_list _ArgList; ((void)(__vcrt_assert_va_start_is_not_reference(), ((void)(__va_start(&_ArgList, _Format))))); _Result = vswprintf(_Buffer, 2147483647, _Format, _ArgList); ((void)(_ArgList = (va_list)0)); return _Result; } extern "C++" __declspec(deprecated("function has been changed to conform with the ISO C standard, " "adding an extra character count parameter. To use the traditional " "Microsoft version, set _CRT_NON_CONFORMING_SWPRINTFS.")) __declspec(deprecated("This function or variable may be unsafe. Consider using " "vswprintf_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) inline int __cdecl vswprintf( wchar_t* const _Buffer, wchar_t const* const _Format, va_list _ArgList ) throw() { return vswprintf(_Buffer, 2147483647, _Format, _ArgList); } extern "C++" __declspec(deprecated("function has been changed to conform with the ISO C standard, " "adding an extra character count parameter. To use the traditional " "Microsoft version, set _CRT_NON_CONFORMING_SWPRINTFS.")) __declspec(deprecated("This function or variable may be unsafe. Consider using " "_swprintf_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) inline int _swprintf_l( wchar_t* const _Buffer, wchar_t const* const _Format, _locale_t const _Locale, ...) throw() { int _Result; va_list _ArgList; ((void)(__vcrt_assert_va_start_is_not_reference(), ((void)(__va_start(&_ArgList, _Locale))))); _Result = _vswprintf_l(_Buffer, (size_t)-1, _Format, _Locale, _ArgList); ((void)(_ArgList = (va_list)0)); return _Result; } extern "C++" __declspec(deprecated("function has been changed to conform with the ISO C standard, " "adding an extra character count parameter. To use the traditional " "Microsoft version, set _CRT_NON_CONFORMING_SWPRINTFS.")) __declspec(deprecated("This function or variable may be unsafe. Consider using " "_vswprintf_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) inline int __cdecl _vswprintf_l( wchar_t* const _Buffer, wchar_t const* const _Format, _locale_t const _Locale, va_list _ArgList ) throw() { return _vswprintf_l(_Buffer, (size_t)-1, _Format, _Locale, _ArgList); } #pragma warning(pop) __declspec(dllimport) int __cdecl __stdio_common_vswscanf( unsigned __int64 _Options, wchar_t const* _Buffer, size_t _BufferCount, wchar_t const* _Format, _locale_t _Locale, va_list _ArgList ); __inline int __cdecl _vswscanf_l( wchar_t const* const _Buffer, wchar_t const* const _Format, _locale_t const _Locale, va_list _ArgList ) { return __stdio_common_vswscanf( (*__local_stdio_scanf_options ()), _Buffer, (size_t)-1, _Format, _Locale, _ArgList); } __inline int __cdecl vswscanf( wchar_t const* _Buffer, wchar_t const* _Format, va_list _ArgList ) { return _vswscanf_l(_Buffer, _Format, 0, _ArgList); } __inline int __cdecl _vswscanf_s_l( wchar_t const* const _Buffer, wchar_t const* const _Format, _locale_t const _Locale, va_list _ArgList ) { return __stdio_common_vswscanf( (*__local_stdio_scanf_options ()) | (1ULL << 0), _Buffer, (size_t)-1, _Format, _Locale, _ArgList); } __inline int __cdecl vswscanf_s( wchar_t const* const _Buffer, wchar_t const* const _Format, va_list _ArgList ) { return _vswscanf_s_l(_Buffer, _Format, 0, _ArgList); } extern "C++" { template inline int __cdecl vswscanf_s(wchar_t (&_Buffer)[_Size], wchar_t const* _Format, va_list _ArgList) throw() { return vswscanf_s(_Buffer, _Size, _Format, _ArgList); } } __declspec(deprecated("This function or variable may be unsafe. Consider using " "_vsnwscanf_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __inline int __cdecl _vsnwscanf_l( wchar_t const* const _Buffer, size_t const _BufferCount, wchar_t const* const _Format, _locale_t const _Locale, va_list _ArgList ) { return __stdio_common_vswscanf( (*__local_stdio_scanf_options ()), _Buffer, _BufferCount, _Format, _Locale, _ArgList); } __inline int __cdecl _vsnwscanf_s_l( wchar_t const* const _Buffer, size_t const _BufferCount, wchar_t const* const _Format, _locale_t const _Locale, va_list _ArgList ) { return __stdio_common_vswscanf( (*__local_stdio_scanf_options ()) | (1ULL << 0), _Buffer, _BufferCount, _Format, _Locale, _ArgList); } __declspec(deprecated("This function or variable may be unsafe. Consider using " "_swscanf_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __inline int __cdecl _swscanf_l( wchar_t const* const _Buffer, wchar_t const* const _Format, _locale_t _Locale, ...) { int _Result; va_list _ArgList; ((void)(__vcrt_assert_va_start_is_not_reference(), ((void)(__va_start(&_ArgList, _Locale))))); _Result = _vswscanf_l(_Buffer, _Format, _Locale, _ArgList); ((void)(_ArgList = (va_list)0)); return _Result; } __declspec(deprecated("This function or variable may be unsafe. Consider using " "swscanf_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __inline int __cdecl swscanf( wchar_t const* const _Buffer, wchar_t const* const _Format, ...) { int _Result; va_list _ArgList; ((void)(__vcrt_assert_va_start_is_not_reference(), ((void)(__va_start(&_ArgList, _Format))))); _Result = _vswscanf_l(_Buffer, _Format, 0, _ArgList); ((void)(_ArgList = (va_list)0)); return _Result; } __inline int __cdecl _swscanf_s_l( wchar_t const* const _Buffer, wchar_t const* const _Format, _locale_t const _Locale, ...) { int _Result; va_list _ArgList; ((void)(__vcrt_assert_va_start_is_not_reference(), ((void)(__va_start(&_ArgList, _Locale))))); _Result = _vswscanf_s_l(_Buffer, _Format, _Locale, _ArgList); ((void)(_ArgList = (va_list)0)); return _Result; } __inline int __cdecl swscanf_s( wchar_t const* const _Buffer, wchar_t const* const _Format, ...) { int _Result; va_list _ArgList; ((void)(__vcrt_assert_va_start_is_not_reference(), ((void)(__va_start(&_ArgList, _Format))))); _Result = _vswscanf_s_l(_Buffer, _Format, 0, _ArgList); ((void)(_ArgList = (va_list)0)); return _Result; } __declspec(deprecated("This function or variable may be unsafe. Consider using " "_snwscanf_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __inline int __cdecl _snwscanf_l( wchar_t const* const _Buffer, size_t const _BufferCount, wchar_t const* const _Format, _locale_t const _Locale, ...) { int _Result; va_list _ArgList; ((void)(__vcrt_assert_va_start_is_not_reference(), ((void)(__va_start(&_ArgList, _Locale))))); _Result = _vsnwscanf_l(_Buffer, _BufferCount, _Format, _Locale, _ArgList); ((void)(_ArgList = (va_list)0)); return _Result; } __declspec(deprecated("This function or variable may be unsafe. Consider using " "_snwscanf_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __inline int __cdecl _snwscanf( wchar_t const* const _Buffer, size_t const _BufferCount, wchar_t const* const _Format, ...) { int _Result; va_list _ArgList; ((void)(__vcrt_assert_va_start_is_not_reference(), ((void)(__va_start(&_ArgList, _Format))))); _Result = _vsnwscanf_l(_Buffer, _BufferCount, _Format, 0, _ArgList); ((void)(_ArgList = (va_list)0)); return _Result; } __inline int __cdecl _snwscanf_s_l( wchar_t const* const _Buffer, size_t const _BufferCount, wchar_t const* const _Format, _locale_t const _Locale, ...) { int _Result; va_list _ArgList; ((void)(__vcrt_assert_va_start_is_not_reference(), ((void)(__va_start(&_ArgList, _Locale))))); _Result = _vsnwscanf_s_l(_Buffer, _BufferCount, _Format, _Locale, _ArgList); ((void)(_ArgList = (va_list)0)); return _Result; } __inline int __cdecl _snwscanf_s( wchar_t const* const _Buffer, size_t const _BufferCount, wchar_t const* const _Format, ...) { int _Result; va_list _ArgList; ((void)(__vcrt_assert_va_start_is_not_reference(), ((void)(__va_start(&_ArgList, _Format))))); _Result = _vsnwscanf_s_l(_Buffer, _BufferCount, _Format, 0, _ArgList); ((void)(_ArgList = (va_list)0)); return _Result; } } __pragma(pack(pop)) #pragma warning(pop) #pragma once #pragma warning(push) #pragma warning(disable: 4324 4514 4574 4710 4793 4820 4995 4996 28719 28726 28727) __pragma(pack(push, 8)) extern "C" { __declspec(dllimport) errno_t __cdecl _itow_s( int _Value, wchar_t* _Buffer, size_t _BufferCount, int _Radix ); extern "C++" { template inline errno_t __cdecl _itow_s(int _Value, wchar_t (&_Buffer)[_Size], int _Radix) throw() { return _itow_s(_Value, _Buffer, _Size, _Radix); } } __declspec(deprecated("This function or variable may be unsafe. Consider using " "_itow_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __declspec(dllimport) wchar_t* __cdecl _itow(int _Value, wchar_t *_Buffer, int _Radix); __declspec(dllimport) errno_t __cdecl _ltow_s( long _Value, wchar_t* _Buffer, size_t _BufferCount, int _Radix ); extern "C++" { template inline errno_t __cdecl _ltow_s(long _Value, wchar_t (&_Buffer)[_Size], int _Radix) throw() { return _ltow_s(_Value, _Buffer, _Size, _Radix); } } __declspec(deprecated("This function or variable may be unsafe. Consider using " "_ltow_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __declspec(dllimport) wchar_t* __cdecl _ltow(long _Value, wchar_t *_Buffer, int _Radix); __declspec(dllimport) errno_t __cdecl _ultow_s( unsigned long _Value, wchar_t* _Buffer, size_t _BufferCount, int _Radix ); extern "C++" { template inline errno_t __cdecl _ultow_s(unsigned long _Value, wchar_t (&_Buffer)[_Size], int _Radix) throw() { return _ultow_s(_Value, _Buffer, _Size, _Radix); } } __declspec(deprecated("This function or variable may be unsafe. Consider using " "_ultow_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __declspec(dllimport) wchar_t* __cdecl _ultow(unsigned long _Value, wchar_t *_Buffer, int _Radix); __declspec(dllimport) double __cdecl wcstod( wchar_t const* _String, wchar_t** _EndPtr ); __declspec(dllimport) double __cdecl _wcstod_l( wchar_t const* _String, wchar_t** _EndPtr, _locale_t _Locale ); __declspec(dllimport) long __cdecl wcstol( wchar_t const* _String, wchar_t** _EndPtr, int _Radix ); __declspec(dllimport) long __cdecl _wcstol_l( wchar_t const* _String, wchar_t** _EndPtr, int _Radix, _locale_t _Locale ); __declspec(dllimport) long long __cdecl wcstoll( wchar_t const* _String, wchar_t** _EndPtr, int _Radix ); __declspec(dllimport) long long __cdecl _wcstoll_l( wchar_t const* _String, wchar_t** _EndPtr, int _Radix, _locale_t _Locale ); __declspec(dllimport) unsigned long __cdecl wcstoul( wchar_t const* _String, wchar_t** _EndPtr, int _Radix ); __declspec(dllimport) unsigned long __cdecl _wcstoul_l( wchar_t const* _String, wchar_t** _EndPtr, int _Radix, _locale_t _Locale ); __declspec(dllimport) unsigned long long __cdecl wcstoull( wchar_t const* _String, wchar_t** _EndPtr, int _Radix ); __declspec(dllimport) unsigned long long __cdecl _wcstoull_l( wchar_t const* _String, wchar_t** _EndPtr, int _Radix, _locale_t _Locale ); __declspec(dllimport) long double __cdecl wcstold( wchar_t const* _String, wchar_t** _EndPtr ); __declspec(dllimport) long double __cdecl _wcstold_l( wchar_t const* _String, wchar_t** _EndPtr, _locale_t _Locale ); __declspec(dllimport) float __cdecl wcstof( wchar_t const* _String, wchar_t** _EndPtr ); __declspec(dllimport) float __cdecl _wcstof_l( wchar_t const* _String, wchar_t** _EndPtr, _locale_t _Locale ); __declspec(dllimport) double __cdecl _wtof( wchar_t const* _String ); __declspec(dllimport) double __cdecl _wtof_l( wchar_t const* _String, _locale_t _Locale ); __declspec(dllimport) int __cdecl _wtoi( wchar_t const* _String ); __declspec(dllimport) int __cdecl _wtoi_l( wchar_t const* _String, _locale_t _Locale ); __declspec(dllimport) long __cdecl _wtol( wchar_t const* _String ); __declspec(dllimport) long __cdecl _wtol_l( wchar_t const* _String, _locale_t _Locale ); __declspec(dllimport) long long __cdecl _wtoll( wchar_t const* _String ); __declspec(dllimport) long long __cdecl _wtoll_l( wchar_t const* _String, _locale_t _Locale ); __declspec(dllimport) errno_t __cdecl _i64tow_s( __int64 _Value, wchar_t* _Buffer, size_t _BufferCount, int _Radix ); __declspec(deprecated("This function or variable may be unsafe. Consider using " "_i64tow_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __declspec(dllimport) wchar_t* __cdecl _i64tow( __int64 _Value, wchar_t* _Buffer, int _Radix ); __declspec(dllimport) errno_t __cdecl _ui64tow_s( unsigned __int64 _Value, wchar_t* _Buffer, size_t _BufferCount, int _Radix ); __declspec(deprecated("This function or variable may be unsafe. Consider using " "_ui64tow_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __declspec(dllimport) wchar_t* __cdecl _ui64tow( unsigned __int64 _Value, wchar_t* _Buffer, int _Radix ); __declspec(dllimport) __int64 __cdecl _wtoi64( wchar_t const* _String ); __declspec(dllimport) __int64 __cdecl _wtoi64_l( wchar_t const* _String, _locale_t _Locale ); __declspec(dllimport) __int64 __cdecl _wcstoi64( wchar_t const* _String, wchar_t** _EndPtr, int _Radix ); __declspec(dllimport) __int64 __cdecl _wcstoi64_l( wchar_t const* _String, wchar_t** _EndPtr, int _Radix, _locale_t _Locale ); __declspec(dllimport) unsigned __int64 __cdecl _wcstoui64( wchar_t const* _String, wchar_t** _EndPtr, int _Radix ); __declspec(dllimport) unsigned __int64 __cdecl _wcstoui64_l( wchar_t const* _String, wchar_t** _EndPtr, int _Radix, _locale_t _Locale ); __declspec(dllimport) __declspec(allocator) wchar_t* __cdecl _wfullpath( wchar_t* _Buffer, wchar_t const* _Path, size_t _BufferCount ); __declspec(dllimport) errno_t __cdecl _wmakepath_s( wchar_t* _Buffer, size_t _BufferCount, wchar_t const* _Drive, wchar_t const* _Dir, wchar_t const* _Filename, wchar_t const* _Ext ); extern "C++" { template inline errno_t __cdecl _wmakepath_s(wchar_t (&_Buffer)[_Size], wchar_t const* _Drive, wchar_t const* _Dir, wchar_t const* _Filename, wchar_t const* _Ext) throw() { return _wmakepath_s(_Buffer, _Size, _Drive, _Dir, _Filename, _Ext); } } __declspec(deprecated("This function or variable may be unsafe. Consider using " "_wmakepath_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __declspec(dllimport) void __cdecl _wmakepath( wchar_t *_Buffer, wchar_t const* _Drive, wchar_t const* _Dir, wchar_t const* _Filename, wchar_t const* _Ext); __declspec(dllimport) void __cdecl _wperror( wchar_t const* _ErrorMessage ); __declspec(deprecated("This function or variable may be unsafe. Consider using " "_wsplitpath_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __declspec(dllimport) void __cdecl _wsplitpath( wchar_t const* _FullPath, wchar_t* _Drive, wchar_t* _Dir, wchar_t* _Filename, wchar_t* _Ext ); __declspec(dllimport) errno_t __cdecl _wsplitpath_s( wchar_t const* _FullPath, wchar_t* _Drive, size_t _DriveCount, wchar_t* _Dir, size_t _DirCount, wchar_t* _Filename, size_t _FilenameCount, wchar_t* _Ext, size_t _ExtCount ); extern "C++" { template inline errno_t __cdecl _wsplitpath_s( wchar_t const* _Path, wchar_t (&_Drive)[_DriveSize], wchar_t (&_Dir)[_DirSize], wchar_t (&_Name)[_NameSize], wchar_t (&_Ext)[_ExtSize] ) throw() { return _wsplitpath_s(_Path, _Drive, _DriveSize, _Dir, _DirSize, _Name, _NameSize, _Ext, _ExtSize); } } __declspec(dllimport) errno_t __cdecl _wdupenv_s( wchar_t** _Buffer, size_t* _BufferCount, wchar_t const* _VarName ); __declspec(deprecated("This function or variable may be unsafe. Consider using " "_wdupenv_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __declspec(dllimport) wchar_t* __cdecl _wgetenv( wchar_t const* _VarName ); __declspec(dllimport) errno_t __cdecl _wgetenv_s( size_t* _RequiredCount, wchar_t* _Buffer, size_t _BufferCount, wchar_t const* _VarName ); extern "C++" { template inline errno_t __cdecl _wgetenv_s(size_t* _RequiredCount, wchar_t (&_Buffer)[_Size], wchar_t const* _VarName) throw() { return _wgetenv_s(_RequiredCount, _Buffer, _Size, _VarName); } } __declspec(dllimport) int __cdecl _wputenv( wchar_t const* _EnvString ); __declspec(dllimport) errno_t __cdecl _wputenv_s( wchar_t const* _Name, wchar_t const* _Value ); __declspec(dllimport) errno_t __cdecl _wsearchenv_s( wchar_t const* _Filename, wchar_t const* _VarName, wchar_t* _Buffer, size_t _BufferCount ); extern "C++" { template inline errno_t __cdecl _wsearchenv_s(wchar_t const* _Filename, wchar_t const* _VarName, wchar_t (&_ResultPath)[_Size]) throw() { return _wsearchenv_s(_Filename, _VarName, _ResultPath, _Size); } } __declspec(deprecated("This function or variable may be unsafe. Consider using " "_wsearchenv_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __declspec(dllimport) void __cdecl _wsearchenv(wchar_t const* _Filename, wchar_t const* _VarName, wchar_t *_ResultPath); __declspec(dllimport) int __cdecl _wsystem( wchar_t const* _Command ); } __pragma(pack(pop)) #pragma warning(pop) #pragma once #pragma warning(push) #pragma warning(disable: 4324 4514 4574 4710 4793 4820 4995 4996 28719 28726 28727) __pragma(pack(push, 8)) extern "C" { struct tm { int tm_sec; int tm_min; int tm_hour; int tm_mday; int tm_mon; int tm_year; int tm_wday; int tm_yday; int tm_isdst; }; __declspec(deprecated("This function or variable may be unsafe. Consider using " "_wasctime_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __declspec(dllimport) wchar_t* __cdecl _wasctime( struct tm const* _Tm ); __declspec(dllimport) errno_t __cdecl _wasctime_s( wchar_t* _Buffer, size_t _SizeInWords, struct tm const* _Tm ); extern "C++" { template inline errno_t __cdecl _wasctime_s(wchar_t (&_Buffer)[_Size], struct tm const* _Time) throw() { return _wasctime_s(_Buffer, _Size, _Time); } } __declspec(dllimport) size_t __cdecl wcsftime( wchar_t* _Buffer, size_t _SizeInWords, wchar_t const* _Format, struct tm const* _Tm ); __declspec(dllimport) size_t __cdecl _wcsftime_l( wchar_t* _Buffer, size_t _SizeInWords, wchar_t const* _Format, struct tm const* _Tm, _locale_t _Locale ); __declspec(deprecated("This function or variable may be unsafe. Consider using " "_wctime32_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __declspec(dllimport) wchar_t* __cdecl _wctime32( __time32_t const* _Time ); __declspec(dllimport) errno_t __cdecl _wctime32_s( wchar_t* _Buffer, size_t _SizeInWords, __time32_t const* _Time ); extern "C++" { template inline errno_t __cdecl _wctime32_s(wchar_t (&_Buffer)[_Size], __time32_t const* _Time) throw() { return _wctime32_s(_Buffer, _Size, _Time); } } __declspec(deprecated("This function or variable may be unsafe. Consider using " "_wctime64_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __declspec(dllimport) wchar_t* __cdecl _wctime64( __time64_t const* _Time ); __declspec(dllimport) errno_t __cdecl _wctime64_s( wchar_t* _Buffer, size_t _SizeInWords, __time64_t const* _Time); extern "C++" { template inline errno_t __cdecl _wctime64_s(wchar_t (&_Buffer)[_Size], __time64_t const* _Time) throw() { return _wctime64_s(_Buffer, _Size, _Time); } } __declspec(dllimport) errno_t __cdecl _wstrdate_s( wchar_t* _Buffer, size_t _SizeInWords ); extern "C++" { template inline errno_t __cdecl _wstrdate_s(wchar_t (&_Buffe