#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 (&_Buffer)[_Size]) throw() { return _wstrdate_s(_Buffer, _Size); } } __declspec(deprecated("This function or variable may be unsafe. Consider using " "_wstrdate_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __declspec(dllimport) wchar_t* __cdecl _wstrdate( wchar_t *_Buffer); __declspec(dllimport) errno_t __cdecl _wstrtime_s( wchar_t* _Buffer, size_t _SizeInWords ); extern "C++" { template inline errno_t __cdecl _wstrtime_s(wchar_t (&_Buffer)[_Size]) throw() { return _wstrtime_s(_Buffer, _Size); } } __declspec(deprecated("This function or variable may be unsafe. Consider using " "_wstrtime_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __declspec(dllimport) wchar_t* __cdecl _wstrtime( wchar_t *_Buffer); static __inline wchar_t * __cdecl _wctime( time_t const* const _Time) { return _wctime64(_Time); } static __inline errno_t __cdecl _wctime_s( wchar_t* const _Buffer, size_t const _SizeInWords, time_t const* const _Time ) { return _wctime64_s(_Buffer, _SizeInWords, _Time); } } __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) typedef unsigned short _ino_t; typedef _ino_t ino_t; typedef unsigned int _dev_t; typedef _dev_t dev_t; typedef long _off_t; typedef _off_t off_t; #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" { struct _stat32 { _dev_t st_dev; _ino_t st_ino; unsigned short st_mode; short st_nlink; short st_uid; short st_gid; _dev_t st_rdev; _off_t st_size; __time32_t st_atime; __time32_t st_mtime; __time32_t st_ctime; }; struct _stat32i64 { _dev_t st_dev; _ino_t st_ino; unsigned short st_mode; short st_nlink; short st_uid; short st_gid; _dev_t st_rdev; __int64 st_size; __time32_t st_atime; __time32_t st_mtime; __time32_t st_ctime; }; struct _stat64i32 { _dev_t st_dev; _ino_t st_ino; unsigned short st_mode; short st_nlink; short st_uid; short st_gid; _dev_t st_rdev; _off_t st_size; __time64_t st_atime; __time64_t st_mtime; __time64_t st_ctime; }; struct _stat64 { _dev_t st_dev; _ino_t st_ino; unsigned short st_mode; short st_nlink; short st_uid; short st_gid; _dev_t st_rdev; __int64 st_size; __time64_t st_atime; __time64_t st_mtime; __time64_t st_ctime; }; struct stat { _dev_t st_dev; _ino_t st_ino; unsigned short st_mode; short st_nlink; short st_uid; short st_gid; _dev_t st_rdev; _off_t st_size; time_t st_atime; time_t st_mtime; time_t st_ctime; }; __declspec(dllimport) int __cdecl _fstat32( int _FileHandle, struct _stat32* _Stat ); __declspec(dllimport) int __cdecl _fstat32i64( int _FileHandle, struct _stat32i64* _Stat ); __declspec(dllimport) int __cdecl _fstat64i32( int _FileHandle, struct _stat64i32* _Stat ); __declspec(dllimport) int __cdecl _fstat64( int _FileHandle, struct _stat64* _Stat ); __declspec(dllimport) int __cdecl _stat32( char const* _FileName, struct _stat32* _Stat ); __declspec(dllimport) int __cdecl _stat32i64( char const* _FileName, struct _stat32i64* _Stat ); __declspec(dllimport) int __cdecl _stat64i32( char const* _FileName, struct _stat64i32* _Stat ); __declspec(dllimport) int __cdecl _stat64( char const* _FileName, struct _stat64* _Stat ); __declspec(dllimport) int __cdecl _wstat32( wchar_t const* _FileName, struct _stat32* _Stat ); __declspec(dllimport) int __cdecl _wstat32i64( wchar_t const* _FileName, struct _stat32i64* _Stat ); __declspec(dllimport) int __cdecl _wstat64i32( wchar_t const* _FileName, struct _stat64i32* _Stat ); __declspec(dllimport) int __cdecl _wstat64( wchar_t const* _FileName, struct _stat64* _Stat ); static __inline int __cdecl fstat(int const _FileHandle, struct stat* const _Stat) { static_assert((sizeof(struct stat) == sizeof(struct _stat64i32)), "sizeof(struct stat) == sizeof(struct _stat64i32)"); return _fstat64i32(_FileHandle, (struct _stat64i32*)_Stat); } static __inline int __cdecl stat(char const* const _FileName, struct stat* const _Stat) { static_assert((sizeof(struct stat) == sizeof(struct _stat64i32)), "sizeof(struct stat) == sizeof(struct _stat64i32)"); return _stat64i32(_FileName, (struct _stat64i32*)_Stat); } } __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" { typedef wchar_t _Wint_t; __declspec(dllimport) wchar_t* __cdecl _wsetlocale( int _Category, wchar_t const* _Locale ); __declspec(dllimport) _locale_t __cdecl _wcreate_locale( int _Category, wchar_t const* _Locale ); __declspec(dllimport) wint_t __cdecl btowc( int _Ch ); __declspec(dllimport) size_t __cdecl mbrlen( char const* _Ch, size_t _SizeInBytes, mbstate_t* _State ); __declspec(dllimport) size_t __cdecl mbrtowc( wchar_t* _DstCh, char const* _SrcCh, size_t _SizeInBytes, mbstate_t* _State ); __declspec(dllimport) errno_t __cdecl mbsrtowcs_s( size_t* _Retval, wchar_t* _Dst, size_t _Size, char const** _PSrc, size_t _N, mbstate_t* _State ); extern "C++" { template inline errno_t __cdecl mbsrtowcs_s(size_t* _Retval, wchar_t (&_Dest)[_Size], char const** _PSource, size_t _Count, mbstate_t* _State) throw() { return mbsrtowcs_s(_Retval, _Dest, _Size, _PSource, _Count, _State); } } __declspec(deprecated("This function or variable may be unsafe. Consider using " "mbsrtowcs_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __declspec(dllimport) size_t __cdecl mbsrtowcs( wchar_t *_Dest, char const** _PSrc, size_t _Count, mbstate_t* _State); __declspec(dllimport) errno_t __cdecl wcrtomb_s( size_t* _Retval, char* _Dst, size_t _SizeInBytes, wchar_t _Ch, mbstate_t* _State ); extern "C++" { template inline errno_t __cdecl wcrtomb_s(size_t* _Retval, char (&_Dest)[_Size], wchar_t _Source, mbstate_t* _State) throw() { return wcrtomb_s(_Retval, _Dest, _Size, _Source, _State); } } __declspec(deprecated("This function or variable may be unsafe. Consider using " "wcrtomb_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __declspec(dllimport) size_t __cdecl wcrtomb( char *_Dest, wchar_t _Source, mbstate_t* _State); __declspec(dllimport) errno_t __cdecl wcsrtombs_s( size_t* _Retval, char* _Dst, size_t _SizeInBytes, wchar_t const** _Src, size_t _Size, mbstate_t* _State ); extern "C++" { template inline errno_t __cdecl wcsrtombs_s(size_t* _Retval, char (&_Dest)[_Size], wchar_t const** _PSrc, size_t _Count, mbstate_t* _State) throw() { return wcsrtombs_s(_Retval, _Dest, _Size, _PSrc, _Count, _State); } } __declspec(deprecated("This function or variable may be unsafe. Consider using " "wcsrtombs_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __declspec(dllimport) size_t __cdecl wcsrtombs( char *_Dest, wchar_t const** _PSource, size_t _Count, mbstate_t* _State); __declspec(dllimport) int __cdecl wctob( wint_t _WCh ); errno_t __cdecl wmemcpy_s( wchar_t* _S1, rsize_t _N1, wchar_t const* _S2, rsize_t _N ); errno_t __cdecl wmemmove_s( wchar_t* _S1, rsize_t _N1, wchar_t const* _S2, rsize_t _N ); __inline int __cdecl fwide( FILE* _F, int _M ) { (void)_F; return (_M); } __inline int __cdecl mbsinit( mbstate_t const* _P ) { return _P == 0 || _P->_Wchar == 0; } __inline wchar_t const* __cdecl wmemchr( wchar_t const* _S, wchar_t _C, size_t _N ) { for (; 0 < _N; ++_S, --_N) if (*_S == _C) return (wchar_t const*)_S; return 0; } __inline int __cdecl wmemcmp( wchar_t const* _S1, wchar_t const* _S2, size_t _N ) { for (; 0 < _N; ++_S1, ++_S2, --_N) if (*_S1 != *_S2) return *_S1 < *_S2 ? -1 : 1; return 0; } __inline wchar_t* __cdecl wmemcpy( wchar_t* _S1, wchar_t const* _S2, size_t _N ) { #pragma warning(suppress: 6386) return (wchar_t*)memcpy(_S1, _S2, _N*sizeof(wchar_t)); } __inline wchar_t* __cdecl wmemmove( wchar_t* _S1, wchar_t const* _S2, size_t _N ) { #pragma warning(suppress: 6386) return (wchar_t*)memmove(_S1, _S2, _N*sizeof(wchar_t)); } __inline wchar_t* __cdecl wmemset( wchar_t* _S, wchar_t _C, size_t _N ) { wchar_t *_Su = _S; for (; 0 < _N; ++_Su, --_N) { *_Su = _C; } return _S; } extern "C++" inline wchar_t* __cdecl wmemchr( wchar_t* _S, wchar_t _C, size_t _N ) { wchar_t const* const _SC = _S; return const_cast(wmemchr(_SC, _C, _N)); } } __pragma(pack(pop)) #pragma warning(pop) extern "C" { typedef wchar_t _TCHAR; typedef wchar_t _TSCHAR; typedef wchar_t _TUCHAR; typedef wchar_t _TXCHAR; typedef wint_t _TINT; __inline size_t __cdecl _tclen( const wchar_t *_Cpc) { (void *)_Cpc; return 1; } __inline void __cdecl _tccpy( wchar_t *_Pc1, const wchar_t *_Cpc2) { *_Pc1 = (wchar_t)*_Cpc2; } __inline void __cdecl _tccpy_l( wchar_t *_Pc1, const wchar_t *_Cpc2, _locale_t _Locale) { (void)_Locale; _tccpy(_Pc1, _Cpc2); } __inline int __cdecl _tccmp( const wchar_t *_Cpc1, const wchar_t *_Cpc2) { return (int) ((*_Cpc1)-(*_Cpc2)); } __inline wchar_t * __cdecl _wcsdec( const wchar_t * _Cpc1, const wchar_t * _Cpc2) { return (wchar_t *)((_Cpc1)>=(_Cpc2) ? 0 : ((_Cpc2)-1)); } __inline wchar_t * __cdecl _wcsinc( const wchar_t * _Pc) { return (wchar_t *)(_Pc+1); } __inline unsigned int __cdecl _wcsnextc( const wchar_t * _Cpc) { return (unsigned int)*_Cpc; } __inline wchar_t * __cdecl _wcsninc( const wchar_t * _Pc, size_t _Sz) { return (wchar_t *)(_Pc+_Sz); } __inline size_t __cdecl _wcsncnt( const wchar_t * _String, size_t _Cnt) { size_t n = _Cnt; wchar_t *cp = (wchar_t *)_String; while (n-- && *cp) cp++; return _Cnt - n - 1; } __inline wchar_t * __cdecl _wcsspnp ( const wchar_t * _Cpc1, const wchar_t * _Cpc2 ) { return _Cpc1==0 ? 0 : ((*(_Cpc1 += wcsspn(_Cpc1,_Cpc2))!='\0') ? (wchar_t*)_Cpc1 : 0); } __inline errno_t __cdecl _wcsncpy_s_l( wchar_t *_Destination, size_t _Destination_size_chars, const wchar_t *_Source, size_t _Count, _locale_t _Locale) { (void)_Locale; return wcsncpy_s(_Destination, _Destination_size_chars, _Source, _Count); } extern "C++" { template inline errno_t __cdecl _wcsncpy_s_l(wchar_t (&_Dest)[_Size], const wchar_t * _Source, size_t _Count, _locale_t _Locale) throw() { return _wcsncpy_s_l(_Dest, _Size, _Source, _Count, _Locale); } } __declspec(deprecated("This function or variable may be unsafe. Consider using " "_wcsncpy_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __inline wchar_t * __cdecl _wcsncpy_l(wchar_t *_Dst, const wchar_t * _Source, size_t _Count, _locale_t _Locale) { (void)_Locale; #pragma warning(suppress: 6054) return wcsncpy(_Dst, _Source, _Count); } __inline errno_t __cdecl _wcsncat_s_l( wchar_t *_Destination, size_t _Destination_size_chars, const wchar_t *_Source, size_t _Count, _locale_t _Locale) { (void)_Locale; return wcsncat_s(_Destination, _Destination_size_chars, _Source, _Count); } extern "C++" { template inline errno_t __cdecl _wcsncat_s_l(wchar_t (&_Dest)[_Size], const wchar_t * _Source, size_t _Count, _locale_t _Locale) throw() { return _wcsncat_s_l(_Dest, _Size, _Source, _Count, _Locale); } } __declspec(deprecated("This function or variable may be unsafe. Consider using " "_wcsncat_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __inline wchar_t * __cdecl _wcsncat_l(wchar_t *_Dst, const wchar_t * _Source, size_t _Count, _locale_t _Locale) { (void)_Locale; #pragma warning(suppress: 6054 6059) return wcsncat(_Dst, _Source, _Count); } __declspec(deprecated("This function or variable may be unsafe. Consider using " "_wcstok_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __inline wchar_t * _wcstok_l( wchar_t * _String, const wchar_t * _Delimiters, _locale_t _Locale) { (void)_Locale; return wcstok(_String,_Delimiters,0); } __inline wchar_t * _wcstok_s_l( wchar_t * _String, const wchar_t * _Delimiters, wchar_t **_Current_position, _locale_t _Locale) { (void)_Locale; return wcstok_s(_String, _Delimiters, _Current_position); } __inline errno_t _wcsnset_s_l( wchar_t * _Destination, size_t _Destination_size_chars, wchar_t _Value, size_t _Count, _locale_t _Locale) { (void)_Locale; return _wcsnset_s(_Destination, _Destination_size_chars, _Value, _Count); } extern "C++" { template inline errno_t __cdecl _wcsnset_s_l(wchar_t (&_Dest)[_Size], wchar_t _Value, size_t _Count, _locale_t _Locale) throw() { return _wcsnset_s_l(_Dest, _Size, _Value, _Count, _Locale); } } __declspec(deprecated("This function or variable may be unsafe. Consider using " "_wcsnset_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __inline wchar_t * __cdecl _wcsnset_l(wchar_t *_Dst, wchar_t _Value, size_t _MaxCount, _locale_t _Locale) { (void)_Locale; return _wcsnset(_Dst, _Value, _MaxCount); } __inline errno_t _wcsset_s_l( wchar_t * _Destination, size_t _Destination_size_chars, wchar_t _Value, _locale_t _Locale) { (void)_Locale; return _wcsset_s(_Destination, _Destination_size_chars, _Value); } extern "C++" { template inline errno_t __cdecl _wcsset_s_l(wchar_t (&_Dest)[_Size], wchar_t _Value, _locale_t _Locale) throw() { return _wcsset_s_l(_Dest, _Size, _Value, _Locale); } } __declspec(deprecated("This function or variable may be unsafe. Consider using " "_wcsset_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __inline wchar_t * __cdecl _wcsset_l(wchar_t *_Dst, wchar_t _Value, _locale_t _Locale) { (void)_Locale; return _wcsset(_Dst, _Value); } } #pragma warning(pop) inline HTASK GetWindowTask(HWND hWnd) { return (HTASK)(DWORD_PTR)::GetWindowThreadProcessId(hWnd, 0); } inline HWND GetNextWindow(HWND hWnd, UINT nDirection) { return ::GetWindow(hWnd, nDirection); } inline BOOL __stdcall DrawState(HDC hdc, HBRUSH hbr, DRAWSTATEPROC lpOutputFunc, LPARAM lData, WPARAM wData, int x, int y, int cx, int cy, UINT fuFlags) { return ::DrawStateW(hdc, hbr, lpOutputFunc, lData, wData, x, y, cx, cy, fuFlags); } inline BOOL __stdcall FreeResource( HGLOBAL) { return 1; } inline int __stdcall UnlockResource(HGLOBAL) { return 0; } #pragma comment(lib, "mfc" "140" "u.lib") #pragma comment(lib, "mfcs" "140" "u.lib") #pragma comment(lib, "msvcrt.lib") #pragma comment(lib, "kernel32.lib") #pragma comment(lib, "user32.lib") #pragma comment(lib, "gdi32.lib") #pragma comment(lib, "msimg32.lib") #pragma comment(lib, "comdlg32.lib") #pragma comment(lib, "winspool.lib") #pragma comment(lib, "advapi32.lib") #pragma comment(lib, "shell32.lib") #pragma comment(lib, "comctl32.lib") #pragma comment(lib, "shlwapi.lib") #pragma comment(lib, "uxtheme.lib") #pragma comment(lib, "windowscodecs.lib") #pragma comment(linker, "/include:__afxForceEXCLUDE") #pragma comment(linker, "/include:__afxForceSTDAFX") struct CRuntimeClass; class CObject; class CException; class CArchiveException; class CFileException; class CSimpleException; class CMemoryException; class CNotSupportedException; class CInvalidArgException; class CFile; class CStdioFile; class CMemFile; struct CFileStatus; struct CMemoryState; class CArchive; class CDumpContext; #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 __int64 fpos_t; __declspec(dllimport) errno_t __cdecl _get_stream_buffer_pointers( FILE* _Stream, char*** _Base, char*** _Pointer, int** _Count ); __declspec(dllimport) errno_t __cdecl clearerr_s( FILE* _Stream ); __declspec(dllimport) errno_t __cdecl fopen_s( FILE** _Stream, char const* _FileName, char const* _Mode ); __declspec(dllimport) size_t __cdecl fread_s( void* _Buffer, size_t _BufferSize, size_t _ElementSize, size_t _ElementCount, FILE* _Stream ); __declspec(dllimport) errno_t __cdecl freopen_s( FILE** _Stream, char const* _FileName, char const* _Mode, FILE* _OldStream ); __declspec(dllimport) char* __cdecl gets_s( char* _Buffer, rsize_t _Size ); __declspec(dllimport) errno_t __cdecl tmpfile_s( FILE** _Stream ); __declspec(dllimport) errno_t __cdecl tmpnam_s( char* _Buffer, rsize_t _Size ); __declspec(dllimport) void __cdecl clearerr( FILE* _Stream ); __declspec(dllimport) int __cdecl fclose( FILE* _Stream ); __declspec(dllimport) int __cdecl _fcloseall(void); __declspec(dllimport) FILE* __cdecl _fdopen( int _FileHandle, char const* _Mode ); __declspec(dllimport) int __cdecl feof( FILE* _Stream ); __declspec(dllimport) int __cdecl ferror( FILE* _Stream ); __declspec(dllimport) int __cdecl fflush( FILE* _Stream ); __declspec(dllimport) int __cdecl fgetc( FILE* _Stream ); __declspec(dllimport) int __cdecl _fgetchar(void); __declspec(dllimport) int __cdecl fgetpos( FILE* _Stream, fpos_t* _Position ); __declspec(dllimport) char* __cdecl fgets( char* _Buffer, int _MaxCount, FILE* _Stream ); __declspec(dllimport) int __cdecl _fileno( FILE* _Stream ); __declspec(dllimport) int __cdecl _flushall(void); __declspec(deprecated("This function or variable may be unsafe. Consider using " "fopen_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __declspec(dllimport) FILE* __cdecl fopen( char const* _FileName, char const* _Mode ); __declspec(dllimport) int __cdecl fputc( int _Character, FILE* _Stream ); __declspec(dllimport) int __cdecl _fputchar( int _Character ); __declspec(dllimport) int __cdecl fputs( char const* _Buffer, FILE* _Stream ); __declspec(dllimport) size_t __cdecl fread( void* _Buffer, size_t _ElementSize, size_t _ElementCount, FILE* _Stream ); __declspec(deprecated("This function or variable may be unsafe. Consider using " "freopen_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __declspec(dllimport) FILE* __cdecl freopen( char const* _FileName, char const* _Mode, FILE* _Stream ); __declspec(dllimport) FILE* __cdecl _fsopen( char const* _FileName, char const* _Mode, int _ShFlag ); __declspec(dllimport) int __cdecl fsetpos( FILE* _Stream, fpos_t const* _Position ); __declspec(dllimport) int __cdecl fseek( FILE* _Stream, long _Offset, int _Origin ); __declspec(dllimport) int __cdecl _fseeki64( FILE* _Stream, __int64 _Offset, int _Origin ); __declspec(dllimport) long __cdecl ftell( FILE* _Stream ); __declspec(dllimport) __int64 __cdecl _ftelli64( FILE* _Stream ); __declspec(dllimport) size_t __cdecl fwrite( void const* _Buffer, size_t _ElementSize, size_t _ElementCount, FILE* _Stream ); __declspec(dllimport) int __cdecl getc( FILE* _Stream ); __declspec(dllimport) int __cdecl getchar(void); __declspec(dllimport) int __cdecl _getmaxstdio(void); extern "C++" { template inline char* __cdecl gets_s(char (&_Buffer)[_Size]) throw() { return gets_s(_Buffer, _Size); } } __declspec(dllimport) int __cdecl _getw( FILE* _Stream ); __declspec(dllimport) void __cdecl perror( char const* _ErrorMessage ); __declspec(dllimport) int __cdecl _pclose( FILE* _Stream ); __declspec(dllimport) FILE* __cdecl _popen( char const* _Command, char const* _Mode ); __declspec(dllimport) int __cdecl putc( int _Character, FILE* _Stream ); __declspec(dllimport) int __cdecl putchar( int _Character ); __declspec(dllimport) int __cdecl puts( char const* _Buffer ); __declspec(dllimport) int __cdecl _putw( int _Word, FILE* _Stream ); __declspec(dllimport) int __cdecl remove( char const* _FileName ); __declspec(dllimport) int __cdecl rename( char const* _OldFileName, char const* _NewFileName ); __declspec(dllimport) int __cdecl _unlink( char const* _FileName ); __declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_unlink" ". See online help for details.")) __declspec(dllimport) int __cdecl unlink( char const* _FileName ); __declspec(dllimport) void __cdecl rewind( FILE* _Stream ); __declspec(dllimport) int __cdecl _rmtmp(void); __declspec(deprecated("This function or variable may be unsafe. Consider using " "setvbuf" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __declspec(dllimport) void __cdecl setbuf( FILE* _Stream, char* _Buffer ); __declspec(dllimport) int __cdecl _setmaxstdio( int _Maximum ); __declspec(dllimport) int __cdecl setvbuf( FILE* _Stream, char* _Buffer, int _Mode, size_t _Size ); __declspec(dllimport) __declspec(allocator) char* __cdecl _tempnam( char const* _DirectoryName, char const* _FilePrefix ); __declspec(deprecated("This function or variable may be unsafe. Consider using " "tmpfile_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __declspec(dllimport) FILE* __cdecl tmpfile(void); extern "C++" { template inline errno_t __cdecl tmpnam_s(char (&_Buffer)[_Size]) throw() { return tmpnam_s(_Buffer, _Size); } } __declspec(deprecated("This function or variable may be unsafe. Consider using " "tmpnam_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __declspec(dllimport) char* __cdecl tmpnam( char *_Buffer); __declspec(dllimport) int __cdecl ungetc( int _Character, FILE* _Stream ); __declspec(dllimport) void __cdecl _lock_file( FILE* _Stream ); __declspec(dllimport) void __cdecl _unlock_file( FILE* _Stream ); __declspec(dllimport) int __cdecl _fclose_nolock( FILE* _Stream ); __declspec(dllimport) int __cdecl _fflush_nolock( FILE* _Stream ); __declspec(dllimport) int __cdecl _fgetc_nolock( FILE* _Stream ); __declspec(dllimport) int __cdecl _fputc_nolock( int _Character, FILE* _Stream ); __declspec(dllimport) size_t __cdecl _fread_nolock( void* _Buffer, size_t _ElementSize, size_t _ElementCount, FILE* _Stream ); __declspec(dllimport) size_t __cdecl _fread_nolock_s( void* _Buffer, size_t _BufferSize, size_t _ElementSize, size_t _ElementCount, FILE* _Stream ); __declspec(dllimport) int __cdecl _fseek_nolock( FILE* _Stream, long _Offset, int _Origin ); __declspec(dllimport) int __cdecl _fseeki64_nolock( FILE* _Stream, __int64 _Offset, int _Origin ); __declspec(dllimport) long __cdecl _ftell_nolock( FILE* _Stream ); __declspec(dllimport) __int64 __cdecl _ftelli64_nolock( FILE* _Stream ); __declspec(dllimport) size_t __cdecl _fwrite_nolock( void const* _Buffer, size_t _ElementSize, size_t _ElementCount, FILE* _Stream ); __declspec(dllimport) int __cdecl _getc_nolock( FILE* _Stream ); __declspec(dllimport) int __cdecl _putc_nolock( int _Character, FILE* _Stream ); __declspec(dllimport) int __cdecl _ungetc_nolock( int _Character, FILE* _Stream ); __declspec(dllimport) int* __cdecl __p__commode(void); __declspec(dllimport) int __cdecl __stdio_common_vfprintf( unsigned __int64 _Options, FILE* _Stream, char const* _Format, _locale_t _Locale, va_list _ArgList ); __declspec(dllimport) int __cdecl __stdio_common_vfprintf_s( unsigned __int64 _Options, FILE* _Stream, char const* _Format, _locale_t _Locale, va_list _ArgList ); __declspec(dllimport) int __cdecl __stdio_common_vfprintf_p( unsigned __int64 _Options, FILE* _Stream, char const* _Format, _locale_t _Locale, va_list _ArgList ); __inline int __cdecl _vfprintf_l( FILE* const _Stream, char const* const _Format, _locale_t const _Locale, va_list _ArgList ) { return __stdio_common_vfprintf((*__local_stdio_printf_options()), _Stream, _Format, _Locale, _ArgList); } __inline int __cdecl vfprintf( FILE* const _Stream, char const* const _Format, va_list _ArgList ) { return _vfprintf_l(_Stream, _Format, 0, _ArgList); } __inline int __cdecl _vfprintf_s_l( FILE* const _Stream, char const* const _Format, _locale_t const _Locale, va_list _ArgList ) { return __stdio_common_vfprintf_s((*__local_stdio_printf_options()), _Stream, _Format, _Locale, _ArgList); } __inline int __cdecl vfprintf_s( FILE* const _Stream, char const* const _Format, va_list _ArgList ) { return _vfprintf_s_l(_Stream, _Format, 0, _ArgList); } __inline int __cdecl _vfprintf_p_l( FILE* const _Stream, char const* const _Format, _locale_t const _Locale, va_list _ArgList ) { return __stdio_common_vfprintf_p((*__local_stdio_printf_options()), _Stream, _Format, _Locale, _ArgList); } __inline int __cdecl _vfprintf_p( FILE* const _Stream, char const* const _Format, va_list _ArgList ) { return _vfprintf_p_l(_Stream, _Format, 0, _ArgList); } __inline int __cdecl _vprintf_l( char const* const _Format, _locale_t const _Locale, va_list _ArgList ) { return _vfprintf_l((__acrt_iob_func(1)), _Format, _Locale, _ArgList); } __inline int __cdecl vprintf( char const* const _Format, va_list _ArgList ) { return _vfprintf_l((__acrt_iob_func(1)), _Format, 0, _ArgList); } __inline int __cdecl _vprintf_s_l( char const* const _Format, _locale_t const _Locale, va_list _ArgList ) { return _vfprintf_s_l((__acrt_iob_func(1)), _Format, _Locale, _ArgList); } __inline int __cdecl vprintf_s( char const* const _Format, va_list _ArgList ) { return _vfprintf_s_l((__acrt_iob_func(1)), _Format, 0, _ArgList); } __inline int __cdecl _vprintf_p_l( char const* const _Format, _locale_t const _Locale, va_list _ArgList ) { return _vfprintf_p_l((__acrt_iob_func(1)), _Format, _Locale, _ArgList); } __inline int __cdecl _vprintf_p( char const* const _Format, va_list _ArgList ) { return _vfprintf_p_l((__acrt_iob_func(1)), _Format, 0, _ArgList); } __inline int __cdecl _fprintf_l( FILE* const _Stream, char 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 = _vfprintf_l(_Stream, _Format, _Locale, _ArgList); ((void)(_ArgList = (va_list)0)); return _Result; } __inline int __cdecl fprintf( FILE* const _Stream, char const* const _Format, ...) { int _Result; va_list _ArgList; ((void)(__vcrt_assert_va_start_is_not_reference(), ((void)(__va_start(&_ArgList, _Format))))); _Result = _vfprintf_l(_Stream, _Format, 0, _ArgList); ((void)(_ArgList = (va_list)0)); return _Result; } __declspec(dllimport) int __cdecl _set_printf_count_output( int _Value ); __declspec(dllimport) int __cdecl _get_printf_count_output(void); __inline int __cdecl _fprintf_s_l( FILE* const _Stream, char 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 = _vfprintf_s_l(_Stream, _Format, _Locale, _ArgList); ((void)(_ArgList = (va_list)0)); return _Result; } __inline int __cdecl fprintf_s( FILE* const _Stream, char const* const _Format, ...) { int _Result; va_list _ArgList; ((void)(__vcrt_assert_va_start_is_not_reference(), ((void)(__va_start(&_ArgList, _Format))))); _Result = _vfprintf_s_l(_Stream, _Format, 0, _ArgList); ((void)(_ArgList = (va_list)0)); return _Result; } __inline int __cdecl _fprintf_p_l( FILE* const _Stream, char 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 = _vfprintf_p_l(_Stream, _Format, _Locale, _ArgList); ((void)(_ArgList = (va_list)0)); return _Result; } __inline int __cdecl _fprintf_p( FILE* const _Stream, char const* const _Format, ...) { int _Result; va_list _ArgList; ((void)(__vcrt_assert_va_start_is_not_reference(), ((void)(__va_start(&_ArgList, _Format))))); _Result = _vfprintf_p_l(_Stream, _Format, 0, _ArgList); ((void)(_ArgList = (va_list)0)); return _Result; } __inline int __cdecl _printf_l( char 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 = _vfprintf_l((__acrt_iob_func(1)), _Format, _Locale, _ArgList); ((void)(_ArgList = (va_list)0)); return _Result; } __inline int __cdecl printf( char const* const _Format, ...) { int _Result; va_list _ArgList; ((void)(__vcrt_assert_va_start_is_not_reference(), ((void)(__va_start(&_ArgList, _Format))))); _Result = _vfprintf_l((__acrt_iob_func(1)), _Format, 0, _ArgList); ((void)(_ArgList = (va_list)0)); return _Result; } __inline int __cdecl _printf_s_l( char 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 = _vfprintf_s_l((__acrt_iob_func(1)), _Format, _Locale, _ArgList); ((void)(_ArgList = (va_list)0)); return _Result; } __inline int __cdecl printf_s( char const* const _Format, ...) { int _Result; va_list _ArgList; ((void)(__vcrt_assert_va_start_is_not_reference(), ((void)(__va_start(&_ArgList, _Format))))); _Result = _vfprintf_s_l((__acrt_iob_func(1)), _Format, 0, _ArgList); ((void)(_ArgList = (va_list)0)); return _Result; } __inline int __cdecl _printf_p_l( char 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 = _vfprintf_p_l((__acrt_iob_func(1)), _Format, _Locale, _ArgList); ((void)(_ArgList = (va_list)0)); return _Result; } __inline int __cdecl _printf_p( char const* const _Format, ...) { int _Result; va_list _ArgList; ((void)(__vcrt_assert_va_start_is_not_reference(), ((void)(__va_start(&_ArgList, _Format))))); _Result = _vfprintf_p_l((__acrt_iob_func(1)), _Format, 0, _ArgList); ((void)(_ArgList = (va_list)0)); return _Result; } __declspec(dllimport) int __cdecl __stdio_common_vfscanf( unsigned __int64 _Options, FILE* _Stream, char const* _Format, _locale_t _Locale, va_list _Arglist ); __inline int __cdecl _vfscanf_l( FILE* const _Stream, char const* const _Format, _locale_t const _Locale, va_list _ArgList ) { return __stdio_common_vfscanf( (*__local_stdio_scanf_options ()), _Stream, _Format, _Locale, _ArgList); } __inline int __cdecl vfscanf( FILE* const _Stream, char const* const _Format, va_list _ArgList ) { return _vfscanf_l(_Stream, _Format, 0, _ArgList); } __inline int __cdecl _vfscanf_s_l( FILE* const _Stream, char const* const _Format, _locale_t const _Locale, va_list _ArgList ) { return __stdio_common_vfscanf( (*__local_stdio_scanf_options ()) | (1ULL << 0), _Stream, _Format, _Locale, _ArgList); } __inline int __cdecl vfscanf_s( FILE* const _Stream, char const* const _Format, va_list _ArgList ) { return _vfscanf_s_l(_Stream, _Format, 0, _ArgList); } __inline int __cdecl _vscanf_l( char const* const _Format, _locale_t const _Locale, va_list _ArgList ) { return _vfscanf_l((__acrt_iob_func(0)), _Format, _Locale, _ArgList); } __inline int __cdecl vscanf( char const* const _Format, va_list _ArgList ) { return _vfscanf_l((__acrt_iob_func(0)), _Format, 0, _ArgList); } __inline int __cdecl _vscanf_s_l( char const* const _Format, _locale_t const _Locale, va_list _ArgList ) { return _vfscanf_s_l((__acrt_iob_func(0)), _Format, _Locale, _ArgList); } __inline int __cdecl vscanf_s( char const* const _Format, va_list _ArgList ) { return _vfscanf_s_l((__acrt_iob_func(0)), _Format, 0, _ArgList); } __declspec(deprecated("This function or variable may be unsafe. Consider using " "_fscanf_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __inline int __cdecl _fscanf_l( FILE* const _Stream, char 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 = _vfscanf_l(_Stream, _Format, _Locale, _ArgList); ((void)(_ArgList = (va_list)0)); return _Result; } __declspec(deprecated("This function or variable may be unsafe. Consider using " "fscanf_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __inline int __cdecl fscanf( FILE* const _Stream, char const* const _Format, ...) { int _Result; va_list _ArgList; ((void)(__vcrt_assert_va_start_is_not_reference(), ((void)(__va_start(&_ArgList, _Format))))); _Result = _vfscanf_l(_Stream, _Format, 0, _ArgList); ((void)(_ArgList = (va_list)0)); return _Result; } __inline int __cdecl _fscanf_s_l( FILE* const _Stream, char 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 = _vfscanf_s_l(_Stream, _Format, _Locale, _ArgList); ((void)(_ArgList = (va_list)0)); return _Result; } __inline int __cdecl fscanf_s( FILE* const _Stream, char const* const _Format, ...) { int _Result; va_list _ArgList; ((void)(__vcrt_assert_va_start_is_not_reference(), ((void)(__va_start(&_ArgList, _Format))))); _Result = _vfscanf_s_l(_Stream, _Format, 0, _ArgList); ((void)(_ArgList = (va_list)0)); return _Result; } __declspec(deprecated("This function or variable may be unsafe. Consider using " "_scanf_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __inline int __cdecl _scanf_l( char 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 = _vfscanf_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 " "scanf_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __inline int __cdecl scanf( char const* const _Format, ...) { int _Result; va_list _ArgList; ((void)(__vcrt_assert_va_start_is_not_reference(), ((void)(__va_start(&_ArgList, _Format))))); _Result = _vfscanf_l((__acrt_iob_func(0)), _Format, 0, _ArgList); ((void)(_ArgList = (va_list)0)); return _Result; } __inline int __cdecl _scanf_s_l( char 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 = _vfscanf_s_l((__acrt_iob_func(0)), _Format, _Locale, _ArgList); ((void)(_ArgList = (va_list)0)); return _Result; } __inline int __cdecl scanf_s( char const* const _Format, ...) { int _Result; va_list _ArgList; ((void)(__vcrt_assert_va_start_is_not_reference(), ((void)(__va_start(&_ArgList, _Format))))); _Result = _vfscanf_s_l((__acrt_iob_func(0)), _Format, 0, _ArgList); ((void)(_ArgList = (va_list)0)); return _Result; } __declspec(dllimport) int __cdecl __stdio_common_vsprintf( unsigned __int64 _Options, char* _Buffer, size_t _BufferCount, char const* _Format, _locale_t _Locale, va_list _ArgList ); __declspec(dllimport) int __cdecl __stdio_common_vsprintf_s( unsigned __int64 _Options, char* _Buffer, size_t _BufferCount, char const* _Format, _locale_t _Locale, va_list _ArgList ); __declspec(dllimport) int __cdecl __stdio_common_vsnprintf_s( unsigned __int64 _Options, char* _Buffer, size_t _BufferCount, size_t _MaxCount, char const* _Format, _locale_t _Locale, va_list _ArgList ); __declspec(dllimport) int __cdecl __stdio_common_vsprintf_p( unsigned __int64 _Options, char* _Buffer, size_t _BufferCount, char const* _Format, _locale_t _Locale, va_list _ArgList ); __declspec(deprecated("This function or variable may be unsafe. Consider using " "_vsnprintf_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __inline int __cdecl _vsnprintf_l( char* const _Buffer, size_t const _BufferCount, char const* const _Format, _locale_t const _Locale, va_list _ArgList ) { int const _Result = __stdio_common_vsprintf( (*__local_stdio_printf_options()) | (1ULL << 0), _Buffer, _BufferCount, _Format, _Locale, _ArgList); return _Result < 0 ? -1 : _Result; } __inline int __cdecl _vsnprintf( char* const _Buffer, size_t const _BufferCount, char const* const _Format, va_list _ArgList ) { return _vsnprintf_l(_Buffer, _BufferCount, _Format, 0, _ArgList); } __inline int __cdecl vsnprintf( char* const _Buffer, size_t const _BufferCount, char const* const _Format, va_list _ArgList ) { int const _Result = __stdio_common_vsprintf( (*__local_stdio_printf_options()) | (1ULL << 1), _Buffer, _BufferCount, _Format, 0, _ArgList); return _Result < 0 ? -1 : _Result; } __declspec(deprecated("This function or variable may be unsafe. Consider using " "_vsprintf_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __inline int __cdecl _vsprintf_l( char* const _Buffer, char const* const _Format, _locale_t const _Locale, va_list _ArgList ) { return _vsnprintf_l(_Buffer, (size_t)-1, _Format, _Locale, _ArgList); } __declspec(deprecated("This function or variable may be unsafe. Consider using " "vsprintf_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __inline int __cdecl vsprintf( char* const _Buffer, char const* const _Format, va_list _ArgList ) { return _vsnprintf_l(_Buffer, (size_t)-1, _Format, 0, _ArgList); } __inline int __cdecl _vsprintf_s_l( char* const _Buffer, size_t const _BufferCount, char const* const _Format, _locale_t const _Locale, va_list _ArgList ) { int const _Result = __stdio_common_vsprintf_s( (*__local_stdio_printf_options()), _Buffer, _BufferCount, _Format, _Locale, _ArgList); return _Result < 0 ? -1 : _Result; } __inline int __cdecl vsprintf_s( char* const _Buffer, size_t const _BufferCount, char const* const _Format, va_list _ArgList ) { return _vsprintf_s_l(_Buffer, _BufferCount, _Format, 0, _ArgList); } extern "C++" { template inline int __cdecl vsprintf_s(char (&_Buffer)[_Size], char const* _Format, va_list _ArgList) throw() { return vsprintf_s(_Buffer, _Size, _Format, _ArgList); } } __inline int __cdecl _vsprintf_p_l( char* const _Buffer, size_t const _BufferCount, char const* const _Format, _locale_t const _Locale, va_list _ArgList ) { int const _Result = __stdio_common_vsprintf_p( (*__local_stdio_printf_options()), _Buffer, _BufferCount, _Format, _Locale, _ArgList); return _Result < 0 ? -1 : _Result; } __inline int __cdecl _vsprintf_p( char* const _Buffer, size_t const _BufferCount, char const* const _Format, va_list _ArgList ) { return _vsprintf_p_l(_Buffer, _BufferCount, _Format, 0, _ArgList); } __inline int __cdecl _vsnprintf_s_l( char* const _Buffer, size_t const _BufferCount, size_t const _MaxCount, char const* const _Format, _locale_t const _Locale, va_list _ArgList ) { int const _Result = __stdio_common_vsnprintf_s( (*__local_stdio_printf_options()), _Buffer, _BufferCount, _MaxCount, _Format, _Locale, _ArgList); return _Result < 0 ? -1 : _Result; } __inline int __cdecl _vsnprintf_s( char* const _Buffer, size_t const _BufferCount, size_t const _MaxCount, char const* const _Format, va_list _ArgList ) { return _vsnprintf_s_l(_Buffer, _BufferCount, _MaxCount, _Format, 0, _ArgList); } extern "C++" { template inline int __cdecl _vsnprintf_s(char (&_Buffer)[_Size], size_t _BufferCount, char const* _Format, va_list _ArgList) throw() { return _vsnprintf_s(_Buffer, _Size, _BufferCount, _Format, _ArgList); } } __inline int __cdecl vsnprintf_s( char* const _Buffer, size_t const _BufferCount, size_t const _MaxCount, char const* const _Format, va_list _ArgList ) { return _vsnprintf_s_l(_Buffer, _BufferCount, _MaxCount, _Format, 0, _ArgList); } extern "C++" { template inline int __cdecl vsnprintf_s(char (&_Buffer)[_Size], size_t _BufferCount, char const* _Format, va_list _ArgList) throw() { return vsnprintf_s(_Buffer, _Size, _BufferCount, _Format, _ArgList); } } __inline int __cdecl _vscprintf_l( char const* const _Format, _locale_t const _Locale, va_list _ArgList ) { int const _Result = __stdio_common_vsprintf( (*__local_stdio_printf_options()) | (1ULL << 1), 0, 0, _Format, _Locale, _ArgList); return _Result < 0 ? -1 : _Result; } __inline int __cdecl _vscprintf( char const* const _Format, va_list _ArgList ) { return _vscprintf_l(_Format, 0, _ArgList); } __inline int __cdecl _vscprintf_p_l( char const* const _Format, _locale_t const _Locale, va_list _ArgList ) { int const _Result = __stdio_common_vsprintf_p( (*__local_stdio_printf_options()) | (1ULL << 1), 0, 0, _Format, _Locale, _ArgList); return _Result < 0 ? -1 : _Result; } __inline int __cdecl _vscprintf_p( char const* const _Format, va_list _ArgList ) { return _vscprintf_p_l(_Format, 0, _ArgList); } __inline int __cdecl _vsnprintf_c_l( char* const _Buffer, size_t const _BufferCount, char const* const _Format, _locale_t const _Locale, va_list _ArgList ) { int const _Result = __stdio_common_vsprintf( (*__local_stdio_printf_options()), _Buffer, _BufferCount, _Format, _Locale, _ArgList); return _Result < 0 ? -1 : _Result; } __inline int __cdecl _vsnprintf_c( char* const _Buffer, size_t const _BufferCount, char const* const _Format, va_list _ArgList ) { return _vsnprintf_c_l(_Buffer, _BufferCount, _Format, 0, _ArgList); } __declspec(deprecated("This function or variable may be unsafe. Consider using " "_sprintf_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __inline int __cdecl _sprintf_l( char* const _Buffer, char 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 = _vsprintf_l(_Buffer, _Format, _Locale, _ArgList); ((void)(_ArgList = (va_list)0)); return _Result; } __inline int __cdecl sprintf( char* const _Buffer, char const* const _Format, ...) { int _Result; va_list _ArgList; ((void)(__vcrt_assert_va_start_is_not_reference(), ((void)(__va_start(&_ArgList, _Format))))); _Result = _vsprintf_l(_Buffer, _Format, 0, _ArgList); ((void)(_ArgList = (va_list)0)); return _Result; } __declspec(deprecated("This function or variable may be unsafe. Consider using " "sprintf_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) int __cdecl sprintf( char *_Buffer, char const* _Format, ...); __declspec(deprecated("This function or variable may be unsafe. Consider using " "vsprintf_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) int __cdecl vsprintf( char *_Buffer, char const* _Format, va_list _Args); __inline int __cdecl _sprintf_s_l( char* const _Buffer, size_t const _BufferCount, char 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 = _vsprintf_s_l(_Buffer, _BufferCount, _Format, _Locale, _ArgList); ((void)(_ArgList = (va_list)0)); return _Result; } __inline int __cdecl sprintf_s( char* const _Buffer, size_t const _BufferCount, char const* const _Format, ...) { int _Result; va_list _ArgList; ((void)(__vcrt_assert_va_start_is_not_reference(), ((void)(__va_start(&_ArgList, _Format))))); _Result = _vsprintf_s_l(_Buffer, _BufferCount, _Format, 0, _ArgList); ((void)(_ArgList = (va_list)0)); return _Result; } extern "C++" { template inline int __cdecl sprintf_s(char (&_Buffer)[_Size], char const* _Format, ...) throw() { va_list _ArgList; ((void)(__vcrt_assert_va_start_is_not_reference(), ((void)(__va_start(&_ArgList, _Format))))); return vsprintf_s(_Buffer, _Size, _Format, _ArgList); } } __inline int __cdecl _sprintf_p_l( char* const _Buffer, size_t const _BufferCount, char 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 = _vsprintf_p_l(_Buffer, _BufferCount, _Format, _Locale, _ArgList); ((void)(_ArgList = (va_list)0)); return _Result; } __inline int __cdecl _sprintf_p( char* const _Buffer, size_t const _BufferCount, char const* const _Format, ...) { int _Result; va_list _ArgList; ((void)(__vcrt_assert_va_start_is_not_reference(), ((void)(__va_start(&_ArgList, _Format))))); _Result = _vsprintf_p_l(_Buffer, _BufferCount, _Format, 0, _ArgList); ((void)(_ArgList = (va_list)0)); return _Result; } __declspec(deprecated("This function or variable may be unsafe. Consider using " "_snprintf_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __inline int __cdecl _snprintf_l( char* const _Buffer, size_t const _BufferCount, char 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 = _vsnprintf_l(_Buffer, _BufferCount, _Format, _Locale, _ArgList); ((void)(_ArgList = (va_list)0)); return _Result; } __inline int __cdecl snprintf( char* const _Buffer, size_t const _BufferCount, char const* const _Format, ...) { int _Result; va_list _ArgList; ((void)(__vcrt_assert_va_start_is_not_reference(), ((void)(__va_start(&_ArgList, _Format))))); _Result = vsnprintf(_Buffer, _BufferCount, _Format, _ArgList); ((void)(_ArgList = (va_list)0)); return _Result; } __inline int __cdecl _snprintf( char* const _Buffer, size_t const _BufferCount, char const* const _Format, ...) { int _Result; va_list _ArgList; ((void)(__vcrt_assert_va_start_is_not_reference(), ((void)(__va_start(&_ArgList, _Format))))); _Result = _vsnprintf(_Buffer, _BufferCount, _Format, _ArgList); ((void)(_ArgList = (va_list)0)); return _Result; } __declspec(deprecated("This function or variable may be unsafe. Consider using " "_snprintf_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) int __cdecl _snprintf( char *_Buffer, size_t _BufferCount, char const* _Format, ...); __declspec(deprecated("This function or variable may be unsafe. Consider using " "_vsnprintf_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) int __cdecl _vsnprintf( char *_Buffer, size_t _BufferCount, char const* _Format, va_list _Args); __inline int __cdecl _snprintf_c_l( char* const _Buffer, size_t const _BufferCount, char 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 = _vsnprintf_c_l(_Buffer, _BufferCount, _Format, _Locale, _ArgList); ((void)(_ArgList = (va_list)0)); return _Result; } __inline int __cdecl _snprintf_c( char* const _Buffer, size_t const _BufferCount, char const* const _Format, ...) { int _Result; va_list _ArgList; ((void)(__vcrt_assert_va_start_is_not_reference(), ((void)(__va_start(&_ArgList, _Format))))); _Result = _vsnprintf_c_l(_Buffer, _BufferCount, _Format, 0, _ArgList); ((void)(_ArgList = (va_list)0)); return _Result; } __inline int __cdecl _snprintf_s_l( char* const _Buffer, size_t const _BufferCount, size_t const _MaxCount, char 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 = _vsnprintf_s_l(_Buffer, _BufferCount, _MaxCount, _Format, _Locale, _ArgList); ((void)(_ArgList = (va_list)0)); return _Result; } __inline int __cdecl _snprintf_s( char* const _Buffer, size_t const _BufferCount, size_t const _MaxCount, char const* const _Format, ...) { int _Result; va_list _ArgList; ((void)(__vcrt_assert_va_start_is_not_reference(), ((void)(__va_start(&_ArgList, _Format))))); _Result = _vsnprintf_s_l(_Buffer, _BufferCount, _MaxCount, _Format, 0, _ArgList); ((void)(_ArgList = (va_list)0)); return _Result; } extern "C++" { template inline int __cdecl _snprintf_s(char (&_Buffer)[_Size], size_t _BufferCount, char const* _Format, ...) throw() { va_list _ArgList; ((void)(__vcrt_assert_va_start_is_not_reference(), ((void)(__va_start(&_ArgList, _Format))))); return _vsnprintf_s(_Buffer, _Size, _BufferCount, _Format, _ArgList); } } __inline int __cdecl _scprintf_l( char 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 = _vscprintf_l(_Format, _Locale, _ArgList); ((void)(_ArgList = (va_list)0)); return _Result; } __inline int __cdecl _scprintf( char const* const _Format, ...) { int _Result; va_list _ArgList; ((void)(__vcrt_assert_va_start_is_not_reference(), ((void)(__va_start(&_ArgList, _Format))))); _Result = _vscprintf_l(_Format, 0, _ArgList); ((void)(_ArgList = (va_list)0)); return _Result; } __inline int __cdecl _scprintf_p_l( char 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 = _vscprintf_p_l(_Format, _Locale, _ArgList); ((void)(_ArgList = (va_list)0)); return _Result; } __inline int __cdecl _scprintf_p( char const* const _Format, ...) { int _Result; va_list _ArgList; ((void)(__vcrt_assert_va_start_is_not_reference(), ((void)(__va_start(&_ArgList, _Format))))); _Result = _vscprintf_p(_Format, _ArgList); ((void)(_ArgList = (va_list)0)); return _Result; } __declspec(dllimport) int __cdecl __stdio_common_vsscanf( unsigned __int64 _Options, char const* _Buffer, size_t _BufferCount, char const* _Format, _locale_t _Locale, va_list _ArgList ); __inline int __cdecl _vsscanf_l( char const* const _Buffer, char const* const _Format, _locale_t const _Locale, va_list _ArgList ) { return __stdio_common_vsscanf( (*__local_stdio_scanf_options ()), _Buffer, (size_t)-1, _Format, _Locale, _ArgList); } __inline int __cdecl vsscanf( char const* const _Buffer, char const* const _Format, va_list _ArgList ) { return _vsscanf_l(_Buffer, _Format, 0, _ArgList); } __inline int __cdecl _vsscanf_s_l( char const* const _Buffer, char const* const _Format, _locale_t const _Locale, va_list _ArgList ) { return __stdio_common_vsscanf( (*__local_stdio_scanf_options ()) | (1ULL << 0), _Buffer, (size_t)-1, _Format, _Locale, _ArgList); } #pragma warning(push) #pragma warning(disable: 6530) __inline int __cdecl vsscanf_s( char const* const _Buffer, char const* const _Format, va_list _ArgList ) { return _vsscanf_s_l(_Buffer, _Format, 0, _ArgList); } extern "C++" { template inline int __cdecl vsscanf_s(char const (&_Buffer)[_Size], char const* _Format, va_list _ArgList) throw() { return vsscanf_s(_Buffer, _Size, _Format, _ArgList); } } #pragma warning(pop) __declspec(deprecated("This function or variable may be unsafe. Consider using " "_sscanf_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __inline int __cdecl _sscanf_l( char const* const _Buffer, char 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 = _vsscanf_l(_Buffer, _Format, _Locale, _ArgList); ((void)(_ArgList = (va_list)0)); return _Result; } __declspec(deprecated("This function or variable may be unsafe. Consider using " "sscanf_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __inline int __cdecl sscanf( char const* const _Buffer, char const* const _Format, ...) { int _Result; va_list _ArgList; ((void)(__vcrt_assert_va_start_is_not_reference(), ((void)(__va_start(&_ArgList, _Format))))); _Result = _vsscanf_l(_Buffer, _Format, 0, _ArgList); ((void)(_ArgList = (va_list)0)); return _Result; } __inline int __cdecl _sscanf_s_l( char const* const _Buffer, char 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 = _vsscanf_s_l(_Buffer, _Format, _Locale, _ArgList); ((void)(_ArgList = (va_list)0)); return _Result; } __inline int __cdecl sscanf_s( char const* const _Buffer, char const* const _Format, ...) { int _Result; va_list _ArgList; ((void)(__vcrt_assert_va_start_is_not_reference(), ((void)(__va_start(&_ArgList, _Format))))); _Result = vsscanf_s(_Buffer, _Format, _ArgList); ((void)(_ArgList = (va_list)0)); return _Result; } #pragma warning(push) #pragma warning(disable: 6530) __declspec(deprecated("This function or variable may be unsafe. Consider using " "_snscanf_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __inline int __cdecl _snscanf_l( char const* const _Buffer, size_t const _BufferCount, char 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 = __stdio_common_vsscanf( (*__local_stdio_scanf_options ()), _Buffer, _BufferCount, _Format, _Locale, _ArgList); ((void)(_ArgList = (va_list)0)); return _Result; } __declspec(deprecated("This function or variable may be unsafe. Consider using " "_snscanf_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __inline int __cdecl _snscanf( char const* const _Buffer, size_t const _BufferCount, char const* const _Format, ...) { int _Result; va_list _ArgList; ((void)(__vcrt_assert_va_start_is_not_reference(), ((void)(__va_start(&_ArgList, _Format))))); _Result = __stdio_common_vsscanf( (*__local_stdio_scanf_options ()), _Buffer, _BufferCount, _Format, 0, _ArgList); ((void)(_ArgList = (va_list)0)); return _Result; } __inline int __cdecl _snscanf_s_l( char const* const _Buffer, size_t const _BufferCount, char 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 = __stdio_common_vsscanf( (*__local_stdio_scanf_options ()) | (1ULL << 0), _Buffer, _BufferCount, _Format, _Locale, _ArgList); ((void)(_ArgList = (va_list)0)); return _Result; } __inline int __cdecl _snscanf_s( char const* const _Buffer, size_t const _BufferCount, char const* const _Format, ...) { int _Result; va_list _ArgList; ((void)(__vcrt_assert_va_start_is_not_reference(), ((void)(__va_start(&_ArgList, _Format))))); _Result = __stdio_common_vsscanf( (*__local_stdio_scanf_options ()) | (1ULL << 0), _Buffer, _BufferCount, _Format, 0, _ArgList); ((void)(_ArgList = (va_list)0)); return _Result; } #pragma warning(pop) __declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_tempnam" ". See online help for details.")) __declspec(dllimport) char* __cdecl tempnam( char const* _Directory, char const* _FilePrefix ); __declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_fcloseall" ". See online help for details.")) __declspec(dllimport) int __cdecl fcloseall(void); __declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_fdopen" ". See online help for details.")) __declspec(dllimport) FILE* __cdecl fdopen( int _FileHandle, char const* _Format); __declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_fgetchar" ". See online help for details.")) __declspec(dllimport) int __cdecl fgetchar(void); __declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_fileno" ". See online help for details.")) __declspec(dllimport) int __cdecl fileno( FILE* _Stream); __declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_flushall" ". See online help for details.")) __declspec(dllimport) int __cdecl flushall(void); __declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_fputchar" ". See online help for details.")) __declspec(dllimport) int __cdecl fputchar( int _Ch); __declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_getw" ". See online help for details.")) __declspec(dllimport) int __cdecl getw( FILE* _Stream); __declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_putw" ". See online help for details.")) __declspec(dllimport) int __cdecl putw( int _Ch, FILE* _Stream); __declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_rmtmp" ". See online help for details.")) __declspec(dllimport) int __cdecl rmtmp(void); } __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(pack(push, 8)) extern "C" { __declspec(dllimport) __declspec(allocator) __declspec(restrict) void* __cdecl _calloc_base( size_t _Count, size_t _Size ); __declspec(dllimport) __declspec(allocator) __declspec(restrict) void* __cdecl calloc( size_t _Count, size_t _Size ); __declspec(dllimport) int __cdecl _callnewh( size_t _Size ); __declspec(dllimport) __declspec(allocator) void* __cdecl _expand( void* _Block, size_t _Size ); __declspec(dllimport) void __cdecl _free_base( void* _Block ); __declspec(dllimport) void __cdecl free( void* _Block ); __declspec(dllimport) __declspec(allocator) __declspec(restrict) void* __cdecl _malloc_base( size_t _Size ); __declspec(dllimport) __declspec(allocator) __declspec(restrict) void* __cdecl malloc( size_t _Size ); __declspec(dllimport) size_t __cdecl _msize_base( void* _Block ); __declspec(dllimport) size_t __cdecl _msize( void* _Block ); __declspec(dllimport) __declspec(allocator) __declspec(restrict) void* __cdecl _realloc_base( void* _Block, size_t _Size ); __declspec(dllimport) __declspec(allocator) __declspec(restrict) void* __cdecl realloc( void* _Block, size_t _Size ); __declspec(dllimport) __declspec(allocator) __declspec(restrict) void* __cdecl _recalloc_base( void* _Block, size_t _Count, size_t _Size ); __declspec(dllimport) __declspec(allocator) __declspec(restrict) void* __cdecl _recalloc( void* _Block, size_t _Count, size_t _Size ); __declspec(dllimport) void __cdecl _aligned_free( void* _Block ); __declspec(dllimport) __declspec(allocator) __declspec(restrict) void* __cdecl _aligned_malloc( size_t _Size, size_t _Alignment ); __declspec(dllimport) __declspec(allocator) __declspec(restrict) void* __cdecl _aligned_offset_malloc( size_t _Size, size_t _Alignment, size_t _Offset ); __declspec(dllimport) size_t __cdecl _aligned_msize( void* _Block, size_t _Alignment, size_t _Offset ); __declspec(dllimport) __declspec(allocator) __declspec(restrict) void* __cdecl _aligned_offset_realloc( void* _Block, size_t _Size, size_t _Alignment, size_t _Offset ); __declspec(dllimport) __declspec(allocator) __declspec(restrict) void* __cdecl _aligned_offset_recalloc( void* _Block, size_t _Count, size_t _Size, size_t _Alignment, size_t _Offset ); __declspec(dllimport) __declspec(allocator) __declspec(restrict) void* __cdecl _aligned_realloc( void* _Block, size_t _Size, size_t _Alignment ); __declspec(dllimport) __declspec(allocator) __declspec(restrict) void* __cdecl _aligned_recalloc( void* _Block, size_t _Count, size_t _Size, size_t _Alignment ); } __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(pack(push, 8)) extern "C" { namespace std { typedef decltype(__nullptr) nullptr_t; } using ::std::nullptr_t; __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) extern unsigned long __cdecl __threadid(void); __declspec(dllimport) extern uintptr_t __cdecl __threadhandle(void); } __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" { typedef int (__cdecl* _CoreCrtSecureSearchSortCompareFunction)(void*, void const*, void const*); typedef int (__cdecl* _CoreCrtNonSecureSearchSortCompareFunction)(void const*, void const*); __declspec(dllimport) void* __cdecl bsearch_s( void const* _Key, void const* _Base, rsize_t _NumOfElements, rsize_t _SizeOfElements, _CoreCrtSecureSearchSortCompareFunction _CompareFunction, void* _Context ); __declspec(dllimport) void __cdecl qsort_s( void* _Base, rsize_t _NumOfElements, rsize_t _SizeOfElements, _CoreCrtSecureSearchSortCompareFunction _CompareFunction, void* _Context ); __declspec(dllimport) void* __cdecl bsearch( void const* _Key, void const* _Base, size_t _NumOfElements, size_t _SizeOfElements, _CoreCrtNonSecureSearchSortCompareFunction _CompareFunction ); __declspec(dllimport) void __cdecl qsort( void* _Base, size_t _NumOfElements, size_t _SizeOfElements, _CoreCrtNonSecureSearchSortCompareFunction _CompareFunction ); __declspec(dllimport) void* __cdecl _lfind_s( void const* _Key, void const* _Base, unsigned int* _NumOfElements, size_t _SizeOfElements, _CoreCrtSecureSearchSortCompareFunction _CompareFunction, void* _Context ); __declspec(dllimport) void* __cdecl _lfind( void const* _Key, void const* _Base, unsigned int* _NumOfElements, unsigned int _SizeOfElements, _CoreCrtNonSecureSearchSortCompareFunction _CompareFunction ); __declspec(dllimport) void* __cdecl _lsearch_s( void const* _Key, void* _Base, unsigned int* _NumOfElements, size_t _SizeOfElements, _CoreCrtSecureSearchSortCompareFunction _CompareFunction, void* _Context ); __declspec(dllimport) void* __cdecl _lsearch( void const* _Key, void* _Base, unsigned int* _NumOfElements, unsigned int _SizeOfElements, _CoreCrtNonSecureSearchSortCompareFunction _CompareFunction ); __declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_lfind" ". See online help for details.")) __declspec(dllimport) void* __cdecl lfind( void const* _Key, void const* _Base, unsigned int* _NumOfElements, unsigned int _SizeOfElements, _CoreCrtNonSecureSearchSortCompareFunction _CompareFunction ); __declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_lsearch" ". See online help for details.")) __declspec(dllimport) void* __cdecl lsearch( void const* _Key, void* _Base, unsigned int* _NumOfElements, unsigned int _SizeOfElements, _CoreCrtNonSecureSearchSortCompareFunction _CompareFunction ); } __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 warning(push) #pragma warning(disable: 4324 4514 4574 4710 4793 4820 4995 4996 28719 28726 28727) __pragma(pack(push, 8)) extern "C" { __declspec(dllimport) void __cdecl _swab( char* _Buf1, char* _Buf2, int _SizeInBytes ); __declspec(dllimport) __declspec(noreturn) void __cdecl exit( int _Code); __declspec(dllimport) __declspec(noreturn) void __cdecl _exit( int _Code); __declspec(dllimport) __declspec(noreturn) void __cdecl _Exit( int _Code); __declspec(dllimport) __declspec(noreturn) void __cdecl quick_exit( int _Code); __declspec(dllimport) __declspec(noreturn) void __cdecl abort(void); __declspec(dllimport) unsigned int __cdecl _set_abort_behavior( unsigned int _Flags, unsigned int _Mask ); typedef int (__cdecl* _onexit_t)(void); int __cdecl atexit(void (__cdecl*)(void)); _onexit_t __cdecl _onexit( _onexit_t _Func); int __cdecl at_quick_exit(void (__cdecl*)(void)); typedef void (__cdecl* _purecall_handler)(void); typedef void (__cdecl* _invalid_parameter_handler)( wchar_t const*, wchar_t const*, wchar_t const*, unsigned int, uintptr_t ); _purecall_handler __cdecl _set_purecall_handler( _purecall_handler _Handler ); _purecall_handler __cdecl _get_purecall_handler(void); __declspec(dllimport) _invalid_parameter_handler __cdecl _set_invalid_parameter_handler( _invalid_parameter_handler _Handler ); __declspec(dllimport) _invalid_parameter_handler __cdecl _get_invalid_parameter_handler(void); __declspec(dllimport) _invalid_parameter_handler __cdecl _set_thread_local_invalid_parameter_handler( _invalid_parameter_handler _Handler ); __declspec(dllimport) _invalid_parameter_handler __cdecl _get_thread_local_invalid_parameter_handler(void); __declspec(dllimport) int __cdecl _set_error_mode( int _Mode); __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); __declspec(dllimport) __declspec(deprecated("This function or variable may be unsafe. Consider using " "strerror" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) char** __cdecl __sys_errlist(void); __declspec(dllimport) __declspec(deprecated("This function or variable may be unsafe. Consider using " "strerror" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) int * __cdecl __sys_nerr(void); __declspec(dllimport) void __cdecl perror( char const* _ErrMsg); __declspec(deprecated("This function or variable may be unsafe. Consider using " "_get_pgmptr" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __declspec(dllimport) char** __cdecl __p__pgmptr (void); __declspec(deprecated("This function or variable may be unsafe. Consider using " "_get_wpgmptr" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __declspec(dllimport) wchar_t** __cdecl __p__wpgmptr(void); __declspec(deprecated("This function or variable may be unsafe. Consider using " "_get_fmode" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __declspec(dllimport) int* __cdecl __p__fmode (void); __declspec(dllimport) errno_t __cdecl _get_pgmptr ( char** _Value); __declspec(dllimport) errno_t __cdecl _get_wpgmptr( wchar_t** _Value); __declspec(dllimport) errno_t __cdecl _set_fmode ( int _Mode ); __declspec(dllimport) errno_t __cdecl _get_fmode ( int* _PMode); typedef struct _div_t { int quot; int rem; } div_t; typedef struct _ldiv_t { long quot; long rem; } ldiv_t; typedef struct _lldiv_t { long long quot; long long rem; } lldiv_t; int __cdecl abs ( int _Number); long __cdecl labs ( long _Number); long long __cdecl llabs ( long long _Number); __int64 __cdecl _abs64( __int64 _Number); unsigned short __cdecl _byteswap_ushort( unsigned short _Number); unsigned long __cdecl _byteswap_ulong ( unsigned long _Number); unsigned __int64 __cdecl _byteswap_uint64( unsigned __int64 _Number); __declspec(dllimport) div_t __cdecl div ( int _Numerator, int _Denominator); __declspec(dllimport) ldiv_t __cdecl ldiv ( long _Numerator, long _Denominator); __declspec(dllimport) lldiv_t __cdecl lldiv( long long _Numerator, long long _Denominator); #pragma warning(push) #pragma warning(disable: 6540) unsigned int __cdecl _rotl( unsigned int _Value, int _Shift ); unsigned long __cdecl _lrotl( unsigned long _Value, int _Shift ); unsigned __int64 __cdecl _rotl64( unsigned __int64 _Value, int _Shift ); unsigned int __cdecl _rotr( unsigned int _Value, int _Shift ); unsigned long __cdecl _lrotr( unsigned long _Value, int _Shift ); unsigned __int64 __cdecl _rotr64( unsigned __int64 _Value, int _Shift ); #pragma warning(pop) __declspec(dllimport) void __cdecl srand( unsigned int _Seed); __declspec(dllimport) int __cdecl rand(void); extern "C++" { inline long abs(long const _X) throw() { return labs(_X); } inline long long abs(long long const _X) throw() { return llabs(_X); } inline ldiv_t div(long const _A1, long const _A2) throw() { return ldiv(_A1, _A2); } inline lldiv_t div(long long const _A1, long long const _A2) throw() { return lldiv(_A1, _A2); } } #pragma pack(push, 4) typedef struct { unsigned char ld[10]; } _LDOUBLE; #pragma pack(pop) typedef struct { double x; } _CRT_DOUBLE; typedef struct { float f; } _CRT_FLOAT; typedef struct { long double x; } _LONGDOUBLE; #pragma pack(push, 4) typedef struct { unsigned char ld12[12]; } _LDBL12; #pragma pack(pop) __declspec(dllimport) double __cdecl atof ( char const* _String); __declspec(dllimport) int __cdecl atoi ( char const* _String); __declspec(dllimport) long __cdecl atol ( char const* _String); __declspec(dllimport) long long __cdecl atoll ( char const* _String); __declspec(dllimport) __int64 __cdecl _atoi64( char const* _String); __declspec(dllimport) double __cdecl _atof_l ( char const* _String, _locale_t _Locale); __declspec(dllimport) int __cdecl _atoi_l ( char const* _String, _locale_t _Locale); __declspec(dllimport) long __cdecl _atol_l ( char const* _String, _locale_t _Locale); __declspec(dllimport) long long __cdecl _atoll_l ( char const* _String, _locale_t _Locale); __declspec(dllimport) __int64 __cdecl _atoi64_l( char const* _String, _locale_t _Locale); __declspec(dllimport) int __cdecl _atoflt ( _CRT_FLOAT* _Result, char const* _String); __declspec(dllimport) int __cdecl _atodbl ( _CRT_DOUBLE* _Result, char* _String); __declspec(dllimport) int __cdecl _atoldbl( _LDOUBLE* _Result, char* _String); __declspec(dllimport) int __cdecl _atoflt_l( _CRT_FLOAT* _Result, char const* _String, _locale_t _Locale ); __declspec(dllimport) int __cdecl _atodbl_l( _CRT_DOUBLE* _Result, char* _String, _locale_t _Locale ); __declspec(dllimport) int __cdecl _atoldbl_l( _LDOUBLE* _Result, char* _String, _locale_t _Locale ); __declspec(dllimport) float __cdecl strtof( char const* _String, char** _EndPtr ); __declspec(dllimport) float __cdecl _strtof_l( char const* _String, char** _EndPtr, _locale_t _Locale ); __declspec(dllimport) double __cdecl strtod( char const* _String, char** _EndPtr ); __declspec(dllimport) double __cdecl _strtod_l( char const* _String, char** _EndPtr, _locale_t _Locale ); __declspec(dllimport) long double __cdecl strtold( char const* _String, char** _EndPtr ); __declspec(dllimport) long double __cdecl _strtold_l( char const* _String, char** _EndPtr, _locale_t _Locale ); __declspec(dllimport) long __cdecl strtol( char const* _String, char** _EndPtr, int _Radix ); __declspec(dllimport) long __cdecl _strtol_l( char const* _String, char** _EndPtr, int _Radix, _locale_t _Locale ); __declspec(dllimport) long long __cdecl strtoll( char const* _String, char** _EndPtr, int _Radix ); __declspec(dllimport) long long __cdecl _strtoll_l( char const* _String, char** _EndPtr, int _Radix, _locale_t _Locale ); __declspec(dllimport) unsigned long __cdecl strtoul( char const* _String, char** _EndPtr, int _Radix ); __declspec(dllimport) unsigned long __cdecl _strtoul_l( char const* _String, char** _EndPtr, int _Radix, _locale_t _Locale ); __declspec(dllimport) unsigned long long __cdecl strtoull( char const* _String, char** _EndPtr, int _Radix ); __declspec(dllimport) unsigned long long __cdecl _strtoull_l( char const* _String, char** _EndPtr, int _Radix, _locale_t _Locale ); __declspec(dllimport) __int64 __cdecl _strtoi64( char const* _String, char** _EndPtr, int _Radix ); __declspec(dllimport) __int64 __cdecl _strtoi64_l( char const* _String, char** _EndPtr, int _Radix, _locale_t _Locale ); __declspec(dllimport) unsigned __int64 __cdecl _strtoui64( char const* _String, char** _EndPtr, int _Radix ); __declspec(dllimport) unsigned __int64 __cdecl _strtoui64_l( char const* _String, char** _EndPtr, int _Radix, _locale_t _Locale ); __declspec(dllimport) errno_t __cdecl _itoa_s( int _Value, char* _Buffer, size_t _BufferCount, int _Radix ); extern "C++" { template inline errno_t __cdecl _itoa_s(int _Value, char (&_Buffer)[_Size], int _Radix) throw() { return _itoa_s(_Value, _Buffer, _Size, _Radix); } } __declspec(deprecated("This function or variable may be unsafe. Consider using " "_itoa_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __declspec(dllimport) char* __cdecl _itoa(int _Value, char *_Buffer, int _Radix); __declspec(dllimport) errno_t __cdecl _ltoa_s( long _Value, char* _Buffer, size_t _BufferCount, int _Radix ); extern "C++" { template inline errno_t __cdecl _ltoa_s(long _Value, char (&_Buffer)[_Size], int _Radix) throw() { return _ltoa_s(_Value, _Buffer, _Size, _Radix); } } __declspec(deprecated("This function or variable may be unsafe. Consider using " "_ltoa_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __declspec(dllimport) char* __cdecl _ltoa(long _Value, char *_Buffer, int _Radix); __declspec(dllimport) errno_t __cdecl _ultoa_s( unsigned long _Value, char* _Buffer, size_t _BufferCount, int _Radix ); extern "C++" { template inline errno_t __cdecl _ultoa_s(unsigned long _Value, char (&_Buffer)[_Size], int _Radix) throw() { return _ultoa_s(_Value, _Buffer, _Size, _Radix); } } __declspec(deprecated("This function or variable may be unsafe. Consider using " "_ultoa_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __declspec(dllimport) char* __cdecl _ultoa(unsigned long _Value, char *_Buffer, int _Radix); __declspec(dllimport) errno_t __cdecl _i64toa_s( __int64 _Value, char* _Buffer, size_t _BufferCount, int _Radix ); __declspec(deprecated("This function or variable may be unsafe. Consider using " "_i64toa_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __declspec(dllimport) char* __cdecl _i64toa( __int64 _Value, char* _Buffer, int _Radix ); __declspec(dllimport) errno_t __cdecl _ui64toa_s( unsigned __int64 _Value, char* _Buffer, size_t _BufferCount, int _Radix ); __declspec(deprecated("This function or variable may be unsafe. Consider using " "_ui64toa_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __declspec(dllimport) char* __cdecl _ui64toa( unsigned __int64 _Value, char* _Buffer, int _Radix ); __declspec(dllimport) errno_t __cdecl _ecvt_s( char* _Buffer, size_t _BufferCount, double _Value, int _DigitCount, int* _PtDec, int* _PtSign ); extern "C++" { template inline errno_t __cdecl _ecvt_s(char (&_Buffer)[_Size], double _Value, int _DigitCount, int* _PtDec, int* _PtSign) throw() { return _ecvt_s(_Buffer, _Size, _Value, _DigitCount, _PtDec, _PtSign); } } __declspec(deprecated("This function or variable may be unsafe. Consider using " "_ecvt_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __declspec(dllimport) char* __cdecl _ecvt( double _Value, int _DigitCount, int* _PtDec, int* _PtSign ); __declspec(dllimport) errno_t __cdecl _fcvt_s( char* _Buffer, size_t _BufferCount, double _Value, int _FractionalDigitCount, int* _PtDec, int* _PtSign ); extern "C++" { template inline errno_t __cdecl _fcvt_s(char (&_Buffer)[_Size], double _Value, int _FractionalDigitCount, int* _PtDec, int* _PtSign) throw() { return _fcvt_s(_Buffer, _Size, _Value, _FractionalDigitCount, _PtDec, _PtSign); } } __declspec(deprecated("This function or variable may be unsafe. Consider using " "_fcvt_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __declspec(dllimport) char* __cdecl _fcvt( double _Value, int _FractionalDigitCount, int* _PtDec, int* _PtSign ); __declspec(dllimport) errno_t __cdecl _gcvt_s( char* _Buffer, size_t _BufferCount, double _Value, int _DigitCount ); extern "C++" { template inline errno_t __cdecl _gcvt_s(char (&_Buffer)[_Size], double _Value, int _DigitCount) throw() { return _gcvt_s(_Buffer, _Size, _Value, _DigitCount); } } __declspec(deprecated("This function or variable may be unsafe. Consider using " "_gcvt_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __declspec(dllimport) char* __cdecl _gcvt( double _Value, int _DigitCount, char* _Buffer ); __declspec(dllimport) int __cdecl mblen( char const* _Ch, size_t _MaxCount ); __declspec(dllimport) int __cdecl _mblen_l( char const* _Ch, size_t _MaxCount, _locale_t _Locale ); __declspec(dllimport) size_t __cdecl _mbstrlen( char const* _String ); __declspec(dllimport) size_t __cdecl _mbstrlen_l( char const* _String, _locale_t _Locale ); __declspec(dllimport) size_t __cdecl _mbstrnlen( char const* _String, size_t _MaxCount ); __declspec(dllimport) size_t __cdecl _mbstrnlen_l( char const* _String, size_t _MaxCount, _locale_t _Locale ); __declspec(dllimport) int __cdecl mbtowc( wchar_t* _DstCh, char const* _SrcCh, size_t _SrcSizeInBytes ); __declspec(dllimport) int __cdecl _mbtowc_l( wchar_t* _DstCh, char const* _SrcCh, size_t _SrcSizeInBytes, _locale_t _Locale ); __declspec(dllimport) errno_t __cdecl mbstowcs_s( size_t* _PtNumOfCharConverted, wchar_t* _DstBuf, size_t _SizeInWords, char const* _SrcBuf, size_t _MaxCount ); extern "C++" { template inline errno_t __cdecl mbstowcs_s(size_t* _PtNumOfCharConverted, wchar_t (&_Dest)[_Size], char const* _Source, size_t _MaxCount) throw() { return mbstowcs_s(_PtNumOfCharConverted, _Dest, _Size, _Source, _MaxCount); } } __declspec(deprecated("This function or variable may be unsafe. Consider using " "mbstowcs_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __declspec(dllimport) size_t __cdecl mbstowcs( wchar_t *_Dest, char const* _Source, size_t _MaxCount); __declspec(dllimport) errno_t __cdecl _mbstowcs_s_l( size_t* _PtNumOfCharConverted, wchar_t* _DstBuf, size_t _SizeInWords, char const* _SrcBuf, size_t _MaxCount, _locale_t _Locale ); extern "C++" { template inline errno_t __cdecl _mbstowcs_s_l(size_t* _PtNumOfCharConverted, wchar_t (&_Dest)[_Size], char const* _Source, size_t _MaxCount, _locale_t _Locale) throw() { return _mbstowcs_s_l(_PtNumOfCharConverted, _Dest, _Size, _Source, _MaxCount, _Locale); } } __declspec(deprecated("This function or variable may be unsafe. Consider using " "_mbstowcs_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __declspec(dllimport) size_t __cdecl _mbstowcs_l( wchar_t *_Dest, char const* _Source, size_t _MaxCount, _locale_t _Locale); __declspec(deprecated("This function or variable may be unsafe. Consider using " "wctomb_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __declspec(dllimport) int __cdecl wctomb( char* _MbCh, wchar_t _WCh ); __declspec(deprecated("This function or variable may be unsafe. Consider using " "_wctomb_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __declspec(dllimport) int __cdecl _wctomb_l( char* _MbCh, wchar_t _WCh, _locale_t _Locale ); __declspec(dllimport) errno_t __cdecl wctomb_s( int* _SizeConverted, char* _MbCh, rsize_t _SizeInBytes, wchar_t _WCh ); __declspec(dllimport) errno_t __cdecl _wctomb_s_l( int* _SizeConverted, char* _MbCh, size_t _SizeInBytes, wchar_t _WCh, _locale_t _Locale); __declspec(dllimport) errno_t __cdecl wcstombs_s( size_t* _PtNumOfCharConverted, char* _Dst, size_t _DstSizeInBytes, wchar_t const* _Src, size_t _MaxCountInBytes ); extern "C++" { template inline errno_t __cdecl wcstombs_s(size_t* _PtNumOfCharConverted, char (&_Dest)[_Size], wchar_t const* _Source, size_t _MaxCount) throw() { return wcstombs_s(_PtNumOfCharConverted, _Dest, _Size, _Source, _MaxCount); } } __declspec(deprecated("This function or variable may be unsafe. Consider using " "wcstombs_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __declspec(dllimport) size_t __cdecl wcstombs( char *_Dest, wchar_t const* _Source, size_t _MaxCount); __declspec(dllimport) errno_t __cdecl _wcstombs_s_l( size_t* _PtNumOfCharConverted, char* _Dst, size_t _DstSizeInBytes, wchar_t const* _Src, size_t _MaxCountInBytes, _locale_t _Locale ); extern "C++" { template inline errno_t __cdecl _wcstombs_s_l(size_t* _PtNumOfCharConverted, char (&_Dest)[_Size], wchar_t const* _Source, size_t _MaxCount, _locale_t _Locale) throw() { return _wcstombs_s_l(_PtNumOfCharConverted, _Dest, _Size, _Source, _MaxCount, _Locale); } } __declspec(deprecated("This function or variable may be unsafe. Consider using " "_wcstombs_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __declspec(dllimport) size_t __cdecl _wcstombs_l( char *_Dest, wchar_t const* _Source, size_t _MaxCount, _locale_t _Locale); __declspec(dllimport) __declspec(allocator) char* __cdecl _fullpath( char* _Buffer, char const* _Path, size_t _BufferCount ); __declspec(dllimport) errno_t __cdecl _makepath_s( char* _Buffer, size_t _BufferCount, char const* _Drive, char const* _Dir, char const* _Filename, char const* _Ext ); extern "C++" { template inline errno_t __cdecl _makepath_s(char (&_Buffer)[_Size], char const* _Drive, char const* _Dir, char const* _Filename, char const* _Ext) throw() { return _makepath_s(_Buffer, _Size, _Drive, _Dir, _Filename, _Ext); } } __declspec(deprecated("This function or variable may be unsafe. Consider using " "_makepath_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __declspec(dllimport) void __cdecl _makepath( char *_Buffer, char const* _Drive, char const* _Dir, char const* _Filename, char const* _Ext); __declspec(deprecated("This function or variable may be unsafe. Consider using " "_splitpath_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __declspec(dllimport) void __cdecl _splitpath( char const* _FullPath, char* _Drive, char* _Dir, char* _Filename, char* _Ext ); __declspec(dllimport) errno_t __cdecl _splitpath_s( char const* _FullPath, char* _Drive, size_t _DriveCount, char* _Dir, size_t _DirCount, char* _Filename, size_t _FilenameCount, char* _Ext, size_t _ExtCount ); extern "C++" { template inline errno_t __cdecl _splitpath_s( char const* _Dest, char (&_Drive)[_DriveSize], char (&_Dir)[_DirSize], char (&_Name)[_NameSize], char (&_Ext)[_ExtSize] ) throw() { return _splitpath_s(_Dest, _Drive, _DriveSize, _Dir, _DirSize, _Name, _NameSize, _Ext, _ExtSize); } } __declspec(dllimport) errno_t __cdecl getenv_s( size_t* _RequiredCount, char* _Buffer, rsize_t _BufferCount, char const* _VarName ); __declspec(dllimport) int* __cdecl __p___argc (void); __declspec(dllimport) char*** __cdecl __p___argv (void); __declspec(dllimport) wchar_t*** __cdecl __p___wargv(void); __declspec(dllimport) char*** __cdecl __p__environ (void); __declspec(dllimport) wchar_t*** __cdecl __p__wenviron(void); __declspec(deprecated("This function or variable may be unsafe. Consider using " "_dupenv_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __declspec(dllimport) char* __cdecl getenv( char const* _VarName ); extern "C++" { template inline errno_t __cdecl getenv_s(size_t* _RequiredCount, char (&_Buffer)[_Size], char const* _VarName) throw() { return getenv_s(_RequiredCount, _Buffer, _Size, _VarName); } } __declspec(dllimport) errno_t __cdecl _dupenv_s( char** _Buffer, size_t* _BufferCount, char const* _VarName ); __declspec(dllimport) int __cdecl system( char const* _Command ); #pragma warning(push) #pragma warning(disable: 6540) __declspec(dllimport) int __cdecl _putenv( char const* _EnvString ); __declspec(dllimport) errno_t __cdecl _putenv_s( char const* _Name, char const* _Value ); #pragma warning(pop) __declspec(dllimport) errno_t __cdecl _searchenv_s( char const* _Filename, char const* _VarName, char* _Buffer, size_t _BufferCount ); extern "C++" { template inline errno_t __cdecl _searchenv_s(char const* _Filename, char const* _VarName, char (&_Buffer)[_Size]) throw() { return _searchenv_s(_Filename, _VarName, _Buffer, _Size); } } __declspec(deprecated("This function or variable may be unsafe. Consider using " "_searchenv_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __declspec(dllimport) void __cdecl _searchenv(char const* _Filename, char const* _VarName, char *_Buffer); __declspec(deprecated("This function or variable has been superceded by newer library " "or operating system functionality. Consider using " "SetErrorMode" " " "instead. See online help for details.")) __declspec(dllimport) void __cdecl _seterrormode( int _Mode ); __declspec(deprecated("This function or variable has been superceded by newer library " "or operating system functionality. Consider using " "Beep" " " "instead. See online help for details.")) __declspec(dllimport) void __cdecl _beep( unsigned _Frequency, unsigned _Duration ); __declspec(deprecated("This function or variable has been superceded by newer library " "or operating system functionality. Consider using " "Sleep" " " "instead. See online help for details.")) __declspec(dllimport) void __cdecl _sleep( unsigned long _Duration ); #pragma warning(push) #pragma warning(disable: 4141) __declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_ecvt" ". See online help for details.")) __declspec(deprecated("This function or variable may be unsafe. Consider using " "_ecvt_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __declspec(dllimport) char* __cdecl ecvt( double _Value, int _DigitCount, int* _PtDec, int* _PtSign ); __declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_fcvt" ". See online help for details.")) __declspec(deprecated("This function or variable may be unsafe. Consider using " "_fcvt_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __declspec(dllimport) char* __cdecl fcvt( double _Value, int _FractionalDigitCount, int* _PtDec, int* _PtSign ); __declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_gcvt" ". See online help for details.")) __declspec(deprecated("This function or variable may be unsafe. Consider using " "_fcvt_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __declspec(dllimport) char* __cdecl gcvt( double _Value, int _DigitCount, char* _DstBuf ); __declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_itoa" ". See online help for details.")) __declspec(deprecated("This function or variable may be unsafe. Consider using " "_itoa_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __declspec(dllimport) char* __cdecl itoa( int _Value, char* _Buffer, int _Radix ); __declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_ltoa" ". See online help for details.")) __declspec(deprecated("This function or variable may be unsafe. Consider using " "_ltoa_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __declspec(dllimport) char* __cdecl ltoa( long _Value, char* _Buffer, int _Radix ); __declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_swab" ". See online help for details.")) __declspec(dllimport) void __cdecl swab( char* _Buf1, char* _Buf2, int _SizeInBytes ); __declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_ultoa" ". See online help for details.")) __declspec(deprecated("This function or variable may be unsafe. Consider using " "_ultoa_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __declspec(dllimport) char* __cdecl ultoa( unsigned long _Value, char* _Buffer, int _Radix ); __declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_putenv" ". See online help for details.")) __declspec(dllimport) int __cdecl putenv( char const* _EnvString ); #pragma warning(pop) _onexit_t __cdecl onexit( _onexit_t _Func); } __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 long clock_t; struct _timespec32 { __time32_t tv_sec; long tv_nsec; }; struct _timespec64 { __time64_t tv_sec; long tv_nsec; }; struct timespec { time_t tv_sec; long tv_nsec; }; __declspec(deprecated("This function or variable may be unsafe. Consider using " "_get_daylight" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __declspec(dllimport) int* __cdecl __daylight(void); __declspec(deprecated("This function or variable may be unsafe. Consider using " "_get_dstbias" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __declspec(dllimport) long* __cdecl __dstbias(void); __declspec(deprecated("This function or variable may be unsafe. Consider using " "_get_timezone" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __declspec(dllimport) long* __cdecl __timezone(void); __declspec(deprecated("This function or variable may be unsafe. Consider using " "_get_tzname" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __declspec(dllimport) char** __cdecl __tzname(void); __declspec(dllimport) errno_t __cdecl _get_daylight( int* _Daylight ); __declspec(dllimport) errno_t __cdecl _get_dstbias( long* _DaylightSavingsBias ); __declspec(dllimport) errno_t __cdecl _get_timezone( long* _TimeZone ); __declspec(dllimport) errno_t __cdecl _get_tzname( size_t* _ReturnValue, char* _Buffer, size_t _SizeInBytes, int _Index ); __declspec(deprecated("This function or variable may be unsafe. Consider using " "asctime_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __declspec(dllimport) char* __cdecl asctime( struct tm const* _Tm ); __declspec(dllimport) errno_t __cdecl asctime_s( char* _Buffer, size_t _SizeInBytes, struct tm const* _Tm ); extern "C++" { template inline errno_t __cdecl asctime_s(char (&_Buffer)[_Size], struct tm const* _Time) throw() { return asctime_s(_Buffer, _Size, _Time); } } __declspec(dllimport) clock_t __cdecl clock(void); __declspec(deprecated("This function or variable may be unsafe. Consider using " "_ctime32_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __declspec(dllimport) char* __cdecl _ctime32( __time32_t const* _Time ); __declspec(dllimport) errno_t __cdecl _ctime32_s( char* _Buffer, size_t _SizeInBytes, __time32_t const* _Time ); extern "C++" { template inline errno_t __cdecl _ctime32_s(char (&_Buffer)[_Size], __time32_t const* _Time) throw() { return _ctime32_s(_Buffer, _Size, _Time); } } __declspec(deprecated("This function or variable may be unsafe. Consider using " "_ctime64_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __declspec(dllimport) char* __cdecl _ctime64( __time64_t const* _Time ); __declspec(dllimport) errno_t __cdecl _ctime64_s( char* _Buffer, size_t _SizeInBytes, __time64_t const* _Time ); extern "C++" { template inline errno_t __cdecl _ctime64_s(char (&_Buffer)[_Size], __time64_t const* _Time) throw() { return _ctime64_s(_Buffer, _Size, _Time); } } __declspec(dllimport) double __cdecl _difftime32( __time32_t _Time1, __time32_t _Time2 ); __declspec(dllimport) double __cdecl _difftime64( __time64_t _Time1, __time64_t _Time2 ); __declspec(deprecated("This function or variable may be unsafe. Consider using " "_gmtime32_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __declspec(dllimport) struct tm* __cdecl _gmtime32( __time32_t const* _Time ); __declspec(dllimport) errno_t __cdecl _gmtime32_s( struct tm* _Tm, __time32_t const* _Time ); __declspec(deprecated("This function or variable may be unsafe. Consider using " "_gmtime64_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __declspec(dllimport) struct tm* __cdecl _gmtime64( __time64_t const* _Time ); __declspec(dllimport) errno_t __cdecl _gmtime64_s( struct tm* _Tm, __time64_t const* _Time ); __declspec(deprecated("This function or variable may be unsafe. Consider using " "_localtime32_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __declspec(dllimport) struct tm* __cdecl _localtime32( __time32_t const* _Time ); __declspec(dllimport) errno_t __cdecl _localtime32_s( struct tm* _Tm, __time32_t const* _Time ); __declspec(deprecated("This function or variable may be unsafe. Consider using " "_localtime64_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __declspec(dllimport) struct tm* __cdecl _localtime64( __time64_t const* _Time ); __declspec(dllimport) errno_t __cdecl _localtime64_s( struct tm* _Tm, __time64_t const* _Time ); __declspec(dllimport) __time32_t __cdecl _mkgmtime32( struct tm* _Tm ); __declspec(dllimport) __time64_t __cdecl _mkgmtime64( struct tm* _Tm ); __declspec(dllimport) __time32_t __cdecl _mktime32( struct tm* _Tm ); __declspec(dllimport) __time64_t __cdecl _mktime64( struct tm* _Tm ); __declspec(dllimport) size_t __cdecl strftime( char* _Buffer, size_t _SizeInBytes, char const* _Format, struct tm const* _Tm ); __declspec(dllimport) size_t __cdecl _strftime_l( char* _Buffer, size_t _MaxSize, char const* _Format, struct tm const* _Tm, _locale_t _Locale ); __declspec(dllimport) errno_t __cdecl _strdate_s( char* _Buffer, size_t _SizeInBytes ); extern "C++" { template inline errno_t __cdecl _strdate_s(char (&_Buffer)[_Size]) throw() { return _strdate_s(_Buffer, _Size); } } __declspec(deprecated("This function or variable may be unsafe. Consider using " "_strdate_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __declspec(dllimport) char* __cdecl _strdate( char *_Buffer); __declspec(dllimport) errno_t __cdecl _strtime_s( char* _Buffer, size_t _SizeInBytes ); extern "C++" { template inline errno_t __cdecl _strtime_s(char (&_Buffer)[_Size]) throw() { return _strtime_s(_Buffer, _Size); } } __declspec(deprecated("This function or variable may be unsafe. Consider using " "_strtime_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __declspec(dllimport) char* __cdecl _strtime( char *_Buffer); __declspec(dllimport) __time32_t __cdecl _time32( __time32_t* _Time ); __declspec(dllimport) __time64_t __cdecl _time64( __time64_t* _Time ); __declspec(dllimport) int __cdecl _timespec32_get( struct _timespec32* _Ts, int _Base ); __declspec(dllimport) int __cdecl _timespec64_get( struct _timespec64* _Ts, int _Base ); __declspec(dllimport) void __cdecl _tzset(void); __declspec(deprecated("This function or variable has been superceded by newer library " "or operating system functionality. Consider using " "GetLocalTime" " " "instead. See online help for details.")) __declspec(dllimport) unsigned __cdecl _getsystime( struct tm* _Tm ); __declspec(deprecated("This function or variable has been superceded by newer library " "or operating system functionality. Consider using " "SetLocalTime" " " "instead. See online help for details.")) __declspec(dllimport) unsigned __cdecl _setsystime( struct tm* _Tm, unsigned _Milliseconds ); __declspec(deprecated("This function or variable may be unsafe. Consider using " "ctime_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) static __inline char* __cdecl ctime( time_t const* const _Time ) { return _ctime64(_Time); } static __inline double __cdecl difftime( time_t const _Time1, time_t const _Time2 ) { return _difftime64(_Time1, _Time2); } __declspec(deprecated("This function or variable may be unsafe. Consider using " "gmtime_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) static __inline struct tm* __cdecl gmtime( time_t const* const _Time) { return _gmtime64(_Time); } __declspec(deprecated("This function or variable may be unsafe. Consider using " "localtime_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) static __inline struct tm* __cdecl localtime( time_t const* const _Time ) { return _localtime64(_Time); } static __inline time_t __cdecl _mkgmtime( struct tm* const _Tm ) { return _mkgmtime64(_Tm); } static __inline time_t __cdecl mktime( struct tm* const _Tm ) { return _mktime64(_Tm); } static __inline time_t __cdecl time( time_t* const _Time ) { return _time64(_Time); } static __inline int __cdecl timespec_get( struct timespec* const _Ts, int const _Base ) { return _timespec64_get((struct _timespec64*)_Ts, _Base); } static __inline errno_t __cdecl ctime_s( char* const _Buffer, size_t const _SizeInBytes, time_t const* const _Time ) { return _ctime64_s(_Buffer, _SizeInBytes, _Time); } static __inline errno_t __cdecl gmtime_s( struct tm* const _Tm, time_t const* const _Time ) { return _gmtime64_s(_Tm, _Time); } static __inline errno_t __cdecl localtime_s( struct tm* const _Tm, time_t const* const _Time ) { return _localtime64_s(_Tm, _Time); } __declspec(deprecated("The POSIX name for this item is deprecated. Instead, use the ISO C " "and C++ conformant name: " "_tzset" ". See online help for details.")) __declspec(dllimport) void __cdecl tzset(void); } __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 _heapinfo { int* _pentry; size_t _size; int _useflag; } _HEAPINFO; void* __cdecl _alloca( size_t _Size); __declspec(dllimport) intptr_t __cdecl _get_heap_handle(void); __declspec(dllimport) int __cdecl _heapmin(void); __declspec(dllimport) int __cdecl _heapwalk( _HEAPINFO* _EntryInfo); __declspec(dllimport) int __cdecl _heapchk(void); __declspec(dllimport) int __cdecl _resetstkoflw(void); static_assert((sizeof(unsigned int) <= 16), "sizeof(unsigned int) <= _ALLOCA_S_MARKER_SIZE"); #pragma warning(push) #pragma warning(disable: 6540) __inline void* _MarkAllocaS( void* _Ptr, unsigned int _Marker) { if (_Ptr) { *((unsigned int*)_Ptr) = _Marker; _Ptr = (char*)_Ptr + 16; } return _Ptr; } __inline size_t _MallocaComputeSize(size_t _Size) { size_t _MarkedSize = _Size + 16; return _MarkedSize > _Size ? _MarkedSize : 0; } #pragma warning(pop) #pragma warning(push) #pragma warning(disable: 6014) __inline void __cdecl _freea( void* _Memory) { unsigned int _Marker; if (_Memory) { _Memory = (char*)_Memory - 16; _Marker = *(unsigned int*)_Memory; if (_Marker == 0xDDDD) { free(_Memory); } } } #pragma warning(pop) } __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 void* _HFILE; typedef int (__cdecl* _CRT_REPORT_HOOK )(int, char*, int*); typedef int (__cdecl* _CRT_REPORT_HOOKW)(int, wchar_t*, int*); typedef int (__cdecl* _CRT_ALLOC_HOOK)(int, void*, size_t, int, long, unsigned char const*, int); typedef void (__cdecl* _CRT_DUMP_CLIENT)(void*, size_t); struct _CrtMemBlockHeader; typedef struct _CrtMemState { struct _CrtMemBlockHeader* pBlockHeader; size_t lCounts[5]; size_t lSizes[5]; size_t lHighWaterCount; size_t lTotalCount; } _CrtMemState; } __pragma(pack(pop)) #pragma warning(pop) #pragma pack(push, 8) struct __POSITION {}; typedef __POSITION* POSITION; #pragma warning(disable: 4505) #pragma warning(disable: 4511) #pragma warning(disable: 4512) #pragma warning(disable: 4514) #pragma warning(disable: 4710) #pragma warning(disable: 4127) #pragma warning(disable: 4275) #pragma warning(disable: 4251) #pragma warning( push ) #pragma warning(disable: 4201) #pragma warning(disable: 4191) #pragma warning(disable: 4701) #pragma warning(disable: 4702) #pragma warning(disable: 4189) #pragma warning(disable: 4390) #pragma warning(disable: 4204) #pragma warning(disable: 4263 4264 4266) #pragma warning(push) #pragma warning(disable : 4793) inline void __cdecl AfxTrace(...) { } #pragma warning(pop) BOOL __stdcall AfxInitialize(BOOL bDLL = 0, DWORD dwVersion = 0x0E00); void __stdcall AfxClassInit(CRuntimeClass* pNewClass); struct AFX_CLASSINIT { AFX_CLASSINIT(CRuntimeClass* pNewClass) { AfxClassInit(pNewClass); } }; struct CRuntimeClass { LPCSTR m_lpszClassName; int m_nObjectSize; UINT m_wSchema; CObject* (__stdcall* m_pfnCreateObject)(); CRuntimeClass* (__stdcall* m_pfnGetBaseClass)(); CObject* CreateObject(); BOOL IsDerivedFrom(const CRuntimeClass* pBaseClass) const; static CRuntimeClass* __stdcall FromName(LPCSTR lpszClassName); static CRuntimeClass* __stdcall FromName(LPCWSTR lpszClassName); static CObject* __stdcall CreateObject(LPCSTR lpszClassName); static CObject* __stdcall CreateObject(LPCWSTR lpszClassName); void Store(CArchive& ar) const; static CRuntimeClass* __stdcall Load(CArchive& ar, UINT* pwSchemaNum); CRuntimeClass* m_pNextClass; const AFX_CLASSINIT* m_pClassInit; }; void __declspec(noreturn) __stdcall AfxThrowMemoryException(); void __declspec(noreturn) __stdcall AfxThrowNotSupportedException(); void __declspec(noreturn) __stdcall AfxThrowInvalidArgException(); void __declspec(noreturn) __stdcall AfxThrowArchiveException(int cause, LPCTSTR lpszArchiveName = 0); void __declspec(noreturn) __stdcall AfxThrowFileException(int cause, LONG lOsError = -1, LPCTSTR lpszFileName = 0); void __declspec(noreturn) __stdcall AfxThrowOleException(LONG sc); inline errno_t AfxCrtErrorCheck(errno_t error) { switch(error) { case 12: AfxThrowMemoryException(); break; case 22: case 34: AfxThrowInvalidArgException(); break; case 80: case 0: break; default: AfxThrowInvalidArgException(); break; } return error; } inline void __cdecl Afx_clearerr_s(FILE *stream) { AfxCrtErrorCheck(::clearerr_s(stream)); } typedef LPWSTR BSTR; class __declspec(novtable) CObject { public: virtual CRuntimeClass* GetRuntimeClass() const; virtual ~CObject() = 0; void* __stdcall operator new(size_t nSize); void* __stdcall operator new(size_t, void* p); void __stdcall operator delete(void* p); void __stdcall operator delete(void* p, void* pPlace); protected: CObject(); private: CObject(const CObject& objectSrc); void operator=(const CObject& objectSrc); public: BOOL IsSerializable() const; BOOL IsKindOf(const CRuntimeClass* pClass) const; virtual void Serialize(CArchive& ar); virtual void AssertValid() const; virtual void Dump(CDumpContext& dc) const; public: static const CRuntimeClass classCObject; static CRuntimeClass* __stdcall _GetBaseClass(); static CRuntimeClass* __stdcall GetThisClass(); }; const CObject* __cdecl AfxDynamicDownCast(CRuntimeClass* pClass, const CObject* pObject); CObject* __cdecl AfxDynamicDownCast(CRuntimeClass* pClass, CObject* pObject); class __declspec(novtable) CException : public CObject { protected: static CRuntimeClass* __stdcall _GetBaseClass(); public: static const CRuntimeClass classCException; static CRuntimeClass* __stdcall GetThisClass(); virtual CRuntimeClass* GetRuntimeClass() const; public: CException(); explicit CException(BOOL bAutoDelete); void Delete(); virtual BOOL GetErrorMessage( LPTSTR lpszError, UINT nMaxError, PUINT pnHelpContext = 0) const ; virtual BOOL GetErrorMessage( LPTSTR lpszError, UINT nMaxError, PUINT pnHelpContext = 0); virtual int ReportError(UINT nType = 0x00000000L, UINT nMessageID = 0); public: virtual ~CException() = 0; BOOL m_bAutoDelete; }; #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) unsigned char* __cdecl _mbsdup( unsigned char const* _Str ); __declspec(dllimport) unsigned int __cdecl _mbbtombc( unsigned int _C ); __declspec(dllimport) unsigned int __cdecl _mbbtombc_l( unsigned int _C, _locale_t _Locale ); __declspec(dllimport) int __cdecl _mbbtype( unsigned char _C, int _CType ); __declspec(dllimport) int __cdecl _mbbtype_l( unsigned char _C, int _CType, _locale_t _Locale ); __declspec(dllimport) unsigned int __cdecl _mbctombb( unsigned int _C ); __declspec(dllimport) unsigned int __cdecl _mbctombb_l( unsigned int _C, _locale_t _Locale ); __declspec(dllimport) int __cdecl _mbsbtype( unsigned char const* _Str, size_t _Pos ); __declspec(dllimport) int __cdecl _mbsbtype_l( unsigned char const* _Str, size_t _Pos, _locale_t _Locale ); __declspec(dllimport) errno_t __cdecl _mbscat_s( unsigned char* _Dst, size_t _SizeInBytes, unsigned char const* _Src ); extern "C++" { template inline errno_t __cdecl _mbscat_s(unsigned char (&_Dst)[_Size], unsigned char const* _DstSizeInBytes) throw() { return _mbscat_s(_Dst, _Size, _DstSizeInBytes); } } __declspec(deprecated("This function or variable may be unsafe. Consider using " "_mbscat_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __declspec(dllimport) unsigned char* __cdecl _mbscat( unsigned char *_Dest, unsigned char const* _Source); __declspec(dllimport) errno_t __cdecl _mbscat_s_l( unsigned char* _Dst, size_t _DstSizeInBytes, unsigned char const* _Src, _locale_t _Locale ); extern "C++" { template inline errno_t __cdecl _mbscat_s_l(unsigned char (&_Dest)[_Size], unsigned char const* _Source, _locale_t _Locale) throw() { return _mbscat_s_l(_Dest, _Size, _Source, _Locale); } } __declspec(deprecated("This function or variable may be unsafe. Consider using " "_mbscat_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __declspec(dllimport) unsigned char* __cdecl _mbscat_l( unsigned char *_Dest, unsigned char const* _Source, _locale_t _Locale); __declspec(dllimport) const unsigned char* __cdecl _mbschr( unsigned char const* _Str, unsigned int _C ); __declspec(dllimport) const unsigned char* __cdecl _mbschr_l( unsigned char const* _Str, unsigned int _C, _locale_t _Locale ); __declspec(dllimport) int __cdecl _mbscmp( unsigned char const* _Str1, unsigned char const* _Str2 ); __declspec(dllimport) int __cdecl _mbscmp_l( unsigned char const* _Str1, unsigned char const* _Str2, _locale_t _Locale ); __declspec(dllimport) int __cdecl _mbscoll( unsigned char const* _Str1, unsigned char const* _Str2 ); __declspec(dllimport) int __cdecl _mbscoll_l( unsigned char const* _Str1, unsigned char const* _Str2, _locale_t _Locale ); __declspec(dllimport) errno_t __cdecl _mbscpy_s( unsigned char* _Dst, size_t _SizeInBytes, unsigned char const* _Src ); extern "C++" { template inline errno_t __cdecl _mbscpy_s(unsigned char (&_Dest)[_Size], unsigned char const* _Source) throw() { return _mbscpy_s(_Dest, _Size, _Source); } } __declspec(deprecated("This function or variable may be unsafe. Consider using " "_mbscpy_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __declspec(dllimport) unsigned char* __cdecl _mbscpy( unsigned char *_Dest, unsigned char const* _Source); __declspec(dllimport) errno_t __cdecl _mbscpy_s_l( unsigned char* _Dst, size_t _DstSizeInBytes, unsigned char const* _Src, _locale_t _Locale ); extern "C++" { template inline errno_t __cdecl _mbscpy_s(unsigned char (&_Dest)[_Size], unsigned char const* _Source, _locale_t _Locale) throw() { return _mbscpy_s(_Dest, _Size, _Source, _Locale); } } __declspec(deprecated("This function or variable may be unsafe. Consider using " "_mbscpy_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __declspec(dllimport) unsigned char* __cdecl _mbscpy_l( unsigned char *_Dest, unsigned char const* _Source, _locale_t _Locale); __declspec(dllimport) size_t __cdecl _mbscspn( unsigned char const* _String, unsigned char const* _Control ); __declspec(dllimport) size_t __cdecl _mbscspn_l( unsigned char const* _String, unsigned char const* _Control, _locale_t _Locale ); __declspec(dllimport) unsigned char* __cdecl _mbsdec( unsigned char const* _Start, unsigned char const* _Pos ); __declspec(dllimport) unsigned char* __cdecl _mbsdec_l( unsigned char const* _Start, unsigned char const* _Pos, _locale_t _Locale ); __declspec(dllimport) int __cdecl _mbsicmp( unsigned char const* _Str1, unsigned char const* _Str2 ); __declspec(dllimport) int __cdecl _mbsicmp_l( unsigned char const* _Str1, unsigned char const* _Str2, _locale_t _Locale ); __declspec(dllimport) int __cdecl _mbsicoll( unsigned char const* _Str1, unsigned char const* _Str2 ); __declspec(dllimport) int __cdecl _mbsicoll_l( unsigned char const* _Str1, unsigned char const* _Str2, _locale_t _Locale ); __declspec(dllimport) unsigned char* __cdecl _mbsinc( unsigned char const* _Ptr ); __declspec(dllimport) unsigned char* __cdecl _mbsinc_l( unsigned char const* _Ptr, _locale_t _Locale ); __declspec(dllimport) size_t __cdecl _mbslen( unsigned char const* _String ); __declspec(dllimport) size_t __cdecl _mbslen_l( unsigned char const* _String, _locale_t _Locale ); __declspec(dllimport) size_t __cdecl _mbsnlen( unsigned char const* _String, size_t _MaxCount ); __declspec(dllimport) size_t __cdecl _mbsnlen_l( unsigned char const* _String, size_t _MaxCount, _locale_t _Locale ); __declspec(dllimport) errno_t __cdecl _mbslwr_s( unsigned char* _String, size_t _SizeInBytes ); extern "C++" { template inline errno_t __cdecl _mbslwr_s(unsigned char (&_String)[_Size]) throw() { return _mbslwr_s(_String, _Size); } } __declspec(deprecated("This function or variable may be unsafe. Consider using " "_mbslwr_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __declspec(dllimport) unsigned char* __cdecl _mbslwr( unsigned char *_String); __declspec(dllimport) errno_t __cdecl _mbslwr_s_l( unsigned char* _String, size_t _SizeInBytes, _locale_t _Locale ); extern "C++" { template inline errno_t __cdecl _mbslwr_s_l(unsigned char (&_String)[_Size], _locale_t _Locale) throw() { return _mbslwr_s_l(_String, _Size, _Locale); } } __declspec(deprecated("This function or variable may be unsafe. Consider using " "_mbslwr_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __declspec(dllimport) unsigned char* __cdecl _mbslwr_l( unsigned char *_String, _locale_t _Locale); __declspec(dllimport) errno_t __cdecl _mbsnbcat_s( unsigned char* _Dst, size_t _SizeInBytes, unsigned char const* _Src, size_t _MaxCount ); extern "C++" { template inline errno_t __cdecl _mbsnbcat_s(unsigned char (&_Dest)[_Size], unsigned char const* _Source, size_t _Count) throw() { return _mbsnbcat_s(_Dest, _Size, _Source, _Count); } } __declspec(deprecated("This function or variable may be unsafe. Consider using " "_mbsnbcat_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __declspec(dllimport) unsigned char* __cdecl _mbsnbcat( unsigned char *_Dest, unsigned char const* _Source, size_t _Count); __declspec(dllimport) errno_t __cdecl _mbsnbcat_s_l( unsigned char* _Dst, size_t _DstSizeInBytes, unsigned char const* _Src, size_t _MaxCount, _locale_t _Locale ); extern "C++" { template inline errno_t __cdecl _mbsnbcat_s_l(unsigned char (&_Dest)[_Size], unsigned char const* _Source, size_t _Count, _locale_t _Locale) throw() { return _mbsnbcat_s_l(_Dest, _Size, _Source, _Count, _Locale); } } __declspec(deprecated("This function or variable may be unsafe. Consider using " "_mbsnbcat_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __declspec(dllimport) unsigned char* __cdecl _mbsnbcat_l( unsigned char *_Dest, unsigned char const* _Source, size_t _Count, _locale_t _Locale); __declspec(dllimport) int __cdecl _mbsnbcmp( unsigned char const* _Str1, unsigned char const* _Str2, size_t _MaxCount ); __declspec(dllimport) int __cdecl _mbsnbcmp_l( unsigned char const* _Str1, unsigned char const* _Str2, size_t _MaxCount, _locale_t _Locale ); __declspec(dllimport) int __cdecl _mbsnbcoll( unsigned char const* _Str1, unsigned char const* _Str2, size_t _MaxCount ); __declspec(dllimport) int __cdecl _mbsnbcoll_l( unsigned char const* _Str1, unsigned char const* _Str2, size_t _MaxCount, _locale_t _Locale ); __declspec(dllimport) size_t __cdecl _mbsnbcnt( unsigned char const* _String, size_t _MaxCount ); __declspec(dllimport) size_t __cdecl _mbsnbcnt_l( unsigned char const* _String, size_t _MaxCount, _locale_t _Locale ); __declspec(dllimport) errno_t __cdecl _mbsnbcpy_s( unsigned char* _Dst, size_t _SizeInBytes, unsigned char const* _Src, size_t _MaxCount ); extern "C++" { template inline errno_t __cdecl _mbsnbcpy_s(unsigned char (&_Dest)[_Size], unsigned char const* _Source, size_t _Count) throw() { return _mbsnbcpy_s(_Dest, _Size, _Source, _Count); } } __declspec(deprecated("This function or variable may be unsafe. Consider using " "_mbsnbcpy_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __declspec(dllimport) unsigned char* __cdecl _mbsnbcpy( unsigned char *_Dest, unsigned char const* _Source, size_t _Count); __declspec(dllimport) errno_t __cdecl _mbsnbcpy_s_l( unsigned char* _Dst, size_t _DstSizeInBytes, unsigned char const* _Src, size_t _MaxCount, _locale_t _Locale ); extern "C++" { template inline errno_t __cdecl _mbsnbcpy_s_l(unsigned char (&_Dest)[_Size], unsigned char const* _Source, size_t _Count, _locale_t _Locale) throw() { return _mbsnbcpy_s_l(_Dest, _Size, _Source, _Count, _Locale); } } __declspec(deprecated("This function or variable may be unsafe. Consider using " "_mbsnbcpy_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __declspec(dllimport) unsigned char* __cdecl _mbsnbcpy_l( unsigned char *_Dest, unsigned char const* _Source, size_t _Count, _locale_t _Locale); __declspec(dllimport) int __cdecl _mbsnbicmp( unsigned char const* _Str1, unsigned char const* _Str2, size_t _MaxCount ); __declspec(dllimport) int __cdecl _mbsnbicmp_l( unsigned char const* _Str1, unsigned char const* _Str2, size_t _MaxCount, _locale_t _Locale ); __declspec(dllimport) int __cdecl _mbsnbicoll( unsigned char const* _Str1, unsigned char const* _Str2, size_t _MaxCount ); __declspec(dllimport) int __cdecl _mbsnbicoll_l( unsigned char const* _Str1, unsigned char const* _Str2, size_t _MaxCount, _locale_t _Locale ); __declspec(dllimport) errno_t __cdecl _mbsnbset_s( unsigned char* _Dst, size_t _SizeInBytes, unsigned int _C, size_t _MaxCount ); extern "C++" { template inline errno_t __cdecl _mbsnbset_s(unsigned char (&_Dest)[_Size], unsigned int _Val, size_t _MaxCount) throw() { return _mbsnbset_s(_Dest, _Size, _Val, _MaxCount); } } __declspec(deprecated("This function or variable may be unsafe. Consider using " "_mbsnbset_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __declspec(dllimport) unsigned char* __cdecl _mbsnbset( unsigned char *_String, unsigned int _Val, size_t _MaxCount); __declspec(dllimport) errno_t __cdecl _mbsnbset_s_l( unsigned char* _Dst, size_t _DstSizeInBytes, unsigned int _Ch, size_t _MaxCount, _locale_t _Locale ); extern "C++" { template inline errno_t __cdecl _mbsnbset_s_l(unsigned char (&_Dest)[_Size], unsigned int _Val, size_t _MaxCount, _locale_t _Locale) throw() { return _mbsnbset_s_l(_Dest, _Size, _Val, _MaxCount, _Locale); } } __declspec(deprecated("This function or variable may be unsafe. Consider using " "_mbsnbset_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __declspec(dllimport) unsigned char* __cdecl _mbsnbset_l( unsigned char *_String, unsigned int _Val, size_t _MaxCount, _locale_t _Locale); __declspec(dllimport) errno_t __cdecl _mbsncat_s( unsigned char* _Dst, size_t _SizeInBytes, unsigned char const* _Src, size_t _MaxCount ); extern "C++" { template inline errno_t __cdecl _mbsncat_s(unsigned char (&_Dest)[_Size], unsigned char const* _Source, size_t _Count) throw() { return _mbsncat_s(_Dest, _Size, _Source, _Count); } } __declspec(deprecated("This function or variable may be unsafe. Consider using " "_mbsncat_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __declspec(dllimport) unsigned char* __cdecl _mbsncat( unsigned char *_Dest, unsigned char const* _Source, size_t _Count); __declspec(dllimport) errno_t __cdecl _mbsncat_s_l( unsigned char* _Dst, size_t _DstSizeInBytes, unsigned char const* _Src, size_t _MaxCount, _locale_t _Locale ); extern "C++" { template inline errno_t __cdecl _mbsncat_s_l(unsigned char (&_Dest)[_Size], unsigned char const* _Source, size_t _Count, _locale_t _Locale) throw() { return _mbsncat_s_l(_Dest, _Size, _Source, _Count, _Locale); } } __declspec(deprecated("This function or variable may be unsafe. Consider using " "_mbsncat_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __declspec(dllimport) unsigned char* __cdecl _mbsncat_l( unsigned char *_Dest, unsigned char const* _Source, size_t _Count, _locale_t _Locale); __declspec(dllimport) size_t __cdecl _mbsnccnt( unsigned char const* _Str, size_t _MaxCount ); __declspec(dllimport) size_t __cdecl _mbsnccnt_l( unsigned char const* _Str, size_t _MaxCount, _locale_t _Locale ); __declspec(dllimport) int __cdecl _mbsncmp( unsigned char const* _Str1, unsigned char const* _Str2, size_t _MaxCount ); __declspec(dllimport) int __cdecl _mbsncmp_l( unsigned char const* _Str1, unsigned char const* _Str2, size_t _MaxCount, _locale_t _Locale ); __declspec(dllimport) int __cdecl _mbsncoll( unsigned char const* _Str1, unsigned char const* _Str2, size_t _MaxCount ); __declspec(dllimport) int __cdecl _mbsncoll_l( unsigned char const* _Str1, unsigned char const* _Str2, size_t _MaxCount, _locale_t _Locale ); __declspec(dllimport) errno_t __cdecl _mbsncpy_s( unsigned char* _Dst, size_t _SizeInBytes, unsigned char const* _Src, size_t _MaxCount ); extern "C++" { template inline errno_t __cdecl _mbsncpy_s(unsigned char (&_Dest)[_Size], unsigned char const* _Source, size_t _Count) throw() { return _mbsncpy_s(_Dest, _Size, _Source, _Count); } } __declspec(deprecated("This function or variable may be unsafe. Consider using " "_mbsncpy_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __declspec(dllimport) unsigned char* __cdecl _mbsncpy( unsigned char *_Dest, unsigned char const* _Source, size_t _Count); __declspec(dllimport) errno_t __cdecl _mbsncpy_s_l( unsigned char* _Dst, size_t _DstSizeInBytes, unsigned char const* _Src, size_t _MaxCount, _locale_t _Locale ); extern "C++" { template inline errno_t __cdecl _mbsncpy_s_l(unsigned char (&_Dest)[_Size], unsigned char const* _Source, size_t _Count, _locale_t _Locale) throw() { return _mbsncpy_s_l(_Dest, _Size, _Source, _Count, _Locale); } } __declspec(deprecated("This function or variable may be unsafe. Consider using " "_mbsncpy_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __declspec(dllimport) unsigned char* __cdecl _mbsncpy_l( unsigned char *_Dest, unsigned char const* _Source, size_t _Count, _locale_t _Locale); __declspec(dllimport) unsigned int __cdecl _mbsnextc( unsigned char const* _String ); __declspec(dllimport) unsigned int __cdecl _mbsnextc_l( unsigned char const* _String, _locale_t _Locale ); __declspec(dllimport) int __cdecl _mbsnicmp( unsigned char const* _Str1, unsigned char const* _Str2, size_t _MaxCount ); __declspec(dllimport) int __cdecl _mbsnicmp_l( unsigned char const* _Str1, unsigned char const* _Str2, size_t _MaxCount, _locale_t _Locale ); __declspec(dllimport) int __cdecl _mbsnicoll( unsigned char const* _Str1, unsigned char const* _Str2, size_t _MaxCount ); __declspec(dllimport) int __cdecl _mbsnicoll_l( unsigned char const* _Str1, unsigned char const* _Str2, size_t _MaxCount, _locale_t _Locale ); __declspec(dllimport) unsigned char* __cdecl _mbsninc( unsigned char const* _String, size_t _Count ); __declspec(dllimport) unsigned char* __cdecl _mbsninc_l( unsigned char const* _String, size_t _Count, _locale_t _Locale ); __declspec(dllimport) errno_t __cdecl _mbsnset_s( unsigned char* _Dst, size_t _SizeInBytes, unsigned int _Val, size_t _MaxCount ); extern "C++" { template inline errno_t __cdecl _mbsnset_s(unsigned char (&_Dest)[_Size], unsigned int _Val, size_t _MaxCount) throw() { return _mbsnset_s(_Dest, _Size, _Val, _MaxCount); } } __declspec(deprecated("This function or variable may be unsafe. Consider using " "_mbsnset_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __declspec(dllimport) unsigned char* __cdecl _mbsnset( unsigned char *_String, unsigned int _Val, size_t _MaxCount); __declspec(dllimport) errno_t __cdecl _mbsnset_s_l( unsigned char* _Dst, size_t _DstSizeInBytes, unsigned int _Val, size_t _MaxCount, _locale_t _Locale ); extern "C++" { template inline errno_t __cdecl _mbsnset_s_l(unsigned char (&_Dest)[_Size], unsigned int _Val, size_t _MaxCount, _locale_t _Locale) throw() { return _mbsnset_s_l(_Dest, _Size, _Val, _MaxCount, _Locale); } } __declspec(deprecated("This function or variable may be unsafe. Consider using " "_mbsnset_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __declspec(dllimport) unsigned char* __cdecl _mbsnset_l( unsigned char *_String, unsigned int _Val, size_t _MaxCount, _locale_t _Locale); __declspec(dllimport) const unsigned char* __cdecl _mbspbrk( unsigned char const* _String, unsigned char const* _Control ); __declspec(dllimport) const unsigned char* __cdecl _mbspbrk_l( unsigned char const* _String, unsigned char const* _Control, _locale_t _Locale ); __declspec(dllimport) const unsigned char* __cdecl _mbsrchr( unsigned char const* _String, unsigned int _C ); __declspec(dllimport) const unsigned char* __cdecl _mbsrchr_l( unsigned char const* _String, unsigned int _C, _locale_t _Locale ); __declspec(dllimport) unsigned char* __cdecl _mbsrev( unsigned char* _String ); __declspec(dllimport) unsigned char* __cdecl _mbsrev_l( unsigned char* _String, _locale_t _Locale ); __declspec(dllimport) errno_t __cdecl _mbsset_s( unsigned char* _Dst, size_t _SizeInBytes, unsigned int _Val ); extern "C++" { template inline errno_t __cdecl _mbsset_s(unsigned char (&_Dest)[_Size], unsigned int _Val) throw() { return _mbsset_s(_Dest, _Size, _Val); } } __declspec(deprecated("This function or variable may be unsafe. Consider using " "_mbsset_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __declspec(dllimport) unsigned char* __cdecl _mbsset( unsigned char *_String, unsigned int _Val); __declspec(dllimport) errno_t __cdecl _mbsset_s_l( unsigned char* _Dst, size_t _DstSizeInBytes, unsigned int _Val, _locale_t _Locale ); extern "C++" { template inline errno_t __cdecl _mbsset_s_l(unsigned char (&_Dest)[_Size], unsigned int _Val, _locale_t _Locale) throw() { return _mbsset_s_l(_Dest, _Size, _Val, _Locale); } } __declspec(deprecated("This function or variable may be unsafe. Consider using " "_mbsset_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __declspec(dllimport) unsigned char* __cdecl _mbsset_l( unsigned char *_String, unsigned int _Val, _locale_t _Locale); __declspec(dllimport) size_t __cdecl _mbsspn( unsigned char const* _Str, unsigned char const* _Control ); __declspec(dllimport) size_t __cdecl _mbsspn_l( unsigned char const* _Str, unsigned char const* _Control, _locale_t _Locale ); __declspec(dllimport) unsigned char* __cdecl _mbsspnp( unsigned char const* _Str1, unsigned char const* _Str2 ); __declspec(dllimport) unsigned char* __cdecl _mbsspnp_l( unsigned char const* _Str1, unsigned char const* _Str2, _locale_t _Locale ); __declspec(dllimport) const unsigned char* __cdecl _mbsstr( unsigned char const* _Str, unsigned char const* _Substr ); __declspec(dllimport) const unsigned char* __cdecl _mbsstr_l( unsigned char const* _Str, unsigned char const* _Substr, _locale_t _Locale ); __declspec(deprecated("This function or variable may be unsafe. Consider using " "_mbstok_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __declspec(dllimport) unsigned char* __cdecl _mbstok( unsigned char* _Str, unsigned char const* _Delim ); __declspec(deprecated("This function or variable may be unsafe. Consider using " "_mbstok_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __declspec(dllimport) unsigned char* __cdecl _mbstok_l( unsigned char* _Str, unsigned char const* _Delim, _locale_t _Locale ); __declspec(dllimport) unsigned char* __cdecl _mbstok_s( unsigned char* _Str, unsigned char const* _Delim, unsigned char** _Context ); __declspec(dllimport) unsigned char* __cdecl _mbstok_s_l( unsigned char* _Str, unsigned char const* _Delim, unsigned char** _Context, _locale_t _Locale ); __declspec(dllimport) errno_t __cdecl _mbsupr_s( unsigned char* _Str, size_t _SizeInBytes ); extern "C++" { template inline errno_t __cdecl _mbsupr_s(unsigned char (&_String)[_Size]) throw() { return _mbsupr_s(_String, _Size); } } __declspec(deprecated("This function or variable may be unsafe. Consider using " "_mbsupr_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __declspec(dllimport) unsigned char* __cdecl _mbsupr( unsigned char *_String); __declspec(dllimport) errno_t __cdecl _mbsupr_s_l( unsigned char* _Str, size_t _SizeInBytes, _locale_t _Locale ); extern "C++" { template inline errno_t __cdecl _mbsupr_s_l(unsigned char (&_String)[_Size], _locale_t _Locale) throw() { return _mbsupr_s_l(_String, _Size, _Locale); } } __declspec(deprecated("This function or variable may be unsafe. Consider using " "_mbsupr_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __declspec(dllimport) unsigned char* __cdecl _mbsupr_l( unsigned char *_String, _locale_t _Locale); __declspec(dllimport) size_t __cdecl _mbclen( unsigned char const* _String ); __declspec(dllimport) size_t __cdecl _mbclen_l( unsigned char const* _String, _locale_t _Locale ); __declspec(deprecated("This function or variable may be unsafe. Consider using " "_mbccpy_s" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __declspec(dllimport) void __cdecl _mbccpy( unsigned char* _Dst, unsigned char const* _Src ); __declspec(deprecated("This function or variable may be unsafe. Consider using " "_mbccpy_s_l" " instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. " "See online help for details.")) __declspec(dllimport) void __cdecl _mbccpy_l( unsigned char* _Dst, unsigned char const* _Src, _locale_t _Locale ); __declspec(dllimport) errno_t __cdecl _mbccpy_s( unsigned char* _Dst, size_t _SizeInBytes, int* _PCopied, unsigned char const* _Src ); extern "C++" { template inline errno_t __cdecl _mbccpy_s(unsigned char (&_Dest)[_Size], int* _PCopied, unsigned char const* _Source) throw() { return _mbccpy_s(_Dest, _Size, _PCopied, _Source); } } __declspec(dllimport) errno_t __cdecl _mbccpy_s_l( unsigned char* _Dst, size_t _DstSizeInBytes, int* _PCopied, unsigned char const* _Src, _locale_t _Locale ); extern "C++" { template inline errno_t __cdecl _mbccpy_s_l(unsigned char (&_Dest)[_Size], int* _PCopied, unsigned char const* _Source, _locale_t _Locale) throw() { return _mbccpy_s_l(_Dest, _Size, _PCopied, _Source, _Locale); } } extern "C++" { inline unsigned char* __cdecl _mbschr( unsigned char* const _String, unsigned int const _Char ) { unsigned char const* const _ConstString = _String; return const_cast(_mbschr(_ConstString, _Char)); } inline unsigned char* __cdecl _mbschr_l( unsigned char* const _String, unsigned int const _Char, _locale_t const _Locale ) { unsigned char const* const _ConstString = _String; return const_cast(_mbschr_l(_ConstString, _Char, _Locale)); } inline unsigned char* __cdecl _mbspbrk( unsigned char* const _String, unsigned char const* const _CharSet ) { unsigned char const* const _ConstString = _String; return const_cast(_mbspbrk(_ConstString, _CharSet)); } inline unsigned char* __cdecl _mbspbrk_l( unsigned char* const _String, unsigned char const* const _CharSet, _locale_t const _Locale ) { unsigned char const* const _ConstString = _String; return const_cast(_mbspbrk_l(_ConstString, _CharSet, _Locale)); } inline unsigned char* __cdecl _mbsrchr( unsigned char* const _String, unsigned int const _Char ) { unsigned char const* const _ConstString = _String; return const_cast(_mbsrchr(_ConstString, _Char)); } inline unsigned char* __cdecl _mbsrchr_l( unsigned char* const _String, unsigned int const _Char, _locale_t const _Locale ) { unsigned char const* const _ConstString = _String; return const_cast(_mbsrchr_l(_ConstString, _Char, _Locale)); } inline unsigned char* __cdecl _mbsstr( unsigned char* const _String, unsigned char const* const _Match ) { unsigned char const* const _ConstString = _String; return const_cast(_mbsstr(_ConstString, _Match)); } inline unsigned char* __cdecl _mbsstr_l( unsigned char* const _String, unsigned char const* const _Match, _locale_t const _Locale ) { unsigned char const* const _ConstString = _String; return const_cast(_mbsstr_l(_ConstString, _Match, _Locale)); } } __declspec(dllimport) int __cdecl _ismbcalnum( unsigned int _C); __declspec(dllimport) int __cdecl _ismbcalpha( unsigned int _C); __declspec(dllimport) int __cdecl _ismbcdigit( unsigned int _C); __declspec(dllimport) int __cdecl _ismbcgraph( unsigned int _C); __declspec(dllimport) int __cdecl _ismbclegal( unsigned int _C); __declspec(dllimport) int __cdecl _ismbclower( unsigned int _C); __declspec(dllimport) int __cdecl _ismbcprint( unsigned int _C); __declspec(dllimport) int __cdecl _ismbcpunct( unsigned int _C); __declspec(dllimport) int __cdecl _ismbcblank( unsigned int _C); __declspec(dllimport) int __cdecl _ismbcspace( unsigned int _C); __declspec(dllimport) int __cdecl _ismbcupper( unsigned int _C); __declspec(dllimport) int __cdecl _ismbcalnum_l( unsigned int _C, _locale_t _Locale); __declspec(dllimport) int __cdecl _ismbcalpha_l( unsigned int _C, _locale_t _Locale); __declspec(dllimport) int __cdecl _ismbcdigit_l( unsigned int _C, _locale_t _Locale); __declspec(dllimport) int __cdecl _ismbcgraph_l( unsigned int _C, _locale_t _Locale); __declspec(dllimport) int __cdecl _ismbclegal_l( unsigned int _C, _locale_t _Locale); __declspec(dllimport) int __cdecl _ismbclower_l( unsigned int _C, _locale_t _Locale); __declspec(dllimport) int __cdecl _ismbcprint_l( unsigned int _C, _locale_t _Locale); __declspec(dllimport) int __cdecl _ismbcpunct_l( unsigned int _C, _locale_t _Locale); __declspec(dllimport) int __cdecl _ismbcblank_l( unsigned int _C, _locale_t _Locale); __declspec(dllimport) int __cdecl _ismbcspace_l( unsigned int _C, _locale_t _Locale); __declspec(dllimport) int __cdecl _ismbcupper_l( unsigned int _C, _locale_t _Locale); __declspec(dllimport) unsigned int __cdecl _mbctolower( unsigned int _Ch); __declspec(dllimport) unsigned int __cdecl _mbctoupper( unsigned int _Ch); __declspec(dllimport) unsigned int __cdecl _mbctolower_l( unsigned int _Ch, _locale_t _Locale); __declspec(dllimport) unsigned int __cdecl _mbctoupper_l( unsigned int _Ch, _locale_t _Locale); __declspec(dllimport) int __cdecl _ismbchira ( unsigned int _C); __declspec(dllimport) int __cdecl _ismbckata ( unsigned int _C); __declspec(dllimport) int __cdecl _ismbcsymbol( unsigned int _C); __declspec(dllimport) int __cdecl _ismbcl0 ( unsigned int _C); __declspec(dllimport) int __cdecl _ismbcl1 ( unsigned int _C); __declspec(dllimport) int __cdecl _ismbcl2 ( unsigned int _C); __declspec(dllimport) int __cdecl _ismbchira_l ( unsigned int _C, _locale_t _Locale); __declspec(dllimport) int __cdecl _ismbckata_l ( unsigned int _C, _locale_t _Locale); __declspec(dllimport) int __cdecl _ismbcsymbol_l( unsigned int _C, _locale_t _Locale); __declspec(dllimport) int __cdecl _ismbcl0_l ( unsigned int _C, _locale_t _Locale); __declspec(dllimport) int __cdecl _ismbcl1_l ( unsigned int _C, _locale_t _Locale); __declspec(dllimport) int __cdecl _ismbcl2_l ( unsigned int _C, _locale_t _Locale); __declspec(dllimport) unsigned int __cdecl _mbcjistojms( unsigned int _C); __declspec(dllimport) unsigned int __cdecl _mbcjmstojis( unsigned int _C); __declspec(dllimport) unsigned int __cdecl _mbctohira ( unsigned int _C); __declspec(dllimport) unsigned int __cdecl _mbctokata ( unsigned int _C); __declspec(dllimport) unsigned int __cdecl _mbcjistojms_l( unsigned int _C, _locale_t _Locale); __declspec(dllimport) unsigned int __cdecl _mbcjmstojis_l( unsigned int _C, _locale_t _Locale); __declspec(dllimport) unsigned int __cdecl _mbctohira_l ( unsigned int _C, _locale_t _Locale); __declspec(dllimport) unsigned int __cdecl _mbctokata_l ( unsigned int _C, _locale_t _Locale); __declspec(dllimport) int __cdecl _ismbblead ( unsigned int _Ch); __declspec(dllimport) int __cdecl _ismbbtrail( unsigned int _Ch); __declspec(dllimport) int __cdecl _ismbblead_l ( unsigned int _Ch, _locale_t _Locale); __declspec(dllimport) int __cdecl _ismbbtrail_l( unsigned int _Ch, _locale_t _Locale); __declspec(dllimport) int __cdecl _ismbslead( unsigned char const* _String, unsigned char const* _Pos ); __declspec(dllimport) int __cdecl _ismbslead_l( unsigned char const* _String, unsigned char const* _Pos, _locale_t _Locale ); __declspec(dllimport) int __cdecl _ismbstrail( unsigned char const* _String, unsigned char const* _Pos ); __declspec(dllimport) int __cdecl _ismbstrail_l( unsigned char const* _String, unsigned char const* _Pos, _locale_t _Locale ); } __pragma(pack(pop)) #pragma warning(pop) HINSTANCE __stdcall AfxGetResourceHandle(); HINSTANCE __stdcall AfxFindStringResourceHandle(UINT nID); UINT_PTR __stdcall AfxReadStringLength(CArchive& ar, int& nCharSize); void __stdcall AfxWriteStringLength(CArchive& ar, UINT_PTR nLength, BOOL bUnicode); #pragma once #pragma warning(disable: 4786) #pragma warning(disable: 4127) #pragma once #pragma warning(disable : 4619) #pragma once #pragma comment(linker, "/include:??3@YAXPEAX@Z") namespace ATL { __pragma(warning(push)) __pragma(warning(disable: 6001 6101)) template < typename T > inline __declspec(noalias) T* SAL_Assume_bytecap_for_opt_( T* buf, size_t dwLen) { (void)(dwLen); return buf; } __pragma(warning(pop)) template < typename T > inline __declspec(noalias) T* SAL_Assume_notnull_for_opt_z_( T* buf) { do { ((void)0); ; } __pragma(warning(suppress:4127)) while (0); return buf; } } #pragma once extern "C" { typedef unsigned char u_char; typedef unsigned short u_short; typedef unsigned int u_int; typedef unsigned long u_long; typedef unsigned __int64 u_int64; #pragma once extern "C" { #pragma warning(push) #pragma warning(disable:4201) #pragma warning(disable:4214) #pragma once #pragma region Desktop Family or OneCore Family or Games Family typedef struct in_addr { union { struct { UCHAR s_b1,s_b2,s_b3,s_b4; } S_un_b; struct { USHORT s_w1,s_w2; } S_un_w; ULONG S_addr; } S_un; } IN_ADDR, *PIN_ADDR, *LPIN_ADDR; #pragma endregion #pragma region Desktop Family or OneCore Family or Games Family typedef USHORT ADDRESS_FAMILY; #pragma endregion #pragma region Desktop Family or OneCore Family or Games Family typedef struct sockaddr { ADDRESS_FAMILY sa_family; CHAR sa_data[14]; } SOCKADDR, *PSOCKADDR, *LPSOCKADDR; typedef struct _SOCKET_ADDRESS { LPSOCKADDR lpSockaddr; INT iSockaddrLength; } SOCKET_ADDRESS, *PSOCKET_ADDRESS, *LPSOCKET_ADDRESS; #pragma endregion typedef struct _SOCKET_ADDRESS_LIST { INT iAddressCount; SOCKET_ADDRESS Address[1]; } SOCKET_ADDRESS_LIST, *PSOCKET_ADDRESS_LIST, *LPSOCKET_ADDRESS_LIST; typedef struct _CSADDR_INFO { SOCKET_ADDRESS LocalAddr ; SOCKET_ADDRESS RemoteAddr ; INT iSocketType ; INT iProtocol ; } CSADDR_INFO, *PCSADDR_INFO, * LPCSADDR_INFO ; typedef struct sockaddr_storage { ADDRESS_FAMILY ss_family; CHAR __ss_pad1[((sizeof(__int64)) - sizeof(USHORT))]; __int64 __ss_align; CHAR __ss_pad2[(128 - (sizeof(USHORT) + ((sizeof(__int64)) - sizeof(USHORT)) + (sizeof(__int64))))]; } SOCKADDR_STORAGE_LH, *PSOCKADDR_STORAGE_LH, *LPSOCKADDR_STORAGE_LH; #pragma region Desktop Family typedef struct sockaddr_storage_xp { short ss_family; CHAR __ss_pad1[((sizeof(__int64)) - sizeof(USHORT))]; __int64 __ss_align; CHAR __ss_pad2[(128 - (sizeof(USHORT) + ((sizeof(__int64)) - sizeof(USHORT)) + (sizeof(__int64))))]; } SOCKADDR_STORAGE_XP, *PSOCKADDR_STORAGE_XP, *LPSOCKADDR_STORAGE_XP; #pragma endregion typedef SOCKADDR_STORAGE_LH SOCKADDR_STORAGE; typedef SOCKADDR_STORAGE *PSOCKADDR_STORAGE, *LPSOCKADDR_STORAGE; typedef struct _SOCKET_PROCESSOR_AFFINITY { PROCESSOR_NUMBER Processor; USHORT NumaNodeId; USHORT Reserved; } SOCKET_PROCESSOR_AFFINITY, *PSOCKET_PROCESSOR_AFFINITY; typedef enum { IPPROTO_HOPOPTS = 0, IPPROTO_ICMP = 1, IPPROTO_IGMP = 2, IPPROTO_GGP = 3, IPPROTO_IPV4 = 4, IPPROTO_ST = 5, IPPROTO_TCP = 6, IPPROTO_CBT = 7, IPPROTO_EGP = 8, IPPROTO_IGP = 9, IPPROTO_PUP = 12, IPPROTO_UDP = 17, IPPROTO_IDP = 22, IPPROTO_RDP = 27, IPPROTO_IPV6 = 41, IPPROTO_ROUTING = 43, IPPROTO_FRAGMENT = 44, IPPROTO_ESP = 50, IPPROTO_AH = 51, IPPROTO_ICMPV6 = 58, IPPROTO_NONE = 59, IPPROTO_DSTOPTS = 60, IPPROTO_ND = 77, IPPROTO_ICLFXBM = 78, IPPROTO_PIM = 103, IPPROTO_PGM = 113, IPPROTO_L2TP = 115, IPPROTO_SCTP = 132, IPPROTO_RAW = 255, IPPROTO_MAX = 256, IPPROTO_RESERVED_RAW = 257, IPPROTO_RESERVED_IPSEC = 258, IPPROTO_RESERVED_IPSECOFFLOAD = 259, IPPROTO_RESERVED_WNV = 260, IPPROTO_RESERVED_MAX = 261 } IPPROTO, *PIPROTO; #pragma region Desktop Family or OneCore Family or Games Family typedef enum { ScopeLevelInterface = 1, ScopeLevelLink = 2, ScopeLevelSubnet = 3, ScopeLevelAdmin = 4, ScopeLevelSite = 5, ScopeLevelOrganization = 8, ScopeLevelGlobal = 14, ScopeLevelCount = 16 } SCOPE_LEVEL; typedef struct { union { struct { ULONG Zone : 28; ULONG Level : 4; }; ULONG Value; }; } SCOPE_ID, *PSCOPE_ID; typedef struct sockaddr_in { ADDRESS_FAMILY sin_family; USHORT sin_port; IN_ADDR sin_addr; CHAR sin_zero[8]; } SOCKADDR_IN, *PSOCKADDR_IN; #pragma endregion typedef struct sockaddr_dl { ADDRESS_FAMILY sdl_family; UCHAR sdl_data[8]; UCHAR sdl_zero[4]; } SOCKADDR_DL, *PSOCKADDR_DL; typedef struct _WSABUF { ULONG len; CHAR *buf; } WSABUF, * LPWSABUF; typedef struct _WSAMSG { LPSOCKADDR name; INT namelen; LPWSABUF lpBuffers; ULONG dwBufferCount; WSABUF Control; ULONG dwFlags; } WSAMSG, *PWSAMSG, * LPWSAMSG; typedef struct cmsghdr { SIZE_T cmsg_len; INT cmsg_level; INT cmsg_type; } WSACMSGHDR, *PWSACMSGHDR, *LPWSACMSGHDR; typedef WSACMSGHDR CMSGHDR, *PCMSGHDR; typedef struct addrinfo { int ai_flags; int ai_family; int ai_socktype; int ai_protocol; size_t ai_addrlen; char * ai_canonname; struct sockaddr * ai_addr; struct addrinfo * ai_next; } ADDRINFOA, *PADDRINFOA; typedef struct addrinfoW { int ai_flags; int ai_family; int ai_socktype; int ai_protocol; size_t ai_addrlen; PWSTR ai_canonname; struct sockaddr * ai_addr; struct addrinfoW * ai_next; } ADDRINFOW, *PADDRINFOW; #pragma region App Family or OneCore Family or Games Family typedef struct __declspec(deprecated("Use " "ADDRINFOEXW" " instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings")) addrinfoexA { int ai_flags; int ai_family; int ai_socktype; int ai_protocol; size_t ai_addrlen; char *ai_canonname; struct sockaddr *ai_addr; void *ai_blob; size_t ai_bloblen; LPGUID ai_provider; struct addrinfoexA *ai_next; } ADDRINFOEXA, *PADDRINFOEXA, *LPADDRINFOEXA; #pragma endregion typedef struct addrinfoexW { int ai_flags; int ai_family; int ai_socktype; int ai_protocol; size_t ai_addrlen; PWSTR ai_canonname; struct sockaddr *ai_addr; void *ai_blob; size_t ai_bloblen; LPGUID ai_provider; struct addrinfoexW *ai_next; } ADDRINFOEXW, *PADDRINFOEXW, *LPADDRINFOEXW; #pragma region Desktop Family typedef struct __declspec(deprecated("Use " "ADDRINFOEX2W" " instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings")) addrinfoex2A { int ai_flags; int ai_family; int ai_socktype; int ai_protocol; size_t ai_addrlen; char *ai_canonname; struct sockaddr *ai_addr; void *ai_blob; size_t ai_bloblen; LPGUID ai_provider; struct addrinfoex2A *ai_next; int ai_version; char *ai_fqdn; } ADDRINFOEX2A, *PADDRINFOEX2A, *LPADDRINFOEX2A; #pragma endregion typedef struct addrinfoex2W { int ai_flags; int ai_family; int ai_socktype; int ai_protocol; size_t ai_addrlen; PWSTR ai_canonname; struct sockaddr *ai_addr; void *ai_blob; size_t ai_bloblen; LPGUID ai_provider; struct addrinfoex2W *ai_next; int ai_version; PWSTR ai_fqdn; } ADDRINFOEX2W, *PADDRINFOEX2W, *LPADDRINFOEX2W; typedef struct addrinfoex3 { int ai_flags; int ai_family; int ai_socktype; int ai_protocol; size_t ai_addrlen; PWSTR ai_canonname; struct sockaddr *ai_addr; void *ai_blob; size_t ai_bloblen; LPGUID ai_provider; struct addrinfoex3 *ai_next; int ai_version; PWSTR ai_fqdn; int ai_interfaceindex; } ADDRINFOEX3, *PADDRINFOEX3, *LPADDRINFOEX3; typedef struct addrinfoex4 { int ai_flags; int ai_family; int ai_socktype; int ai_protocol; size_t ai_addrlen; PWSTR ai_canonname; struct sockaddr *ai_addr; void *ai_blob; size_t ai_bloblen; GUID *ai_provider; struct addrinfoex4 *ai_next; int ai_version; PWSTR ai_fqdn; int ai_interfaceindex; HANDLE ai_resolutionhandle; } ADDRINFOEX4, *PADDRINFOEX4, *LPADDRINFOEX4; #pragma warning(pop) } typedef UINT_PTR SOCKET; typedef struct fd_set { u_int fd_count; SOCKET fd_array[64]; } fd_set; extern int __stdcall __WSAFDIsSet(SOCKET fd, fd_set *); struct timeval { long tv_sec; long tv_usec; }; struct hostent { char * h_name; char * * h_aliases; short h_addrtype; short h_length; char * * h_addr_list; }; struct netent { char * n_name; char * * n_aliases; short n_addrtype; u_long n_net; }; struct servent { char * s_name; char * * s_aliases; char * s_proto; short s_port; }; struct protoent { char * p_name; char * * p_aliases; short p_proto; }; typedef struct WSAData { WORD wVersion; WORD wHighVersion; unsigned short iMaxSockets; unsigned short iMaxUdpDg; char * lpVendorInfo; char szDescription[256+1]; char szSystemStatus[128+1]; } WSADATA, * LPWSADATA; struct sockproto { u_short sp_family; u_short sp_protocol; }; struct linger { u_short l_onoff; u_short l_linger; }; typedef struct _OVERLAPPED * LPWSAOVERLAPPED; #pragma region Desktop Family #pragma once #pragma region Desktop Family typedef ULONG SERVICETYPE; typedef struct _flowspec { ULONG TokenRate; ULONG TokenBucketSize; ULONG PeakBandwidth; ULONG Latency; ULONG DelayVariation; SERVICETYPE ServiceType; ULONG MaxSduSize; ULONG MinimumPolicedSize; } FLOWSPEC, *PFLOWSPEC, * LPFLOWSPEC; typedef struct { ULONG ObjectType; ULONG ObjectLength; } QOS_OBJECT_HDR, *LPQOS_OBJECT_HDR; typedef struct _QOS_SD_MODE { QOS_OBJECT_HDR ObjectHdr; ULONG ShapeDiscardMode; } QOS_SD_MODE, *LPQOS_SD_MODE; typedef struct _QOS_SHAPING_RATE { QOS_OBJECT_HDR ObjectHdr; ULONG ShapingRate; } QOS_SHAPING_RATE, *LPQOS_SHAPING_RATE; #pragma endregion typedef struct _QualityOfService { FLOWSPEC SendingFlowspec; FLOWSPEC ReceivingFlowspec; WSABUF ProviderSpecific; } QOS, * LPQOS; #pragma endregion typedef unsigned int GROUP; typedef struct _WSANETWORKEVENTS { long lNetworkEvents; int iErrorCode[10]; } WSANETWORKEVENTS, * LPWSANETWORKEVENTS; typedef struct _WSAPROTOCOLCHAIN { int ChainLen; DWORD ChainEntries[7]; } WSAPROTOCOLCHAIN, * LPWSAPROTOCOLCHAIN; typedef struct __declspec(deprecated("Use " "WSAPROTOCOL_INFOW" " instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings")) _WSAPROTOCOL_INFOA { DWORD dwServiceFlags1; DWORD dwServiceFlags2; DWORD dwServiceFlags3; DWORD dwServiceFlags4; DWORD dwProviderFlags; GUID ProviderId; DWORD dwCatalogEntryId; WSAPROTOCOLCHAIN ProtocolChain; int iVersion; int iAddressFamily; int iMaxSockAddr; int iMinSockAddr; int iSocketType; int iProtocol; int iProtocolMaxOffset; int iNetworkByteOrder; int iSecurityScheme; DWORD dwMessageSize; DWORD dwProviderReserved; CHAR szProtocol[255+1]; } WSAPROTOCOL_INFOA, * LPWSAPROTOCOL_INFOA; typedef struct _WSAPROTOCOL_INFOW { DWORD dwServiceFlags1; DWORD dwServiceFlags2; DWORD dwServiceFlags3; DWORD dwServiceFlags4; DWORD dwProviderFlags; GUID ProviderId; DWORD dwCatalogEntryId; WSAPROTOCOLCHAIN ProtocolChain; int iVersion; int iAddressFamily; int iMaxSockAddr; int iMinSockAddr; int iSocketType; int iProtocol; int iProtocolMaxOffset; int iNetworkByteOrder; int iSecurityScheme; DWORD dwMessageSize; DWORD dwProviderReserved; WCHAR szProtocol[255+1]; } WSAPROTOCOL_INFOW, * LPWSAPROTOCOL_INFOW; typedef WSAPROTOCOL_INFOW WSAPROTOCOL_INFO; typedef LPWSAPROTOCOL_INFOW LPWSAPROTOCOL_INFO; typedef int (__stdcall * LPCONDITIONPROC)( LPWSABUF lpCallerId, LPWSABUF lpCallerData, LPQOS lpSQOS, LPQOS lpGQOS, LPWSABUF lpCalleeId, LPWSABUF lpCalleeData, GROUP * g, DWORD_PTR dwCallbackData ); typedef void (__stdcall * LPWSAOVERLAPPED_COMPLETION_ROUTINE)( DWORD dwError, DWORD cbTransferred, LPWSAOVERLAPPED lpOverlapped, DWORD dwFlags ); typedef enum _WSACOMPLETIONTYPE { NSP_NOTIFY_IMMEDIATELY = 0, NSP_NOTIFY_HWND, NSP_NOTIFY_EVENT, NSP_NOTIFY_PORT, NSP_NOTIFY_APC, } WSACOMPLETIONTYPE, *PWSACOMPLETIONTYPE, * LPWSACOMPLETIONTYPE; typedef struct _WSACOMPLETION { WSACOMPLETIONTYPE Type; union { struct { HWND hWnd; UINT uMsg; WPARAM context; } WindowMessage; struct { LPWSAOVERLAPPED lpOverlapped; } Event; struct { LPWSAOVERLAPPED lpOverlapped; LPWSAOVERLAPPED_COMPLETION_ROUTINE lpfnCompletionProc; } Apc; struct { LPWSAOVERLAPPED lpOverlapped; HANDLE hPort; ULONG_PTR Key; } Port; } Parameters; } WSACOMPLETION, *PWSACOMPLETION, *LPWSACOMPLETION; typedef struct _BLOB { ULONG cbSize ; BYTE *pBlobData ; } BLOB, *LPBLOB ; typedef struct _AFPROTOCOLS { INT iAddressFamily; INT iProtocol; } AFPROTOCOLS, *PAFPROTOCOLS, *LPAFPROTOCOLS; typedef enum _WSAEcomparator { COMP_EQUAL = 0, COMP_NOTLESS } WSAECOMPARATOR, *PWSAECOMPARATOR, *LPWSAECOMPARATOR; typedef struct _WSAVersion { DWORD dwVersion; WSAECOMPARATOR ecHow; }WSAVERSION, *PWSAVERSION, *LPWSAVERSION; typedef struct __declspec(deprecated("Use " "WSAQUERYSETW" " instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings")) _WSAQuerySetA { DWORD dwSize; LPSTR lpszServiceInstanceName; LPGUID lpServiceClassId; LPWSAVERSION lpVersion; LPSTR lpszComment; DWORD dwNameSpace; LPGUID lpNSProviderId; LPSTR lpszContext; DWORD dwNumberOfProtocols; LPAFPROTOCOLS lpafpProtocols; LPSTR lpszQueryString; DWORD dwNumberOfCsAddrs; LPCSADDR_INFO lpcsaBuffer; DWORD dwOutputFlags; LPBLOB lpBlob; } WSAQUERYSETA, *PWSAQUERYSETA, *LPWSAQUERYSETA; typedef struct _WSAQuerySetW { DWORD dwSize; LPWSTR lpszServiceInstanceName; LPGUID lpServiceClassId; LPWSAVERSION lpVersion; LPWSTR lpszComment; DWORD dwNameSpace; LPGUID lpNSProviderId; LPWSTR lpszContext; DWORD dwNumberOfProtocols; LPAFPROTOCOLS lpafpProtocols; LPWSTR lpszQueryString; DWORD dwNumberOfCsAddrs; LPCSADDR_INFO lpcsaBuffer; DWORD dwOutputFlags; LPBLOB lpBlob; } WSAQUERYSETW, *PWSAQUERYSETW, *LPWSAQUERYSETW; #pragma region Desktop Family or OneCore Family typedef struct __declspec(deprecated("Use " "WSAQUERYSET2W" " instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings")) _WSAQuerySet2A { DWORD dwSize; LPSTR lpszServiceInstanceName; LPWSAVERSION lpVersion; LPSTR lpszComment; DWORD dwNameSpace; LPGUID lpNSProviderId; LPSTR lpszContext; DWORD dwNumberOfProtocols; LPAFPROTOCOLS lpafpProtocols; LPSTR lpszQueryString; DWORD dwNumberOfCsAddrs; LPCSADDR_INFO lpcsaBuffer; DWORD dwOutputFlags; LPBLOB lpBlob; } WSAQUERYSET2A, *PWSAQUERYSET2A, *LPWSAQUERYSET2A; typedef struct _WSAQuerySet2W { DWORD dwSize; LPWSTR lpszServiceInstanceName; LPWSAVERSION lpVersion; LPWSTR lpszComment; DWORD dwNameSpace; LPGUID lpNSProviderId; LPWSTR lpszContext; DWORD dwNumberOfProtocols; LPAFPROTOCOLS lpafpProtocols; LPWSTR lpszQueryString; DWORD dwNumberOfCsAddrs; LPCSADDR_INFO lpcsaBuffer; DWORD dwOutputFlags; LPBLOB lpBlob; } WSAQUERYSET2W, *PWSAQUERYSET2W, *LPWSAQUERYSET2W; typedef WSAQUERYSETW WSAQUERYSET; typedef PWSAQUERYSETW PWSAQUERYSET; typedef LPWSAQUERYSETW LPWSAQUERYSET; typedef WSAQUERYSET2W WSAQUERYSET2; typedef PWSAQUERYSET2W PWSAQUERYSET2; typedef LPWSAQUERYSET2W LPWSAQUERYSET2; #pragma endregion typedef enum _WSAESETSERVICEOP { RNRSERVICE_REGISTER=0, RNRSERVICE_DEREGISTER, RNRSERVICE_DELETE } WSAESETSERVICEOP, *PWSAESETSERVICEOP, *LPWSAESETSERVICEOP; #pragma region Desktop Family or OneCore Family typedef struct __declspec(deprecated("Use " "WSANSCLASSINFOW" " instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings")) _WSANSClassInfoA { LPSTR lpszName; DWORD dwNameSpace; DWORD dwValueType; DWORD dwValueSize; LPVOID lpValue; }WSANSCLASSINFOA, *PWSANSCLASSINFOA, *LPWSANSCLASSINFOA; #pragma endregion typedef struct _WSANSClassInfoW { LPWSTR lpszName; DWORD dwNameSpace; DWORD dwValueType; DWORD dwValueSize; LPVOID lpValue; }WSANSCLASSINFOW, *PWSANSCLASSINFOW, *LPWSANSCLASSINFOW; typedef WSANSCLASSINFOW WSANSCLASSINFO; typedef PWSANSCLASSINFOW PWSANSCLASSINFO; typedef LPWSANSCLASSINFOW LPWSANSCLASSINFO; #pragma region Desktop Family or OneCore Family typedef struct __declspec(deprecated("Use " "WSASERVICECLASSINFOW" " instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings")) _WSAServiceClassInfoA { LPGUID lpServiceClassId; LPSTR lpszServiceClassName; DWORD dwCount; LPWSANSCLASSINFOA lpClassInfos; }WSASERVICECLASSINFOA, *PWSASERVICECLASSINFOA, *LPWSASERVICECLASSINFOA; #pragma endregion typedef struct _WSAServiceClassInfoW { LPGUID lpServiceClassId; LPWSTR lpszServiceClassName; DWORD dwCount; LPWSANSCLASSINFOW lpClassInfos; }WSASERVICECLASSINFOW, *PWSASERVICECLASSINFOW, *LPWSASERVICECLASSINFOW; typedef WSASERVICECLASSINFOW WSASERVICECLASSINFO; typedef PWSASERVICECLASSINFOW PWSASERVICECLASSINFO; typedef LPWSASERVICECLASSINFOW LPWSASERVICECLASSINFO; typedef struct __declspec(deprecated("Use " "WSANAMESPACE_INFOW" " instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings")) _WSANAMESPACE_INFOA { GUID NSProviderId; DWORD dwNameSpace; BOOL fActive; DWORD dwVersion; LPSTR lpszIdentifier; } WSANAMESPACE_INFOA, *PWSANAMESPACE_INFOA, *LPWSANAMESPACE_INFOA; typedef struct _WSANAMESPACE_INFOW { GUID NSProviderId; DWORD dwNameSpace; BOOL fActive; DWORD dwVersion; LPWSTR lpszIdentifier; } WSANAMESPACE_INFOW, *PWSANAMESPACE_INFOW, *LPWSANAMESPACE_INFOW; typedef struct __declspec(deprecated("Use " "WSANAMESPACE_INFOEXW" " instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings")) _WSANAMESPACE_INFOEXA { GUID NSProviderId; DWORD dwNameSpace; BOOL fActive; DWORD dwVersion; LPSTR lpszIdentifier; BLOB ProviderSpecific; } WSANAMESPACE_INFOEXA, *PWSANAMESPACE_INFOEXA, *LPWSANAMESPACE_INFOEXA; typedef struct _WSANAMESPACE_INFOEXW { GUID NSProviderId; DWORD dwNameSpace; BOOL fActive; DWORD dwVersion; LPWSTR lpszIdentifier; BLOB ProviderSpecific; } WSANAMESPACE_INFOEXW, *PWSANAMESPACE_INFOEXW, *LPWSANAMESPACE_INFOEXW; typedef WSANAMESPACE_INFOW WSANAMESPACE_INFO; typedef PWSANAMESPACE_INFOW PWSANAMESPACE_INFO; typedef LPWSANAMESPACE_INFOW LPWSANAMESPACE_INFO; typedef WSANAMESPACE_INFOEXW WSANAMESPACE_INFOEX; typedef PWSANAMESPACE_INFOEXW PWSANAMESPACE_INFOEX; typedef LPWSANAMESPACE_INFOEXW LPWSANAMESPACE_INFOEX; typedef struct pollfd { SOCKET fd; SHORT events; SHORT revents; } WSAPOLLFD, *PWSAPOLLFD, *LPWSAPOLLFD; __declspec(dllimport) SOCKET __stdcall accept( SOCKET s, struct sockaddr * addr, int * addrlen ); __declspec(dllimport) int __stdcall bind( SOCKET s, const struct sockaddr * name, int namelen ); __declspec(dllimport) int __stdcall closesocket( SOCKET s ); __declspec(dllimport) int __stdcall connect( SOCKET s, const struct sockaddr * name, int namelen ); __declspec(dllimport) int __stdcall ioctlsocket( SOCKET s, long cmd, u_long * argp ); __declspec(dllimport) int __stdcall getpeername( SOCKET s, struct sockaddr * name, int * namelen ); __declspec(dllimport) int __stdcall getsockname( SOCKET s, struct sockaddr * name, int * namelen ); __declspec(dllimport) int __stdcall getsockopt( SOCKET s, int level, int optname, char * optval, int * optlen ); __declspec(dllimport) u_long __stdcall htonl( u_long hostlong ); __declspec(dllimport) u_short __stdcall htons( u_short hostshort ); __declspec(deprecated("Use " "inet_pton() or InetPton()" " instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings")) __declspec(dllimport) unsigned long __stdcall inet_addr( const char * cp ); __declspec(deprecated("Use " "inet_ntop() or InetNtop()" " instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings")) __declspec(dllimport) char * __stdcall inet_ntoa( struct in_addr in ); __inline unsigned __int64 htonll ( unsigned __int64 Value ) { const unsigned __int64 Retval = ( ( ((Value) >> 56) & 0x00000000000000FFLL ) | ( ((Value) >> 40) & 0x000000000000FF00LL ) | ( ((Value) >> 24) & 0x0000000000FF0000LL ) | ( ((Value) >> 8) & 0x00000000FF000000LL ) | ( ((Value) << 8) & 0x000000FF00000000LL ) | ( ((Value) << 24) & 0x0000FF0000000000LL ) | ( ((Value) << 40) & 0x00FF000000000000LL ) | ( ((Value) << 56) & 0xFF00000000000000LL ) ); return Retval; } __inline unsigned __int64 ntohll ( unsigned __int64 Value ) { const unsigned __int64 Retval = ( ( ((Value) >> 56) & 0x00000000000000FFLL ) | ( ((Value) >> 40) & 0x000000000000FF00LL ) | ( ((Value) >> 24) & 0x0000000000FF0000LL ) | ( ((Value) >> 8) & 0x00000000FF000000LL ) | ( ((Value) << 8) & 0x000000FF00000000LL ) | ( ((Value) << 24) & 0x0000FF0000000000LL ) | ( ((Value) << 40) & 0x00FF000000000000LL ) | ( ((Value) << 56) & 0xFF00000000000000LL ) ); return Retval; } __inline unsigned __int32 htonf ( float Value ) { unsigned __int32 Tempval; unsigned __int32 Retval; Tempval = *(unsigned __int32*)(&Value); Retval = ( ( ((Tempval) >> 24) & 0x000000FFL ) | ( ((Tempval) >> 8) & 0x0000FF00L ) | ( ((Tempval) << 8) & 0x00FF0000L ) | ( ((Tempval) << 24) & 0xFF000000L ) ); return Retval; } __inline float ntohf ( unsigned __int32 Value ) { const unsigned __int32 Tempval = ( ( ((Value) >> 24) & 0x000000FFL ) | ( ((Value) >> 8) & 0x0000FF00L ) | ( ((Value) << 8) & 0x00FF0000L ) | ( ((Value) << 24) & 0xFF000000L ) ); float Retval; *((unsigned __int32*)&Retval) = Tempval; return Retval; } __inline unsigned __int64 htond ( double Value ) { unsigned __int64 Tempval; unsigned __int64 Retval; Tempval = *(unsigned __int64*)(&Value); Retval = ( ( ((Tempval) >> 56) & 0x00000000000000FFLL ) | ( ((Tempval) >> 40) & 0x000000000000FF00LL ) | ( ((Tempval) >> 24) & 0x0000000000FF0000LL ) | ( ((Tempval) >> 8) & 0x00000000FF000000LL ) | ( ((Tempval) << 8) & 0x000000FF00000000LL ) | ( ((Tempval) << 24) & 0x0000FF0000000000LL ) | ( ((Tempval) << 40) & 0x00FF000000000000LL ) | ( ((Tempval) << 56) & 0xFF00000000000000LL ) ); return Retval; } __inline double ntohd ( unsigned __int64 Value ) { const unsigned __int64 Tempval = ( ( ((Value) >> 56) & 0x00000000000000FFLL ) | ( ((Value) >> 40) & 0x000000000000FF00LL ) | ( ((Value) >> 24) & 0x0000000000FF0000LL ) | ( ((Value) >> 8) & 0x00000000FF000000LL ) | ( ((Value) << 8) & 0x000000FF00000000LL ) | ( ((Value) << 24) & 0x0000FF0000000000LL ) | ( ((Value) << 40) & 0x00FF000000000000LL ) | ( ((Value) << 56) & 0xFF00000000000000LL ) ); double Retval; *((unsigned __int64*)&Retval) = Tempval; return Retval; } __declspec(dllimport) int __stdcall listen( SOCKET s, int backlog ); __declspec(dllimport) u_long __stdcall ntohl( u_long netlong ); __declspec(dllimport) u_short __stdcall ntohs( u_short netshort ); __declspec(dllimport) int __stdcall recv( SOCKET s, char * buf, int len, int flags ); __declspec(dllimport) int __stdcall recvfrom( SOCKET s, char * buf, int len, int flags, struct sockaddr * from, int * fromlen ); __declspec(dllimport) int __stdcall select( int nfds, fd_set * readfds, fd_set * writefds, fd_set * exceptfds, const struct timeval * timeout ); __declspec(dllimport) int __stdcall send( SOCKET s, const char * buf, int len, int flags ); __declspec(dllimport) int __stdcall sendto( SOCKET s, const char * buf, int len, int flags, const struct sockaddr * to, int tolen ); __declspec(dllimport) int __stdcall setsockopt( SOCKET s, int level, int optname, const char * optval, int optlen ); __declspec(dllimport) int __stdcall shutdown( SOCKET s, int how ); __declspec(dllimport) SOCKET __stdcall socket( int af, int type, int protocol ); __declspec(deprecated("Use " "getnameinfo() or GetNameInfoW()" " instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings")) __declspec(dllimport) struct hostent * __stdcall gethostbyaddr( const char * addr, int len, int type ); __declspec(deprecated("Use " "getaddrinfo() or GetAddrInfoW()" " instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings")) __declspec(dllimport) struct hostent * __stdcall gethostbyname( const char * name ); __declspec(dllimport) int __stdcall gethostname( char * name, int namelen ); __declspec(dllimport) int __stdcall GetHostNameW( PWSTR name, int namelen ); __declspec(dllimport) struct servent * __stdcall getservbyport( int port, const char * proto ); __declspec(dllimport) struct servent * __stdcall getservbyname( const char * name, const char * proto ); __declspec(dllimport) struct protoent * __stdcall getprotobynumber( int number ); __declspec(dllimport) struct protoent * __stdcall getprotobyname( const char * name ); __declspec(dllimport) int __stdcall WSAStartup( WORD wVersionRequested, LPWSADATA lpWSAData ); __declspec(dllimport) int __stdcall WSACleanup( void ); __declspec(dllimport) void __stdcall WSASetLastError( int iError ); __declspec(dllimport) int __stdcall WSAGetLastError( void ); #pragma region Desktop Family or OneCore Family __declspec(deprecated("Use " "Winsock 2" " instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings")) __declspec(dllimport) BOOL __stdcall WSAIsBlocking( void ); __declspec(deprecated("Use " "Winsock 2" " instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings")) __declspec(dllimport) int __stdcall WSAUnhookBlockingHook( void ); __declspec(deprecated("Use " "Winsock 2" " instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings")) __declspec(dllimport) FARPROC __stdcall WSASetBlockingHook( FARPROC lpBlockFunc ); __declspec(deprecated("Use " "Winsock 2" " instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings")) __declspec(dllimport) int __stdcall WSACancelBlockingCall( void ); __declspec(deprecated("Use " "getservbyname()" " instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings")) __declspec(dllimport) HANDLE __stdcall WSAAsyncGetServByName( HWND hWnd, u_int wMsg, const char * name, const char * proto, char * buf, int buflen ); __declspec(deprecated("Use " "getservbyport()" " instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings")) __declspec(dllimport) HANDLE __stdcall WSAAsyncGetServByPort( HWND hWnd, u_int wMsg, int port, const char * proto, char * buf, int buflen ); __declspec(deprecated("Use " "getprotobyname()" " instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings")) __declspec(dllimport) HANDLE __stdcall WSAAsyncGetProtoByName( HWND hWnd, u_int wMsg, const char * name, char * buf, int buflen ); __declspec(deprecated("Use " "getprotobynumber()" " instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings")) __declspec(dllimport) HANDLE __stdcall WSAAsyncGetProtoByNumber( HWND hWnd, u_int wMsg, int number, char * buf, int buflen ); __declspec(deprecated("Use " "GetAddrInfoExW()" " instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings")) __declspec(dllimport) HANDLE __stdcall WSAAsyncGetHostByName( HWND hWnd, u_int wMsg, const char * name, char * buf, int buflen ); __declspec(deprecated("Use " "getnameinfo() or GetNameInfoW()" " instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings")) __declspec(dllimport) HANDLE __stdcall WSAAsyncGetHostByAddr( HWND hWnd, u_int wMsg, const char * addr, int len, int type, char * buf, int buflen ); __declspec(deprecated("Define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings")) __declspec(dllimport) int __stdcall WSACancelAsyncRequest( HANDLE hAsyncTaskHandle ); __declspec(deprecated("Use " "WSAEventSelect()" " instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings")) __declspec(dllimport) int __stdcall WSAAsyncSelect( SOCKET s, HWND hWnd, u_int wMsg, long lEvent ); #pragma endregion __declspec(dllimport) SOCKET __stdcall WSAAccept( SOCKET s, struct sockaddr * addr, LPINT addrlen, LPCONDITIONPROC lpfnCondition, DWORD_PTR dwCallbackData ); __declspec(dllimport) BOOL __stdcall WSACloseEvent( HANDLE hEvent ); __declspec(dllimport) int __stdcall WSAConnect( SOCKET s, const struct sockaddr * name, int namelen, LPWSABUF lpCallerData, LPWSABUF lpCalleeData, LPQOS lpSQOS, LPQOS lpGQOS ); BOOL __stdcall WSAConnectByNameW( SOCKET s, LPWSTR nodename, LPWSTR servicename, LPDWORD LocalAddressLength, LPSOCKADDR LocalAddress, LPDWORD RemoteAddressLength, LPSOCKADDR RemoteAddress, const struct timeval * timeout, LPWSAOVERLAPPED Reserved); __declspec(deprecated("Use " "WSAConnectByNameW()" " instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings")) BOOL __stdcall WSAConnectByNameA( SOCKET s, LPCSTR nodename, LPCSTR servicename, LPDWORD LocalAddressLength, LPSOCKADDR LocalAddress, LPDWORD RemoteAddressLength, LPSOCKADDR RemoteAddress, const struct timeval * timeout, LPWSAOVERLAPPED Reserved); BOOL __stdcall WSAConnectByList( SOCKET s, PSOCKET_ADDRESS_LIST SocketAddress, LPDWORD LocalAddressLength, LPSOCKADDR LocalAddress, LPDWORD RemoteAddressLength, LPSOCKADDR RemoteAddress, const struct timeval * timeout, LPWSAOVERLAPPED Reserved); __declspec(dllimport) HANDLE __stdcall WSACreateEvent( void ); __declspec(deprecated("Use " "WSADuplicateSocketW()" " instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings")) __declspec(dllimport) int __stdcall WSADuplicateSocketA( SOCKET s, DWORD dwProcessId, LPWSAPROTOCOL_INFOA lpProtocolInfo ); __declspec(dllimport) int __stdcall WSADuplicateSocketW( SOCKET s, DWORD dwProcessId, LPWSAPROTOCOL_INFOW lpProtocolInfo ); __declspec(dllimport) int __stdcall WSAEnumNetworkEvents( SOCKET s, HANDLE hEventObject, LPWSANETWORKEVENTS lpNetworkEvents ); __declspec(deprecated("Use " "WSAEnumProtocolsW()" " instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings")) __declspec(dllimport) int __stdcall WSAEnumProtocolsA( LPINT lpiProtocols, LPWSAPROTOCOL_INFOA lpProtocolBuffer, LPDWORD lpdwBufferLength ); __declspec(dllimport) int __stdcall WSAEnumProtocolsW( LPINT lpiProtocols, LPWSAPROTOCOL_INFOW lpProtocolBuffer, LPDWORD lpdwBufferLength ); __declspec(dllimport) int __stdcall WSAEventSelect( SOCKET s, HANDLE hEventObject, long lNetworkEvents ); __declspec(dllimport) BOOL __stdcall WSAGetOverlappedResult( SOCKET s, LPWSAOVERLAPPED lpOverlapped, LPDWORD lpcbTransfer, BOOL fWait, LPDWORD lpdwFlags ); #pragma region Desktop Family or OneCore Family __declspec(deprecated("Define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings")) __declspec(dllimport) BOOL __stdcall WSAGetQOSByName( SOCKET s, LPWSABUF lpQOSName, LPQOS lpQOS ); #pragma endregion __declspec(dllimport) int __stdcall WSAHtonl( SOCKET s, u_long hostlong, u_long * lpnetlong ); __declspec(dllimport) int __stdcall WSAHtons( SOCKET s, u_short hostshort, u_short * lpnetshort ); __declspec(dllimport) int __stdcall WSAIoctl( SOCKET s, DWORD dwIoControlCode, LPVOID lpvInBuffer, DWORD cbInBuffer, LPVOID lpvOutBuffer, DWORD cbOutBuffer, LPDWORD lpcbBytesReturned, LPWSAOVERLAPPED lpOverlapped, LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine ); __declspec(dllimport) SOCKET __stdcall WSAJoinLeaf( SOCKET s, const struct sockaddr * name, int namelen, LPWSABUF lpCallerData, LPWSABUF lpCalleeData, LPQOS lpSQOS, LPQOS lpGQOS, DWORD dwFlags ); __declspec(dllimport) int __stdcall WSANtohl( SOCKET s, u_long netlong, u_long * lphostlong ); __declspec(dllimport) int __stdcall WSANtohs( SOCKET s, u_short netshort, u_short * lphostshort ); __declspec(dllimport) int __stdcall WSARecv( SOCKET s, LPWSABUF lpBuffers, DWORD dwBufferCount, LPDWORD lpNumberOfBytesRecvd, LPDWORD lpFlags, LPWSAOVERLAPPED lpOverlapped, LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine ); #pragma region Desktop Family or OneCore Family __declspec(deprecated("Use " "WSARecv()" " instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings")) __declspec(dllimport) int __stdcall WSARecvDisconnect( SOCKET s, LPWSABUF lpInboundDisconnectData ); #pragma endregion __declspec(dllimport) int __stdcall WSARecvFrom( SOCKET s, LPWSABUF lpBuffers, DWORD dwBufferCount, LPDWORD lpNumberOfBytesRecvd, LPDWORD lpFlags, struct sockaddr * lpFrom, LPINT lpFromlen, LPWSAOVERLAPPED lpOverlapped, LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine ); __declspec(dllimport) BOOL __stdcall WSAResetEvent( HANDLE hEvent ); __declspec(dllimport) int __stdcall WSASend( SOCKET s, LPWSABUF lpBuffers, DWORD dwBufferCount, LPDWORD lpNumberOfBytesSent, DWORD dwFlags, LPWSAOVERLAPPED lpOverlapped, LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine ); __declspec(dllimport) int __stdcall WSASendMsg( SOCKET Handle, LPWSAMSG lpMsg, DWORD dwFlags, LPDWORD lpNumberOfBytesSent, LPWSAOVERLAPPED lpOverlapped, LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine ); #pragma region Desktop Family or OneCore Family __declspec(deprecated("Use " "WSASend()" " instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings")) __declspec(dllimport) int __stdcall WSASendDisconnect( SOCKET s, LPWSABUF lpOutboundDisconnectData ); #pragma endregion __declspec(dllimport) int __stdcall WSASendTo( SOCKET s, LPWSABUF lpBuffers, DWORD dwBufferCount, LPDWORD lpNumberOfBytesSent, DWORD dwFlags, const struct sockaddr * lpTo, int iTolen, LPWSAOVERLAPPED lpOverlapped, LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine ); __declspec(dllimport) BOOL __stdcall WSASetEvent( HANDLE hEvent ); __declspec(deprecated("Use " "WSASocketW()" " instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings")) __declspec(dllimport) SOCKET __stdcall WSASocketA( int af, int type, int protocol, LPWSAPROTOCOL_INFOA lpProtocolInfo, GROUP g, DWORD dwFlags ); __declspec(dllimport) SOCKET __stdcall WSASocketW( int af, int type, int protocol, LPWSAPROTOCOL_INFOW lpProtocolInfo, GROUP g, DWORD dwFlags ); __declspec(dllimport) DWORD __stdcall WSAWaitForMultipleEvents( DWORD cEvents, const HANDLE * lphEvents, BOOL fWaitAll, DWORD dwTimeout, BOOL fAlertable ); __declspec(deprecated("Use " "WSAAddressToStringW()" " instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings")) __declspec(dllimport) INT __stdcall WSAAddressToStringA( LPSOCKADDR lpsaAddress, DWORD dwAddressLength, LPWSAPROTOCOL_INFOA lpProtocolInfo, LPSTR lpszAddressString, LPDWORD lpdwAddressStringLength ); __declspec(dllimport) INT __stdcall WSAAddressToStringW( LPSOCKADDR lpsaAddress, DWORD dwAddressLength, LPWSAPROTOCOL_INFOW lpProtocolInfo, LPWSTR lpszAddressString, LPDWORD lpdwAddressStringLength ); __declspec(deprecated("Use " "WSAStringToAddressW()" " instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings")) __declspec(dllimport) INT __stdcall WSAStringToAddressA( LPSTR AddressString, INT AddressFamily, LPWSAPROTOCOL_INFOA lpProtocolInfo, LPSOCKADDR lpAddress, LPINT lpAddressLength ); __declspec(dllimport) INT __stdcall WSAStringToAddressW( LPWSTR AddressString, INT AddressFamily, LPWSAPROTOCOL_INFOW lpProtocolInfo, LPSOCKADDR lpAddress, LPINT lpAddressLength ); __declspec(deprecated("Use " "WSALookupServiceBeginW()" " instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings")) __declspec(dllimport) INT __stdcall WSALookupServiceBeginA( LPWSAQUERYSETA lpqsRestrictions, DWORD dwControlFlags, LPHANDLE lphLookup ); __declspec(dllimport) INT __stdcall WSALookupServiceBeginW( LPWSAQUERYSETW lpqsRestrictions, DWORD dwControlFlags, LPHANDLE lphLookup ); __declspec(deprecated("Use " "WSALookupServiceNextW()" " instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings")) __declspec(dllimport) INT __stdcall WSALookupServiceNextA( HANDLE hLookup, DWORD dwControlFlags, LPDWORD lpdwBufferLength, LPWSAQUERYSETA lpqsResults ); __declspec(dllimport) INT __stdcall WSALookupServiceNextW( HANDLE hLookup, DWORD dwControlFlags, LPDWORD lpdwBufferLength, LPWSAQUERYSETW lpqsResults ); __declspec(dllimport) INT __stdcall WSANSPIoctl( HANDLE hLookup, DWORD dwControlCode, LPVOID lpvInBuffer, DWORD cbInBuffer, LPVOID lpvOutBuffer, DWORD cbOutBuffer, LPDWORD lpcbBytesReturned, LPWSACOMPLETION lpCompletion ); __declspec(dllimport) INT __stdcall WSALookupServiceEnd( HANDLE hLookup ); #pragma region Desktop Family or OneCore Family __declspec(deprecated("Use " "WSAInstallServiceClassW()" " instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings")) __declspec(dllimport) INT __stdcall WSAInstallServiceClassA( LPWSASERVICECLASSINFOA lpServiceClassInfo ); __declspec(dllimport) INT __stdcall WSAInstallServiceClassW( LPWSASERVICECLASSINFOW lpServiceClassInfo ); __declspec(dllimport) INT __stdcall WSARemoveServiceClass( LPGUID lpServiceClassId ); #pragma endregion #pragma region Desktop Family or OneCore Family __declspec(deprecated("Use " "WSAGetServiceClassInfoW()" " instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings")) __declspec(dllimport) INT __stdcall WSAGetServiceClassInfoA( LPGUID lpProviderId, LPGUID lpServiceClassId, LPDWORD lpdwBufSize, LPWSASERVICECLASSINFOA lpServiceClassInfo ); #pragma endregion __declspec(dllimport) INT __stdcall WSAGetServiceClassInfoW( LPGUID lpProviderId, LPGUID lpServiceClassId, LPDWORD lpdwBufSize, LPWSASERVICECLASSINFOW lpServiceClassInfo ); __declspec(deprecated("Use " "WSAEnumNameSpaceProvidersW()" " instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings")) __declspec(dllimport) INT __stdcall WSAEnumNameSpaceProvidersA( LPDWORD lpdwBufferLength, LPWSANAMESPACE_INFOA lpnspBuffer ); __declspec(dllimport) INT __stdcall WSAEnumNameSpaceProvidersW( LPDWORD lpdwBufferLength, LPWSANAMESPACE_INFOW lpnspBuffer ); __declspec(deprecated("Use " "WSAEnumNameSpaceProvidersW()" " instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings")) __declspec(dllimport) INT __stdcall WSAEnumNameSpaceProvidersExA( LPDWORD lpdwBufferLength, LPWSANAMESPACE_INFOEXA lpnspBuffer ); __declspec(dllimport) INT __stdcall WSAEnumNameSpaceProvidersExW( LPDWORD lpdwBufferLength, LPWSANAMESPACE_INFOEXW lpnspBuffer ); #pragma region Desktop Family or OneCore Family __declspec(deprecated("Use " "WSAGetServiceClassNameByClassIdW()" " instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings")) __declspec(dllimport) INT __stdcall WSAGetServiceClassNameByClassIdA( LPGUID lpServiceClassId, LPSTR lpszServiceClassName, LPDWORD lpdwBufferLength ); #pragma endregion __declspec(dllimport) INT __stdcall WSAGetServiceClassNameByClassIdW( LPGUID lpServiceClassId, LPWSTR lpszServiceClassName, LPDWORD lpdwBufferLength ); __declspec(deprecated("Use " "WSASetServiceW()" " instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings")) __declspec(dllimport) INT __stdcall WSASetServiceA( LPWSAQUERYSETA lpqsRegInfo, WSAESETSERVICEOP essoperation, DWORD dwControlFlags ); __declspec(dllimport) INT __stdcall WSASetServiceW( LPWSAQUERYSETW lpqsRegInfo, WSAESETSERVICEOP essoperation, DWORD dwControlFlags ); __declspec(dllimport) INT __stdcall WSAProviderConfigChange( LPHANDLE lpNotificationHandle, LPWSAOVERLAPPED lpOverlapped, LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine ); __declspec(dllimport) int __stdcall WSAPoll( LPWSAPOLLFD fdArray, ULONG fds, INT timeout ); typedef struct sockaddr_in *LPSOCKADDR_IN; typedef struct linger LINGER; typedef struct linger *PLINGER; typedef struct linger *LPLINGER; typedef struct fd_set FD_SET; typedef struct fd_set *PFD_SET; typedef struct fd_set *LPFD_SET; typedef struct hostent HOSTENT; typedef struct hostent *PHOSTENT; typedef struct hostent *LPHOSTENT; typedef struct servent SERVENT; typedef struct servent *PSERVENT; typedef struct servent *LPSERVENT; typedef struct protoent PROTOENT; typedef struct protoent *PPROTOENT; typedef struct protoent *LPPROTOENT; typedef struct timeval TIMEVAL; typedef struct timeval *PTIMEVAL; typedef struct timeval *LPTIMEVAL; } namespace ATL { __declspec( noinline ) __declspec(noreturn) inline void __stdcall AtlThrowImpl( HRESULT hr); __declspec( noinline ) __declspec(noreturn) inline void __stdcall AtlThrowLastWin32(); } #pragma warning(push) #pragma warning(disable:4001) #pragma once #pragma warning(disable:4103) #pragma pack(push,8) #pragma once extern "C" { #pragma warning(disable:4103) #pragma pack(push,8) typedef void * I_RPC_HANDLE; typedef long RPC_STATUS; #pragma once extern "C" { #pragma warning(push) #pragma warning(disable:4668) #pragma warning(disable:4820) #pragma region Application Family or OneCore Family or Games Family typedef unsigned char * RPC_CSTR; typedef unsigned short * RPC_WSTR; typedef const unsigned short * RPC_CWSTR; typedef I_RPC_HANDLE RPC_BINDING_HANDLE; typedef RPC_BINDING_HANDLE handle_t; typedef GUID UUID; #pragma endregion #pragma region Desktop Family or OneCore Family typedef struct _RPC_BINDING_VECTOR { unsigned long Count; RPC_BINDING_HANDLE BindingH[1]; } RPC_BINDING_VECTOR; typedef struct _UUID_VECTOR { unsigned long Count; UUID *Uuid[1]; } UUID_VECTOR; #pragma endregion #pragma region Application Family or OneCore Family or Games Family typedef void * RPC_IF_HANDLE; typedef struct _RPC_IF_ID { UUID Uuid; unsigned short VersMajor; unsigned short VersMinor; } RPC_IF_ID; #pragma endregion #pragma region Desktop Family or OneCore Family typedef struct _RPC_PROTSEQ_VECTORA { unsigned int Count; unsigned char * Protseq[1]; } RPC_PROTSEQ_VECTORA; typedef struct _RPC_PROTSEQ_VECTORW { unsigned int Count; unsigned short * Protseq[1]; } RPC_PROTSEQ_VECTORW; typedef struct _RPC_POLICY { unsigned int Length ; unsigned long EndpointFlags ; unsigned long NICFlags ; } RPC_POLICY, *PRPC_POLICY ; typedef void __stdcall RPC_OBJECT_INQ_FN ( UUID * ObjectUuid, UUID * TypeUuid, RPC_STATUS * Status ); typedef RPC_STATUS __stdcall RPC_IF_CALLBACK_FN ( RPC_IF_HANDLE InterfaceUuid, void *Context ) ; typedef void __stdcall RPC_SECURITY_CALLBACK_FN ( void *Context ) ; #pragma endregion #pragma region Application Family or OneCore Family or Games Family typedef struct { unsigned int Count; unsigned long Stats[1]; } RPC_STATS_VECTOR; typedef struct { unsigned long Count; RPC_IF_ID * IfId[1]; } RPC_IF_ID_VECTOR; __declspec(dllimport) RPC_STATUS __stdcall RpcBindingCopy ( RPC_BINDING_HANDLE SourceBinding, RPC_BINDING_HANDLE * DestinationBinding ); __declspec(dllimport) RPC_STATUS __stdcall RpcBindingFree ( RPC_BINDING_HANDLE * Binding ); __declspec(dllimport) RPC_STATUS __stdcall RpcBindingSetOption ( RPC_BINDING_HANDLE hBinding, unsigned long option, ULONG_PTR optionValue ); __declspec(dllimport) RPC_STATUS __stdcall RpcBindingInqOption ( RPC_BINDING_HANDLE hBinding, unsigned long option, ULONG_PTR *pOptionValue ); __declspec(dllimport) RPC_STATUS __stdcall RpcBindingFromStringBindingA ( RPC_CSTR StringBinding, RPC_BINDING_HANDLE * Binding ); __declspec(dllimport) RPC_STATUS __stdcall RpcBindingFromStringBindingW ( RPC_WSTR StringBinding, RPC_BINDING_HANDLE * Binding ); #pragma endregion #pragma region Desktop Family or OneCore Family __declspec(dllimport) RPC_STATUS __stdcall RpcSsGetContextBinding ( void *ContextHandle, RPC_BINDING_HANDLE * Binding ); #pragma endregion #pragma region Application Family or OneCore Family __declspec(dllimport) RPC_STATUS __stdcall RpcBindingInqObject ( RPC_BINDING_HANDLE Binding, UUID * ObjectUuid ); __declspec(dllimport) RPC_STATUS __stdcall RpcBindingReset ( RPC_BINDING_HANDLE Binding ); __declspec(dllimport) RPC_STATUS __stdcall RpcBindingSetObject ( RPC_BINDING_HANDLE Binding, UUID * ObjectUuid ); #pragma endregion #pragma region Desktop Family or OneCore Family __declspec(dllimport) RPC_STATUS __stdcall RpcMgmtInqDefaultProtectLevel ( unsigned long AuthnSvc, unsigned long *AuthnLevel ); #pragma endregion #pragma region Application Family or OneCore Family __declspec(dllimport) RPC_STATUS __stdcall RpcBindingToStringBindingA ( RPC_BINDING_HANDLE Binding, RPC_CSTR * StringBinding ); __declspec(dllimport) RPC_STATUS __stdcall RpcBindingToStringBindingW ( RPC_BINDING_HANDLE Binding, RPC_WSTR * StringBinding ); #pragma endregion #pragma region Desktop Family or OneCore Family __declspec(dllimport) RPC_STATUS __stdcall RpcBindingVectorFree ( RPC_BINDING_VECTOR * * BindingVector ); #pragma endregion #pragma region Application Family or OneCore Family __declspec(dllimport) RPC_STATUS __stdcall RpcStringBindingComposeA ( RPC_CSTR ObjUuid, RPC_CSTR ProtSeq, RPC_CSTR NetworkAddr, RPC_CSTR Endpoint, RPC_CSTR Options, RPC_CSTR * StringBinding ); __declspec(dllimport) RPC_STATUS __stdcall RpcStringBindingComposeW ( RPC_WSTR ObjUuid, RPC_WSTR ProtSeq, RPC_WSTR NetworkAddr, RPC_WSTR Endpoint, RPC_WSTR Options, RPC_WSTR * StringBinding ); #pragma endregion #pragma region Application Family or OneCore Family __declspec(dllimport) RPC_STATUS __stdcall RpcStringBindingParseA ( RPC_CSTR StringBinding, RPC_CSTR * ObjUuid, RPC_CSTR * Protseq, RPC_CSTR * NetworkAddr, RPC_CSTR * Endpoint, RPC_CSTR * NetworkOptions ); __declspec(dllimport) RPC_STATUS __stdcall RpcStringBindingParseW ( RPC_WSTR StringBinding, RPC_WSTR * ObjUuid, RPC_WSTR * Protseq, RPC_WSTR * NetworkAddr, RPC_WSTR * Endpoint, RPC_WSTR * NetworkOptions ); #pragma endregion #pragma region Application Family or OneCore Family __declspec(dllimport) RPC_STATUS __stdcall RpcStringFreeA ( RPC_CSTR * String ); __declspec(dllimport) RPC_STATUS __stdcall RpcStringFreeW ( RPC_WSTR * String ); #pragma endregion __declspec(dllimport) RPC_STATUS __stdcall RpcIfInqId ( RPC_IF_HANDLE RpcIfHandle, RPC_IF_ID * RpcIfId ); #pragma region Application Family or OneCore Family __declspec(dllimport) RPC_STATUS __stdcall RpcNetworkIsProtseqValidA ( RPC_CSTR Protseq ); __declspec(dllimport) RPC_STATUS __stdcall RpcNetworkIsProtseqValidW ( RPC_WSTR Protseq ); #pragma endregion __declspec(dllimport) RPC_STATUS __stdcall RpcMgmtInqComTimeout ( RPC_BINDING_HANDLE Binding, unsigned int * Timeout ); #pragma region Application Family or OneCore Family __declspec(dllimport) RPC_STATUS __stdcall RpcMgmtSetComTimeout ( RPC_BINDING_HANDLE Binding, unsigned int Timeout ); __declspec(dllimport) RPC_STATUS __stdcall RpcMgmtSetCancelTimeout( long Timeout ); #pragma endregion #pragma region Desktop Family or OneCore Family __declspec(dllimport) RPC_STATUS __stdcall RpcNetworkInqProtseqsA ( RPC_PROTSEQ_VECTORA * * ProtseqVector ); __declspec(dllimport) RPC_STATUS __stdcall RpcNetworkInqProtseqsW ( RPC_PROTSEQ_VECTORW * * ProtseqVector ); __declspec(dllimport) RPC_STATUS __stdcall RpcObjectInqType ( UUID * ObjUuid, UUID * TypeUuid ); __declspec(dllimport) RPC_STATUS __stdcall RpcObjectSetInqFn ( RPC_OBJECT_INQ_FN * InquiryFn ); __declspec(dllimport) RPC_STATUS __stdcall RpcObjectSetType ( UUID * ObjUuid, UUID * TypeUuid ); __declspec(dllimport) RPC_STATUS __stdcall RpcProtseqVectorFreeA ( RPC_PROTSEQ_VECTORA * * ProtseqVector ); __declspec(dllimport) RPC_STATUS __stdcall RpcProtseqVectorFreeW ( RPC_PROTSEQ_VECTORW * * ProtseqVector ); __declspec(dllimport) RPC_STATUS __stdcall RpcServerInqBindings ( RPC_BINDING_VECTOR * * BindingVector ); __declspec(dllimport) RPC_STATUS __stdcall RpcServerInqBindingsEx ( void * SecurityDescriptor, RPC_BINDING_VECTOR * * BindingVector ); __declspec(dllimport) RPC_STATUS __stdcall RpcServerInqIf ( RPC_IF_HANDLE IfSpec, UUID * MgrTypeUuid, void * * MgrEpv ); __declspec(dllimport) RPC_STATUS __stdcall RpcServerListen ( unsigned int MinimumCallThreads, unsigned int MaxCalls, unsigned int DontWait ); __declspec(dllimport) RPC_STATUS __stdcall RpcServerRegisterIf ( RPC_IF_HANDLE IfSpec, UUID * MgrTypeUuid, void * MgrEpv ); __declspec(dllimport) RPC_STATUS __stdcall RpcServerRegisterIfEx ( RPC_IF_HANDLE IfSpec, UUID * MgrTypeUuid, void * MgrEpv, unsigned int Flags, unsigned int MaxCalls, RPC_IF_CALLBACK_FN *IfCallback ); __declspec(dllimport) RPC_STATUS __stdcall RpcServerRegisterIf2 ( RPC_IF_HANDLE IfSpec, UUID * MgrTypeUuid, void * MgrEpv, unsigned int Flags, unsigned int MaxCalls, unsigned int MaxRpcSize, RPC_IF_CALLBACK_FN *IfCallbackFn ); __declspec(dllimport) RPC_STATUS __stdcall RpcServerRegisterIf3 ( RPC_IF_HANDLE IfSpec, UUID * MgrTypeUuid, void * MgrEpv, unsigned int Flags, unsigned int MaxCalls, unsigned int MaxRpcSize, RPC_IF_CALLBACK_FN *IfCallback, void * SecurityDescriptor ); __declspec(dllimport) RPC_STATUS __stdcall RpcServerUnregisterIf ( RPC_IF_HANDLE IfSpec, UUID * MgrTypeUuid, unsigned int WaitForCallsToComplete ); __declspec(dllimport) RPC_STATUS __stdcall RpcServerUnregisterIfEx ( RPC_IF_HANDLE IfSpec, UUID * MgrTypeUuid, int RundownContextHandles ); __declspec(dllimport) RPC_STATUS __stdcall RpcServerUseAllProtseqs ( unsigned int MaxCalls, void * SecurityDescriptor ); __declspec(dllimport) RPC_STATUS __stdcall RpcServerUseAllProtseqsEx ( unsigned int MaxCalls, void * SecurityDescriptor, PRPC_POLICY Policy ); __declspec(dllimport) RPC_STATUS __stdcall RpcServerUseAllProtseqsIf ( unsigned int MaxCalls, RPC_IF_HANDLE IfSpec, void * SecurityDescriptor ); __declspec(dllimport) RPC_STATUS __stdcall RpcServerUseAllProtseqsIfEx ( unsigned int MaxCalls, RPC_IF_HANDLE IfSpec, void * SecurityDescriptor, PRPC_POLICY Policy ); __declspec(dllimport) RPC_STATUS __stdcall RpcServerUseProtseqA ( RPC_CSTR Protseq, unsigned int MaxCalls, void * SecurityDescriptor ); __declspec(dllimport) RPC_STATUS __stdcall RpcServerUseProtseqExA ( RPC_CSTR Protseq, unsigned int MaxCalls, void * SecurityDescriptor, PRPC_POLICY Policy ); __declspec(dllimport) RPC_STATUS __stdcall RpcServerUseProtseqW ( RPC_WSTR Protseq, unsigned int MaxCalls, void * SecurityDescriptor ); __declspec(dllimport) RPC_STATUS __stdcall RpcServerUseProtseqExW ( RPC_WSTR Protseq, unsigned int MaxCalls, void * SecurityDescriptor, PRPC_POLICY Policy ); __declspec(dllimport) RPC_STATUS __stdcall RpcServerUseProtseqEpA ( RPC_CSTR Protseq, unsigned int MaxCalls, RPC_CSTR Endpoint, void * SecurityDescriptor ); __declspec(dllimport) RPC_STATUS __stdcall RpcServerUseProtseqEpExA ( RPC_CSTR Protseq, unsigned int MaxCalls, RPC_CSTR Endpoint, void * SecurityDescriptor, PRPC_POLICY Policy ); __declspec(dllimport) RPC_STATUS __stdcall RpcServerUseProtseqEpW ( RPC_WSTR Protseq, unsigned int MaxCalls, RPC_WSTR Endpoint, void * SecurityDescriptor ); __declspec(dllimport) RPC_STATUS __stdcall RpcServerUseProtseqEpExW ( RPC_WSTR Protseq, unsigned int MaxCalls, RPC_WSTR Endpoint, void * SecurityDescriptor, PRPC_POLICY Policy ); __declspec(dllimport) RPC_STATUS __stdcall RpcServerUseProtseqIfA ( RPC_CSTR Protseq, unsigned int MaxCalls, RPC_IF_HANDLE IfSpec, void * SecurityDescriptor ); __declspec(dllimport) RPC_STATUS __stdcall RpcServerUseProtseqIfExA ( RPC_CSTR Protseq, unsigned int MaxCalls, RPC_IF_HANDLE IfSpec, void * SecurityDescriptor, PRPC_POLICY Policy ); __declspec(dllimport) RPC_STATUS __stdcall RpcServerUseProtseqIfW ( RPC_WSTR Protseq, unsigned int MaxCalls, RPC_IF_HANDLE IfSpec, void * SecurityDescriptor ); __declspec(dllimport) RPC_STATUS __stdcall RpcServerUseProtseqIfExW ( RPC_WSTR Protseq, unsigned int MaxCalls, RPC_IF_HANDLE IfSpec, void * SecurityDescriptor, PRPC_POLICY Policy ); __declspec(dllimport) void __stdcall RpcServerYield ( void ); __declspec(dllimport) RPC_STATUS __stdcall RpcMgmtStatsVectorFree ( RPC_STATS_VECTOR ** StatsVector ); #pragma endregion #pragma region Application Family or OneCore Family __declspec(dllimport) RPC_STATUS __stdcall RpcMgmtInqStats ( RPC_BINDING_HANDLE Binding, RPC_STATS_VECTOR ** Statistics ); __declspec(dllimport) RPC_STATUS __stdcall RpcMgmtIsServerListening ( RPC_BINDING_HANDLE Binding ); #pragma endregion #pragma region Desktop Family or OneCore Family __declspec(dllimport) RPC_STATUS __stdcall RpcMgmtStopServerListening ( RPC_BINDING_HANDLE Binding ); __declspec(dllimport) RPC_STATUS __stdcall RpcMgmtWaitServerListen ( void ); __declspec(dllimport) RPC_STATUS __stdcall RpcMgmtSetServerStackSize ( unsigned long ThreadStackSize ); __declspec(dllimport) void __stdcall RpcSsDontSerializeContext ( void ); __declspec(dllimport) RPC_STATUS __stdcall RpcMgmtEnableIdleCleanup ( void ); __declspec(dllimport) RPC_STATUS __stdcall RpcMgmtInqIfIds ( RPC_BINDING_HANDLE Binding, RPC_IF_ID_VECTOR * * IfIdVector ); __declspec(dllimport) RPC_STATUS __stdcall RpcIfIdVectorFree ( RPC_IF_ID_VECTOR * * IfIdVector ); #pragma endregion #pragma region Application Family or OneCore Family __declspec(dllimport) RPC_STATUS __stdcall RpcMgmtInqServerPrincNameA ( RPC_BINDING_HANDLE Binding, unsigned long AuthnSvc, RPC_CSTR * ServerPrincName ); __declspec(dllimport) RPC_STATUS __stdcall RpcMgmtInqServerPrincNameW ( RPC_BINDING_HANDLE Binding, unsigned long AuthnSvc, RPC_WSTR * ServerPrincName ); #pragma endregion #pragma region Desktop Family or OneCore Family __declspec(dllimport) RPC_STATUS __stdcall RpcServerInqDefaultPrincNameA ( unsigned long AuthnSvc, RPC_CSTR * PrincName ); __declspec(dllimport) RPC_STATUS __stdcall RpcServerInqDefaultPrincNameW ( unsigned long AuthnSvc, RPC_WSTR * PrincName ); #pragma endregion #pragma region Application Family or OneCore Family __declspec(dllimport) RPC_STATUS __stdcall RpcEpResolveBinding ( RPC_BINDING_HANDLE Binding, RPC_IF_HANDLE IfSpec ); #pragma endregion #pragma region Desktop Family or OneCore Family __declspec(dllimport) RPC_STATUS __stdcall RpcNsBindingInqEntryNameA ( RPC_BINDING_HANDLE Binding, unsigned long EntryNameSyntax, RPC_CSTR * EntryName ); __declspec(dllimport) RPC_STATUS __stdcall RpcNsBindingInqEntryNameW ( RPC_BINDING_HANDLE Binding, unsigned long EntryNameSyntax, RPC_WSTR * EntryName ); #pragma endregion #pragma region Application Family or OneCore Family typedef void * RPC_AUTH_IDENTITY_HANDLE; typedef void * RPC_AUTHZ_HANDLE; typedef struct _RPC_SECURITY_QOS { unsigned long Version; unsigned long Capabilities; unsigned long IdentityTracking; unsigned long ImpersonationType; } RPC_SECURITY_QOS, *PRPC_SECURITY_QOS; typedef struct _SEC_WINNT_AUTH_IDENTITY_W { unsigned short *User; unsigned long UserLength; unsigned short *Domain; unsigned long DomainLength; unsigned short *Password; unsigned long PasswordLength; unsigned long Flags; } SEC_WINNT_AUTH_IDENTITY_W, *PSEC_WINNT_AUTH_IDENTITY_W; typedef struct _SEC_WINNT_AUTH_IDENTITY_A { unsigned char *User; unsigned long UserLength; unsigned char *Domain; unsigned long DomainLength; unsigned char *Password; unsigned long PasswordLength; unsigned long Flags; } SEC_WINNT_AUTH_IDENTITY_A, *PSEC_WINNT_AUTH_IDENTITY_A; typedef struct _RPC_HTTP_TRANSPORT_CREDENTIALS_W { SEC_WINNT_AUTH_IDENTITY_W *TransportCredentials; unsigned long Flags; unsigned long AuthenticationTarget; unsigned long NumberOfAuthnSchemes; unsigned long *AuthnSchemes; unsigned short *ServerCertificateSubject; } RPC_HTTP_TRANSPORT_CREDENTIALS_W, *PRPC_HTTP_TRANSPORT_CREDENTIALS_W; typedef struct _RPC_HTTP_TRANSPORT_CREDENTIALS_A { SEC_WINNT_AUTH_IDENTITY_A *TransportCredentials; unsigned long Flags; unsigned long AuthenticationTarget; unsigned long NumberOfAuthnSchemes; unsigned long *AuthnSchemes; unsigned char *ServerCertificateSubject; } RPC_HTTP_TRANSPORT_CREDENTIALS_A, *PRPC_HTTP_TRANSPORT_CREDENTIALS_A; typedef struct _RPC_HTTP_TRANSPORT_CREDENTIALS_V2_W { SEC_WINNT_AUTH_IDENTITY_W *TransportCredentials; unsigned long Flags; unsigned long AuthenticationTarget; unsigned long NumberOfAuthnSchemes; unsigned long *AuthnSchemes; unsigned short *ServerCertificateSubject; SEC_WINNT_AUTH_IDENTITY_W *ProxyCredentials; unsigned long NumberOfProxyAuthnSchemes; unsigned long *ProxyAuthnSchemes; } RPC_HTTP_TRANSPORT_CREDENTIALS_V2_W, *PRPC_HTTP_TRANSPORT_CREDENTIALS_V2_W; typedef struct _RPC_HTTP_TRANSPORT_CREDENTIALS_V2_A { SEC_WINNT_AUTH_IDENTITY_A *TransportCredentials; unsigned long Flags; unsigned long AuthenticationTarget; unsigned long NumberOfAuthnSchemes; unsigned long *AuthnSchemes; unsigned char *ServerCertificateSubject; SEC_WINNT_AUTH_IDENTITY_A *ProxyCredentials; unsigned long NumberOfProxyAuthnSchemes; unsigned long *ProxyAuthnSchemes; } RPC_HTTP_TRANSPORT_CREDENTIALS_V2_A, *PRPC_HTTP_TRANSPORT_CREDENTIALS_V2_A; typedef struct _RPC_HTTP_TRANSPORT_CREDENTIALS_V3_W { RPC_AUTH_IDENTITY_HANDLE TransportCredentials; unsigned long Flags; unsigned long AuthenticationTarget; unsigned long NumberOfAuthnSchemes; unsigned long *AuthnSchemes; unsigned short *ServerCertificateSubject; RPC_AUTH_IDENTITY_HANDLE ProxyCredentials; unsigned long NumberOfProxyAuthnSchemes; unsigned long *ProxyAuthnSchemes; } RPC_HTTP_TRANSPORT_CREDENTIALS_V3_W, *PRPC_HTTP_TRANSPORT_CREDENTIALS_V3_W; typedef struct _RPC_HTTP_TRANSPORT_CREDENTIALS_V3_A { RPC_AUTH_IDENTITY_HANDLE TransportCredentials; unsigned long Flags; unsigned long AuthenticationTarget; unsigned long NumberOfAuthnSchemes; unsigned long *AuthnSchemes; unsigned char *ServerCertificateSubject; RPC_AUTH_IDENTITY_HANDLE ProxyCredentials; unsigned long NumberOfProxyAuthnSchemes; unsigned long *ProxyAuthnSchemes; } RPC_HTTP_TRANSPORT_CREDENTIALS_V3_A, *PRPC_HTTP_TRANSPORT_CREDENTIALS_V3_A; typedef struct _RPC_SECURITY_QOS_V2_W { unsigned long Version; unsigned long Capabilities; unsigned long IdentityTracking; unsigned long ImpersonationType; unsigned long AdditionalSecurityInfoType; union { RPC_HTTP_TRANSPORT_CREDENTIALS_W *HttpCredentials; } u; } RPC_SECURITY_QOS_V2_W, *PRPC_SECURITY_QOS_V2_W; typedef struct _RPC_SECURITY_QOS_V2_A { unsigned long Version; unsigned long Capabilities; unsigned long IdentityTracking; unsigned long ImpersonationType; unsigned long AdditionalSecurityInfoType; union { RPC_HTTP_TRANSPORT_CREDENTIALS_A *HttpCredentials; } u; } RPC_SECURITY_QOS_V2_A, *PRPC_SECURITY_QOS_V2_A; typedef struct _RPC_SECURITY_QOS_V3_W { unsigned long Version; unsigned long Capabilities; unsigned long IdentityTracking; unsigned long ImpersonationType; unsigned long AdditionalSecurityInfoType; union { RPC_HTTP_TRANSPORT_CREDENTIALS_W *HttpCredentials; } u; void *Sid; } RPC_SECURITY_QOS_V3_W, *PRPC_SECURITY_QOS_V3_W; typedef struct _RPC_SECURITY_QOS_V3_A { unsigned long Version; unsigned long Capabilities; unsigned long IdentityTracking; unsigned long ImpersonationType; unsigned long AdditionalSecurityInfoType; union { RPC_HTTP_TRANSPORT_CREDENTIALS_A *HttpCredentials; } u; void *Sid; } RPC_SECURITY_QOS_V3_A, *PRPC_SECURITY_QOS_V3_A; typedef struct _RPC_SECURITY_QOS_V4_W { unsigned long Version; unsigned long Capabilities; unsigned long IdentityTracking; unsigned long ImpersonationType; unsigned long AdditionalSecurityInfoType; union { RPC_HTTP_TRANSPORT_CREDENTIALS_W *HttpCredentials; } u; void *Sid; unsigned int EffectiveOnly; } RPC_SECURITY_QOS_V4_W, *PRPC_SECURITY_QOS_V4_W; typedef struct _RPC_SECURITY_QOS_V4_A { unsigned long Version; unsigned long Capabilities; unsigned long IdentityTracking; unsigned long ImpersonationType; unsigned long AdditionalSecurityInfoType; union { RPC_HTTP_TRANSPORT_CREDENTIALS_A *HttpCredentials; } u; void *Sid; unsigned int EffectiveOnly; } RPC_SECURITY_QOS_V4_A, *PRPC_SECURITY_QOS_V4_A; typedef struct _RPC_SECURITY_QOS_V5_W { unsigned long Version; unsigned long Capabilities; unsigned long IdentityTracking; unsigned long ImpersonationType; unsigned long AdditionalSecurityInfoType; union { RPC_HTTP_TRANSPORT_CREDENTIALS_W *HttpCredentials; } u; void *Sid; unsigned int EffectiveOnly; void *ServerSecurityDescriptor; } RPC_SECURITY_QOS_V5_W, *PRPC_SECURITY_QOS_V5_W; typedef struct _RPC_SECURITY_QOS_V5_A { unsigned long Version; unsigned long Capabilities; unsigned long IdentityTracking; unsigned long ImpersonationType; unsigned long AdditionalSecurityInfoType; union { RPC_HTTP_TRANSPORT_CREDENTIALS_A *HttpCredentials; } u; void *Sid; unsigned int EffectiveOnly; void *ServerSecurityDescriptor; } RPC_SECURITY_QOS_V5_A, *PRPC_SECURITY_QOS_V5_A; #pragma endregion #pragma region Desktop Family or OneCore Family #pragma endregion #pragma region Application Family or OneCore Family typedef struct _RPC_BINDING_HANDLE_TEMPLATE_V1_W { unsigned long Version; unsigned long Flags; unsigned long ProtocolSequence; unsigned short *NetworkAddress; unsigned short *StringEndpoint; union { unsigned short *Reserved; } u1; UUID ObjectUuid; } RPC_BINDING_HANDLE_TEMPLATE_V1_W, *PRPC_BINDING_HANDLE_TEMPLATE_V1_W; typedef struct _RPC_BINDING_HANDLE_TEMPLATE_V1_A { unsigned long Version; unsigned long Flags; unsigned long ProtocolSequence; unsigned char *NetworkAddress; unsigned char *StringEndpoint; union { unsigned char *Reserved; } u1; UUID ObjectUuid; } RPC_BINDING_HANDLE_TEMPLATE_V1_A, *PRPC_BINDING_HANDLE_TEMPLATE_V1_A; typedef struct _RPC_BINDING_HANDLE_SECURITY_V1_W { unsigned long Version; unsigned short *ServerPrincName; unsigned long AuthnLevel; unsigned long AuthnSvc; SEC_WINNT_AUTH_IDENTITY_W *AuthIdentity; RPC_SECURITY_QOS *SecurityQos; } RPC_BINDING_HANDLE_SECURITY_V1_W, *PRPC_BINDING_HANDLE_SECURITY_V1_W; typedef struct _RPC_BINDING_HANDLE_SECURITY_V1_A { unsigned long Version; unsigned char *ServerPrincName; unsigned long AuthnLevel; unsigned long AuthnSvc; SEC_WINNT_AUTH_IDENTITY_A *AuthIdentity; RPC_SECURITY_QOS *SecurityQos; } RPC_BINDING_HANDLE_SECURITY_V1_A, *PRPC_BINDING_HANDLE_SECURITY_V1_A; typedef struct _RPC_BINDING_HANDLE_OPTIONS_V1 { unsigned long Version; unsigned long Flags; unsigned long ComTimeout; unsigned long CallTimeout; } RPC_BINDING_HANDLE_OPTIONS_V1, *PRPC_BINDING_HANDLE_OPTIONS_V1; __declspec(dllimport) RPC_STATUS __stdcall RpcBindingCreateA ( RPC_BINDING_HANDLE_TEMPLATE_V1_A * Template, RPC_BINDING_HANDLE_SECURITY_V1_A * Security, RPC_BINDING_HANDLE_OPTIONS_V1 * Options, RPC_BINDING_HANDLE * Binding ); __declspec(dllimport) RPC_STATUS __stdcall RpcBindingCreateW ( RPC_BINDING_HANDLE_TEMPLATE_V1_W * Template, RPC_BINDING_HANDLE_SECURITY_V1_W * Security, RPC_BINDING_HANDLE_OPTIONS_V1 * Options, RPC_BINDING_HANDLE * Binding ); #pragma endregion #pragma region Desktop Family or OneCore Family __declspec(dllimport) RPC_STATUS __stdcall RpcBindingGetTrainingContextHandle ( RPC_BINDING_HANDLE Binding, void ** ContextHandle ); __declspec(dllimport) RPC_STATUS __stdcall RpcServerInqBindingHandle ( RPC_BINDING_HANDLE * Binding ); #pragma endregion #pragma region Application Family or OneCore Family typedef enum _RPC_HTTP_REDIRECTOR_STAGE { RPCHTTP_RS_REDIRECT = 1, RPCHTTP_RS_ACCESS_1, RPCHTTP_RS_SESSION, RPCHTTP_RS_ACCESS_2, RPCHTTP_RS_INTERFACE } RPC_HTTP_REDIRECTOR_STAGE; #pragma endregion #pragma region Desktop Family or OneCore Family typedef RPC_STATUS (__stdcall * RPC_NEW_HTTP_PROXY_CHANNEL) ( RPC_HTTP_REDIRECTOR_STAGE RedirectorStage, RPC_WSTR ServerName, RPC_WSTR ServerPort, RPC_WSTR RemoteUser, RPC_WSTR AuthType, void * ResourceUuid, void * SessionId, void * Interface, void * Reserved, unsigned long Flags, RPC_WSTR * NewServerName, RPC_WSTR * NewServerPort ); typedef void (__stdcall * RPC_HTTP_PROXY_FREE_STRING) ( RPC_WSTR String ); #pragma endregion #pragma region Application Family or OneCore Family #pragma endregion #pragma region Desktop Family or OneCore Family __declspec(dllimport) RPC_STATUS __stdcall RpcImpersonateClient ( RPC_BINDING_HANDLE BindingHandle ); __declspec(dllimport) RPC_STATUS __stdcall RpcImpersonateClient2 ( RPC_BINDING_HANDLE BindingHandle ); __declspec(dllimport) RPC_STATUS __stdcall RpcRevertToSelfEx ( RPC_BINDING_HANDLE BindingHandle ); __declspec(dllimport) RPC_STATUS __stdcall RpcRevertToSelf ( void ); __declspec(dllimport) RPC_STATUS __stdcall RpcImpersonateClientContainer ( RPC_BINDING_HANDLE BindingHandle ); __declspec(dllimport) RPC_STATUS __stdcall RpcRevertContainerImpersonation ( void ); #pragma endregion #pragma region Desktop Family or OneCore Family __declspec(dllimport) RPC_STATUS __stdcall RpcBindingInqAuthClientA ( RPC_BINDING_HANDLE ClientBinding, RPC_AUTHZ_HANDLE * Privs, RPC_CSTR * ServerPrincName, unsigned long * AuthnLevel, unsigned long * AuthnSvc, unsigned long * AuthzSvc ); __declspec(dllimport) RPC_STATUS __stdcall RpcBindingInqAuthClientW ( RPC_BINDING_HANDLE ClientBinding, RPC_AUTHZ_HANDLE * Privs, RPC_WSTR * ServerPrincName, unsigned long * AuthnLevel, unsigned long * AuthnSvc, unsigned long * AuthzSvc ); __declspec(dllimport) RPC_STATUS __stdcall RpcBindingInqAuthClientExA ( RPC_BINDING_HANDLE ClientBinding, RPC_AUTHZ_HANDLE * Privs, RPC_CSTR * ServerPrincName, unsigned long * AuthnLevel, unsigned long * AuthnSvc, unsigned long * AuthzSvc, unsigned long Flags ); __declspec(dllimport) RPC_STATUS __stdcall RpcBindingInqAuthClientExW ( RPC_BINDING_HANDLE ClientBinding, RPC_AUTHZ_HANDLE * Privs, RPC_WSTR * ServerPrincName, unsigned long * AuthnLevel, unsigned long * AuthnSvc, unsigned long * AuthzSvc, unsigned long Flags ); #pragma endregion #pragma region Application Family or OneCore Family __declspec(dllimport) RPC_STATUS __stdcall RpcBindingInqAuthInfoA ( RPC_BINDING_HANDLE Binding, RPC_CSTR * ServerPrincName, unsigned long * AuthnLevel, unsigned long * AuthnSvc, RPC_AUTH_IDENTITY_HANDLE * AuthIdentity, unsigned long * AuthzSvc ); __declspec(dllimport) RPC_STATUS __stdcall RpcBindingInqAuthInfoW ( RPC_BINDING_HANDLE Binding, RPC_WSTR * ServerPrincName, unsigned long * AuthnLevel, unsigned long * AuthnSvc, RPC_AUTH_IDENTITY_HANDLE * AuthIdentity, unsigned long * AuthzSvc ); __declspec(dllimport) RPC_STATUS __stdcall RpcBindingSetAuthInfoA ( RPC_BINDING_HANDLE Binding, RPC_CSTR ServerPrincName, unsigned long AuthnLevel, unsigned long AuthnSvc, RPC_AUTH_IDENTITY_HANDLE AuthIdentity, unsigned long AuthzSvc ); __declspec(dllimport) RPC_STATUS __stdcall RpcBindingSetAuthInfoExA ( RPC_BINDING_HANDLE Binding, RPC_CSTR ServerPrincName, unsigned long AuthnLevel, unsigned long AuthnSvc, RPC_AUTH_IDENTITY_HANDLE AuthIdentity, unsigned long AuthzSvc, RPC_SECURITY_QOS * SecurityQos ); __declspec(dllimport) RPC_STATUS __stdcall RpcBindingSetAuthInfoW ( RPC_BINDING_HANDLE Binding, RPC_WSTR ServerPrincName, unsigned long AuthnLevel, unsigned long AuthnSvc, RPC_AUTH_IDENTITY_HANDLE AuthIdentity, unsigned long AuthzSvc ); __declspec(dllimport) RPC_STATUS __stdcall RpcBindingSetAuthInfoExW ( RPC_BINDING_HANDLE Binding, RPC_WSTR ServerPrincName, unsigned long AuthnLevel, unsigned long AuthnSvc, RPC_AUTH_IDENTITY_HANDLE AuthIdentity, unsigned long AuthzSvc, RPC_SECURITY_QOS * SecurityQOS ); __declspec(dllimport) RPC_STATUS __stdcall RpcBindingInqAuthInfoExA ( RPC_BINDING_HANDLE Binding, RPC_CSTR * ServerPrincName, unsigned long * AuthnLevel, unsigned long * AuthnSvc, RPC_AUTH_IDENTITY_HANDLE * AuthIdentity, unsigned long * AuthzSvc, unsigned long RpcQosVersion, RPC_SECURITY_QOS *SecurityQOS ); __declspec(dllimport) RPC_STATUS __stdcall RpcBindingInqAuthInfoExW ( RPC_BINDING_HANDLE Binding, RPC_WSTR * ServerPrincName, unsigned long * AuthnLevel, unsigned long * AuthnSvc, RPC_AUTH_IDENTITY_HANDLE * AuthIdentity, unsigned long * AuthzSvc, unsigned long RpcQosVersion, RPC_SECURITY_QOS * SecurityQOS ); #pragma endregion #pragma region Desktop Family or OneCore Family typedef void (__stdcall * RPC_AUTH_KEY_RETRIEVAL_FN) ( void * Arg, RPC_WSTR ServerPrincName, unsigned long KeyVer, void * * Key, RPC_STATUS * Status ); __declspec(dllimport) RPC_STATUS __stdcall RpcServerCompleteSecurityCallback( RPC_BINDING_HANDLE BindingHandle, RPC_STATUS Status ); __declspec(dllimport) RPC_STATUS __stdcall RpcServerRegisterAuthInfoA ( RPC_CSTR ServerPrincName, unsigned long AuthnSvc, RPC_AUTH_KEY_RETRIEVAL_FN GetKeyFn, void * Arg ); __declspec(dllimport) RPC_STATUS __stdcall RpcServerRegisterAuthInfoW ( RPC_WSTR ServerPrincName, unsigned long AuthnSvc, RPC_AUTH_KEY_RETRIEVAL_FN GetKeyFn, void * Arg ); #pragma endregion #pragma region Application Family or OneCore Family #pragma endregion #pragma region Desktop Family or OneCore Family typedef struct { unsigned char * UserName; unsigned char * ComputerName; unsigned short Privilege; unsigned long AuthFlags; } RPC_CLIENT_INFORMATION1, * PRPC_CLIENT_INFORMATION1; __declspec(dllimport) RPC_STATUS __stdcall RpcBindingServerFromClient ( RPC_BINDING_HANDLE ClientBinding, RPC_BINDING_HANDLE * ServerBinding ); #pragma endregion #pragma region Application Family or OneCore Family __declspec(dllimport) __declspec(noreturn) void __stdcall RpcRaiseException ( RPC_STATUS exception ); __declspec(dllimport) RPC_STATUS __stdcall RpcTestCancel( void ); #pragma endregion #pragma region Desktop Family or OneCore Family __declspec(dllimport) RPC_STATUS __stdcall RpcServerTestCancel ( RPC_BINDING_HANDLE BindingHandle ); __declspec(dllimport) RPC_STATUS __stdcall RpcCancelThread( void * Thread ); __declspec(dllimport) RPC_STATUS __stdcall RpcCancelThreadEx( void * Thread, long Timeout ); #pragma endregion #pragma region Application Family or OneCore Family __declspec(dllimport) RPC_STATUS __stdcall UuidCreate ( UUID * Uuid ); __declspec(dllimport) RPC_STATUS __stdcall UuidCreateSequential ( UUID * Uuid ); __declspec(dllimport) RPC_STATUS __stdcall UuidToStringA ( const UUID * Uuid, RPC_CSTR * StringUuid ); __declspec(dllimport) RPC_STATUS __stdcall UuidFromStringA ( RPC_CSTR StringUuid, UUID * Uuid ); __declspec(dllimport) RPC_STATUS __stdcall UuidToStringW ( const UUID * Uuid, RPC_WSTR * StringUuid ); __declspec(dllimport) RPC_STATUS __stdcall UuidFromStringW ( RPC_WSTR StringUuid, UUID * Uuid ); __declspec(dllimport) signed int __stdcall UuidCompare ( UUID * Uuid1, UUID * Uuid2, RPC_STATUS * Status ); __declspec(dllimport) RPC_STATUS __stdcall UuidCreateNil ( UUID * NilUuid ); __declspec(dllimport) int __stdcall UuidEqual ( UUID * Uuid1, UUID * Uuid2, RPC_STATUS * Status ); __declspec(dllimport) unsigned short __stdcall UuidHash ( UUID * Uuid, RPC_STATUS * Status ); __declspec(dllimport) int __stdcall UuidIsNil ( UUID * Uuid, RPC_STATUS * Status ); #pragma endregion #pragma region Desktop Family or OneCore Family __declspec(dllimport) RPC_STATUS __stdcall RpcEpRegisterNoReplaceA ( RPC_IF_HANDLE IfSpec, RPC_BINDING_VECTOR * BindingVector, UUID_VECTOR * UuidVector, RPC_CSTR Annotation ); __declspec(dllimport) RPC_STATUS __stdcall RpcEpRegisterNoReplaceW ( RPC_IF_HANDLE IfSpec, RPC_BINDING_VECTOR * BindingVector, UUID_VECTOR * UuidVector, RPC_WSTR Annotation ); __declspec(dllimport) RPC_STATUS __stdcall RpcEpRegisterA ( RPC_IF_HANDLE IfSpec, RPC_BINDING_VECTOR * BindingVector, UUID_VECTOR * UuidVector, RPC_CSTR Annotation ); __declspec(dllimport) RPC_STATUS __stdcall RpcEpRegisterW ( RPC_IF_HANDLE IfSpec, RPC_BINDING_VECTOR * BindingVector, UUID_VECTOR * UuidVector, RPC_WSTR Annotation ); __declspec(dllimport) RPC_STATUS __stdcall RpcEpUnregister( RPC_IF_HANDLE IfSpec, RPC_BINDING_VECTOR * BindingVector, UUID_VECTOR * UuidVector ); #pragma endregion #pragma region Application Family or OneCore Family __declspec(dllimport) RPC_STATUS __stdcall DceErrorInqTextA ( RPC_STATUS RpcStatus, RPC_CSTR ErrorText ); __declspec(dllimport) RPC_STATUS __stdcall DceErrorInqTextW ( RPC_STATUS RpcStatus, RPC_WSTR ErrorText ); #pragma endregion #pragma region Desktop Family or OneCore Family typedef I_RPC_HANDLE * RPC_EP_INQ_HANDLE; __declspec(dllimport) RPC_STATUS __stdcall RpcMgmtEpEltInqBegin ( RPC_BINDING_HANDLE EpBinding, unsigned long InquiryType, RPC_IF_ID * IfId, unsigned long VersOption, UUID * ObjectUuid, RPC_EP_INQ_HANDLE * InquiryContext ); __declspec(dllimport) RPC_STATUS __stdcall RpcMgmtEpEltInqDone ( RPC_EP_INQ_HANDLE * InquiryContext ); __declspec(dllimport) RPC_STATUS __stdcall RpcMgmtEpEltInqNextA ( RPC_EP_INQ_HANDLE InquiryContext, RPC_IF_ID * IfId, RPC_BINDING_HANDLE * Binding, UUID * ObjectUuid, RPC_CSTR * Annotation ); __declspec(dllimport) RPC_STATUS __stdcall RpcMgmtEpEltInqNextW ( RPC_EP_INQ_HANDLE InquiryContext, RPC_IF_ID * IfId, RPC_BINDING_HANDLE * Binding, UUID * ObjectUuid, RPC_WSTR * Annotation ); __declspec(dllimport) RPC_STATUS __stdcall RpcMgmtEpUnregister ( RPC_BINDING_HANDLE EpBinding, RPC_IF_ID * IfId, RPC_BINDING_HANDLE Binding, UUID * ObjectUuid ); typedef int (__stdcall * RPC_MGMT_AUTHORIZATION_FN) ( RPC_BINDING_HANDLE ClientBinding, unsigned long RequestedMgmtOperation, RPC_STATUS * Status ); __declspec(dllimport) RPC_STATUS __stdcall RpcMgmtSetAuthorizationFn ( RPC_MGMT_AUTHORIZATION_FN AuthorizationFn ); #pragma endregion #pragma region Application Family or OneCore Family __declspec(dllimport) int __stdcall RpcExceptionFilter ( unsigned long ExceptionCode ); #pragma endregion #pragma region Desktop Family or OneCore Family typedef void *RPC_INTERFACE_GROUP, **PRPC_INTERFACE_GROUP; typedef struct { unsigned long Version; RPC_WSTR ProtSeq; RPC_WSTR Endpoint; void * SecurityDescriptor; unsigned long Backlog; } RPC_ENDPOINT_TEMPLATEW, *PRPC_ENDPOINT_TEMPLATEW; typedef struct { unsigned long Version; RPC_CSTR ProtSeq; RPC_CSTR Endpoint; void * SecurityDescriptor; unsigned long Backlog; } RPC_ENDPOINT_TEMPLATEA, *PRPC_ENDPOINT_TEMPLATEA; typedef struct { unsigned long Version; RPC_IF_HANDLE IfSpec; UUID * MgrTypeUuid; void * MgrEpv; unsigned int Flags; unsigned int MaxCalls; unsigned int MaxRpcSize; RPC_IF_CALLBACK_FN *IfCallback; UUID_VECTOR *UuidVector; RPC_CSTR Annotation; void * SecurityDescriptor; } RPC_INTERFACE_TEMPLATEA, *PRPC_INTERFACE_TEMPLATEA; typedef struct { unsigned long Version; RPC_IF_HANDLE IfSpec; UUID * MgrTypeUuid; void * MgrEpv; unsigned int Flags; unsigned int MaxCalls; unsigned int MaxRpcSize; RPC_IF_CALLBACK_FN *IfCallback; UUID_VECTOR *UuidVector; RPC_WSTR Annotation; void * SecurityDescriptor; } RPC_INTERFACE_TEMPLATEW, *PRPC_INTERFACE_TEMPLATEW; typedef void __stdcall RPC_INTERFACE_GROUP_IDLE_CALLBACK_FN ( RPC_INTERFACE_GROUP IfGroup, void* IdleCallbackContext, unsigned long IsGroupIdle ); __declspec(dllimport) RPC_STATUS __stdcall RpcServerInterfaceGroupCreateW ( RPC_INTERFACE_TEMPLATEW *Interfaces, unsigned long NumIfs, RPC_ENDPOINT_TEMPLATEW *Endpoints, unsigned long NumEndpoints, unsigned long IdlePeriod, RPC_INTERFACE_GROUP_IDLE_CALLBACK_FN IdleCallbackFn, void* IdleCallbackContext, PRPC_INTERFACE_GROUP IfGroup ); __declspec(dllimport) RPC_STATUS __stdcall RpcServerInterfaceGroupCreateA ( RPC_INTERFACE_TEMPLATEA *Interfaces, unsigned long NumIfs, RPC_ENDPOINT_TEMPLATEA *Endpoints, unsigned long NumEndpoints, unsigned long IdlePeriod, RPC_INTERFACE_GROUP_IDLE_CALLBACK_FN IdleCallbackFn, void* IdleCallbackContext, PRPC_INTERFACE_GROUP IfGroup ); __declspec(dllimport) RPC_STATUS __stdcall RpcServerInterfaceGroupClose ( RPC_INTERFACE_GROUP IfGroup ); __declspec(dllimport) RPC_STATUS __stdcall RpcServerInterfaceGroupActivate ( RPC_INTERFACE_GROUP IfGroup ); __declspec(dllimport) RPC_STATUS __stdcall RpcServerInterfaceGroupDeactivate ( RPC_INTERFACE_GROUP IfGroup, unsigned long ForceDeactivation ); __declspec(dllimport) RPC_STATUS __stdcall RpcServerInterfaceGroupInqBindings ( RPC_INTERFACE_GROUP IfGroup, RPC_BINDING_VECTOR * * BindingVector ); #pragma endregion #pragma warning(pop) #pragma once extern "C" { #pragma warning(push) #pragma warning(disable:4668) #pragma warning(disable:4820) #pragma region Application Family or OneCore Family or Games Family typedef struct _RPC_VERSION { unsigned short MajorVersion; unsigned short MinorVersion; } RPC_VERSION; typedef struct _RPC_SYNTAX_IDENTIFIER { GUID SyntaxGUID; RPC_VERSION SyntaxVersion; } RPC_SYNTAX_IDENTIFIER, * PRPC_SYNTAX_IDENTIFIER; typedef struct _RPC_MESSAGE { RPC_BINDING_HANDLE Handle; unsigned long DataRepresentation; void * Buffer; unsigned int BufferLength; unsigned int ProcNum; PRPC_SYNTAX_IDENTIFIER TransferSyntax; void * RpcInterfaceInformation; void * ReservedForRuntime; void * ManagerEpv; void * ImportContext; unsigned long RpcFlags; } RPC_MESSAGE, * PRPC_MESSAGE; #pragma endregion #pragma region Desktop Family or OneCore Family typedef RPC_STATUS __stdcall RPC_FORWARD_FUNCTION( UUID * InterfaceId, RPC_VERSION * InterfaceVersion, UUID * ObjectId, unsigned char * Rpcpro, void * * ppDestEndpoint); enum RPC_ADDRESS_CHANGE_TYPE { PROTOCOL_NOT_LOADED = 1, PROTOCOL_LOADED, PROTOCOL_ADDRESS_CHANGE }; typedef void __stdcall RPC_ADDRESS_CHANGE_FN( void * arg ); #pragma endregion #pragma region Application Family or OneCore Family or Games Family typedef void (__stdcall * RPC_DISPATCH_FUNCTION) ( PRPC_MESSAGE Message ); typedef struct { unsigned int DispatchTableCount; RPC_DISPATCH_FUNCTION * DispatchTable; LONG_PTR Reserved; } RPC_DISPATCH_TABLE, * PRPC_DISPATCH_TABLE; typedef struct _RPC_PROTSEQ_ENDPOINT { unsigned char * RpcProtocolSequence; unsigned char * Endpoint; } RPC_PROTSEQ_ENDPOINT, * PRPC_PROTSEQ_ENDPOINT; typedef struct _RPC_SERVER_INTERFACE { unsigned int Length; RPC_SYNTAX_IDENTIFIER InterfaceId; RPC_SYNTAX_IDENTIFIER TransferSyntax; PRPC_DISPATCH_TABLE DispatchTable; unsigned int RpcProtseqEndpointCount; PRPC_PROTSEQ_ENDPOINT RpcProtseqEndpoint; void *DefaultManagerEpv; void const *InterpreterInfo; unsigned int Flags ; } RPC_SERVER_INTERFACE, * PRPC_SERVER_INTERFACE; typedef struct _RPC_CLIENT_INTERFACE { unsigned int Length; RPC_SYNTAX_IDENTIFIER InterfaceId; RPC_SYNTAX_IDENTIFIER TransferSyntax; PRPC_DISPATCH_TABLE DispatchTable; unsigned int RpcProtseqEndpointCount; PRPC_PROTSEQ_ENDPOINT RpcProtseqEndpoint; ULONG_PTR Reserved; void const * InterpreterInfo; unsigned int Flags ; } RPC_CLIENT_INTERFACE, * PRPC_CLIENT_INTERFACE; #pragma endregion #pragma region Desktop Family or OneCore Family __declspec(dllimport) RPC_STATUS __stdcall I_RpcNegotiateTransferSyntax ( RPC_MESSAGE * Message ); __declspec(dllimport) RPC_STATUS __stdcall I_RpcGetBuffer ( RPC_MESSAGE * Message ); __declspec(dllimport) RPC_STATUS __stdcall I_RpcGetBufferWithObject ( RPC_MESSAGE * Message, UUID * ObjectUuid ); __declspec(dllimport) RPC_STATUS __stdcall I_RpcSendReceive ( RPC_MESSAGE * Message ); __declspec(dllimport) RPC_STATUS __stdcall I_RpcFreeBuffer ( RPC_MESSAGE * Message ); __declspec(dllimport) RPC_STATUS __stdcall I_RpcSend ( PRPC_MESSAGE Message ); __declspec(dllimport) RPC_STATUS __stdcall I_RpcReceive ( PRPC_MESSAGE Message, unsigned int Size ); __declspec(dllimport) RPC_STATUS __stdcall I_RpcFreePipeBuffer ( RPC_MESSAGE * Message ); __declspec(dllimport) RPC_STATUS __stdcall I_RpcReallocPipeBuffer ( PRPC_MESSAGE Message, unsigned int NewSize ); typedef void * I_RPC_MUTEX; __declspec(dllimport) void __stdcall I_RpcRequestMutex ( I_RPC_MUTEX * Mutex ); __declspec(dllimport) void __stdcall I_RpcClearMutex ( I_RPC_MUTEX Mutex ); __declspec(dllimport) void __stdcall I_RpcDeleteMutex ( I_RPC_MUTEX Mutex ); __declspec(dllimport) void * __stdcall I_RpcAllocate ( unsigned int Size ); __declspec(dllimport) void __stdcall I_RpcFree ( void * Object ); __declspec(dllimport) unsigned long __stdcall I_RpcFreeSystemHandleCollection ( void * CallObj, unsigned long FreeFlags ); __declspec(dllimport) RPC_STATUS __stdcall I_RpcSetSystemHandle ( void * Handle, unsigned char Type, unsigned long AccessMask, void * CallObj, unsigned long * HandleIndex ); __declspec(dllimport) RPC_STATUS __stdcall I_RpcGetSystemHandle ( unsigned char* pMemory, unsigned char Type, unsigned long AccessMask, unsigned long HandleIndex, void * CallObj ); __declspec(dllimport) void __stdcall I_RpcFreeSystemHandle ( unsigned char Type, void * Handle ); __declspec(dllimport) void __stdcall I_RpcPauseExecution ( unsigned long Milliseconds ); __declspec(dllimport) RPC_STATUS __stdcall I_RpcGetExtendedError ( void ); typedef enum _LRPC_SYSTEM_HANDLE_MARSHAL_DIRECTION { MarshalDirectionMarshal, MarshalDirectionUnmarshal }LRPC_SYSTEM_HANDLE_MARSHAL_DIRECTION; __declspec(dllimport) RPC_STATUS __stdcall I_RpcSystemHandleTypeSpecificWork ( void * Handle, unsigned char ActualType, unsigned char IdlType, LRPC_SYSTEM_HANDLE_MARSHAL_DIRECTION MarshalDirection ); typedef void (__stdcall * PRPC_RUNDOWN) ( void * AssociationContext ); __declspec(dllimport) RPC_STATUS __stdcall I_RpcMonitorAssociation ( RPC_BINDING_HANDLE Handle, PRPC_RUNDOWN RundownRoutine, void * Context ); __declspec(dllimport) RPC_STATUS __stdcall I_RpcStopMonitorAssociation ( RPC_BINDING_HANDLE Handle ); __declspec(dllimport) RPC_BINDING_HANDLE __stdcall I_RpcGetCurrentCallHandle( void ); __declspec(dllimport) RPC_STATUS __stdcall I_RpcGetAssociationContext ( RPC_BINDING_HANDLE BindingHandle, void * * AssociationContext ); __declspec(dllimport) void * __stdcall I_RpcGetServerContextList ( RPC_BINDING_HANDLE BindingHandle ); __declspec(dllimport) void __stdcall I_RpcSetServerContextList ( RPC_BINDING_HANDLE BindingHandle, void * ServerContextList ); __declspec(dllimport) RPC_STATUS __stdcall I_RpcNsInterfaceExported ( unsigned long EntryNameSyntax, unsigned short *EntryName, RPC_SERVER_INTERFACE * RpcInterfaceInformation ); __declspec(dllimport) RPC_STATUS __stdcall I_RpcNsInterfaceUnexported ( unsigned long EntryNameSyntax, unsigned short *EntryName, RPC_SERVER_INTERFACE * RpcInterfaceInformation ); __declspec(dllimport) RPC_STATUS __stdcall I_RpcBindingToStaticStringBindingW ( RPC_BINDING_HANDLE Binding, unsigned short **StringBinding ); __declspec(dllimport) RPC_STATUS __stdcall I_RpcBindingInqSecurityContext ( RPC_BINDING_HANDLE Binding, void **SecurityContextHandle ); typedef struct _RPC_SEC_CONTEXT_KEY_INFO { unsigned long EncryptAlgorithm; unsigned long KeySize; unsigned long SignatureAlgorithm; } RPC_SEC_CONTEXT_KEY_INFO, *PRPC_SEC_CONTEXT_KEY_INFO; __declspec(dllimport) RPC_STATUS __stdcall I_RpcBindingInqSecurityContextKeyInfo ( RPC_BINDING_HANDLE Binding, void *KeyInfo ); __declspec(dllimport) RPC_STATUS __stdcall I_RpcBindingInqWireIdForSnego ( RPC_BINDING_HANDLE Binding, unsigned char * WireId ); __declspec(dllimport) RPC_STATUS __stdcall I_RpcBindingInqMarshalledTargetInfo ( RPC_BINDING_HANDLE Binding, unsigned long * MarshalledTargetInfoSize, RPC_CSTR * MarshalledTargetInfo ); __declspec(dllimport) RPC_STATUS __stdcall I_RpcBindingInqLocalClientPID ( RPC_BINDING_HANDLE Binding, unsigned long *Pid ); __declspec(dllimport) RPC_STATUS __stdcall I_RpcBindingHandleToAsyncHandle ( RPC_BINDING_HANDLE Binding, void **AsyncHandle ); __declspec(dllimport) RPC_STATUS __stdcall I_RpcNsBindingSetEntryNameW ( RPC_BINDING_HANDLE Binding, unsigned long EntryNameSyntax, RPC_WSTR EntryName ); __declspec(dllimport) RPC_STATUS __stdcall I_RpcNsBindingSetEntryNameA ( RPC_BINDING_HANDLE Binding, unsigned long EntryNameSyntax, RPC_CSTR EntryName ); __declspec(dllimport) RPC_STATUS __stdcall I_RpcServerUseProtseqEp2A ( RPC_CSTR NetworkAddress, RPC_CSTR Protseq, unsigned int MaxCalls, RPC_CSTR Endpoint, void * SecurityDescriptor, void * Policy ); __declspec(dllimport) RPC_STATUS __stdcall I_RpcServerUseProtseqEp2W ( RPC_WSTR NetworkAddress, RPC_WSTR Protseq, unsigned int MaxCalls, RPC_WSTR Endpoint, void * SecurityDescriptor, void * Policy ); __declspec(dllimport) RPC_STATUS __stdcall I_RpcServerUseProtseq2W ( RPC_WSTR NetworkAddress, RPC_WSTR Protseq, unsigned int MaxCalls, void * SecurityDescriptor, void * Policy ); __declspec(dllimport) RPC_STATUS __stdcall I_RpcServerUseProtseq2A ( RPC_CSTR NetworkAddress, RPC_CSTR Protseq, unsigned int MaxCalls, void * SecurityDescriptor, void * Policy ); __declspec(dllimport) RPC_STATUS __stdcall I_RpcServerStartService ( RPC_WSTR Protseq, RPC_WSTR Endpoint, RPC_IF_HANDLE IfSpec ); __declspec(dllimport) RPC_STATUS __stdcall I_RpcBindingInqDynamicEndpointW ( RPC_BINDING_HANDLE Binding, RPC_WSTR *DynamicEndpoint ); __declspec(dllimport) RPC_STATUS __stdcall I_RpcBindingInqDynamicEndpointA ( RPC_BINDING_HANDLE Binding, RPC_CSTR *DynamicEndpoint ); __declspec(dllimport) RPC_STATUS __stdcall I_RpcServerCheckClientRestriction ( RPC_BINDING_HANDLE Context ); __declspec(dllimport) RPC_STATUS __stdcall I_RpcBindingInqTransportType ( RPC_BINDING_HANDLE Binding, unsigned int * Type ); typedef struct _RPC_TRANSFER_SYNTAX { UUID Uuid; unsigned short VersMajor; unsigned short VersMinor; } RPC_TRANSFER_SYNTAX; __declspec(dllimport) RPC_STATUS __stdcall I_RpcIfInqTransferSyntaxes ( RPC_IF_HANDLE RpcIfHandle, RPC_TRANSFER_SYNTAX * TransferSyntaxes, unsigned int TransferSyntaxSize, unsigned int * TransferSyntaxCount ); __declspec(dllimport) RPC_STATUS __stdcall I_UuidCreate ( UUID * Uuid ); __declspec(dllimport) void __stdcall I_RpcUninitializeNdrOle ( void ); __declspec(dllimport) RPC_STATUS __stdcall I_RpcBindingCopy ( RPC_BINDING_HANDLE SourceBinding, RPC_BINDING_HANDLE * DestinationBinding ); __declspec(dllimport) RPC_STATUS __stdcall I_RpcBindingIsClientLocal ( RPC_BINDING_HANDLE BindingHandle, unsigned int * ClientLocalFlag ); __declspec(dllimport) RPC_STATUS __stdcall I_RpcBindingInqConnId ( RPC_BINDING_HANDLE Binding, void **ConnId, int *pfFirstCall ); __declspec(dllimport) RPC_STATUS __stdcall I_RpcBindingCreateNP ( RPC_WSTR ServerName, RPC_WSTR ServiceName, RPC_WSTR NetworkOptions, RPC_BINDING_HANDLE *Binding ); __declspec(dllimport) void __stdcall I_RpcSsDontSerializeContext ( void ); __declspec(dllimport) RPC_STATUS __stdcall I_RpcLaunchDatagramReceiveThread( void * pAddress ); __declspec(dllimport) RPC_STATUS __stdcall I_RpcServerRegisterForwardFunction ( RPC_FORWARD_FUNCTION * pForwardFunction ); RPC_ADDRESS_CHANGE_FN * __stdcall I_RpcServerInqAddressChangeFn( void ); RPC_STATUS __stdcall I_RpcServerSetAddressChangeFn( RPC_ADDRESS_CHANGE_FN * pAddressChangeFn ); __declspec(dllimport) RPC_STATUS __stdcall I_RpcServerInqLocalConnAddress ( RPC_BINDING_HANDLE Binding, void *Buffer, unsigned long *BufferSize, unsigned long *AddressFormat ); __declspec(dllimport) RPC_STATUS __stdcall I_RpcServerInqRemoteConnAddress ( RPC_BINDING_HANDLE Binding, void *Buffer, unsigned long *BufferSize, unsigned long *AddressFormat ); __declspec(dllimport) void __stdcall I_RpcSessionStrictContextHandle ( void ); __declspec(dllimport) RPC_STATUS __stdcall I_RpcTurnOnEEInfoPropagation ( void ); __declspec(dllimport) RPC_STATUS __stdcall I_RpcConnectionInqSockBuffSize( unsigned long * RecvBuffSize, unsigned long * SendBuffSize ); __declspec(dllimport) RPC_STATUS __stdcall I_RpcConnectionSetSockBuffSize( unsigned long RecvBuffSize, unsigned long SendBuffSize ); typedef void (*RPCLT_PDU_FILTER_FUNC) ( void *Buffer, unsigned int BufferLength, int fDatagram ); typedef void (__cdecl *RPC_SETFILTER_FUNC) ( RPCLT_PDU_FILTER_FUNC pfnFilter ); __declspec(dllimport) RPC_STATUS __stdcall I_RpcServerStartListening( void * hWnd ); __declspec(dllimport) RPC_STATUS __stdcall I_RpcServerStopListening( void ); typedef RPC_STATUS (*RPC_BLOCKING_FN) ( void * hWnd, void * Context, void * hSyncEvent ); __declspec(dllimport) RPC_STATUS __stdcall I_RpcBindingSetAsync( RPC_BINDING_HANDLE Binding, RPC_BLOCKING_FN BlockingFn, unsigned long ServerTid ); __declspec(dllimport) RPC_STATUS __stdcall I_RpcSetThreadParams( int fClientFree, void *Context, void * hWndClient ); __declspec(dllimport) unsigned int __stdcall I_RpcWindowProc( void * hWnd, unsigned int Message, unsigned int wParam, unsigned long lParam ); __declspec(dllimport) RPC_STATUS __stdcall I_RpcServerUnregisterEndpointA ( RPC_CSTR Protseq, RPC_CSTR Endpoint ); __declspec(dllimport) RPC_STATUS __stdcall I_RpcServerUnregisterEndpointW ( RPC_WSTR Protseq, RPC_WSTR Endpoint ); __declspec(dllimport) RPC_STATUS __stdcall I_RpcServerInqTransportType( unsigned int * Type ); __declspec(dllimport) long __stdcall I_RpcMapWin32Status ( RPC_STATUS Status ); typedef struct _RPC_C_OPT_COOKIE_AUTH_DESCRIPTOR { unsigned long BufferSize; char *Buffer; } RPC_C_OPT_COOKIE_AUTH_DESCRIPTOR; typedef struct _RDR_CALLOUT_STATE { RPC_STATUS LastError; void *LastEEInfo; RPC_HTTP_REDIRECTOR_STAGE LastCalledStage; unsigned short *ServerName; unsigned short *ServerPort; unsigned short *RemoteUser; unsigned short *AuthType; unsigned char ResourceTypePresent; unsigned char SessionIdPresent; unsigned char InterfacePresent; UUID ResourceType; UUID SessionId; RPC_SYNTAX_IDENTIFIER Interface; void *CertContext; } RDR_CALLOUT_STATE; typedef RPC_STATUS (__stdcall *I_RpcProxyIsValidMachineFn) ( RPC_WSTR Machine, RPC_WSTR DotMachine, unsigned long PortNumber ); typedef RPC_STATUS (__stdcall *I_RpcProxyGetClientAddressFn) ( void *Context, char *Buffer, unsigned long *BufferLength ); typedef RPC_STATUS (__stdcall *I_RpcProxyGetConnectionTimeoutFn) ( unsigned long *ConnectionTimeout ); typedef RPC_STATUS (__stdcall *I_RpcPerformCalloutFn) ( void *Context, RDR_CALLOUT_STATE *CallOutState, RPC_HTTP_REDIRECTOR_STAGE Stage ); typedef void (__stdcall *I_RpcFreeCalloutStateFn) ( RDR_CALLOUT_STATE *CallOutState ); typedef RPC_STATUS (__stdcall *I_RpcProxyGetClientSessionAndResourceUUID) ( void *Context, int *SessionIdPresent, UUID *SessionId, int *ResourceIdPresent, UUID *ResourceId ); typedef RPC_STATUS (__stdcall *I_RpcProxyFilterIfFn) ( void *Context, UUID *IfUuid, unsigned short IfMajorVersion, int *fAllow ); typedef enum RpcProxyPerfCounters { RpcCurrentUniqueUser = 1, RpcBackEndConnectionAttempts, RpcBackEndConnectionFailed, RpcRequestsPerSecond, RpcIncomingConnections, RpcIncomingBandwidth, RpcOutgoingBandwidth, RpcAttemptedLbsDecisions, RpcFailedLbsDecisions, RpcAttemptedLbsMessages, RpcFailedLbsMessages, RpcLastCounter } RpcPerfCounters; typedef void (__stdcall *I_RpcProxyUpdatePerfCounterFn) ( RpcPerfCounters Counter, int ModifyTrend, unsigned long Size ); typedef void (__stdcall *I_RpcProxyUpdatePerfCounterBackendServerFn) ( unsigned short* MachineName, int IsConnectEvent ); typedef struct tagI_RpcProxyCallbackInterface { I_RpcProxyIsValidMachineFn IsValidMachineFn; I_RpcProxyGetClientAddressFn GetClientAddressFn; I_RpcProxyGetConnectionTimeoutFn GetConnectionTimeoutFn; I_RpcPerformCalloutFn PerformCalloutFn; I_RpcFreeCalloutStateFn FreeCalloutStateFn; I_RpcProxyGetClientSessionAndResourceUUID GetClientSessionAndResourceUUIDFn; I_RpcProxyFilterIfFn ProxyFilterIfFn; I_RpcProxyUpdatePerfCounterFn RpcProxyUpdatePerfCounterFn; I_RpcProxyUpdatePerfCounterBackendServerFn RpcProxyUpdatePerfCounterBackendServerFn; } I_RpcProxyCallbackInterface; __declspec(dllimport) RPC_STATUS __stdcall I_RpcProxyNewConnection ( unsigned long ConnectionType, unsigned short *ServerAddress, unsigned short *ServerPort, unsigned short *MinConnTimeout, void *ConnectionParameter, RDR_CALLOUT_STATE *CallOutState, I_RpcProxyCallbackInterface *ProxyCallbackInterface ); __declspec(dllimport) RPC_STATUS __stdcall I_RpcReplyToClientWithStatus ( void *ConnectionParameter, RPC_STATUS RpcStatus ); __declspec(dllimport) void __stdcall I_RpcRecordCalloutFailure ( RPC_STATUS RpcStatus, RDR_CALLOUT_STATE *CallOutState, unsigned short *DllName ); __declspec(dllimport) RPC_STATUS __stdcall I_RpcMgmtEnableDedicatedThreadPool ( void ); __declspec(dllimport) RPC_STATUS __stdcall I_RpcGetDefaultSD( void ** ppSecurityDescriptor ); __declspec(dllimport) RPC_STATUS __stdcall I_RpcOpenClientProcess( RPC_BINDING_HANDLE Binding, unsigned long DesiredAccess, void** ClientProcess ); __declspec(dllimport) RPC_STATUS __stdcall I_RpcBindingIsServerLocal( RPC_BINDING_HANDLE Binding, unsigned int * ServerLocalFlag ); RPC_STATUS __stdcall I_RpcBindingSetPrivateOption ( RPC_BINDING_HANDLE hBinding, unsigned long option, ULONG_PTR optionValue ); RPC_STATUS __stdcall I_RpcServerSubscribeForDisconnectNotification ( RPC_BINDING_HANDLE Binding, void *hEvent ); RPC_STATUS __stdcall I_RpcServerGetAssociationID ( RPC_BINDING_HANDLE Binding, unsigned long *AssociationID ); __declspec(dllimport) long __stdcall I_RpcServerDisableExceptionFilter ( void ); RPC_STATUS __stdcall I_RpcServerSubscribeForDisconnectNotification2 ( RPC_BINDING_HANDLE Binding, void *hEvent, UUID *SubscriptionId ); RPC_STATUS __stdcall I_RpcServerUnsubscribeForDisconnectNotification ( RPC_BINDING_HANDLE Binding, UUID SubscriptionId ); #pragma endregion #pragma warning(pop) } } #pragma once #pragma region Desktop Family typedef void * RPC_NS_HANDLE; __declspec(dllimport) RPC_STATUS __stdcall RpcNsBindingExportA( unsigned long EntryNameSyntax, RPC_CSTR EntryName, RPC_IF_HANDLE IfSpec, RPC_BINDING_VECTOR *BindingVec, UUID_VECTOR *ObjectUuidVec ); __declspec(dllimport) RPC_STATUS __stdcall RpcNsBindingUnexportA( unsigned long EntryNameSyntax, RPC_CSTR EntryName, RPC_IF_HANDLE IfSpec, UUID_VECTOR *ObjectUuidVec ); __declspec(dllimport) RPC_STATUS __stdcall RpcNsBindingExportW( unsigned long EntryNameSyntax, RPC_WSTR EntryName, RPC_IF_HANDLE IfSpec, RPC_BINDING_VECTOR *BindingVec, UUID_VECTOR *ObjectUuidVec ); __declspec(dllimport) RPC_STATUS __stdcall RpcNsBindingUnexportW( unsigned long EntryNameSyntax, RPC_WSTR EntryName, RPC_IF_HANDLE IfSpec, UUID_VECTOR *ObjectUuidVec ); RPC_STATUS __stdcall RpcNsBindingExportPnPA( unsigned long EntryNameSyntax, RPC_CSTR EntryName, RPC_IF_HANDLE IfSpec, UUID_VECTOR *ObjectVector ); RPC_STATUS __stdcall RpcNsBindingUnexportPnPA( unsigned long EntryNameSyntax, RPC_CSTR EntryName, RPC_IF_HANDLE IfSpec, UUID_VECTOR *ObjectVector ); RPC_STATUS __stdcall RpcNsBindingExportPnPW( unsigned long EntryNameSyntax, RPC_WSTR EntryName, RPC_IF_HANDLE IfSpec, UUID_VECTOR *ObjectVector ); RPC_STATUS __stdcall RpcNsBindingUnexportPnPW( unsigned long EntryNameSyntax, RPC_WSTR EntryName, RPC_IF_HANDLE IfSpec, UUID_VECTOR *ObjectVector ); __declspec(dllimport) RPC_STATUS __stdcall RpcNsBindingLookupBeginA( unsigned long EntryNameSyntax, RPC_CSTR EntryName, RPC_IF_HANDLE IfSpec, UUID *ObjUuid, unsigned long BindingMaxCount, RPC_NS_HANDLE *LookupContext ); __declspec(dllimport) RPC_STATUS __stdcall RpcNsBindingLookupBeginW( unsigned long EntryNameSyntax, RPC_WSTR EntryName, RPC_IF_HANDLE IfSpec, UUID *ObjUuid, unsigned long BindingMaxCount, RPC_NS_HANDLE *LookupContext ); __declspec(dllimport) RPC_STATUS __stdcall RpcNsBindingLookupNext( RPC_NS_HANDLE LookupContext, RPC_BINDING_VECTOR * * BindingVec ); __declspec(dllimport) RPC_STATUS __stdcall RpcNsBindingLookupDone( RPC_NS_HANDLE * LookupContext ); __declspec(dllimport) RPC_STATUS __stdcall RpcNsGroupDeleteA( unsigned long GroupNameSyntax, RPC_CSTR GroupName ); __declspec(dllimport) RPC_STATUS __stdcall RpcNsGroupMbrAddA( unsigned long GroupNameSyntax, RPC_CSTR GroupName, unsigned long MemberNameSyntax, RPC_CSTR MemberName ); __declspec(dllimport) RPC_STATUS __stdcall RpcNsGroupMbrRemoveA( unsigned long GroupNameSyntax, RPC_CSTR GroupName, unsigned long MemberNameSyntax, RPC_CSTR MemberName ); __declspec(dllimport) RPC_STATUS __stdcall RpcNsGroupMbrInqBeginA( unsigned long GroupNameSyntax, RPC_CSTR GroupName, unsigned long MemberNameSyntax, RPC_NS_HANDLE *InquiryContext ); __declspec(dllimport) RPC_STATUS __stdcall RpcNsGroupMbrInqNextA( RPC_NS_HANDLE InquiryContext, RPC_CSTR *MemberName ); __declspec(dllimport) RPC_STATUS __stdcall RpcNsGroupDeleteW( unsigned long GroupNameSyntax, RPC_WSTR GroupName ); __declspec(dllimport) RPC_STATUS __stdcall RpcNsGroupMbrAddW( unsigned long GroupNameSyntax, RPC_WSTR GroupName, unsigned long MemberNameSyntax, RPC_WSTR MemberName ); __declspec(dllimport) RPC_STATUS __stdcall RpcNsGroupMbrRemoveW( unsigned long GroupNameSyntax, RPC_WSTR GroupName, unsigned long MemberNameSyntax, RPC_WSTR MemberName ); __declspec(dllimport) RPC_STATUS __stdcall RpcNsGroupMbrInqBeginW( unsigned long GroupNameSyntax, RPC_WSTR GroupName, unsigned long MemberNameSyntax, RPC_NS_HANDLE *InquiryContext ); __declspec(dllimport) RPC_STATUS __stdcall RpcNsGroupMbrInqNextW( RPC_NS_HANDLE InquiryContext, RPC_WSTR *MemberName ); __declspec(dllimport) RPC_STATUS __stdcall RpcNsGroupMbrInqDone( RPC_NS_HANDLE * InquiryContext ); __declspec(dllimport) RPC_STATUS __stdcall RpcNsProfileDeleteA( unsigned long ProfileNameSyntax, RPC_CSTR ProfileName ); __declspec(dllimport) RPC_STATUS __stdcall RpcNsProfileEltAddA( unsigned long ProfileNameSyntax, RPC_CSTR ProfileName, RPC_IF_ID *IfId, unsigned long MemberNameSyntax, RPC_CSTR MemberName, unsigned long Priority, RPC_CSTR Annotation ); __declspec(dllimport) RPC_STATUS __stdcall RpcNsProfileEltRemoveA( unsigned long ProfileNameSyntax, RPC_CSTR ProfileName, RPC_IF_ID *IfId, unsigned long MemberNameSyntax, RPC_CSTR MemberName ); __declspec(dllimport) RPC_STATUS __stdcall RpcNsProfileEltInqBeginA( unsigned long ProfileNameSyntax, RPC_CSTR ProfileName, unsigned long InquiryType, RPC_IF_ID *IfId, unsigned long VersOption, unsigned long MemberNameSyntax, RPC_CSTR MemberName, RPC_NS_HANDLE *InquiryContext ); __declspec(dllimport) RPC_STATUS __stdcall RpcNsProfileEltInqNextA( RPC_NS_HANDLE InquiryContext, RPC_IF_ID *IfId, RPC_CSTR *MemberName, unsigned long *Priority, RPC_CSTR *Annotation ); __declspec(dllimport) RPC_STATUS __stdcall RpcNsProfileDeleteW( unsigned long ProfileNameSyntax, RPC_WSTR ProfileName ); __declspec(dllimport) RPC_STATUS __stdcall RpcNsProfileEltAddW( unsigned long ProfileNameSyntax, RPC_WSTR ProfileName, RPC_IF_ID *IfId, unsigned long MemberNameSyntax, RPC_WSTR MemberName, unsigned long Priority, RPC_WSTR Annotation ); __declspec(dllimport) RPC_STATUS __stdcall RpcNsProfileEltRemoveW( unsigned long ProfileNameSyntax, RPC_WSTR ProfileName, RPC_IF_ID *IfId, unsigned long MemberNameSyntax, RPC_WSTR MemberName ); __declspec(dllimport) RPC_STATUS __stdcall RpcNsProfileEltInqBeginW( unsigned long ProfileNameSyntax, RPC_WSTR ProfileName, unsigned long InquiryType, RPC_IF_ID *IfId, unsigned long VersOption, unsigned long MemberNameSyntax, RPC_WSTR MemberName, RPC_NS_HANDLE *InquiryContext ); __declspec(dllimport) RPC_STATUS __stdcall RpcNsProfileEltInqNextW( RPC_NS_HANDLE InquiryContext, RPC_IF_ID *IfId, RPC_WSTR *MemberName, unsigned long *Priority, RPC_WSTR *Annotation ); __declspec(dllimport) RPC_STATUS __stdcall RpcNsProfileEltInqDone( RPC_NS_HANDLE * InquiryContext ); __declspec(dllimport) RPC_STATUS __stdcall RpcNsEntryObjectInqBeginA( unsigned long EntryNameSyntax, RPC_CSTR EntryName, RPC_NS_HANDLE *InquiryContext ); __declspec(dllimport) RPC_STATUS __stdcall RpcNsEntryObjectInqBeginW( unsigned long EntryNameSyntax, RPC_WSTR EntryName, RPC_NS_HANDLE *InquiryContext ); __declspec(dllimport) RPC_STATUS __stdcall RpcNsEntryObjectInqNext( RPC_NS_HANDLE InquiryContext, UUID * ObjUuid ); __declspec(dllimport) RPC_STATUS __stdcall RpcNsEntryObjectInqDone( RPC_NS_HANDLE * InquiryContext ); __declspec(dllimport) RPC_STATUS __stdcall RpcNsEntryExpandNameA( unsigned long EntryNameSyntax, RPC_CSTR EntryName, RPC_CSTR *ExpandedName ); __declspec(dllimport) RPC_STATUS __stdcall RpcNsMgmtBindingUnexportA( unsigned long EntryNameSyntax, RPC_CSTR EntryName, RPC_IF_ID *IfId, unsigned long VersOption, UUID_VECTOR *ObjectUuidVec ); __declspec(dllimport) RPC_STATUS __stdcall RpcNsMgmtEntryCreateA( unsigned long EntryNameSyntax, RPC_CSTR EntryName ); __declspec(dllimport) RPC_STATUS __stdcall RpcNsMgmtEntryDeleteA( unsigned long EntryNameSyntax, RPC_CSTR EntryName ); __declspec(dllimport) RPC_STATUS __stdcall RpcNsMgmtEntryInqIfIdsA( unsigned long EntryNameSyntax, RPC_CSTR EntryName, RPC_IF_ID_VECTOR * *IfIdVec ); __declspec(dllimport) RPC_STATUS __stdcall RpcNsMgmtHandleSetExpAge( RPC_NS_HANDLE NsHandle, unsigned long ExpirationAge ); __declspec(dllimport) RPC_STATUS __stdcall RpcNsMgmtInqExpAge( unsigned long * ExpirationAge ); __declspec(dllimport) RPC_STATUS __stdcall RpcNsMgmtSetExpAge( unsigned long ExpirationAge ); __declspec(dllimport) RPC_STATUS __stdcall RpcNsEntryExpandNameW( unsigned long EntryNameSyntax, RPC_WSTR EntryName, RPC_WSTR *ExpandedName ); __declspec(dllimport) RPC_STATUS __stdcall RpcNsMgmtBindingUnexportW( unsigned long EntryNameSyntax, RPC_WSTR EntryName, RPC_IF_ID *IfId, unsigned long VersOption, UUID_VECTOR *ObjectUuidVec ); __declspec(dllimport) RPC_STATUS __stdcall RpcNsMgmtEntryCreateW( unsigned long EntryNameSyntax, RPC_WSTR EntryName ); __declspec(dllimport) RPC_STATUS __stdcall RpcNsMgmtEntryDeleteW( unsigned long EntryNameSyntax, RPC_WSTR EntryName ); __declspec(dllimport) RPC_STATUS __stdcall RpcNsMgmtEntryInqIfIdsW( unsigned long EntryNameSyntax, RPC_WSTR EntryName, RPC_IF_ID_VECTOR * *IfIdVec ); __declspec(dllimport) RPC_STATUS __stdcall RpcNsBindingImportBeginA( unsigned long EntryNameSyntax, RPC_CSTR EntryName, RPC_IF_HANDLE IfSpec, UUID *ObjUuid, RPC_NS_HANDLE *ImportContext ); __declspec(dllimport) RPC_STATUS __stdcall RpcNsBindingImportBeginW( unsigned long EntryNameSyntax, RPC_WSTR EntryName, RPC_IF_HANDLE IfSpec, UUID *ObjUuid, RPC_NS_HANDLE *ImportContext ); __declspec(dllimport) RPC_STATUS __stdcall RpcNsBindingImportNext( RPC_NS_HANDLE ImportContext, RPC_BINDING_HANDLE * Binding ); __declspec(dllimport) RPC_STATUS __stdcall RpcNsBindingImportDone( RPC_NS_HANDLE * ImportContext ); __declspec(dllimport) RPC_STATUS __stdcall RpcNsBindingSelect( RPC_BINDING_VECTOR * BindingVec, RPC_BINDING_HANDLE * Binding ); #pragma endregion #pragma once #pragma warning(push) #pragma warning(disable:4668) #pragma region Desktop Family or OneCore Family #pragma endregion #pragma warning(pop) #pragma region Application Family or OneCore Family #pragma endregion #pragma once #pragma warning(disable:4103) #pragma pack(push,8) extern "C" { #pragma region Application Family or OneCore Family #pragma warning(push) #pragma warning(disable:4820) typedef enum _RPC_NOTIFICATION_TYPES { RpcNotificationTypeNone, RpcNotificationTypeEvent, RpcNotificationTypeApc, RpcNotificationTypeIoc, RpcNotificationTypeHwnd, RpcNotificationTypeCallback } RPC_NOTIFICATION_TYPES; typedef enum _RPC_ASYNC_EVENT { RpcCallComplete, RpcSendComplete, RpcReceiveComplete, RpcClientDisconnect, RpcClientCancel } RPC_ASYNC_EVENT; struct _RPC_ASYNC_STATE; typedef void __stdcall RPCNOTIFICATION_ROUTINE ( struct _RPC_ASYNC_STATE *pAsync, void *Context, RPC_ASYNC_EVENT Event); typedef RPCNOTIFICATION_ROUTINE *PFN_RPCNOTIFICATION_ROUTINE; typedef union _RPC_ASYNC_NOTIFICATION_INFO { struct { PFN_RPCNOTIFICATION_ROUTINE NotificationRoutine; HANDLE hThread; } APC; struct { HANDLE hIOPort; DWORD dwNumberOfBytesTransferred; DWORD_PTR dwCompletionKey; LPOVERLAPPED lpOverlapped; } IOC; struct { HWND hWnd; UINT Msg; } HWND; HANDLE hEvent; PFN_RPCNOTIFICATION_ROUTINE NotificationRoutine; } RPC_ASYNC_NOTIFICATION_INFO, *PRPC_ASYNC_NOTIFICATION_INFO; typedef struct _RPC_ASYNC_STATE { unsigned int Size; unsigned long Signature; long Lock; unsigned long Flags; void *StubInfo; void *UserInfo; void *RuntimeInfo; RPC_ASYNC_EVENT Event; RPC_NOTIFICATION_TYPES NotificationType; RPC_ASYNC_NOTIFICATION_INFO u; LONG_PTR Reserved[4]; } RPC_ASYNC_STATE, *PRPC_ASYNC_STATE; __declspec(dllimport) RPC_STATUS __stdcall RpcAsyncRegisterInfo ( PRPC_ASYNC_STATE pAsync ) ; __declspec(dllimport) RPC_STATUS __stdcall RpcAsyncInitializeHandle ( PRPC_ASYNC_STATE pAsync, unsigned int Size ); __declspec(dllimport) RPC_STATUS __stdcall RpcAsyncGetCallStatus ( PRPC_ASYNC_STATE pAsync ) ; __declspec(dllimport) RPC_STATUS __stdcall RpcAsyncCompleteCall ( PRPC_ASYNC_STATE pAsync, void *Reply ) ; __declspec(dllimport) RPC_STATUS __stdcall RpcAsyncAbortCall ( PRPC_ASYNC_STATE pAsync, unsigned long ExceptionCode ) ; __declspec(dllimport) RPC_STATUS __stdcall RpcAsyncCancelCall ( PRPC_ASYNC_STATE pAsync, BOOL fAbort ) ; typedef enum tagExtendedErrorParamTypes { eeptAnsiString = 1, eeptUnicodeString, eeptLongVal, eeptShortVal, eeptPointerVal, eeptNone, eeptBinary } ExtendedErrorParamTypes; typedef struct tagBinaryParam { void *Buffer; short Size; } BinaryParam; typedef struct tagRPC_EE_INFO_PARAM { ExtendedErrorParamTypes ParameterType; union { LPSTR AnsiString; LPWSTR UnicodeString; long LVal; short SVal; ULONGLONG PVal; BinaryParam BVal; } u; } RPC_EE_INFO_PARAM; typedef struct tagRPC_EXTENDED_ERROR_INFO { ULONG Version; LPWSTR ComputerName; ULONG ProcessID; union { SYSTEMTIME SystemTime; FILETIME FileTime; } u; ULONG GeneratingComponent; ULONG Status; USHORT DetectionLocation; USHORT Flags; int NumberOfParameters; RPC_EE_INFO_PARAM Parameters[4]; } RPC_EXTENDED_ERROR_INFO; typedef struct tagRPC_ERROR_ENUM_HANDLE { ULONG Signature; void *CurrentPos; void *Head; } RPC_ERROR_ENUM_HANDLE; __declspec(dllimport) RPC_STATUS __stdcall RpcErrorStartEnumeration ( RPC_ERROR_ENUM_HANDLE *EnumHandle ); __declspec(dllimport) RPC_STATUS __stdcall RpcErrorGetNextRecord ( RPC_ERROR_ENUM_HANDLE *EnumHandle, BOOL CopyStrings, RPC_EXTENDED_ERROR_INFO *ErrorInfo ); __declspec(dllimport) RPC_STATUS __stdcall RpcErrorEndEnumeration ( RPC_ERROR_ENUM_HANDLE *EnumHandle ); __declspec(dllimport) RPC_STATUS __stdcall RpcErrorResetEnumeration ( RPC_ERROR_ENUM_HANDLE *EnumHandle ); __declspec(dllimport) RPC_STATUS __stdcall RpcErrorGetNumberOfRecords ( RPC_ERROR_ENUM_HANDLE *EnumHandle, int *Records ); __declspec(dllimport) RPC_STATUS __stdcall RpcErrorSaveErrorInfo ( RPC_ERROR_ENUM_HANDLE *EnumHandle, PVOID *ErrorBlob, size_t *BlobSize ); __declspec(dllimport) RPC_STATUS __stdcall RpcErrorLoadErrorInfo ( PVOID ErrorBlob, size_t BlobSize, RPC_ERROR_ENUM_HANDLE *EnumHandle ); __declspec(dllimport) RPC_STATUS __stdcall RpcErrorAddRecord ( RPC_EXTENDED_ERROR_INFO *ErrorInfo ); __declspec(dllimport) void __stdcall RpcErrorClearInformation ( void ); #pragma endregion #pragma region Desktop Family or OneCore Family __declspec(dllimport) RPC_STATUS __stdcall RpcAsyncCleanupThread ( DWORD dwTimeout ); __declspec(dllimport) RPC_STATUS __stdcall RpcGetAuthorizationContextForClient ( RPC_BINDING_HANDLE ClientBinding, BOOL ImpersonateOnReturn, PVOID Reserved1, PLARGE_INTEGER pExpirationTime, LUID Reserved2, DWORD Reserved3, PVOID Reserved4, PVOID *pAuthzClientContext ); __declspec(dllimport) RPC_STATUS __stdcall RpcFreeAuthorizationContext ( PVOID *pAuthzClientContext ); __declspec(dllimport) RPC_STATUS __stdcall RpcSsContextLockExclusive ( RPC_BINDING_HANDLE ServerBindingHandle, PVOID UserContext ); __declspec(dllimport) RPC_STATUS __stdcall RpcSsContextLockShared ( RPC_BINDING_HANDLE ServerBindingHandle, PVOID UserContext ); typedef enum tagRpcLocalAddressFormat { rlafInvalid = 0, rlafIPv4, rlafIPv6 } RpcLocalAddressFormat; typedef struct _RPC_CALL_LOCAL_ADDRESS_V1 { unsigned int Version; void *Buffer; unsigned long BufferSize; RpcLocalAddressFormat AddressFormat; } RPC_CALL_LOCAL_ADDRESS_V1, *PRPC_CALL_LOCAL_ADDRESS_V1; typedef struct tagRPC_CALL_ATTRIBUTES_V1_W { unsigned int Version; unsigned long Flags; unsigned long ServerPrincipalNameBufferLength; unsigned short *ServerPrincipalName; unsigned long ClientPrincipalNameBufferLength; unsigned short *ClientPrincipalName; unsigned long AuthenticationLevel; unsigned long AuthenticationService; BOOL NullSession; } RPC_CALL_ATTRIBUTES_V1_W; typedef struct tagRPC_CALL_ATTRIBUTES_V1_A { unsigned int Version; unsigned long Flags; unsigned long ServerPrincipalNameBufferLength; unsigned char *ServerPrincipalName; unsigned long ClientPrincipalNameBufferLength; unsigned char *ClientPrincipalName; unsigned long AuthenticationLevel; unsigned long AuthenticationService; BOOL NullSession; } RPC_CALL_ATTRIBUTES_V1_A; typedef enum tagRpcCallType { rctInvalid = 0, rctNormal, rctTraining, rctGuaranteed } RpcCallType; typedef enum tagRpcCallClientLocality { rcclInvalid = 0, rcclLocal, rcclRemote, rcclClientUnknownLocality } RpcCallClientLocality; typedef struct tagRPC_CALL_ATTRIBUTES_V2_W { unsigned int Version; unsigned long Flags; unsigned long ServerPrincipalNameBufferLength; unsigned short *ServerPrincipalName; unsigned long ClientPrincipalNameBufferLength; unsigned short *ClientPrincipalName; unsigned long AuthenticationLevel; unsigned long AuthenticationService; BOOL NullSession; BOOL KernelModeCaller; unsigned long ProtocolSequence; RpcCallClientLocality IsClientLocal; HANDLE ClientPID; unsigned long CallStatus; RpcCallType CallType; RPC_CALL_LOCAL_ADDRESS_V1 *CallLocalAddress; unsigned short OpNum; UUID InterfaceUuid; } RPC_CALL_ATTRIBUTES_V2_W; typedef struct tagRPC_CALL_ATTRIBUTES_V2_A { unsigned int Version; unsigned long Flags; unsigned long ServerPrincipalNameBufferLength; unsigned char *ServerPrincipalName; unsigned long ClientPrincipalNameBufferLength; unsigned char *ClientPrincipalName; unsigned long AuthenticationLevel; unsigned long AuthenticationService; BOOL NullSession; BOOL KernelModeCaller; unsigned long ProtocolSequence; unsigned long IsClientLocal; HANDLE ClientPID; unsigned long CallStatus; RpcCallType CallType; RPC_CALL_LOCAL_ADDRESS_V1 *CallLocalAddress; unsigned short OpNum; UUID InterfaceUuid; } RPC_CALL_ATTRIBUTES_V2_A; typedef struct tagRPC_CALL_ATTRIBUTES_V3_W { unsigned int Version; unsigned long Flags; unsigned long ServerPrincipalNameBufferLength; unsigned short *ServerPrincipalName; unsigned long ClientPrincipalNameBufferLength; unsigned short *ClientPrincipalName; unsigned long AuthenticationLevel; unsigned long AuthenticationService; BOOL NullSession; BOOL KernelModeCaller; unsigned long ProtocolSequence; RpcCallClientLocality IsClientLocal; HANDLE ClientPID; unsigned long CallStatus; RpcCallType CallType; RPC_CALL_LOCAL_ADDRESS_V1 *CallLocalAddress; unsigned short OpNum; UUID InterfaceUuid; unsigned long ClientIdentifierBufferLength; unsigned char *ClientIdentifier; } RPC_CALL_ATTRIBUTES_V3_W; typedef struct tagRPC_CALL_ATTRIBUTES_V3_A { unsigned int Version; unsigned long Flags; unsigned long ServerPrincipalNameBufferLength; unsigned char *ServerPrincipalName; unsigned long ClientPrincipalNameBufferLength; unsigned char *ClientPrincipalName; unsigned long AuthenticationLevel; unsigned long AuthenticationService; BOOL NullSession; BOOL KernelModeCaller; unsigned long ProtocolSequence; unsigned long IsClientLocal; HANDLE ClientPID; unsigned long CallStatus; RpcCallType CallType; RPC_CALL_LOCAL_ADDRESS_V1 *CallLocalAddress; unsigned short OpNum; UUID InterfaceUuid; unsigned long ClientIdentifierBufferLength; unsigned char *ClientIdentifier; } RPC_CALL_ATTRIBUTES_V3_A; __declspec(dllimport) RPC_STATUS __stdcall RpcServerInqCallAttributesW ( RPC_BINDING_HANDLE ClientBinding, void *RpcCallAttributes ); __declspec(dllimport) RPC_STATUS __stdcall RpcServerInqCallAttributesA ( RPC_BINDING_HANDLE ClientBinding, void *RpcCallAttributes ); typedef RPC_CALL_ATTRIBUTES_V3_W RPC_CALL_ATTRIBUTES; typedef enum _RPC_NOTIFICATIONS { RpcNotificationCallNone = 0, RpcNotificationClientDisconnect = 1, RpcNotificationCallCancel = 2 } RPC_NOTIFICATIONS; __declspec(dllimport) RPC_STATUS __stdcall RpcServerSubscribeForNotification ( RPC_BINDING_HANDLE Binding, RPC_NOTIFICATIONS Notification, RPC_NOTIFICATION_TYPES NotificationType, RPC_ASYNC_NOTIFICATION_INFO *NotificationInfo ); __declspec(dllimport) RPC_STATUS __stdcall RpcServerUnsubscribeForNotification ( RPC_BINDING_HANDLE Binding, RPC_NOTIFICATIONS Notification, unsigned long *NotificationsQueued ); #pragma endregion #pragma region Application Family or OneCore Family __declspec(dllimport) RPC_STATUS __stdcall RpcBindingBind ( PRPC_ASYNC_STATE pAsync, RPC_BINDING_HANDLE Binding, RPC_IF_HANDLE IfSpec ); __declspec(dllimport) RPC_STATUS __stdcall RpcBindingUnbind ( RPC_BINDING_HANDLE Binding ); #pragma endregion #pragma region Desktop Family or OneCore Family RPC_STATUS __stdcall I_RpcAsyncSetHandle ( PRPC_MESSAGE Message, PRPC_ASYNC_STATE pAsync ); RPC_STATUS __stdcall I_RpcAsyncAbortCall ( PRPC_ASYNC_STATE pAsync, unsigned long ExceptionCode ) ; int __stdcall I_RpcExceptionFilter ( unsigned long ExceptionCode ); __declspec(dllimport) RPC_STATUS __stdcall I_RpcBindingInqClientTokenAttributes ( RPC_BINDING_HANDLE Binding, LUID * TokenId, LUID * AuthenticationId, LUID * ModifiedId ); #pragma warning(pop) #pragma endregion } #pragma warning(disable:4103) #pragma pack(pop) #pragma warning(disable:4103) #pragma pack(pop) } #pragma warning(push) #pragma warning(disable:4001) #pragma warning(disable:4255) #pragma warning(disable:4668) #pragma warning(disable:4820) #pragma once #pragma warning(disable:4103) #pragma pack(push,8) #pragma once extern "C" { #pragma region Desktop Family typedef struct { RPC_NS_HANDLE LookupContext; RPC_BINDING_HANDLE ProposedHandle; RPC_BINDING_VECTOR * Bindings; } RPC_IMPORT_CONTEXT_P, * PRPC_IMPORT_CONTEXT_P; __declspec(dllimport) RPC_STATUS __stdcall I_RpcNsGetBuffer( PRPC_MESSAGE Message ); __declspec(dllimport) RPC_STATUS __stdcall I_RpcNsSendReceive( PRPC_MESSAGE Message, RPC_BINDING_HANDLE * Handle ); __declspec(dllimport) void __stdcall I_RpcNsRaiseException( PRPC_MESSAGE Message, RPC_STATUS Status ); __declspec(dllimport) RPC_STATUS __stdcall I_RpcReBindBuffer( PRPC_MESSAGE Message ); __declspec(dllimport) RPC_STATUS __stdcall I_NsServerBindSearch( void ); __declspec(dllimport) RPC_STATUS __stdcall I_NsClientBindSearch( void ); __declspec(dllimport) void __stdcall I_NsClientBindDone( void ); #pragma endregion } #pragma once extern "C" { } extern "C" { #pragma region Application Family or OneCore Family or Games Family typedef unsigned char byte; typedef byte cs_byte; typedef unsigned char boolean; void * __stdcall MIDL_user_allocate( size_t size); void __stdcall MIDL_user_free( void * ); void * __stdcall I_RpcDefaultAllocate( handle_t bh, size_t size, void * (* RealAlloc)(size_t) ); void __stdcall I_RpcDefaultFree( handle_t bh, void *, void (*RealFree)(void *) ); typedef void * NDR_CCONTEXT; typedef struct { void * pad[2]; void * userContext; } * NDR_SCONTEXT; typedef void (__stdcall * NDR_RUNDOWN)(void * context); typedef void (__stdcall * NDR_NOTIFY_ROUTINE)(void); typedef void (__stdcall * NDR_NOTIFY2_ROUTINE)(boolean flag); typedef struct _SCONTEXT_QUEUE { unsigned long NumberOfObjects; NDR_SCONTEXT * ArrayOfObjects; } SCONTEXT_QUEUE, * PSCONTEXT_QUEUE; __declspec(dllimport) RPC_BINDING_HANDLE __stdcall NDRCContextBinding ( NDR_CCONTEXT CContext ); __declspec(dllimport) void __stdcall NDRCContextMarshall ( NDR_CCONTEXT CContext, void *pBuff ); __declspec(dllimport) void __stdcall NDRCContextUnmarshall ( NDR_CCONTEXT * pCContext, RPC_BINDING_HANDLE hBinding, void * pBuff, unsigned long DataRepresentation ); __declspec(dllimport) void __stdcall NDRCContextUnmarshall2 ( NDR_CCONTEXT * pCContext, RPC_BINDING_HANDLE hBinding, void * pBuff, unsigned long DataRepresentation ); __declspec(dllimport) void __stdcall NDRSContextMarshall ( NDR_SCONTEXT CContext, void * pBuff, NDR_RUNDOWN userRunDownIn ); __declspec(dllimport) NDR_SCONTEXT __stdcall NDRSContextUnmarshall ( void * pBuff, unsigned long DataRepresentation ); __declspec(dllimport) void __stdcall NDRSContextMarshallEx ( RPC_BINDING_HANDLE BindingHandle, NDR_SCONTEXT CContext, void * pBuff, NDR_RUNDOWN userRunDownIn ); __declspec(dllimport) void __stdcall NDRSContextMarshall2 ( RPC_BINDING_HANDLE BindingHandle, NDR_SCONTEXT CContext, void * pBuff, NDR_RUNDOWN userRunDownIn, void * CtxGuard, unsigned long Flags ); __declspec(dllimport) NDR_SCONTEXT __stdcall NDRSContextUnmarshallEx ( RPC_BINDING_HANDLE BindingHandle, void * pBuff, unsigned long DataRepresentation ); __declspec(dllimport) NDR_SCONTEXT __stdcall NDRSContextUnmarshall2( RPC_BINDING_HANDLE BindingHandle, void * pBuff, unsigned long DataRepresentation, void * CtxGuard, unsigned long Flags ); __declspec(dllimport) void __stdcall RpcSsDestroyClientContext ( void * * ContextHandle ); typedef unsigned long error_status_t; struct _MIDL_STUB_MESSAGE; struct _MIDL_STUB_DESC; struct _FULL_PTR_XLAT_TABLES; typedef unsigned char * RPC_BUFPTR; typedef unsigned long RPC_LENGTH; typedef void (__stdcall * EXPR_EVAL)( struct _MIDL_STUB_MESSAGE * ); typedef const unsigned char * PFORMAT_STRING; typedef struct { long Dimension; unsigned long * BufferConformanceMark; unsigned long * BufferVarianceMark; unsigned long * MaxCountArray; unsigned long * OffsetArray; unsigned long * ActualCountArray; } ARRAY_INFO, *PARRAY_INFO; typedef struct _NDR_ASYNC_MESSAGE * PNDR_ASYNC_MESSAGE; typedef struct _NDR_CORRELATION_INFO *PNDR_CORRELATION_INFO; typedef const unsigned char * PFORMAT_STRING; typedef struct _MIDL_SYNTAX_INFO MIDL_SYNTAX_INFO, *PMIDL_SYNTAX_INFO; struct NDR_ALLOC_ALL_NODES_CONTEXT; struct NDR_POINTER_QUEUE_STATE; struct _NDR_PROC_CONTEXT; typedef struct _MIDL_STUB_MESSAGE { PRPC_MESSAGE RpcMsg; unsigned char * Buffer; unsigned char * BufferStart; unsigned char * BufferEnd; unsigned char * BufferMark; unsigned long BufferLength; unsigned long MemorySize; unsigned char * Memory; unsigned char IsClient; unsigned char Pad; unsigned short uFlags2; int ReuseBuffer; struct NDR_ALLOC_ALL_NODES_CONTEXT *pAllocAllNodesContext; struct NDR_POINTER_QUEUE_STATE *pPointerQueueState; int IgnoreEmbeddedPointers; unsigned char * PointerBufferMark; unsigned char CorrDespIncrement; unsigned char uFlags; unsigned short UniquePtrCount; ULONG_PTR MaxCount; unsigned long Offset; unsigned long ActualCount; void * ( __stdcall * pfnAllocate)( size_t ); void ( __stdcall * pfnFree)(void *); unsigned char * StackTop; unsigned char * pPresentedType; unsigned char * pTransmitType; handle_t SavedHandle; const struct _MIDL_STUB_DESC * StubDesc; struct _FULL_PTR_XLAT_TABLES * FullPtrXlatTables; unsigned long FullPtrRefId; unsigned long PointerLength; int fInDontFree :1; int fDontCallFreeInst :1; int fUnused1 :1; int fHasReturn :1; int fHasExtensions :1; int fHasNewCorrDesc :1; int fIsIn :1; int fIsOut :1; int fIsOicf :1; int fBufferValid :1; int fHasMemoryValidateCallback: 1; int fInFree :1; int fNeedMCCP :1; int fUnused2 :3; int fUnused3 :16; unsigned long dwDestContext; void * pvDestContext; NDR_SCONTEXT * SavedContextHandles; long ParamNumber; struct IRpcChannelBuffer * pRpcChannelBuffer; PARRAY_INFO pArrayInfo; unsigned long * SizePtrCountArray; unsigned long * SizePtrOffsetArray; unsigned long * SizePtrLengthArray; void * pArgQueue; unsigned long dwStubPhase; void * LowStackMark; PNDR_ASYNC_MESSAGE pAsyncMsg; PNDR_CORRELATION_INFO pCorrInfo; unsigned char * pCorrMemory; void * pMemoryList; INT_PTR pCSInfo; unsigned char * ConformanceMark; unsigned char * VarianceMark; INT_PTR Unused; struct _NDR_PROC_CONTEXT * pContext; void * ContextHandleHash; void * pUserMarshalList; INT_PTR Reserved51_3; INT_PTR Reserved51_4; INT_PTR Reserved51_5; } MIDL_STUB_MESSAGE, *PMIDL_STUB_MESSAGE; typedef struct _MIDL_STUB_MESSAGE MIDL_STUB_MESSAGE, *PMIDL_STUB_MESSAGE; typedef void * ( __stdcall * GENERIC_BINDING_ROUTINE) (void *); typedef void ( __stdcall * GENERIC_UNBIND_ROUTINE) (void *, unsigned char *); typedef struct _GENERIC_BINDING_ROUTINE_PAIR { GENERIC_BINDING_ROUTINE pfnBind; GENERIC_UNBIND_ROUTINE pfnUnbind; } GENERIC_BINDING_ROUTINE_PAIR, *PGENERIC_BINDING_ROUTINE_PAIR; typedef struct __GENERIC_BINDING_INFO { void * pObj; unsigned int Size; GENERIC_BINDING_ROUTINE pfnBind; GENERIC_UNBIND_ROUTINE pfnUnbind; } GENERIC_BINDING_INFO, *PGENERIC_BINDING_INFO; typedef void ( __stdcall * XMIT_HELPER_ROUTINE) ( PMIDL_STUB_MESSAGE ); typedef struct _XMIT_ROUTINE_QUINTUPLE { XMIT_HELPER_ROUTINE pfnTranslateToXmit; XMIT_HELPER_ROUTINE pfnTranslateFromXmit; XMIT_HELPER_ROUTINE pfnFreeXmit; XMIT_HELPER_ROUTINE pfnFreeInst; } XMIT_ROUTINE_QUINTUPLE, *PXMIT_ROUTINE_QUINTUPLE; typedef unsigned long ( __stdcall * USER_MARSHAL_SIZING_ROUTINE) (unsigned long *, unsigned long, void * ); typedef unsigned char * ( __stdcall * USER_MARSHAL_MARSHALLING_ROUTINE) (unsigned long *, unsigned char * , void * ); typedef unsigned char * ( __stdcall * USER_MARSHAL_UNMARSHALLING_ROUTINE) (unsigned long *, unsigned char *, void * ); typedef void ( __stdcall * USER_MARSHAL_FREEING_ROUTINE) (unsigned long *, void * ); typedef struct _USER_MARSHAL_ROUTINE_QUADRUPLE { USER_MARSHAL_SIZING_ROUTINE pfnBufferSize; USER_MARSHAL_MARSHALLING_ROUTINE pfnMarshall; USER_MARSHAL_UNMARSHALLING_ROUTINE pfnUnmarshall; USER_MARSHAL_FREEING_ROUTINE pfnFree; } USER_MARSHAL_ROUTINE_QUADRUPLE; typedef enum _USER_MARSHAL_CB_TYPE { USER_MARSHAL_CB_BUFFER_SIZE, USER_MARSHAL_CB_MARSHALL, USER_MARSHAL_CB_UNMARSHALL, USER_MARSHAL_CB_FREE } USER_MARSHAL_CB_TYPE; typedef struct _USER_MARSHAL_CB { unsigned long Flags; PMIDL_STUB_MESSAGE pStubMsg; PFORMAT_STRING pReserve; unsigned long Signature; USER_MARSHAL_CB_TYPE CBType; PFORMAT_STRING pFormat; PFORMAT_STRING pTypeFormat; } USER_MARSHAL_CB; typedef struct _MALLOC_FREE_STRUCT { void * ( __stdcall * pfnAllocate)(size_t); void ( __stdcall * pfnFree)(void *); } MALLOC_FREE_STRUCT; typedef struct _COMM_FAULT_OFFSETS { short CommOffset; short FaultOffset; } COMM_FAULT_OFFSETS; typedef enum _IDL_CS_CONVERT { IDL_CS_NO_CONVERT, IDL_CS_IN_PLACE_CONVERT, IDL_CS_NEW_BUFFER_CONVERT } IDL_CS_CONVERT; typedef void ( __stdcall * CS_TYPE_NET_SIZE_ROUTINE) (RPC_BINDING_HANDLE hBinding, unsigned long ulNetworkCodeSet, unsigned long ulLocalBufferSize, IDL_CS_CONVERT * conversionType, unsigned long * pulNetworkBufferSize, error_status_t * pStatus); typedef void ( __stdcall * CS_TYPE_LOCAL_SIZE_ROUTINE) (RPC_BINDING_HANDLE hBinding, unsigned long ulNetworkCodeSet, unsigned long ulNetworkBufferSize, IDL_CS_CONVERT * conversionType, unsigned long * pulLocalBufferSize, error_status_t * pStatus); typedef void ( __stdcall * CS_TYPE_TO_NETCS_ROUTINE) (RPC_BINDING_HANDLE hBinding, unsigned long ulNetworkCodeSet, void * pLocalData, unsigned long ulLocalDataLength, byte * pNetworkData, unsigned long * pulNetworkDataLength, error_status_t * pStatus); typedef void ( __stdcall * CS_TYPE_FROM_NETCS_ROUTINE) (RPC_BINDING_HANDLE hBinding, unsigned long ulNetworkCodeSet, byte * pNetworkData, unsigned long ulNetworkDataLength, unsigned long ulLocalBufferSize, void * pLocalData, unsigned long * pulLocalDataLength, error_status_t * pStatus); typedef void ( __stdcall * CS_TAG_GETTING_ROUTINE) (RPC_BINDING_HANDLE hBinding, int fServerSide, unsigned long * pulSendingTag, unsigned long * pulDesiredReceivingTag, unsigned long * pulReceivingTag, error_status_t * pStatus); void __stdcall RpcCsGetTags( RPC_BINDING_HANDLE hBinding, int fServerSide, unsigned long * pulSendingTag, unsigned long * pulDesiredReceivingTag, unsigned long * pulReceivingTag, error_status_t * pStatus); typedef struct _NDR_CS_SIZE_CONVERT_ROUTINES { CS_TYPE_NET_SIZE_ROUTINE pfnNetSize; CS_TYPE_TO_NETCS_ROUTINE pfnToNetCs; CS_TYPE_LOCAL_SIZE_ROUTINE pfnLocalSize; CS_TYPE_FROM_NETCS_ROUTINE pfnFromNetCs; } NDR_CS_SIZE_CONVERT_ROUTINES; typedef struct _NDR_CS_ROUTINES { NDR_CS_SIZE_CONVERT_ROUTINES *pSizeConvertRoutines; CS_TAG_GETTING_ROUTINE *pTagGettingRoutines; } NDR_CS_ROUTINES; typedef struct _NDR_EXPR_DESC { const unsigned short * pOffset; PFORMAT_STRING pFormatExpr; } NDR_EXPR_DESC; typedef struct _MIDL_STUB_DESC { void * RpcInterfaceInformation; void * ( __stdcall * pfnAllocate)(size_t); void ( __stdcall * pfnFree)(void *); union { handle_t * pAutoHandle; handle_t * pPrimitiveHandle; PGENERIC_BINDING_INFO pGenericBindingInfo; } IMPLICIT_HANDLE_INFO; const NDR_RUNDOWN * apfnNdrRundownRoutines; const GENERIC_BINDING_ROUTINE_PAIR * aGenericBindingRoutinePairs; const EXPR_EVAL * apfnExprEval; const XMIT_ROUTINE_QUINTUPLE * aXmitQuintuple; const unsigned char * pFormatTypes; int fCheckBounds; unsigned long Version; MALLOC_FREE_STRUCT * pMallocFreeStruct; long MIDLVersion; const COMM_FAULT_OFFSETS * CommFaultOffsets; const USER_MARSHAL_ROUTINE_QUADRUPLE * aUserMarshalQuadruple; const NDR_NOTIFY_ROUTINE * NotifyRoutineTable; ULONG_PTR mFlags; const NDR_CS_ROUTINES * CsRoutineTables; void * ProxyServerInfo; const NDR_EXPR_DESC * pExprInfo; } MIDL_STUB_DESC; typedef const MIDL_STUB_DESC * PMIDL_STUB_DESC; typedef void * PMIDL_XMIT_TYPE; #pragma warning(push) #pragma warning( disable:4200 ) typedef struct _MIDL_FORMAT_STRING { short Pad; unsigned char Format[]; } MIDL_FORMAT_STRING; #pragma warning(pop) typedef void ( __stdcall * STUB_THUNK)( PMIDL_STUB_MESSAGE ); typedef long ( __stdcall * SERVER_ROUTINE)(); typedef struct _MIDL_METHOD_PROPERTY { unsigned long Id; ULONG_PTR Value; } MIDL_METHOD_PROPERTY, *PMIDL_METHOD_PROPERTY; typedef struct _MIDL_METHOD_PROPERTY_MAP { unsigned long Count; const MIDL_METHOD_PROPERTY *Properties; } MIDL_METHOD_PROPERTY_MAP, *PMIDL_METHOD_PROPERTY_MAP; typedef struct _MIDL_INTERFACE_METHOD_PROPERTIES { unsigned short MethodCount; const MIDL_METHOD_PROPERTY_MAP* const *MethodProperties; } MIDL_INTERFACE_METHOD_PROPERTIES; typedef struct _MIDL_SERVER_INFO_ { PMIDL_STUB_DESC pStubDesc; const SERVER_ROUTINE * DispatchTable; PFORMAT_STRING ProcString; const unsigned short * FmtStringOffset; const STUB_THUNK * ThunkTable; PRPC_SYNTAX_IDENTIFIER pTransferSyntax; ULONG_PTR nCount; PMIDL_SYNTAX_INFO pSyntaxInfo; } MIDL_SERVER_INFO, *PMIDL_SERVER_INFO; typedef struct _MIDL_STUBLESS_PROXY_INFO { PMIDL_STUB_DESC pStubDesc; PFORMAT_STRING ProcFormatString; const unsigned short * FormatStringOffset; PRPC_SYNTAX_IDENTIFIER pTransferSyntax; ULONG_PTR nCount; PMIDL_SYNTAX_INFO pSyntaxInfo; } MIDL_STUBLESS_PROXY_INFO; typedef MIDL_STUBLESS_PROXY_INFO * PMIDL_STUBLESS_PROXY_INFO; typedef struct _MIDL_SYNTAX_INFO { RPC_SYNTAX_IDENTIFIER TransferSyntax; RPC_DISPATCH_TABLE * DispatchTable; PFORMAT_STRING ProcString; const unsigned short * FmtStringOffset; PFORMAT_STRING TypeString; const void * aUserMarshalQuadruple; const MIDL_INTERFACE_METHOD_PROPERTIES *pMethodProperties; ULONG_PTR pReserved2; } MIDL_SYNTAX_INFO, *PMIDL_SYNTAX_INFO; typedef unsigned short * PARAM_OFFSETTABLE, *PPARAM_OFFSETTABLE; typedef union _CLIENT_CALL_RETURN { void * Pointer; LONG_PTR Simple; } CLIENT_CALL_RETURN; typedef enum { XLAT_SERVER = 1, XLAT_CLIENT } XLAT_SIDE; typedef struct _FULL_PTR_XLAT_TABLES { void * RefIdToPointer; void * PointerToRefId; unsigned long NextRefId; XLAT_SIDE XlatSide; } FULL_PTR_XLAT_TABLES, *PFULL_PTR_XLAT_TABLES; typedef enum _system_handle_t { SYSTEM_HANDLE_FILE = 0, SYSTEM_HANDLE_SEMAPHORE = 1, SYSTEM_HANDLE_EVENT = 2, SYSTEM_HANDLE_MUTEX = 3, SYSTEM_HANDLE_PROCESS = 4, SYSTEM_HANDLE_TOKEN = 5, SYSTEM_HANDLE_SECTION = 6, SYSTEM_HANDLE_REG_KEY = 7, SYSTEM_HANDLE_THREAD = 8, SYSTEM_HANDLE_COMPOSITION_OBJECT = 9, SYSTEM_HANDLE_SOCKET = 10, SYSTEM_HANDLE_JOB = 11, SYSTEM_HANDLE_PIPE = 12, SYSTEM_HANDLE_MAX = 12, SYSTEM_HANDLE_INVALID = 0xFF, } system_handle_t; enum { MidlInterceptionInfoVersionOne = 1 }; enum { MidlWinrtTypeSerializationInfoVersionOne = 1 }; typedef struct _MIDL_INTERCEPTION_INFO { unsigned long Version; PFORMAT_STRING ProcString; const unsigned short *ProcFormatOffsetTable; unsigned long ProcCount; PFORMAT_STRING TypeString; } MIDL_INTERCEPTION_INFO, *PMIDL_INTERCEPTION_INFO; typedef struct _MIDL_WINRT_TYPE_SERIALIZATION_INFO { unsigned long Version; PFORMAT_STRING TypeFormatString; unsigned short FormatStringSize; unsigned short TypeOffset; PMIDL_STUB_DESC StubDesc; } MIDL_WINRT_TYPE_SERIALIZATION_INFO, *PMIDL_WINRT_TYPE_SERIALIZATION_INFO; RPC_STATUS __stdcall NdrClientGetSupportedSyntaxes( RPC_CLIENT_INTERFACE * pInf, unsigned long * pCount, MIDL_SYNTAX_INFO ** pArr ); RPC_STATUS __stdcall NdrServerGetSupportedSyntaxes( RPC_SERVER_INTERFACE * pInf, unsigned long * pCount, MIDL_SYNTAX_INFO ** pArr, unsigned long * pPreferSyntaxIndex); #pragma warning(push) #pragma warning(disable:28740) __declspec(dllimport) void __stdcall NdrSimpleTypeMarshall( PMIDL_STUB_MESSAGE pStubMsg, unsigned char * pMemory, unsigned char FormatChar ); __declspec(dllimport) unsigned char * __stdcall NdrPointerMarshall( PMIDL_STUB_MESSAGE pStubMsg, unsigned char * pMemory, PFORMAT_STRING pFormat ); __declspec(dllimport) unsigned char * __stdcall NdrCsArrayMarshall( PMIDL_STUB_MESSAGE pStubMsg, unsigned char * pMemory, PFORMAT_STRING pFormat ); __declspec(dllimport) unsigned char * __stdcall NdrCsTagMarshall( PMIDL_STUB_MESSAGE pStubMsg, unsigned char * pMemory, PFORMAT_STRING pFormat ); __declspec(dllimport) unsigned char * __stdcall NdrSimpleStructMarshall( PMIDL_STUB_MESSAGE pStubMsg, unsigned char * pMemory, PFORMAT_STRING pFormat ); __declspec(dllimport) unsigned char * __stdcall NdrConformantStructMarshall( PMIDL_STUB_MESSAGE pStubMsg, unsigned char * pMemory, PFORMAT_STRING pFormat ); __declspec(dllimport) unsigned char * __stdcall NdrConformantVaryingStructMarshall( PMIDL_STUB_MESSAGE pStubMsg, unsigned char * pMemory, PFORMAT_STRING pFormat ); __declspec(dllimport) unsigned char * __stdcall NdrComplexStructMarshall( PMIDL_STUB_MESSAGE pStubMsg, unsigned char * pMemory, PFORMAT_STRING pFormat ); __declspec(dllimport) unsigned char * __stdcall NdrFixedArrayMarshall( PMIDL_STUB_MESSAGE pStubMsg, unsigned char * pMemory, PFORMAT_STRING pFormat ); __declspec(dllimport) unsigned char * __stdcall NdrConformantArrayMarshall( PMIDL_STUB_MESSAGE pStubMsg, unsigned char * pMemory, PFORMAT_STRING pFormat ); __declspec(dllimport) unsigned char * __stdcall NdrConformantVaryingArrayMarshall( PMIDL_STUB_MESSAGE pStubMsg, unsigned char * pMemory, PFORMAT_STRING pFormat ); __declspec(dllimport) unsigned char * __stdcall NdrVaryingArrayMarshall( PMIDL_STUB_MESSAGE pStubMsg, unsigned char * pMemory, PFORMAT_STRING pFormat ); __declspec(dllimport) unsigned char * __stdcall NdrComplexArrayMarshall( PMIDL_STUB_MESSAGE pStubMsg, unsigned char * pMemory, PFORMAT_STRING pFormat ); __declspec(dllimport) unsigned char * __stdcall NdrNonConformantStringMarshall( PMIDL_STUB_MESSAGE pStubMsg, unsigned char * pMemory, PFORMAT_STRING pFormat ); __declspec(dllimport) unsigned char * __stdcall NdrConformantStringMarshall( PMIDL_STUB_MESSAGE pStubMsg, unsigned char * pMemory, PFORMAT_STRING pFormat ); __declspec(dllimport) unsigned char * __stdcall NdrEncapsulatedUnionMarshall( PMIDL_STUB_MESSAGE pStubMsg, unsigned char * pMemory, PFORMAT_STRING pFormat ); __declspec(dllimport) unsigned char * __stdcall NdrNonEncapsulatedUnionMarshall( PMIDL_STUB_MESSAGE pStubMsg, unsigned char * pMemory, PFORMAT_STRING pFormat ); __declspec(dllimport) unsigned char * __stdcall NdrByteCountPointerMarshall( PMIDL_STUB_MESSAGE pStubMsg, unsigned char * pMemory, PFORMAT_STRING pFormat ); __declspec(dllimport) unsigned char * __stdcall NdrXmitOrRepAsMarshall( PMIDL_STUB_MESSAGE pStubMsg, unsigned char * pMemory, PFORMAT_STRING pFormat ); __declspec(dllimport) unsigned char * __stdcall NdrUserMarshalMarshall( PMIDL_STUB_MESSAGE pStubMsg, unsigned char * pMemory, PFORMAT_STRING pFormat ); __declspec(dllimport) unsigned char * __stdcall NdrInterfacePointerMarshall( PMIDL_STUB_MESSAGE pStubMsg, unsigned char * pMemory, PFORMAT_STRING pFormat ); __declspec(dllimport) void __stdcall NdrClientContextMarshall( PMIDL_STUB_MESSAGE pStubMsg, NDR_CCONTEXT ContextHandle, int fCheck ); __declspec(dllimport) void __stdcall NdrServerContextMarshall( PMIDL_STUB_MESSAGE pStubMsg, NDR_SCONTEXT ContextHandle, NDR_RUNDOWN RundownRoutine ); __declspec(dllimport) void __stdcall NdrServerContextNewMarshall( PMIDL_STUB_MESSAGE pStubMsg, NDR_SCONTEXT ContextHandle, NDR_RUNDOWN RundownRoutine, PFORMAT_STRING pFormat ); __declspec(dllimport) void __stdcall NdrSimpleTypeUnmarshall( PMIDL_STUB_MESSAGE pStubMsg, unsigned char * pMemory, unsigned char FormatChar ); __declspec(dllimport) unsigned char * __stdcall NdrCsArrayUnmarshall( PMIDL_STUB_MESSAGE pStubMsg, unsigned char ** ppMemory, PFORMAT_STRING pFormat, unsigned char fMustAlloc ); __declspec(dllimport) unsigned char * __stdcall NdrCsTagUnmarshall( PMIDL_STUB_MESSAGE pStubMsg, unsigned char ** ppMemory, PFORMAT_STRING pFormat, unsigned char fMustAlloc ); __declspec(dllimport) unsigned char * __stdcall NdrRangeUnmarshall( PMIDL_STUB_MESSAGE pStubMsg, unsigned char ** ppMemory, PFORMAT_STRING pFormat, unsigned char fMustAlloc ); __declspec(dllimport) void __stdcall NdrCorrelationInitialize( PMIDL_STUB_MESSAGE pStubMsg, void * pMemory, unsigned long CacheSize, unsigned long flags ); __declspec(dllimport) void __stdcall NdrCorrelationPass( PMIDL_STUB_MESSAGE pStubMsg ); __declspec(dllimport) void __stdcall NdrCorrelationFree( PMIDL_STUB_MESSAGE pStubMsg ); __declspec(dllimport) unsigned char * __stdcall NdrPointerUnmarshall( PMIDL_STUB_MESSAGE pStubMsg, unsigned char * * ppMemory, PFORMAT_STRING pFormat, unsigned char fMustAlloc ); __declspec(dllimport) unsigned char * __stdcall NdrSimpleStructUnmarshall( PMIDL_STUB_MESSAGE pStubMsg, unsigned char * * ppMemory, PFORMAT_STRING pFormat, unsigned char fMustAlloc ); __declspec(dllimport) unsigned char * __stdcall NdrConformantStructUnmarshall( PMIDL_STUB_MESSAGE pStubMsg, unsigned char * * ppMemory, PFORMAT_STRING pFormat, unsigned char fMustAlloc ); __declspec(dllimport) unsigned char * __stdcall NdrConformantVaryingStructUnmarshall( PMIDL_STUB_MESSAGE pStubMsg, unsigned char * * ppMemory, PFORMAT_STRING pFormat, unsigned char fMustAlloc ); __declspec(dllimport) unsigned char * __stdcall NdrComplexStructUnmarshall( PMIDL_STUB_MESSAGE pStubMsg, unsigned char * * ppMemory, PFORMAT_STRING pFormat, unsigned char fMustAlloc ); __declspec(dllimport) unsigned char * __stdcall NdrFixedArrayUnmarshall( PMIDL_STUB_MESSAGE pStubMsg, unsigned char * * ppMemory, PFORMAT_STRING pFormat, unsigned char fMustAlloc ); __declspec(dllimport) unsigned char * __stdcall NdrConformantArrayUnmarshall( PMIDL_STUB_MESSAGE pStubMsg, unsigned char * * ppMemory, PFORMAT_STRING pFormat, unsigned char fMustAlloc ); __declspec(dllimport) unsigned char * __stdcall NdrConformantVaryingArrayUnmarshall( PMIDL_STUB_MESSAGE pStubMsg, unsigned char * * ppMemory, PFORMAT_STRING pFormat, unsigned char fMustAlloc ); __declspec(dllimport) unsigned char * __stdcall NdrVaryingArrayUnmarshall( PMIDL_STUB_MESSAGE pStubMsg, unsigned char * * ppMemory, PFORMAT_STRING pFormat, unsigned char fMustAlloc ); __declspec(dllimport) unsigned char * __stdcall NdrComplexArrayUnmarshall( PMIDL_STUB_MESSAGE pStubMsg, unsigned char * * ppMemory, PFORMAT_STRING pFormat, unsigned char fMustAlloc ); __declspec(dllimport) unsigned char * __stdcall NdrNonConformantStringUnmarshall( PMIDL_STUB_MESSAGE pStubMsg, unsigned char * * ppMemory, PFORMAT_STRING pFormat, unsigned char fMustAlloc ); __declspec(dllimport) unsigned char * __stdcall NdrConformantStringUnmarshall( PMIDL_STUB_MESSAGE pStubMsg, unsigned char * * ppMemory, PFORMAT_STRING pFormat, unsigned char fMustAlloc ); __declspec(dllimport) unsigned char * __stdcall NdrEncapsulatedUnionUnmarshall( PMIDL_STUB_MESSAGE pStubMsg, unsigned char * * ppMemory, PFORMAT_STRING pFormat, unsigned char fMustAlloc ); __declspec(dllimport) unsigned char * __stdcall NdrNonEncapsulatedUnionUnmarshall( PMIDL_STUB_MESSAGE pStubMsg, unsigned char * * ppMemory, PFORMAT_STRING pFormat, unsigned char fMustAlloc ); __declspec(dllimport) unsigned char * __stdcall NdrByteCountPointerUnmarshall( PMIDL_STUB_MESSAGE pStubMsg, unsigned char * * ppMemory, PFORMAT_STRING pFormat, unsigned char fMustAlloc ); __declspec(dllimport) unsigned char * __stdcall NdrXmitOrRepAsUnmarshall( PMIDL_STUB_MESSAGE pStubMsg, unsigned char * * ppMemory, PFORMAT_STRING pFormat, unsigned char fMustAlloc ); __declspec(dllimport) unsigned char * __stdcall NdrUserMarshalUnmarshall( PMIDL_STUB_MESSAGE pStubMsg, unsigned char * * ppMemory, PFORMAT_STRING pFormat, unsigned char fMustAlloc ); __declspec(dllimport) unsigned char * __stdcall NdrInterfacePointerUnmarshall( PMIDL_STUB_MESSAGE pStubMsg, unsigned char * * ppMemory, PFORMAT_STRING pFormat, unsigned char fMustAlloc ); __declspec(dllimport) void __stdcall NdrClientContextUnmarshall( PMIDL_STUB_MESSAGE pStubMsg, NDR_CCONTEXT * pContextHandle, RPC_BINDING_HANDLE BindHandle ); __declspec(dllimport) NDR_SCONTEXT __stdcall NdrServerContextUnmarshall( PMIDL_STUB_MESSAGE pStubMsg ); __declspec(dllimport) NDR_SCONTEXT __stdcall NdrContextHandleInitialize( PMIDL_STUB_MESSAGE pStubMsg, PFORMAT_STRING pFormat ); __declspec(dllimport) NDR_SCONTEXT __stdcall NdrServerContextNewUnmarshall( PMIDL_STUB_MESSAGE pStubMsg, PFORMAT_STRING pFormat ); __declspec(dllimport) void __stdcall NdrPointerBufferSize( PMIDL_STUB_MESSAGE pStubMsg, unsigned char * pMemory, PFORMAT_STRING pFormat ); __declspec(dllimport) void __stdcall NdrCsArrayBufferSize( PMIDL_STUB_MESSAGE pStubMsg, unsigned char * pMemory, PFORMAT_STRING pFormat ); __declspec(dllimport) void __stdcall NdrCsTagBufferSize( PMIDL_STUB_MESSAGE pStubMsg, unsigned char * pMemory, PFORMAT_STRING pFormat ); __declspec(dllimport) void __stdcall NdrSimpleStructBufferSize( PMIDL_STUB_MESSAGE pStubMsg, unsigned char * pMemory, PFORMAT_STRING pFormat ); __declspec(dllimport) void __stdcall NdrConformantStructBufferSize( PMIDL_STUB_MESSAGE pStubMsg, unsigned char * pMemory, PFORMAT_STRING pFormat ); __declspec(dllimport) void __stdcall NdrConformantVaryingStructBufferSize( PMIDL_STUB_MESSAGE pStubMsg, unsigned char * pMemory, PFORMAT_STRING pFormat ); __declspec(dllimport) void __stdcall NdrComplexStructBufferSize( PMIDL_STUB_MESSAGE pStubMsg, unsigned char * pMemory, PFORMAT_STRING pFormat ); __declspec(dllimport) void __stdcall NdrFixedArrayBufferSize( PMIDL_STUB_MESSAGE pStubMsg, unsigned char * pMemory, PFORMAT_STRING pFormat ); __declspec(dllimport) void __stdcall NdrConformantArrayBufferSize( PMIDL_STUB_MESSAGE pStubMsg, unsigned char * pMemory, PFORMAT_STRING pFormat ); __declspec(dllimport) void __stdcall NdrConformantVaryingArrayBufferSize( PMIDL_STUB_MESSAGE pStubMsg, unsigned char * pMemory, PFORMAT_STRING pFormat ); __declspec(dllimport) void __stdcall NdrVaryingArrayBufferSize( PMIDL_STUB_MESSAGE pStubMsg, unsigned char * pMemory, PFORMAT_STRING pFormat ); __declspec(dllimport) void __stdcall NdrComplexArrayBufferSize( PMIDL_STUB_MESSAGE pStubMsg, unsigned char * pMemory, PFORMAT_STRING pFormat ); __declspec(dllimport) void __stdcall NdrConformantStringBufferSize( PMIDL_STUB_MESSAGE pStubMsg, unsigned char * pMemory, PFORMAT_STRING pFormat ); __declspec(dllimport) void __stdcall NdrNonConformantStringBufferSize( PMIDL_STUB_MESSAGE pStubMsg, unsigned char * pMemory, PFORMAT_STRING pFormat ); __declspec(dllimport) void __stdcall NdrEncapsulatedUnionBufferSize( PMIDL_STUB_MESSAGE pStubMsg, unsigned char * pMemory, PFORMAT_STRING pFormat ); __declspec(dllimport) void __stdcall NdrNonEncapsulatedUnionBufferSize( PMIDL_STUB_MESSAGE pStubMsg, unsigned char * pMemory, PFORMAT_STRING pFormat ); __declspec(dllimport) void __stdcall NdrByteCountPointerBufferSize( PMIDL_STUB_MESSAGE pStubMsg, unsigned char * pMemory, PFORMAT_STRING pFormat ); __declspec(dllimport) void __stdcall NdrXmitOrRepAsBufferSize( PMIDL_STUB_MESSAGE pStubMsg, unsigned char * pMemory, PFORMAT_STRING pFormat ); __declspec(dllimport) void __stdcall NdrUserMarshalBufferSize( PMIDL_STUB_MESSAGE pStubMsg, unsigned char * pMemory, PFORMAT_STRING pFormat ); __declspec(dllimport) void __stdcall NdrInterfacePointerBufferSize( PMIDL_STUB_MESSAGE pStubMsg, unsigned char * pMemory, PFORMAT_STRING pFormat ); __declspec(dllimport) void __stdcall NdrContextHandleSize( PMIDL_STUB_MESSAGE pStubMsg, unsigned char * pMemory, PFORMAT_STRING pFormat ); __declspec(dllimport) unsigned long __stdcall NdrPointerMemorySize( PMIDL_STUB_MESSAGE pStubMsg, PFORMAT_STRING pFormat ); __declspec(dllimport) unsigned long __stdcall NdrContextHandleMemorySize( PMIDL_STUB_MESSAGE pStubMsg, PFORMAT_STRING pFormat ); __declspec(dllimport) unsigned long __stdcall NdrCsArrayMemorySize( PMIDL_STUB_MESSAGE pStubMsg, PFORMAT_STRING pFormat ); __declspec(dllimport) unsigned long __stdcall NdrCsTagMemorySize( PMIDL_STUB_MESSAGE pStubMsg, PFORMAT_STRING pFormat ); __declspec(dllimport) unsigned long __stdcall NdrSimpleStructMemorySize( PMIDL_STUB_MESSAGE pStubMsg, PFORMAT_STRING pFormat ); __declspec(dllimport) unsigned long __stdcall NdrConformantStructMemorySize( PMIDL_STUB_MESSAGE pStubMsg, PFORMAT_STRING pFormat ); __declspec(dllimport) unsigned long __stdcall NdrConformantVaryingStructMemorySize( PMIDL_STUB_MESSAGE pStubMsg, PFORMAT_STRING pFormat ); __declspec(dllimport) unsigned long __stdcall NdrComplexStructMemorySize( PMIDL_STUB_MESSAGE pStubMsg, PFORMAT_STRING pFormat ); __declspec(dllimport) unsigned long __stdcall NdrFixedArrayMemorySize( PMIDL_STUB_MESSAGE pStubMsg, PFORMAT_STRING pFormat ); __declspec(dllimport) unsigned long __stdcall NdrConformantArrayMemorySize( PMIDL_STUB_MESSAGE pStubMsg, PFORMAT_STRING pFormat ); __declspec(dllimport) unsigned long __stdcall NdrConformantVaryingArrayMemorySize( PMIDL_STUB_MESSAGE pStubMsg, PFORMAT_STRING pFormat ); __declspec(dllimport) unsigned long __stdcall NdrVaryingArrayMemorySize( PMIDL_STUB_MESSAGE pStubMsg, PFORMAT_STRING pFormat ); __declspec(dllimport) unsigned long __stdcall NdrComplexArrayMemorySize( PMIDL_STUB_MESSAGE pStubMsg, PFORMAT_STRING pFormat ); __declspec(dllimport) unsigned long __stdcall NdrConformantStringMemorySize( PMIDL_STUB_MESSAGE pStubMsg, PFORMAT_STRING pFormat ); __declspec(dllimport) unsigned long __stdcall NdrNonConformantStringMemorySize( PMIDL_STUB_MESSAGE pStubMsg, PFORMAT_STRING pFormat ); __declspec(dllimport) unsigned long __stdcall NdrEncapsulatedUnionMemorySize( PMIDL_STUB_MESSAGE pStubMsg, PFORMAT_STRING pFormat ); __declspec(dllimport) unsigned long __stdcall NdrNonEncapsulatedUnionMemorySize( PMIDL_STUB_MESSAGE pStubMsg, PFORMAT_STRING pFormat ); __declspec(dllimport) unsigned long __stdcall NdrXmitOrRepAsMemorySize( PMIDL_STUB_MESSAGE pStubMsg, PFORMAT_STRING pFormat ); __declspec(dllimport) unsigned long __stdcall NdrUserMarshalMemorySize( PMIDL_STUB_MESSAGE pStubMsg, PFORMAT_STRING pFormat ); __declspec(dllimport) unsigned long __stdcall NdrInterfacePointerMemorySize( PMIDL_STUB_MESSAGE pStubMsg, PFORMAT_STRING pFormat ); __declspec(dllimport) void __stdcall NdrPointerFree( PMIDL_STUB_MESSAGE pStubMsg, unsigned char * pMemory, PFORMAT_STRING pFormat ); __declspec(dllimport) void __stdcall NdrCsArrayFree( PMIDL_STUB_MESSAGE pStubMsg, unsigned char * pMemory, PFORMAT_STRING pFormat ); __declspec(dllimport) void __stdcall NdrSimpleStructFree( PMIDL_STUB_MESSAGE pStubMsg, unsigned char * pMemory, PFORMAT_STRING pFormat ); __declspec(dllimport) void __stdcall NdrConformantStructFree( PMIDL_STUB_MESSAGE pStubMsg, unsigned char * pMemory, PFORMAT_STRING pFormat ); __declspec(dllimport) void __stdcall NdrConformantVaryingStructFree( PMIDL_STUB_MESSAGE pStubMsg, unsigned char * pMemory, PFORMAT_STRING pFormat ); __declspec(dllimport) void __stdcall NdrComplexStructFree( PMIDL_STUB_MESSAGE pStubMsg, unsigned char * pMemory, PFORMAT_STRING pFormat ); __declspec(dllimport) void __stdcall NdrFixedArrayFree( PMIDL_STUB_MESSAGE pStubMsg, unsigned char * pMemory, PFORMAT_STRING pFormat ); __declspec(dllimport) void __stdcall NdrConformantArrayFree( PMIDL_STUB_MESSAGE pStubMsg, unsigned char * pMemory, PFORMAT_STRING pFormat ); __declspec(dllimport) void __stdcall NdrConformantVaryingArrayFree( PMIDL_STUB_MESSAGE pStubMsg, unsigned char * pMemory, PFORMAT_STRING pFormat ); __declspec(dllimport) void __stdcall NdrVaryingArrayFree( PMIDL_STUB_MESSAGE pStubMsg, unsigned char * pMemory, PFORMAT_STRING pFormat ); __declspec(dllimport) void __stdcall NdrComplexArrayFree( PMIDL_STUB_MESSAGE pStubMsg, unsigned char * pMemory, PFORMAT_STRING pFormat ); __declspec(dllimport) void __stdcall NdrEncapsulatedUnionFree( PMIDL_STUB_MESSAGE pStubMsg, unsigned char * pMemory, PFORMAT_STRING pFormat ); __declspec(dllimport) void __stdcall NdrNonEncapsulatedUnionFree( PMIDL_STUB_MESSAGE pStubMsg, unsigned char * pMemory, PFORMAT_STRING pFormat ); __declspec(dllimport) void __stdcall NdrByteCountPointerFree( PMIDL_STUB_MESSAGE pStubMsg, unsigned char * pMemory, PFORMAT_STRING pFormat ); __declspec(dllimport) void __stdcall NdrXmitOrRepAsFree( PMIDL_STUB_MESSAGE pStubMsg, unsigned char * pMemory, PFORMAT_STRING pFormat ); __declspec(dllimport) void __stdcall NdrUserMarshalFree( PMIDL_STUB_MESSAGE pStubMsg, unsigned char * pMemory, PFORMAT_STRING pFormat ); __declspec(dllimport) void __stdcall NdrInterfacePointerFree( PMIDL_STUB_MESSAGE pStubMsg, unsigned char * pMemory, PFORMAT_STRING pFormat ); __declspec(dllimport) void __stdcall NdrConvert2( PMIDL_STUB_MESSAGE pStubMsg, PFORMAT_STRING pFormat, long NumberParams ); __declspec(dllimport) void __stdcall NdrConvert( PMIDL_STUB_MESSAGE pStubMsg, PFORMAT_STRING pFormat ); __declspec(dllimport) unsigned char * __stdcall NdrUserMarshalSimpleTypeConvert( unsigned long * pFlags, unsigned char * pBuffer, unsigned char FormatChar ); __declspec(dllimport) void __stdcall NdrClientInitializeNew( PRPC_MESSAGE pRpcMsg, PMIDL_STUB_MESSAGE pStubMsg, PMIDL_STUB_DESC pStubDescriptor, unsigned int ProcNum ); __declspec(dllimport) unsigned char * __stdcall NdrServerInitializeNew( PRPC_MESSAGE pRpcMsg, PMIDL_STUB_MESSAGE pStubMsg, PMIDL_STUB_DESC pStubDescriptor ); __declspec(dllimport) void __stdcall NdrServerInitializePartial( PRPC_MESSAGE pRpcMsg, PMIDL_STUB_MESSAGE pStubMsg, PMIDL_STUB_DESC pStubDescriptor, unsigned long RequestedBufferSize ); __declspec(dllimport) void __stdcall NdrClientInitialize( PRPC_MESSAGE pRpcMsg, PMIDL_STUB_MESSAGE pStubMsg, PMIDL_STUB_DESC pStubDescriptor, unsigned int ProcNum ); __declspec(dllimport) unsigned char * __stdcall NdrServerInitialize( PRPC_MESSAGE pRpcMsg, PMIDL_STUB_MESSAGE pStubMsg, PMIDL_STUB_DESC pStubDescriptor ); __declspec(dllimport) unsigned char * __stdcall NdrServerInitializeUnmarshall ( PMIDL_STUB_MESSAGE pStubMsg, PMIDL_STUB_DESC pStubDescriptor, PRPC_MESSAGE pRpcMsg ); __declspec(dllimport) void __stdcall NdrServerInitializeMarshall ( PRPC_MESSAGE pRpcMsg, PMIDL_STUB_MESSAGE pStubMsg ); __declspec(dllimport) unsigned char * __stdcall NdrGetBuffer( PMIDL_STUB_MESSAGE pStubMsg, unsigned long BufferLength, RPC_BINDING_HANDLE Handle ); __declspec(dllimport) unsigned char * __stdcall NdrNsGetBuffer( PMIDL_STUB_MESSAGE pStubMsg, unsigned long BufferLength, RPC_BINDING_HANDLE Handle ); __declspec(dllimport) unsigned char * __stdcall NdrSendReceive( PMIDL_STUB_MESSAGE pStubMsg, unsigned char * pBufferEnd ); __declspec(dllimport) unsigned char * __stdcall NdrNsSendReceive( PMIDL_STUB_MESSAGE pStubMsg, unsigned char * pBufferEnd, RPC_BINDING_HANDLE * pAutoHandle ); __declspec(dllimport) void __stdcall NdrFreeBuffer( PMIDL_STUB_MESSAGE pStubMsg ); __declspec(dllimport) HRESULT __stdcall NdrGetDcomProtocolVersion( PMIDL_STUB_MESSAGE pStubMsg, RPC_VERSION * pVersion ); #pragma warning(pop) CLIENT_CALL_RETURN __cdecl NdrClientCall2( PMIDL_STUB_DESC pStubDescriptor, PFORMAT_STRING pFormat, ... ); CLIENT_CALL_RETURN __cdecl NdrClientCall( PMIDL_STUB_DESC pStubDescriptor, PFORMAT_STRING pFormat, ... ); CLIENT_CALL_RETURN __cdecl NdrAsyncClientCall( PMIDL_STUB_DESC pStubDescriptor, PFORMAT_STRING pFormat, ... ); #pragma endregion #pragma region Desktop Family or OneCore Family CLIENT_CALL_RETURN __cdecl NdrDcomAsyncClientCall( PMIDL_STUB_DESC pStubDescriptor, PFORMAT_STRING pFormat, ... ); #pragma endregion #pragma region Application Family or OneCore Family typedef enum { STUB_UNMARSHAL, STUB_CALL_SERVER, STUB_MARSHAL, STUB_CALL_SERVER_NO_HRESULT }STUB_PHASE; typedef enum { PROXY_CALCSIZE, PROXY_GETBUFFER, PROXY_MARSHAL, PROXY_SENDRECEIVE, PROXY_UNMARSHAL }PROXY_PHASE; struct IRpcStubBuffer; __declspec(dllimport) void __stdcall NdrAsyncServerCall( PRPC_MESSAGE pRpcMsg ); __declspec(dllimport) long __stdcall NdrAsyncStubCall( struct IRpcStubBuffer * pThis, struct IRpcChannelBuffer * pChannel, PRPC_MESSAGE pRpcMsg, unsigned long * pdwStubPhase ); #pragma endregion #pragma region Desktop Family or OneCore Family __declspec(dllimport) long __stdcall NdrDcomAsyncStubCall( struct IRpcStubBuffer * pThis, struct IRpcChannelBuffer * pChannel, PRPC_MESSAGE pRpcMsg, unsigned long * pdwStubPhase ); #pragma endregion #pragma region Application Family or OneCore Family or Games Family __declspec(dllimport) long __stdcall NdrStubCall2( void * pThis, void * pChannel, PRPC_MESSAGE pRpcMsg, unsigned long * pdwStubPhase ); __declspec(dllimport) void __stdcall NdrServerCall2( PRPC_MESSAGE pRpcMsg ); __declspec(dllimport) long __stdcall NdrStubCall ( void * pThis, void * pChannel, PRPC_MESSAGE pRpcMsg, unsigned long * pdwStubPhase ); __declspec(dllimport) void __stdcall NdrServerCall( PRPC_MESSAGE pRpcMsg ); __declspec(dllimport) int __stdcall NdrServerUnmarshall( void * pChannel, PRPC_MESSAGE pRpcMsg, PMIDL_STUB_MESSAGE pStubMsg, PMIDL_STUB_DESC pStubDescriptor, PFORMAT_STRING pFormat, void * pParamList ); __declspec(dllimport) void __stdcall NdrServerMarshall( void * pThis, void * pChannel, PMIDL_STUB_MESSAGE pStubMsg, PFORMAT_STRING pFormat ); __declspec(dllimport) RPC_STATUS __stdcall NdrMapCommAndFaultStatus( PMIDL_STUB_MESSAGE pStubMsg, unsigned long * pCommStatus, unsigned long * pFaultStatus, RPC_STATUS Status ); typedef void * RPC_SS_THREAD_HANDLE; typedef void * __stdcall RPC_CLIENT_ALLOC ( size_t Size ); typedef void __stdcall RPC_CLIENT_FREE ( void * Ptr ); __declspec(dllimport) void * __stdcall RpcSsAllocate ( size_t Size ); __declspec(dllimport) void __stdcall RpcSsDisableAllocate ( void ); __declspec(dllimport) void __stdcall RpcSsEnableAllocate ( void ); __declspec(dllimport) void __stdcall RpcSsFree ( void * NodeToFree ); __declspec(dllimport) RPC_SS_THREAD_HANDLE __stdcall RpcSsGetThreadHandle ( void ); __declspec(dllimport) void __stdcall RpcSsSetClientAllocFree ( RPC_CLIENT_ALLOC * ClientAlloc, RPC_CLIENT_FREE * ClientFree ); __declspec(dllimport) void __stdcall RpcSsSetThreadHandle ( RPC_SS_THREAD_HANDLE Id ); __declspec(dllimport) void __stdcall RpcSsSwapClientAllocFree ( RPC_CLIENT_ALLOC * ClientAlloc, RPC_CLIENT_FREE * ClientFree, RPC_CLIENT_ALLOC * * OldClientAlloc, RPC_CLIENT_FREE * * OldClientFree ); __declspec(dllimport) void * __stdcall RpcSmAllocate ( size_t Size, RPC_STATUS * pStatus ); __declspec(dllimport) RPC_STATUS __stdcall RpcSmClientFree ( void * pNodeToFree ); __declspec(dllimport) RPC_STATUS __stdcall RpcSmDestroyClientContext ( void * * ContextHandle ); __declspec(dllimport) RPC_STATUS __stdcall RpcSmDisableAllocate ( void ); __declspec(dllimport) RPC_STATUS __stdcall RpcSmEnableAllocate ( void ); __declspec(dllimport) RPC_STATUS __stdcall RpcSmFree ( void * NodeToFree ); __declspec(dllimport) RPC_SS_THREAD_HANDLE __stdcall RpcSmGetThreadHandle ( RPC_STATUS * pStatus ); __declspec(dllimport) RPC_STATUS __stdcall RpcSmSetClientAllocFree ( RPC_CLIENT_ALLOC * ClientAlloc, RPC_CLIENT_FREE * ClientFree ); __declspec(dllimport) RPC_STATUS __stdcall RpcSmSetThreadHandle ( RPC_SS_THREAD_HANDLE Id ); __declspec(dllimport) RPC_STATUS __stdcall RpcSmSwapClientAllocFree ( RPC_CLIENT_ALLOC * ClientAlloc, RPC_CLIENT_FREE * ClientFree, RPC_CLIENT_ALLOC * * OldClientAlloc, RPC_CLIENT_FREE * * OldClientFree ); __declspec(dllimport) void __stdcall NdrRpcSsEnableAllocate( PMIDL_STUB_MESSAGE pMessage ); __declspec(dllimport) void __stdcall NdrRpcSsDisableAllocate( PMIDL_STUB_MESSAGE pMessage ); __declspec(dllimport) void __stdcall NdrRpcSmSetClientToOsf( PMIDL_STUB_MESSAGE pMessage ); __declspec(dllimport) void * __stdcall NdrRpcSmClientAllocate ( size_t Size ); __declspec(dllimport) void __stdcall NdrRpcSmClientFree ( void * NodeToFree ); __declspec(dllimport) void * __stdcall NdrRpcSsDefaultAllocate ( size_t Size ); __declspec(dllimport) void __stdcall NdrRpcSsDefaultFree ( void * NodeToFree ); __declspec(dllimport) PFULL_PTR_XLAT_TABLES __stdcall NdrFullPointerXlatInit( unsigned long NumberOfPointers, XLAT_SIDE XlatSide ); __declspec(dllimport) void __stdcall NdrFullPointerXlatFree( PFULL_PTR_XLAT_TABLES pXlatTables ); __declspec(dllimport) void * __stdcall NdrAllocate( PMIDL_STUB_MESSAGE pStubMsg, size_t Len ); __declspec(dllimport) void __stdcall NdrClearOutParameters( PMIDL_STUB_MESSAGE pStubMsg, PFORMAT_STRING pFormat, void * ArgAddr ); __declspec(dllimport) void * __stdcall NdrOleAllocate ( size_t Size ); __declspec(dllimport) void __stdcall NdrOleFree ( void * NodeToFree ); typedef struct _NDR_USER_MARSHAL_INFO_LEVEL1 { void * Buffer; unsigned long BufferSize; void *(__stdcall * pfnAllocate)(size_t); void (__stdcall * pfnFree)(void *); struct IRpcChannelBuffer * pRpcChannelBuffer; ULONG_PTR Reserved[5]; } NDR_USER_MARSHAL_INFO_LEVEL1; #pragma warning(push) #pragma warning(disable:4201) typedef struct _NDR_USER_MARSHAL_INFO { unsigned long InformationLevel; union { NDR_USER_MARSHAL_INFO_LEVEL1 Level1; } ; } NDR_USER_MARSHAL_INFO; #pragma warning(pop) RPC_STATUS __stdcall NdrGetUserMarshalInfo ( unsigned long * pFlags, unsigned long InformationLevel, NDR_USER_MARSHAL_INFO * pMarshalInfo ); RPC_STATUS __stdcall NdrCreateServerInterfaceFromStub( struct IRpcStubBuffer* pStub, RPC_SERVER_INTERFACE *pServerIf ); CLIENT_CALL_RETURN __cdecl NdrClientCall3( MIDL_STUBLESS_PROXY_INFO *pProxyInfo, unsigned long nProcNum, void * pReturnValue, ... ); CLIENT_CALL_RETURN __cdecl Ndr64AsyncClientCall( MIDL_STUBLESS_PROXY_INFO *pProxyInfo, unsigned long nProcNum, void * pReturnValue, ... ); #pragma endregion #pragma region Desktop Family or OneCore Family CLIENT_CALL_RETURN __cdecl Ndr64DcomAsyncClientCall( MIDL_STUBLESS_PROXY_INFO *pProxyInfo, unsigned long nProcNum, void * pReturnValue, ... ); __declspec(dllimport) void __stdcall Ndr64AsyncServerCall( PRPC_MESSAGE pRpcMsg ); #pragma endregion #pragma region Application Family or OneCore Family struct IRpcStubBuffer; __declspec(dllimport) void __stdcall Ndr64AsyncServerCall64( PRPC_MESSAGE pRpcMsg ); __declspec(dllimport) void __stdcall Ndr64AsyncServerCallAll( PRPC_MESSAGE pRpcMsg ); __declspec(dllimport) long __stdcall Ndr64AsyncStubCall( struct IRpcStubBuffer * pThis, struct IRpcChannelBuffer * pChannel, PRPC_MESSAGE pRpcMsg, unsigned long * pdwStubPhase ); #pragma endregion #pragma region Desktop Family or OneCore Family __declspec(dllimport) long __stdcall Ndr64DcomAsyncStubCall( struct IRpcStubBuffer * pThis, struct IRpcChannelBuffer * pChannel, PRPC_MESSAGE pRpcMsg, unsigned long * pdwStubPhase ); #pragma endregion #pragma region Application Family or OneCore Family __declspec(dllimport) long __stdcall NdrStubCall3 ( void * pThis, void * pChannel, PRPC_MESSAGE pRpcMsg, unsigned long * pdwStubPhase ); __declspec(dllimport) void __stdcall NdrServerCallAll( PRPC_MESSAGE pRpcMsg ); __declspec(dllimport) void __stdcall NdrServerCallNdr64( PRPC_MESSAGE pRpcMsg ); __declspec(dllimport) void __stdcall NdrServerCall3( PRPC_MESSAGE pRpcMsg ); __declspec(dllimport) void __stdcall NdrPartialIgnoreClientMarshall( PMIDL_STUB_MESSAGE pStubMsg, void * pMemory ); __declspec(dllimport) void __stdcall NdrPartialIgnoreServerUnmarshall( PMIDL_STUB_MESSAGE pStubMsg, void ** ppMemory ); __declspec(dllimport) void __stdcall NdrPartialIgnoreClientBufferSize( PMIDL_STUB_MESSAGE pStubMsg, void * pMemory ); __declspec(dllimport) void __stdcall NdrPartialIgnoreServerInitialize( PMIDL_STUB_MESSAGE pStubMsg, void ** ppMemory, PFORMAT_STRING pFormat ); void __stdcall RpcUserFree( handle_t AsyncHandle, void * pBuffer ); #pragma endregion } #pragma warning(disable:4103) #pragma pack(pop) #pragma warning(pop) #pragma once #pragma warning(disable:4103) #pragma pack(push,8) #pragma once #pragma warning(disable:4103) #pragma pack(push,8) #pragma region Application or OneCore Family or Games Family extern "C++" { template void** IID_PPV_ARGS_Helper(T** pp); } typedef enum tagREGCLS { REGCLS_SINGLEUSE = 0, REGCLS_MULTIPLEUSE = 1, REGCLS_MULTI_SEPARATE = 2, REGCLS_SUSPENDED = 4, REGCLS_SURROGATE = 8, REGCLS_AGILE = 0x10, } REGCLS; typedef struct IRpcStubBuffer IRpcStubBuffer; typedef struct IRpcChannelBuffer IRpcChannelBuffer; typedef enum tagCOINITBASE { COINITBASE_MULTITHREADED = 0x0, } COINITBASE; #pragma once extern "C"{ #pragma once #pragma warning(push) #pragma warning(disable:4820) extern RPC_IF_HANDLE __MIDL_itf_wtypesbase_0000_0000_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_wtypesbase_0000_0000_v0_0_s_ifspec; typedef WCHAR OLECHAR; typedef OLECHAR *LPOLESTR; typedef const OLECHAR *LPCOLESTR; typedef unsigned char UCHAR; typedef short SHORT; typedef unsigned short USHORT; typedef DWORD ULONG; typedef double DOUBLE; typedef struct _COAUTHIDENTITY { USHORT *User; ULONG UserLength; USHORT *Domain; ULONG DomainLength; USHORT *Password; ULONG PasswordLength; ULONG Flags; } COAUTHIDENTITY; typedef struct _COAUTHINFO { DWORD dwAuthnSvc; DWORD dwAuthzSvc; LPWSTR pwszServerPrincName; DWORD dwAuthnLevel; DWORD dwImpersonationLevel; COAUTHIDENTITY *pAuthIdentityData; DWORD dwCapabilities; } COAUTHINFO; typedef LONG SCODE; typedef SCODE *PSCODE; typedef enum tagMEMCTX { MEMCTX_TASK = 1, MEMCTX_SHARED = 2, MEMCTX_MACSYSTEM = 3, MEMCTX_UNKNOWN = -1, MEMCTX_SAME = -2 } MEMCTX; typedef enum tagCLSCTX { CLSCTX_INPROC_SERVER = 0x1, CLSCTX_INPROC_HANDLER = 0x2, CLSCTX_LOCAL_SERVER = 0x4, CLSCTX_INPROC_SERVER16 = 0x8, CLSCTX_REMOTE_SERVER = 0x10, CLSCTX_INPROC_HANDLER16 = 0x20, CLSCTX_RESERVED1 = 0x40, CLSCTX_RESERVED2 = 0x80, CLSCTX_RESERVED3 = 0x100, CLSCTX_RESERVED4 = 0x200, CLSCTX_NO_CODE_DOWNLOAD = 0x400, CLSCTX_RESERVED5 = 0x800, CLSCTX_NO_CUSTOM_MARSHAL = 0x1000, CLSCTX_ENABLE_CODE_DOWNLOAD = 0x2000, CLSCTX_NO_FAILURE_LOG = 0x4000, CLSCTX_DISABLE_AAA = 0x8000, CLSCTX_ENABLE_AAA = 0x10000, CLSCTX_FROM_DEFAULT_CONTEXT = 0x20000, CLSCTX_ACTIVATE_X86_SERVER = 0x40000, CLSCTX_ACTIVATE_32_BIT_SERVER = CLSCTX_ACTIVATE_X86_SERVER, CLSCTX_ACTIVATE_64_BIT_SERVER = 0x80000, CLSCTX_ENABLE_CLOAKING = 0x100000, CLSCTX_APPCONTAINER = 0x400000, CLSCTX_ACTIVATE_AAA_AS_IU = 0x800000, CLSCTX_RESERVED6 = 0x1000000, CLSCTX_ACTIVATE_ARM32_SERVER = 0x2000000, CLSCTX_PS_DLL = 0x80000000 } CLSCTX; typedef enum tagMSHLFLAGS { MSHLFLAGS_NORMAL = 0, MSHLFLAGS_TABLESTRONG = 1, MSHLFLAGS_TABLEWEAK = 2, MSHLFLAGS_NOPING = 4, MSHLFLAGS_RESERVED1 = 8, MSHLFLAGS_RESERVED2 = 16, MSHLFLAGS_RESERVED3 = 32, MSHLFLAGS_RESERVED4 = 64 } MSHLFLAGS; typedef enum tagMSHCTX { MSHCTX_LOCAL = 0, MSHCTX_NOSHAREDMEM = 1, MSHCTX_DIFFERENTMACHINE = 2, MSHCTX_INPROC = 3, MSHCTX_CROSSCTX = 4, MSHCTX_RESERVED1 = 5 } MSHCTX; typedef struct _BYTE_BLOB { ULONG clSize; byte abData[ 1 ]; } BYTE_BLOB; typedef BYTE_BLOB *UP_BYTE_BLOB; typedef struct _WORD_BLOB { ULONG clSize; unsigned short asData[ 1 ]; } WORD_BLOB; typedef WORD_BLOB *UP_WORD_BLOB; typedef struct _DWORD_BLOB { ULONG clSize; ULONG alData[ 1 ]; } DWORD_BLOB; typedef DWORD_BLOB *UP_DWORD_BLOB; typedef struct _FLAGGED_BYTE_BLOB { ULONG fFlags; ULONG clSize; byte abData[ 1 ]; } FLAGGED_BYTE_BLOB; typedef FLAGGED_BYTE_BLOB *UP_FLAGGED_BYTE_BLOB; typedef struct _FLAGGED_WORD_BLOB { ULONG fFlags; ULONG clSize; unsigned short asData[ 1 ]; } FLAGGED_WORD_BLOB; typedef FLAGGED_WORD_BLOB *UP_FLAGGED_WORD_BLOB; typedef struct _BYTE_SIZEDARR { ULONG clSize; byte *pData; } BYTE_SIZEDARR; typedef struct _SHORT_SIZEDARR { ULONG clSize; unsigned short *pData; } WORD_SIZEDARR; typedef struct _LONG_SIZEDARR { ULONG clSize; ULONG *pData; } DWORD_SIZEDARR; typedef struct _HYPER_SIZEDARR { ULONG clSize; __int64 *pData; } HYPER_SIZEDARR; extern RPC_IF_HANDLE IWinTypesBase_v0_1_c_ifspec; extern RPC_IF_HANDLE IWinTypesBase_v0_1_s_ifspec; typedef boolean BOOLEAN; #pragma warning(pop) extern RPC_IF_HANDLE __MIDL_itf_wtypesbase_0000_0001_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_wtypesbase_0000_0001_v0_0_s_ifspec; } #pragma once typedef struct IUnknown IUnknown; typedef struct AsyncIUnknown AsyncIUnknown; typedef struct IClassFactory IClassFactory; extern "C"{ #pragma once #pragma region Application Family or OneCore Family extern RPC_IF_HANDLE __MIDL_itf_unknwnbase_0000_0000_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_unknwnbase_0000_0000_v0_0_s_ifspec; typedef IUnknown *LPUNKNOWN; extern "C" const IID IID_IUnknown; extern "C++" { struct __declspec(uuid("00000000-0000-0000-C000-000000000046")) __declspec(novtable) IUnknown { public: virtual HRESULT __stdcall QueryInterface( const IID & riid, void * *ppvObject) = 0; virtual ULONG __stdcall AddRef( void) = 0; virtual ULONG __stdcall Release( void) = 0; template HRESULT __stdcall QueryInterface( Q** pp) { return QueryInterface(__uuidof(Q), (void **)pp); } }; } HRESULT __stdcall IUnknown_QueryInterface_Proxy( IUnknown * This, const IID & riid, void * *ppvObject); void __stdcall IUnknown_QueryInterface_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); ULONG __stdcall IUnknown_AddRef_Proxy( IUnknown * This); void __stdcall IUnknown_AddRef_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); ULONG __stdcall IUnknown_Release_Proxy( IUnknown * This); void __stdcall IUnknown_Release_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); #pragma endregion #pragma region Desktop Family or OneCore Family extern RPC_IF_HANDLE __MIDL_itf_unknwnbase_0000_0001_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_unknwnbase_0000_0001_v0_0_s_ifspec; extern "C" const IID IID_AsyncIUnknown; struct __declspec(uuid("000e0000-0000-0000-C000-000000000046")) __declspec(novtable) AsyncIUnknown : public IUnknown { public: virtual HRESULT __stdcall Begin_QueryInterface( const IID & riid) = 0; virtual HRESULT __stdcall Finish_QueryInterface( void **ppvObject) = 0; virtual HRESULT __stdcall Begin_AddRef( void) = 0; virtual ULONG __stdcall Finish_AddRef( void) = 0; virtual HRESULT __stdcall Begin_Release( void) = 0; virtual ULONG __stdcall Finish_Release( void) = 0; }; #pragma endregion #pragma region Application Family or OneCore Family extern RPC_IF_HANDLE __MIDL_itf_unknwnbase_0000_0002_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_unknwnbase_0000_0002_v0_0_s_ifspec; typedef IClassFactory *LPCLASSFACTORY; extern "C" const IID IID_IClassFactory; struct __declspec(uuid("00000001-0000-0000-C000-000000000046")) __declspec(novtable) IClassFactory : public IUnknown { public: virtual HRESULT __stdcall CreateInstance( IUnknown *pUnkOuter, const IID & riid, void **ppvObject) = 0; virtual HRESULT __stdcall LockServer( BOOL fLock) = 0; }; HRESULT __stdcall IClassFactory_RemoteCreateInstance_Proxy( IClassFactory * This, const IID & riid, IUnknown **ppvObject); void __stdcall IClassFactory_RemoteCreateInstance_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT __stdcall IClassFactory_RemoteLockServer_Proxy( IClassFactory * This, BOOL fLock); void __stdcall IClassFactory_RemoteLockServer_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); #pragma endregion extern RPC_IF_HANDLE __MIDL_itf_unknwnbase_0000_0003_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_unknwnbase_0000_0003_v0_0_s_ifspec; HRESULT __stdcall IClassFactory_CreateInstance_Proxy( IClassFactory * This, IUnknown *pUnkOuter, const IID & riid, void **ppvObject); HRESULT __stdcall IClassFactory_CreateInstance_Stub( IClassFactory * This, const IID & riid, IUnknown **ppvObject); HRESULT __stdcall IClassFactory_LockServer_Proxy( IClassFactory * This, BOOL fLock); HRESULT __stdcall IClassFactory_LockServer_Stub( IClassFactory * This, BOOL fLock); } extern "C++" { template void** IID_PPV_ARGS_Helper(T** pp) { #pragma prefast(suppress: 6269, "Tool issue with unused static_cast") static_cast(*pp); return reinterpret_cast(pp); } } #pragma once typedef struct IMarshal IMarshal; typedef struct INoMarshal INoMarshal; typedef struct IAgileObject IAgileObject; typedef struct IActivationFilter IActivationFilter; typedef struct IMarshal2 IMarshal2; typedef struct IMalloc IMalloc; typedef struct IStdMarshalInfo IStdMarshalInfo; typedef struct IExternalConnection IExternalConnection; typedef struct IMultiQI IMultiQI; typedef struct AsyncIMultiQI AsyncIMultiQI; typedef struct IInternalUnknown IInternalUnknown; typedef struct IEnumUnknown IEnumUnknown; typedef struct IEnumString IEnumString; typedef struct ISequentialStream ISequentialStream; typedef struct IStream IStream; typedef struct IRpcChannelBuffer IRpcChannelBuffer; typedef struct IRpcChannelBuffer2 IRpcChannelBuffer2; typedef struct IAsyncRpcChannelBuffer IAsyncRpcChannelBuffer; typedef struct IRpcChannelBuffer3 IRpcChannelBuffer3; typedef struct IRpcSyntaxNegotiate IRpcSyntaxNegotiate; typedef struct IRpcProxyBuffer IRpcProxyBuffer; typedef struct IRpcStubBuffer IRpcStubBuffer; typedef struct IPSFactoryBuffer IPSFactoryBuffer; typedef struct IChannelHook IChannelHook; typedef struct IClientSecurity IClientSecurity; typedef struct IServerSecurity IServerSecurity; typedef struct IRpcOptions IRpcOptions; typedef struct IGlobalOptions IGlobalOptions; typedef struct ISurrogate ISurrogate; typedef struct IGlobalInterfaceTable IGlobalInterfaceTable; typedef struct ISynchronize ISynchronize; typedef struct ISynchronizeHandle ISynchronizeHandle; typedef struct ISynchronizeEvent ISynchronizeEvent; typedef struct ISynchronizeContainer ISynchronizeContainer; typedef struct ISynchronizeMutex ISynchronizeMutex; typedef struct ICancelMethodCalls ICancelMethodCalls; typedef struct IAsyncManager IAsyncManager; typedef struct ICallFactory ICallFactory; typedef struct IRpcHelper IRpcHelper; typedef struct IReleaseMarshalBuffers IReleaseMarshalBuffers; typedef struct IWaitMultiple IWaitMultiple; typedef struct IAddrTrackingControl IAddrTrackingControl; typedef struct IAddrExclusionControl IAddrExclusionControl; typedef struct IPipeByte IPipeByte; typedef struct AsyncIPipeByte AsyncIPipeByte; typedef struct IPipeLong IPipeLong; typedef struct AsyncIPipeLong AsyncIPipeLong; typedef struct IPipeDouble IPipeDouble; typedef struct AsyncIPipeDouble AsyncIPipeDouble; typedef struct IEnumContextProps IEnumContextProps; typedef struct IContext IContext; typedef struct IObjContext IObjContext; typedef struct IComThreadingInfo IComThreadingInfo; typedef struct IProcessInitControl IProcessInitControl; typedef struct IFastRundown IFastRundown; typedef struct IMarshalingStream IMarshalingStream; typedef struct IAgileReference IAgileReference; extern "C"{ #pragma warning(push) #pragma warning(disable:4820) #pragma warning(disable:4201) #pragma once #pragma region Application Family or OneCore Family #pragma endregion #pragma region Desktop Family or OneCore Family #pragma endregion #pragma region Application Family or OneCore Family typedef struct _COSERVERINFO { DWORD dwReserved1; LPWSTR pwszName; COAUTHINFO *pAuthInfo; DWORD dwReserved2; } COSERVERINFO; extern RPC_IF_HANDLE __MIDL_itf_objidlbase_0000_0000_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_objidlbase_0000_0000_v0_0_s_ifspec; typedef IMarshal *LPMARSHAL; extern "C" const IID IID_IMarshal; struct __declspec(uuid("00000003-0000-0000-C000-000000000046")) __declspec(novtable) IMarshal : public IUnknown { public: virtual HRESULT __stdcall GetUnmarshalClass( const IID & riid, void *pv, DWORD dwDestContext, void *pvDestContext, DWORD mshlflags, CLSID *pCid) = 0; virtual HRESULT __stdcall GetMarshalSizeMax( const IID & riid, void *pv, DWORD dwDestContext, void *pvDestContext, DWORD mshlflags, DWORD *pSize) = 0; virtual HRESULT __stdcall MarshalInterface( IStream *pStm, const IID & riid, void *pv, DWORD dwDestContext, void *pvDestContext, DWORD mshlflags) = 0; virtual HRESULT __stdcall UnmarshalInterface( IStream *pStm, const IID & riid, void **ppv) = 0; virtual HRESULT __stdcall ReleaseMarshalData( IStream *pStm) = 0; virtual HRESULT __stdcall DisconnectObject( DWORD dwReserved) = 0; }; extern "C" const IID IID_INoMarshal; struct __declspec(uuid("ecc8691b-c1db-4dc0-855e-65f6c551af49")) __declspec(novtable) INoMarshal : public IUnknown { public: }; extern "C" const IID IID_IAgileObject; struct __declspec(uuid("94ea2b94-e9cc-49e0-c0ff-ee64ca8f5b90")) __declspec(novtable) IAgileObject : public IUnknown { public: }; #pragma endregion #pragma region Desktop Family or OneCore Family or OneCore Family extern RPC_IF_HANDLE __MIDL_itf_objidlbase_0000_0003_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_objidlbase_0000_0003_v0_0_s_ifspec; typedef enum tagACTIVATIONTYPE { ACTIVATIONTYPE_UNCATEGORIZED = 0, ACTIVATIONTYPE_FROM_MONIKER = 0x1, ACTIVATIONTYPE_FROM_DATA = 0x2, ACTIVATIONTYPE_FROM_STORAGE = 0x4, ACTIVATIONTYPE_FROM_STREAM = 0x8, ACTIVATIONTYPE_FROM_FILE = 0x10 } ACTIVATIONTYPE; extern "C" const IID IID_IActivationFilter; struct __declspec(uuid("00000017-0000-0000-C000-000000000046")) __declspec(novtable) IActivationFilter : public IUnknown { public: virtual HRESULT __stdcall HandleActivation( DWORD dwActivationType, const IID & rclsid, CLSID *pReplacementClsId) = 0; }; typedef IMarshal2 *LPMARSHAL2; extern "C" const IID IID_IMarshal2; struct __declspec(uuid("000001cf-0000-0000-C000-000000000046")) __declspec(novtable) IMarshal2 : public IMarshal { public: }; typedef IMalloc *LPMALLOC; extern "C" const IID IID_IMalloc; struct __declspec(uuid("00000002-0000-0000-C000-000000000046")) __declspec(novtable) IMalloc : public IUnknown { public: virtual void *__stdcall Alloc( SIZE_T cb) = 0; virtual void *__stdcall Realloc( void *pv, SIZE_T cb) = 0; virtual void __stdcall Free( void *pv) = 0; virtual SIZE_T __stdcall GetSize( void *pv) = 0; virtual int __stdcall DidAlloc( void *pv) = 0; virtual void __stdcall HeapMinimize( void) = 0; }; typedef IStdMarshalInfo *LPSTDMARSHALINFO; extern "C" const IID IID_IStdMarshalInfo; struct __declspec(uuid("00000018-0000-0000-C000-000000000046")) __declspec(novtable) IStdMarshalInfo : public IUnknown { public: virtual HRESULT __stdcall GetClassForHandler( DWORD dwDestContext, void *pvDestContext, CLSID *pClsid) = 0; }; typedef IExternalConnection *LPEXTERNALCONNECTION; typedef enum tagEXTCONN { EXTCONN_STRONG = 0x1, EXTCONN_WEAK = 0x2, EXTCONN_CALLABLE = 0x4 } EXTCONN; extern "C" const IID IID_IExternalConnection; struct __declspec(uuid("00000019-0000-0000-C000-000000000046")) __declspec(novtable) IExternalConnection : public IUnknown { public: virtual DWORD __stdcall AddConnection( DWORD extconn, DWORD reserved) = 0; virtual DWORD __stdcall ReleaseConnection( DWORD extconn, DWORD reserved, BOOL fLastReleaseCloses) = 0; }; typedef IMultiQI *LPMULTIQI; #pragma endregion #pragma region Application Family or OneCore Family typedef struct tagMULTI_QI { const IID *pIID; IUnknown *pItf; HRESULT hr; } MULTI_QI; extern RPC_IF_HANDLE __MIDL_itf_objidlbase_0000_0008_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_objidlbase_0000_0008_v0_0_s_ifspec; extern "C" const IID IID_IMultiQI; struct __declspec(uuid("00000020-0000-0000-C000-000000000046")) __declspec(novtable) IMultiQI : public IUnknown { public: virtual HRESULT __stdcall QueryMultipleInterfaces( ULONG cMQIs, MULTI_QI *pMQIs) = 0; }; extern "C" const IID IID_AsyncIMultiQI; struct __declspec(uuid("000e0020-0000-0000-C000-000000000046")) __declspec(novtable) AsyncIMultiQI : public IUnknown { public: virtual HRESULT __stdcall Begin_QueryMultipleInterfaces( ULONG cMQIs, MULTI_QI *pMQIs) = 0; virtual HRESULT __stdcall Finish_QueryMultipleInterfaces( MULTI_QI *pMQIs) = 0; }; #pragma endregion #pragma region Desktop Family or OneCore Family extern RPC_IF_HANDLE __MIDL_itf_objidlbase_0000_0009_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_objidlbase_0000_0009_v0_0_s_ifspec; extern "C" const IID IID_IInternalUnknown; struct __declspec(uuid("00000021-0000-0000-C000-000000000046")) __declspec(novtable) IInternalUnknown : public IUnknown { public: virtual HRESULT __stdcall QueryInternalInterface( const IID & riid, void **ppv) = 0; }; #pragma endregion #pragma region Application Family or OneCore Family or OneCore Family extern RPC_IF_HANDLE __MIDL_itf_objidlbase_0000_0010_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_objidlbase_0000_0010_v0_0_s_ifspec; typedef IEnumUnknown *LPENUMUNKNOWN; extern "C" const IID IID_IEnumUnknown; struct __declspec(uuid("00000100-0000-0000-C000-000000000046")) __declspec(novtable) IEnumUnknown : public IUnknown { public: virtual HRESULT __stdcall Next( ULONG celt, IUnknown **rgelt, ULONG *pceltFetched) = 0; virtual HRESULT __stdcall Skip( ULONG celt) = 0; virtual HRESULT __stdcall Reset( void) = 0; virtual HRESULT __stdcall Clone( IEnumUnknown **ppenum) = 0; }; HRESULT __stdcall IEnumUnknown_RemoteNext_Proxy( IEnumUnknown * This, ULONG celt, IUnknown **rgelt, ULONG *pceltFetched); void __stdcall IEnumUnknown_RemoteNext_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); typedef IEnumString *LPENUMSTRING; extern "C" const IID IID_IEnumString; struct __declspec(uuid("00000101-0000-0000-C000-000000000046")) __declspec(novtable) IEnumString : public IUnknown { public: virtual HRESULT __stdcall Next( ULONG celt, LPOLESTR *rgelt, ULONG *pceltFetched) = 0; virtual HRESULT __stdcall Skip( ULONG celt) = 0; virtual HRESULT __stdcall Reset( void) = 0; virtual HRESULT __stdcall Clone( IEnumString **ppenum) = 0; }; HRESULT __stdcall IEnumString_RemoteNext_Proxy( IEnumString * This, ULONG celt, LPOLESTR *rgelt, ULONG *pceltFetched); void __stdcall IEnumString_RemoteNext_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); extern "C" const IID IID_ISequentialStream; struct __declspec(uuid("0c733a30-2a1c-11ce-ade5-00aa0044773d")) __declspec(novtable) ISequentialStream : public IUnknown { public: virtual HRESULT __stdcall Read( void *pv, ULONG cb, ULONG *pcbRead) = 0; virtual HRESULT __stdcall Write( const void *pv, ULONG cb, ULONG *pcbWritten) = 0; }; HRESULT __stdcall ISequentialStream_RemoteRead_Proxy( ISequentialStream * This, byte *pv, ULONG cb, ULONG *pcbRead); void __stdcall ISequentialStream_RemoteRead_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT __stdcall ISequentialStream_RemoteWrite_Proxy( ISequentialStream * This, const byte *pv, ULONG cb, ULONG *pcbWritten); void __stdcall ISequentialStream_RemoteWrite_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); typedef IStream *LPSTREAM; typedef struct tagSTATSTG { LPOLESTR pwcsName; DWORD type; ULARGE_INTEGER cbSize; FILETIME mtime; FILETIME ctime; FILETIME atime; DWORD grfMode; DWORD grfLocksSupported; CLSID clsid; DWORD grfStateBits; DWORD reserved; } STATSTG; typedef enum tagSTGTY { STGTY_STORAGE = 1, STGTY_STREAM = 2, STGTY_LOCKBYTES = 3, STGTY_PROPERTY = 4 } STGTY; typedef enum tagSTREAM_SEEK { STREAM_SEEK_SET = 0, STREAM_SEEK_CUR = 1, STREAM_SEEK_END = 2 } STREAM_SEEK; typedef enum tagLOCKTYPE { LOCK_WRITE = 1, LOCK_EXCLUSIVE = 2, LOCK_ONLYONCE = 4 } LOCKTYPE; extern "C" const IID IID_IStream; struct __declspec(uuid("0000000c-0000-0000-C000-000000000046")) __declspec(novtable) IStream : public ISequentialStream { public: virtual HRESULT __stdcall Seek( LARGE_INTEGER dlibMove, DWORD dwOrigin, ULARGE_INTEGER *plibNewPosition) = 0; virtual HRESULT __stdcall SetSize( ULARGE_INTEGER libNewSize) = 0; virtual HRESULT __stdcall CopyTo( IStream *pstm, ULARGE_INTEGER cb, ULARGE_INTEGER *pcbRead, ULARGE_INTEGER *pcbWritten) = 0; virtual HRESULT __stdcall Commit( DWORD grfCommitFlags) = 0; virtual HRESULT __stdcall Revert( void) = 0; virtual HRESULT __stdcall LockRegion( ULARGE_INTEGER libOffset, ULARGE_INTEGER cb, DWORD dwLockType) = 0; virtual HRESULT __stdcall UnlockRegion( ULARGE_INTEGER libOffset, ULARGE_INTEGER cb, DWORD dwLockType) = 0; virtual HRESULT __stdcall Stat( STATSTG *pstatstg, DWORD grfStatFlag) = 0; virtual HRESULT __stdcall Clone( IStream **ppstm) = 0; }; HRESULT __stdcall IStream_RemoteSeek_Proxy( IStream * This, LARGE_INTEGER dlibMove, DWORD dwOrigin, ULARGE_INTEGER *plibNewPosition); void __stdcall IStream_RemoteSeek_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT __stdcall IStream_RemoteCopyTo_Proxy( IStream * This, IStream *pstm, ULARGE_INTEGER cb, ULARGE_INTEGER *pcbRead, ULARGE_INTEGER *pcbWritten); void __stdcall IStream_RemoteCopyTo_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); typedef ULONG RPCOLEDATAREP; typedef struct tagRPCOLEMESSAGE { void *reserved1; RPCOLEDATAREP dataRepresentation; void *Buffer; ULONG cbBuffer; ULONG iMethod; void *reserved2[ 5 ]; ULONG rpcFlags; } RPCOLEMESSAGE; typedef RPCOLEMESSAGE *PRPCOLEMESSAGE; extern "C" const IID IID_IRpcChannelBuffer; struct __declspec(uuid("D5F56B60-593B-101A-B569-08002B2DBF7A")) __declspec(novtable) IRpcChannelBuffer : public IUnknown { public: virtual HRESULT __stdcall GetBuffer( RPCOLEMESSAGE *pMessage, const IID & riid) = 0; virtual HRESULT __stdcall SendReceive( RPCOLEMESSAGE *pMessage, ULONG *pStatus) = 0; virtual HRESULT __stdcall FreeBuffer( RPCOLEMESSAGE *pMessage) = 0; virtual HRESULT __stdcall GetDestCtx( DWORD *pdwDestContext, void **ppvDestContext) = 0; virtual HRESULT __stdcall IsConnected( void) = 0; }; #pragma endregion #pragma region Desktop Family or OneCore Family extern RPC_IF_HANDLE __MIDL_itf_objidlbase_0000_0015_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_objidlbase_0000_0015_v0_0_s_ifspec; extern "C" const IID IID_IRpcChannelBuffer2; struct __declspec(uuid("594f31d0-7f19-11d0-b194-00a0c90dc8bf")) __declspec(novtable) IRpcChannelBuffer2 : public IRpcChannelBuffer { public: virtual HRESULT __stdcall GetProtocolVersion( DWORD *pdwVersion) = 0; }; extern "C" const IID IID_IAsyncRpcChannelBuffer; struct __declspec(uuid("a5029fb6-3c34-11d1-9c99-00c04fb998aa")) __declspec(novtable) IAsyncRpcChannelBuffer : public IRpcChannelBuffer2 { public: virtual HRESULT __stdcall Send( RPCOLEMESSAGE *pMsg, ISynchronize *pSync, ULONG *pulStatus) = 0; virtual HRESULT __stdcall Receive( RPCOLEMESSAGE *pMsg, ULONG *pulStatus) = 0; virtual HRESULT __stdcall GetDestCtxEx( RPCOLEMESSAGE *pMsg, DWORD *pdwDestContext, void **ppvDestContext) = 0; }; extern "C" const IID IID_IRpcChannelBuffer3; struct __declspec(uuid("25B15600-0115-11d0-BF0D-00AA00B8DFD2")) __declspec(novtable) IRpcChannelBuffer3 : public IRpcChannelBuffer2 { public: virtual HRESULT __stdcall Send( RPCOLEMESSAGE *pMsg, ULONG *pulStatus) = 0; virtual HRESULT __stdcall Receive( RPCOLEMESSAGE *pMsg, ULONG ulSize, ULONG *pulStatus) = 0; virtual HRESULT __stdcall Cancel( RPCOLEMESSAGE *pMsg) = 0; virtual HRESULT __stdcall GetCallContext( RPCOLEMESSAGE *pMsg, const IID & riid, void **pInterface) = 0; virtual HRESULT __stdcall GetDestCtxEx( RPCOLEMESSAGE *pMsg, DWORD *pdwDestContext, void **ppvDestContext) = 0; virtual HRESULT __stdcall GetState( RPCOLEMESSAGE *pMsg, DWORD *pState) = 0; virtual HRESULT __stdcall RegisterAsync( RPCOLEMESSAGE *pMsg, IAsyncManager *pAsyncMgr) = 0; }; extern "C" const IID IID_IRpcSyntaxNegotiate; struct __declspec(uuid("58a08519-24c8-4935-b482-3fd823333a4f")) __declspec(novtable) IRpcSyntaxNegotiate : public IUnknown { public: virtual HRESULT __stdcall NegotiateSyntax( RPCOLEMESSAGE *pMsg) = 0; }; extern "C" const IID IID_IRpcProxyBuffer; struct __declspec(uuid("D5F56A34-593B-101A-B569-08002B2DBF7A")) __declspec(novtable) IRpcProxyBuffer : public IUnknown { public: virtual HRESULT __stdcall Connect( IRpcChannelBuffer *pRpcChannelBuffer) = 0; virtual void __stdcall Disconnect( void) = 0; }; #pragma endregion #pragma region Application Family or OneCore Family or OneCore Family extern RPC_IF_HANDLE __MIDL_itf_objidlbase_0000_0020_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_objidlbase_0000_0020_v0_0_s_ifspec; extern "C" const IID IID_IRpcStubBuffer; struct __declspec(uuid("D5F56AFC-593B-101A-B569-08002B2DBF7A")) __declspec(novtable) IRpcStubBuffer : public IUnknown { public: virtual HRESULT __stdcall Connect( IUnknown *pUnkServer) = 0; virtual void __stdcall Disconnect( void) = 0; virtual HRESULT __stdcall Invoke( RPCOLEMESSAGE *_prpcmsg, IRpcChannelBuffer *_pRpcChannelBuffer) = 0; virtual IRpcStubBuffer *__stdcall IsIIDSupported( const IID & riid) = 0; virtual ULONG __stdcall CountRefs( void) = 0; virtual HRESULT __stdcall DebugServerQueryInterface( void **ppv) = 0; virtual void __stdcall DebugServerRelease( void *pv) = 0; }; extern "C" const IID IID_IPSFactoryBuffer; struct __declspec(uuid("D5F569D0-593B-101A-B569-08002B2DBF7A")) __declspec(novtable) IPSFactoryBuffer : public IUnknown { public: virtual HRESULT __stdcall CreateProxy( IUnknown *pUnkOuter, const IID & riid, IRpcProxyBuffer **ppProxy, void **ppv) = 0; virtual HRESULT __stdcall CreateStub( const IID & riid, IUnknown *pUnkServer, IRpcStubBuffer **ppStub) = 0; }; #pragma endregion #pragma region Desktop Family or OneCore Family typedef struct SChannelHookCallInfo { IID iid; DWORD cbSize; GUID uCausality; DWORD dwServerPid; DWORD iMethod; void *pObject; } SChannelHookCallInfo; extern RPC_IF_HANDLE __MIDL_itf_objidlbase_0000_0022_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_objidlbase_0000_0022_v0_0_s_ifspec; extern "C" const IID IID_IChannelHook; struct __declspec(uuid("1008c4a0-7613-11cf-9af1-0020af6e72f4")) __declspec(novtable) IChannelHook : public IUnknown { public: virtual void __stdcall ClientGetSize( const GUID & uExtent, const IID & riid, ULONG *pDataSize) = 0; virtual void __stdcall ClientFillBuffer( const GUID & uExtent, const IID & riid, ULONG *pDataSize, void *pDataBuffer) = 0; virtual void __stdcall ClientNotify( const GUID & uExtent, const IID & riid, ULONG cbDataSize, void *pDataBuffer, DWORD lDataRep, HRESULT hrFault) = 0; virtual void __stdcall ServerNotify( const GUID & uExtent, const IID & riid, ULONG cbDataSize, void *pDataBuffer, DWORD lDataRep) = 0; virtual void __stdcall ServerGetSize( const GUID & uExtent, const IID & riid, HRESULT hrFault, ULONG *pDataSize) = 0; virtual void __stdcall ServerFillBuffer( const GUID & uExtent, const IID & riid, ULONG *pDataSize, void *pDataBuffer, HRESULT hrFault) = 0; }; #pragma endregion #pragma region Application Family or OneCore Family extern RPC_IF_HANDLE __MIDL_itf_objidlbase_0000_0023_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_objidlbase_0000_0023_v0_0_s_ifspec; typedef struct tagSOLE_AUTHENTICATION_SERVICE { DWORD dwAuthnSvc; DWORD dwAuthzSvc; OLECHAR *pPrincipalName; HRESULT hr; } SOLE_AUTHENTICATION_SERVICE; typedef SOLE_AUTHENTICATION_SERVICE *PSOLE_AUTHENTICATION_SERVICE; typedef enum tagEOLE_AUTHENTICATION_CAPABILITIES { EOAC_NONE = 0, EOAC_MUTUAL_AUTH = 0x1, EOAC_STATIC_CLOAKING = 0x20, EOAC_DYNAMIC_CLOAKING = 0x40, EOAC_ANY_AUTHORITY = 0x80, EOAC_MAKE_FULLSIC = 0x100, EOAC_DEFAULT = 0x800, EOAC_SECURE_REFS = 0x2, EOAC_ACCESS_CONTROL = 0x4, EOAC_APPID = 0x8, EOAC_DYNAMIC = 0x10, EOAC_REQUIRE_FULLSIC = 0x200, EOAC_AUTO_IMPERSONATE = 0x400, EOAC_DISABLE_AAA = 0x1000, EOAC_NO_CUSTOM_MARSHAL = 0x2000, EOAC_RESERVED1 = 0x4000 } EOLE_AUTHENTICATION_CAPABILITIES; typedef struct tagSOLE_AUTHENTICATION_INFO { DWORD dwAuthnSvc; DWORD dwAuthzSvc; void *pAuthInfo; } SOLE_AUTHENTICATION_INFO; typedef struct tagSOLE_AUTHENTICATION_INFO *PSOLE_AUTHENTICATION_INFO; typedef struct tagSOLE_AUTHENTICATION_LIST { DWORD cAuthInfo; SOLE_AUTHENTICATION_INFO *aAuthInfo; } SOLE_AUTHENTICATION_LIST; typedef struct tagSOLE_AUTHENTICATION_LIST *PSOLE_AUTHENTICATION_LIST; extern "C" const IID IID_IClientSecurity; struct __declspec(uuid("0000013D-0000-0000-C000-000000000046")) __declspec(novtable) IClientSecurity : public IUnknown { public: virtual HRESULT __stdcall QueryBlanket( IUnknown *pProxy, DWORD *pAuthnSvc, DWORD *pAuthzSvc, OLECHAR **pServerPrincName, DWORD *pAuthnLevel, DWORD *pImpLevel, void **pAuthInfo, DWORD *pCapabilites) = 0; virtual HRESULT __stdcall SetBlanket( IUnknown *pProxy, DWORD dwAuthnSvc, DWORD dwAuthzSvc, OLECHAR *pServerPrincName, DWORD dwAuthnLevel, DWORD dwImpLevel, void *pAuthInfo, DWORD dwCapabilities) = 0; virtual HRESULT __stdcall CopyProxy( IUnknown *pProxy, IUnknown **ppCopy) = 0; }; #pragma endregion #pragma region Desktop Family or OneCore Family extern RPC_IF_HANDLE __MIDL_itf_objidlbase_0000_0024_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_objidlbase_0000_0024_v0_0_s_ifspec; extern "C" const IID IID_IServerSecurity; struct __declspec(uuid("0000013E-0000-0000-C000-000000000046")) __declspec(novtable) IServerSecurity : public IUnknown { public: virtual HRESULT __stdcall QueryBlanket( DWORD *pAuthnSvc, DWORD *pAuthzSvc, OLECHAR **pServerPrincName, DWORD *pAuthnLevel, DWORD *pImpLevel, void **pPrivs, DWORD *pCapabilities) = 0; virtual HRESULT __stdcall ImpersonateClient( void) = 0; virtual HRESULT __stdcall RevertToSelf( void) = 0; virtual BOOL __stdcall IsImpersonating( void) = 0; }; typedef enum tagRPCOPT_PROPERTIES { COMBND_RPCTIMEOUT = 0x1, COMBND_SERVER_LOCALITY = 0x2, COMBND_RESERVED1 = 0x4, COMBND_RESERVED2 = 0x5, COMBND_RESERVED3 = 0x8, COMBND_RESERVED4 = 0x10 } RPCOPT_PROPERTIES; typedef enum tagRPCOPT_SERVER_LOCALITY_VALUES { SERVER_LOCALITY_PROCESS_LOCAL = 0, SERVER_LOCALITY_MACHINE_LOCAL = 1, SERVER_LOCALITY_REMOTE = 2 } RPCOPT_SERVER_LOCALITY_VALUES; extern RPC_IF_HANDLE __MIDL_itf_objidlbase_0000_0025_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_objidlbase_0000_0025_v0_0_s_ifspec; extern "C" const IID IID_IRpcOptions; struct __declspec(uuid("00000144-0000-0000-C000-000000000046")) __declspec(novtable) IRpcOptions : public IUnknown { public: virtual HRESULT __stdcall Set( IUnknown *pPrx, RPCOPT_PROPERTIES dwProperty, ULONG_PTR dwValue) = 0; virtual HRESULT __stdcall Query( IUnknown *pPrx, RPCOPT_PROPERTIES dwProperty, ULONG_PTR *pdwValue) = 0; }; #pragma endregion #pragma region Application Family or OneCore Family typedef enum tagGLOBALOPT_PROPERTIES { COMGLB_EXCEPTION_HANDLING = 1, COMGLB_APPID = 2, COMGLB_RPC_THREADPOOL_SETTING = 3, COMGLB_RO_SETTINGS = 4, COMGLB_UNMARSHALING_POLICY = 5, COMGLB_PROPERTIES_RESERVED1 = 6, COMGLB_PROPERTIES_RESERVED2 = 7, COMGLB_PROPERTIES_RESERVED3 = 8 } GLOBALOPT_PROPERTIES; typedef enum tagGLOBALOPT_EH_VALUES { COMGLB_EXCEPTION_HANDLE = 0, COMGLB_EXCEPTION_DONOT_HANDLE_FATAL = 1, COMGLB_EXCEPTION_DONOT_HANDLE = COMGLB_EXCEPTION_DONOT_HANDLE_FATAL, COMGLB_EXCEPTION_DONOT_HANDLE_ANY = 2 } GLOBALOPT_EH_VALUES; typedef enum tagGLOBALOPT_RPCTP_VALUES { COMGLB_RPC_THREADPOOL_SETTING_DEFAULT_POOL = 0, COMGLB_RPC_THREADPOOL_SETTING_PRIVATE_POOL = 1 } GLOBALOPT_RPCTP_VALUES; typedef enum tagGLOBALOPT_RO_FLAGS { COMGLB_STA_MODALLOOP_REMOVE_TOUCH_MESSAGES = 0x1, COMGLB_STA_MODALLOOP_SHARED_QUEUE_REMOVE_INPUT_MESSAGES = 0x2, COMGLB_STA_MODALLOOP_SHARED_QUEUE_DONOT_REMOVE_INPUT_MESSAGES = 0x4, COMGLB_FAST_RUNDOWN = 0x8, COMGLB_RESERVED1 = 0x10, COMGLB_RESERVED2 = 0x20, COMGLB_RESERVED3 = 0x40, COMGLB_STA_MODALLOOP_SHARED_QUEUE_REORDER_POINTER_MESSAGES = 0x80, COMGLB_RESERVED4 = 0x100, COMGLB_RESERVED5 = 0x200, COMGLB_RESERVED6 = 0x400 } GLOBALOPT_RO_FLAGS; typedef enum tagGLOBALOPT_UNMARSHALING_POLICY_VALUES { COMGLB_UNMARSHALING_POLICY_NORMAL = 0, COMGLB_UNMARSHALING_POLICY_STRONG = 1, COMGLB_UNMARSHALING_POLICY_HYBRID = 2 } GLOBALOPT_UNMARSHALING_POLICY_VALUES; extern RPC_IF_HANDLE __MIDL_itf_objidlbase_0000_0026_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_objidlbase_0000_0026_v0_0_s_ifspec; extern "C" const IID IID_IGlobalOptions; struct __declspec(uuid("0000015B-0000-0000-C000-000000000046")) __declspec(novtable) IGlobalOptions : public IUnknown { public: virtual HRESULT __stdcall Set( GLOBALOPT_PROPERTIES dwProperty, ULONG_PTR dwValue) = 0; virtual HRESULT __stdcall Query( GLOBALOPT_PROPERTIES dwProperty, ULONG_PTR *pdwValue) = 0; }; #pragma endregion #pragma region Application Family or OneCore Family extern RPC_IF_HANDLE __MIDL_itf_objidlbase_0000_0027_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_objidlbase_0000_0027_v0_0_s_ifspec; typedef ISurrogate *LPSURROGATE; extern "C" const IID IID_ISurrogate; struct __declspec(uuid("00000022-0000-0000-C000-000000000046")) __declspec(novtable) ISurrogate : public IUnknown { public: virtual HRESULT __stdcall LoadDllServer( const IID & Clsid) = 0; virtual HRESULT __stdcall FreeSurrogate( void) = 0; }; typedef IGlobalInterfaceTable *LPGLOBALINTERFACETABLE; extern "C" const IID IID_IGlobalInterfaceTable; struct __declspec(uuid("00000146-0000-0000-C000-000000000046")) __declspec(novtable) IGlobalInterfaceTable : public IUnknown { public: virtual HRESULT __stdcall RegisterInterfaceInGlobal( IUnknown *pUnk, const IID & riid, DWORD *pdwCookie) = 0; virtual HRESULT __stdcall RevokeInterfaceFromGlobal( DWORD dwCookie) = 0; virtual HRESULT __stdcall GetInterfaceFromGlobal( DWORD dwCookie, const IID & riid, void **ppv) = 0; }; #pragma endregion #pragma region Desktop Family or OneCore Family extern RPC_IF_HANDLE __MIDL_itf_objidlbase_0000_0029_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_objidlbase_0000_0029_v0_0_s_ifspec; extern "C" const IID IID_ISynchronize; struct __declspec(uuid("00000030-0000-0000-C000-000000000046")) __declspec(novtable) ISynchronize : public IUnknown { public: virtual HRESULT __stdcall Wait( DWORD dwFlags, DWORD dwMilliseconds) = 0; virtual HRESULT __stdcall Signal( void) = 0; virtual HRESULT __stdcall Reset( void) = 0; }; extern "C" const IID IID_ISynchronizeHandle; struct __declspec(uuid("00000031-0000-0000-C000-000000000046")) __declspec(novtable) ISynchronizeHandle : public IUnknown { public: virtual HRESULT __stdcall GetHandle( HANDLE *ph) = 0; }; extern "C" const IID IID_ISynchronizeEvent; struct __declspec(uuid("00000032-0000-0000-C000-000000000046")) __declspec(novtable) ISynchronizeEvent : public ISynchronizeHandle { public: virtual HRESULT __stdcall SetEventHandle( HANDLE *ph) = 0; }; extern "C" const IID IID_ISynchronizeContainer; struct __declspec(uuid("00000033-0000-0000-C000-000000000046")) __declspec(novtable) ISynchronizeContainer : public IUnknown { public: virtual HRESULT __stdcall AddSynchronize( ISynchronize *pSync) = 0; virtual HRESULT __stdcall WaitMultiple( DWORD dwFlags, DWORD dwTimeOut, ISynchronize **ppSync) = 0; }; extern "C" const IID IID_ISynchronizeMutex; struct __declspec(uuid("00000025-0000-0000-C000-000000000046")) __declspec(novtable) ISynchronizeMutex : public ISynchronize { public: virtual HRESULT __stdcall ReleaseMutex( void) = 0; }; typedef ICancelMethodCalls *LPCANCELMETHODCALLS; extern "C" const IID IID_ICancelMethodCalls; struct __declspec(uuid("00000029-0000-0000-C000-000000000046")) __declspec(novtable) ICancelMethodCalls : public IUnknown { public: virtual HRESULT __stdcall Cancel( ULONG ulSeconds) = 0; virtual HRESULT __stdcall TestCancel( void) = 0; }; typedef enum tagDCOM_CALL_STATE { DCOM_NONE = 0, DCOM_CALL_COMPLETE = 0x1, DCOM_CALL_CANCELED = 0x2 } DCOM_CALL_STATE; extern "C" const IID IID_IAsyncManager; struct __declspec(uuid("0000002A-0000-0000-C000-000000000046")) __declspec(novtable) IAsyncManager : public IUnknown { public: virtual HRESULT __stdcall CompleteCall( HRESULT Result) = 0; virtual HRESULT __stdcall GetCallContext( const IID & riid, void **pInterface) = 0; virtual HRESULT __stdcall GetState( ULONG *pulStateFlags) = 0; }; extern "C" const IID IID_ICallFactory; struct __declspec(uuid("1c733a30-2a1c-11ce-ade5-00aa0044773d")) __declspec(novtable) ICallFactory : public IUnknown { public: virtual HRESULT __stdcall CreateCall( const IID & riid, IUnknown *pCtrlUnk, const IID & riid2, IUnknown **ppv) = 0; }; extern "C" const IID IID_IRpcHelper; struct __declspec(uuid("00000149-0000-0000-C000-000000000046")) __declspec(novtable) IRpcHelper : public IUnknown { public: virtual HRESULT __stdcall GetDCOMProtocolVersion( DWORD *pComVersion) = 0; virtual HRESULT __stdcall GetIIDFromOBJREF( void *pObjRef, IID **piid) = 0; }; extern "C" const IID IID_IReleaseMarshalBuffers; struct __declspec(uuid("eb0cb9e8-7996-11d2-872e-0000f8080859")) __declspec(novtable) IReleaseMarshalBuffers : public IUnknown { public: virtual HRESULT __stdcall ReleaseMarshalBuffer( RPCOLEMESSAGE *pMsg, DWORD dwFlags, IUnknown *pChnl) = 0; }; extern "C" const IID IID_IWaitMultiple; struct __declspec(uuid("0000002B-0000-0000-C000-000000000046")) __declspec(novtable) IWaitMultiple : public IUnknown { public: virtual HRESULT __stdcall WaitMultiple( DWORD timeout, ISynchronize **pSync) = 0; virtual HRESULT __stdcall AddSynchronize( ISynchronize *pSync) = 0; }; typedef IAddrTrackingControl *LPADDRTRACKINGCONTROL; extern "C" const IID IID_IAddrTrackingControl; struct __declspec(uuid("00000147-0000-0000-C000-000000000046")) __declspec(novtable) IAddrTrackingControl : public IUnknown { public: virtual HRESULT __stdcall EnableCOMDynamicAddrTracking( void) = 0; virtual HRESULT __stdcall DisableCOMDynamicAddrTracking( void) = 0; }; typedef IAddrExclusionControl *LPADDREXCLUSIONCONTROL; extern "C" const IID IID_IAddrExclusionControl; struct __declspec(uuid("00000148-0000-0000-C000-000000000046")) __declspec(novtable) IAddrExclusionControl : public IUnknown { public: virtual HRESULT __stdcall GetCurrentAddrExclusionList( const IID & riid, void **ppEnumerator) = 0; virtual HRESULT __stdcall UpdateAddrExclusionList( IUnknown *pEnumerator) = 0; }; extern "C" const IID IID_IPipeByte; struct __declspec(uuid("DB2F3ACA-2F86-11d1-8E04-00C04FB9989A")) __declspec(novtable) IPipeByte : public IUnknown { public: virtual HRESULT __stdcall Pull( BYTE *buf, ULONG cRequest, ULONG *pcReturned) = 0; virtual HRESULT __stdcall Push( BYTE *buf, ULONG cSent) = 0; }; extern "C" const IID IID_AsyncIPipeByte; struct __declspec(uuid("DB2F3ACB-2F86-11d1-8E04-00C04FB9989A")) __declspec(novtable) AsyncIPipeByte : public IUnknown { public: virtual HRESULT __stdcall Begin_Pull( ULONG cRequest) = 0; virtual HRESULT __stdcall Finish_Pull( BYTE *buf, ULONG *pcReturned) = 0; virtual HRESULT __stdcall Begin_Push( BYTE *buf, ULONG cSent) = 0; virtual HRESULT __stdcall Finish_Push( void) = 0; }; extern "C" const IID IID_IPipeLong; struct __declspec(uuid("DB2F3ACC-2F86-11d1-8E04-00C04FB9989A")) __declspec(novtable) IPipeLong : public IUnknown { public: virtual HRESULT __stdcall Pull( LONG *buf, ULONG cRequest, ULONG *pcReturned) = 0; virtual HRESULT __stdcall Push( LONG *buf, ULONG cSent) = 0; }; extern "C" const IID IID_AsyncIPipeLong; struct __declspec(uuid("DB2F3ACD-2F86-11d1-8E04-00C04FB9989A")) __declspec(novtable) AsyncIPipeLong : public IUnknown { public: virtual HRESULT __stdcall Begin_Pull( ULONG cRequest) = 0; virtual HRESULT __stdcall Finish_Pull( LONG *buf, ULONG *pcReturned) = 0; virtual HRESULT __stdcall Begin_Push( LONG *buf, ULONG cSent) = 0; virtual HRESULT __stdcall Finish_Push( void) = 0; }; extern "C" const IID IID_IPipeDouble; struct __declspec(uuid("DB2F3ACE-2F86-11d1-8E04-00C04FB9989A")) __declspec(novtable) IPipeDouble : public IUnknown { public: virtual HRESULT __stdcall Pull( DOUBLE *buf, ULONG cRequest, ULONG *pcReturned) = 0; virtual HRESULT __stdcall Push( DOUBLE *buf, ULONG cSent) = 0; }; extern "C" const IID IID_AsyncIPipeDouble; struct __declspec(uuid("DB2F3ACF-2F86-11d1-8E04-00C04FB9989A")) __declspec(novtable) AsyncIPipeDouble : public IUnknown { public: virtual HRESULT __stdcall Begin_Pull( ULONG cRequest) = 0; virtual HRESULT __stdcall Finish_Pull( DOUBLE *buf, ULONG *pcReturned) = 0; virtual HRESULT __stdcall Begin_Push( DOUBLE *buf, ULONG cSent) = 0; virtual HRESULT __stdcall Finish_Push( void) = 0; }; #pragma endregion #pragma region Application Family or OneCore Family typedef enum _APTTYPEQUALIFIER { APTTYPEQUALIFIER_NONE = 0, APTTYPEQUALIFIER_IMPLICIT_MTA = 1, APTTYPEQUALIFIER_NA_ON_MTA = 2, APTTYPEQUALIFIER_NA_ON_STA = 3, APTTYPEQUALIFIER_NA_ON_IMPLICIT_MTA = 4, APTTYPEQUALIFIER_NA_ON_MAINSTA = 5, APTTYPEQUALIFIER_APPLICATION_STA = 6, APTTYPEQUALIFIER_RESERVED_1 = 7 } APTTYPEQUALIFIER; typedef enum _APTTYPE { APTTYPE_CURRENT = -1, APTTYPE_STA = 0, APTTYPE_MTA = 1, APTTYPE_NA = 2, APTTYPE_MAINSTA = 3 } APTTYPE; #pragma endregion #pragma region Desktop Family or OneCore Family typedef enum _THDTYPE { THDTYPE_BLOCKMESSAGES = 0, THDTYPE_PROCESSMESSAGES = 1 } THDTYPE; typedef DWORD APARTMENTID; extern RPC_IF_HANDLE __MIDL_itf_objidlbase_0000_0048_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_objidlbase_0000_0048_v0_0_s_ifspec; extern "C" const IID IID_IComThreadingInfo; struct __declspec(uuid("000001ce-0000-0000-C000-000000000046")) __declspec(novtable) IComThreadingInfo : public IUnknown { public: virtual HRESULT __stdcall GetCurrentApartmentType( APTTYPE *pAptType) = 0; virtual HRESULT __stdcall GetCurrentThreadType( THDTYPE *pThreadType) = 0; virtual HRESULT __stdcall GetCurrentLogicalThreadId( GUID *pguidLogicalThreadId) = 0; virtual HRESULT __stdcall SetCurrentLogicalThreadId( const GUID & rguid) = 0; }; extern "C" const IID IID_IProcessInitControl; struct __declspec(uuid("72380d55-8d2b-43a3-8513-2b6ef31434e9")) __declspec(novtable) IProcessInitControl : public IUnknown { public: virtual HRESULT __stdcall ResetInitializerTimeout( DWORD dwSecondsRemaining) = 0; }; extern "C" const IID IID_IFastRundown; struct __declspec(uuid("00000040-0000-0000-C000-000000000046")) __declspec(novtable) IFastRundown : public IUnknown { public: }; typedef enum CO_MARSHALING_CONTEXT_ATTRIBUTES { CO_MARSHALING_SOURCE_IS_APP_CONTAINER = 0, CO_MARSHALING_CONTEXT_ATTRIBUTE_RESERVED_1 = 0x80000000, CO_MARSHALING_CONTEXT_ATTRIBUTE_RESERVED_2 = 0x80000001, CO_MARSHALING_CONTEXT_ATTRIBUTE_RESERVED_3 = 0x80000002, CO_MARSHALING_CONTEXT_ATTRIBUTE_RESERVED_4 = 0x80000003, CO_MARSHALING_CONTEXT_ATTRIBUTE_RESERVED_5 = 0x80000004, CO_MARSHALING_CONTEXT_ATTRIBUTE_RESERVED_6 = 0x80000005, CO_MARSHALING_CONTEXT_ATTRIBUTE_RESERVED_7 = 0x80000006, CO_MARSHALING_CONTEXT_ATTRIBUTE_RESERVED_8 = 0x80000007, CO_MARSHALING_CONTEXT_ATTRIBUTE_RESERVED_9 = 0x80000008, CO_MARSHALING_CONTEXT_ATTRIBUTE_RESERVED_10 = 0x80000009, CO_MARSHALING_CONTEXT_ATTRIBUTE_RESERVED_11 = 0x8000000a, CO_MARSHALING_CONTEXT_ATTRIBUTE_RESERVED_12 = 0x8000000b, CO_MARSHALING_CONTEXT_ATTRIBUTE_RESERVED_13 = 0x8000000c, CO_MARSHALING_CONTEXT_ATTRIBUTE_RESERVED_14 = 0x8000000d, CO_MARSHALING_CONTEXT_ATTRIBUTE_RESERVED_15 = 0x8000000e, CO_MARSHALING_CONTEXT_ATTRIBUTE_RESERVED_16 = 0x8000000f, CO_MARSHALING_CONTEXT_ATTRIBUTE_RESERVED_17 = 0x80000010, CO_MARSHALING_CONTEXT_ATTRIBUTE_RESERVED_18 = 0x80000011 } CO_MARSHALING_CONTEXT_ATTRIBUTES; extern RPC_IF_HANDLE __MIDL_itf_objidlbase_0000_0051_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_objidlbase_0000_0051_v0_0_s_ifspec; extern "C" const IID IID_IMarshalingStream; struct __declspec(uuid("D8F2F5E6-6102-4863-9F26-389A4676EFDE")) __declspec(novtable) IMarshalingStream : public IStream { public: virtual HRESULT __stdcall GetMarshalingContextAttribute( CO_MARSHALING_CONTEXT_ATTRIBUTES attribute, ULONG_PTR *pAttributeValue) = 0; }; #pragma endregion #pragma region Application Family or OneCore Family extern RPC_IF_HANDLE __MIDL_itf_objidlbase_0000_0052_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_objidlbase_0000_0052_v0_0_s_ifspec; extern "C" const IID IID_IAgileReference; extern "C++" { struct __declspec(uuid("C03F6A43-65A4-9818-987E-E0B810D2A6F2")) __declspec(novtable) IAgileReference : public IUnknown { public: virtual HRESULT __stdcall Resolve( const IID & riid, void **ppvObjectReference) = 0; template HRESULT __stdcall Resolve( Q** pp) { return Resolve(__uuidof(Q), (void **)pp); } }; } #pragma endregion #pragma region Application Family or OneCore Family extern "C" const GUID IID_ICallbackWithNoReentrancyToApplicationSTA; #pragma endregion #pragma warning(pop) extern RPC_IF_HANDLE __MIDL_itf_objidlbase_0000_0053_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_objidlbase_0000_0053_v0_0_s_ifspec; HRESULT __stdcall IEnumUnknown_Next_Proxy( IEnumUnknown * This, ULONG celt, IUnknown **rgelt, ULONG *pceltFetched); HRESULT __stdcall IEnumUnknown_Next_Stub( IEnumUnknown * This, ULONG celt, IUnknown **rgelt, ULONG *pceltFetched); HRESULT __stdcall IEnumString_Next_Proxy( IEnumString * This, ULONG celt, LPOLESTR *rgelt, ULONG *pceltFetched); HRESULT __stdcall IEnumString_Next_Stub( IEnumString * This, ULONG celt, LPOLESTR *rgelt, ULONG *pceltFetched); HRESULT __stdcall ISequentialStream_Read_Proxy( ISequentialStream * This, void *pv, ULONG cb, ULONG *pcbRead); HRESULT __stdcall ISequentialStream_Read_Stub( ISequentialStream * This, byte *pv, ULONG cb, ULONG *pcbRead); HRESULT __stdcall ISequentialStream_Write_Proxy( ISequentialStream * This, const void *pv, ULONG cb, ULONG *pcbWritten); HRESULT __stdcall ISequentialStream_Write_Stub( ISequentialStream * This, const byte *pv, ULONG cb, ULONG *pcbWritten); HRESULT __stdcall IStream_Seek_Proxy( IStream * This, LARGE_INTEGER dlibMove, DWORD dwOrigin, ULARGE_INTEGER *plibNewPosition); HRESULT __stdcall IStream_Seek_Stub( IStream * This, LARGE_INTEGER dlibMove, DWORD dwOrigin, ULARGE_INTEGER *plibNewPosition); HRESULT __stdcall IStream_CopyTo_Proxy( IStream * This, IStream *pstm, ULARGE_INTEGER cb, ULARGE_INTEGER *pcbRead, ULARGE_INTEGER *pcbWritten); HRESULT __stdcall IStream_CopyTo_Stub( IStream * This, IStream *pstm, ULARGE_INTEGER cb, ULARGE_INTEGER *pcbRead, ULARGE_INTEGER *pcbWritten); } #pragma once #pragma warning(push) #pragma warning(disable:4001) extern "C" { #pragma region Application Family extern const IID GUID_NULL; #pragma endregion #pragma region Desktop Family extern const IID CATID_MARSHALER; extern const IID IID_IRpcChannel; extern const IID IID_IRpcStub; extern const IID IID_IStubManager; extern const IID IID_IRpcProxy; extern const IID IID_IProxyManager; extern const IID IID_IPSFactory; extern const IID IID_IInternalMoniker; extern const IID IID_IDfReserved1; extern const IID IID_IDfReserved2; extern const IID IID_IDfReserved3; extern const CLSID CLSID_StdMarshal; extern const CLSID CLSID_AggStdMarshal; extern const CLSID CLSID_StdAsyncActManager; extern const IID IID_IStub; extern const IID IID_IProxy; extern const IID IID_IEnumGeneric; extern const IID IID_IEnumHolder; extern const IID IID_IEnumCallback; extern const IID IID_IOleManager; extern const IID IID_IOlePresObj; extern const IID IID_IDebug; extern const IID IID_IDebugStream; extern const CLSID CLSID_PSGenObject; extern const CLSID CLSID_PSClientSite; extern const CLSID CLSID_PSClassObject; extern const CLSID CLSID_PSInPlaceActive; extern const CLSID CLSID_PSInPlaceFrame; extern const CLSID CLSID_PSDragDrop; extern const CLSID CLSID_PSBindCtx; extern const CLSID CLSID_PSEnumerators; extern const CLSID CLSID_StaticMetafile; extern const CLSID CLSID_StaticDib; extern const CLSID CID_CDfsVolume; extern const CLSID CLSID_DCOMAccessControl; #pragma endregion #pragma region Application Family or OneCore Family extern const CLSID CLSID_GlobalOptions; #pragma endregion #pragma region Application Family or OneCore or Games Family extern const CLSID CLSID_StdGlobalInterfaceTable; #pragma endregion #pragma region Desktop Family extern const CLSID CLSID_ComBinding; extern const CLSID CLSID_StdEvent; extern const CLSID CLSID_ManualResetEvent; extern const CLSID CLSID_SynchronizeContainer; extern const CLSID CLSID_AddrControl; extern const CLSID CLSID_ContextSwitcher; extern const CLSID CLSID_CCDFormKrnl; extern const CLSID CLSID_CCDPropertyPage; extern const CLSID CLSID_CCDFormDialog; extern const CLSID CLSID_CCDCommandButton; extern const CLSID CLSID_CCDComboBox; extern const CLSID CLSID_CCDTextBox; extern const CLSID CLSID_CCDCheckBox; extern const CLSID CLSID_CCDLabel; extern const CLSID CLSID_CCDOptionButton; extern const CLSID CLSID_CCDListBox; extern const CLSID CLSID_CCDScrollBar; extern const CLSID CLSID_CCDGroupBox; extern const CLSID CLSID_CCDGeneralPropertyPage; extern const CLSID CLSID_CCDGenericPropertyPage; extern const CLSID CLSID_CCDFontPropertyPage; extern const CLSID CLSID_CCDColorPropertyPage; extern const CLSID CLSID_CCDLabelPropertyPage; extern const CLSID CLSID_CCDCheckBoxPropertyPage; extern const CLSID CLSID_CCDTextBoxPropertyPage; extern const CLSID CLSID_CCDOptionButtonPropertyPage; extern const CLSID CLSID_CCDListBoxPropertyPage; extern const CLSID CLSID_CCDCommandButtonPropertyPage; extern const CLSID CLSID_CCDComboBoxPropertyPage; extern const CLSID CLSID_CCDScrollBarPropertyPage; extern const CLSID CLSID_CCDGroupBoxPropertyPage; extern const CLSID CLSID_CCDXObjectPropertyPage; extern const CLSID CLSID_CStdPropertyFrame; extern const CLSID CLSID_CFormPropertyPage; extern const CLSID CLSID_CGridPropertyPage; extern const CLSID CLSID_CWSJArticlePage; extern const CLSID CLSID_CSystemPage; extern const CLSID CLSID_IdentityUnmarshal; #pragma endregion #pragma region Application Family extern const CLSID CLSID_InProcFreeMarshaler; #pragma endregion #pragma region Desktop Family extern const CLSID CLSID_Picture_Metafile; extern const CLSID CLSID_Picture_EnhMetafile; extern const CLSID CLSID_Picture_Dib; extern const GUID GUID_TRISTATE; #pragma endregion } #pragma warning(pop) #pragma endregion #pragma region Desktop or OneCore Family extern "C" __declspec(dllimport) HRESULT __stdcall CoGetMalloc( DWORD dwMemContext, LPMALLOC * ppMalloc ); #pragma endregion #pragma region Application or OneCore or Games Family extern "C" __declspec(dllimport) HRESULT __stdcall CreateStreamOnHGlobal( HGLOBAL hGlobal, BOOL fDeleteOnRelease, LPSTREAM * ppstm ); extern "C" __declspec(dllimport) HRESULT __stdcall GetHGlobalFromStream( LPSTREAM pstm, HGLOBAL * phglobal ); extern "C" __declspec(dllimport) void __stdcall CoUninitialize( void ); #pragma endregion #pragma region Desktop or OneCore Family extern "C" __declspec(dllimport) DWORD __stdcall CoGetCurrentProcess( void ); #pragma endregion #pragma region Application or OneCore Family extern "C" __declspec(dllimport) HRESULT __stdcall CoInitializeEx( LPVOID pvReserved, DWORD dwCoInit ); #pragma endregion #pragma region Desktop or OneCore Family extern "C" __declspec(dllimport) HRESULT __stdcall CoGetCallerTID( LPDWORD lpdwTID ); #pragma endregion #pragma region Application or OneCore Family extern "C" __declspec(dllimport) HRESULT __stdcall CoGetCurrentLogicalThreadId( GUID* pguid ); #pragma endregion #pragma region Application or OneCore or Games Family extern "C" __declspec(dllimport) HRESULT __stdcall CoGetContextToken( ULONG_PTR* pToken ); #pragma endregion #pragma region Desktop or OneCore Family extern "C" __declspec(dllimport) HRESULT __stdcall CoGetDefaultContext( APTTYPE aptType, const IID & riid, void** ppv ); #pragma endregion #pragma region Application or OneCore Family extern "C" __declspec(dllimport) HRESULT __stdcall CoGetApartmentType( APTTYPE* pAptType, APTTYPEQUALIFIER* pAptQualifier ); #pragma endregion #pragma region Application or OneCore Family typedef struct tagServerInformation { DWORD dwServerPid; DWORD dwServerTid; UINT64 ui64ServerAddress; } ServerInformation, *PServerInformation; #pragma endregion #pragma region Desktop or OneCore Family extern "C" __declspec(dllimport) HRESULT __stdcall CoDecodeProxy( DWORD dwClientPid, UINT64 ui64ProxyAddress, PServerInformation pServerInformation ); #pragma endregion #pragma region Application or OneCore Family struct CO_MTA_USAGE_COOKIE__{int unused;}; typedef struct CO_MTA_USAGE_COOKIE__ *CO_MTA_USAGE_COOKIE; extern "C" __declspec(dllimport) HRESULT __stdcall CoIncrementMTAUsage( CO_MTA_USAGE_COOKIE* pCookie ); extern "C" __declspec(dllimport) HRESULT __stdcall CoDecrementMTAUsage( CO_MTA_USAGE_COOKIE Cookie ); #pragma endregion #pragma region Desktop or OneCore Family extern "C" __declspec(dllimport) HRESULT __stdcall CoAllowUnmarshalerCLSID( const IID & clsid ); #pragma endregion #pragma region Application or OneCore Family extern "C" __declspec(dllimport) HRESULT __stdcall CoGetObjectContext( const IID & riid, LPVOID * ppv ); #pragma endregion #pragma region Desktop or OneCore Family extern "C" __declspec(dllimport) HRESULT __stdcall CoGetClassObject( const IID & rclsid, DWORD dwClsContext, LPVOID pvReserved, const IID & riid, LPVOID * ppv ); #pragma endregion #pragma region Application or OneCore Family extern "C" __declspec(dllimport) HRESULT __stdcall CoRegisterClassObject( const IID & rclsid, LPUNKNOWN pUnk, DWORD dwClsContext, DWORD flags, LPDWORD lpdwRegister ); extern "C" __declspec(dllimport) HRESULT __stdcall CoRevokeClassObject( DWORD dwRegister ); extern "C" __declspec(dllimport) HRESULT __stdcall CoResumeClassObjects( void ); extern "C" __declspec(dllimport) HRESULT __stdcall CoSuspendClassObjects( void ); #pragma endregion #pragma region Desktop or OneCore Family extern "C" __declspec(dllimport) ULONG __stdcall CoAddRefServerProcess( void ); extern "C" __declspec(dllimport) ULONG __stdcall CoReleaseServerProcess( void ); extern "C" __declspec(dllimport) HRESULT __stdcall CoGetPSClsid( const IID & riid, CLSID* pClsid ); extern "C" __declspec(dllimport) HRESULT __stdcall CoRegisterPSClsid( const IID & riid, const IID & rclsid ); extern "C" __declspec(dllimport) HRESULT __stdcall CoRegisterSurrogate( LPSURROGATE pSurrogate ); #pragma endregion #pragma region Application or OneCore Family extern "C" __declspec(dllimport) HRESULT __stdcall CoGetMarshalSizeMax( ULONG* pulSize, const IID & riid, LPUNKNOWN pUnk, DWORD dwDestContext, LPVOID pvDestContext, DWORD mshlflags ); extern "C" __declspec(dllimport) HRESULT __stdcall CoMarshalInterface( LPSTREAM pStm, const IID & riid, LPUNKNOWN pUnk, DWORD dwDestContext, LPVOID pvDestContext, DWORD mshlflags ); extern "C" __declspec(dllimport) HRESULT __stdcall CoUnmarshalInterface( LPSTREAM pStm, const IID & riid, LPVOID * ppv ); #pragma endregion #pragma region Desktop or OneCore Family extern "C" __declspec(dllimport) HRESULT __stdcall CoMarshalHresult( LPSTREAM pstm, HRESULT hresult ); extern "C" __declspec(dllimport) HRESULT __stdcall CoUnmarshalHresult( LPSTREAM pstm, HRESULT * phresult ); #pragma endregion #pragma region Application or OneCore Family extern "C" __declspec(dllimport) HRESULT __stdcall CoReleaseMarshalData( LPSTREAM pStm ); extern "C" __declspec(dllimport) HRESULT __stdcall CoDisconnectObject( LPUNKNOWN pUnk, DWORD dwReserved ); #pragma endregion #pragma region Desktop or OneCore Family extern "C" __declspec(dllimport) HRESULT __stdcall CoLockObjectExternal( LPUNKNOWN pUnk, BOOL fLock, BOOL fLastUnlockReleases ); #pragma endregion #pragma region Application or OneCore Family extern "C" __declspec(dllimport) HRESULT __stdcall CoGetStandardMarshal( const IID & riid, LPUNKNOWN pUnk, DWORD dwDestContext, LPVOID pvDestContext, DWORD mshlflags, LPMARSHAL * ppMarshal ); #pragma endregion #pragma region Desktop or OneCore Family extern "C" __declspec(dllimport) HRESULT __stdcall CoGetStdMarshalEx( LPUNKNOWN pUnkOuter, DWORD smexflags, LPUNKNOWN * ppUnkInner ); #pragma endregion #pragma region Application or OneCore Family typedef enum tagSTDMSHLFLAGS { SMEXF_SERVER = 0x01, SMEXF_HANDLER = 0x02 } STDMSHLFLAGS; #pragma endregion #pragma region Desktop or OneCore Family extern "C" __declspec(dllimport) BOOL __stdcall CoIsHandlerConnected( LPUNKNOWN pUnk ); #pragma endregion #pragma region Application or OneCore Family extern "C" __declspec(dllimport) HRESULT __stdcall CoMarshalInterThreadInterfaceInStream( const IID & riid, LPUNKNOWN pUnk, LPSTREAM* ppStm ); extern "C" __declspec(dllimport) HRESULT __stdcall CoGetInterfaceAndReleaseStream( LPSTREAM pStm, const IID & iid, LPVOID * ppv ); #pragma endregion #pragma region Application or OneCore or Games Family extern "C" __declspec(dllimport) HRESULT __stdcall CoCreateFreeThreadedMarshaler( LPUNKNOWN punkOuter, LPUNKNOWN* ppunkMarshal ); #pragma endregion #pragma region Application or OneCore Family extern "C" __declspec(dllimport) void __stdcall CoFreeUnusedLibraries( void ); extern "C" __declspec(dllimport) void __stdcall CoFreeUnusedLibrariesEx( DWORD dwUnloadDelay, DWORD dwReserved ); #pragma endregion #pragma region Desktop or OneCore Family extern "C" __declspec(dllimport) HRESULT __stdcall CoDisconnectContext( DWORD dwTimeout ); #pragma endregion #pragma region Application or OneCore Family extern "C" __declspec(dllimport) HRESULT __stdcall CoInitializeSecurity( PSECURITY_DESCRIPTOR pSecDesc, LONG cAuthSvc, SOLE_AUTHENTICATION_SERVICE* asAuthSvc, void* pReserved1, DWORD dwAuthnLevel, DWORD dwImpLevel, void* pAuthList, DWORD dwCapabilities, void* pReserved3 ); #pragma endregion #pragma region Desktop or OneCore Family extern "C" __declspec(dllimport) HRESULT __stdcall CoGetCallContext( const IID & riid, void** ppInterface ); extern "C" __declspec(dllimport) HRESULT __stdcall CoQueryProxyBlanket( IUnknown* pProxy, DWORD* pwAuthnSvc, DWORD* pAuthzSvc, LPOLESTR* pServerPrincName, DWORD* pAuthnLevel, DWORD* pImpLevel, RPC_AUTH_IDENTITY_HANDLE* pAuthInfo, DWORD* pCapabilites ); extern "C" __declspec(dllimport) HRESULT __stdcall CoSetProxyBlanket( IUnknown* pProxy, DWORD dwAuthnSvc, DWORD dwAuthzSvc, OLECHAR* pServerPrincName, DWORD dwAuthnLevel, DWORD dwImpLevel, RPC_AUTH_IDENTITY_HANDLE pAuthInfo, DWORD dwCapabilities ); extern "C" __declspec(dllimport) HRESULT __stdcall CoCopyProxy( IUnknown* pProxy, IUnknown** ppCopy ); extern "C" __declspec(dllimport) HRESULT __stdcall CoQueryClientBlanket( DWORD* pAuthnSvc, DWORD* pAuthzSvc, LPOLESTR* pServerPrincName, DWORD* pAuthnLevel, DWORD* pImpLevel, RPC_AUTHZ_HANDLE* pPrivs, DWORD* pCapabilities ); extern "C" __declspec(dllimport) HRESULT __stdcall CoImpersonateClient( void ); extern "C" __declspec(dllimport) HRESULT __stdcall CoRevertToSelf( void ); extern "C" __declspec(dllimport) HRESULT __stdcall CoQueryAuthenticationServices( DWORD* pcAuthSvc, SOLE_AUTHENTICATION_SERVICE** asAuthSvc ); #pragma endregion #pragma region Application or OneCore Family extern "C" __declspec(dllimport) HRESULT __stdcall CoSwitchCallContext( IUnknown* pNewObject, IUnknown** ppOldObject ); #pragma endregion #pragma region App or OneCore Family or Games Family extern "C" __declspec(dllimport) HRESULT __stdcall CoCreateInstance( const IID & rclsid, LPUNKNOWN pUnkOuter, DWORD dwClsContext, const IID & riid, LPVOID * ppv ); #pragma endregion #pragma region App or OneCore Family extern "C" __declspec(dllimport) HRESULT __stdcall CoCreateInstanceEx( const IID & Clsid, IUnknown* punkOuter, DWORD dwClsCtx, COSERVERINFO* pServerInfo, DWORD dwCount, MULTI_QI* pResults ); extern "C" __declspec(dllimport) HRESULT __stdcall CoCreateInstanceFromApp( const IID & Clsid, IUnknown* punkOuter, DWORD dwClsCtx, PVOID reserved, DWORD dwCount, MULTI_QI* pResults ); #pragma endregion #pragma region Desktop or OneCore Family extern "C" __declspec(dllimport) HRESULT __stdcall CoRegisterActivationFilter( IActivationFilter* pActivationFilter ); #pragma endregion #pragma region Desktop or OneCore Family extern "C" __declspec(dllimport) HRESULT __stdcall CoGetCancelObject( DWORD dwThreadId, const IID & iid, void** ppUnk ); extern "C" __declspec(dllimport) HRESULT __stdcall CoSetCancelObject( IUnknown* pUnk ); extern "C" __declspec(dllimport) HRESULT __stdcall CoCancelCall( DWORD dwThreadId, ULONG ulTimeout ); extern "C" __declspec(dllimport) HRESULT __stdcall CoTestCancel( void ); extern "C" __declspec(dllimport) HRESULT __stdcall CoEnableCallCancellation( LPVOID pReserved ); extern "C" __declspec(dllimport) HRESULT __stdcall CoDisableCallCancellation( LPVOID pReserved ); #pragma endregion #pragma region Application or OneCore Family or Games Family extern "C" __declspec(dllimport) HRESULT __stdcall StringFromCLSID( const IID & rclsid, LPOLESTR * lplpsz ); extern "C" __declspec(dllimport) HRESULT __stdcall CLSIDFromString( LPCOLESTR lpsz, LPCLSID pclsid ); extern "C" __declspec(dllimport) HRESULT __stdcall StringFromIID( const IID & rclsid, LPOLESTR * lplpsz ); extern "C" __declspec(dllimport) HRESULT __stdcall IIDFromString( LPCOLESTR lpsz, LPIID lpiid ); #pragma endregion #pragma region Desktop or OneCore or Games Family extern "C" __declspec(dllimport) HRESULT __stdcall ProgIDFromCLSID( const IID & clsid, LPOLESTR * lplpszProgID ); extern "C" __declspec(dllimport) HRESULT __stdcall CLSIDFromProgID( LPCOLESTR lpszProgID, LPCLSID lpclsid ); #pragma endregion #pragma region Application or OneCore Family or Games Family extern "C" __declspec(dllimport) int __stdcall StringFromGUID2( const GUID & rguid, LPOLESTR lpsz, int cchMax ); extern "C" __declspec(dllimport) HRESULT __stdcall CoCreateGuid( GUID * pguid ); typedef struct tagPROPVARIANT PROPVARIANT; extern "C" __declspec(dllimport) HRESULT __stdcall PropVariantCopy( PROPVARIANT* pvarDest, const PROPVARIANT* pvarSrc ); extern "C" __declspec(dllimport) HRESULT __stdcall PropVariantClear( PROPVARIANT* pvar ); extern "C" __declspec(dllimport) HRESULT __stdcall FreePropVariantArray( ULONG cVariants, PROPVARIANT* rgvars ); #pragma endregion #pragma region Desktop or OneCore Family #pragma endregion #pragma region Desktop or OneCore Family extern "C" __declspec(dllimport) HRESULT __stdcall CoWaitForMultipleHandles( DWORD dwFlags, DWORD dwTimeout, ULONG cHandles, LPHANDLE pHandles, LPDWORD lpdwindex ); typedef enum tagCOWAIT_FLAGS { COWAIT_DEFAULT = 0, COWAIT_WAITALL = 1, COWAIT_ALERTABLE = 2, COWAIT_INPUTAVAILABLE = 4, COWAIT_DISPATCH_CALLS = 8, COWAIT_DISPATCH_WINDOW_MESSAGES = 0x10, }COWAIT_FLAGS; typedef enum CWMO_FLAGS { CWMO_DEFAULT = 0, CWMO_DISPATCH_CALLS = 1, CWMO_DISPATCH_WINDOW_MESSAGES = 2, } CWMO_FLAGS; extern "C" __declspec(dllimport) HRESULT __stdcall CoWaitForMultipleObjects( DWORD dwFlags, DWORD dwTimeout, ULONG cHandles, const HANDLE* pHandles, LPDWORD lpdwindex ); #pragma endregion #pragma region Desktop or OneCore Family extern "C" __declspec(dllimport) HRESULT __stdcall CoGetTreatAsClass( const IID & clsidOld, LPCLSID pClsidNew ); #pragma endregion #pragma region Desktop or OneCore Family extern "C" __declspec(dllimport) HRESULT __stdcall CoInvalidateRemoteMachineBindings( LPOLESTR pszMachineName ); #pragma endregion #pragma region Application or OneCore Family enum AgileReferenceOptions { AGILEREFERENCE_DEFAULT = 0, AGILEREFERENCE_DELAYEDMARSHAL = 1, }; extern "C" __declspec(dllimport) HRESULT __stdcall RoGetAgileReference( enum AgileReferenceOptions options, const IID & riid, IUnknown* pUnk, IAgileReference** ppAgileReference ); #pragma endregion #pragma region Application or OneCore Family or Games Family typedef HRESULT (__stdcall * LPFNGETCLASSOBJECT) (const IID &, const IID &, LPVOID *); typedef HRESULT (__stdcall * LPFNCANUNLOADNOW)(void); extern "C" HRESULT __stdcall DllGetClassObject( const IID & rclsid, const IID & riid, LPVOID * ppv); extern "C" HRESULT __stdcall DllCanUnloadNow(void); extern "C" __declspec(dllimport) LPVOID __stdcall CoTaskMemAlloc( SIZE_T cb ); extern "C" __declspec(dllimport) LPVOID __stdcall CoTaskMemRealloc( LPVOID pv, SIZE_T cb ); extern "C" __declspec(dllimport) void __stdcall CoTaskMemFree( LPVOID pv ); #pragma endregion #pragma region Desktop or OneCore Family extern "C" __declspec(dllimport) HRESULT __stdcall CoFileTimeNow( FILETIME * lpFileTime ); extern "C" __declspec(dllimport) HRESULT __stdcall CLSIDFromProgIDEx( LPCOLESTR lpszProgID, LPCLSID lpclsid ); struct CO_DEVICE_CATALOG_COOKIE__{int unused;}; typedef struct CO_DEVICE_CATALOG_COOKIE__ *CO_DEVICE_CATALOG_COOKIE; extern "C" __declspec(dllimport) HRESULT __stdcall CoRegisterDeviceCatalog( PCWSTR deviceInstanceId, CO_DEVICE_CATALOG_COOKIE* cookie ); extern "C" __declspec(dllimport) HRESULT __stdcall CoRevokeDeviceCatalog( CO_DEVICE_CATALOG_COOKIE cookie ); #pragma endregion #pragma warning(disable:4103) #pragma pack(pop) #pragma once #pragma once typedef struct IMallocSpy IMallocSpy; typedef struct IBindCtx IBindCtx; typedef struct IEnumMoniker IEnumMoniker; typedef struct IRunnableObject IRunnableObject; typedef struct IRunningObjectTable IRunningObjectTable; typedef struct IPersist IPersist; typedef struct IPersistStream IPersistStream; typedef struct IMoniker IMoniker; typedef struct IROTData IROTData; typedef struct IEnumSTATSTG IEnumSTATSTG; typedef struct IStorage IStorage; typedef struct IPersistFile IPersistFile; typedef struct IPersistStorage IPersistStorage; typedef struct ILockBytes ILockBytes; typedef struct IEnumFORMATETC IEnumFORMATETC; typedef struct IEnumSTATDATA IEnumSTATDATA; typedef struct IRootStorage IRootStorage; typedef struct IAdviseSink IAdviseSink; typedef struct AsyncIAdviseSink AsyncIAdviseSink; typedef struct IAdviseSink2 IAdviseSink2; typedef struct AsyncIAdviseSink2 AsyncIAdviseSink2; typedef struct IDataObject IDataObject; typedef struct IDataAdviseHolder IDataAdviseHolder; typedef struct IMessageFilter IMessageFilter; typedef struct IClassActivator IClassActivator; typedef struct IFillLockBytes IFillLockBytes; typedef struct IProgressNotify IProgressNotify; typedef struct ILayoutStorage ILayoutStorage; typedef struct IBlockingLock IBlockingLock; typedef struct ITimeAndNoticeControl ITimeAndNoticeControl; typedef struct IOplockStorage IOplockStorage; typedef struct IDirectWriterLock IDirectWriterLock; typedef struct IUrlMon IUrlMon; typedef struct IForegroundTransfer IForegroundTransfer; typedef struct IThumbnailExtractor IThumbnailExtractor; typedef struct IDummyHICONIncluder IDummyHICONIncluder; typedef struct IProcessLock IProcessLock; typedef struct ISurrogateService ISurrogateService; typedef struct IInitializeSpy IInitializeSpy; typedef struct IApartmentShutdown IApartmentShutdown; #pragma once #pragma once extern "C"{ #pragma once #pragma warning(push) #pragma warning(disable:4820) extern RPC_IF_HANDLE __MIDL_itf_wtypes_0000_0000_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_wtypes_0000_0000_v0_0_s_ifspec; typedef struct tagRemHGLOBAL { LONG fNullHGlobal; ULONG cbData; byte data[ 1 ]; } RemHGLOBAL; typedef struct tagRemHMETAFILEPICT { LONG mm; LONG xExt; LONG yExt; ULONG cbData; byte data[ 1 ]; } RemHMETAFILEPICT; typedef struct tagRemHENHMETAFILE { ULONG cbData; byte data[ 1 ]; } RemHENHMETAFILE; typedef struct tagRemHBITMAP { ULONG cbData; byte data[ 1 ]; } RemHBITMAP; typedef struct tagRemHPALETTE { ULONG cbData; byte data[ 1 ]; } RemHPALETTE; typedef struct tagRemBRUSH { ULONG cbData; byte data[ 1 ]; } RemHBRUSH; typedef enum tagDVASPECT { DVASPECT_CONTENT = 1, DVASPECT_THUMBNAIL = 2, DVASPECT_ICON = 4, DVASPECT_DOCPRINT = 8 } DVASPECT; typedef enum tagSTGC { STGC_DEFAULT = 0, STGC_OVERWRITE = 1, STGC_ONLYIFCURRENT = 2, STGC_DANGEROUSLYCOMMITMERELYTODISKCACHE = 4, STGC_CONSOLIDATE = 8 } STGC; typedef enum tagSTGMOVE { STGMOVE_MOVE = 0, STGMOVE_COPY = 1, STGMOVE_SHALLOWCOPY = 2 } STGMOVE; typedef enum tagSTATFLAG { STATFLAG_DEFAULT = 0, STATFLAG_NONAME = 1, STATFLAG_NOOPEN = 2 } STATFLAG; typedef void *HCONTEXT; typedef DWORD LCID; typedef USHORT LANGID; typedef struct _userCLIPFORMAT { LONG fContext; union __MIDL_IWinTypes_0001 { DWORD dwValue; wchar_t *pwszName; } u; } userCLIPFORMAT; typedef userCLIPFORMAT *wireCLIPFORMAT; typedef WORD CLIPFORMAT; typedef struct _GDI_NONREMOTE { LONG fContext; union __MIDL_IWinTypes_0002 { LONG hInproc; DWORD_BLOB *hRemote; } u; } GDI_NONREMOTE; typedef struct _userHGLOBAL { LONG fContext; union __MIDL_IWinTypes_0003 { LONG hInproc; FLAGGED_BYTE_BLOB *hRemote; __int64 hInproc64; } u; } userHGLOBAL; typedef userHGLOBAL *wireHGLOBAL; typedef struct _userHMETAFILE { LONG fContext; union __MIDL_IWinTypes_0004 { LONG hInproc; BYTE_BLOB *hRemote; __int64 hInproc64; } u; } userHMETAFILE; typedef struct _remoteMETAFILEPICT { LONG mm; LONG xExt; LONG yExt; userHMETAFILE *hMF; } remoteMETAFILEPICT; typedef struct _userHMETAFILEPICT { LONG fContext; union __MIDL_IWinTypes_0005 { LONG hInproc; remoteMETAFILEPICT *hRemote; __int64 hInproc64; } u; } userHMETAFILEPICT; typedef struct _userHENHMETAFILE { LONG fContext; union __MIDL_IWinTypes_0006 { LONG hInproc; BYTE_BLOB *hRemote; __int64 hInproc64; } u; } userHENHMETAFILE; typedef struct _userBITMAP { LONG bmType; LONG bmWidth; LONG bmHeight; LONG bmWidthBytes; WORD bmPlanes; WORD bmBitsPixel; ULONG cbSize; byte pBuffer[ 1 ]; } userBITMAP; typedef struct _userHBITMAP { LONG fContext; union __MIDL_IWinTypes_0007 { LONG hInproc; userBITMAP *hRemote; __int64 hInproc64; } u; } userHBITMAP; typedef struct _userHPALETTE { LONG fContext; union __MIDL_IWinTypes_0008 { LONG hInproc; LOGPALETTE *hRemote; __int64 hInproc64; } u; } userHPALETTE; typedef struct _RemotableHandle { LONG fContext; union __MIDL_IWinTypes_0009 { LONG hInproc; LONG hRemote; } u; } RemotableHandle; typedef RemotableHandle *wireHWND; typedef RemotableHandle *wireHMENU; typedef RemotableHandle *wireHACCEL; typedef RemotableHandle *wireHBRUSH; typedef RemotableHandle *wireHFONT; typedef RemotableHandle *wireHDC; typedef RemotableHandle *wireHICON; typedef RemotableHandle *wireHRGN; typedef RemotableHandle *wireHMONITOR; typedef userHBITMAP *wireHBITMAP; typedef userHPALETTE *wireHPALETTE; typedef userHENHMETAFILE *wireHENHMETAFILE; typedef userHMETAFILE *wireHMETAFILE; typedef userHMETAFILEPICT *wireHMETAFILEPICT; typedef void *HMETAFILEPICT; extern RPC_IF_HANDLE IWinTypes_v0_1_c_ifspec; extern RPC_IF_HANDLE IWinTypes_v0_1_s_ifspec; #pragma warning(push) #pragma warning(disable:4201) typedef double DATE; typedef union tagCY { struct { ULONG Lo; LONG Hi; } ; LONGLONG int64; } CY; typedef CY *LPCY; typedef struct tagDEC { USHORT wReserved; union { struct { BYTE scale; BYTE sign; } ; USHORT signscale; } ; ULONG Hi32; union { struct { ULONG Lo32; ULONG Mid32; } ; ULONGLONG Lo64; } ; } DECIMAL; typedef DECIMAL *LPDECIMAL; #pragma warning(pop) typedef FLAGGED_WORD_BLOB *wireBSTR; typedef OLECHAR *BSTR; typedef BSTR *LPBSTR; typedef short VARIANT_BOOL; typedef struct tagBSTRBLOB { ULONG cbSize; BYTE *pData; } BSTRBLOB; typedef struct tagBSTRBLOB *LPBSTRBLOB; typedef struct tagCLIPDATA { ULONG cbSize; LONG ulClipFmt; BYTE *pClipData; } CLIPDATA; typedef unsigned short VARTYPE; enum VARENUM { VT_EMPTY = 0, VT_NULL = 1, VT_I2 = 2, VT_I4 = 3, VT_R4 = 4, VT_R8 = 5, VT_CY = 6, VT_DATE = 7, VT_BSTR = 8, VT_DISPATCH = 9, VT_ERROR = 10, VT_BOOL = 11, VT_VARIANT = 12, VT_UNKNOWN = 13, VT_DECIMAL = 14, VT_I1 = 16, VT_UI1 = 17, VT_UI2 = 18, VT_UI4 = 19, VT_I8 = 20, VT_UI8 = 21, VT_INT = 22, VT_UINT = 23, VT_VOID = 24, VT_HRESULT = 25, VT_PTR = 26, VT_SAFEARRAY = 27, VT_CARRAY = 28, VT_USERDEFINED = 29, VT_LPSTR = 30, VT_LPWSTR = 31, VT_RECORD = 36, VT_INT_PTR = 37, VT_UINT_PTR = 38, VT_FILETIME = 64, VT_BLOB = 65, VT_STREAM = 66, VT_STORAGE = 67, VT_STREAMED_OBJECT = 68, VT_STORED_OBJECT = 69, VT_BLOB_OBJECT = 70, VT_CF = 71, VT_CLSID = 72, VT_VERSIONED_STREAM = 73, VT_BSTR_BLOB = 0xfff, VT_VECTOR = 0x1000, VT_ARRAY = 0x2000, VT_BYREF = 0x4000, VT_RESERVED = 0x8000, VT_ILLEGAL = 0xffff, VT_ILLEGALMASKED = 0xfff, VT_TYPEMASK = 0xfff } ; typedef ULONG PROPID; typedef struct _tagpropertykey { GUID fmtid; DWORD pid; } PROPERTYKEY; typedef struct tagCSPLATFORM { DWORD dwPlatformId; DWORD dwVersionHi; DWORD dwVersionLo; DWORD dwProcessorArch; } CSPLATFORM; typedef struct tagQUERYCONTEXT { DWORD dwContext; CSPLATFORM Platform; LCID Locale; DWORD dwVersionHi; DWORD dwVersionLo; } QUERYCONTEXT; typedef enum tagTYSPEC { TYSPEC_CLSID = 0, TYSPEC_FILEEXT = ( TYSPEC_CLSID + 1 ) , TYSPEC_MIMETYPE = ( TYSPEC_FILEEXT + 1 ) , TYSPEC_FILENAME = ( TYSPEC_MIMETYPE + 1 ) , TYSPEC_PROGID = ( TYSPEC_FILENAME + 1 ) , TYSPEC_PACKAGENAME = ( TYSPEC_PROGID + 1 ) , TYSPEC_OBJECTID = ( TYSPEC_PACKAGENAME + 1 ) } TYSPEC; typedef struct __MIDL___MIDL_itf_wtypes_0000_0001_0001 { DWORD tyspec; union __MIDL___MIDL_itf_wtypes_0000_0001_0005 { CLSID clsid; LPOLESTR pFileExt; LPOLESTR pMimeType; LPOLESTR pProgId; LPOLESTR pFileName; struct { LPOLESTR pPackageName; GUID PolicyId; } ByName; struct { GUID ObjectId; GUID PolicyId; } ByObjectId; } tagged_union; } uCLSSPEC; #pragma warning(pop) extern RPC_IF_HANDLE __MIDL_itf_wtypes_0000_0001_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_wtypes_0000_0001_v0_0_s_ifspec; } extern "C"{ #pragma once #pragma region Application Family or OneCore Family extern RPC_IF_HANDLE __MIDL_itf_unknwn_0000_0000_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_unknwn_0000_0000_v0_0_s_ifspec; #pragma endregion #pragma region Desktop Family or OneCore Family extern RPC_IF_HANDLE __MIDL_itf_unknwn_0000_0001_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_unknwn_0000_0001_v0_0_s_ifspec; #pragma endregion #pragma region Application Family or OneCore Family extern RPC_IF_HANDLE __MIDL_itf_unknwn_0000_0002_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_unknwn_0000_0002_v0_0_s_ifspec; #pragma endregion extern RPC_IF_HANDLE __MIDL_itf_unknwn_0000_0003_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_unknwn_0000_0003_v0_0_s_ifspec; HRESULT __stdcall IClassFactory_CreateInstance_Proxy( IClassFactory * This, IUnknown *pUnkOuter, const IID & riid, void **ppvObject); HRESULT __stdcall IClassFactory_CreateInstance_Stub( IClassFactory * This, const IID & riid, IUnknown **ppvObject); HRESULT __stdcall IClassFactory_LockServer_Proxy( IClassFactory * This, BOOL fLock); HRESULT __stdcall IClassFactory_LockServer_Stub( IClassFactory * This, BOOL fLock); } extern "C"{ #pragma warning(push) #pragma warning(disable:4820) #pragma warning(disable:4201) #pragma once #pragma warning(push) #pragma warning(disable:4820) #pragma warning(disable:4201) #pragma once #pragma warning(pop) #pragma region Desktop Family or OneCore Family extern RPC_IF_HANDLE __MIDL_itf_objidl_0000_0053_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_objidl_0000_0053_v0_0_s_ifspec; typedef IMallocSpy *LPMALLOCSPY; extern "C" const IID IID_IMallocSpy; struct __declspec(uuid("0000001d-0000-0000-C000-000000000046")) __declspec(novtable) IMallocSpy : public IUnknown { public: virtual SIZE_T __stdcall PreAlloc( SIZE_T cbRequest) = 0; virtual void *__stdcall PostAlloc( void *pActual) = 0; virtual void *__stdcall PreFree( void *pRequest, BOOL fSpyed) = 0; virtual void __stdcall PostFree( BOOL fSpyed) = 0; virtual SIZE_T __stdcall PreRealloc( void *pRequest, SIZE_T cbRequest, void **ppNewRequest, BOOL fSpyed) = 0; virtual void *__stdcall PostRealloc( void *pActual, BOOL fSpyed) = 0; virtual void *__stdcall PreGetSize( void *pRequest, BOOL fSpyed) = 0; virtual SIZE_T __stdcall PostGetSize( SIZE_T cbActual, BOOL fSpyed) = 0; virtual void *__stdcall PreDidAlloc( void *pRequest, BOOL fSpyed) = 0; virtual int __stdcall PostDidAlloc( void *pRequest, BOOL fSpyed, int fActual) = 0; virtual void __stdcall PreHeapMinimize( void) = 0; virtual void __stdcall PostHeapMinimize( void) = 0; }; #pragma endregion #pragma region Application Family or OneCore Family or Games Family extern RPC_IF_HANDLE __MIDL_itf_objidl_0000_0054_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_objidl_0000_0054_v0_0_s_ifspec; typedef IBindCtx *LPBC; typedef IBindCtx *LPBINDCTX; typedef struct tagBIND_OPTS { DWORD cbStruct; DWORD grfFlags; DWORD grfMode; DWORD dwTickCountDeadline; } BIND_OPTS, * LPBIND_OPTS; typedef struct tagBIND_OPTS2 : tagBIND_OPTS { DWORD dwTrackFlags; DWORD dwClassContext; LCID locale; COSERVERINFO * pServerInfo; } BIND_OPTS2, * LPBIND_OPTS2; typedef struct tagBIND_OPTS3 : tagBIND_OPTS2 { HWND hwnd; } BIND_OPTS3, * LPBIND_OPTS3; typedef enum tagBIND_FLAGS { BIND_MAYBOTHERUSER = 1, BIND_JUSTTESTEXISTENCE = 2 } BIND_FLAGS; extern "C" const IID IID_IBindCtx; struct __declspec(uuid("0000000e-0000-0000-C000-000000000046")) __declspec(novtable) IBindCtx : public IUnknown { public: virtual HRESULT __stdcall RegisterObjectBound( IUnknown *punk) = 0; virtual HRESULT __stdcall RevokeObjectBound( IUnknown *punk) = 0; virtual HRESULT __stdcall ReleaseBoundObjects( void) = 0; virtual HRESULT __stdcall SetBindOptions( BIND_OPTS *pbindopts) = 0; virtual HRESULT __stdcall GetBindOptions( BIND_OPTS *pbindopts) = 0; virtual HRESULT __stdcall GetRunningObjectTable( IRunningObjectTable **pprot) = 0; virtual HRESULT __stdcall RegisterObjectParam( LPOLESTR pszKey, IUnknown *punk) = 0; virtual HRESULT __stdcall GetObjectParam( LPOLESTR pszKey, IUnknown **ppunk) = 0; virtual HRESULT __stdcall EnumObjectParam( IEnumString **ppenum) = 0; virtual HRESULT __stdcall RevokeObjectParam( LPOLESTR pszKey) = 0; }; HRESULT __stdcall IBindCtx_RemoteSetBindOptions_Proxy( IBindCtx * This, BIND_OPTS2 *pbindopts); void __stdcall IBindCtx_RemoteSetBindOptions_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT __stdcall IBindCtx_RemoteGetBindOptions_Proxy( IBindCtx * This, BIND_OPTS2 *pbindopts); void __stdcall IBindCtx_RemoteGetBindOptions_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); typedef IEnumMoniker *LPENUMMONIKER; extern "C" const IID IID_IEnumMoniker; struct __declspec(uuid("00000102-0000-0000-C000-000000000046")) __declspec(novtable) IEnumMoniker : public IUnknown { public: virtual HRESULT __stdcall Next( ULONG celt, IMoniker **rgelt, ULONG *pceltFetched) = 0; virtual HRESULT __stdcall Skip( ULONG celt) = 0; virtual HRESULT __stdcall Reset( void) = 0; virtual HRESULT __stdcall Clone( IEnumMoniker **ppenum) = 0; }; HRESULT __stdcall IEnumMoniker_RemoteNext_Proxy( IEnumMoniker * This, ULONG celt, IMoniker **rgelt, ULONG *pceltFetched); void __stdcall IEnumMoniker_RemoteNext_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); #pragma endregion #pragma region Desktop Family or OneCore Family extern RPC_IF_HANDLE __MIDL_itf_objidl_0000_0056_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_objidl_0000_0056_v0_0_s_ifspec; typedef IRunnableObject *LPRUNNABLEOBJECT; extern "C" const IID IID_IRunnableObject; struct __declspec(uuid("00000126-0000-0000-C000-000000000046")) __declspec(novtable) IRunnableObject : public IUnknown { public: virtual HRESULT __stdcall GetRunningClass( LPCLSID lpClsid) = 0; virtual HRESULT __stdcall Run( LPBINDCTX pbc) = 0; virtual BOOL __stdcall IsRunning( void) = 0; virtual HRESULT __stdcall LockRunning( BOOL fLock, BOOL fLastUnlockCloses) = 0; virtual HRESULT __stdcall SetContainedObject( BOOL fContained) = 0; }; HRESULT __stdcall IRunnableObject_RemoteIsRunning_Proxy( IRunnableObject * This); void __stdcall IRunnableObject_RemoteIsRunning_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); typedef IRunningObjectTable *LPRUNNINGOBJECTTABLE; extern "C" const IID IID_IRunningObjectTable; struct __declspec(uuid("00000010-0000-0000-C000-000000000046")) __declspec(novtable) IRunningObjectTable : public IUnknown { public: virtual HRESULT __stdcall Register( DWORD grfFlags, IUnknown *punkObject, IMoniker *pmkObjectName, DWORD *pdwRegister) = 0; virtual HRESULT __stdcall Revoke( DWORD dwRegister) = 0; virtual HRESULT __stdcall IsRunning( IMoniker *pmkObjectName) = 0; virtual HRESULT __stdcall GetObjectW( IMoniker *pmkObjectName, IUnknown **ppunkObject) = 0; virtual HRESULT __stdcall NoteChangeTime( DWORD dwRegister, FILETIME *pfiletime) = 0; virtual HRESULT __stdcall GetTimeOfLastChange( IMoniker *pmkObjectName, FILETIME *pfiletime) = 0; virtual HRESULT __stdcall EnumRunning( IEnumMoniker **ppenumMoniker) = 0; }; #pragma endregion #pragma region Application Family or OneCore Family or Games Family extern RPC_IF_HANDLE __MIDL_itf_objidl_0000_0058_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_objidl_0000_0058_v0_0_s_ifspec; typedef IPersist *LPPERSIST; extern "C" const IID IID_IPersist; struct __declspec(uuid("0000010c-0000-0000-C000-000000000046")) __declspec(novtable) IPersist : public IUnknown { public: virtual HRESULT __stdcall GetClassID( CLSID *pClassID) = 0; }; typedef IPersistStream *LPPERSISTSTREAM; extern "C" const IID IID_IPersistStream; struct __declspec(uuid("00000109-0000-0000-C000-000000000046")) __declspec(novtable) IPersistStream : public IPersist { public: virtual HRESULT __stdcall IsDirty( void) = 0; virtual HRESULT __stdcall Load( IStream *pStm) = 0; virtual HRESULT __stdcall Save( IStream *pStm, BOOL fClearDirty) = 0; virtual HRESULT __stdcall GetSizeMax( ULARGE_INTEGER *pcbSize) = 0; }; typedef IMoniker *LPMONIKER; typedef enum tagMKSYS { MKSYS_NONE = 0, MKSYS_GENERICCOMPOSITE = 1, MKSYS_FILEMONIKER = 2, MKSYS_ANTIMONIKER = 3, MKSYS_ITEMMONIKER = 4, MKSYS_POINTERMONIKER = 5, MKSYS_CLASSMONIKER = 7, MKSYS_OBJREFMONIKER = 8, MKSYS_SESSIONMONIKER = 9, MKSYS_LUAMONIKER = 10 } MKSYS; typedef enum tagMKREDUCE { MKRREDUCE_ONE = ( 3 << 16 ) , MKRREDUCE_TOUSER = ( 2 << 16 ) , MKRREDUCE_THROUGHUSER = ( 1 << 16 ) , MKRREDUCE_ALL = 0 } MKRREDUCE; extern "C" const IID IID_IMoniker; struct __declspec(uuid("0000000f-0000-0000-C000-000000000046")) __declspec(novtable) IMoniker : public IPersistStream { public: virtual HRESULT __stdcall BindToObject( IBindCtx *pbc, IMoniker *pmkToLeft, const IID & riidResult, void **ppvResult) = 0; virtual HRESULT __stdcall BindToStorage( IBindCtx *pbc, IMoniker *pmkToLeft, const IID & riid, void **ppvObj) = 0; virtual HRESULT __stdcall Reduce( IBindCtx *pbc, DWORD dwReduceHowFar, IMoniker **ppmkToLeft, IMoniker **ppmkReduced) = 0; virtual HRESULT __stdcall ComposeWith( IMoniker *pmkRight, BOOL fOnlyIfNotGeneric, IMoniker **ppmkComposite) = 0; virtual HRESULT __stdcall Enum( BOOL fForward, IEnumMoniker **ppenumMoniker) = 0; virtual HRESULT __stdcall IsEqual( IMoniker *pmkOtherMoniker) = 0; virtual HRESULT __stdcall Hash( DWORD *pdwHash) = 0; virtual HRESULT __stdcall IsRunning( IBindCtx *pbc, IMoniker *pmkToLeft, IMoniker *pmkNewlyRunning) = 0; virtual HRESULT __stdcall GetTimeOfLastChange( IBindCtx *pbc, IMoniker *pmkToLeft, FILETIME *pFileTime) = 0; virtual HRESULT __stdcall Inverse( IMoniker **ppmk) = 0; virtual HRESULT __stdcall CommonPrefixWith( IMoniker *pmkOther, IMoniker **ppmkPrefix) = 0; virtual HRESULT __stdcall RelativePathTo( IMoniker *pmkOther, IMoniker **ppmkRelPath) = 0; virtual HRESULT __stdcall GetDisplayName( IBindCtx *pbc, IMoniker *pmkToLeft, LPOLESTR *ppszDisplayName) = 0; virtual HRESULT __stdcall ParseDisplayName( IBindCtx *pbc, IMoniker *pmkToLeft, LPOLESTR pszDisplayName, ULONG *pchEaten, IMoniker **ppmkOut) = 0; virtual HRESULT __stdcall IsSystemMoniker( DWORD *pdwMksys) = 0; }; HRESULT __stdcall IMoniker_RemoteBindToObject_Proxy( IMoniker * This, IBindCtx *pbc, IMoniker *pmkToLeft, const IID & riidResult, IUnknown **ppvResult); void __stdcall IMoniker_RemoteBindToObject_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT __stdcall IMoniker_RemoteBindToStorage_Proxy( IMoniker * This, IBindCtx *pbc, IMoniker *pmkToLeft, const IID & riid, IUnknown **ppvObj); void __stdcall IMoniker_RemoteBindToStorage_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); #pragma endregion #pragma region Desktop Family or OneCore Family extern RPC_IF_HANDLE __MIDL_itf_objidl_0000_0061_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_objidl_0000_0061_v0_0_s_ifspec; extern "C" const IID IID_IROTData; struct __declspec(uuid("f29f6bc0-5021-11ce-aa15-00006901293f")) __declspec(novtable) IROTData : public IUnknown { public: virtual HRESULT __stdcall GetComparisonData( byte *pbData, ULONG cbMax, ULONG *pcbData) = 0; }; #pragma endregion #pragma region Application Family or OneCore Family or Games Family extern RPC_IF_HANDLE __MIDL_itf_objidl_0000_0062_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_objidl_0000_0062_v0_0_s_ifspec; typedef IEnumSTATSTG *LPENUMSTATSTG; extern "C" const IID IID_IEnumSTATSTG; struct __declspec(uuid("0000000d-0000-0000-C000-000000000046")) __declspec(novtable) IEnumSTATSTG : public IUnknown { public: virtual HRESULT __stdcall Next( ULONG celt, STATSTG *rgelt, ULONG *pceltFetched) = 0; virtual HRESULT __stdcall Skip( ULONG celt) = 0; virtual HRESULT __stdcall Reset( void) = 0; virtual HRESULT __stdcall Clone( IEnumSTATSTG **ppenum) = 0; }; HRESULT __stdcall IEnumSTATSTG_RemoteNext_Proxy( IEnumSTATSTG * This, ULONG celt, STATSTG *rgelt, ULONG *pceltFetched); void __stdcall IEnumSTATSTG_RemoteNext_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); typedef IStorage *LPSTORAGE; typedef struct tagRemSNB { ULONG ulCntStr; ULONG ulCntChar; OLECHAR rgString[ 1 ]; } RemSNB; typedef RemSNB *wireSNB; typedef LPOLESTR *SNB; extern "C" const IID IID_IStorage; struct __declspec(uuid("0000000b-0000-0000-C000-000000000046")) __declspec(novtable) IStorage : public IUnknown { public: virtual HRESULT __stdcall CreateStream( const OLECHAR *pwcsName, DWORD grfMode, DWORD reserved1, DWORD reserved2, IStream **ppstm) = 0; virtual HRESULT __stdcall OpenStream( const OLECHAR *pwcsName, void *reserved1, DWORD grfMode, DWORD reserved2, IStream **ppstm) = 0; virtual HRESULT __stdcall CreateStorage( const OLECHAR *pwcsName, DWORD grfMode, DWORD reserved1, DWORD reserved2, IStorage **ppstg) = 0; virtual HRESULT __stdcall OpenStorage( const OLECHAR *pwcsName, IStorage *pstgPriority, DWORD grfMode, SNB snbExclude, DWORD reserved, IStorage **ppstg) = 0; virtual HRESULT __stdcall CopyTo( DWORD ciidExclude, const IID *rgiidExclude, SNB snbExclude, IStorage *pstgDest) = 0; virtual HRESULT __stdcall MoveElementTo( const OLECHAR *pwcsName, IStorage *pstgDest, const OLECHAR *pwcsNewName, DWORD grfFlags) = 0; virtual HRESULT __stdcall Commit( DWORD grfCommitFlags) = 0; virtual HRESULT __stdcall Revert( void) = 0; virtual HRESULT __stdcall EnumElements( DWORD reserved1, void *reserved2, DWORD reserved3, IEnumSTATSTG **ppenum) = 0; virtual HRESULT __stdcall DestroyElement( const OLECHAR *pwcsName) = 0; virtual HRESULT __stdcall RenameElement( const OLECHAR *pwcsOldName, const OLECHAR *pwcsNewName) = 0; virtual HRESULT __stdcall SetElementTimes( const OLECHAR *pwcsName, const FILETIME *pctime, const FILETIME *patime, const FILETIME *pmtime) = 0; virtual HRESULT __stdcall SetClass( const IID & clsid) = 0; virtual HRESULT __stdcall SetStateBits( DWORD grfStateBits, DWORD grfMask) = 0; virtual HRESULT __stdcall Stat( STATSTG *pstatstg, DWORD grfStatFlag) = 0; }; HRESULT __stdcall IStorage_RemoteOpenStream_Proxy( IStorage * This, const OLECHAR *pwcsName, ULONG cbReserved1, byte *reserved1, DWORD grfMode, DWORD reserved2, IStream **ppstm); void __stdcall IStorage_RemoteOpenStream_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT __stdcall IStorage_RemoteCopyTo_Proxy( IStorage * This, DWORD ciidExclude, const IID *rgiidExclude, SNB snbExclude, IStorage *pstgDest); void __stdcall IStorage_RemoteCopyTo_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT __stdcall IStorage_RemoteEnumElements_Proxy( IStorage * This, DWORD reserved1, ULONG cbReserved2, byte *reserved2, DWORD reserved3, IEnumSTATSTG **ppenum); void __stdcall IStorage_RemoteEnumElements_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); #pragma endregion #pragma region Desktop Family or OneCore Family extern RPC_IF_HANDLE __MIDL_itf_objidl_0000_0064_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_objidl_0000_0064_v0_0_s_ifspec; typedef IPersistFile *LPPERSISTFILE; extern "C" const IID IID_IPersistFile; struct __declspec(uuid("0000010b-0000-0000-C000-000000000046")) __declspec(novtable) IPersistFile : public IPersist { public: virtual HRESULT __stdcall IsDirty( void) = 0; virtual HRESULT __stdcall Load( LPCOLESTR pszFileName, DWORD dwMode) = 0; virtual HRESULT __stdcall Save( LPCOLESTR pszFileName, BOOL fRemember) = 0; virtual HRESULT __stdcall SaveCompleted( LPCOLESTR pszFileName) = 0; virtual HRESULT __stdcall GetCurFile( LPOLESTR *ppszFileName) = 0; }; typedef IPersistStorage *LPPERSISTSTORAGE; extern "C" const IID IID_IPersistStorage; struct __declspec(uuid("0000010a-0000-0000-C000-000000000046")) __declspec(novtable) IPersistStorage : public IPersist { public: virtual HRESULT __stdcall IsDirty( void) = 0; virtual HRESULT __stdcall InitNew( IStorage *pStg) = 0; virtual HRESULT __stdcall Load( IStorage *pStg) = 0; virtual HRESULT __stdcall Save( IStorage *pStgSave, BOOL fSameAsLoad) = 0; virtual HRESULT __stdcall SaveCompleted( IStorage *pStgNew) = 0; virtual HRESULT __stdcall HandsOffStorage( void) = 0; }; #pragma endregion #pragma region Application Family or OneCore Family or Games Family extern RPC_IF_HANDLE __MIDL_itf_objidl_0000_0066_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_objidl_0000_0066_v0_0_s_ifspec; typedef ILockBytes *LPLOCKBYTES; extern "C" const IID IID_ILockBytes; struct __declspec(uuid("0000000a-0000-0000-C000-000000000046")) __declspec(novtable) ILockBytes : public IUnknown { public: virtual HRESULT __stdcall ReadAt( ULARGE_INTEGER ulOffset, void *pv, ULONG cb, ULONG *pcbRead) = 0; virtual HRESULT __stdcall WriteAt( ULARGE_INTEGER ulOffset, const void *pv, ULONG cb, ULONG *pcbWritten) = 0; virtual HRESULT __stdcall Flush( void) = 0; virtual HRESULT __stdcall SetSize( ULARGE_INTEGER cb) = 0; virtual HRESULT __stdcall LockRegion( ULARGE_INTEGER libOffset, ULARGE_INTEGER cb, DWORD dwLockType) = 0; virtual HRESULT __stdcall UnlockRegion( ULARGE_INTEGER libOffset, ULARGE_INTEGER cb, DWORD dwLockType) = 0; virtual HRESULT __stdcall Stat( STATSTG *pstatstg, DWORD grfStatFlag) = 0; }; HRESULT __stdcall ILockBytes_RemoteReadAt_Proxy( ILockBytes * This, ULARGE_INTEGER ulOffset, byte *pv, ULONG cb, ULONG *pcbRead); void __stdcall ILockBytes_RemoteReadAt_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT __stdcall ILockBytes_RemoteWriteAt_Proxy( ILockBytes * This, ULARGE_INTEGER ulOffset, const byte *pv, ULONG cb, ULONG *pcbWritten); void __stdcall ILockBytes_RemoteWriteAt_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); typedef IEnumFORMATETC *LPENUMFORMATETC; typedef struct tagDVTARGETDEVICE { DWORD tdSize; WORD tdDriverNameOffset; WORD tdDeviceNameOffset; WORD tdPortNameOffset; WORD tdExtDevmodeOffset; BYTE tdData[ 1 ]; } DVTARGETDEVICE; typedef CLIPFORMAT *LPCLIPFORMAT; typedef struct tagFORMATETC { CLIPFORMAT cfFormat; DVTARGETDEVICE *ptd; DWORD dwAspect; LONG lindex; DWORD tymed; } FORMATETC; typedef struct tagFORMATETC *LPFORMATETC; extern "C" const IID IID_IEnumFORMATETC; struct __declspec(uuid("00000103-0000-0000-C000-000000000046")) __declspec(novtable) IEnumFORMATETC : public IUnknown { public: virtual HRESULT __stdcall Next( ULONG celt, FORMATETC *rgelt, ULONG *pceltFetched) = 0; virtual HRESULT __stdcall Skip( ULONG celt) = 0; virtual HRESULT __stdcall Reset( void) = 0; virtual HRESULT __stdcall Clone( IEnumFORMATETC **ppenum) = 0; }; HRESULT __stdcall IEnumFORMATETC_RemoteNext_Proxy( IEnumFORMATETC * This, ULONG celt, FORMATETC *rgelt, ULONG *pceltFetched); void __stdcall IEnumFORMATETC_RemoteNext_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); typedef IEnumSTATDATA *LPENUMSTATDATA; typedef enum tagADVF { ADVF_NODATA = 1, ADVF_PRIMEFIRST = 2, ADVF_ONLYONCE = 4, ADVF_DATAONSTOP = 64, ADVFCACHE_NOHANDLER = 8, ADVFCACHE_FORCEBUILTIN = 16, ADVFCACHE_ONSAVE = 32 } ADVF; typedef struct tagSTATDATA { FORMATETC formatetc; DWORD advf; IAdviseSink *pAdvSink; DWORD dwConnection; } STATDATA; typedef STATDATA *LPSTATDATA; extern "C" const IID IID_IEnumSTATDATA; struct __declspec(uuid("00000105-0000-0000-C000-000000000046")) __declspec(novtable) IEnumSTATDATA : public IUnknown { public: virtual HRESULT __stdcall Next( ULONG celt, STATDATA *rgelt, ULONG *pceltFetched) = 0; virtual HRESULT __stdcall Skip( ULONG celt) = 0; virtual HRESULT __stdcall Reset( void) = 0; virtual HRESULT __stdcall Clone( IEnumSTATDATA **ppenum) = 0; }; HRESULT __stdcall IEnumSTATDATA_RemoteNext_Proxy( IEnumSTATDATA * This, ULONG celt, STATDATA *rgelt, ULONG *pceltFetched); void __stdcall IEnumSTATDATA_RemoteNext_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); typedef IRootStorage *LPROOTSTORAGE; extern "C" const IID IID_IRootStorage; struct __declspec(uuid("00000012-0000-0000-C000-000000000046")) __declspec(novtable) IRootStorage : public IUnknown { public: virtual HRESULT __stdcall SwitchToFile( LPOLESTR pszFile) = 0; }; typedef IAdviseSink *LPADVISESINK; typedef enum tagTYMED { TYMED_HGLOBAL = 1, TYMED_FILE = 2, TYMED_ISTREAM = 4, TYMED_ISTORAGE = 8, TYMED_GDI = 16, TYMED_MFPICT = 32, TYMED_ENHMF = 64, TYMED_NULL = 0 } TYMED; #pragma warning(push) #pragma warning(disable:4200) typedef struct tagRemSTGMEDIUM { DWORD tymed; DWORD dwHandleType; ULONG pData; ULONG pUnkForRelease; ULONG cbData; byte data[ 1 ]; } RemSTGMEDIUM; #pragma warning(pop) typedef struct tagSTGMEDIUM { DWORD tymed; union { HBITMAP hBitmap; HMETAFILEPICT hMetaFilePict; HENHMETAFILE hEnhMetaFile; HGLOBAL hGlobal; LPOLESTR lpszFileName; IStream *pstm; IStorage *pstg; } ; IUnknown *pUnkForRelease; } uSTGMEDIUM; typedef struct _GDI_OBJECT { DWORD ObjectType; union __MIDL_IAdviseSink_0002 { wireHBITMAP hBitmap; wireHPALETTE hPalette; wireHGLOBAL hGeneric; } u; } GDI_OBJECT; typedef struct _userSTGMEDIUM { struct _STGMEDIUM_UNION { DWORD tymed; union __MIDL_IAdviseSink_0003 { wireHMETAFILEPICT hMetaFilePict; wireHENHMETAFILE hHEnhMetaFile; GDI_OBJECT *hGdiHandle; wireHGLOBAL hGlobal; LPOLESTR lpszFileName; BYTE_BLOB *pstm; BYTE_BLOB *pstg; } u; } ; IUnknown *pUnkForRelease; } userSTGMEDIUM; typedef userSTGMEDIUM *wireSTGMEDIUM; typedef uSTGMEDIUM STGMEDIUM; typedef userSTGMEDIUM *wireASYNC_STGMEDIUM; typedef STGMEDIUM ASYNC_STGMEDIUM; typedef STGMEDIUM *LPSTGMEDIUM; typedef struct _userFLAG_STGMEDIUM { LONG ContextFlags; LONG fPassOwnership; userSTGMEDIUM Stgmed; } userFLAG_STGMEDIUM; typedef userFLAG_STGMEDIUM *wireFLAG_STGMEDIUM; typedef struct _FLAG_STGMEDIUM { LONG ContextFlags; LONG fPassOwnership; STGMEDIUM Stgmed; } FLAG_STGMEDIUM; extern "C" const IID IID_IAdviseSink; struct __declspec(uuid("0000010f-0000-0000-C000-000000000046")) __declspec(novtable) IAdviseSink : public IUnknown { public: virtual void __stdcall OnDataChange( FORMATETC *pFormatetc, STGMEDIUM *pStgmed) = 0; virtual void __stdcall OnViewChange( DWORD dwAspect, LONG lindex) = 0; virtual void __stdcall OnRename( IMoniker *pmk) = 0; virtual void __stdcall OnSave( void) = 0; virtual void __stdcall OnClose( void) = 0; }; HRESULT __stdcall IAdviseSink_RemoteOnDataChange_Proxy( IAdviseSink * This, FORMATETC *pFormatetc, ASYNC_STGMEDIUM *pStgmed); void __stdcall IAdviseSink_RemoteOnDataChange_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT __stdcall IAdviseSink_RemoteOnViewChange_Proxy( IAdviseSink * This, DWORD dwAspect, LONG lindex); void __stdcall IAdviseSink_RemoteOnViewChange_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT __stdcall IAdviseSink_RemoteOnRename_Proxy( IAdviseSink * This, IMoniker *pmk); void __stdcall IAdviseSink_RemoteOnRename_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT __stdcall IAdviseSink_RemoteOnSave_Proxy( IAdviseSink * This); void __stdcall IAdviseSink_RemoteOnSave_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT __stdcall IAdviseSink_RemoteOnClose_Proxy( IAdviseSink * This); void __stdcall IAdviseSink_RemoteOnClose_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); extern "C" const IID IID_AsyncIAdviseSink; struct __declspec(uuid("00000150-0000-0000-C000-000000000046")) __declspec(novtable) AsyncIAdviseSink : public IUnknown { public: virtual void __stdcall Begin_OnDataChange( FORMATETC *pFormatetc, STGMEDIUM *pStgmed) = 0; virtual void __stdcall Finish_OnDataChange( void) = 0; virtual void __stdcall Begin_OnViewChange( DWORD dwAspect, LONG lindex) = 0; virtual void __stdcall Finish_OnViewChange( void) = 0; virtual void __stdcall Begin_OnRename( IMoniker *pmk) = 0; virtual void __stdcall Finish_OnRename( void) = 0; virtual void __stdcall Begin_OnSave( void) = 0; virtual void __stdcall Finish_OnSave( void) = 0; virtual void __stdcall Begin_OnClose( void) = 0; virtual void __stdcall Finish_OnClose( void) = 0; }; HRESULT __stdcall AsyncIAdviseSink_Begin_RemoteOnDataChange_Proxy( AsyncIAdviseSink * This, FORMATETC *pFormatetc, ASYNC_STGMEDIUM *pStgmed); void __stdcall AsyncIAdviseSink_Begin_RemoteOnDataChange_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT __stdcall AsyncIAdviseSink_Finish_RemoteOnDataChange_Proxy( AsyncIAdviseSink * This); void __stdcall AsyncIAdviseSink_Finish_RemoteOnDataChange_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT __stdcall AsyncIAdviseSink_Begin_RemoteOnViewChange_Proxy( AsyncIAdviseSink * This, DWORD dwAspect, LONG lindex); void __stdcall AsyncIAdviseSink_Begin_RemoteOnViewChange_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT __stdcall AsyncIAdviseSink_Finish_RemoteOnViewChange_Proxy( AsyncIAdviseSink * This); void __stdcall AsyncIAdviseSink_Finish_RemoteOnViewChange_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT __stdcall AsyncIAdviseSink_Begin_RemoteOnRename_Proxy( AsyncIAdviseSink * This, IMoniker *pmk); void __stdcall AsyncIAdviseSink_Begin_RemoteOnRename_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT __stdcall AsyncIAdviseSink_Finish_RemoteOnRename_Proxy( AsyncIAdviseSink * This); void __stdcall AsyncIAdviseSink_Finish_RemoteOnRename_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT __stdcall AsyncIAdviseSink_Begin_RemoteOnSave_Proxy( AsyncIAdviseSink * This); void __stdcall AsyncIAdviseSink_Begin_RemoteOnSave_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT __stdcall AsyncIAdviseSink_Finish_RemoteOnSave_Proxy( AsyncIAdviseSink * This); void __stdcall AsyncIAdviseSink_Finish_RemoteOnSave_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT __stdcall AsyncIAdviseSink_Begin_RemoteOnClose_Proxy( AsyncIAdviseSink * This); void __stdcall AsyncIAdviseSink_Begin_RemoteOnClose_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT __stdcall AsyncIAdviseSink_Finish_RemoteOnClose_Proxy( AsyncIAdviseSink * This); void __stdcall AsyncIAdviseSink_Finish_RemoteOnClose_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); #pragma endregion #pragma region Desktop Family or OneCore Family extern RPC_IF_HANDLE __MIDL_itf_objidl_0000_0071_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_objidl_0000_0071_v0_0_s_ifspec; typedef IAdviseSink2 *LPADVISESINK2; extern "C" const IID IID_IAdviseSink2; struct __declspec(uuid("00000125-0000-0000-C000-000000000046")) __declspec(novtable) IAdviseSink2 : public IAdviseSink { public: virtual void __stdcall OnLinkSrcChange( IMoniker *pmk) = 0; }; HRESULT __stdcall IAdviseSink2_RemoteOnLinkSrcChange_Proxy( IAdviseSink2 * This, IMoniker *pmk); void __stdcall IAdviseSink2_RemoteOnLinkSrcChange_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); extern "C" const IID IID_AsyncIAdviseSink2; struct __declspec(uuid("00000151-0000-0000-C000-000000000046")) __declspec(novtable) AsyncIAdviseSink2 : public AsyncIAdviseSink { public: virtual void __stdcall Begin_OnLinkSrcChange( IMoniker *pmk) = 0; virtual void __stdcall Finish_OnLinkSrcChange( void) = 0; }; HRESULT __stdcall AsyncIAdviseSink2_Begin_RemoteOnLinkSrcChange_Proxy( AsyncIAdviseSink2 * This, IMoniker *pmk); void __stdcall AsyncIAdviseSink2_Begin_RemoteOnLinkSrcChange_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT __stdcall AsyncIAdviseSink2_Finish_RemoteOnLinkSrcChange_Proxy( AsyncIAdviseSink2 * This); void __stdcall AsyncIAdviseSink2_Finish_RemoteOnLinkSrcChange_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); #pragma endregion #pragma region Application Family or OneCore Family or Games Family extern RPC_IF_HANDLE __MIDL_itf_objidl_0000_0072_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_objidl_0000_0072_v0_0_s_ifspec; typedef IDataObject *LPDATAOBJECT; typedef enum tagDATADIR { DATADIR_GET = 1, DATADIR_SET = 2 } DATADIR; extern "C" const IID IID_IDataObject; struct __declspec(uuid("0000010e-0000-0000-C000-000000000046")) __declspec(novtable) IDataObject : public IUnknown { public: virtual HRESULT __stdcall GetData( FORMATETC *pformatetcIn, STGMEDIUM *pmedium) = 0; virtual HRESULT __stdcall GetDataHere( FORMATETC *pformatetc, STGMEDIUM *pmedium) = 0; virtual HRESULT __stdcall QueryGetData( FORMATETC *pformatetc) = 0; virtual HRESULT __stdcall GetCanonicalFormatEtc( FORMATETC *pformatectIn, FORMATETC *pformatetcOut) = 0; virtual HRESULT __stdcall SetData( FORMATETC *pformatetc, STGMEDIUM *pmedium, BOOL fRelease) = 0; virtual HRESULT __stdcall EnumFormatEtc( DWORD dwDirection, IEnumFORMATETC **ppenumFormatEtc) = 0; virtual HRESULT __stdcall DAdvise( FORMATETC *pformatetc, DWORD advf, IAdviseSink *pAdvSink, DWORD *pdwConnection) = 0; virtual HRESULT __stdcall DUnadvise( DWORD dwConnection) = 0; virtual HRESULT __stdcall EnumDAdvise( IEnumSTATDATA **ppenumAdvise) = 0; }; HRESULT __stdcall IDataObject_RemoteGetData_Proxy( IDataObject * This, FORMATETC *pformatetcIn, STGMEDIUM *pRemoteMedium); void __stdcall IDataObject_RemoteGetData_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT __stdcall IDataObject_RemoteGetDataHere_Proxy( IDataObject * This, FORMATETC *pformatetc, STGMEDIUM *pRemoteMedium); void __stdcall IDataObject_RemoteGetDataHere_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT __stdcall IDataObject_RemoteSetData_Proxy( IDataObject * This, FORMATETC *pformatetc, FLAG_STGMEDIUM *pmedium, BOOL fRelease); void __stdcall IDataObject_RemoteSetData_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); #pragma endregion #pragma region Desktop Family or OneCore Family or Games Family extern RPC_IF_HANDLE __MIDL_itf_objidl_0000_0073_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_objidl_0000_0073_v0_0_s_ifspec; typedef IDataAdviseHolder *LPDATAADVISEHOLDER; extern "C" const IID IID_IDataAdviseHolder; struct __declspec(uuid("00000110-0000-0000-C000-000000000046")) __declspec(novtable) IDataAdviseHolder : public IUnknown { public: virtual HRESULT __stdcall Advise( IDataObject *pDataObject, FORMATETC *pFetc, DWORD advf, IAdviseSink *pAdvise, DWORD *pdwConnection) = 0; virtual HRESULT __stdcall Unadvise( DWORD dwConnection) = 0; virtual HRESULT __stdcall EnumAdvise( IEnumSTATDATA **ppenumAdvise) = 0; virtual HRESULT __stdcall SendOnDataChange( IDataObject *pDataObject, DWORD dwReserved, DWORD advf) = 0; }; typedef IMessageFilter *LPMESSAGEFILTER; typedef enum tagCALLTYPE { CALLTYPE_TOPLEVEL = 1, CALLTYPE_NESTED = 2, CALLTYPE_ASYNC = 3, CALLTYPE_TOPLEVEL_CALLPENDING = 4, CALLTYPE_ASYNC_CALLPENDING = 5 } CALLTYPE; typedef enum tagSERVERCALL { SERVERCALL_ISHANDLED = 0, SERVERCALL_REJECTED = 1, SERVERCALL_RETRYLATER = 2 } SERVERCALL; typedef enum tagPENDINGTYPE { PENDINGTYPE_TOPLEVEL = 1, PENDINGTYPE_NESTED = 2 } PENDINGTYPE; typedef enum tagPENDINGMSG { PENDINGMSG_CANCELCALL = 0, PENDINGMSG_WAITNOPROCESS = 1, PENDINGMSG_WAITDEFPROCESS = 2 } PENDINGMSG; typedef struct tagINTERFACEINFO { IUnknown *pUnk; IID iid; WORD wMethod; } INTERFACEINFO; typedef struct tagINTERFACEINFO *LPINTERFACEINFO; extern "C" const IID IID_IMessageFilter; struct __declspec(uuid("00000016-0000-0000-C000-000000000046")) __declspec(novtable) IMessageFilter : public IUnknown { public: virtual DWORD __stdcall HandleInComingCall( DWORD dwCallType, HTASK htaskCaller, DWORD dwTickCount, LPINTERFACEINFO lpInterfaceInfo) = 0; virtual DWORD __stdcall RetryRejectedCall( HTASK htaskCallee, DWORD dwTickCount, DWORD dwRejectType) = 0; virtual DWORD __stdcall MessagePending( HTASK htaskCallee, DWORD dwTickCount, DWORD dwPendingType) = 0; }; extern const FMTID FMTID_SummaryInformation; extern const FMTID FMTID_DocSummaryInformation; extern const FMTID FMTID_UserDefinedProperties; extern const FMTID FMTID_DiscardableInformation; extern const FMTID FMTID_ImageSummaryInformation; extern const FMTID FMTID_AudioSummaryInformation; extern const FMTID FMTID_VideoSummaryInformation; extern const FMTID FMTID_MediaFileSummaryInformation; extern RPC_IF_HANDLE __MIDL_itf_objidl_0000_0075_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_objidl_0000_0075_v0_0_s_ifspec; extern "C" const IID IID_IClassActivator; struct __declspec(uuid("00000140-0000-0000-C000-000000000046")) __declspec(novtable) IClassActivator : public IUnknown { public: virtual HRESULT __stdcall GetClassObject( const IID & rclsid, DWORD dwClassContext, LCID locale, const IID & riid, void **ppv) = 0; }; #pragma endregion #pragma region Application Family or OneCore Family extern RPC_IF_HANDLE __MIDL_itf_objidl_0000_0076_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_objidl_0000_0076_v0_0_s_ifspec; extern "C" const IID IID_IFillLockBytes; struct __declspec(uuid("99caf010-415e-11cf-8814-00aa00b569f5")) __declspec(novtable) IFillLockBytes : public IUnknown { public: virtual HRESULT __stdcall FillAppend( const void *pv, ULONG cb, ULONG *pcbWritten) = 0; virtual HRESULT __stdcall FillAt( ULARGE_INTEGER ulOffset, const void *pv, ULONG cb, ULONG *pcbWritten) = 0; virtual HRESULT __stdcall SetFillSize( ULARGE_INTEGER ulSize) = 0; virtual HRESULT __stdcall Terminate( BOOL bCanceled) = 0; }; HRESULT __stdcall IFillLockBytes_RemoteFillAppend_Proxy( IFillLockBytes * This, const byte *pv, ULONG cb, ULONG *pcbWritten); void __stdcall IFillLockBytes_RemoteFillAppend_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT __stdcall IFillLockBytes_RemoteFillAt_Proxy( IFillLockBytes * This, ULARGE_INTEGER ulOffset, const byte *pv, ULONG cb, ULONG *pcbWritten); void __stdcall IFillLockBytes_RemoteFillAt_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); #pragma endregion #pragma region Desktop Family or OneCore Family extern RPC_IF_HANDLE __MIDL_itf_objidl_0000_0077_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_objidl_0000_0077_v0_0_s_ifspec; extern "C" const IID IID_IProgressNotify; struct __declspec(uuid("a9d758a0-4617-11cf-95fc-00aa00680db4")) __declspec(novtable) IProgressNotify : public IUnknown { public: virtual HRESULT __stdcall OnProgress( DWORD dwProgressCurrent, DWORD dwProgressMaximum, BOOL fAccurate, BOOL fOwner) = 0; }; #pragma endregion #pragma region Application Family or OneCore Family extern RPC_IF_HANDLE __MIDL_itf_objidl_0000_0078_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_objidl_0000_0078_v0_0_s_ifspec; typedef struct tagStorageLayout { DWORD LayoutType; OLECHAR *pwcsElementName; LARGE_INTEGER cOffset; LARGE_INTEGER cBytes; } StorageLayout; extern "C" const IID IID_ILayoutStorage; struct __declspec(uuid("0e6d4d90-6738-11cf-9608-00aa00680db4")) __declspec(novtable) ILayoutStorage : public IUnknown { public: virtual HRESULT __stdcall LayoutScript( StorageLayout *pStorageLayout, DWORD nEntries, DWORD glfInterleavedFlag) = 0; virtual HRESULT __stdcall BeginMonitor( void) = 0; virtual HRESULT __stdcall EndMonitor( void) = 0; virtual HRESULT __stdcall ReLayoutDocfile( OLECHAR *pwcsNewDfName) = 0; virtual HRESULT __stdcall ReLayoutDocfileOnILockBytes( ILockBytes *pILockBytes) = 0; }; #pragma endregion #pragma region Desktop Family or OneCore Family extern RPC_IF_HANDLE __MIDL_itf_objidl_0000_0079_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_objidl_0000_0079_v0_0_s_ifspec; extern "C" const IID IID_IBlockingLock; struct __declspec(uuid("30f3d47a-6447-11d1-8e3c-00c04fb9386d")) __declspec(novtable) IBlockingLock : public IUnknown { public: virtual HRESULT __stdcall Lock( DWORD dwTimeout) = 0; virtual HRESULT __stdcall Unlock( void) = 0; }; extern "C" const IID IID_ITimeAndNoticeControl; struct __declspec(uuid("bc0bf6ae-8878-11d1-83e9-00c04fc2c6d4")) __declspec(novtable) ITimeAndNoticeControl : public IUnknown { public: virtual HRESULT __stdcall SuppressChanges( DWORD res1, DWORD res2) = 0; }; extern "C" const IID IID_IOplockStorage; struct __declspec(uuid("8d19c834-8879-11d1-83e9-00c04fc2c6d4")) __declspec(novtable) IOplockStorage : public IUnknown { public: virtual HRESULT __stdcall CreateStorageEx( LPCWSTR pwcsName, DWORD grfMode, DWORD stgfmt, DWORD grfAttrs, const IID & riid, void **ppstgOpen) = 0; virtual HRESULT __stdcall OpenStorageEx( LPCWSTR pwcsName, DWORD grfMode, DWORD stgfmt, DWORD grfAttrs, const IID & riid, void **ppstgOpen) = 0; }; #pragma endregion #pragma region Application Family or OneCore Family extern RPC_IF_HANDLE __MIDL_itf_objidl_0000_0082_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_objidl_0000_0082_v0_0_s_ifspec; extern "C" const IID IID_IDirectWriterLock; struct __declspec(uuid("0e6d4d92-6738-11cf-9608-00aa00680db4")) __declspec(novtable) IDirectWriterLock : public IUnknown { public: virtual HRESULT __stdcall WaitForWriteAccess( DWORD dwTimeout) = 0; virtual HRESULT __stdcall ReleaseWriteAccess( void) = 0; virtual HRESULT __stdcall HaveWriteAccess( void) = 0; }; #pragma endregion #pragma region Desktop Family or OneCore Family extern RPC_IF_HANDLE __MIDL_itf_objidl_0000_0083_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_objidl_0000_0083_v0_0_s_ifspec; extern "C" const IID IID_IUrlMon; struct __declspec(uuid("00000026-0000-0000-C000-000000000046")) __declspec(novtable) IUrlMon : public IUnknown { public: virtual HRESULT __stdcall AsyncGetClassBits( const IID & rclsid, LPCWSTR pszTYPE, LPCWSTR pszExt, DWORD dwFileVersionMS, DWORD dwFileVersionLS, LPCWSTR pszCodeBase, IBindCtx *pbc, DWORD dwClassContext, const IID & riid, DWORD flags) = 0; }; extern "C" const IID IID_IForegroundTransfer; struct __declspec(uuid("00000145-0000-0000-C000-000000000046")) __declspec(novtable) IForegroundTransfer : public IUnknown { public: virtual HRESULT __stdcall AllowForegroundTransfer( void *lpvReserved) = 0; }; extern "C" const IID IID_IThumbnailExtractor; struct __declspec(uuid("969dc708-5c76-11d1-8d86-0000f804b057")) __declspec(novtable) IThumbnailExtractor : public IUnknown { public: virtual HRESULT __stdcall ExtractThumbnail( IStorage *pStg, ULONG ulLength, ULONG ulHeight, ULONG *pulOutputLength, ULONG *pulOutputHeight, HBITMAP *phOutputBitmap) = 0; virtual HRESULT __stdcall OnFileUpdated( IStorage *pStg) = 0; }; extern "C" const IID IID_IDummyHICONIncluder; struct __declspec(uuid("947990de-cc28-11d2-a0f7-00805f858fb1")) __declspec(novtable) IDummyHICONIncluder : public IUnknown { public: virtual HRESULT __stdcall Dummy( HICON h1, HDC h2) = 0; }; typedef enum tagApplicationType { ServerApplication = 0, LibraryApplication = ( ServerApplication + 1 ) } ApplicationType; typedef enum tagShutdownType { IdleShutdown = 0, ForcedShutdown = ( IdleShutdown + 1 ) } ShutdownType; extern RPC_IF_HANDLE __MIDL_itf_objidl_0000_0087_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_objidl_0000_0087_v0_0_s_ifspec; extern "C" const IID IID_IProcessLock; struct __declspec(uuid("000001d5-0000-0000-C000-000000000046")) __declspec(novtable) IProcessLock : public IUnknown { public: virtual ULONG __stdcall AddRefOnProcess( void) = 0; virtual ULONG __stdcall ReleaseRefOnProcess( void) = 0; }; extern "C" const IID IID_ISurrogateService; struct __declspec(uuid("000001d4-0000-0000-C000-000000000046")) __declspec(novtable) ISurrogateService : public IUnknown { public: virtual HRESULT __stdcall Init( const GUID & rguidProcessID, IProcessLock *pProcessLock, BOOL *pfApplicationAware) = 0; virtual HRESULT __stdcall ApplicationLaunch( const GUID & rguidApplID, ApplicationType appType) = 0; virtual HRESULT __stdcall ApplicationFree( const GUID & rguidApplID) = 0; virtual HRESULT __stdcall CatalogRefresh( ULONG ulReserved) = 0; virtual HRESULT __stdcall ProcessShutdown( ShutdownType shutdownType) = 0; }; extern RPC_IF_HANDLE __MIDL_itf_objidl_0000_0089_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_objidl_0000_0089_v0_0_s_ifspec; typedef IInitializeSpy *LPINITIALIZESPY; extern "C" const IID IID_IInitializeSpy; struct __declspec(uuid("00000034-0000-0000-C000-000000000046")) __declspec(novtable) IInitializeSpy : public IUnknown { public: virtual HRESULT __stdcall PreInitialize( DWORD dwCoInit, DWORD dwCurThreadAptRefs) = 0; virtual HRESULT __stdcall PostInitialize( HRESULT hrCoInit, DWORD dwCoInit, DWORD dwNewThreadAptRefs) = 0; virtual HRESULT __stdcall PreUninitialize( DWORD dwCurThreadAptRefs) = 0; virtual HRESULT __stdcall PostUninitialize( DWORD dwNewThreadAptRefs) = 0; }; #pragma endregion #pragma region Application Family or OneCore Family extern RPC_IF_HANDLE __MIDL_itf_objidl_0000_0090_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_objidl_0000_0090_v0_0_s_ifspec; extern "C" const IID IID_IApartmentShutdown; struct __declspec(uuid("A2F05A09-27A2-42B5-BC0E-AC163EF49D9B")) __declspec(novtable) IApartmentShutdown : public IUnknown { public: virtual void __stdcall OnUninitialize( UINT64 ui64ApartmentIdentifier) = 0; }; #pragma endregion #pragma warning(pop) extern RPC_IF_HANDLE __MIDL_itf_objidl_0000_0091_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_objidl_0000_0091_v0_0_s_ifspec; unsigned long __stdcall ASYNC_STGMEDIUM_UserSize( unsigned long *, unsigned long , ASYNC_STGMEDIUM * ); unsigned char * __stdcall ASYNC_STGMEDIUM_UserMarshal( unsigned long *, unsigned char *, ASYNC_STGMEDIUM * ); unsigned char * __stdcall ASYNC_STGMEDIUM_UserUnmarshal( unsigned long *, unsigned char *, ASYNC_STGMEDIUM * ); void __stdcall ASYNC_STGMEDIUM_UserFree( unsigned long *, ASYNC_STGMEDIUM * ); unsigned long __stdcall CLIPFORMAT_UserSize( unsigned long *, unsigned long , CLIPFORMAT * ); unsigned char * __stdcall CLIPFORMAT_UserMarshal( unsigned long *, unsigned char *, CLIPFORMAT * ); unsigned char * __stdcall CLIPFORMAT_UserUnmarshal( unsigned long *, unsigned char *, CLIPFORMAT * ); void __stdcall CLIPFORMAT_UserFree( unsigned long *, CLIPFORMAT * ); unsigned long __stdcall FLAG_STGMEDIUM_UserSize( unsigned long *, unsigned long , FLAG_STGMEDIUM * ); unsigned char * __stdcall FLAG_STGMEDIUM_UserMarshal( unsigned long *, unsigned char *, FLAG_STGMEDIUM * ); unsigned char * __stdcall FLAG_STGMEDIUM_UserUnmarshal( unsigned long *, unsigned char *, FLAG_STGMEDIUM * ); void __stdcall FLAG_STGMEDIUM_UserFree( unsigned long *, FLAG_STGMEDIUM * ); unsigned long __stdcall HBITMAP_UserSize( unsigned long *, unsigned long , HBITMAP * ); unsigned char * __stdcall HBITMAP_UserMarshal( unsigned long *, unsigned char *, HBITMAP * ); unsigned char * __stdcall HBITMAP_UserUnmarshal( unsigned long *, unsigned char *, HBITMAP * ); void __stdcall HBITMAP_UserFree( unsigned long *, HBITMAP * ); unsigned long __stdcall HDC_UserSize( unsigned long *, unsigned long , HDC * ); unsigned char * __stdcall HDC_UserMarshal( unsigned long *, unsigned char *, HDC * ); unsigned char * __stdcall HDC_UserUnmarshal( unsigned long *, unsigned char *, HDC * ); void __stdcall HDC_UserFree( unsigned long *, HDC * ); unsigned long __stdcall HICON_UserSize( unsigned long *, unsigned long , HICON * ); unsigned char * __stdcall HICON_UserMarshal( unsigned long *, unsigned char *, HICON * ); unsigned char * __stdcall HICON_UserUnmarshal( unsigned long *, unsigned char *, HICON * ); void __stdcall HICON_UserFree( unsigned long *, HICON * ); unsigned long __stdcall SNB_UserSize( unsigned long *, unsigned long , SNB * ); unsigned char * __stdcall SNB_UserMarshal( unsigned long *, unsigned char *, SNB * ); unsigned char * __stdcall SNB_UserUnmarshal( unsigned long *, unsigned char *, SNB * ); void __stdcall SNB_UserFree( unsigned long *, SNB * ); unsigned long __stdcall STGMEDIUM_UserSize( unsigned long *, unsigned long , STGMEDIUM * ); unsigned char * __stdcall STGMEDIUM_UserMarshal( unsigned long *, unsigned char *, STGMEDIUM * ); unsigned char * __stdcall STGMEDIUM_UserUnmarshal( unsigned long *, unsigned char *, STGMEDIUM * ); void __stdcall STGMEDIUM_UserFree( unsigned long *, STGMEDIUM * ); unsigned long __stdcall ASYNC_STGMEDIUM_UserSize64( unsigned long *, unsigned long , ASYNC_STGMEDIUM * ); unsigned char * __stdcall ASYNC_STGMEDIUM_UserMarshal64( unsigned long *, unsigned char *, ASYNC_STGMEDIUM * ); unsigned char * __stdcall ASYNC_STGMEDIUM_UserUnmarshal64( unsigned long *, unsigned char *, ASYNC_STGMEDIUM * ); void __stdcall ASYNC_STGMEDIUM_UserFree64( unsigned long *, ASYNC_STGMEDIUM * ); unsigned long __stdcall CLIPFORMAT_UserSize64( unsigned long *, unsigned long , CLIPFORMAT * ); unsigned char * __stdcall CLIPFORMAT_UserMarshal64( unsigned long *, unsigned char *, CLIPFORMAT * ); unsigned char * __stdcall CLIPFORMAT_UserUnmarshal64( unsigned long *, unsigned char *, CLIPFORMAT * ); void __stdcall CLIPFORMAT_UserFree64( unsigned long *, CLIPFORMAT * ); unsigned long __stdcall FLAG_STGMEDIUM_UserSize64( unsigned long *, unsigned long , FLAG_STGMEDIUM * ); unsigned char * __stdcall FLAG_STGMEDIUM_UserMarshal64( unsigned long *, unsigned char *, FLAG_STGMEDIUM * ); unsigned char * __stdcall FLAG_STGMEDIUM_UserUnmarshal64( unsigned long *, unsigned char *, FLAG_STGMEDIUM * ); void __stdcall FLAG_STGMEDIUM_UserFree64( unsigned long *, FLAG_STGMEDIUM * ); unsigned long __stdcall HBITMAP_UserSize64( unsigned long *, unsigned long , HBITMAP * ); unsigned char * __stdcall HBITMAP_UserMarshal64( unsigned long *, unsigned char *, HBITMAP * ); unsigned char * __stdcall HBITMAP_UserUnmarshal64( unsigned long *, unsigned char *, HBITMAP * ); void __stdcall HBITMAP_UserFree64( unsigned long *, HBITMAP * ); unsigned long __stdcall HDC_UserSize64( unsigned long *, unsigned long , HDC * ); unsigned char * __stdcall HDC_UserMarshal64( unsigned long *, unsigned char *, HDC * ); unsigned char * __stdcall HDC_UserUnmarshal64( unsigned long *, unsigned char *, HDC * ); void __stdcall HDC_UserFree64( unsigned long *, HDC * ); unsigned long __stdcall HICON_UserSize64( unsigned long *, unsigned long , HICON * ); unsigned char * __stdcall HICON_UserMarshal64( unsigned long *, unsigned char *, HICON * ); unsigned char * __stdcall HICON_UserUnmarshal64( unsigned long *, unsigned char *, HICON * ); void __stdcall HICON_UserFree64( unsigned long *, HICON * ); unsigned long __stdcall SNB_UserSize64( unsigned long *, unsigned long , SNB * ); unsigned char * __stdcall SNB_UserMarshal64( unsigned long *, unsigned char *, SNB * ); unsigned char * __stdcall SNB_UserUnmarshal64( unsigned long *, unsigned char *, SNB * ); void __stdcall SNB_UserFree64( unsigned long *, SNB * ); unsigned long __stdcall STGMEDIUM_UserSize64( unsigned long *, unsigned long , STGMEDIUM * ); unsigned char * __stdcall STGMEDIUM_UserMarshal64( unsigned long *, unsigned char *, STGMEDIUM * ); unsigned char * __stdcall STGMEDIUM_UserUnmarshal64( unsigned long *, unsigned char *, STGMEDIUM * ); void __stdcall STGMEDIUM_UserFree64( unsigned long *, STGMEDIUM * ); HRESULT __stdcall IEnumUnknown_Next_Proxy( IEnumUnknown * This, ULONG celt, IUnknown **rgelt, ULONG *pceltFetched); HRESULT __stdcall IEnumUnknown_Next_Stub( IEnumUnknown * This, ULONG celt, IUnknown **rgelt, ULONG *pceltFetched); HRESULT __stdcall IEnumString_Next_Proxy( IEnumString * This, ULONG celt, LPOLESTR *rgelt, ULONG *pceltFetched); HRESULT __stdcall IEnumString_Next_Stub( IEnumString * This, ULONG celt, LPOLESTR *rgelt, ULONG *pceltFetched); HRESULT __stdcall ISequentialStream_Read_Proxy( ISequentialStream * This, void *pv, ULONG cb, ULONG *pcbRead); HRESULT __stdcall ISequentialStream_Read_Stub( ISequentialStream * This, byte *pv, ULONG cb, ULONG *pcbRead); HRESULT __stdcall ISequentialStream_Write_Proxy( ISequentialStream * This, const void *pv, ULONG cb, ULONG *pcbWritten); HRESULT __stdcall ISequentialStream_Write_Stub( ISequentialStream * This, const byte *pv, ULONG cb, ULONG *pcbWritten); HRESULT __stdcall IStream_Seek_Proxy( IStream * This, LARGE_INTEGER dlibMove, DWORD dwOrigin, ULARGE_INTEGER *plibNewPosition); HRESULT __stdcall IStream_Seek_Stub( IStream * This, LARGE_INTEGER dlibMove, DWORD dwOrigin, ULARGE_INTEGER *plibNewPosition); HRESULT __stdcall IStream_CopyTo_Proxy( IStream * This, IStream *pstm, ULARGE_INTEGER cb, ULARGE_INTEGER *pcbRead, ULARGE_INTEGER *pcbWritten); HRESULT __stdcall IStream_CopyTo_Stub( IStream * This, IStream *pstm, ULARGE_INTEGER cb, ULARGE_INTEGER *pcbRead, ULARGE_INTEGER *pcbWritten); HRESULT __stdcall IBindCtx_SetBindOptions_Proxy( IBindCtx * This, BIND_OPTS *pbindopts); HRESULT __stdcall IBindCtx_SetBindOptions_Stub( IBindCtx * This, BIND_OPTS2 *pbindopts); HRESULT __stdcall IBindCtx_GetBindOptions_Proxy( IBindCtx * This, BIND_OPTS *pbindopts); HRESULT __stdcall IBindCtx_GetBindOptions_Stub( IBindCtx * This, BIND_OPTS2 *pbindopts); HRESULT __stdcall IEnumMoniker_Next_Proxy( IEnumMoniker * This, ULONG celt, IMoniker **rgelt, ULONG *pceltFetched); HRESULT __stdcall IEnumMoniker_Next_Stub( IEnumMoniker * This, ULONG celt, IMoniker **rgelt, ULONG *pceltFetched); BOOL __stdcall IRunnableObject_IsRunning_Proxy( IRunnableObject * This); HRESULT __stdcall IRunnableObject_IsRunning_Stub( IRunnableObject * This); HRESULT __stdcall IMoniker_BindToObject_Proxy( IMoniker * This, IBindCtx *pbc, IMoniker *pmkToLeft, const IID & riidResult, void **ppvResult); HRESULT __stdcall IMoniker_BindToObject_Stub( IMoniker * This, IBindCtx *pbc, IMoniker *pmkToLeft, const IID & riidResult, IUnknown **ppvResult); HRESULT __stdcall IMoniker_BindToStorage_Proxy( IMoniker * This, IBindCtx *pbc, IMoniker *pmkToLeft, const IID & riid, void **ppvObj); HRESULT __stdcall IMoniker_BindToStorage_Stub( IMoniker * This, IBindCtx *pbc, IMoniker *pmkToLeft, const IID & riid, IUnknown **ppvObj); HRESULT __stdcall IEnumSTATSTG_Next_Proxy( IEnumSTATSTG * This, ULONG celt, STATSTG *rgelt, ULONG *pceltFetched); HRESULT __stdcall IEnumSTATSTG_Next_Stub( IEnumSTATSTG * This, ULONG celt, STATSTG *rgelt, ULONG *pceltFetched); HRESULT __stdcall IStorage_OpenStream_Proxy( IStorage * This, const OLECHAR *pwcsName, void *reserved1, DWORD grfMode, DWORD reserved2, IStream **ppstm); HRESULT __stdcall IStorage_OpenStream_Stub( IStorage * This, const OLECHAR *pwcsName, ULONG cbReserved1, byte *reserved1, DWORD grfMode, DWORD reserved2, IStream **ppstm); HRESULT __stdcall IStorage_CopyTo_Proxy( IStorage * This, DWORD ciidExclude, const IID *rgiidExclude, SNB snbExclude, IStorage *pstgDest); HRESULT __stdcall IStorage_CopyTo_Stub( IStorage * This, DWORD ciidExclude, const IID *rgiidExclude, SNB snbExclude, IStorage *pstgDest); HRESULT __stdcall IStorage_EnumElements_Proxy( IStorage * This, DWORD reserved1, void *reserved2, DWORD reserved3, IEnumSTATSTG **ppenum); HRESULT __stdcall IStorage_EnumElements_Stub( IStorage * This, DWORD reserved1, ULONG cbReserved2, byte *reserved2, DWORD reserved3, IEnumSTATSTG **ppenum); HRESULT __stdcall ILockBytes_ReadAt_Proxy( ILockBytes * This, ULARGE_INTEGER ulOffset, void *pv, ULONG cb, ULONG *pcbRead); HRESULT __stdcall ILockBytes_ReadAt_Stub( ILockBytes * This, ULARGE_INTEGER ulOffset, byte *pv, ULONG cb, ULONG *pcbRead); HRESULT __stdcall ILockBytes_WriteAt_Proxy( ILockBytes * This, ULARGE_INTEGER ulOffset, const void *pv, ULONG cb, ULONG *pcbWritten); HRESULT __stdcall ILockBytes_WriteAt_Stub( ILockBytes * This, ULARGE_INTEGER ulOffset, const byte *pv, ULONG cb, ULONG *pcbWritten); HRESULT __stdcall IEnumFORMATETC_Next_Proxy( IEnumFORMATETC * This, ULONG celt, FORMATETC *rgelt, ULONG *pceltFetched); HRESULT __stdcall IEnumFORMATETC_Next_Stub( IEnumFORMATETC * This, ULONG celt, FORMATETC *rgelt, ULONG *pceltFetched); HRESULT __stdcall IEnumSTATDATA_Next_Proxy( IEnumSTATDATA * This, ULONG celt, STATDATA *rgelt, ULONG *pceltFetched); HRESULT __stdcall IEnumSTATDATA_Next_Stub( IEnumSTATDATA * This, ULONG celt, STATDATA *rgelt, ULONG *pceltFetched); void __stdcall IAdviseSink_OnDataChange_Proxy( IAdviseSink * This, FORMATETC *pFormatetc, STGMEDIUM *pStgmed); HRESULT __stdcall IAdviseSink_OnDataChange_Stub( IAdviseSink * This, FORMATETC *pFormatetc, ASYNC_STGMEDIUM *pStgmed); void __stdcall IAdviseSink_OnViewChange_Proxy( IAdviseSink * This, DWORD dwAspect, LONG lindex); HRESULT __stdcall IAdviseSink_OnViewChange_Stub( IAdviseSink * This, DWORD dwAspect, LONG lindex); void __stdcall IAdviseSink_OnRename_Proxy( IAdviseSink * This, IMoniker *pmk); HRESULT __stdcall IAdviseSink_OnRename_Stub( IAdviseSink * This, IMoniker *pmk); void __stdcall IAdviseSink_OnSave_Proxy( IAdviseSink * This); HRESULT __stdcall IAdviseSink_OnSave_Stub( IAdviseSink * This); void __stdcall IAdviseSink_OnClose_Proxy( IAdviseSink * This); HRESULT __stdcall IAdviseSink_OnClose_Stub( IAdviseSink * This); void __stdcall AsyncIAdviseSink_Begin_OnDataChange_Proxy( AsyncIAdviseSink * This, FORMATETC *pFormatetc, STGMEDIUM *pStgmed); HRESULT __stdcall AsyncIAdviseSink_Begin_OnDataChange_Stub( AsyncIAdviseSink * This, FORMATETC *pFormatetc, ASYNC_STGMEDIUM *pStgmed); void __stdcall AsyncIAdviseSink_Finish_OnDataChange_Proxy( AsyncIAdviseSink * This); HRESULT __stdcall AsyncIAdviseSink_Finish_OnDataChange_Stub( AsyncIAdviseSink * This); void __stdcall AsyncIAdviseSink_Begin_OnViewChange_Proxy( AsyncIAdviseSink * This, DWORD dwAspect, LONG lindex); HRESULT __stdcall AsyncIAdviseSink_Begin_OnViewChange_Stub( AsyncIAdviseSink * This, DWORD dwAspect, LONG lindex); void __stdcall AsyncIAdviseSink_Finish_OnViewChange_Proxy( AsyncIAdviseSink * This); HRESULT __stdcall AsyncIAdviseSink_Finish_OnViewChange_Stub( AsyncIAdviseSink * This); void __stdcall AsyncIAdviseSink_Begin_OnRename_Proxy( AsyncIAdviseSink * This, IMoniker *pmk); HRESULT __stdcall AsyncIAdviseSink_Begin_OnRename_Stub( AsyncIAdviseSink * This, IMoniker *pmk); void __stdcall AsyncIAdviseSink_Finish_OnRename_Proxy( AsyncIAdviseSink * This); HRESULT __stdcall AsyncIAdviseSink_Finish_OnRename_Stub( AsyncIAdviseSink * This); void __stdcall AsyncIAdviseSink_Begin_OnSave_Proxy( AsyncIAdviseSink * This); HRESULT __stdcall AsyncIAdviseSink_Begin_OnSave_Stub( AsyncIAdviseSink * This); void __stdcall AsyncIAdviseSink_Finish_OnSave_Proxy( AsyncIAdviseSink * This); HRESULT __stdcall AsyncIAdviseSink_Finish_OnSave_Stub( AsyncIAdviseSink * This); void __stdcall AsyncIAdviseSink_Begin_OnClose_Proxy( AsyncIAdviseSink * This); HRESULT __stdcall AsyncIAdviseSink_Begin_OnClose_Stub( AsyncIAdviseSink * This); void __stdcall AsyncIAdviseSink_Finish_OnClose_Proxy( AsyncIAdviseSink * This); HRESULT __stdcall AsyncIAdviseSink_Finish_OnClose_Stub( AsyncIAdviseSink * This); void __stdcall IAdviseSink2_OnLinkSrcChange_Proxy( IAdviseSink2 * This, IMoniker *pmk); HRESULT __stdcall IAdviseSink2_OnLinkSrcChange_Stub( IAdviseSink2 * This, IMoniker *pmk); void __stdcall AsyncIAdviseSink2_Begin_OnLinkSrcChange_Proxy( AsyncIAdviseSink2 * This, IMoniker *pmk); HRESULT __stdcall AsyncIAdviseSink2_Begin_OnLinkSrcChange_Stub( AsyncIAdviseSink2 * This, IMoniker *pmk); void __stdcall AsyncIAdviseSink2_Finish_OnLinkSrcChange_Proxy( AsyncIAdviseSink2 * This); HRESULT __stdcall AsyncIAdviseSink2_Finish_OnLinkSrcChange_Stub( AsyncIAdviseSink2 * This); HRESULT __stdcall IDataObject_GetData_Proxy( IDataObject * This, FORMATETC *pformatetcIn, STGMEDIUM *pmedium); HRESULT __stdcall IDataObject_GetData_Stub( IDataObject * This, FORMATETC *pformatetcIn, STGMEDIUM *pRemoteMedium); HRESULT __stdcall IDataObject_GetDataHere_Proxy( IDataObject * This, FORMATETC *pformatetc, STGMEDIUM *pmedium); HRESULT __stdcall IDataObject_GetDataHere_Stub( IDataObject * This, FORMATETC *pformatetc, STGMEDIUM *pRemoteMedium); HRESULT __stdcall IDataObject_SetData_Proxy( IDataObject * This, FORMATETC *pformatetc, STGMEDIUM *pmedium, BOOL fRelease); HRESULT __stdcall IDataObject_SetData_Stub( IDataObject * This, FORMATETC *pformatetc, FLAG_STGMEDIUM *pmedium, BOOL fRelease); HRESULT __stdcall IFillLockBytes_FillAppend_Proxy( IFillLockBytes * This, const void *pv, ULONG cb, ULONG *pcbWritten); HRESULT __stdcall IFillLockBytes_FillAppend_Stub( IFillLockBytes * This, const byte *pv, ULONG cb, ULONG *pcbWritten); HRESULT __stdcall IFillLockBytes_FillAt_Proxy( IFillLockBytes * This, ULARGE_INTEGER ulOffset, const void *pv, ULONG cb, ULONG *pcbWritten); HRESULT __stdcall IFillLockBytes_FillAt_Stub( IFillLockBytes * This, ULARGE_INTEGER ulOffset, const byte *pv, ULONG cb, ULONG *pcbWritten); } #pragma once typedef struct IPropertyStorage IPropertyStorage; typedef struct IPropertySetStorage IPropertySetStorage; typedef struct IEnumSTATPROPSTG IEnumSTATPROPSTG; typedef struct IEnumSTATPROPSETSTG IEnumSTATPROPSETSTG; #pragma once typedef struct ICreateTypeInfo ICreateTypeInfo; typedef struct ICreateTypeInfo2 ICreateTypeInfo2; typedef struct ICreateTypeLib ICreateTypeLib; typedef struct ICreateTypeLib2 ICreateTypeLib2; typedef struct IDispatch IDispatch; typedef struct IEnumVARIANT IEnumVARIANT; typedef struct ITypeComp ITypeComp; typedef struct ITypeInfo ITypeInfo; typedef struct ITypeInfo2 ITypeInfo2; typedef struct ITypeLib ITypeLib; typedef struct ITypeLib2 ITypeLib2; typedef struct ITypeChangeEvents ITypeChangeEvents; typedef struct IErrorInfo IErrorInfo; typedef struct ICreateErrorInfo ICreateErrorInfo; typedef struct ISupportErrorInfo ISupportErrorInfo; typedef struct ITypeFactory ITypeFactory; typedef struct ITypeMarshal ITypeMarshal; typedef struct IRecordInfo IRecordInfo; typedef struct IErrorLog IErrorLog; typedef struct IPropertyBag IPropertyBag; typedef struct ITypeLibRegistrationReader ITypeLibRegistrationReader; typedef struct ITypeLibRegistration ITypeLibRegistration; extern "C"{ #pragma warning(push) #pragma warning(disable:4820) #pragma warning(disable:4201) #pragma once #pragma region Desktop Family or OneCore Family #pragma endregion #pragma region Application Family or OneCore Family #pragma endregion #pragma region Desktop Family or OneCore Family or OneCore Family #pragma endregion #pragma region Application Family or OneCore Family or Games Family extern RPC_IF_HANDLE __MIDL_itf_oaidl_0000_0000_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_oaidl_0000_0000_v0_0_s_ifspec; typedef CY CURRENCY; typedef struct tagSAFEARRAYBOUND { ULONG cElements; LONG lLbound; } SAFEARRAYBOUND; typedef struct tagSAFEARRAYBOUND *LPSAFEARRAYBOUND; typedef struct _wireVARIANT *wireVARIANT; typedef struct _wireBRECORD *wireBRECORD; typedef struct _wireSAFEARR_BSTR { ULONG Size; wireBSTR *aBstr; } SAFEARR_BSTR; typedef struct _wireSAFEARR_UNKNOWN { ULONG Size; IUnknown **apUnknown; } SAFEARR_UNKNOWN; typedef struct _wireSAFEARR_DISPATCH { ULONG Size; IDispatch **apDispatch; } SAFEARR_DISPATCH; typedef struct _wireSAFEARR_VARIANT { ULONG Size; wireVARIANT *aVariant; } SAFEARR_VARIANT; typedef struct _wireSAFEARR_BRECORD { ULONG Size; wireBRECORD *aRecord; } SAFEARR_BRECORD; typedef struct _wireSAFEARR_HAVEIID { ULONG Size; IUnknown **apUnknown; IID iid; } SAFEARR_HAVEIID; typedef enum tagSF_TYPE { SF_ERROR = VT_ERROR, SF_I1 = VT_I1, SF_I2 = VT_I2, SF_I4 = VT_I4, SF_I8 = VT_I8, SF_BSTR = VT_BSTR, SF_UNKNOWN = VT_UNKNOWN, SF_DISPATCH = VT_DISPATCH, SF_VARIANT = VT_VARIANT, SF_RECORD = VT_RECORD, SF_HAVEIID = ( VT_UNKNOWN | VT_RESERVED ) } SF_TYPE; typedef struct _wireSAFEARRAY_UNION { ULONG sfType; union __MIDL_IOleAutomationTypes_0001 { SAFEARR_BSTR BstrStr; SAFEARR_UNKNOWN UnknownStr; SAFEARR_DISPATCH DispatchStr; SAFEARR_VARIANT VariantStr; SAFEARR_BRECORD RecordStr; SAFEARR_HAVEIID HaveIidStr; BYTE_SIZEDARR ByteStr; WORD_SIZEDARR WordStr; DWORD_SIZEDARR LongStr; HYPER_SIZEDARR HyperStr; } u; } SAFEARRAYUNION; typedef struct _wireSAFEARRAY { USHORT cDims; USHORT fFeatures; ULONG cbElements; ULONG cLocks; SAFEARRAYUNION uArrayStructs; SAFEARRAYBOUND rgsabound[ 1 ]; } *wireSAFEARRAY; typedef wireSAFEARRAY *wirePSAFEARRAY; typedef struct tagSAFEARRAY { USHORT cDims; USHORT fFeatures; ULONG cbElements; ULONG cLocks; PVOID pvData; SAFEARRAYBOUND rgsabound[ 1 ]; } SAFEARRAY; typedef SAFEARRAY *LPSAFEARRAY; typedef struct tagVARIANT VARIANT; struct tagVARIANT { union { struct { VARTYPE vt; WORD wReserved1; WORD wReserved2; WORD wReserved3; union { LONGLONG llVal; LONG lVal; BYTE bVal; SHORT iVal; FLOAT fltVal; DOUBLE dblVal; VARIANT_BOOL boolVal; VARIANT_BOOL __OBSOLETE__VARIANT_BOOL; SCODE scode; CY cyVal; DATE date; BSTR bstrVal; IUnknown *punkVal; IDispatch *pdispVal; SAFEARRAY *parray; BYTE *pbVal; SHORT *piVal; LONG *plVal; LONGLONG *pllVal; FLOAT *pfltVal; DOUBLE *pdblVal; VARIANT_BOOL *pboolVal; VARIANT_BOOL *__OBSOLETE__VARIANT_PBOOL; SCODE *pscode; CY *pcyVal; DATE *pdate; BSTR *pbstrVal; IUnknown **ppunkVal; IDispatch **ppdispVal; SAFEARRAY **pparray; VARIANT *pvarVal; PVOID byref; CHAR cVal; USHORT uiVal; ULONG ulVal; ULONGLONG ullVal; INT intVal; UINT uintVal; DECIMAL *pdecVal; CHAR *pcVal; USHORT *puiVal; ULONG *pulVal; ULONGLONG *pullVal; INT *pintVal; UINT *puintVal; struct { PVOID pvRecord; IRecordInfo *pRecInfo; } ; } ; } ; DECIMAL decVal; } ; } ; typedef VARIANT *LPVARIANT; typedef VARIANT VARIANTARG; typedef VARIANT *LPVARIANTARG; struct _wireBRECORD { ULONG fFlags; ULONG clSize; IRecordInfo *pRecInfo; byte *pRecord; } ; struct _wireVARIANT { DWORD clSize; DWORD rpcReserved; USHORT vt; USHORT wReserved1; USHORT wReserved2; USHORT wReserved3; union { LONGLONG llVal; LONG lVal; BYTE bVal; SHORT iVal; FLOAT fltVal; DOUBLE dblVal; VARIANT_BOOL boolVal; SCODE scode; CY cyVal; DATE date; wireBSTR bstrVal; IUnknown *punkVal; IDispatch *pdispVal; wirePSAFEARRAY parray; wireBRECORD brecVal; BYTE *pbVal; SHORT *piVal; LONG *plVal; LONGLONG *pllVal; FLOAT *pfltVal; DOUBLE *pdblVal; VARIANT_BOOL *pboolVal; SCODE *pscode; CY *pcyVal; DATE *pdate; wireBSTR *pbstrVal; IUnknown **ppunkVal; IDispatch **ppdispVal; wirePSAFEARRAY *pparray; wireVARIANT *pvarVal; CHAR cVal; USHORT uiVal; ULONG ulVal; ULONGLONG ullVal; INT intVal; UINT uintVal; DECIMAL decVal; DECIMAL *pdecVal; CHAR *pcVal; USHORT *puiVal; ULONG *pulVal; ULONGLONG *pullVal; INT *pintVal; UINT *puintVal; } ; } ; typedef LONG DISPID; typedef DISPID MEMBERID; typedef DWORD HREFTYPE; typedef enum tagTYPEKIND { TKIND_ENUM = 0, TKIND_RECORD = ( TKIND_ENUM + 1 ) , TKIND_MODULE = ( TKIND_RECORD + 1 ) , TKIND_INTERFACE = ( TKIND_MODULE + 1 ) , TKIND_DISPATCH = ( TKIND_INTERFACE + 1 ) , TKIND_COCLASS = ( TKIND_DISPATCH + 1 ) , TKIND_ALIAS = ( TKIND_COCLASS + 1 ) , TKIND_UNION = ( TKIND_ALIAS + 1 ) , TKIND_MAX = ( TKIND_UNION + 1 ) } TYPEKIND; typedef struct tagTYPEDESC { union { struct tagTYPEDESC *lptdesc; struct tagARRAYDESC *lpadesc; HREFTYPE hreftype; } ; VARTYPE vt; } TYPEDESC; typedef struct tagARRAYDESC { TYPEDESC tdescElem; USHORT cDims; SAFEARRAYBOUND rgbounds[ 1 ]; } ARRAYDESC; typedef struct tagPARAMDESCEX { ULONG cBytes; VARIANTARG varDefaultValue; } PARAMDESCEX; typedef struct tagPARAMDESCEX *LPPARAMDESCEX; typedef struct tagPARAMDESC { LPPARAMDESCEX pparamdescex; USHORT wParamFlags; } PARAMDESC; typedef struct tagPARAMDESC *LPPARAMDESC; typedef struct tagIDLDESC { ULONG_PTR dwReserved; USHORT wIDLFlags; } IDLDESC; typedef struct tagIDLDESC *LPIDLDESC; typedef struct tagELEMDESC { TYPEDESC tdesc; union { IDLDESC idldesc; PARAMDESC paramdesc; } ; } ELEMDESC, * LPELEMDESC; typedef struct tagTYPEATTR { GUID guid; LCID lcid; DWORD dwReserved; MEMBERID memidConstructor; MEMBERID memidDestructor; LPOLESTR lpstrSchema; ULONG cbSizeInstance; TYPEKIND typekind; WORD cFuncs; WORD cVars; WORD cImplTypes; WORD cbSizeVft; WORD cbAlignment; WORD wTypeFlags; WORD wMajorVerNum; WORD wMinorVerNum; TYPEDESC tdescAlias; IDLDESC idldescType; } TYPEATTR; typedef struct tagTYPEATTR *LPTYPEATTR; typedef struct tagDISPPARAMS { VARIANTARG *rgvarg; DISPID *rgdispidNamedArgs; UINT cArgs; UINT cNamedArgs; } DISPPARAMS; typedef struct tagEXCEPINFO { WORD wCode; WORD wReserved; BSTR bstrSource; BSTR bstrDescription; BSTR bstrHelpFile; DWORD dwHelpContext; PVOID pvReserved; HRESULT (__stdcall *pfnDeferredFillIn)(struct tagEXCEPINFO *); SCODE scode; } EXCEPINFO, * LPEXCEPINFO; typedef enum tagCALLCONV { CC_FASTCALL = 0, CC_CDECL = 1, CC_MSCPASCAL = ( CC_CDECL + 1 ) , CC_PASCAL = CC_MSCPASCAL, CC_MACPASCAL = ( CC_PASCAL + 1 ) , CC_STDCALL = ( CC_MACPASCAL + 1 ) , CC_FPFASTCALL = ( CC_STDCALL + 1 ) , CC_SYSCALL = ( CC_FPFASTCALL + 1 ) , CC_MPWCDECL = ( CC_SYSCALL + 1 ) , CC_MPWPASCAL = ( CC_MPWCDECL + 1 ) , CC_MAX = ( CC_MPWPASCAL + 1 ) } CALLCONV; typedef enum tagFUNCKIND { FUNC_VIRTUAL = 0, FUNC_PUREVIRTUAL = ( FUNC_VIRTUAL + 1 ) , FUNC_NONVIRTUAL = ( FUNC_PUREVIRTUAL + 1 ) , FUNC_STATIC = ( FUNC_NONVIRTUAL + 1 ) , FUNC_DISPATCH = ( FUNC_STATIC + 1 ) } FUNCKIND; typedef enum tagINVOKEKIND { INVOKE_FUNC = 1, INVOKE_PROPERTYGET = 2, INVOKE_PROPERTYPUT = 4, INVOKE_PROPERTYPUTREF = 8 } INVOKEKIND; typedef struct tagFUNCDESC { MEMBERID memid; SCODE *lprgscode; ELEMDESC *lprgelemdescParam; FUNCKIND funckind; INVOKEKIND invkind; CALLCONV callconv; SHORT cParams; SHORT cParamsOpt; SHORT oVft; SHORT cScodes; ELEMDESC elemdescFunc; WORD wFuncFlags; } FUNCDESC; typedef struct tagFUNCDESC *LPFUNCDESC; typedef enum tagVARKIND { VAR_PERINSTANCE = 0, VAR_STATIC = ( VAR_PERINSTANCE + 1 ) , VAR_CONST = ( VAR_STATIC + 1 ) , VAR_DISPATCH = ( VAR_CONST + 1 ) } VARKIND; typedef struct tagVARDESC { MEMBERID memid; LPOLESTR lpstrSchema; union { ULONG oInst; VARIANT *lpvarValue; } ; ELEMDESC elemdescVar; WORD wVarFlags; VARKIND varkind; } VARDESC; typedef struct tagVARDESC *LPVARDESC; typedef enum tagTYPEFLAGS { TYPEFLAG_FAPPOBJECT = 0x1, TYPEFLAG_FCANCREATE = 0x2, TYPEFLAG_FLICENSED = 0x4, TYPEFLAG_FPREDECLID = 0x8, TYPEFLAG_FHIDDEN = 0x10, TYPEFLAG_FCONTROL = 0x20, TYPEFLAG_FDUAL = 0x40, TYPEFLAG_FNONEXTENSIBLE = 0x80, TYPEFLAG_FOLEAUTOMATION = 0x100, TYPEFLAG_FRESTRICTED = 0x200, TYPEFLAG_FAGGREGATABLE = 0x400, TYPEFLAG_FREPLACEABLE = 0x800, TYPEFLAG_FDISPATCHABLE = 0x1000, TYPEFLAG_FREVERSEBIND = 0x2000, TYPEFLAG_FPROXY = 0x4000 } TYPEFLAGS; typedef enum tagFUNCFLAGS { FUNCFLAG_FRESTRICTED = 0x1, FUNCFLAG_FSOURCE = 0x2, FUNCFLAG_FBINDABLE = 0x4, FUNCFLAG_FREQUESTEDIT = 0x8, FUNCFLAG_FDISPLAYBIND = 0x10, FUNCFLAG_FDEFAULTBIND = 0x20, FUNCFLAG_FHIDDEN = 0x40, FUNCFLAG_FUSESGETLASTERROR = 0x80, FUNCFLAG_FDEFAULTCOLLELEM = 0x100, FUNCFLAG_FUIDEFAULT = 0x200, FUNCFLAG_FNONBROWSABLE = 0x400, FUNCFLAG_FREPLACEABLE = 0x800, FUNCFLAG_FIMMEDIATEBIND = 0x1000 } FUNCFLAGS; typedef enum tagVARFLAGS { VARFLAG_FREADONLY = 0x1, VARFLAG_FSOURCE = 0x2, VARFLAG_FBINDABLE = 0x4, VARFLAG_FREQUESTEDIT = 0x8, VARFLAG_FDISPLAYBIND = 0x10, VARFLAG_FDEFAULTBIND = 0x20, VARFLAG_FHIDDEN = 0x40, VARFLAG_FRESTRICTED = 0x80, VARFLAG_FDEFAULTCOLLELEM = 0x100, VARFLAG_FUIDEFAULT = 0x200, VARFLAG_FNONBROWSABLE = 0x400, VARFLAG_FREPLACEABLE = 0x800, VARFLAG_FIMMEDIATEBIND = 0x1000 } VARFLAGS; typedef struct tagCLEANLOCALSTORAGE { IUnknown *pInterface; PVOID pStorage; DWORD flags; } CLEANLOCALSTORAGE; typedef struct tagCUSTDATAITEM { GUID guid; VARIANTARG varValue; } CUSTDATAITEM; typedef struct tagCUSTDATAITEM *LPCUSTDATAITEM; typedef struct tagCUSTDATA { DWORD cCustData; LPCUSTDATAITEM prgCustData; } CUSTDATA; typedef struct tagCUSTDATA *LPCUSTDATA; extern RPC_IF_HANDLE IOleAutomationTypes_v1_0_c_ifspec; extern RPC_IF_HANDLE IOleAutomationTypes_v1_0_s_ifspec; #pragma endregion #pragma region Desktop Family or OneCore Family extern RPC_IF_HANDLE __MIDL_itf_oaidl_0000_0001_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_oaidl_0000_0001_v0_0_s_ifspec; typedef ICreateTypeInfo *LPCREATETYPEINFO; extern "C" const IID IID_ICreateTypeInfo; struct __declspec(uuid("00020405-0000-0000-C000-000000000046")) __declspec(novtable) ICreateTypeInfo : public IUnknown { public: virtual HRESULT __stdcall SetGuid( const GUID & guid) = 0; virtual HRESULT __stdcall SetTypeFlags( UINT uTypeFlags) = 0; virtual HRESULT __stdcall SetDocString( LPOLESTR pStrDoc) = 0; virtual HRESULT __stdcall SetHelpContext( DWORD dwHelpContext) = 0; virtual HRESULT __stdcall SetVersion( WORD wMajorVerNum, WORD wMinorVerNum) = 0; virtual HRESULT __stdcall AddRefTypeInfo( ITypeInfo *pTInfo, HREFTYPE *phRefType) = 0; virtual HRESULT __stdcall AddFuncDesc( UINT index, FUNCDESC *pFuncDesc) = 0; virtual HRESULT __stdcall AddImplType( UINT index, HREFTYPE hRefType) = 0; virtual HRESULT __stdcall SetImplTypeFlags( UINT index, INT implTypeFlags) = 0; virtual HRESULT __stdcall SetAlignment( WORD cbAlignment) = 0; virtual HRESULT __stdcall SetSchema( LPOLESTR pStrSchema) = 0; virtual HRESULT __stdcall AddVarDesc( UINT index, VARDESC *pVarDesc) = 0; virtual HRESULT __stdcall SetFuncAndParamNames( UINT index, LPOLESTR *rgszNames, UINT cNames) = 0; virtual HRESULT __stdcall SetVarName( UINT index, LPOLESTR szName) = 0; virtual HRESULT __stdcall SetTypeDescAlias( TYPEDESC *pTDescAlias) = 0; virtual HRESULT __stdcall DefineFuncAsDllEntry( UINT index, LPOLESTR szDllName, LPOLESTR szProcName) = 0; virtual HRESULT __stdcall SetFuncDocString( UINT index, LPOLESTR szDocString) = 0; virtual HRESULT __stdcall SetVarDocString( UINT index, LPOLESTR szDocString) = 0; virtual HRESULT __stdcall SetFuncHelpContext( UINT index, DWORD dwHelpContext) = 0; virtual HRESULT __stdcall SetVarHelpContext( UINT index, DWORD dwHelpContext) = 0; virtual HRESULT __stdcall SetMops( UINT index, BSTR bstrMops) = 0; virtual HRESULT __stdcall SetTypeIdldesc( IDLDESC *pIdlDesc) = 0; virtual HRESULT __stdcall LayOut( void) = 0; }; typedef ICreateTypeInfo2 *LPCREATETYPEINFO2; extern "C" const IID IID_ICreateTypeInfo2; struct __declspec(uuid("0002040E-0000-0000-C000-000000000046")) __declspec(novtable) ICreateTypeInfo2 : public ICreateTypeInfo { public: virtual HRESULT __stdcall DeleteFuncDesc( UINT index) = 0; virtual HRESULT __stdcall DeleteFuncDescByMemId( MEMBERID memid, INVOKEKIND invKind) = 0; virtual HRESULT __stdcall DeleteVarDesc( UINT index) = 0; virtual HRESULT __stdcall DeleteVarDescByMemId( MEMBERID memid) = 0; virtual HRESULT __stdcall DeleteImplType( UINT index) = 0; virtual HRESULT __stdcall SetCustData( const GUID & guid, VARIANT *pVarVal) = 0; virtual HRESULT __stdcall SetFuncCustData( UINT index, const GUID & guid, VARIANT *pVarVal) = 0; virtual HRESULT __stdcall SetParamCustData( UINT indexFunc, UINT indexParam, const GUID & guid, VARIANT *pVarVal) = 0; virtual HRESULT __stdcall SetVarCustData( UINT index, const GUID & guid, VARIANT *pVarVal) = 0; virtual HRESULT __stdcall SetImplTypeCustData( UINT index, const GUID & guid, VARIANT *pVarVal) = 0; virtual HRESULT __stdcall SetHelpStringContext( ULONG dwHelpStringContext) = 0; virtual HRESULT __stdcall SetFuncHelpStringContext( UINT index, ULONG dwHelpStringContext) = 0; virtual HRESULT __stdcall SetVarHelpStringContext( UINT index, ULONG dwHelpStringContext) = 0; virtual HRESULT __stdcall Invalidate( void) = 0; virtual HRESULT __stdcall SetName( LPOLESTR szName) = 0; }; typedef ICreateTypeLib *LPCREATETYPELIB; extern "C" const IID IID_ICreateTypeLib; struct __declspec(uuid("00020406-0000-0000-C000-000000000046")) __declspec(novtable) ICreateTypeLib : public IUnknown { public: virtual HRESULT __stdcall CreateTypeInfo( LPOLESTR szName, TYPEKIND tkind, ICreateTypeInfo **ppCTInfo) = 0; virtual HRESULT __stdcall SetName( LPOLESTR szName) = 0; virtual HRESULT __stdcall SetVersion( WORD wMajorVerNum, WORD wMinorVerNum) = 0; virtual HRESULT __stdcall SetGuid( const GUID & guid) = 0; virtual HRESULT __stdcall SetDocString( LPOLESTR szDoc) = 0; virtual HRESULT __stdcall SetHelpFileName( LPOLESTR szHelpFileName) = 0; virtual HRESULT __stdcall SetHelpContext( DWORD dwHelpContext) = 0; virtual HRESULT __stdcall SetLcid( LCID lcid) = 0; virtual HRESULT __stdcall SetLibFlags( UINT uLibFlags) = 0; virtual HRESULT __stdcall SaveAllChanges( void) = 0; }; typedef ICreateTypeLib2 *LPCREATETYPELIB2; extern "C" const IID IID_ICreateTypeLib2; struct __declspec(uuid("0002040F-0000-0000-C000-000000000046")) __declspec(novtable) ICreateTypeLib2 : public ICreateTypeLib { public: virtual HRESULT __stdcall DeleteTypeInfo( LPOLESTR szName) = 0; virtual HRESULT __stdcall SetCustData( const GUID & guid, VARIANT *pVarVal) = 0; virtual HRESULT __stdcall SetHelpStringContext( ULONG dwHelpStringContext) = 0; virtual HRESULT __stdcall SetHelpStringDll( LPOLESTR szFileName) = 0; }; #pragma endregion #pragma region Application Family or OneCore Family or Games Family extern RPC_IF_HANDLE __MIDL_itf_oaidl_0000_0005_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_oaidl_0000_0005_v0_0_s_ifspec; typedef IDispatch *LPDISPATCH; extern "C" const IID IID_IDispatch; struct __declspec(uuid("00020400-0000-0000-C000-000000000046")) __declspec(novtable) IDispatch : public IUnknown { public: virtual HRESULT __stdcall GetTypeInfoCount( UINT *pctinfo) = 0; virtual HRESULT __stdcall GetTypeInfo( UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo) = 0; virtual HRESULT __stdcall GetIDsOfNames( const IID & riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId) = 0; virtual HRESULT __stdcall Invoke( DISPID dispIdMember, const IID & riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr) = 0; }; HRESULT __stdcall IDispatch_RemoteInvoke_Proxy( IDispatch * This, DISPID dispIdMember, const IID & riid, LCID lcid, DWORD dwFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *pArgErr, UINT cVarRef, UINT *rgVarRefIdx, VARIANTARG *rgVarRef); void __stdcall IDispatch_RemoteInvoke_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); typedef IEnumVARIANT *LPENUMVARIANT; extern "C" const IID IID_IEnumVARIANT; struct __declspec(uuid("00020404-0000-0000-C000-000000000046")) __declspec(novtable) IEnumVARIANT : public IUnknown { public: virtual HRESULT __stdcall Next( ULONG celt, VARIANT *rgVar, ULONG *pCeltFetched) = 0; virtual HRESULT __stdcall Skip( ULONG celt) = 0; virtual HRESULT __stdcall Reset( void) = 0; virtual HRESULT __stdcall Clone( IEnumVARIANT **ppEnum) = 0; }; HRESULT __stdcall IEnumVARIANT_RemoteNext_Proxy( IEnumVARIANT * This, ULONG celt, VARIANT *rgVar, ULONG *pCeltFetched); void __stdcall IEnumVARIANT_RemoteNext_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); typedef ITypeComp *LPTYPECOMP; typedef enum tagDESCKIND { DESCKIND_NONE = 0, DESCKIND_FUNCDESC = ( DESCKIND_NONE + 1 ) , DESCKIND_VARDESC = ( DESCKIND_FUNCDESC + 1 ) , DESCKIND_TYPECOMP = ( DESCKIND_VARDESC + 1 ) , DESCKIND_IMPLICITAPPOBJ = ( DESCKIND_TYPECOMP + 1 ) , DESCKIND_MAX = ( DESCKIND_IMPLICITAPPOBJ + 1 ) } DESCKIND; typedef union tagBINDPTR { FUNCDESC *lpfuncdesc; VARDESC *lpvardesc; ITypeComp *lptcomp; } BINDPTR; typedef union tagBINDPTR *LPBINDPTR; extern "C" const IID IID_ITypeComp; struct __declspec(uuid("00020403-0000-0000-C000-000000000046")) __declspec(novtable) ITypeComp : public IUnknown { public: virtual HRESULT __stdcall Bind( LPOLESTR szName, ULONG lHashVal, WORD wFlags, ITypeInfo **ppTInfo, DESCKIND *pDescKind, BINDPTR *pBindPtr) = 0; virtual HRESULT __stdcall BindType( LPOLESTR szName, ULONG lHashVal, ITypeInfo **ppTInfo, ITypeComp **ppTComp) = 0; }; HRESULT __stdcall ITypeComp_RemoteBind_Proxy( ITypeComp * This, LPOLESTR szName, ULONG lHashVal, WORD wFlags, ITypeInfo **ppTInfo, DESCKIND *pDescKind, LPFUNCDESC *ppFuncDesc, LPVARDESC *ppVarDesc, ITypeComp **ppTypeComp, CLEANLOCALSTORAGE *pDummy); void __stdcall ITypeComp_RemoteBind_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT __stdcall ITypeComp_RemoteBindType_Proxy( ITypeComp * This, LPOLESTR szName, ULONG lHashVal, ITypeInfo **ppTInfo); void __stdcall ITypeComp_RemoteBindType_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); #pragma endregion #pragma region Desktop Family or OneCore Family extern RPC_IF_HANDLE __MIDL_itf_oaidl_0000_0008_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_oaidl_0000_0008_v0_0_s_ifspec; typedef ITypeInfo *LPTYPEINFO; extern "C" const IID IID_ITypeInfo; struct __declspec(uuid("00020401-0000-0000-C000-000000000046")) __declspec(novtable) ITypeInfo : public IUnknown { public: virtual HRESULT __stdcall GetTypeAttr( TYPEATTR **ppTypeAttr) = 0; virtual HRESULT __stdcall GetTypeComp( ITypeComp **ppTComp) = 0; virtual HRESULT __stdcall GetFuncDesc( UINT index, FUNCDESC **ppFuncDesc) = 0; virtual HRESULT __stdcall GetVarDesc( UINT index, VARDESC **ppVarDesc) = 0; virtual HRESULT __stdcall GetNames( MEMBERID memid, BSTR *rgBstrNames, UINT cMaxNames, UINT *pcNames) = 0; virtual HRESULT __stdcall GetRefTypeOfImplType( UINT index, HREFTYPE *pRefType) = 0; virtual HRESULT __stdcall GetImplTypeFlags( UINT index, INT *pImplTypeFlags) = 0; virtual HRESULT __stdcall GetIDsOfNames( LPOLESTR *rgszNames, UINT cNames, MEMBERID *pMemId) = 0; virtual HRESULT __stdcall Invoke( PVOID pvInstance, MEMBERID memid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr) = 0; virtual HRESULT __stdcall GetDocumentation( MEMBERID memid, BSTR *pBstrName, BSTR *pBstrDocString, DWORD *pdwHelpContext, BSTR *pBstrHelpFile) = 0; virtual HRESULT __stdcall GetDllEntry( MEMBERID memid, INVOKEKIND invKind, BSTR *pBstrDllName, BSTR *pBstrName, WORD *pwOrdinal) = 0; virtual HRESULT __stdcall GetRefTypeInfo( HREFTYPE hRefType, ITypeInfo **ppTInfo) = 0; virtual HRESULT __stdcall AddressOfMember( MEMBERID memid, INVOKEKIND invKind, PVOID *ppv) = 0; virtual HRESULT __stdcall CreateInstance( IUnknown *pUnkOuter, const IID & riid, PVOID *ppvObj) = 0; virtual HRESULT __stdcall GetMops( MEMBERID memid, BSTR *pBstrMops) = 0; virtual HRESULT __stdcall GetContainingTypeLib( ITypeLib **ppTLib, UINT *pIndex) = 0; virtual void __stdcall ReleaseTypeAttr( TYPEATTR *pTypeAttr) = 0; virtual void __stdcall ReleaseFuncDesc( FUNCDESC *pFuncDesc) = 0; virtual void __stdcall ReleaseVarDesc( VARDESC *pVarDesc) = 0; }; HRESULT __stdcall ITypeInfo_RemoteGetTypeAttr_Proxy( ITypeInfo * This, LPTYPEATTR *ppTypeAttr, CLEANLOCALSTORAGE *pDummy); void __stdcall ITypeInfo_RemoteGetTypeAttr_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT __stdcall ITypeInfo_RemoteGetFuncDesc_Proxy( ITypeInfo * This, UINT index, LPFUNCDESC *ppFuncDesc, CLEANLOCALSTORAGE *pDummy); void __stdcall ITypeInfo_RemoteGetFuncDesc_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT __stdcall ITypeInfo_RemoteGetVarDesc_Proxy( ITypeInfo * This, UINT index, LPVARDESC *ppVarDesc, CLEANLOCALSTORAGE *pDummy); void __stdcall ITypeInfo_RemoteGetVarDesc_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT __stdcall ITypeInfo_RemoteGetNames_Proxy( ITypeInfo * This, MEMBERID memid, BSTR *rgBstrNames, UINT cMaxNames, UINT *pcNames); void __stdcall ITypeInfo_RemoteGetNames_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT __stdcall ITypeInfo_LocalGetIDsOfNames_Proxy( ITypeInfo * This); void __stdcall ITypeInfo_LocalGetIDsOfNames_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT __stdcall ITypeInfo_LocalInvoke_Proxy( ITypeInfo * This); void __stdcall ITypeInfo_LocalInvoke_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT __stdcall ITypeInfo_RemoteGetDocumentation_Proxy( ITypeInfo * This, MEMBERID memid, DWORD refPtrFlags, BSTR *pBstrName, BSTR *pBstrDocString, DWORD *pdwHelpContext, BSTR *pBstrHelpFile); void __stdcall ITypeInfo_RemoteGetDocumentation_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT __stdcall ITypeInfo_RemoteGetDllEntry_Proxy( ITypeInfo * This, MEMBERID memid, INVOKEKIND invKind, DWORD refPtrFlags, BSTR *pBstrDllName, BSTR *pBstrName, WORD *pwOrdinal); void __stdcall ITypeInfo_RemoteGetDllEntry_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT __stdcall ITypeInfo_LocalAddressOfMember_Proxy( ITypeInfo * This); void __stdcall ITypeInfo_LocalAddressOfMember_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT __stdcall ITypeInfo_RemoteCreateInstance_Proxy( ITypeInfo * This, const IID & riid, IUnknown **ppvObj); void __stdcall ITypeInfo_RemoteCreateInstance_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT __stdcall ITypeInfo_RemoteGetContainingTypeLib_Proxy( ITypeInfo * This, ITypeLib **ppTLib, UINT *pIndex); void __stdcall ITypeInfo_RemoteGetContainingTypeLib_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT __stdcall ITypeInfo_LocalReleaseTypeAttr_Proxy( ITypeInfo * This); void __stdcall ITypeInfo_LocalReleaseTypeAttr_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT __stdcall ITypeInfo_LocalReleaseFuncDesc_Proxy( ITypeInfo * This); void __stdcall ITypeInfo_LocalReleaseFuncDesc_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT __stdcall ITypeInfo_LocalReleaseVarDesc_Proxy( ITypeInfo * This); void __stdcall ITypeInfo_LocalReleaseVarDesc_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); typedef ITypeInfo2 *LPTYPEINFO2; extern "C" const IID IID_ITypeInfo2; struct __declspec(uuid("00020412-0000-0000-C000-000000000046")) __declspec(novtable) ITypeInfo2 : public ITypeInfo { public: virtual HRESULT __stdcall GetTypeKind( TYPEKIND *pTypeKind) = 0; virtual HRESULT __stdcall GetTypeFlags( ULONG *pTypeFlags) = 0; virtual HRESULT __stdcall GetFuncIndexOfMemId( MEMBERID memid, INVOKEKIND invKind, UINT *pFuncIndex) = 0; virtual HRESULT __stdcall GetVarIndexOfMemId( MEMBERID memid, UINT *pVarIndex) = 0; virtual HRESULT __stdcall GetCustData( const GUID & guid, VARIANT *pVarVal) = 0; virtual HRESULT __stdcall GetFuncCustData( UINT index, const GUID & guid, VARIANT *pVarVal) = 0; virtual HRESULT __stdcall GetParamCustData( UINT indexFunc, UINT indexParam, const GUID & guid, VARIANT *pVarVal) = 0; virtual HRESULT __stdcall GetVarCustData( UINT index, const GUID & guid, VARIANT *pVarVal) = 0; virtual HRESULT __stdcall GetImplTypeCustData( UINT index, const GUID & guid, VARIANT *pVarVal) = 0; virtual HRESULT __stdcall GetDocumentation2( MEMBERID memid, LCID lcid, BSTR *pbstrHelpString, DWORD *pdwHelpStringContext, BSTR *pbstrHelpStringDll) = 0; virtual HRESULT __stdcall GetAllCustData( CUSTDATA *pCustData) = 0; virtual HRESULT __stdcall GetAllFuncCustData( UINT index, CUSTDATA *pCustData) = 0; virtual HRESULT __stdcall GetAllParamCustData( UINT indexFunc, UINT indexParam, CUSTDATA *pCustData) = 0; virtual HRESULT __stdcall GetAllVarCustData( UINT index, CUSTDATA *pCustData) = 0; virtual HRESULT __stdcall GetAllImplTypeCustData( UINT index, CUSTDATA *pCustData) = 0; }; HRESULT __stdcall ITypeInfo2_RemoteGetDocumentation2_Proxy( ITypeInfo2 * This, MEMBERID memid, LCID lcid, DWORD refPtrFlags, BSTR *pbstrHelpString, DWORD *pdwHelpStringContext, BSTR *pbstrHelpStringDll); void __stdcall ITypeInfo2_RemoteGetDocumentation2_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); #pragma endregion #pragma region Application Family or OneCore Family or Games Family extern RPC_IF_HANDLE __MIDL_itf_oaidl_0000_0010_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_oaidl_0000_0010_v0_0_s_ifspec; typedef enum tagSYSKIND { SYS_WIN16 = 0, SYS_WIN32 = ( SYS_WIN16 + 1 ) , SYS_MAC = ( SYS_WIN32 + 1 ) , SYS_WIN64 = ( SYS_MAC + 1 ) } SYSKIND; typedef enum tagLIBFLAGS { LIBFLAG_FRESTRICTED = 0x1, LIBFLAG_FCONTROL = 0x2, LIBFLAG_FHIDDEN = 0x4, LIBFLAG_FHASDISKIMAGE = 0x8 } LIBFLAGS; typedef ITypeLib *LPTYPELIB; typedef struct tagTLIBATTR { GUID guid; LCID lcid; SYSKIND syskind; WORD wMajorVerNum; WORD wMinorVerNum; WORD wLibFlags; } TLIBATTR; typedef struct tagTLIBATTR *LPTLIBATTR; extern "C" const IID IID_ITypeLib; struct __declspec(uuid("00020402-0000-0000-C000-000000000046")) __declspec(novtable) ITypeLib : public IUnknown { public: virtual UINT __stdcall GetTypeInfoCount( void) = 0; virtual HRESULT __stdcall GetTypeInfo( UINT index, ITypeInfo **ppTInfo) = 0; virtual HRESULT __stdcall GetTypeInfoType( UINT index, TYPEKIND *pTKind) = 0; virtual HRESULT __stdcall GetTypeInfoOfGuid( const GUID & guid, ITypeInfo **ppTinfo) = 0; virtual HRESULT __stdcall GetLibAttr( TLIBATTR **ppTLibAttr) = 0; virtual HRESULT __stdcall GetTypeComp( ITypeComp **ppTComp) = 0; virtual HRESULT __stdcall GetDocumentation( INT index, BSTR *pBstrName, BSTR *pBstrDocString, DWORD *pdwHelpContext, BSTR *pBstrHelpFile) = 0; virtual HRESULT __stdcall IsName( LPOLESTR szNameBuf, ULONG lHashVal, BOOL *pfName) = 0; virtual HRESULT __stdcall FindName( LPOLESTR szNameBuf, ULONG lHashVal, ITypeInfo **ppTInfo, MEMBERID *rgMemId, USHORT *pcFound) = 0; virtual void __stdcall ReleaseTLibAttr( TLIBATTR *pTLibAttr) = 0; }; HRESULT __stdcall ITypeLib_RemoteGetTypeInfoCount_Proxy( ITypeLib * This, UINT *pcTInfo); void __stdcall ITypeLib_RemoteGetTypeInfoCount_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT __stdcall ITypeLib_RemoteGetLibAttr_Proxy( ITypeLib * This, LPTLIBATTR *ppTLibAttr, CLEANLOCALSTORAGE *pDummy); void __stdcall ITypeLib_RemoteGetLibAttr_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT __stdcall ITypeLib_RemoteGetDocumentation_Proxy( ITypeLib * This, INT index, DWORD refPtrFlags, BSTR *pBstrName, BSTR *pBstrDocString, DWORD *pdwHelpContext, BSTR *pBstrHelpFile); void __stdcall ITypeLib_RemoteGetDocumentation_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT __stdcall ITypeLib_RemoteIsName_Proxy( ITypeLib * This, LPOLESTR szNameBuf, ULONG lHashVal, BOOL *pfName, BSTR *pBstrLibName); void __stdcall ITypeLib_RemoteIsName_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT __stdcall ITypeLib_RemoteFindName_Proxy( ITypeLib * This, LPOLESTR szNameBuf, ULONG lHashVal, ITypeInfo **ppTInfo, MEMBERID *rgMemId, USHORT *pcFound, BSTR *pBstrLibName); void __stdcall ITypeLib_RemoteFindName_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT __stdcall ITypeLib_LocalReleaseTLibAttr_Proxy( ITypeLib * This); void __stdcall ITypeLib_LocalReleaseTLibAttr_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); #pragma endregion #pragma region Desktop Family or OneCore Family or OneCore Family extern RPC_IF_HANDLE __MIDL_itf_oaidl_0000_0011_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_oaidl_0000_0011_v0_0_s_ifspec; typedef ITypeLib2 *LPTYPELIB2; extern "C" const IID IID_ITypeLib2; struct __declspec(uuid("00020411-0000-0000-C000-000000000046")) __declspec(novtable) ITypeLib2 : public ITypeLib { public: virtual HRESULT __stdcall GetCustData( const GUID & guid, VARIANT *pVarVal) = 0; virtual HRESULT __stdcall GetLibStatistics( ULONG *pcUniqueNames, ULONG *pcchUniqueNames) = 0; virtual HRESULT __stdcall GetDocumentation2( INT index, LCID lcid, BSTR *pbstrHelpString, DWORD *pdwHelpStringContext, BSTR *pbstrHelpStringDll) = 0; virtual HRESULT __stdcall GetAllCustData( CUSTDATA *pCustData) = 0; }; HRESULT __stdcall ITypeLib2_RemoteGetLibStatistics_Proxy( ITypeLib2 * This, ULONG *pcUniqueNames, ULONG *pcchUniqueNames); void __stdcall ITypeLib2_RemoteGetLibStatistics_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT __stdcall ITypeLib2_RemoteGetDocumentation2_Proxy( ITypeLib2 * This, INT index, LCID lcid, DWORD refPtrFlags, BSTR *pbstrHelpString, DWORD *pdwHelpStringContext, BSTR *pbstrHelpStringDll); void __stdcall ITypeLib2_RemoteGetDocumentation2_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); typedef ITypeChangeEvents *LPTYPECHANGEEVENTS; typedef enum tagCHANGEKIND { CHANGEKIND_ADDMEMBER = 0, CHANGEKIND_DELETEMEMBER = ( CHANGEKIND_ADDMEMBER + 1 ) , CHANGEKIND_SETNAMES = ( CHANGEKIND_DELETEMEMBER + 1 ) , CHANGEKIND_SETDOCUMENTATION = ( CHANGEKIND_SETNAMES + 1 ) , CHANGEKIND_GENERAL = ( CHANGEKIND_SETDOCUMENTATION + 1 ) , CHANGEKIND_INVALIDATE = ( CHANGEKIND_GENERAL + 1 ) , CHANGEKIND_CHANGEFAILED = ( CHANGEKIND_INVALIDATE + 1 ) , CHANGEKIND_MAX = ( CHANGEKIND_CHANGEFAILED + 1 ) } CHANGEKIND; extern "C" const IID IID_ITypeChangeEvents; struct __declspec(uuid("00020410-0000-0000-C000-000000000046")) __declspec(novtable) ITypeChangeEvents : public IUnknown { public: virtual HRESULT __stdcall RequestTypeChange( CHANGEKIND changeKind, ITypeInfo *pTInfoBefore, LPOLESTR pStrName, INT *pfCancel) = 0; virtual HRESULT __stdcall AfterTypeChange( CHANGEKIND changeKind, ITypeInfo *pTInfoAfter, LPOLESTR pStrName) = 0; }; typedef IErrorInfo *LPERRORINFO; extern "C" const IID IID_IErrorInfo; struct __declspec(uuid("1CF2B120-547D-101B-8E65-08002B2BD119")) __declspec(novtable) IErrorInfo : public IUnknown { public: virtual HRESULT __stdcall GetGUID( GUID *pGUID) = 0; virtual HRESULT __stdcall GetSource( BSTR *pBstrSource) = 0; virtual HRESULT __stdcall GetDescription( BSTR *pBstrDescription) = 0; virtual HRESULT __stdcall GetHelpFile( BSTR *pBstrHelpFile) = 0; virtual HRESULT __stdcall GetHelpContext( DWORD *pdwHelpContext) = 0; }; typedef ICreateErrorInfo *LPCREATEERRORINFO; extern "C" const IID IID_ICreateErrorInfo; struct __declspec(uuid("22F03340-547D-101B-8E65-08002B2BD119")) __declspec(novtable) ICreateErrorInfo : public IUnknown { public: virtual HRESULT __stdcall SetGUID( const GUID & rguid) = 0; virtual HRESULT __stdcall SetSource( LPOLESTR szSource) = 0; virtual HRESULT __stdcall SetDescription( LPOLESTR szDescription) = 0; virtual HRESULT __stdcall SetHelpFile( LPOLESTR szHelpFile) = 0; virtual HRESULT __stdcall SetHelpContext( DWORD dwHelpContext) = 0; }; typedef ISupportErrorInfo *LPSUPPORTERRORINFO; extern "C" const IID IID_ISupportErrorInfo; struct __declspec(uuid("DF0B3D60-548F-101B-8E65-08002B2BD119")) __declspec(novtable) ISupportErrorInfo : public IUnknown { public: virtual HRESULT __stdcall InterfaceSupportsErrorInfo( const IID & riid) = 0; }; extern "C" const IID IID_ITypeFactory; struct __declspec(uuid("0000002E-0000-0000-C000-000000000046")) __declspec(novtable) ITypeFactory : public IUnknown { public: virtual HRESULT __stdcall CreateFromTypeInfo( ITypeInfo *pTypeInfo, const IID & riid, IUnknown **ppv) = 0; }; extern "C" const IID IID_ITypeMarshal; struct __declspec(uuid("0000002D-0000-0000-C000-000000000046")) __declspec(novtable) ITypeMarshal : public IUnknown { public: virtual HRESULT __stdcall Size( PVOID pvType, DWORD dwDestContext, PVOID pvDestContext, ULONG *pSize) = 0; virtual HRESULT __stdcall Marshal( PVOID pvType, DWORD dwDestContext, PVOID pvDestContext, ULONG cbBufferLength, BYTE *pBuffer, ULONG *pcbWritten) = 0; virtual HRESULT __stdcall Unmarshal( PVOID pvType, DWORD dwFlags, ULONG cbBufferLength, BYTE *pBuffer, ULONG *pcbRead) = 0; virtual HRESULT __stdcall Free( PVOID pvType) = 0; }; typedef IRecordInfo *LPRECORDINFO; extern "C" const IID IID_IRecordInfo; struct __declspec(uuid("0000002F-0000-0000-C000-000000000046")) __declspec(novtable) IRecordInfo : public IUnknown { public: virtual HRESULT __stdcall RecordInit( PVOID pvNew) = 0; virtual HRESULT __stdcall RecordClear( PVOID pvExisting) = 0; virtual HRESULT __stdcall RecordCopy( PVOID pvExisting, PVOID pvNew) = 0; virtual HRESULT __stdcall GetGuid( GUID *pguid) = 0; virtual HRESULT __stdcall GetName( BSTR *pbstrName) = 0; virtual HRESULT __stdcall GetSize( ULONG *pcbSize) = 0; virtual HRESULT __stdcall GetTypeInfo( ITypeInfo **ppTypeInfo) = 0; virtual HRESULT __stdcall GetField( PVOID pvData, LPCOLESTR szFieldName, VARIANT *pvarField) = 0; virtual HRESULT __stdcall GetFieldNoCopy( PVOID pvData, LPCOLESTR szFieldName, VARIANT *pvarField, PVOID *ppvDataCArray) = 0; virtual HRESULT __stdcall PutField( ULONG wFlags, PVOID pvData, LPCOLESTR szFieldName, VARIANT *pvarField) = 0; virtual HRESULT __stdcall PutFieldNoCopy( ULONG wFlags, PVOID pvData, LPCOLESTR szFieldName, VARIANT *pvarField) = 0; virtual HRESULT __stdcall GetFieldNames( ULONG *pcNames, BSTR *rgBstrNames) = 0; virtual BOOL __stdcall IsMatchingType( IRecordInfo *pRecordInfo) = 0; virtual PVOID __stdcall RecordCreate( void) = 0; virtual HRESULT __stdcall RecordCreateCopy( PVOID pvSource, PVOID *ppvDest) = 0; virtual HRESULT __stdcall RecordDestroy( PVOID pvRecord) = 0; }; typedef IErrorLog *LPERRORLOG; extern "C" const IID IID_IErrorLog; struct __declspec(uuid("3127CA40-446E-11CE-8135-00AA004BB851")) __declspec(novtable) IErrorLog : public IUnknown { public: virtual HRESULT __stdcall AddError( LPCOLESTR pszPropName, EXCEPINFO *pExcepInfo) = 0; }; typedef IPropertyBag *LPPROPERTYBAG; extern "C" const IID IID_IPropertyBag; struct __declspec(uuid("55272A00-42CB-11CE-8135-00AA004BB851")) __declspec(novtable) IPropertyBag : public IUnknown { public: virtual HRESULT __stdcall Read( LPCOLESTR pszPropName, VARIANT *pVar, IErrorLog *pErrorLog) = 0; virtual HRESULT __stdcall Write( LPCOLESTR pszPropName, VARIANT *pVar) = 0; }; HRESULT __stdcall IPropertyBag_RemoteRead_Proxy( IPropertyBag * This, LPCOLESTR pszPropName, VARIANT *pVar, IErrorLog *pErrorLog, DWORD varType, IUnknown *pUnkObj); void __stdcall IPropertyBag_RemoteRead_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); extern "C" const IID IID_ITypeLibRegistrationReader; struct __declspec(uuid("ED6A8A2A-B160-4E77-8F73-AA7435CD5C27")) __declspec(novtable) ITypeLibRegistrationReader : public IUnknown { public: virtual HRESULT __stdcall EnumTypeLibRegistrations( IEnumUnknown **ppEnumUnknown) = 0; }; extern "C" const IID IID_ITypeLibRegistration; struct __declspec(uuid("76A3E735-02DF-4A12-98EB-043AD3600AF3")) __declspec(novtable) ITypeLibRegistration : public IUnknown { public: virtual HRESULT __stdcall GetGuid( GUID *pGuid) = 0; virtual HRESULT __stdcall GetVersion( BSTR *pVersion) = 0; virtual HRESULT __stdcall GetLcid( LCID *pLcid) = 0; virtual HRESULT __stdcall GetWin32Path( BSTR *pWin32Path) = 0; virtual HRESULT __stdcall GetWin64Path( BSTR *pWin64Path) = 0; virtual HRESULT __stdcall GetDisplayName( BSTR *pDisplayName) = 0; virtual HRESULT __stdcall GetFlags( DWORD *pFlags) = 0; virtual HRESULT __stdcall GetHelpDir( BSTR *pHelpDir) = 0; }; extern "C" const CLSID CLSID_TypeLibRegistrationReader; #pragma endregion #pragma warning(pop) extern RPC_IF_HANDLE __MIDL_itf_oaidl_0000_0023_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_oaidl_0000_0023_v0_0_s_ifspec; unsigned long __stdcall BSTR_UserSize( unsigned long *, unsigned long , BSTR * ); unsigned char * __stdcall BSTR_UserMarshal( unsigned long *, unsigned char *, BSTR * ); unsigned char * __stdcall BSTR_UserUnmarshal( unsigned long *, unsigned char *, BSTR * ); void __stdcall BSTR_UserFree( unsigned long *, BSTR * ); unsigned long __stdcall CLEANLOCALSTORAGE_UserSize( unsigned long *, unsigned long , CLEANLOCALSTORAGE * ); unsigned char * __stdcall CLEANLOCALSTORAGE_UserMarshal( unsigned long *, unsigned char *, CLEANLOCALSTORAGE * ); unsigned char * __stdcall CLEANLOCALSTORAGE_UserUnmarshal( unsigned long *, unsigned char *, CLEANLOCALSTORAGE * ); void __stdcall CLEANLOCALSTORAGE_UserFree( unsigned long *, CLEANLOCALSTORAGE * ); unsigned long __stdcall VARIANT_UserSize( unsigned long *, unsigned long , VARIANT * ); unsigned char * __stdcall VARIANT_UserMarshal( unsigned long *, unsigned char *, VARIANT * ); unsigned char * __stdcall VARIANT_UserUnmarshal( unsigned long *, unsigned char *, VARIANT * ); void __stdcall VARIANT_UserFree( unsigned long *, VARIANT * ); unsigned long __stdcall BSTR_UserSize64( unsigned long *, unsigned long , BSTR * ); unsigned char * __stdcall BSTR_UserMarshal64( unsigned long *, unsigned char *, BSTR * ); unsigned char * __stdcall BSTR_UserUnmarshal64( unsigned long *, unsigned char *, BSTR * ); void __stdcall BSTR_UserFree64( unsigned long *, BSTR * ); unsigned long __stdcall CLEANLOCALSTORAGE_UserSize64( unsigned long *, unsigned long , CLEANLOCALSTORAGE * ); unsigned char * __stdcall CLEANLOCALSTORAGE_UserMarshal64( unsigned long *, unsigned char *, CLEANLOCALSTORAGE * ); unsigned char * __stdcall CLEANLOCALSTORAGE_UserUnmarshal64( unsigned long *, unsigned char *, CLEANLOCALSTORAGE * ); void __stdcall CLEANLOCALSTORAGE_UserFree64( unsigned long *, CLEANLOCALSTORAGE * ); unsigned long __stdcall VARIANT_UserSize64( unsigned long *, unsigned long , VARIANT * ); unsigned char * __stdcall VARIANT_UserMarshal64( unsigned long *, unsigned char *, VARIANT * ); unsigned char * __stdcall VARIANT_UserUnmarshal64( unsigned long *, unsigned char *, VARIANT * ); void __stdcall VARIANT_UserFree64( unsigned long *, VARIANT * ); HRESULT __stdcall IDispatch_Invoke_Proxy( IDispatch * This, DISPID dispIdMember, const IID & riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr); HRESULT __stdcall IDispatch_Invoke_Stub( IDispatch * This, DISPID dispIdMember, const IID & riid, LCID lcid, DWORD dwFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *pArgErr, UINT cVarRef, UINT *rgVarRefIdx, VARIANTARG *rgVarRef); HRESULT __stdcall IEnumVARIANT_Next_Proxy( IEnumVARIANT * This, ULONG celt, VARIANT *rgVar, ULONG *pCeltFetched); HRESULT __stdcall IEnumVARIANT_Next_Stub( IEnumVARIANT * This, ULONG celt, VARIANT *rgVar, ULONG *pCeltFetched); HRESULT __stdcall ITypeComp_Bind_Proxy( ITypeComp * This, LPOLESTR szName, ULONG lHashVal, WORD wFlags, ITypeInfo **ppTInfo, DESCKIND *pDescKind, BINDPTR *pBindPtr); HRESULT __stdcall ITypeComp_Bind_Stub( ITypeComp * This, LPOLESTR szName, ULONG lHashVal, WORD wFlags, ITypeInfo **ppTInfo, DESCKIND *pDescKind, LPFUNCDESC *ppFuncDesc, LPVARDESC *ppVarDesc, ITypeComp **ppTypeComp, CLEANLOCALSTORAGE *pDummy); HRESULT __stdcall ITypeComp_BindType_Proxy( ITypeComp * This, LPOLESTR szName, ULONG lHashVal, ITypeInfo **ppTInfo, ITypeComp **ppTComp); HRESULT __stdcall ITypeComp_BindType_Stub( ITypeComp * This, LPOLESTR szName, ULONG lHashVal, ITypeInfo **ppTInfo); HRESULT __stdcall ITypeInfo_GetTypeAttr_Proxy( ITypeInfo * This, TYPEATTR **ppTypeAttr); HRESULT __stdcall ITypeInfo_GetTypeAttr_Stub( ITypeInfo * This, LPTYPEATTR *ppTypeAttr, CLEANLOCALSTORAGE *pDummy); HRESULT __stdcall ITypeInfo_GetFuncDesc_Proxy( ITypeInfo * This, UINT index, FUNCDESC **ppFuncDesc); HRESULT __stdcall ITypeInfo_GetFuncDesc_Stub( ITypeInfo * This, UINT index, LPFUNCDESC *ppFuncDesc, CLEANLOCALSTORAGE *pDummy); HRESULT __stdcall ITypeInfo_GetVarDesc_Proxy( ITypeInfo * This, UINT index, VARDESC **ppVarDesc); HRESULT __stdcall ITypeInfo_GetVarDesc_Stub( ITypeInfo * This, UINT index, LPVARDESC *ppVarDesc, CLEANLOCALSTORAGE *pDummy); HRESULT __stdcall ITypeInfo_GetNames_Proxy( ITypeInfo * This, MEMBERID memid, BSTR *rgBstrNames, UINT cMaxNames, UINT *pcNames); HRESULT __stdcall ITypeInfo_GetNames_Stub( ITypeInfo * This, MEMBERID memid, BSTR *rgBstrNames, UINT cMaxNames, UINT *pcNames); HRESULT __stdcall ITypeInfo_GetIDsOfNames_Proxy( ITypeInfo * This, LPOLESTR *rgszNames, UINT cNames, MEMBERID *pMemId); HRESULT __stdcall ITypeInfo_GetIDsOfNames_Stub( ITypeInfo * This); HRESULT __stdcall ITypeInfo_Invoke_Proxy( ITypeInfo * This, PVOID pvInstance, MEMBERID memid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr); HRESULT __stdcall ITypeInfo_Invoke_Stub( ITypeInfo * This); HRESULT __stdcall ITypeInfo_GetDocumentation_Proxy( ITypeInfo * This, MEMBERID memid, BSTR *pBstrName, BSTR *pBstrDocString, DWORD *pdwHelpContext, BSTR *pBstrHelpFile); HRESULT __stdcall ITypeInfo_GetDocumentation_Stub( ITypeInfo * This, MEMBERID memid, DWORD refPtrFlags, BSTR *pBstrName, BSTR *pBstrDocString, DWORD *pdwHelpContext, BSTR *pBstrHelpFile); HRESULT __stdcall ITypeInfo_GetDllEntry_Proxy( ITypeInfo * This, MEMBERID memid, INVOKEKIND invKind, BSTR *pBstrDllName, BSTR *pBstrName, WORD *pwOrdinal); HRESULT __stdcall ITypeInfo_GetDllEntry_Stub( ITypeInfo * This, MEMBERID memid, INVOKEKIND invKind, DWORD refPtrFlags, BSTR *pBstrDllName, BSTR *pBstrName, WORD *pwOrdinal); HRESULT __stdcall ITypeInfo_AddressOfMember_Proxy( ITypeInfo * This, MEMBERID memid, INVOKEKIND invKind, PVOID *ppv); HRESULT __stdcall ITypeInfo_AddressOfMember_Stub( ITypeInfo * This); HRESULT __stdcall ITypeInfo_CreateInstance_Proxy( ITypeInfo * This, IUnknown *pUnkOuter, const IID & riid, PVOID *ppvObj); HRESULT __stdcall ITypeInfo_CreateInstance_Stub( ITypeInfo * This, const IID & riid, IUnknown **ppvObj); HRESULT __stdcall ITypeInfo_GetContainingTypeLib_Proxy( ITypeInfo * This, ITypeLib **ppTLib, UINT *pIndex); HRESULT __stdcall ITypeInfo_GetContainingTypeLib_Stub( ITypeInfo * This, ITypeLib **ppTLib, UINT *pIndex); void __stdcall ITypeInfo_ReleaseTypeAttr_Proxy( ITypeInfo * This, TYPEATTR *pTypeAttr); HRESULT __stdcall ITypeInfo_ReleaseTypeAttr_Stub( ITypeInfo * This); void __stdcall ITypeInfo_ReleaseFuncDesc_Proxy( ITypeInfo * This, FUNCDESC *pFuncDesc); HRESULT __stdcall ITypeInfo_ReleaseFuncDesc_Stub( ITypeInfo * This); void __stdcall ITypeInfo_ReleaseVarDesc_Proxy( ITypeInfo * This, VARDESC *pVarDesc); HRESULT __stdcall ITypeInfo_ReleaseVarDesc_Stub( ITypeInfo * This); HRESULT __stdcall ITypeInfo2_GetDocumentation2_Proxy( ITypeInfo2 * This, MEMBERID memid, LCID lcid, BSTR *pbstrHelpString, DWORD *pdwHelpStringContext, BSTR *pbstrHelpStringDll); HRESULT __stdcall ITypeInfo2_GetDocumentation2_Stub( ITypeInfo2 * This, MEMBERID memid, LCID lcid, DWORD refPtrFlags, BSTR *pbstrHelpString, DWORD *pdwHelpStringContext, BSTR *pbstrHelpStringDll); UINT __stdcall ITypeLib_GetTypeInfoCount_Proxy( ITypeLib * This); HRESULT __stdcall ITypeLib_GetTypeInfoCount_Stub( ITypeLib * This, UINT *pcTInfo); HRESULT __stdcall ITypeLib_GetLibAttr_Proxy( ITypeLib * This, TLIBATTR **ppTLibAttr); HRESULT __stdcall ITypeLib_GetLibAttr_Stub( ITypeLib * This, LPTLIBATTR *ppTLibAttr, CLEANLOCALSTORAGE *pDummy); HRESULT __stdcall ITypeLib_GetDocumentation_Proxy( ITypeLib * This, INT index, BSTR *pBstrName, BSTR *pBstrDocString, DWORD *pdwHelpContext, BSTR *pBstrHelpFile); HRESULT __stdcall ITypeLib_GetDocumentation_Stub( ITypeLib * This, INT index, DWORD refPtrFlags, BSTR *pBstrName, BSTR *pBstrDocString, DWORD *pdwHelpContext, BSTR *pBstrHelpFile); HRESULT __stdcall ITypeLib_IsName_Proxy( ITypeLib * This, LPOLESTR szNameBuf, ULONG lHashVal, BOOL *pfName); HRESULT __stdcall ITypeLib_IsName_Stub( ITypeLib * This, LPOLESTR szNameBuf, ULONG lHashVal, BOOL *pfName, BSTR *pBstrLibName); HRESULT __stdcall ITypeLib_FindName_Proxy( ITypeLib * This, LPOLESTR szNameBuf, ULONG lHashVal, ITypeInfo **ppTInfo, MEMBERID *rgMemId, USHORT *pcFound); HRESULT __stdcall ITypeLib_FindName_Stub( ITypeLib * This, LPOLESTR szNameBuf, ULONG lHashVal, ITypeInfo **ppTInfo, MEMBERID *rgMemId, USHORT *pcFound, BSTR *pBstrLibName); void __stdcall ITypeLib_ReleaseTLibAttr_Proxy( ITypeLib * This, TLIBATTR *pTLibAttr); HRESULT __stdcall ITypeLib_ReleaseTLibAttr_Stub( ITypeLib * This); HRESULT __stdcall ITypeLib2_GetLibStatistics_Proxy( ITypeLib2 * This, ULONG *pcUniqueNames, ULONG *pcchUniqueNames); HRESULT __stdcall ITypeLib2_GetLibStatistics_Stub( ITypeLib2 * This, ULONG *pcUniqueNames, ULONG *pcchUniqueNames); HRESULT __stdcall ITypeLib2_GetDocumentation2_Proxy( ITypeLib2 * This, INT index, LCID lcid, BSTR *pbstrHelpString, DWORD *pdwHelpStringContext, BSTR *pbstrHelpStringDll); HRESULT __stdcall ITypeLib2_GetDocumentation2_Stub( ITypeLib2 * This, INT index, LCID lcid, DWORD refPtrFlags, BSTR *pbstrHelpString, DWORD *pdwHelpStringContext, BSTR *pbstrHelpStringDll); HRESULT __stdcall IPropertyBag_Read_Proxy( IPropertyBag * This, LPCOLESTR pszPropName, VARIANT *pVar, IErrorLog *pErrorLog); HRESULT __stdcall IPropertyBag_Read_Stub( IPropertyBag * This, LPCOLESTR pszPropName, VARIANT *pVar, IErrorLog *pErrorLog, DWORD varType, IUnknown *pUnkObj); } extern "C"{ #pragma warning(push) #pragma warning(disable:4820) #pragma warning(disable:4201) #pragma warning(disable:4237) #pragma once #pragma region Application Family or OneCore Family or Games Family typedef struct tagVersionedStream { GUID guidVersion; IStream *pStream; } VERSIONEDSTREAM; typedef struct tagVersionedStream *LPVERSIONEDSTREAM; typedef struct tagPROPVARIANT PROPVARIANT; typedef struct tagCAC { ULONG cElems; CHAR *pElems; } CAC; typedef struct tagCAUB { ULONG cElems; UCHAR *pElems; } CAUB; typedef struct tagCAI { ULONG cElems; SHORT *pElems; } CAI; typedef struct tagCAUI { ULONG cElems; USHORT *pElems; } CAUI; typedef struct tagCAL { ULONG cElems; LONG *pElems; } CAL; typedef struct tagCAUL { ULONG cElems; ULONG *pElems; } CAUL; typedef struct tagCAFLT { ULONG cElems; FLOAT *pElems; } CAFLT; typedef struct tagCADBL { ULONG cElems; DOUBLE *pElems; } CADBL; typedef struct tagCACY { ULONG cElems; CY *pElems; } CACY; typedef struct tagCADATE { ULONG cElems; DATE *pElems; } CADATE; typedef struct tagCABSTR { ULONG cElems; BSTR *pElems; } CABSTR; typedef struct tagCABSTRBLOB { ULONG cElems; BSTRBLOB *pElems; } CABSTRBLOB; typedef struct tagCABOOL { ULONG cElems; VARIANT_BOOL *pElems; } CABOOL; typedef struct tagCASCODE { ULONG cElems; SCODE *pElems; } CASCODE; typedef struct tagCAPROPVARIANT { ULONG cElems; PROPVARIANT *pElems; } CAPROPVARIANT; typedef struct tagCAH { ULONG cElems; LARGE_INTEGER *pElems; } CAH; typedef struct tagCAUH { ULONG cElems; ULARGE_INTEGER *pElems; } CAUH; typedef struct tagCALPSTR { ULONG cElems; LPSTR *pElems; } CALPSTR; typedef struct tagCALPWSTR { ULONG cElems; LPWSTR *pElems; } CALPWSTR; typedef struct tagCAFILETIME { ULONG cElems; FILETIME *pElems; } CAFILETIME; typedef struct tagCACLIPDATA { ULONG cElems; CLIPDATA *pElems; } CACLIPDATA; typedef struct tagCACLSID { ULONG cElems; CLSID *pElems; } CACLSID; typedef WORD PROPVAR_PAD1; typedef WORD PROPVAR_PAD2; typedef WORD PROPVAR_PAD3; struct tagPROPVARIANT { union { struct { VARTYPE vt; PROPVAR_PAD1 wReserved1; PROPVAR_PAD2 wReserved2; PROPVAR_PAD3 wReserved3; union { CHAR cVal; UCHAR bVal; SHORT iVal; USHORT uiVal; LONG lVal; ULONG ulVal; INT intVal; UINT uintVal; LARGE_INTEGER hVal; ULARGE_INTEGER uhVal; FLOAT fltVal; DOUBLE dblVal; VARIANT_BOOL boolVal; VARIANT_BOOL __OBSOLETE__VARIANT_BOOL; SCODE scode; CY cyVal; DATE date; FILETIME filetime; CLSID *puuid; CLIPDATA *pclipdata; BSTR bstrVal; BSTRBLOB bstrblobVal; BLOB blob; LPSTR pszVal; LPWSTR pwszVal; IUnknown *punkVal; IDispatch *pdispVal; IStream *pStream; IStorage *pStorage; LPVERSIONEDSTREAM pVersionedStream; LPSAFEARRAY parray; CAC cac; CAUB caub; CAI cai; CAUI caui; CAL cal; CAUL caul; CAH cah; CAUH cauh; CAFLT caflt; CADBL cadbl; CABOOL cabool; CASCODE cascode; CACY cacy; CADATE cadate; CAFILETIME cafiletime; CACLSID cauuid; CACLIPDATA caclipdata; CABSTR cabstr; CABSTRBLOB cabstrblob; CALPSTR calpstr; CALPWSTR calpwstr; CAPROPVARIANT capropvar; CHAR *pcVal; UCHAR *pbVal; SHORT *piVal; USHORT *puiVal; LONG *plVal; ULONG *pulVal; INT *pintVal; UINT *puintVal; FLOAT *pfltVal; DOUBLE *pdblVal; VARIANT_BOOL *pboolVal; DECIMAL *pdecVal; SCODE *pscode; CY *pcyVal; DATE *pdate; BSTR *pbstrVal; IUnknown **ppunkVal; IDispatch **ppdispVal; LPSAFEARRAY *pparray; PROPVARIANT *pvarVal; } ; } ; DECIMAL decVal; }; }; typedef struct tagPROPVARIANT * LPPROPVARIANT; typedef struct tagPROPSPEC { ULONG ulKind; union { PROPID propid; LPOLESTR lpwstr; } ; } PROPSPEC; typedef struct tagSTATPROPSTG { LPOLESTR lpwstrName; PROPID propid; VARTYPE vt; } STATPROPSTG; typedef struct tagSTATPROPSETSTG { FMTID fmtid; CLSID clsid; DWORD grfFlags; FILETIME mtime; FILETIME ctime; FILETIME atime; DWORD dwOSVersion; } STATPROPSETSTG; extern RPC_IF_HANDLE __MIDL_itf_propidlbase_0000_0000_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_propidlbase_0000_0000_v0_0_s_ifspec; extern "C" const IID IID_IPropertyStorage; struct __declspec(uuid("00000138-0000-0000-C000-000000000046")) __declspec(novtable) IPropertyStorage : public IUnknown { public: virtual HRESULT __stdcall ReadMultiple( ULONG cpspec, const PROPSPEC rgpspec[ ], PROPVARIANT rgpropvar[ ]) = 0; virtual HRESULT __stdcall WriteMultiple( ULONG cpspec, const PROPSPEC rgpspec[ ], const PROPVARIANT rgpropvar[ ], PROPID propidNameFirst) = 0; virtual HRESULT __stdcall DeleteMultiple( ULONG cpspec, const PROPSPEC rgpspec[ ]) = 0; virtual HRESULT __stdcall ReadPropertyNames( ULONG cpropid, const PROPID rgpropid[ ], LPOLESTR rglpwstrName[ ]) = 0; virtual HRESULT __stdcall WritePropertyNames( ULONG cpropid, const PROPID rgpropid[ ], const LPOLESTR rglpwstrName[ ]) = 0; virtual HRESULT __stdcall DeletePropertyNames( ULONG cpropid, const PROPID rgpropid[ ]) = 0; virtual HRESULT __stdcall Commit( DWORD grfCommitFlags) = 0; virtual HRESULT __stdcall Revert( void) = 0; virtual HRESULT __stdcall Enum( IEnumSTATPROPSTG **ppenum) = 0; virtual HRESULT __stdcall SetTimes( const FILETIME *pctime, const FILETIME *patime, const FILETIME *pmtime) = 0; virtual HRESULT __stdcall SetClass( const IID & clsid) = 0; virtual HRESULT __stdcall Stat( STATPROPSETSTG *pstatpsstg) = 0; }; typedef IPropertySetStorage *LPPROPERTYSETSTORAGE; extern "C" const IID IID_IPropertySetStorage; struct __declspec(uuid("0000013A-0000-0000-C000-000000000046")) __declspec(novtable) IPropertySetStorage : public IUnknown { public: virtual HRESULT __stdcall Create( const IID & rfmtid, const CLSID *pclsid, DWORD grfFlags, DWORD grfMode, IPropertyStorage **ppprstg) = 0; virtual HRESULT __stdcall Open( const IID & rfmtid, DWORD grfMode, IPropertyStorage **ppprstg) = 0; virtual HRESULT __stdcall Delete( const IID & rfmtid) = 0; virtual HRESULT __stdcall Enum( IEnumSTATPROPSETSTG **ppenum) = 0; }; typedef IEnumSTATPROPSTG *LPENUMSTATPROPSTG; extern "C" const IID IID_IEnumSTATPROPSTG; struct __declspec(uuid("00000139-0000-0000-C000-000000000046")) __declspec(novtable) IEnumSTATPROPSTG : public IUnknown { public: virtual HRESULT __stdcall Next( ULONG celt, STATPROPSTG *rgelt, ULONG *pceltFetched) = 0; virtual HRESULT __stdcall Skip( ULONG celt) = 0; virtual HRESULT __stdcall Reset( void) = 0; virtual HRESULT __stdcall Clone( IEnumSTATPROPSTG **ppenum) = 0; }; HRESULT __stdcall IEnumSTATPROPSTG_RemoteNext_Proxy( IEnumSTATPROPSTG * This, ULONG celt, STATPROPSTG *rgelt, ULONG *pceltFetched); void __stdcall IEnumSTATPROPSTG_RemoteNext_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); typedef IEnumSTATPROPSETSTG *LPENUMSTATPROPSETSTG; extern "C" const IID IID_IEnumSTATPROPSETSTG; struct __declspec(uuid("0000013B-0000-0000-C000-000000000046")) __declspec(novtable) IEnumSTATPROPSETSTG : public IUnknown { public: virtual HRESULT __stdcall Next( ULONG celt, STATPROPSETSTG *rgelt, ULONG *pceltFetched) = 0; virtual HRESULT __stdcall Skip( ULONG celt) = 0; virtual HRESULT __stdcall Reset( void) = 0; virtual HRESULT __stdcall Clone( IEnumSTATPROPSETSTG **ppenum) = 0; }; HRESULT __stdcall IEnumSTATPROPSETSTG_RemoteNext_Proxy( IEnumSTATPROPSETSTG * This, ULONG celt, STATPROPSETSTG *rgelt, ULONG *pceltFetched); void __stdcall IEnumSTATPROPSETSTG_RemoteNext_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); typedef IPropertyStorage *LPPROPERTYSTORAGE; #pragma endregion #pragma warning(pop) extern RPC_IF_HANDLE __MIDL_itf_propidlbase_0000_0004_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_propidlbase_0000_0004_v0_0_s_ifspec; unsigned long __stdcall BSTR_UserSize( unsigned long *, unsigned long , BSTR * ); unsigned char * __stdcall BSTR_UserMarshal( unsigned long *, unsigned char *, BSTR * ); unsigned char * __stdcall BSTR_UserUnmarshal( unsigned long *, unsigned char *, BSTR * ); void __stdcall BSTR_UserFree( unsigned long *, BSTR * ); unsigned long __stdcall LPSAFEARRAY_UserSize( unsigned long *, unsigned long , LPSAFEARRAY * ); unsigned char * __stdcall LPSAFEARRAY_UserMarshal( unsigned long *, unsigned char *, LPSAFEARRAY * ); unsigned char * __stdcall LPSAFEARRAY_UserUnmarshal( unsigned long *, unsigned char *, LPSAFEARRAY * ); void __stdcall LPSAFEARRAY_UserFree( unsigned long *, LPSAFEARRAY * ); unsigned long __stdcall BSTR_UserSize64( unsigned long *, unsigned long , BSTR * ); unsigned char * __stdcall BSTR_UserMarshal64( unsigned long *, unsigned char *, BSTR * ); unsigned char * __stdcall BSTR_UserUnmarshal64( unsigned long *, unsigned char *, BSTR * ); void __stdcall BSTR_UserFree64( unsigned long *, BSTR * ); unsigned long __stdcall LPSAFEARRAY_UserSize64( unsigned long *, unsigned long , LPSAFEARRAY * ); unsigned char * __stdcall LPSAFEARRAY_UserMarshal64( unsigned long *, unsigned char *, LPSAFEARRAY * ); unsigned char * __stdcall LPSAFEARRAY_UserUnmarshal64( unsigned long *, unsigned char *, LPSAFEARRAY * ); void __stdcall LPSAFEARRAY_UserFree64( unsigned long *, LPSAFEARRAY * ); HRESULT __stdcall IEnumSTATPROPSTG_Next_Proxy( IEnumSTATPROPSTG * This, ULONG celt, STATPROPSTG *rgelt, ULONG *pceltFetched); HRESULT __stdcall IEnumSTATPROPSTG_Next_Stub( IEnumSTATPROPSTG * This, ULONG celt, STATPROPSTG *rgelt, ULONG *pceltFetched); HRESULT __stdcall IEnumSTATPROPSETSTG_Next_Proxy( IEnumSTATPROPSETSTG * This, ULONG celt, STATPROPSETSTG *rgelt, ULONG *pceltFetched); HRESULT __stdcall IEnumSTATPROPSETSTG_Next_Stub( IEnumSTATPROPSETSTG * This, ULONG celt, STATPROPSETSTG *rgelt, ULONG *pceltFetched); } #pragma region Application and Games Family typedef DWORD STGFMT; #pragma endregion #pragma region Application Family extern "C" __declspec(dllimport) HRESULT __stdcall StgCreateDocfile( const WCHAR* pwcsName, DWORD grfMode, DWORD reserved, IStorage** ppstgOpen ); extern "C" __declspec(dllimport) HRESULT __stdcall StgCreateDocfileOnILockBytes( ILockBytes* plkbyt, DWORD grfMode, DWORD reserved, IStorage** ppstgOpen ); extern "C" __declspec(dllimport) HRESULT __stdcall StgOpenStorage( const WCHAR* pwcsName, IStorage* pstgPriority, DWORD grfMode, SNB snbExclude, DWORD reserved, IStorage** ppstgOpen ); extern "C" __declspec(dllimport) HRESULT __stdcall StgOpenStorageOnILockBytes( ILockBytes* plkbyt, IStorage* pstgPriority, DWORD grfMode, SNB snbExclude, DWORD reserved, IStorage** ppstgOpen ); extern "C" __declspec(dllimport) HRESULT __stdcall StgIsStorageFile( const WCHAR* pwcsName ); extern "C" __declspec(dllimport) HRESULT __stdcall StgIsStorageILockBytes( ILockBytes* plkbyt ); extern "C" __declspec(dllimport) HRESULT __stdcall StgSetTimes( const WCHAR* lpszName, const FILETIME* pctime, const FILETIME* patime, const FILETIME* pmtime ); typedef struct tagSTGOPTIONS { USHORT usVersion; USHORT reserved; ULONG ulSectorSize; const WCHAR *pwcsTemplateFile; } STGOPTIONS; extern "C" __declspec(dllimport) HRESULT __stdcall StgCreateStorageEx( const WCHAR* pwcsName, DWORD grfMode, DWORD stgfmt, DWORD grfAttrs, STGOPTIONS* pStgOptions, PSECURITY_DESCRIPTOR pSecurityDescriptor, const IID & riid, void** ppObjectOpen ); extern "C" __declspec(dllimport) HRESULT __stdcall StgOpenStorageEx( const WCHAR* pwcsName, DWORD grfMode, DWORD stgfmt, DWORD grfAttrs, STGOPTIONS* pStgOptions, PSECURITY_DESCRIPTOR pSecurityDescriptor, const IID & riid, void** ppObjectOpen ); extern "C" __declspec(dllimport) HRESULT __stdcall StgCreatePropStg( IUnknown* pUnk, const IID & fmtid, const CLSID* pclsid, DWORD grfFlags, DWORD dwReserved, IPropertyStorage** ppPropStg ); extern "C" __declspec(dllimport) HRESULT __stdcall StgOpenPropStg( IUnknown* pUnk, const IID & fmtid, DWORD grfFlags, DWORD dwReserved, IPropertyStorage** ppPropStg ); extern "C" __declspec(dllimport) HRESULT __stdcall StgCreatePropSetStg( IStorage* pStorage, DWORD dwReserved, IPropertySetStorage** ppPropSetStg ); extern "C" __declspec(dllimport) HRESULT __stdcall FmtIdToPropStgName( const FMTID* pfmtid, LPOLESTR oszName ); extern "C" __declspec(dllimport) HRESULT __stdcall PropStgNameToFmtId( const LPOLESTR oszName, FMTID* pfmtid ); extern "C" __declspec(dllimport) HRESULT __stdcall ReadClassStg( LPSTORAGE pStg, CLSID * pclsid ); extern "C" __declspec(dllimport) HRESULT __stdcall WriteClassStg( LPSTORAGE pStg, const IID & rclsid ); extern "C" __declspec(dllimport) HRESULT __stdcall ReadClassStm( LPSTREAM pStm, CLSID * pclsid ); extern "C" __declspec(dllimport) HRESULT __stdcall WriteClassStm( LPSTREAM pStm, const IID & rclsid ); extern "C" __declspec(dllimport) HRESULT __stdcall GetHGlobalFromILockBytes( LPLOCKBYTES plkbyt, HGLOBAL * phglobal ); extern "C" __declspec(dllimport) HRESULT __stdcall CreateILockBytesOnHGlobal( HGLOBAL hGlobal, BOOL fDeleteOnRelease, LPLOCKBYTES * pplkbyt ); extern "C" __declspec(dllimport) HRESULT __stdcall GetConvertStg( LPSTORAGE pStg ); #pragma endregion typedef enum tagCOINIT { COINIT_APARTMENTTHREADED = 0x2, COINIT_MULTITHREADED = COINITBASE_MULTITHREADED, COINIT_DISABLE_OLE1DDE = 0x4, COINIT_SPEED_OVER_MEMORY = 0x8, } COINIT; #pragma region Desktop Partition extern "C" __declspec(dllimport) DWORD __stdcall CoBuildVersion( void ); extern "C" __declspec(dllimport) HRESULT __stdcall CoInitialize( LPVOID pvReserved); extern "C" __declspec(dllimport) HRESULT __stdcall CoRegisterMallocSpy( LPMALLOCSPY pMallocSpy); extern "C" __declspec(dllimport) HRESULT __stdcall CoRevokeMallocSpy(void); extern "C" __declspec(dllimport) HRESULT __stdcall CoCreateStandardMalloc( DWORD memctx, IMalloc * * ppMalloc); extern "C" __declspec(dllimport) HRESULT __stdcall CoRegisterInitializeSpy( IInitializeSpy *pSpy, ULARGE_INTEGER *puliCookie); extern "C" __declspec(dllimport) HRESULT __stdcall CoRevokeInitializeSpy( ULARGE_INTEGER uliCookie); typedef enum tagCOMSD { SD_LAUNCHPERMISSIONS = 0, SD_ACCESSPERMISSIONS = 1, SD_LAUNCHRESTRICTIONS = 2, SD_ACCESSRESTRICTIONS = 3 } COMSD; extern "C" __declspec(dllimport) HRESULT __stdcall CoGetSystemSecurityPermissions(COMSD comSDType, PSECURITY_DESCRIPTOR *ppSD); extern "C" __declspec(dllimport) HINSTANCE __stdcall CoLoadLibrary( LPOLESTR lpszLibName, BOOL bAutoFree); extern "C" __declspec(dllimport) void __stdcall CoFreeLibrary( HINSTANCE hInst); extern "C" __declspec(dllimport) void __stdcall CoFreeAllLibraries(void); extern "C" __declspec(dllimport) HRESULT __stdcall CoGetInstanceFromFile( COSERVERINFO * pServerInfo, CLSID * pClsid, IUnknown * punkOuter, DWORD dwClsCtx, DWORD grfMode, OLECHAR * pwszName, DWORD dwCount, MULTI_QI * pResults ); extern "C" __declspec(dllimport) HRESULT __stdcall CoGetInstanceFromIStorage( COSERVERINFO * pServerInfo, CLSID * pClsid, IUnknown * punkOuter, DWORD dwClsCtx, struct IStorage * pstg, DWORD dwCount, MULTI_QI * pResults ); extern "C" __declspec(dllimport) HRESULT __stdcall CoAllowSetForegroundWindow( IUnknown *pUnk, LPVOID lpvReserved); extern "C" __declspec(dllimport) HRESULT __stdcall DcomChannelSetHResult( LPVOID pvReserved, ULONG* pulReserved, HRESULT appsHR); extern "C" __declspec(dllimport) BOOL __stdcall CoIsOle1Class( const IID & rclsid); extern "C" __declspec(dllimport) HRESULT __stdcall CLSIDFromProgIDEx ( LPCOLESTR lpszProgID, LPCLSID lpclsid); extern "C" __declspec(dllimport) BOOL __stdcall CoFileTimeToDosDateTime( FILETIME * lpFileTime, LPWORD lpDosDate, LPWORD lpDosTime); extern "C" __declspec(dllimport) BOOL __stdcall CoDosDateTimeToFileTime( WORD nDosDate, WORD nDosTime, FILETIME * lpFileTime); extern "C" __declspec(dllimport) HRESULT __stdcall CoFileTimeNow( FILETIME * lpFileTime ); extern "C" __declspec(dllimport) HRESULT __stdcall CoRegisterMessageFilter( LPMESSAGEFILTER lpMessageFilter, LPMESSAGEFILTER * lplpMessageFilter ); extern "C" __declspec(dllimport) HRESULT __stdcall CoRegisterChannelHook( const GUID & ExtensionUuid, IChannelHook *pChannelHook ); extern "C" __declspec(dllimport) HRESULT __stdcall CoTreatAsClass( const IID & clsidOld, const IID & clsidNew); extern "C" __declspec(dllimport) HRESULT __stdcall CreateDataAdviseHolder( LPDATAADVISEHOLDER * ppDAHolder); extern "C" __declspec(dllimport) HRESULT __stdcall CreateDataCache( LPUNKNOWN pUnkOuter, const IID & rclsid, const IID & iid, LPVOID * ppv); extern "C" __declspec(dllimport) HRESULT __stdcall StgOpenAsyncDocfileOnIFillLockBytes( IFillLockBytes *pflb, DWORD grfMode, DWORD asyncFlags, IStorage** ppstgOpen); extern "C" __declspec(dllimport) HRESULT __stdcall StgGetIFillLockBytesOnILockBytes( ILockBytes *pilb, IFillLockBytes** ppflb); extern "C" __declspec(dllimport) HRESULT __stdcall StgGetIFillLockBytesOnFile( OLECHAR const *pwcsName, IFillLockBytes** ppflb); extern "C" __declspec(dllimport) HRESULT __stdcall StgOpenLayoutDocfile( OLECHAR const *pwcsDfName, DWORD grfMode, DWORD reserved, IStorage** ppstgOpen); #pragma endregion #pragma region Desktop Partition extern "C" __declspec(dllimport) HRESULT __stdcall CoInstall( IBindCtx * pbc, DWORD dwFlags, uCLSSPEC * pClassSpec, QUERYCONTEXT * pQuery, LPWSTR pszCodeBase); #pragma endregion #pragma region PC Application Partition extern "C" __declspec(dllimport) HRESULT __stdcall BindMoniker( LPMONIKER pmk, DWORD grfOpt, const IID & iidResult, LPVOID * ppvResult); extern "C" __declspec(dllimport) HRESULT __stdcall CoGetObject( LPCWSTR pszName, BIND_OPTS *pBindOptions, const IID & riid, void **ppv); extern "C" __declspec(dllimport) HRESULT __stdcall MkParseDisplayName( LPBC pbc, LPCOLESTR szUserName, ULONG * pchEaten, LPMONIKER * ppmk); extern "C" __declspec(dllimport) HRESULT __stdcall MonikerRelativePathTo( LPMONIKER pmkSrc, LPMONIKER pmkDest, LPMONIKER * ppmkRelPath, BOOL dwReserved); extern "C" __declspec(dllimport) HRESULT __stdcall MonikerCommonPrefixWith( LPMONIKER pmkThis, LPMONIKER pmkOther, LPMONIKER * ppmkCommon); extern "C" __declspec(dllimport) HRESULT __stdcall CreateBindCtx( DWORD reserved, LPBC * ppbc); extern "C" __declspec(dllimport) HRESULT __stdcall CreateGenericComposite( LPMONIKER pmkFirst, LPMONIKER pmkRest, LPMONIKER * ppmkComposite); extern "C" __declspec(dllimport) HRESULT __stdcall GetClassFile ( LPCOLESTR szFilename, CLSID * pclsid); extern "C" __declspec(dllimport) HRESULT __stdcall CreateClassMoniker( const IID & rclsid, LPMONIKER * ppmk); extern "C" __declspec(dllimport) HRESULT __stdcall CreateFileMoniker( LPCOLESTR lpszPathName, LPMONIKER * ppmk); extern "C" __declspec(dllimport) HRESULT __stdcall CreateItemMoniker( LPCOLESTR lpszDelim, LPCOLESTR lpszItem, LPMONIKER * ppmk); extern "C" __declspec(dllimport) HRESULT __stdcall CreateAntiMoniker( LPMONIKER * ppmk); extern "C" __declspec(dllimport) HRESULT __stdcall CreatePointerMoniker( LPUNKNOWN punk, LPMONIKER * ppmk); extern "C" __declspec(dllimport) HRESULT __stdcall CreateObjrefMoniker( LPUNKNOWN punk, LPMONIKER * ppmk); #pragma endregion #pragma region Desktop Partition extern "C" __declspec(dllimport) HRESULT __stdcall GetRunningObjectTable( DWORD reserved, LPRUNNINGOBJECTTABLE * pprot); #pragma endregion #pragma once typedef struct IPersistMoniker IPersistMoniker; typedef struct IMonikerProp IMonikerProp; typedef struct IBindProtocol IBindProtocol; typedef struct IBinding IBinding; typedef struct IBindStatusCallback IBindStatusCallback; typedef struct IBindStatusCallbackEx IBindStatusCallbackEx; typedef struct IAuthenticate IAuthenticate; typedef struct IAuthenticateEx IAuthenticateEx; typedef struct IHttpNegotiate IHttpNegotiate; typedef struct IHttpNegotiate2 IHttpNegotiate2; typedef struct IHttpNegotiate3 IHttpNegotiate3; typedef struct IWinInetFileStream IWinInetFileStream; typedef struct IWindowForBindingUI IWindowForBindingUI; typedef struct ICodeInstall ICodeInstall; typedef struct IUri IUri; typedef struct IUriContainer IUriContainer; typedef struct IUriBuilder IUriBuilder; typedef struct IUriBuilderFactory IUriBuilderFactory; typedef struct IWinInetInfo IWinInetInfo; typedef struct IHttpSecurity IHttpSecurity; typedef struct IWinInetHttpInfo IWinInetHttpInfo; typedef struct IWinInetHttpTimeouts IWinInetHttpTimeouts; typedef struct IWinInetCacheHints IWinInetCacheHints; typedef struct IWinInetCacheHints2 IWinInetCacheHints2; typedef struct IBindHost IBindHost; typedef struct IInternet IInternet; typedef struct IInternetBindInfo IInternetBindInfo; typedef struct IInternetBindInfoEx IInternetBindInfoEx; typedef struct IInternetProtocolRoot IInternetProtocolRoot; typedef struct IInternetProtocol IInternetProtocol; typedef struct IInternetProtocolEx IInternetProtocolEx; typedef struct IInternetProtocolSink IInternetProtocolSink; typedef struct IInternetProtocolSinkStackable IInternetProtocolSinkStackable; typedef struct IInternetSession IInternetSession; typedef struct IInternetThreadSwitch IInternetThreadSwitch; typedef struct IInternetPriority IInternetPriority; typedef struct IInternetProtocolInfo IInternetProtocolInfo; typedef struct IInternetSecurityMgrSite IInternetSecurityMgrSite; typedef struct IInternetSecurityManager IInternetSecurityManager; typedef struct IInternetSecurityManagerEx IInternetSecurityManagerEx; typedef struct IInternetSecurityManagerEx2 IInternetSecurityManagerEx2; typedef struct IZoneIdentifier IZoneIdentifier; typedef struct IZoneIdentifier2 IZoneIdentifier2; typedef struct IInternetHostSecurityManager IInternetHostSecurityManager; typedef struct IInternetZoneManager IInternetZoneManager; typedef struct IInternetZoneManagerEx IInternetZoneManagerEx; typedef struct IInternetZoneManagerEx2 IInternetZoneManagerEx2; typedef struct ISoftDistExt ISoftDistExt; typedef struct ICatalogFileInfo ICatalogFileInfo; typedef struct IDataFilter IDataFilter; typedef struct IEncodingFilterFactory IEncodingFilterFactory; typedef struct IWrappedProtocol IWrappedProtocol; typedef struct IGetBindHandle IGetBindHandle; typedef struct IBindCallbackRedirect IBindCallbackRedirect; typedef struct IBindHttpSecurity IBindHttpSecurity; #pragma once typedef struct IOleAdviseHolder IOleAdviseHolder; typedef struct IOleCache IOleCache; typedef struct IOleCache2 IOleCache2; typedef struct IOleCacheControl IOleCacheControl; typedef struct IParseDisplayName IParseDisplayName; typedef struct IOleContainer IOleContainer; typedef struct IOleClientSite IOleClientSite; typedef struct IOleObject IOleObject; typedef struct IOleWindow IOleWindow; typedef struct IOleLink IOleLink; typedef struct IOleItemContainer IOleItemContainer; typedef struct IOleInPlaceUIWindow IOleInPlaceUIWindow; typedef struct IOleInPlaceActiveObject IOleInPlaceActiveObject; typedef struct IOleInPlaceFrame IOleInPlaceFrame; typedef struct IOleInPlaceObject IOleInPlaceObject; typedef struct IOleInPlaceSite IOleInPlaceSite; typedef struct IContinue IContinue; typedef struct IViewObject IViewObject; typedef struct IViewObject2 IViewObject2; typedef struct IDropSource IDropSource; typedef struct IDropTarget IDropTarget; typedef struct IDropSourceNotify IDropSourceNotify; typedef struct IEnterpriseDropTarget IEnterpriseDropTarget; typedef struct IEnumOLEVERB IEnumOLEVERB; extern "C"{ #pragma once #pragma warning(push) #pragma warning(disable:4820) #pragma region Desktop Family or OneCore Family extern RPC_IF_HANDLE __MIDL_itf_oleidl_0000_0000_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_oleidl_0000_0000_v0_0_s_ifspec; typedef IOleAdviseHolder *LPOLEADVISEHOLDER; extern "C" const IID IID_IOleAdviseHolder; struct __declspec(uuid("00000111-0000-0000-C000-000000000046")) __declspec(novtable) IOleAdviseHolder : public IUnknown { public: virtual HRESULT __stdcall Advise( IAdviseSink *pAdvise, DWORD *pdwConnection) = 0; virtual HRESULT __stdcall Unadvise( DWORD dwConnection) = 0; virtual HRESULT __stdcall EnumAdvise( IEnumSTATDATA **ppenumAdvise) = 0; virtual HRESULT __stdcall SendOnRename( IMoniker *pmk) = 0; virtual HRESULT __stdcall SendOnSave( void) = 0; virtual HRESULT __stdcall SendOnClose( void) = 0; }; #pragma endregion #pragma region Application Family or OneCore Family extern RPC_IF_HANDLE __MIDL_itf_oleidl_0000_0001_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_oleidl_0000_0001_v0_0_s_ifspec; typedef IOleCache *LPOLECACHE; extern "C" const IID IID_IOleCache; struct __declspec(uuid("0000011e-0000-0000-C000-000000000046")) __declspec(novtable) IOleCache : public IUnknown { public: virtual HRESULT __stdcall Cache( FORMATETC *pformatetc, DWORD advf, DWORD *pdwConnection) = 0; virtual HRESULT __stdcall Uncache( DWORD dwConnection) = 0; virtual HRESULT __stdcall EnumCache( IEnumSTATDATA **ppenumSTATDATA) = 0; virtual HRESULT __stdcall InitCache( IDataObject *pDataObject) = 0; virtual HRESULT __stdcall SetData( FORMATETC *pformatetc, STGMEDIUM *pmedium, BOOL fRelease) = 0; }; typedef IOleCache2 *LPOLECACHE2; typedef enum tagDISCARDCACHE { DISCARDCACHE_SAVEIFDIRTY = 0, DISCARDCACHE_NOSAVE = 1 } DISCARDCACHE; extern "C" const IID IID_IOleCache2; struct __declspec(uuid("00000128-0000-0000-C000-000000000046")) __declspec(novtable) IOleCache2 : public IOleCache { public: virtual HRESULT __stdcall UpdateCache( LPDATAOBJECT pDataObject, DWORD grfUpdf, LPVOID pReserved) = 0; virtual HRESULT __stdcall DiscardCache( DWORD dwDiscardOptions) = 0; }; HRESULT __stdcall IOleCache2_RemoteUpdateCache_Proxy( IOleCache2 * This, LPDATAOBJECT pDataObject, DWORD grfUpdf, LONG_PTR pReserved); void __stdcall IOleCache2_RemoteUpdateCache_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); #pragma endregion #pragma region Desktop Family or OneCore Family extern RPC_IF_HANDLE __MIDL_itf_oleidl_0000_0003_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_oleidl_0000_0003_v0_0_s_ifspec; typedef IOleCacheControl *LPOLECACHECONTROL; extern "C" const IID IID_IOleCacheControl; struct __declspec(uuid("00000129-0000-0000-C000-000000000046")) __declspec(novtable) IOleCacheControl : public IUnknown { public: virtual HRESULT __stdcall OnRun( LPDATAOBJECT pDataObject) = 0; virtual HRESULT __stdcall OnStop( void) = 0; }; typedef IParseDisplayName *LPPARSEDISPLAYNAME; extern "C" const IID IID_IParseDisplayName; struct __declspec(uuid("0000011a-0000-0000-C000-000000000046")) __declspec(novtable) IParseDisplayName : public IUnknown { public: virtual HRESULT __stdcall ParseDisplayName( IBindCtx *pbc, LPOLESTR pszDisplayName, ULONG *pchEaten, IMoniker **ppmkOut) = 0; }; typedef IOleContainer *LPOLECONTAINER; extern "C" const IID IID_IOleContainer; struct __declspec(uuid("0000011b-0000-0000-C000-000000000046")) __declspec(novtable) IOleContainer : public IParseDisplayName { public: virtual HRESULT __stdcall EnumObjects( DWORD grfFlags, IEnumUnknown **ppenum) = 0; virtual HRESULT __stdcall LockContainer( BOOL fLock) = 0; }; typedef IOleClientSite *LPOLECLIENTSITE; extern "C" const IID IID_IOleClientSite; struct __declspec(uuid("00000118-0000-0000-C000-000000000046")) __declspec(novtable) IOleClientSite : public IUnknown { public: virtual HRESULT __stdcall SaveObject( void) = 0; virtual HRESULT __stdcall GetMoniker( DWORD dwAssign, DWORD dwWhichMoniker, IMoniker **ppmk) = 0; virtual HRESULT __stdcall GetContainer( IOleContainer **ppContainer) = 0; virtual HRESULT __stdcall ShowObject( void) = 0; virtual HRESULT __stdcall OnShowWindow( BOOL fShow) = 0; virtual HRESULT __stdcall RequestNewObjectLayout( void) = 0; }; typedef IOleObject *LPOLEOBJECT; typedef enum tagOLEGETMONIKER { OLEGETMONIKER_ONLYIFTHERE = 1, OLEGETMONIKER_FORCEASSIGN = 2, OLEGETMONIKER_UNASSIGN = 3, OLEGETMONIKER_TEMPFORUSER = 4 } OLEGETMONIKER; typedef enum tagOLEWHICHMK { OLEWHICHMK_CONTAINER = 1, OLEWHICHMK_OBJREL = 2, OLEWHICHMK_OBJFULL = 3 } OLEWHICHMK; typedef enum tagUSERCLASSTYPE { USERCLASSTYPE_FULL = 1, USERCLASSTYPE_SHORT = 2, USERCLASSTYPE_APPNAME = 3 } USERCLASSTYPE; typedef enum tagOLEMISC { OLEMISC_RECOMPOSEONRESIZE = 0x1, OLEMISC_ONLYICONIC = 0x2, OLEMISC_INSERTNOTREPLACE = 0x4, OLEMISC_STATIC = 0x8, OLEMISC_CANTLINKINSIDE = 0x10, OLEMISC_CANLINKBYOLE1 = 0x20, OLEMISC_ISLINKOBJECT = 0x40, OLEMISC_INSIDEOUT = 0x80, OLEMISC_ACTIVATEWHENVISIBLE = 0x100, OLEMISC_RENDERINGISDEVICEINDEPENDENT = 0x200, OLEMISC_INVISIBLEATRUNTIME = 0x400, OLEMISC_ALWAYSRUN = 0x800, OLEMISC_ACTSLIKEBUTTON = 0x1000, OLEMISC_ACTSLIKELABEL = 0x2000, OLEMISC_NOUIACTIVATE = 0x4000, OLEMISC_ALIGNABLE = 0x8000, OLEMISC_SIMPLEFRAME = 0x10000, OLEMISC_SETCLIENTSITEFIRST = 0x20000, OLEMISC_IMEMODE = 0x40000, OLEMISC_IGNOREACTIVATEWHENVISIBLE = 0x80000, OLEMISC_WANTSTOMENUMERGE = 0x100000, OLEMISC_SUPPORTSMULTILEVELUNDO = 0x200000 } OLEMISC; typedef enum tagOLECLOSE { OLECLOSE_SAVEIFDIRTY = 0, OLECLOSE_NOSAVE = 1, OLECLOSE_PROMPTSAVE = 2 } OLECLOSE; extern "C" const IID IID_IOleObject; struct __declspec(uuid("00000112-0000-0000-C000-000000000046")) __declspec(novtable) IOleObject : public IUnknown { public: virtual HRESULT __stdcall SetClientSite( IOleClientSite *pClientSite) = 0; virtual HRESULT __stdcall GetClientSite( IOleClientSite **ppClientSite) = 0; virtual HRESULT __stdcall SetHostNames( LPCOLESTR szContainerApp, LPCOLESTR szContainerObj) = 0; virtual HRESULT __stdcall Close( DWORD dwSaveOption) = 0; virtual HRESULT __stdcall SetMoniker( DWORD dwWhichMoniker, IMoniker *pmk) = 0; virtual HRESULT __stdcall GetMoniker( DWORD dwAssign, DWORD dwWhichMoniker, IMoniker **ppmk) = 0; virtual HRESULT __stdcall InitFromData( IDataObject *pDataObject, BOOL fCreation, DWORD dwReserved) = 0; virtual HRESULT __stdcall GetClipboardData( DWORD dwReserved, IDataObject **ppDataObject) = 0; virtual HRESULT __stdcall DoVerb( LONG iVerb, LPMSG lpmsg, IOleClientSite *pActiveSite, LONG lindex, HWND hwndParent, LPCRECT lprcPosRect) = 0; virtual HRESULT __stdcall EnumVerbs( IEnumOLEVERB **ppEnumOleVerb) = 0; virtual HRESULT __stdcall Update( void) = 0; virtual HRESULT __stdcall IsUpToDate( void) = 0; virtual HRESULT __stdcall GetUserClassID( CLSID *pClsid) = 0; virtual HRESULT __stdcall GetUserType( DWORD dwFormOfType, LPOLESTR *pszUserType) = 0; virtual HRESULT __stdcall SetExtent( DWORD dwDrawAspect, SIZEL *psizel) = 0; virtual HRESULT __stdcall GetExtent( DWORD dwDrawAspect, SIZEL *psizel) = 0; virtual HRESULT __stdcall Advise( IAdviseSink *pAdvSink, DWORD *pdwConnection) = 0; virtual HRESULT __stdcall Unadvise( DWORD dwConnection) = 0; virtual HRESULT __stdcall EnumAdvise( IEnumSTATDATA **ppenumAdvise) = 0; virtual HRESULT __stdcall GetMiscStatus( DWORD dwAspect, DWORD *pdwStatus) = 0; virtual HRESULT __stdcall SetColorScheme( LOGPALETTE *pLogpal) = 0; }; typedef enum tagOLERENDER { OLERENDER_NONE = 0, OLERENDER_DRAW = 1, OLERENDER_FORMAT = 2, OLERENDER_ASIS = 3 } OLERENDER; typedef OLERENDER *LPOLERENDER; typedef struct tagOBJECTDESCRIPTOR { ULONG cbSize; CLSID clsid; DWORD dwDrawAspect; SIZEL sizel; POINTL pointl; DWORD dwStatus; DWORD dwFullUserTypeName; DWORD dwSrcOfCopy; } OBJECTDESCRIPTOR; typedef struct tagOBJECTDESCRIPTOR *POBJECTDESCRIPTOR; typedef struct tagOBJECTDESCRIPTOR *LPOBJECTDESCRIPTOR; typedef struct tagOBJECTDESCRIPTOR LINKSRCDESCRIPTOR; typedef struct tagOBJECTDESCRIPTOR *PLINKSRCDESCRIPTOR; typedef struct tagOBJECTDESCRIPTOR *LPLINKSRCDESCRIPTOR; extern RPC_IF_HANDLE IOLETypes_v0_0_c_ifspec; extern RPC_IF_HANDLE IOLETypes_v0_0_s_ifspec; typedef IOleWindow *LPOLEWINDOW; extern "C" const IID IID_IOleWindow; struct __declspec(uuid("00000114-0000-0000-C000-000000000046")) __declspec(novtable) IOleWindow : public IUnknown { public: virtual HRESULT __stdcall GetWindow( HWND *phwnd) = 0; virtual HRESULT __stdcall ContextSensitiveHelp( BOOL fEnterMode) = 0; }; typedef IOleLink *LPOLELINK; typedef enum tagOLEUPDATE { OLEUPDATE_ALWAYS = 1, OLEUPDATE_ONCALL = 3 } OLEUPDATE; typedef OLEUPDATE *LPOLEUPDATE; typedef OLEUPDATE *POLEUPDATE; typedef enum tagOLELINKBIND { OLELINKBIND_EVENIFCLASSDIFF = 1 } OLELINKBIND; extern "C" const IID IID_IOleLink; struct __declspec(uuid("0000011d-0000-0000-C000-000000000046")) __declspec(novtable) IOleLink : public IUnknown { public: virtual HRESULT __stdcall SetUpdateOptions( DWORD dwUpdateOpt) = 0; virtual HRESULT __stdcall GetUpdateOptions( DWORD *pdwUpdateOpt) = 0; virtual HRESULT __stdcall SetSourceMoniker( IMoniker *pmk, const IID & rclsid) = 0; virtual HRESULT __stdcall GetSourceMoniker( IMoniker **ppmk) = 0; virtual HRESULT __stdcall SetSourceDisplayName( LPCOLESTR pszStatusText) = 0; virtual HRESULT __stdcall GetSourceDisplayName( LPOLESTR *ppszDisplayName) = 0; virtual HRESULT __stdcall BindToSource( DWORD bindflags, IBindCtx *pbc) = 0; virtual HRESULT __stdcall BindIfRunning( void) = 0; virtual HRESULT __stdcall GetBoundSource( IUnknown **ppunk) = 0; virtual HRESULT __stdcall UnbindSource( void) = 0; virtual HRESULT __stdcall Update( IBindCtx *pbc) = 0; }; typedef IOleItemContainer *LPOLEITEMCONTAINER; typedef enum tagBINDSPEED { BINDSPEED_INDEFINITE = 1, BINDSPEED_MODERATE = 2, BINDSPEED_IMMEDIATE = 3 } BINDSPEED; typedef enum tagOLECONTF { OLECONTF_EMBEDDINGS = 1, OLECONTF_LINKS = 2, OLECONTF_OTHERS = 4, OLECONTF_ONLYUSER = 8, OLECONTF_ONLYIFRUNNING = 16 } OLECONTF; extern "C" const IID IID_IOleItemContainer; struct __declspec(uuid("0000011c-0000-0000-C000-000000000046")) __declspec(novtable) IOleItemContainer : public IOleContainer { public: virtual HRESULT __stdcall GetObjectW( LPOLESTR pszItem, DWORD dwSpeedNeeded, IBindCtx *pbc, const IID & riid, void **ppvObject) = 0; virtual HRESULT __stdcall GetObjectStorage( LPOLESTR pszItem, IBindCtx *pbc, const IID & riid, void **ppvStorage) = 0; virtual HRESULT __stdcall IsRunning( LPOLESTR pszItem) = 0; }; typedef IOleInPlaceUIWindow *LPOLEINPLACEUIWINDOW; typedef RECT BORDERWIDTHS; typedef LPRECT LPBORDERWIDTHS; typedef LPCRECT LPCBORDERWIDTHS; extern "C" const IID IID_IOleInPlaceUIWindow; struct __declspec(uuid("00000115-0000-0000-C000-000000000046")) __declspec(novtable) IOleInPlaceUIWindow : public IOleWindow { public: virtual HRESULT __stdcall GetBorder( LPRECT lprectBorder) = 0; virtual HRESULT __stdcall RequestBorderSpace( LPCBORDERWIDTHS pborderwidths) = 0; virtual HRESULT __stdcall SetBorderSpace( LPCBORDERWIDTHS pborderwidths) = 0; virtual HRESULT __stdcall SetActiveObject( IOleInPlaceActiveObject *pActiveObject, LPCOLESTR pszObjName) = 0; }; typedef IOleInPlaceActiveObject *LPOLEINPLACEACTIVEOBJECT; extern "C" const IID IID_IOleInPlaceActiveObject; struct __declspec(uuid("00000117-0000-0000-C000-000000000046")) __declspec(novtable) IOleInPlaceActiveObject : public IOleWindow { public: virtual HRESULT __stdcall TranslateAcceleratorW( LPMSG lpmsg) = 0; virtual HRESULT __stdcall OnFrameWindowActivate( BOOL fActivate) = 0; virtual HRESULT __stdcall OnDocWindowActivate( BOOL fActivate) = 0; virtual HRESULT __stdcall ResizeBorder( LPCRECT prcBorder, IOleInPlaceUIWindow *pUIWindow, BOOL fFrameWindow) = 0; virtual HRESULT __stdcall EnableModeless( BOOL fEnable) = 0; }; HRESULT __stdcall IOleInPlaceActiveObject_RemoteTranslateAccelerator_Proxy( IOleInPlaceActiveObject * This); void __stdcall IOleInPlaceActiveObject_RemoteTranslateAccelerator_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT __stdcall IOleInPlaceActiveObject_RemoteResizeBorder_Proxy( IOleInPlaceActiveObject * This, LPCRECT prcBorder, const IID & riid, IOleInPlaceUIWindow *pUIWindow, BOOL fFrameWindow); void __stdcall IOleInPlaceActiveObject_RemoteResizeBorder_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); typedef IOleInPlaceFrame *LPOLEINPLACEFRAME; typedef struct tagOIFI { UINT cb; BOOL fMDIApp; HWND hwndFrame; HACCEL haccel; UINT cAccelEntries; } OLEINPLACEFRAMEINFO; typedef struct tagOIFI *LPOLEINPLACEFRAMEINFO; typedef struct tagOleMenuGroupWidths { LONG width[ 6 ]; } OLEMENUGROUPWIDTHS; typedef struct tagOleMenuGroupWidths *LPOLEMENUGROUPWIDTHS; typedef HGLOBAL HOLEMENU; extern "C" const IID IID_IOleInPlaceFrame; struct __declspec(uuid("00000116-0000-0000-C000-000000000046")) __declspec(novtable) IOleInPlaceFrame : public IOleInPlaceUIWindow { public: virtual HRESULT __stdcall InsertMenus( HMENU hmenuShared, LPOLEMENUGROUPWIDTHS lpMenuWidths) = 0; virtual HRESULT __stdcall SetMenu( HMENU hmenuShared, HOLEMENU holemenu, HWND hwndActiveObject) = 0; virtual HRESULT __stdcall RemoveMenus( HMENU hmenuShared) = 0; virtual HRESULT __stdcall SetStatusText( LPCOLESTR pszStatusText) = 0; virtual HRESULT __stdcall EnableModeless( BOOL fEnable) = 0; virtual HRESULT __stdcall TranslateAcceleratorW( LPMSG lpmsg, WORD wID) = 0; }; typedef IOleInPlaceObject *LPOLEINPLACEOBJECT; extern "C" const IID IID_IOleInPlaceObject; struct __declspec(uuid("00000113-0000-0000-C000-000000000046")) __declspec(novtable) IOleInPlaceObject : public IOleWindow { public: virtual HRESULT __stdcall InPlaceDeactivate( void) = 0; virtual HRESULT __stdcall UIDeactivate( void) = 0; virtual HRESULT __stdcall SetObjectRects( LPCRECT lprcPosRect, LPCRECT lprcClipRect) = 0; virtual HRESULT __stdcall ReactivateAndUndo( void) = 0; }; typedef IOleInPlaceSite *LPOLEINPLACESITE; extern "C" const IID IID_IOleInPlaceSite; struct __declspec(uuid("00000119-0000-0000-C000-000000000046")) __declspec(novtable) IOleInPlaceSite : public IOleWindow { public: virtual HRESULT __stdcall CanInPlaceActivate( void) = 0; virtual HRESULT __stdcall OnInPlaceActivate( void) = 0; virtual HRESULT __stdcall OnUIActivate( void) = 0; virtual HRESULT __stdcall GetWindowContext( IOleInPlaceFrame **ppFrame, IOleInPlaceUIWindow **ppDoc, LPRECT lprcPosRect, LPRECT lprcClipRect, LPOLEINPLACEFRAMEINFO lpFrameInfo) = 0; virtual HRESULT __stdcall Scroll( SIZE scrollExtant) = 0; virtual HRESULT __stdcall OnUIDeactivate( BOOL fUndoable) = 0; virtual HRESULT __stdcall OnInPlaceDeactivate( void) = 0; virtual HRESULT __stdcall DiscardUndoState( void) = 0; virtual HRESULT __stdcall DeactivateAndUndo( void) = 0; virtual HRESULT __stdcall OnPosRectChange( LPCRECT lprcPosRect) = 0; }; extern "C" const IID IID_IContinue; struct __declspec(uuid("0000012a-0000-0000-C000-000000000046")) __declspec(novtable) IContinue : public IUnknown { public: virtual HRESULT __stdcall FContinue( void) = 0; }; typedef IViewObject *LPVIEWOBJECT; extern "C" const IID IID_IViewObject; struct __declspec(uuid("0000010d-0000-0000-C000-000000000046")) __declspec(novtable) IViewObject : public IUnknown { public: virtual HRESULT __stdcall Draw( DWORD dwDrawAspect, LONG lindex, void *pvAspect, DVTARGETDEVICE *ptd, HDC hdcTargetDev, HDC hdcDraw, LPCRECTL lprcBounds, LPCRECTL lprcWBounds, BOOL ( __stdcall *pfnContinue )( ULONG_PTR dwContinue), ULONG_PTR dwContinue) = 0; virtual HRESULT __stdcall GetColorSet( DWORD dwDrawAspect, LONG lindex, void *pvAspect, DVTARGETDEVICE *ptd, HDC hicTargetDev, LOGPALETTE **ppColorSet) = 0; virtual HRESULT __stdcall Freeze( DWORD dwDrawAspect, LONG lindex, void *pvAspect, DWORD *pdwFreeze) = 0; virtual HRESULT __stdcall Unfreeze( DWORD dwFreeze) = 0; virtual HRESULT __stdcall SetAdvise( DWORD aspects, DWORD advf, IAdviseSink *pAdvSink) = 0; virtual HRESULT __stdcall GetAdvise( DWORD *pAspects, DWORD *pAdvf, IAdviseSink **ppAdvSink) = 0; }; HRESULT __stdcall IViewObject_RemoteDraw_Proxy( IViewObject * This, DWORD dwDrawAspect, LONG lindex, ULONG_PTR pvAspect, DVTARGETDEVICE *ptd, HDC hdcTargetDev, HDC hdcDraw, LPCRECTL lprcBounds, LPCRECTL lprcWBounds, IContinue *pContinue); void __stdcall IViewObject_RemoteDraw_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT __stdcall IViewObject_RemoteGetColorSet_Proxy( IViewObject * This, DWORD dwDrawAspect, LONG lindex, ULONG_PTR pvAspect, DVTARGETDEVICE *ptd, ULONG_PTR hicTargetDev, LOGPALETTE **ppColorSet); void __stdcall IViewObject_RemoteGetColorSet_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT __stdcall IViewObject_RemoteFreeze_Proxy( IViewObject * This, DWORD dwDrawAspect, LONG lindex, ULONG_PTR pvAspect, DWORD *pdwFreeze); void __stdcall IViewObject_RemoteFreeze_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT __stdcall IViewObject_RemoteGetAdvise_Proxy( IViewObject * This, DWORD *pAspects, DWORD *pAdvf, IAdviseSink **ppAdvSink); void __stdcall IViewObject_RemoteGetAdvise_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); typedef IViewObject2 *LPVIEWOBJECT2; extern "C" const IID IID_IViewObject2; struct __declspec(uuid("00000127-0000-0000-C000-000000000046")) __declspec(novtable) IViewObject2 : public IViewObject { public: virtual HRESULT __stdcall GetExtent( DWORD dwDrawAspect, LONG lindex, DVTARGETDEVICE *ptd, LPSIZEL lpsizel) = 0; }; typedef IDropSource *LPDROPSOURCE; extern "C" const IID IID_IDropSource; struct __declspec(uuid("00000121-0000-0000-C000-000000000046")) __declspec(novtable) IDropSource : public IUnknown { public: virtual HRESULT __stdcall QueryContinueDrag( BOOL fEscapePressed, DWORD grfKeyState) = 0; virtual HRESULT __stdcall GiveFeedback( DWORD dwEffect) = 0; }; typedef IDropTarget *LPDROPTARGET; extern "C" const IID IID_IDropTarget; struct __declspec(uuid("00000122-0000-0000-C000-000000000046")) __declspec(novtable) IDropTarget : public IUnknown { public: virtual HRESULT __stdcall DragEnter( IDataObject *pDataObj, DWORD grfKeyState, POINTL pt, DWORD *pdwEffect) = 0; virtual HRESULT __stdcall DragOver( DWORD grfKeyState, POINTL pt, DWORD *pdwEffect) = 0; virtual HRESULT __stdcall DragLeave( void) = 0; virtual HRESULT __stdcall Drop( IDataObject *pDataObj, DWORD grfKeyState, POINTL pt, DWORD *pdwEffect) = 0; }; extern "C" const IID IID_IDropSourceNotify; struct __declspec(uuid("0000012B-0000-0000-C000-000000000046")) __declspec(novtable) IDropSourceNotify : public IUnknown { public: virtual HRESULT __stdcall DragEnterTarget( HWND hwndTarget) = 0; virtual HRESULT __stdcall DragLeaveTarget( void) = 0; }; extern "C" const IID IID_IEnterpriseDropTarget; struct __declspec(uuid("390E3878-FD55-4E18-819D-4682081C0CFD")) __declspec(novtable) IEnterpriseDropTarget : public IUnknown { public: virtual HRESULT __stdcall SetDropSourceEnterpriseId( LPCWSTR identity) = 0; virtual HRESULT __stdcall IsEvaluatingEdpPolicy( BOOL *value) = 0; }; #pragma endregion #pragma region Application Family or OneCore Family or Games Family extern RPC_IF_HANDLE __MIDL_itf_oleidl_0000_0024_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_oleidl_0000_0024_v0_0_s_ifspec; typedef IEnumOLEVERB *LPENUMOLEVERB; typedef struct tagOLEVERB { LONG lVerb; LPOLESTR lpszVerbName; DWORD fuFlags; DWORD grfAttribs; } OLEVERB; typedef struct tagOLEVERB *LPOLEVERB; typedef enum tagOLEVERBATTRIB { OLEVERBATTRIB_NEVERDIRTIES = 1, OLEVERBATTRIB_ONCONTAINERMENU = 2 } OLEVERBATTRIB; extern "C" const IID IID_IEnumOLEVERB; struct __declspec(uuid("00000104-0000-0000-C000-000000000046")) __declspec(novtable) IEnumOLEVERB : public IUnknown { public: virtual HRESULT __stdcall Next( ULONG celt, LPOLEVERB rgelt, ULONG *pceltFetched) = 0; virtual HRESULT __stdcall Skip( ULONG celt) = 0; virtual HRESULT __stdcall Reset( void) = 0; virtual HRESULT __stdcall Clone( IEnumOLEVERB **ppenum) = 0; }; HRESULT __stdcall IEnumOLEVERB_RemoteNext_Proxy( IEnumOLEVERB * This, ULONG celt, LPOLEVERB rgelt, ULONG *pceltFetched); void __stdcall IEnumOLEVERB_RemoteNext_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); #pragma endregion #pragma warning(pop) extern RPC_IF_HANDLE __MIDL_itf_oleidl_0000_0025_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_oleidl_0000_0025_v0_0_s_ifspec; unsigned long __stdcall CLIPFORMAT_UserSize( unsigned long *, unsigned long , CLIPFORMAT * ); unsigned char * __stdcall CLIPFORMAT_UserMarshal( unsigned long *, unsigned char *, CLIPFORMAT * ); unsigned char * __stdcall CLIPFORMAT_UserUnmarshal( unsigned long *, unsigned char *, CLIPFORMAT * ); void __stdcall CLIPFORMAT_UserFree( unsigned long *, CLIPFORMAT * ); unsigned long __stdcall HACCEL_UserSize( unsigned long *, unsigned long , HACCEL * ); unsigned char * __stdcall HACCEL_UserMarshal( unsigned long *, unsigned char *, HACCEL * ); unsigned char * __stdcall HACCEL_UserUnmarshal( unsigned long *, unsigned char *, HACCEL * ); void __stdcall HACCEL_UserFree( unsigned long *, HACCEL * ); unsigned long __stdcall HDC_UserSize( unsigned long *, unsigned long , HDC * ); unsigned char * __stdcall HDC_UserMarshal( unsigned long *, unsigned char *, HDC * ); unsigned char * __stdcall HDC_UserUnmarshal( unsigned long *, unsigned char *, HDC * ); void __stdcall HDC_UserFree( unsigned long *, HDC * ); unsigned long __stdcall HGLOBAL_UserSize( unsigned long *, unsigned long , HGLOBAL * ); unsigned char * __stdcall HGLOBAL_UserMarshal( unsigned long *, unsigned char *, HGLOBAL * ); unsigned char * __stdcall HGLOBAL_UserUnmarshal( unsigned long *, unsigned char *, HGLOBAL * ); void __stdcall HGLOBAL_UserFree( unsigned long *, HGLOBAL * ); unsigned long __stdcall HMENU_UserSize( unsigned long *, unsigned long , HMENU * ); unsigned char * __stdcall HMENU_UserMarshal( unsigned long *, unsigned char *, HMENU * ); unsigned char * __stdcall HMENU_UserUnmarshal( unsigned long *, unsigned char *, HMENU * ); void __stdcall HMENU_UserFree( unsigned long *, HMENU * ); unsigned long __stdcall HWND_UserSize( unsigned long *, unsigned long , HWND * ); unsigned char * __stdcall HWND_UserMarshal( unsigned long *, unsigned char *, HWND * ); unsigned char * __stdcall HWND_UserUnmarshal( unsigned long *, unsigned char *, HWND * ); void __stdcall HWND_UserFree( unsigned long *, HWND * ); unsigned long __stdcall STGMEDIUM_UserSize( unsigned long *, unsigned long , STGMEDIUM * ); unsigned char * __stdcall STGMEDIUM_UserMarshal( unsigned long *, unsigned char *, STGMEDIUM * ); unsigned char * __stdcall STGMEDIUM_UserUnmarshal( unsigned long *, unsigned char *, STGMEDIUM * ); void __stdcall STGMEDIUM_UserFree( unsigned long *, STGMEDIUM * ); unsigned long __stdcall CLIPFORMAT_UserSize64( unsigned long *, unsigned long , CLIPFORMAT * ); unsigned char * __stdcall CLIPFORMAT_UserMarshal64( unsigned long *, unsigned char *, CLIPFORMAT * ); unsigned char * __stdcall CLIPFORMAT_UserUnmarshal64( unsigned long *, unsigned char *, CLIPFORMAT * ); void __stdcall CLIPFORMAT_UserFree64( unsigned long *, CLIPFORMAT * ); unsigned long __stdcall HACCEL_UserSize64( unsigned long *, unsigned long , HACCEL * ); unsigned char * __stdcall HACCEL_UserMarshal64( unsigned long *, unsigned char *, HACCEL * ); unsigned char * __stdcall HACCEL_UserUnmarshal64( unsigned long *, unsigned char *, HACCEL * ); void __stdcall HACCEL_UserFree64( unsigned long *, HACCEL * ); unsigned long __stdcall HDC_UserSize64( unsigned long *, unsigned long , HDC * ); unsigned char * __stdcall HDC_UserMarshal64( unsigned long *, unsigned char *, HDC * ); unsigned char * __stdcall HDC_UserUnmarshal64( unsigned long *, unsigned char *, HDC * ); void __stdcall HDC_UserFree64( unsigned long *, HDC * ); unsigned long __stdcall HGLOBAL_UserSize64( unsigned long *, unsigned long , HGLOBAL * ); unsigned char * __stdcall HGLOBAL_UserMarshal64( unsigned long *, unsigned char *, HGLOBAL * ); unsigned char * __stdcall HGLOBAL_UserUnmarshal64( unsigned long *, unsigned char *, HGLOBAL * ); void __stdcall HGLOBAL_UserFree64( unsigned long *, HGLOBAL * ); unsigned long __stdcall HMENU_UserSize64( unsigned long *, unsigned long , HMENU * ); unsigned char * __stdcall HMENU_UserMarshal64( unsigned long *, unsigned char *, HMENU * ); unsigned char * __stdcall HMENU_UserUnmarshal64( unsigned long *, unsigned char *, HMENU * ); void __stdcall HMENU_UserFree64( unsigned long *, HMENU * ); unsigned long __stdcall HWND_UserSize64( unsigned long *, unsigned long , HWND * ); unsigned char * __stdcall HWND_UserMarshal64( unsigned long *, unsigned char *, HWND * ); unsigned char * __stdcall HWND_UserUnmarshal64( unsigned long *, unsigned char *, HWND * ); void __stdcall HWND_UserFree64( unsigned long *, HWND * ); unsigned long __stdcall STGMEDIUM_UserSize64( unsigned long *, unsigned long , STGMEDIUM * ); unsigned char * __stdcall STGMEDIUM_UserMarshal64( unsigned long *, unsigned char *, STGMEDIUM * ); unsigned char * __stdcall STGMEDIUM_UserUnmarshal64( unsigned long *, unsigned char *, STGMEDIUM * ); void __stdcall STGMEDIUM_UserFree64( unsigned long *, STGMEDIUM * ); HRESULT __stdcall IOleCache2_UpdateCache_Proxy( IOleCache2 * This, LPDATAOBJECT pDataObject, DWORD grfUpdf, LPVOID pReserved); HRESULT __stdcall IOleCache2_UpdateCache_Stub( IOleCache2 * This, LPDATAOBJECT pDataObject, DWORD grfUpdf, LONG_PTR pReserved); HRESULT __stdcall IOleInPlaceActiveObject_TranslateAccelerator_Proxy( IOleInPlaceActiveObject * This, LPMSG lpmsg); HRESULT __stdcall IOleInPlaceActiveObject_TranslateAccelerator_Stub( IOleInPlaceActiveObject * This); HRESULT __stdcall IOleInPlaceActiveObject_ResizeBorder_Proxy( IOleInPlaceActiveObject * This, LPCRECT prcBorder, IOleInPlaceUIWindow *pUIWindow, BOOL fFrameWindow); HRESULT __stdcall IOleInPlaceActiveObject_ResizeBorder_Stub( IOleInPlaceActiveObject * This, LPCRECT prcBorder, const IID & riid, IOleInPlaceUIWindow *pUIWindow, BOOL fFrameWindow); HRESULT __stdcall IViewObject_Draw_Proxy( IViewObject * This, DWORD dwDrawAspect, LONG lindex, void *pvAspect, DVTARGETDEVICE *ptd, HDC hdcTargetDev, HDC hdcDraw, LPCRECTL lprcBounds, LPCRECTL lprcWBounds, BOOL ( __stdcall *pfnContinue )( ULONG_PTR dwContinue), ULONG_PTR dwContinue); HRESULT __stdcall IViewObject_Draw_Stub( IViewObject * This, DWORD dwDrawAspect, LONG lindex, ULONG_PTR pvAspect, DVTARGETDEVICE *ptd, HDC hdcTargetDev, HDC hdcDraw, LPCRECTL lprcBounds, LPCRECTL lprcWBounds, IContinue *pContinue); HRESULT __stdcall IViewObject_GetColorSet_Proxy( IViewObject * This, DWORD dwDrawAspect, LONG lindex, void *pvAspect, DVTARGETDEVICE *ptd, HDC hicTargetDev, LOGPALETTE **ppColorSet); HRESULT __stdcall IViewObject_GetColorSet_Stub( IViewObject * This, DWORD dwDrawAspect, LONG lindex, ULONG_PTR pvAspect, DVTARGETDEVICE *ptd, ULONG_PTR hicTargetDev, LOGPALETTE **ppColorSet); HRESULT __stdcall IViewObject_Freeze_Proxy( IViewObject * This, DWORD dwDrawAspect, LONG lindex, void *pvAspect, DWORD *pdwFreeze); HRESULT __stdcall IViewObject_Freeze_Stub( IViewObject * This, DWORD dwDrawAspect, LONG lindex, ULONG_PTR pvAspect, DWORD *pdwFreeze); HRESULT __stdcall IViewObject_GetAdvise_Proxy( IViewObject * This, DWORD *pAspects, DWORD *pAdvf, IAdviseSink **ppAdvSink); HRESULT __stdcall IViewObject_GetAdvise_Stub( IViewObject * This, DWORD *pAspects, DWORD *pAdvf, IAdviseSink **ppAdvSink); HRESULT __stdcall IEnumOLEVERB_Next_Proxy( IEnumOLEVERB * This, ULONG celt, LPOLEVERB rgelt, ULONG *pceltFetched); HRESULT __stdcall IEnumOLEVERB_Next_Stub( IEnumOLEVERB * This, ULONG celt, LPOLEVERB rgelt, ULONG *pceltFetched); } #pragma once typedef struct IServiceProvider IServiceProvider; extern "C"{ #pragma comment(lib,"uuid.lib") #pragma region Desktop Family extern RPC_IF_HANDLE __MIDL_itf_servprov_0000_0000_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_servprov_0000_0000_v0_0_s_ifspec; typedef IServiceProvider *LPSERVICEPROVIDER; extern "C" const IID IID_IServiceProvider; extern "C++" { struct __declspec(uuid("6d5140c1-7436-11ce-8034-00aa006009fa")) __declspec(novtable) IServiceProvider : public IUnknown { public: virtual HRESULT __stdcall QueryService( const GUID & guidService, const IID & riid, void * *ppvObject) = 0; template HRESULT __stdcall QueryService( const GUID & guidService, Q** pp) { return QueryService(guidService, __uuidof(Q), (void **)pp); } }; } HRESULT __stdcall IServiceProvider_RemoteQueryService_Proxy( IServiceProvider * This, const GUID & guidService, const IID & riid, IUnknown * *ppvObject); void __stdcall IServiceProvider_RemoteQueryService_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); #pragma endregion extern RPC_IF_HANDLE __MIDL_itf_servprov_0000_0001_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_servprov_0000_0001_v0_0_s_ifspec; HRESULT __stdcall IServiceProvider_QueryService_Proxy( IServiceProvider * This, const GUID & guidService, const IID & riid, void **ppvObject); HRESULT __stdcall IServiceProvider_QueryService_Stub( IServiceProvider * This, const GUID & guidService, const IID & riid, IUnknown **ppvObject); } #pragma once typedef struct IXMLDOMImplementation IXMLDOMImplementation; typedef struct IXMLDOMNode IXMLDOMNode; typedef struct IXMLDOMDocumentFragment IXMLDOMDocumentFragment; typedef struct IXMLDOMDocument IXMLDOMDocument; typedef struct IXMLDOMNodeList IXMLDOMNodeList; typedef struct IXMLDOMNamedNodeMap IXMLDOMNamedNodeMap; typedef struct IXMLDOMCharacterData IXMLDOMCharacterData; typedef struct IXMLDOMAttribute IXMLDOMAttribute; typedef struct IXMLDOMElement IXMLDOMElement; typedef struct IXMLDOMText IXMLDOMText; typedef struct IXMLDOMComment IXMLDOMComment; typedef struct IXMLDOMProcessingInstruction IXMLDOMProcessingInstruction; typedef struct IXMLDOMCDATASection IXMLDOMCDATASection; typedef struct IXMLDOMDocumentType IXMLDOMDocumentType; typedef struct IXMLDOMNotation IXMLDOMNotation; typedef struct IXMLDOMEntity IXMLDOMEntity; typedef struct IXMLDOMEntityReference IXMLDOMEntityReference; typedef struct IXMLDOMParseError IXMLDOMParseError; typedef struct IXTLRuntime IXTLRuntime; typedef struct XMLDOMDocumentEvents XMLDOMDocumentEvents; typedef class DOMDocument DOMDocument; typedef class DOMFreeThreadedDocument DOMFreeThreadedDocument; typedef struct IXMLHttpRequest IXMLHttpRequest; typedef class XMLHTTPRequest XMLHTTPRequest; typedef struct IXMLDSOControl IXMLDSOControl; typedef class XMLDSOControl XMLDSOControl; typedef struct IXMLElementCollection IXMLElementCollection; typedef struct IXMLDocument IXMLDocument; typedef struct IXMLDocument2 IXMLDocument2; typedef struct IXMLElement IXMLElement; typedef struct IXMLElement2 IXMLElement2; typedef struct IXMLAttribute IXMLAttribute; typedef struct IXMLError IXMLError; typedef class XMLDocument XMLDocument; extern "C"{ #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:4820) #pragma region Desktop Family typedef struct _xml_error { unsigned int _nLine; BSTR _pchBuf; unsigned int _cchBuf; unsigned int _ich; BSTR _pszFound; BSTR _pszExpected; DWORD _reserved1; DWORD _reserved2; } XML_ERROR; extern RPC_IF_HANDLE __MIDL_itf_msxml_0000_0000_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_msxml_0000_0000_v0_0_s_ifspec; #pragma region Desktop Family #pragma region Desktop Family #pragma endregion #pragma region Desktop Family #pragma endregion typedef enum tagDOMNodeType { NODE_INVALID = 0, NODE_ELEMENT = ( NODE_INVALID + 1 ) , NODE_ATTRIBUTE = ( NODE_ELEMENT + 1 ) , NODE_TEXT = ( NODE_ATTRIBUTE + 1 ) , NODE_CDATA_SECTION = ( NODE_TEXT + 1 ) , NODE_ENTITY_REFERENCE = ( NODE_CDATA_SECTION + 1 ) , NODE_ENTITY = ( NODE_ENTITY_REFERENCE + 1 ) , NODE_PROCESSING_INSTRUCTION = ( NODE_ENTITY + 1 ) , NODE_COMMENT = ( NODE_PROCESSING_INSTRUCTION + 1 ) , NODE_DOCUMENT = ( NODE_COMMENT + 1 ) , NODE_DOCUMENT_TYPE = ( NODE_DOCUMENT + 1 ) , NODE_DOCUMENT_FRAGMENT = ( NODE_DOCUMENT_TYPE + 1 ) , NODE_NOTATION = ( NODE_DOCUMENT_FRAGMENT + 1 ) } DOMNodeType; #pragma endregion #pragma region Desktop Family #pragma region Desktop Family #pragma endregion #pragma region Desktop Family #pragma endregion #pragma endregion typedef enum tagXMLEMEM_TYPE { XMLELEMTYPE_ELEMENT = 0, XMLELEMTYPE_TEXT = ( XMLELEMTYPE_ELEMENT + 1 ) , XMLELEMTYPE_COMMENT = ( XMLELEMTYPE_TEXT + 1 ) , XMLELEMTYPE_DOCUMENT = ( XMLELEMTYPE_COMMENT + 1 ) , XMLELEMTYPE_DTD = ( XMLELEMTYPE_DOCUMENT + 1 ) , XMLELEMTYPE_PI = ( XMLELEMTYPE_DTD + 1 ) , XMLELEMTYPE_OTHER = ( XMLELEMTYPE_PI + 1 ) } XMLELEM_TYPE; extern "C" const IID LIBID_MSXML; extern "C" const IID IID_IXMLDOMImplementation; struct __declspec(uuid("2933BF8F-7B36-11d2-B20E-00C04F983E60")) __declspec(novtable) IXMLDOMImplementation : public IDispatch { public: virtual HRESULT __stdcall hasFeature( BSTR feature, BSTR version, VARIANT_BOOL *hasFeature) = 0; }; extern "C" const IID IID_IXMLDOMNode; struct __declspec(uuid("2933BF80-7B36-11d2-B20E-00C04F983E60")) __declspec(novtable) IXMLDOMNode : public IDispatch { public: virtual HRESULT __stdcall get_nodeName( BSTR *name) = 0; virtual HRESULT __stdcall get_nodeValue( VARIANT *value) = 0; virtual HRESULT __stdcall put_nodeValue( VARIANT value) = 0; virtual HRESULT __stdcall get_nodeType( DOMNodeType *type) = 0; virtual HRESULT __stdcall get_parentNode( IXMLDOMNode **parent) = 0; virtual HRESULT __stdcall get_childNodes( IXMLDOMNodeList **childList) = 0; virtual HRESULT __stdcall get_firstChild( IXMLDOMNode **firstChild) = 0; virtual HRESULT __stdcall get_lastChild( IXMLDOMNode **lastChild) = 0; virtual HRESULT __stdcall get_previousSibling( IXMLDOMNode **previousSibling) = 0; virtual HRESULT __stdcall get_nextSibling( IXMLDOMNode **nextSibling) = 0; virtual HRESULT __stdcall get_attributes( IXMLDOMNamedNodeMap **attributeMap) = 0; virtual HRESULT __stdcall insertBefore( IXMLDOMNode *newChild, VARIANT refChild, IXMLDOMNode **outNewChild) = 0; virtual HRESULT __stdcall replaceChild( IXMLDOMNode *newChild, IXMLDOMNode *oldChild, IXMLDOMNode **outOldChild) = 0; virtual HRESULT __stdcall removeChild( IXMLDOMNode *childNode, IXMLDOMNode **oldChild) = 0; virtual HRESULT __stdcall appendChild( IXMLDOMNode *newChild, IXMLDOMNode **outNewChild) = 0; virtual HRESULT __stdcall hasChildNodes( VARIANT_BOOL *hasChild) = 0; virtual HRESULT __stdcall get_ownerDocument( IXMLDOMDocument **XMLDOMDocument) = 0; virtual HRESULT __stdcall cloneNode( VARIANT_BOOL deep, IXMLDOMNode **cloneRoot) = 0; virtual HRESULT __stdcall get_nodeTypeString( BSTR *nodeType) = 0; virtual HRESULT __stdcall get_text( BSTR *text) = 0; virtual HRESULT __stdcall put_text( BSTR text) = 0; virtual HRESULT __stdcall get_specified( VARIANT_BOOL *isSpecified) = 0; virtual HRESULT __stdcall get_definition( IXMLDOMNode **definitionNode) = 0; virtual HRESULT __stdcall get_nodeTypedValue( VARIANT *typedValue) = 0; virtual HRESULT __stdcall put_nodeTypedValue( VARIANT typedValue) = 0; virtual HRESULT __stdcall get_dataType( VARIANT *dataTypeName) = 0; virtual HRESULT __stdcall put_dataType( BSTR dataTypeName) = 0; virtual HRESULT __stdcall get_xml( BSTR *xmlString) = 0; virtual HRESULT __stdcall transformNode( IXMLDOMNode *stylesheet, BSTR *xmlString) = 0; virtual HRESULT __stdcall selectNodes( BSTR queryString, IXMLDOMNodeList **resultList) = 0; virtual HRESULT __stdcall selectSingleNode( BSTR queryString, IXMLDOMNode **resultNode) = 0; virtual HRESULT __stdcall get_parsed( VARIANT_BOOL *isParsed) = 0; virtual HRESULT __stdcall get_namespaceURI( BSTR *namespaceURI) = 0; virtual HRESULT __stdcall get_prefix( BSTR *prefixString) = 0; virtual HRESULT __stdcall get_baseName( BSTR *nameString) = 0; virtual HRESULT __stdcall transformNodeToObject( IXMLDOMNode *stylesheet, VARIANT outputObject) = 0; }; extern "C" const IID IID_IXMLDOMDocumentFragment; struct __declspec(uuid("3efaa413-272f-11d2-836f-0000f87a7782")) __declspec(novtable) IXMLDOMDocumentFragment : public IXMLDOMNode { public: }; extern "C" const IID IID_IXMLDOMDocument; struct __declspec(uuid("2933BF81-7B36-11d2-B20E-00C04F983E60")) __declspec(novtable) IXMLDOMDocument : public IXMLDOMNode { public: virtual HRESULT __stdcall get_doctype( IXMLDOMDocumentType **documentType) = 0; virtual HRESULT __stdcall get_implementation( IXMLDOMImplementation **impl) = 0; virtual HRESULT __stdcall get_documentElement( IXMLDOMElement **DOMElement) = 0; virtual HRESULT __stdcall putref_documentElement( IXMLDOMElement *DOMElement) = 0; virtual HRESULT __stdcall createElement( BSTR tagName, IXMLDOMElement **element) = 0; virtual HRESULT __stdcall createDocumentFragment( IXMLDOMDocumentFragment **docFrag) = 0; virtual HRESULT __stdcall createTextNode( BSTR data, IXMLDOMText **text) = 0; virtual HRESULT __stdcall createComment( BSTR data, IXMLDOMComment **comment) = 0; virtual HRESULT __stdcall createCDATASection( BSTR data, IXMLDOMCDATASection **cdata) = 0; virtual HRESULT __stdcall createProcessingInstruction( BSTR target, BSTR data, IXMLDOMProcessingInstruction **pi) = 0; virtual HRESULT __stdcall createAttribute( BSTR name, IXMLDOMAttribute **attribute) = 0; virtual HRESULT __stdcall createEntityReference( BSTR name, IXMLDOMEntityReference **entityRef) = 0; virtual HRESULT __stdcall getElementsByTagName( BSTR tagName, IXMLDOMNodeList **resultList) = 0; virtual HRESULT __stdcall createNode( VARIANT Type, BSTR name, BSTR namespaceURI, IXMLDOMNode **node) = 0; virtual HRESULT __stdcall nodeFromID( BSTR idString, IXMLDOMNode **node) = 0; virtual HRESULT __stdcall load( VARIANT xmlSource, VARIANT_BOOL *isSuccessful) = 0; virtual HRESULT __stdcall get_readyState( long *value) = 0; virtual HRESULT __stdcall get_parseError( IXMLDOMParseError **errorObj) = 0; virtual HRESULT __stdcall get_url( BSTR *urlString) = 0; virtual HRESULT __stdcall get_async( VARIANT_BOOL *isAsync) = 0; virtual HRESULT __stdcall put_async( VARIANT_BOOL isAsync) = 0; virtual HRESULT __stdcall abort( void) = 0; virtual HRESULT __stdcall loadXML( BSTR bstrXML, VARIANT_BOOL *isSuccessful) = 0; virtual HRESULT __stdcall save( VARIANT destination) = 0; virtual HRESULT __stdcall get_validateOnParse( VARIANT_BOOL *isValidating) = 0; virtual HRESULT __stdcall put_validateOnParse( VARIANT_BOOL isValidating) = 0; virtual HRESULT __stdcall get_resolveExternals( VARIANT_BOOL *isResolving) = 0; virtual HRESULT __stdcall put_resolveExternals( VARIANT_BOOL isResolving) = 0; virtual HRESULT __stdcall get_preserveWhiteSpace( VARIANT_BOOL *isPreserving) = 0; virtual HRESULT __stdcall put_preserveWhiteSpace( VARIANT_BOOL isPreserving) = 0; virtual HRESULT __stdcall put_onreadystatechange( VARIANT readystatechangeSink) = 0; virtual HRESULT __stdcall put_ondataavailable( VARIANT ondataavailableSink) = 0; virtual HRESULT __stdcall put_ontransformnode( VARIANT ontransformnodeSink) = 0; }; extern "C" const IID IID_IXMLDOMNodeList; struct __declspec(uuid("2933BF82-7B36-11d2-B20E-00C04F983E60")) __declspec(novtable) IXMLDOMNodeList : public IDispatch { public: virtual HRESULT __stdcall get_item( long index, IXMLDOMNode **listItem) = 0; virtual HRESULT __stdcall get_length( long *listLength) = 0; virtual HRESULT __stdcall nextNode( IXMLDOMNode **nextItem) = 0; virtual HRESULT __stdcall reset( void) = 0; virtual HRESULT __stdcall get__newEnum( IUnknown **ppUnk) = 0; }; extern "C" const IID IID_IXMLDOMNamedNodeMap; struct __declspec(uuid("2933BF83-7B36-11d2-B20E-00C04F983E60")) __declspec(novtable) IXMLDOMNamedNodeMap : public IDispatch { public: virtual HRESULT __stdcall getNamedItem( BSTR name, IXMLDOMNode **namedItem) = 0; virtual HRESULT __stdcall setNamedItem( IXMLDOMNode *newItem, IXMLDOMNode **nameItem) = 0; virtual HRESULT __stdcall removeNamedItem( BSTR name, IXMLDOMNode **namedItem) = 0; virtual HRESULT __stdcall get_item( long index, IXMLDOMNode **listItem) = 0; virtual HRESULT __stdcall get_length( long *listLength) = 0; virtual HRESULT __stdcall getQualifiedItem( BSTR baseName, BSTR namespaceURI, IXMLDOMNode **qualifiedItem) = 0; virtual HRESULT __stdcall removeQualifiedItem( BSTR baseName, BSTR namespaceURI, IXMLDOMNode **qualifiedItem) = 0; virtual HRESULT __stdcall nextNode( IXMLDOMNode **nextItem) = 0; virtual HRESULT __stdcall reset( void) = 0; virtual HRESULT __stdcall get__newEnum( IUnknown **ppUnk) = 0; }; extern "C" const IID IID_IXMLDOMCharacterData; struct __declspec(uuid("2933BF84-7B36-11d2-B20E-00C04F983E60")) __declspec(novtable) IXMLDOMCharacterData : public IXMLDOMNode { public: virtual HRESULT __stdcall get_data( BSTR *data) = 0; virtual HRESULT __stdcall put_data( BSTR data) = 0; virtual HRESULT __stdcall get_length( long *dataLength) = 0; virtual HRESULT __stdcall substringData( long offset, long count, BSTR *data) = 0; virtual HRESULT __stdcall appendData( BSTR data) = 0; virtual HRESULT __stdcall insertData( long offset, BSTR data) = 0; virtual HRESULT __stdcall deleteData( long offset, long count) = 0; virtual HRESULT __stdcall replaceData( long offset, long count, BSTR data) = 0; }; extern "C" const IID IID_IXMLDOMAttribute; struct __declspec(uuid("2933BF85-7B36-11d2-B20E-00C04F983E60")) __declspec(novtable) IXMLDOMAttribute : public IXMLDOMNode { public: virtual HRESULT __stdcall get_name( BSTR *attributeName) = 0; virtual HRESULT __stdcall get_value( VARIANT *attributeValue) = 0; virtual HRESULT __stdcall put_value( VARIANT attributeValue) = 0; }; extern "C" const IID IID_IXMLDOMElement; struct __declspec(uuid("2933BF86-7B36-11d2-B20E-00C04F983E60")) __declspec(novtable) IXMLDOMElement : public IXMLDOMNode { public: virtual HRESULT __stdcall get_tagName( BSTR *tagName) = 0; virtual HRESULT __stdcall getAttribute( BSTR name, VARIANT *value) = 0; virtual HRESULT __stdcall setAttribute( BSTR name, VARIANT value) = 0; virtual HRESULT __stdcall removeAttribute( BSTR name) = 0; virtual HRESULT __stdcall getAttributeNode( BSTR name, IXMLDOMAttribute **attributeNode) = 0; virtual HRESULT __stdcall setAttributeNode( IXMLDOMAttribute *DOMAttribute, IXMLDOMAttribute **attributeNode) = 0; virtual HRESULT __stdcall removeAttributeNode( IXMLDOMAttribute *DOMAttribute, IXMLDOMAttribute **attributeNode) = 0; virtual HRESULT __stdcall getElementsByTagName( BSTR tagName, IXMLDOMNodeList **resultList) = 0; virtual HRESULT __stdcall normalize( void) = 0; }; extern "C" const IID IID_IXMLDOMText; struct __declspec(uuid("2933BF87-7B36-11d2-B20E-00C04F983E60")) __declspec(novtable) IXMLDOMText : public IXMLDOMCharacterData { public: virtual HRESULT __stdcall splitText( long offset, IXMLDOMText **rightHandTextNode) = 0; }; extern "C" const IID IID_IXMLDOMComment; struct __declspec(uuid("2933BF88-7B36-11d2-B20E-00C04F983E60")) __declspec(novtable) IXMLDOMComment : public IXMLDOMCharacterData { public: }; extern "C" const IID IID_IXMLDOMProcessingInstruction; struct __declspec(uuid("2933BF89-7B36-11d2-B20E-00C04F983E60")) __declspec(novtable) IXMLDOMProcessingInstruction : public IXMLDOMNode { public: virtual HRESULT __stdcall get_target( BSTR *name) = 0; virtual HRESULT __stdcall get_data( BSTR *value) = 0; virtual HRESULT __stdcall put_data( BSTR value) = 0; }; extern "C" const IID IID_IXMLDOMCDATASection; struct __declspec(uuid("2933BF8A-7B36-11d2-B20E-00C04F983E60")) __declspec(novtable) IXMLDOMCDATASection : public IXMLDOMText { public: }; extern "C" const IID IID_IXMLDOMDocumentType; struct __declspec(uuid("2933BF8B-7B36-11d2-B20E-00C04F983E60")) __declspec(novtable) IXMLDOMDocumentType : public IXMLDOMNode { public: virtual HRESULT __stdcall get_name( BSTR *rootName) = 0; virtual HRESULT __stdcall get_entities( IXMLDOMNamedNodeMap **entityMap) = 0; virtual HRESULT __stdcall get_notations( IXMLDOMNamedNodeMap **notationMap) = 0; }; extern "C" const IID IID_IXMLDOMNotation; struct __declspec(uuid("2933BF8C-7B36-11d2-B20E-00C04F983E60")) __declspec(novtable) IXMLDOMNotation : public IXMLDOMNode { public: virtual HRESULT __stdcall get_publicId( VARIANT *publicID) = 0; virtual HRESULT __stdcall get_systemId( VARIANT *systemID) = 0; }; extern "C" const IID IID_IXMLDOMEntity; struct __declspec(uuid("2933BF8D-7B36-11d2-B20E-00C04F983E60")) __declspec(novtable) IXMLDOMEntity : public IXMLDOMNode { public: virtual HRESULT __stdcall get_publicId( VARIANT *publicID) = 0; virtual HRESULT __stdcall get_systemId( VARIANT *systemID) = 0; virtual HRESULT __stdcall get_notationName( BSTR *name) = 0; }; extern "C" const IID IID_IXMLDOMEntityReference; struct __declspec(uuid("2933BF8E-7B36-11d2-B20E-00C04F983E60")) __declspec(novtable) IXMLDOMEntityReference : public IXMLDOMNode { public: }; extern "C" const IID IID_IXMLDOMParseError; struct __declspec(uuid("3efaa426-272f-11d2-836f-0000f87a7782")) __declspec(novtable) IXMLDOMParseError : public IDispatch { public: virtual HRESULT __stdcall get_errorCode( long *errorCode) = 0; virtual HRESULT __stdcall get_url( BSTR *urlString) = 0; virtual HRESULT __stdcall get_reason( BSTR *reasonString) = 0; virtual HRESULT __stdcall get_srcText( BSTR *sourceString) = 0; virtual HRESULT __stdcall get_line( long *lineNumber) = 0; virtual HRESULT __stdcall get_linepos( long *linePosition) = 0; virtual HRESULT __stdcall get_filepos( long *filePosition) = 0; }; extern "C" const IID IID_IXTLRuntime; struct __declspec(uuid("3efaa425-272f-11d2-836f-0000f87a7782")) __declspec(novtable) IXTLRuntime : public IXMLDOMNode { public: virtual HRESULT __stdcall uniqueID( IXMLDOMNode *pNode, long *pID) = 0; virtual HRESULT __stdcall depth( IXMLDOMNode *pNode, long *pDepth) = 0; virtual HRESULT __stdcall childNumber( IXMLDOMNode *pNode, long *pNumber) = 0; virtual HRESULT __stdcall ancestorChildNumber( BSTR bstrNodeName, IXMLDOMNode *pNode, long *pNumber) = 0; virtual HRESULT __stdcall absoluteChildNumber( IXMLDOMNode *pNode, long *pNumber) = 0; virtual HRESULT __stdcall formatIndex( long lIndex, BSTR bstrFormat, BSTR *pbstrFormattedString) = 0; virtual HRESULT __stdcall formatNumber( double dblNumber, BSTR bstrFormat, BSTR *pbstrFormattedString) = 0; virtual HRESULT __stdcall formatDate( VARIANT varDate, BSTR bstrFormat, VARIANT varDestLocale, BSTR *pbstrFormattedString) = 0; virtual HRESULT __stdcall formatTime( VARIANT varTime, BSTR bstrFormat, VARIANT varDestLocale, BSTR *pbstrFormattedString) = 0; }; extern "C" const IID DIID_XMLDOMDocumentEvents; struct __declspec(uuid("3efaa427-272f-11d2-836f-0000f87a7782")) __declspec(novtable) XMLDOMDocumentEvents : public IDispatch { }; extern "C" const CLSID CLSID_DOMDocument; class __declspec(uuid("2933BF90-7B36-11d2-B20E-00C04F983E60")) DOMDocument; extern "C" const CLSID CLSID_DOMFreeThreadedDocument; class __declspec(uuid("2933BF91-7B36-11d2-B20E-00C04F983E60")) DOMFreeThreadedDocument; extern "C" const IID IID_IXMLHttpRequest; struct __declspec(uuid("ED8C108D-4349-11D2-91A4-00C04F7969E8")) __declspec(novtable) IXMLHttpRequest : public IDispatch { public: virtual HRESULT __stdcall open( BSTR bstrMethod, BSTR bstrUrl, VARIANT varAsync, VARIANT bstrUser, VARIANT bstrPassword) = 0; virtual HRESULT __stdcall setRequestHeader( BSTR bstrHeader, BSTR bstrValue) = 0; virtual HRESULT __stdcall getResponseHeader( BSTR bstrHeader, BSTR *pbstrValue) = 0; virtual HRESULT __stdcall getAllResponseHeaders( BSTR *pbstrHeaders) = 0; virtual HRESULT __stdcall send( VARIANT varBody) = 0; virtual HRESULT __stdcall abort( void) = 0; virtual HRESULT __stdcall get_status( long *plStatus) = 0; virtual HRESULT __stdcall get_statusText( BSTR *pbstrStatus) = 0; virtual HRESULT __stdcall get_responseXML( IDispatch **ppBody) = 0; virtual HRESULT __stdcall get_responseText( BSTR *pbstrBody) = 0; virtual HRESULT __stdcall get_responseBody( VARIANT *pvarBody) = 0; virtual HRESULT __stdcall get_responseStream( VARIANT *pvarBody) = 0; virtual HRESULT __stdcall get_readyState( long *plState) = 0; virtual HRESULT __stdcall put_onreadystatechange( IDispatch *pReadyStateSink) = 0; }; extern "C" const CLSID CLSID_XMLHTTPRequest; class __declspec(uuid("ED8C108E-4349-11D2-91A4-00C04F7969E8")) XMLHTTPRequest; extern "C" const IID IID_IXMLDSOControl; struct __declspec(uuid("310afa62-0575-11d2-9ca9-0060b0ec3d39")) __declspec(novtable) IXMLDSOControl : public IDispatch { public: virtual HRESULT __stdcall get_XMLDocument( IXMLDOMDocument **ppDoc) = 0; virtual HRESULT __stdcall put_XMLDocument( IXMLDOMDocument *ppDoc) = 0; virtual HRESULT __stdcall get_JavaDSOCompatible( BOOL *fJavaDSOCompatible) = 0; virtual HRESULT __stdcall put_JavaDSOCompatible( BOOL fJavaDSOCompatible) = 0; virtual HRESULT __stdcall get_readyState( long *state) = 0; }; extern "C" const CLSID CLSID_XMLDSOControl; class __declspec(uuid("550dda30-0541-11d2-9ca9-0060b0ec3d39")) XMLDSOControl; extern "C" const IID IID_IXMLElementCollection; struct __declspec(uuid("65725580-9B5D-11d0-9BFE-00C04FC99C8E")) __declspec(novtable) IXMLElementCollection : public IDispatch { public: virtual HRESULT __stdcall put_length( long v) = 0; virtual HRESULT __stdcall get_length( long *p) = 0; virtual HRESULT __stdcall get__newEnum( IUnknown **ppUnk) = 0; virtual HRESULT __stdcall item( VARIANT var1, VARIANT var2, IDispatch **ppDisp) = 0; }; extern "C" const IID IID_IXMLDocument; struct __declspec(uuid("F52E2B61-18A1-11d1-B105-00805F49916B")) __declspec(novtable) IXMLDocument : public IDispatch { public: virtual HRESULT __stdcall get_root( IXMLElement **p) = 0; virtual HRESULT __stdcall get_fileSize( BSTR *p) = 0; virtual HRESULT __stdcall get_fileModifiedDate( BSTR *p) = 0; virtual HRESULT __stdcall get_fileUpdatedDate( BSTR *p) = 0; virtual HRESULT __stdcall get_URL( BSTR *p) = 0; virtual HRESULT __stdcall put_URL( BSTR p) = 0; virtual HRESULT __stdcall get_mimeType( BSTR *p) = 0; virtual HRESULT __stdcall get_readyState( long *pl) = 0; virtual HRESULT __stdcall get_charset( BSTR *p) = 0; virtual HRESULT __stdcall put_charset( BSTR p) = 0; virtual HRESULT __stdcall get_version( BSTR *p) = 0; virtual HRESULT __stdcall get_doctype( BSTR *p) = 0; virtual HRESULT __stdcall get_dtdURL( BSTR *p) = 0; virtual HRESULT __stdcall createElement( VARIANT vType, VARIANT var1, IXMLElement **ppElem) = 0; }; extern "C" const IID IID_IXMLDocument2; struct __declspec(uuid("2B8DE2FE-8D2D-11d1-B2FC-00C04FD915A9")) __declspec(novtable) IXMLDocument2 : public IDispatch { public: virtual HRESULT __stdcall get_root( IXMLElement2 **p) = 0; virtual HRESULT __stdcall get_fileSize( BSTR *p) = 0; virtual HRESULT __stdcall get_fileModifiedDate( BSTR *p) = 0; virtual HRESULT __stdcall get_fileUpdatedDate( BSTR *p) = 0; virtual HRESULT __stdcall get_URL( BSTR *p) = 0; virtual HRESULT __stdcall put_URL( BSTR p) = 0; virtual HRESULT __stdcall get_mimeType( BSTR *p) = 0; virtual HRESULT __stdcall get_readyState( long *pl) = 0; virtual HRESULT __stdcall get_charset( BSTR *p) = 0; virtual HRESULT __stdcall put_charset( BSTR p) = 0; virtual HRESULT __stdcall get_version( BSTR *p) = 0; virtual HRESULT __stdcall get_doctype( BSTR *p) = 0; virtual HRESULT __stdcall get_dtdURL( BSTR *p) = 0; virtual HRESULT __stdcall createElement( VARIANT vType, VARIANT var1, IXMLElement2 **ppElem) = 0; virtual HRESULT __stdcall get_async( VARIANT_BOOL *pf) = 0; virtual HRESULT __stdcall put_async( VARIANT_BOOL f) = 0; }; extern "C" const IID IID_IXMLElement; struct __declspec(uuid("3F7F31AC-E15F-11d0-9C25-00C04FC99C8E")) __declspec(novtable) IXMLElement : public IDispatch { public: virtual HRESULT __stdcall get_tagName( BSTR *p) = 0; virtual HRESULT __stdcall put_tagName( BSTR p) = 0; virtual HRESULT __stdcall get_parent( IXMLElement **ppParent) = 0; virtual HRESULT __stdcall setAttribute( BSTR strPropertyName, VARIANT PropertyValue) = 0; virtual HRESULT __stdcall getAttribute( BSTR strPropertyName, VARIANT *PropertyValue) = 0; virtual HRESULT __stdcall removeAttribute( BSTR strPropertyName) = 0; virtual HRESULT __stdcall get_children( IXMLElementCollection **pp) = 0; virtual HRESULT __stdcall get_type( long *plType) = 0; virtual HRESULT __stdcall get_text( BSTR *p) = 0; virtual HRESULT __stdcall put_text( BSTR p) = 0; virtual HRESULT __stdcall addChild( IXMLElement *pChildElem, long lIndex, long lReserved) = 0; virtual HRESULT __stdcall removeChild( IXMLElement *pChildElem) = 0; }; extern "C" const IID IID_IXMLElement2; struct __declspec(uuid("2B8DE2FF-8D2D-11d1-B2FC-00C04FD915A9")) __declspec(novtable) IXMLElement2 : public IDispatch { public: virtual HRESULT __stdcall get_tagName( BSTR *p) = 0; virtual HRESULT __stdcall put_tagName( BSTR p) = 0; virtual HRESULT __stdcall get_parent( IXMLElement2 **ppParent) = 0; virtual HRESULT __stdcall setAttribute( BSTR strPropertyName, VARIANT PropertyValue) = 0; virtual HRESULT __stdcall getAttribute( BSTR strPropertyName, VARIANT *PropertyValue) = 0; virtual HRESULT __stdcall removeAttribute( BSTR strPropertyName) = 0; virtual HRESULT __stdcall get_children( IXMLElementCollection **pp) = 0; virtual HRESULT __stdcall get_type( long *plType) = 0; virtual HRESULT __stdcall get_text( BSTR *p) = 0; virtual HRESULT __stdcall put_text( BSTR p) = 0; virtual HRESULT __stdcall addChild( IXMLElement2 *pChildElem, long lIndex, long lReserved) = 0; virtual HRESULT __stdcall removeChild( IXMLElement2 *pChildElem) = 0; virtual HRESULT __stdcall get_attributes( IXMLElementCollection **pp) = 0; }; extern "C" const IID IID_IXMLAttribute; struct __declspec(uuid("D4D4A0FC-3B73-11d1-B2B4-00C04FB92596")) __declspec(novtable) IXMLAttribute : public IDispatch { public: virtual HRESULT __stdcall get_name( BSTR *n) = 0; virtual HRESULT __stdcall get_value( BSTR *v) = 0; }; extern "C" const IID IID_IXMLError; struct __declspec(uuid("948C5AD3-C58D-11d0-9C0B-00C04FC99C8E")) __declspec(novtable) IXMLError : public IUnknown { public: virtual HRESULT __stdcall GetErrorInfo( XML_ERROR *pErrorReturn) = 0; }; extern "C" const CLSID CLSID_XMLDocument; class __declspec(uuid("CFC399AF-D876-11d0-9C10-00C04FC99C8E")) XMLDocument; #pragma endregion #pragma warning(pop) extern RPC_IF_HANDLE __MIDL_itf_msxml_0000_0001_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_msxml_0000_0001_v0_0_s_ifspec; } extern "C"{ #pragma comment(lib,"uuid.lib") #pragma warning(push) #pragma warning(disable:4820) #pragma region Desktop Family extern "C" const IID CLSID_SBS_StdURLMoniker; extern "C" const IID CLSID_SBS_HttpProtocol; extern "C" const IID CLSID_SBS_FtpProtocol; extern "C" const IID CLSID_SBS_GopherProtocol; extern "C" const IID CLSID_SBS_HttpSProtocol; extern "C" const IID CLSID_SBS_FileProtocol; extern "C" const IID CLSID_SBS_MkProtocol; extern "C" const IID CLSID_SBS_UrlMkBindCtx; extern "C" const IID CLSID_SBS_SoftDistExt; extern "C" const IID CLSID_SBS_CdlProtocol; extern "C" const IID CLSID_SBS_ClassInstallFilter; extern "C" const IID CLSID_SBS_InternetSecurityManager; extern "C" const IID CLSID_SBS_InternetZoneManager; extern "C" const IID IID_IAsyncMoniker; extern "C" const IID CLSID_StdURLMoniker; extern "C" const IID CLSID_HttpProtocol; extern "C" const IID CLSID_FtpProtocol; extern "C" const IID CLSID_GopherProtocol; extern "C" const IID CLSID_HttpSProtocol; extern "C" const IID CLSID_FileProtocol; extern "C" const IID CLSID_ResProtocol; extern "C" const IID CLSID_AboutProtocol; extern "C" const IID CLSID_JSProtocol; extern "C" const IID CLSID_MailtoProtocol; extern "C" const IID CLSID_IE4_PROTOCOLS; extern "C" const IID CLSID_MkProtocol; extern "C" const IID CLSID_StdURLProtocol; extern "C" const IID CLSID_TBAuthProtocol; extern "C" const IID CLSID_UrlMkBindCtx; extern "C" const IID CLSID_CdlProtocol; extern "C" const IID CLSID_ClassInstallFilter; extern "C" const IID IID_IAsyncBindCtx; extern "C" HRESULT __stdcall CreateURLMoniker( LPMONIKER pMkCtx, LPCWSTR szURL, LPMONIKER * ppmk); extern "C" HRESULT __stdcall CreateURLMonikerEx( LPMONIKER pMkCtx, LPCWSTR szURL, LPMONIKER * ppmk, DWORD dwFlags); extern "C" HRESULT __stdcall GetClassURL( LPCWSTR szURL, CLSID *pClsID); extern "C" HRESULT __stdcall CreateAsyncBindCtx(DWORD reserved, IBindStatusCallback *pBSCb, IEnumFORMATETC *pEFetc, IBindCtx **ppBC); extern "C" HRESULT __stdcall CreateURLMonikerEx2( LPMONIKER pMkCtx, IUri* pUri, LPMONIKER * ppmk, DWORD dwFlags); extern "C" HRESULT __stdcall CreateAsyncBindCtxEx( IBindCtx *pbc, DWORD dwOptions, IBindStatusCallback *pBSCb, IEnumFORMATETC *pEnum, IBindCtx **ppBC, DWORD reserved); extern "C" HRESULT __stdcall MkParseDisplayNameEx( IBindCtx *pbc, LPCWSTR szDisplayName, ULONG *pchEaten, LPMONIKER *ppmk); extern "C" HRESULT __stdcall RegisterBindStatusCallback( LPBC pBC, IBindStatusCallback *pBSCb, IBindStatusCallback** ppBSCBPrev, DWORD dwReserved); extern "C" HRESULT __stdcall RevokeBindStatusCallback( LPBC pBC, IBindStatusCallback *pBSCb); extern "C" HRESULT __stdcall GetClassFileOrMime( LPBC pBC, LPCWSTR szFilename, LPVOID pBuffer, DWORD cbSize, LPCWSTR szMime, DWORD dwReserved, CLSID *pclsid); extern "C" HRESULT __stdcall IsValidURL( LPBC pBC, LPCWSTR szURL, DWORD dwReserved); extern "C" HRESULT __stdcall CoGetClassObjectFromURL( const IID & rCLASSID, LPCWSTR szCODE, DWORD dwFileVersionMS, DWORD dwFileVersionLS, LPCWSTR szTYPE, LPBINDCTX pBindCtx, DWORD dwClsContext, LPVOID pvReserved, const IID & riid, LPVOID * ppv); extern "C" HRESULT __stdcall IEInstallScope( LPDWORD pdwScope); extern "C" HRESULT __stdcall FaultInIEFeature( HWND hWnd, uCLSSPEC *pClassSpec, QUERYCONTEXT *pQuery, DWORD dwFlags); extern "C" HRESULT __stdcall GetComponentIDFromCLSSPEC( uCLSSPEC *pClassspec, LPSTR * ppszComponentID); extern "C" HRESULT __stdcall IsAsyncMoniker( IMoniker* pmk); extern "C" HRESULT __stdcall CreateURLBinding(LPCWSTR lpszUrl, IBindCtx *pbc, IBinding **ppBdg); extern "C" HRESULT __stdcall RegisterMediaTypes( UINT ctypes, const LPCSTR* rgszTypes, CLIPFORMAT* rgcfTypes); extern "C" HRESULT __stdcall FindMediaType( LPCSTR rgszTypes, CLIPFORMAT* rgcfTypes); extern "C" HRESULT __stdcall CreateFormatEnumerator( UINT cfmtetc, FORMATETC* rgfmtetc, IEnumFORMATETC** ppenumfmtetc); extern "C" HRESULT __stdcall RegisterFormatEnumerator( LPBC pBC, IEnumFORMATETC *pEFetc, DWORD reserved); extern "C" HRESULT __stdcall RevokeFormatEnumerator( LPBC pBC, IEnumFORMATETC *pEFetc); extern "C" HRESULT __stdcall RegisterMediaTypeClass( LPBC pBC, UINT ctypes, const LPCSTR* rgszTypes, CLSID *rgclsID, DWORD reserved); extern "C" HRESULT __stdcall FindMediaTypeClass( LPBC pBC, LPCSTR szType, CLSID *pclsID, DWORD reserved); #pragma endregion #pragma region Application Family extern "C" HRESULT __stdcall UrlMkSetSessionOption(DWORD dwOption, LPVOID pBuffer, DWORD dwBufferLength, DWORD dwReserved); extern "C" HRESULT __stdcall UrlMkGetSessionOption(DWORD dwOption, LPVOID pBuffer, DWORD dwBufferLength, DWORD *pdwBufferLengthOut, DWORD dwReserved); #pragma endregion #pragma region Desktop Family extern "C" HRESULT __stdcall FindMimeFromData( LPBC pBC, LPCWSTR pwzUrl, LPVOID pBuffer, DWORD cbSize, LPCWSTR pwzMimeProposed, DWORD dwMimeFlags, LPWSTR *ppwzMimeOut, DWORD dwReserved); extern "C" HRESULT __stdcall ObtainUserAgentString( DWORD dwOption, LPSTR pszUAOut, DWORD *cbSize); extern "C" HRESULT __stdcall CompareSecurityIds( BYTE* pbSecurityId1, DWORD dwLen1, BYTE* pbSecurityId2, DWORD dwLen2, DWORD dwReserved); extern "C" HRESULT __stdcall CompatFlagsFromClsid( CLSID *pclsid, LPDWORD pdwCompatFlags, LPDWORD pdwMiscStatusFlags); typedef enum IEObjectType { IE_EPM_OBJECT_EVENT, IE_EPM_OBJECT_MUTEX, IE_EPM_OBJECT_SEMAPHORE, IE_EPM_OBJECT_SHARED_MEMORY, IE_EPM_OBJECT_WAITABLE_TIMER, IE_EPM_OBJECT_FILE, IE_EPM_OBJECT_NAMED_PIPE, IE_EPM_OBJECT_REGISTRY, } IEObjectType; extern "C" HRESULT __stdcall SetAccessForIEAppContainer( HANDLE hObject, IEObjectType ieObjectType, DWORD dwAccessMask ); #pragma endregion #pragma region Application Family #pragma endregion #pragma region Desktop Family extern RPC_IF_HANDLE __MIDL_itf_urlmon_0000_0000_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_urlmon_0000_0000_v0_0_s_ifspec; typedef IPersistMoniker *LPPERSISTMONIKER; extern "C" const IID IID_IPersistMoniker; struct __declspec(uuid("79eac9c9-baf9-11ce-8c82-00aa004ba90b")) __declspec(novtable) IPersistMoniker : public IUnknown { public: virtual HRESULT __stdcall GetClassID( CLSID *pClassID) = 0; virtual HRESULT __stdcall IsDirty( void) = 0; virtual HRESULT __stdcall Load( BOOL fFullyAvailable, IMoniker *pimkName, LPBC pibc, DWORD grfMode) = 0; virtual HRESULT __stdcall Save( IMoniker *pimkName, LPBC pbc, BOOL fRemember) = 0; virtual HRESULT __stdcall SaveCompleted( IMoniker *pimkName, LPBC pibc) = 0; virtual HRESULT __stdcall GetCurMoniker( IMoniker **ppimkName) = 0; }; extern RPC_IF_HANDLE __MIDL_itf_urlmon_0000_0001_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_urlmon_0000_0001_v0_0_s_ifspec; typedef IMonikerProp *LPMONIKERPROP; typedef enum __MIDL_IMonikerProp_0001 { MIMETYPEPROP = 0, USE_SRC_URL = 0x1, CLASSIDPROP = 0x2, TRUSTEDDOWNLOADPROP = 0x3, POPUPLEVELPROP = 0x4 } MONIKERPROPERTY; extern "C" const IID IID_IMonikerProp; struct __declspec(uuid("a5ca5f7f-1847-4d87-9c5b-918509f7511d")) __declspec(novtable) IMonikerProp : public IUnknown { public: virtual HRESULT __stdcall PutProperty( MONIKERPROPERTY mkp, LPCWSTR val) = 0; }; extern RPC_IF_HANDLE __MIDL_itf_urlmon_0000_0002_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_urlmon_0000_0002_v0_0_s_ifspec; typedef IBindProtocol *LPBINDPROTOCOL; extern "C" const IID IID_IBindProtocol; struct __declspec(uuid("79eac9cd-baf9-11ce-8c82-00aa004ba90b")) __declspec(novtable) IBindProtocol : public IUnknown { public: virtual HRESULT __stdcall CreateBinding( LPCWSTR szUrl, IBindCtx *pbc, IBinding **ppb) = 0; }; extern RPC_IF_HANDLE __MIDL_itf_urlmon_0000_0003_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_urlmon_0000_0003_v0_0_s_ifspec; typedef IBinding *LPBINDING; extern "C" const IID IID_IBinding; struct __declspec(uuid("79eac9c0-baf9-11ce-8c82-00aa004ba90b")) __declspec(novtable) IBinding : public IUnknown { public: virtual HRESULT __stdcall Abort( void) = 0; virtual HRESULT __stdcall Suspend( void) = 0; virtual HRESULT __stdcall Resume( void) = 0; virtual HRESULT __stdcall SetPriority( LONG nPriority) = 0; virtual HRESULT __stdcall GetPriority( LONG *pnPriority) = 0; virtual HRESULT __stdcall GetBindResult( CLSID *pclsidProtocol, DWORD *pdwResult, LPOLESTR *pszResult, DWORD *pdwReserved) = 0; }; HRESULT __stdcall IBinding_RemoteGetBindResult_Proxy( IBinding * This, CLSID *pclsidProtocol, DWORD *pdwResult, LPOLESTR *pszResult, DWORD dwReserved); void __stdcall IBinding_RemoteGetBindResult_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); #pragma endregion #pragma region Application Family or Games Family extern RPC_IF_HANDLE __MIDL_itf_urlmon_0000_0004_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_urlmon_0000_0004_v0_0_s_ifspec; typedef IBindStatusCallback *LPBINDSTATUSCALLBACK; typedef enum __MIDL_IBindStatusCallback_0001 { BINDVERB_GET = 0, BINDVERB_POST = 0x1, BINDVERB_PUT = 0x2, BINDVERB_CUSTOM = 0x3, BINDVERB_RESERVED1 = 0x4 } BINDVERB; typedef enum __MIDL_IBindStatusCallback_0002 { BINDINFOF_URLENCODESTGMEDDATA = 0x1, BINDINFOF_URLENCODEDEXTRAINFO = 0x2 } BINDINFOF; typedef enum __MIDL_IBindStatusCallback_0003 { BINDF_ASYNCHRONOUS = 0x1, BINDF_ASYNCSTORAGE = 0x2, BINDF_NOPROGRESSIVERENDERING = 0x4, BINDF_OFFLINEOPERATION = 0x8, BINDF_GETNEWESTVERSION = 0x10, BINDF_NOWRITECACHE = 0x20, BINDF_NEEDFILE = 0x40, BINDF_PULLDATA = 0x80, BINDF_IGNORESECURITYPROBLEM = 0x100, BINDF_RESYNCHRONIZE = 0x200, BINDF_HYPERLINK = 0x400, BINDF_NO_UI = 0x800, BINDF_SILENTOPERATION = 0x1000, BINDF_PRAGMA_NO_CACHE = 0x2000, BINDF_GETCLASSOBJECT = 0x4000, BINDF_RESERVED_1 = 0x8000, BINDF_FREE_THREADED = 0x10000, BINDF_DIRECT_READ = 0x20000, BINDF_FORMS_SUBMIT = 0x40000, BINDF_GETFROMCACHE_IF_NET_FAIL = 0x80000, BINDF_FROMURLMON = 0x100000, BINDF_FWD_BACK = 0x200000, BINDF_PREFERDEFAULTHANDLER = 0x400000, BINDF_ENFORCERESTRICTED = 0x800000, BINDF_RESERVED_2 = 0x80000000, BINDF_RESERVED_3 = 0x1000000, BINDF_RESERVED_4 = 0x2000000, BINDF_RESERVED_5 = 0x4000000, BINDF_RESERVED_6 = 0x8000000, BINDF_RESERVED_7 = 0x40000000, BINDF_RESERVED_8 = 0x20000000 } BINDF; typedef enum __MIDL_IBindStatusCallback_0004 { URL_ENCODING_NONE = 0, URL_ENCODING_ENABLE_UTF8 = 0x10000000, URL_ENCODING_DISABLE_UTF8 = 0x20000000 } URL_ENCODING; typedef struct _tagBINDINFO { ULONG cbSize; LPWSTR szExtraInfo; STGMEDIUM stgmedData; DWORD grfBindInfoF; DWORD dwBindVerb; LPWSTR szCustomVerb; DWORD cbstgmedData; DWORD dwOptions; DWORD dwOptionsFlags; DWORD dwCodePage; SECURITY_ATTRIBUTES securityAttributes; IID iid; IUnknown *pUnk; DWORD dwReserved; } BINDINFO; typedef struct _REMSECURITY_ATTRIBUTES { DWORD nLength; DWORD lpSecurityDescriptor; BOOL bInheritHandle; } REMSECURITY_ATTRIBUTES; typedef struct _REMSECURITY_ATTRIBUTES *PREMSECURITY_ATTRIBUTES; typedef struct _REMSECURITY_ATTRIBUTES *LPREMSECURITY_ATTRIBUTES; typedef struct _tagRemBINDINFO { ULONG cbSize; LPWSTR szExtraInfo; DWORD grfBindInfoF; DWORD dwBindVerb; LPWSTR szCustomVerb; DWORD cbstgmedData; DWORD dwOptions; DWORD dwOptionsFlags; DWORD dwCodePage; REMSECURITY_ATTRIBUTES securityAttributes; IID iid; IUnknown *pUnk; DWORD dwReserved; } RemBINDINFO; typedef struct tagRemFORMATETC { DWORD cfFormat; DWORD ptd; DWORD dwAspect; LONG lindex; DWORD tymed; } RemFORMATETC; typedef struct tagRemFORMATETC *LPREMFORMATETC; typedef enum __MIDL_IBindStatusCallback_0005 { BINDINFO_OPTIONS_WININETFLAG = 0x10000, BINDINFO_OPTIONS_ENABLE_UTF8 = 0x20000, BINDINFO_OPTIONS_DISABLE_UTF8 = 0x40000, BINDINFO_OPTIONS_USE_IE_ENCODING = 0x80000, BINDINFO_OPTIONS_BINDTOOBJECT = 0x100000, BINDINFO_OPTIONS_SECURITYOPTOUT = 0x200000, BINDINFO_OPTIONS_IGNOREMIMETEXTPLAIN = 0x400000, BINDINFO_OPTIONS_USEBINDSTRINGCREDS = 0x800000, BINDINFO_OPTIONS_IGNOREHTTPHTTPSREDIRECTS = 0x1000000, BINDINFO_OPTIONS_IGNORE_SSLERRORS_ONCE = 0x2000000, BINDINFO_WPC_DOWNLOADBLOCKED = 0x8000000, BINDINFO_WPC_LOGGING_ENABLED = 0x10000000, BINDINFO_OPTIONS_ALLOWCONNECTDATA = 0x20000000, BINDINFO_OPTIONS_DISABLEAUTOREDIRECTS = 0x40000000, BINDINFO_OPTIONS_SHDOCVW_NAVIGATE = ( int )0x80000000 } BINDINFO_OPTIONS; typedef enum __MIDL_IBindStatusCallback_0006 { BSCF_FIRSTDATANOTIFICATION = 0x1, BSCF_INTERMEDIATEDATANOTIFICATION = 0x2, BSCF_LASTDATANOTIFICATION = 0x4, BSCF_DATAFULLYAVAILABLE = 0x8, BSCF_AVAILABLEDATASIZEUNKNOWN = 0x10, BSCF_SKIPDRAINDATAFORFILEURLS = 0x20, BSCF_64BITLENGTHDOWNLOAD = 0x40 } BSCF; typedef enum tagBINDSTATUS { BINDSTATUS_FINDINGRESOURCE = 1, BINDSTATUS_CONNECTING = ( BINDSTATUS_FINDINGRESOURCE + 1 ) , BINDSTATUS_REDIRECTING = ( BINDSTATUS_CONNECTING + 1 ) , BINDSTATUS_BEGINDOWNLOADDATA = ( BINDSTATUS_REDIRECTING + 1 ) , BINDSTATUS_DOWNLOADINGDATA = ( BINDSTATUS_BEGINDOWNLOADDATA + 1 ) , BINDSTATUS_ENDDOWNLOADDATA = ( BINDSTATUS_DOWNLOADINGDATA + 1 ) , BINDSTATUS_BEGINDOWNLOADCOMPONENTS = ( BINDSTATUS_ENDDOWNLOADDATA + 1 ) , BINDSTATUS_INSTALLINGCOMPONENTS = ( BINDSTATUS_BEGINDOWNLOADCOMPONENTS + 1 ) , BINDSTATUS_ENDDOWNLOADCOMPONENTS = ( BINDSTATUS_INSTALLINGCOMPONENTS + 1 ) , BINDSTATUS_USINGCACHEDCOPY = ( BINDSTATUS_ENDDOWNLOADCOMPONENTS + 1 ) , BINDSTATUS_SENDINGREQUEST = ( BINDSTATUS_USINGCACHEDCOPY + 1 ) , BINDSTATUS_CLASSIDAVAILABLE = ( BINDSTATUS_SENDINGREQUEST + 1 ) , BINDSTATUS_MIMETYPEAVAILABLE = ( BINDSTATUS_CLASSIDAVAILABLE + 1 ) , BINDSTATUS_CACHEFILENAMEAVAILABLE = ( BINDSTATUS_MIMETYPEAVAILABLE + 1 ) , BINDSTATUS_BEGINSYNCOPERATION = ( BINDSTATUS_CACHEFILENAMEAVAILABLE + 1 ) , BINDSTATUS_ENDSYNCOPERATION = ( BINDSTATUS_BEGINSYNCOPERATION + 1 ) , BINDSTATUS_BEGINUPLOADDATA = ( BINDSTATUS_ENDSYNCOPERATION + 1 ) , BINDSTATUS_UPLOADINGDATA = ( BINDSTATUS_BEGINUPLOADDATA + 1 ) , BINDSTATUS_ENDUPLOADDATA = ( BINDSTATUS_UPLOADINGDATA + 1 ) , BINDSTATUS_PROTOCOLCLASSID = ( BINDSTATUS_ENDUPLOADDATA + 1 ) , BINDSTATUS_ENCODING = ( BINDSTATUS_PROTOCOLCLASSID + 1 ) , BINDSTATUS_VERIFIEDMIMETYPEAVAILABLE = ( BINDSTATUS_ENCODING + 1 ) , BINDSTATUS_CLASSINSTALLLOCATION = ( BINDSTATUS_VERIFIEDMIMETYPEAVAILABLE + 1 ) , BINDSTATUS_DECODING = ( BINDSTATUS_CLASSINSTALLLOCATION + 1 ) , BINDSTATUS_LOADINGMIMEHANDLER = ( BINDSTATUS_DECODING + 1 ) , BINDSTATUS_CONTENTDISPOSITIONATTACH = ( BINDSTATUS_LOADINGMIMEHANDLER + 1 ) , BINDSTATUS_FILTERREPORTMIMETYPE = ( BINDSTATUS_CONTENTDISPOSITIONATTACH + 1 ) , BINDSTATUS_CLSIDCANINSTANTIATE = ( BINDSTATUS_FILTERREPORTMIMETYPE + 1 ) , BINDSTATUS_IUNKNOWNAVAILABLE = ( BINDSTATUS_CLSIDCANINSTANTIATE + 1 ) , BINDSTATUS_DIRECTBIND = ( BINDSTATUS_IUNKNOWNAVAILABLE + 1 ) , BINDSTATUS_RAWMIMETYPE = ( BINDSTATUS_DIRECTBIND + 1 ) , BINDSTATUS_PROXYDETECTING = ( BINDSTATUS_RAWMIMETYPE + 1 ) , BINDSTATUS_ACCEPTRANGES = ( BINDSTATUS_PROXYDETECTING + 1 ) , BINDSTATUS_COOKIE_SENT = ( BINDSTATUS_ACCEPTRANGES + 1 ) , BINDSTATUS_COMPACT_POLICY_RECEIVED = ( BINDSTATUS_COOKIE_SENT + 1 ) , BINDSTATUS_COOKIE_SUPPRESSED = ( BINDSTATUS_COMPACT_POLICY_RECEIVED + 1 ) , BINDSTATUS_COOKIE_STATE_UNKNOWN = ( BINDSTATUS_COOKIE_SUPPRESSED + 1 ) , BINDSTATUS_COOKIE_STATE_ACCEPT = ( BINDSTATUS_COOKIE_STATE_UNKNOWN + 1 ) , BINDSTATUS_COOKIE_STATE_REJECT = ( BINDSTATUS_COOKIE_STATE_ACCEPT + 1 ) , BINDSTATUS_COOKIE_STATE_PROMPT = ( BINDSTATUS_COOKIE_STATE_REJECT + 1 ) , BINDSTATUS_COOKIE_STATE_LEASH = ( BINDSTATUS_COOKIE_STATE_PROMPT + 1 ) , BINDSTATUS_COOKIE_STATE_DOWNGRADE = ( BINDSTATUS_COOKIE_STATE_LEASH + 1 ) , BINDSTATUS_POLICY_HREF = ( BINDSTATUS_COOKIE_STATE_DOWNGRADE + 1 ) , BINDSTATUS_P3P_HEADER = ( BINDSTATUS_POLICY_HREF + 1 ) , BINDSTATUS_SESSION_COOKIE_RECEIVED = ( BINDSTATUS_P3P_HEADER + 1 ) , BINDSTATUS_PERSISTENT_COOKIE_RECEIVED = ( BINDSTATUS_SESSION_COOKIE_RECEIVED + 1 ) , BINDSTATUS_SESSION_COOKIES_ALLOWED = ( BINDSTATUS_PERSISTENT_COOKIE_RECEIVED + 1 ) , BINDSTATUS_CACHECONTROL = ( BINDSTATUS_SESSION_COOKIES_ALLOWED + 1 ) , BINDSTATUS_CONTENTDISPOSITIONFILENAME = ( BINDSTATUS_CACHECONTROL + 1 ) , BINDSTATUS_MIMETEXTPLAINMISMATCH = ( BINDSTATUS_CONTENTDISPOSITIONFILENAME + 1 ) , BINDSTATUS_PUBLISHERAVAILABLE = ( BINDSTATUS_MIMETEXTPLAINMISMATCH + 1 ) , BINDSTATUS_DISPLAYNAMEAVAILABLE = ( BINDSTATUS_PUBLISHERAVAILABLE + 1 ) , BINDSTATUS_SSLUX_NAVBLOCKED = ( BINDSTATUS_DISPLAYNAMEAVAILABLE + 1 ) , BINDSTATUS_SERVER_MIMETYPEAVAILABLE = ( BINDSTATUS_SSLUX_NAVBLOCKED + 1 ) , BINDSTATUS_SNIFFED_CLASSIDAVAILABLE = ( BINDSTATUS_SERVER_MIMETYPEAVAILABLE + 1 ) , BINDSTATUS_64BIT_PROGRESS = ( BINDSTATUS_SNIFFED_CLASSIDAVAILABLE + 1 ) , BINDSTATUS_LAST = BINDSTATUS_64BIT_PROGRESS, BINDSTATUS_RESERVED_0 = ( BINDSTATUS_LAST + 1 ) , BINDSTATUS_RESERVED_1 = ( BINDSTATUS_RESERVED_0 + 1 ) , BINDSTATUS_RESERVED_2 = ( BINDSTATUS_RESERVED_1 + 1 ) , BINDSTATUS_RESERVED_3 = ( BINDSTATUS_RESERVED_2 + 1 ) , BINDSTATUS_RESERVED_4 = ( BINDSTATUS_RESERVED_3 + 1 ) , BINDSTATUS_RESERVED_5 = ( BINDSTATUS_RESERVED_4 + 1 ) , BINDSTATUS_RESERVED_6 = ( BINDSTATUS_RESERVED_5 + 1 ) , BINDSTATUS_RESERVED_7 = ( BINDSTATUS_RESERVED_6 + 1 ) , BINDSTATUS_RESERVED_8 = ( BINDSTATUS_RESERVED_7 + 1 ) , BINDSTATUS_RESERVED_9 = ( BINDSTATUS_RESERVED_8 + 1 ) , BINDSTATUS_RESERVED_A = ( BINDSTATUS_RESERVED_9 + 1 ) , BINDSTATUS_RESERVED_B = ( BINDSTATUS_RESERVED_A + 1 ) , BINDSTATUS_RESERVED_C = ( BINDSTATUS_RESERVED_B + 1 ) , BINDSTATUS_RESERVED_D = ( BINDSTATUS_RESERVED_C + 1 ) , BINDSTATUS_RESERVED_E = ( BINDSTATUS_RESERVED_D + 1 ) , BINDSTATUS_RESERVED_F = ( BINDSTATUS_RESERVED_E + 1 ) , BINDSTATUS_RESERVED_10 = ( BINDSTATUS_RESERVED_F + 1 ) , BINDSTATUS_RESERVED_11 = ( BINDSTATUS_RESERVED_10 + 1 ) , BINDSTATUS_RESERVED_12 = ( BINDSTATUS_RESERVED_11 + 1 ) , BINDSTATUS_RESERVED_13 = ( BINDSTATUS_RESERVED_12 + 1 ) , BINDSTATUS_LAST_PRIVATE = BINDSTATUS_RESERVED_13 } BINDSTATUS; extern "C" const IID IID_IBindStatusCallback; struct __declspec(uuid("79eac9c1-baf9-11ce-8c82-00aa004ba90b")) __declspec(novtable) IBindStatusCallback : public IUnknown { public: virtual HRESULT __stdcall OnStartBinding( DWORD dwReserved, IBinding *pib) = 0; virtual HRESULT __stdcall GetPriority( LONG *pnPriority) = 0; virtual HRESULT __stdcall OnLowResource( DWORD reserved) = 0; virtual HRESULT __stdcall OnProgress( ULONG ulProgress, ULONG ulProgressMax, ULONG ulStatusCode, LPCWSTR szStatusText) = 0; virtual HRESULT __stdcall OnStopBinding( HRESULT hresult, LPCWSTR szError) = 0; virtual HRESULT __stdcall GetBindInfo( DWORD *grfBINDF, BINDINFO *pbindinfo) = 0; virtual HRESULT __stdcall OnDataAvailable( DWORD grfBSCF, DWORD dwSize, FORMATETC *pformatetc, STGMEDIUM *pstgmed) = 0; virtual HRESULT __stdcall OnObjectAvailable( const IID & riid, IUnknown *punk) = 0; }; HRESULT __stdcall IBindStatusCallback_RemoteGetBindInfo_Proxy( IBindStatusCallback * This, DWORD *grfBINDF, RemBINDINFO *pbindinfo, RemSTGMEDIUM *pstgmed); void __stdcall IBindStatusCallback_RemoteGetBindInfo_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT __stdcall IBindStatusCallback_RemoteOnDataAvailable_Proxy( IBindStatusCallback * This, DWORD grfBSCF, DWORD dwSize, RemFORMATETC *pformatetc, RemSTGMEDIUM *pstgmed); void __stdcall IBindStatusCallback_RemoteOnDataAvailable_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); #pragma endregion #pragma region Desktop Family extern RPC_IF_HANDLE __MIDL_itf_urlmon_0000_0005_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_urlmon_0000_0005_v0_0_s_ifspec; typedef IBindStatusCallbackEx *LPBINDSTATUSCALLBACKEX; typedef enum __MIDL_IBindStatusCallbackEx_0001 { BINDF2_DISABLEBASICOVERHTTP = 0x1, BINDF2_DISABLEAUTOCOOKIEHANDLING = 0x2, BINDF2_READ_DATA_GREATER_THAN_4GB = 0x4, BINDF2_DISABLE_HTTP_REDIRECT_XSECURITYID = 0x8, BINDF2_SETDOWNLOADMODE = 0x20, BINDF2_DISABLE_HTTP_REDIRECT_CACHING = 0x40, BINDF2_KEEP_CALLBACK_MODULE_LOADED = 0x80, BINDF2_ALLOW_PROXY_CRED_PROMPT = 0x100, BINDF2_RESERVED_17 = 0x200, BINDF2_RESERVED_16 = 0x400, BINDF2_RESERVED_15 = 0x800, BINDF2_RESERVED_14 = 0x1000, BINDF2_RESERVED_13 = 0x2000, BINDF2_RESERVED_12 = 0x4000, BINDF2_RESERVED_11 = 0x8000, BINDF2_RESERVED_10 = 0x10000, BINDF2_RESERVED_F = 0x20000, BINDF2_RESERVED_E = 0x40000, BINDF2_RESERVED_D = 0x80000, BINDF2_RESERVED_C = 0x100000, BINDF2_RESERVED_B = 0x200000, BINDF2_RESERVED_A = 0x400000, BINDF2_RESERVED_9 = 0x800000, BINDF2_RESERVED_8 = 0x1000000, BINDF2_RESERVED_7 = 0x2000000, BINDF2_RESERVED_6 = 0x4000000, BINDF2_RESERVED_5 = 0x8000000, BINDF2_RESERVED_4 = 0x10000000, BINDF2_RESERVED_3 = 0x20000000, BINDF2_RESERVED_2 = 0x40000000, BINDF2_RESERVED_1 = 0x80000000 } BINDF2; extern "C" const IID IID_IBindStatusCallbackEx; struct __declspec(uuid("aaa74ef9-8ee7-4659-88d9-f8c504da73cc")) __declspec(novtable) IBindStatusCallbackEx : public IBindStatusCallback { public: virtual HRESULT __stdcall GetBindInfoEx( DWORD *grfBINDF, BINDINFO *pbindinfo, DWORD *grfBINDF2, DWORD *pdwReserved) = 0; }; HRESULT __stdcall IBindStatusCallbackEx_RemoteGetBindInfoEx_Proxy( IBindStatusCallbackEx * This, DWORD *grfBINDF, RemBINDINFO *pbindinfo, RemSTGMEDIUM *pstgmed, DWORD *grfBINDF2, DWORD *pdwReserved); void __stdcall IBindStatusCallbackEx_RemoteGetBindInfoEx_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); extern RPC_IF_HANDLE __MIDL_itf_urlmon_0000_0006_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_urlmon_0000_0006_v0_0_s_ifspec; typedef IAuthenticate *LPAUTHENTICATION; extern "C" const IID IID_IAuthenticate; struct __declspec(uuid("79eac9d0-baf9-11ce-8c82-00aa004ba90b")) __declspec(novtable) IAuthenticate : public IUnknown { public: virtual HRESULT __stdcall Authenticate( HWND *phwnd, LPWSTR *pszUsername, LPWSTR *pszPassword) = 0; }; extern RPC_IF_HANDLE __MIDL_itf_urlmon_0000_0007_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_urlmon_0000_0007_v0_0_s_ifspec; typedef IAuthenticateEx *LPAUTHENTICATIONEX; typedef enum __MIDL_IAuthenticateEx_0001 { AUTHENTICATEF_PROXY = 0x1, AUTHENTICATEF_BASIC = 0x2, AUTHENTICATEF_HTTP = 0x4 } AUTHENTICATEF; typedef struct _tagAUTHENTICATEINFO { DWORD dwFlags; DWORD dwReserved; } AUTHENTICATEINFO; extern "C" const IID IID_IAuthenticateEx; struct __declspec(uuid("2ad1edaf-d83d-48b5-9adf-03dbe19f53bd")) __declspec(novtable) IAuthenticateEx : public IAuthenticate { public: virtual HRESULT __stdcall AuthenticateEx( HWND *phwnd, LPWSTR *pszUsername, LPWSTR *pszPassword, AUTHENTICATEINFO *pauthinfo) = 0; }; extern RPC_IF_HANDLE __MIDL_itf_urlmon_0000_0008_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_urlmon_0000_0008_v0_0_s_ifspec; typedef IHttpNegotiate *LPHTTPNEGOTIATE; extern "C" const IID IID_IHttpNegotiate; struct __declspec(uuid("79eac9d2-baf9-11ce-8c82-00aa004ba90b")) __declspec(novtable) IHttpNegotiate : public IUnknown { public: virtual HRESULT __stdcall BeginningTransaction( LPCWSTR szURL, LPCWSTR szHeaders, DWORD dwReserved, LPWSTR *pszAdditionalHeaders) = 0; virtual HRESULT __stdcall OnResponse( DWORD dwResponseCode, LPCWSTR szResponseHeaders, LPCWSTR szRequestHeaders, LPWSTR *pszAdditionalRequestHeaders) = 0; }; extern RPC_IF_HANDLE __MIDL_itf_urlmon_0000_0009_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_urlmon_0000_0009_v0_0_s_ifspec; typedef IHttpNegotiate2 *LPHTTPNEGOTIATE2; extern "C" const IID IID_IHttpNegotiate2; struct __declspec(uuid("4F9F9FCB-E0F4-48eb-B7AB-FA2EA9365CB4")) __declspec(novtable) IHttpNegotiate2 : public IHttpNegotiate { public: virtual HRESULT __stdcall GetRootSecurityId( BYTE *pbSecurityId, DWORD *pcbSecurityId, DWORD_PTR dwReserved) = 0; }; extern RPC_IF_HANDLE __MIDL_itf_urlmon_0000_0010_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_urlmon_0000_0010_v0_0_s_ifspec; typedef IHttpNegotiate3 *LPHTTPNEGOTIATE3; extern "C" const IID IID_IHttpNegotiate3; struct __declspec(uuid("57b6c80a-34c2-4602-bc26-66a02fc57153")) __declspec(novtable) IHttpNegotiate3 : public IHttpNegotiate2 { public: virtual HRESULT __stdcall GetSerializedClientCertContext( BYTE **ppbCert, DWORD *pcbCert) = 0; }; extern RPC_IF_HANDLE __MIDL_itf_urlmon_0000_0011_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_urlmon_0000_0011_v0_0_s_ifspec; typedef IWinInetFileStream *LPWININETFILESTREAM; extern "C" const IID IID_IWinInetFileStream; struct __declspec(uuid("F134C4B7-B1F8-4e75-B886-74B90943BECB")) __declspec(novtable) IWinInetFileStream : public IUnknown { public: virtual HRESULT __stdcall SetHandleForUnlock( DWORD_PTR hWinInetLockHandle, DWORD_PTR dwReserved) = 0; virtual HRESULT __stdcall SetDeleteFile( DWORD_PTR dwReserved) = 0; }; extern RPC_IF_HANDLE __MIDL_itf_urlmon_0000_0012_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_urlmon_0000_0012_v0_0_s_ifspec; typedef IWindowForBindingUI *LPWINDOWFORBINDINGUI; extern "C" const IID IID_IWindowForBindingUI; struct __declspec(uuid("79eac9d5-bafa-11ce-8c82-00aa004ba90b")) __declspec(novtable) IWindowForBindingUI : public IUnknown { public: virtual HRESULT __stdcall GetWindow( const GUID & rguidReason, HWND *phwnd) = 0; }; extern RPC_IF_HANDLE __MIDL_itf_urlmon_0000_0013_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_urlmon_0000_0013_v0_0_s_ifspec; typedef ICodeInstall *LPCODEINSTALL; typedef enum __MIDL_ICodeInstall_0001 { CIP_DISK_FULL = 0, CIP_ACCESS_DENIED = ( CIP_DISK_FULL + 1 ) , CIP_NEWER_VERSION_EXISTS = ( CIP_ACCESS_DENIED + 1 ) , CIP_OLDER_VERSION_EXISTS = ( CIP_NEWER_VERSION_EXISTS + 1 ) , CIP_NAME_CONFLICT = ( CIP_OLDER_VERSION_EXISTS + 1 ) , CIP_TRUST_VERIFICATION_COMPONENT_MISSING = ( CIP_NAME_CONFLICT + 1 ) , CIP_EXE_SELF_REGISTERATION_TIMEOUT = ( CIP_TRUST_VERIFICATION_COMPONENT_MISSING + 1 ) , CIP_UNSAFE_TO_ABORT = ( CIP_EXE_SELF_REGISTERATION_TIMEOUT + 1 ) , CIP_NEED_REBOOT = ( CIP_UNSAFE_TO_ABORT + 1 ) , CIP_NEED_REBOOT_UI_PERMISSION = ( CIP_NEED_REBOOT + 1 ) } CIP_STATUS; extern "C" const IID IID_ICodeInstall; struct __declspec(uuid("79eac9d1-baf9-11ce-8c82-00aa004ba90b")) __declspec(novtable) ICodeInstall : public IWindowForBindingUI { public: virtual HRESULT __stdcall OnCodeInstallProblem( ULONG ulStatusCode, LPCWSTR szDestination, LPCWSTR szSource, DWORD dwReserved) = 0; }; #pragma endregion #pragma region Application Family extern RPC_IF_HANDLE __MIDL_itf_urlmon_0000_0014_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_urlmon_0000_0014_v0_0_s_ifspec; typedef enum __MIDL_IUri_0001 { Uri_PROPERTY_ABSOLUTE_URI = 0, Uri_PROPERTY_STRING_START = Uri_PROPERTY_ABSOLUTE_URI, Uri_PROPERTY_AUTHORITY = 1, Uri_PROPERTY_DISPLAY_URI = 2, Uri_PROPERTY_DOMAIN = 3, Uri_PROPERTY_EXTENSION = 4, Uri_PROPERTY_FRAGMENT = 5, Uri_PROPERTY_HOST = 6, Uri_PROPERTY_PASSWORD = 7, Uri_PROPERTY_PATH = 8, Uri_PROPERTY_PATH_AND_QUERY = 9, Uri_PROPERTY_QUERY = 10, Uri_PROPERTY_RAW_URI = 11, Uri_PROPERTY_SCHEME_NAME = 12, Uri_PROPERTY_USER_INFO = 13, Uri_PROPERTY_USER_NAME = 14, Uri_PROPERTY_STRING_LAST = Uri_PROPERTY_USER_NAME, Uri_PROPERTY_HOST_TYPE = 15, Uri_PROPERTY_DWORD_START = Uri_PROPERTY_HOST_TYPE, Uri_PROPERTY_PORT = 16, Uri_PROPERTY_SCHEME = 17, Uri_PROPERTY_ZONE = 18, Uri_PROPERTY_DWORD_LAST = Uri_PROPERTY_ZONE } Uri_PROPERTY; typedef enum __MIDL_IUri_0002 { Uri_HOST_UNKNOWN = 0, Uri_HOST_DNS = ( Uri_HOST_UNKNOWN + 1 ) , Uri_HOST_IPV4 = ( Uri_HOST_DNS + 1 ) , Uri_HOST_IPV6 = ( Uri_HOST_IPV4 + 1 ) , Uri_HOST_IDN = ( Uri_HOST_IPV6 + 1 ) } Uri_HOST_TYPE; extern "C" const IID IID_IUri; struct __declspec(uuid("A39EE748-6A27-4817-A6F2-13914BEF5890")) __declspec(novtable) IUri : public IUnknown { public: virtual HRESULT __stdcall GetPropertyBSTR( Uri_PROPERTY uriProp, BSTR *pbstrProperty, DWORD dwFlags) = 0; virtual HRESULT __stdcall GetPropertyLength( Uri_PROPERTY uriProp, DWORD *pcchProperty, DWORD dwFlags) = 0; virtual HRESULT __stdcall GetPropertyDWORD( Uri_PROPERTY uriProp, DWORD *pdwProperty, DWORD dwFlags) = 0; virtual HRESULT __stdcall HasProperty( Uri_PROPERTY uriProp, BOOL *pfHasProperty) = 0; virtual HRESULT __stdcall GetAbsoluteUri( BSTR *pbstrAbsoluteUri) = 0; virtual HRESULT __stdcall GetAuthority( BSTR *pbstrAuthority) = 0; virtual HRESULT __stdcall GetDisplayUri( BSTR *pbstrDisplayString) = 0; virtual HRESULT __stdcall GetDomain( BSTR *pbstrDomain) = 0; virtual HRESULT __stdcall GetExtension( BSTR *pbstrExtension) = 0; virtual HRESULT __stdcall GetFragment( BSTR *pbstrFragment) = 0; virtual HRESULT __stdcall GetHost( BSTR *pbstrHost) = 0; virtual HRESULT __stdcall GetPassword( BSTR *pbstrPassword) = 0; virtual HRESULT __stdcall GetPath( BSTR *pbstrPath) = 0; virtual HRESULT __stdcall GetPathAndQuery( BSTR *pbstrPathAndQuery) = 0; virtual HRESULT __stdcall GetQuery( BSTR *pbstrQuery) = 0; virtual HRESULT __stdcall GetRawUri( BSTR *pbstrRawUri) = 0; virtual HRESULT __stdcall GetSchemeName( BSTR *pbstrSchemeName) = 0; virtual HRESULT __stdcall GetUserInfo( BSTR *pbstrUserInfo) = 0; virtual HRESULT __stdcall GetUserNameW( BSTR *pbstrUserName) = 0; virtual HRESULT __stdcall GetHostType( DWORD *pdwHostType) = 0; virtual HRESULT __stdcall GetPort( DWORD *pdwPort) = 0; virtual HRESULT __stdcall GetScheme( DWORD *pdwScheme) = 0; virtual HRESULT __stdcall GetZone( DWORD *pdwZone) = 0; virtual HRESULT __stdcall GetProperties( LPDWORD pdwFlags) = 0; virtual HRESULT __stdcall IsEqual( IUri *pUri, BOOL *pfEqual) = 0; }; extern "C" HRESULT __stdcall CreateUri( LPCWSTR pwzURI, DWORD dwFlags, DWORD_PTR dwReserved, IUri** ppURI); extern "C" HRESULT __stdcall CreateUriWithFragment( LPCWSTR pwzURI, LPCWSTR pwzFragment, DWORD dwFlags, DWORD_PTR dwReserved, IUri** ppURI); #pragma endregion #pragma region Desktop Family extern "C" HRESULT __stdcall CreateUriFromMultiByteString( LPCSTR pszANSIInputUri, DWORD dwEncodingFlags, DWORD dwCodePage, DWORD dwCreateFlags, DWORD_PTR dwReserved, IUri** ppUri); #pragma endregion #pragma region Application Family #pragma endregion #pragma region Desktop Family extern RPC_IF_HANDLE __MIDL_itf_urlmon_0000_0015_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_urlmon_0000_0015_v0_0_s_ifspec; extern "C" const IID IID_IUriContainer; struct __declspec(uuid("a158a630-ed6f-45fb-b987-f68676f57752")) __declspec(novtable) IUriContainer : public IUnknown { public: virtual HRESULT __stdcall GetIUri( IUri **ppIUri) = 0; }; extern "C" const IID IID_IUriBuilder; struct __declspec(uuid("4221B2E1-8955-46c0-BD5B-DE9897565DE7")) __declspec(novtable) IUriBuilder : public IUnknown { public: virtual HRESULT __stdcall CreateUriSimple( DWORD dwAllowEncodingPropertyMask, DWORD_PTR dwReserved, IUri **ppIUri) = 0; virtual HRESULT __stdcall CreateUri( DWORD dwCreateFlags, DWORD dwAllowEncodingPropertyMask, DWORD_PTR dwReserved, IUri **ppIUri) = 0; virtual HRESULT __stdcall CreateUriWithFlags( DWORD dwCreateFlags, DWORD dwUriBuilderFlags, DWORD dwAllowEncodingPropertyMask, DWORD_PTR dwReserved, IUri **ppIUri) = 0; virtual HRESULT __stdcall GetIUri( IUri **ppIUri) = 0; virtual HRESULT __stdcall SetIUri( IUri *pIUri) = 0; virtual HRESULT __stdcall GetFragment( DWORD *pcchFragment, LPCWSTR *ppwzFragment) = 0; virtual HRESULT __stdcall GetHost( DWORD *pcchHost, LPCWSTR *ppwzHost) = 0; virtual HRESULT __stdcall GetPassword( DWORD *pcchPassword, LPCWSTR *ppwzPassword) = 0; virtual HRESULT __stdcall GetPath( DWORD *pcchPath, LPCWSTR *ppwzPath) = 0; virtual HRESULT __stdcall GetPort( BOOL *pfHasPort, DWORD *pdwPort) = 0; virtual HRESULT __stdcall GetQuery( DWORD *pcchQuery, LPCWSTR *ppwzQuery) = 0; virtual HRESULT __stdcall GetSchemeName( DWORD *pcchSchemeName, LPCWSTR *ppwzSchemeName) = 0; virtual HRESULT __stdcall GetUserNameW( DWORD *pcchUserName, LPCWSTR *ppwzUserName) = 0; virtual HRESULT __stdcall SetFragment( LPCWSTR pwzNewValue) = 0; virtual HRESULT __stdcall SetHost( LPCWSTR pwzNewValue) = 0; virtual HRESULT __stdcall SetPassword( LPCWSTR pwzNewValue) = 0; virtual HRESULT __stdcall SetPath( LPCWSTR pwzNewValue) = 0; virtual HRESULT __stdcall SetPort( BOOL fHasPort, DWORD dwNewValue) = 0; virtual HRESULT __stdcall SetQuery( LPCWSTR pwzNewValue) = 0; virtual HRESULT __stdcall SetSchemeName( LPCWSTR pwzNewValue) = 0; virtual HRESULT __stdcall SetUserName( LPCWSTR pwzNewValue) = 0; virtual HRESULT __stdcall RemoveProperties( DWORD dwPropertyMask) = 0; virtual HRESULT __stdcall HasBeenModified( BOOL *pfModified) = 0; }; extern "C" const IID IID_IUriBuilderFactory; struct __declspec(uuid("E982CE48-0B96-440c-BC37-0C869B27A29E")) __declspec(novtable) IUriBuilderFactory : public IUnknown { public: virtual HRESULT __stdcall CreateIUriBuilder( DWORD dwFlags, DWORD_PTR dwReserved, IUriBuilder **ppIUriBuilder) = 0; virtual HRESULT __stdcall CreateInitializedIUriBuilder( DWORD dwFlags, DWORD_PTR dwReserved, IUriBuilder **ppIUriBuilder) = 0; }; extern "C" HRESULT __stdcall CreateIUriBuilder( IUri *pIUri, DWORD dwFlags, DWORD_PTR dwReserved, IUriBuilder **ppIUriBuilder ); #pragma endregion #pragma region Desktop Family extern RPC_IF_HANDLE __MIDL_itf_urlmon_0000_0018_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_urlmon_0000_0018_v0_0_s_ifspec; typedef IWinInetInfo *LPWININETINFO; extern "C" const IID IID_IWinInetInfo; struct __declspec(uuid("79eac9d6-bafa-11ce-8c82-00aa004ba90b")) __declspec(novtable) IWinInetInfo : public IUnknown { public: virtual HRESULT __stdcall QueryOption( DWORD dwOption, LPVOID pBuffer, DWORD *pcbBuf) = 0; }; HRESULT __stdcall IWinInetInfo_RemoteQueryOption_Proxy( IWinInetInfo * This, DWORD dwOption, BYTE *pBuffer, DWORD *pcbBuf); void __stdcall IWinInetInfo_RemoteQueryOption_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); extern RPC_IF_HANDLE __MIDL_itf_urlmon_0000_0019_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_urlmon_0000_0019_v0_0_s_ifspec; typedef IHttpSecurity *LPHTTPSECURITY; extern "C" const IID IID_IHttpSecurity; struct __declspec(uuid("79eac9d7-bafa-11ce-8c82-00aa004ba90b")) __declspec(novtable) IHttpSecurity : public IWindowForBindingUI { public: virtual HRESULT __stdcall OnSecurityProblem( DWORD dwProblem) = 0; }; extern RPC_IF_HANDLE __MIDL_itf_urlmon_0000_0020_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_urlmon_0000_0020_v0_0_s_ifspec; typedef IWinInetHttpInfo *LPWININETHTTPINFO; extern "C" const IID IID_IWinInetHttpInfo; struct __declspec(uuid("79eac9d8-bafa-11ce-8c82-00aa004ba90b")) __declspec(novtable) IWinInetHttpInfo : public IWinInetInfo { public: virtual HRESULT __stdcall QueryInfo( DWORD dwOption, LPVOID pBuffer, DWORD *pcbBuf, DWORD *pdwFlags, DWORD *pdwReserved) = 0; }; HRESULT __stdcall IWinInetHttpInfo_RemoteQueryInfo_Proxy( IWinInetHttpInfo * This, DWORD dwOption, BYTE *pBuffer, DWORD *pcbBuf, DWORD *pdwFlags, DWORD *pdwReserved); void __stdcall IWinInetHttpInfo_RemoteQueryInfo_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); extern RPC_IF_HANDLE __MIDL_itf_urlmon_0000_0021_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_urlmon_0000_0021_v0_0_s_ifspec; extern "C" const IID IID_IWinInetHttpTimeouts; struct __declspec(uuid("F286FA56-C1FD-4270-8E67-B3EB790A81E8")) __declspec(novtable) IWinInetHttpTimeouts : public IUnknown { public: virtual HRESULT __stdcall GetRequestTimeouts( DWORD *pdwConnectTimeout, DWORD *pdwSendTimeout, DWORD *pdwReceiveTimeout) = 0; }; extern RPC_IF_HANDLE __MIDL_itf_urlmon_0000_0022_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_urlmon_0000_0022_v0_0_s_ifspec; typedef IWinInetCacheHints *LPWININETCACHEHINTS; extern "C" const IID IID_IWinInetCacheHints; struct __declspec(uuid("DD1EC3B3-8391-4fdb-A9E6-347C3CAAA7DD")) __declspec(novtable) IWinInetCacheHints : public IUnknown { public: virtual HRESULT __stdcall SetCacheExtension( LPCWSTR pwzExt, LPVOID pszCacheFile, DWORD *pcbCacheFile, DWORD *pdwWinInetError, DWORD *pdwReserved) = 0; }; extern RPC_IF_HANDLE __MIDL_itf_urlmon_0000_0023_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_urlmon_0000_0023_v0_0_s_ifspec; typedef IWinInetCacheHints2 *LPWININETCACHEHINTS2; extern "C" const IID IID_IWinInetCacheHints2; struct __declspec(uuid("7857AEAC-D31F-49bf-884E-DD46DF36780A")) __declspec(novtable) IWinInetCacheHints2 : public IWinInetCacheHints { public: virtual HRESULT __stdcall SetCacheExtension2( LPCWSTR pwzExt, WCHAR *pwzCacheFile, DWORD *pcchCacheFile, DWORD *pdwWinInetError, DWORD *pdwReserved) = 0; }; extern "C" const GUID SID_BindHost; extern RPC_IF_HANDLE __MIDL_itf_urlmon_0000_0024_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_urlmon_0000_0024_v0_0_s_ifspec; typedef IBindHost *LPBINDHOST; extern "C" const IID IID_IBindHost; struct __declspec(uuid("fc4801a1-2ba9-11cf-a229-00aa003d7352")) __declspec(novtable) IBindHost : public IUnknown { public: virtual HRESULT __stdcall CreateMoniker( LPOLESTR szName, IBindCtx *pBC, IMoniker **ppmk, DWORD dwReserved) = 0; virtual HRESULT __stdcall MonikerBindToStorage( IMoniker *pMk, IBindCtx *pBC, IBindStatusCallback *pBSC, const IID & riid, void **ppvObj) = 0; virtual HRESULT __stdcall MonikerBindToObject( IMoniker *pMk, IBindCtx *pBC, IBindStatusCallback *pBSC, const IID & riid, void **ppvObj) = 0; }; HRESULT __stdcall IBindHost_RemoteMonikerBindToStorage_Proxy( IBindHost * This, IMoniker *pMk, IBindCtx *pBC, IBindStatusCallback *pBSC, const IID & riid, IUnknown **ppvObj); void __stdcall IBindHost_RemoteMonikerBindToStorage_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); HRESULT __stdcall IBindHost_RemoteMonikerBindToObject_Proxy( IBindHost * This, IMoniker *pMk, IBindCtx *pBC, IBindStatusCallback *pBSC, const IID & riid, IUnknown **ppvObj); void __stdcall IBindHost_RemoteMonikerBindToObject_Stub( IRpcStubBuffer *This, IRpcChannelBuffer *_pRpcChannelBuffer, PRPC_MESSAGE _pRpcMessage, DWORD *_pdwStubPhase); struct IBindStatusCallback; extern "C" HRESULT __stdcall HlinkSimpleNavigateToString( LPCWSTR szTarget, LPCWSTR szLocation, LPCWSTR szTargetFrameName, IUnknown *pUnk, IBindCtx *pbc, IBindStatusCallback *, DWORD grfHLNF, DWORD dwReserved ); extern "C" HRESULT __stdcall HlinkSimpleNavigateToMoniker( IMoniker *pmkTarget, LPCWSTR szLocation, LPCWSTR szTargetFrameName, IUnknown *pUnk, IBindCtx *pbc, IBindStatusCallback *, DWORD grfHLNF, DWORD dwReserved ); extern "C" HRESULT __stdcall URLOpenStreamA( LPUNKNOWN, LPCSTR,DWORD, LPBINDSTATUSCALLBACK); extern "C" HRESULT __stdcall URLOpenStreamW( LPUNKNOWN, LPCWSTR,DWORD, LPBINDSTATUSCALLBACK); extern "C" HRESULT __stdcall URLOpenPullStreamA( LPUNKNOWN, LPCSTR,DWORD, LPBINDSTATUSCALLBACK); extern "C" HRESULT __stdcall URLOpenPullStreamW( LPUNKNOWN, LPCWSTR,DWORD, LPBINDSTATUSCALLBACK); extern "C" HRESULT __stdcall URLDownloadToFileA( LPUNKNOWN, LPCSTR, LPCSTR,DWORD, LPBINDSTATUSCALLBACK); extern "C" HRESULT __stdcall URLDownloadToFileW( LPUNKNOWN, LPCWSTR, LPCWSTR,DWORD, LPBINDSTATUSCALLBACK); extern "C" HRESULT __stdcall URLDownloadToCacheFileA( LPUNKNOWN, LPCSTR, LPSTR, DWORD cchFileName, DWORD, LPBINDSTATUSCALLBACK); extern "C" HRESULT __stdcall URLDownloadToCacheFileW( LPUNKNOWN, LPCWSTR, LPWSTR, DWORD cchFileName, DWORD, LPBINDSTATUSCALLBACK); extern "C" HRESULT __stdcall URLOpenBlockingStreamA( LPUNKNOWN, LPCSTR, LPSTREAM*,DWORD, LPBINDSTATUSCALLBACK); extern "C" HRESULT __stdcall URLOpenBlockingStreamW( LPUNKNOWN, LPCWSTR, LPSTREAM*,DWORD, LPBINDSTATUSCALLBACK); extern "C" HRESULT __stdcall HlinkGoBack( IUnknown *pUnk); extern "C" HRESULT __stdcall HlinkGoForward( IUnknown *pUnk); extern "C" HRESULT __stdcall HlinkNavigateString( IUnknown *pUnk, LPCWSTR szTarget); extern "C" HRESULT __stdcall HlinkNavigateMoniker( IUnknown *pUnk, IMoniker *pmkTarget); extern RPC_IF_HANDLE __MIDL_itf_urlmon_0000_0025_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_urlmon_0000_0025_v0_0_s_ifspec; typedef IInternet *LPIINTERNET; extern "C" const IID IID_IInternet; struct __declspec(uuid("79eac9e0-baf9-11ce-8c82-00aa004ba90b")) __declspec(novtable) IInternet : public IUnknown { public: }; extern RPC_IF_HANDLE __MIDL_itf_urlmon_0000_0026_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_urlmon_0000_0026_v0_0_s_ifspec; typedef IInternetBindInfo *LPIINTERNETBINDINFO; typedef enum tagBINDSTRING { BINDSTRING_HEADERS = 1, BINDSTRING_ACCEPT_MIMES = ( BINDSTRING_HEADERS + 1 ) , BINDSTRING_EXTRA_URL = ( BINDSTRING_ACCEPT_MIMES + 1 ) , BINDSTRING_LANGUAGE = ( BINDSTRING_EXTRA_URL + 1 ) , BINDSTRING_USERNAME = ( BINDSTRING_LANGUAGE + 1 ) , BINDSTRING_PASSWORD = ( BINDSTRING_USERNAME + 1 ) , BINDSTRING_UA_PIXELS = ( BINDSTRING_PASSWORD + 1 ) , BINDSTRING_UA_COLOR = ( BINDSTRING_UA_PIXELS + 1 ) , BINDSTRING_OS = ( BINDSTRING_UA_COLOR + 1 ) , BINDSTRING_USER_AGENT = ( BINDSTRING_OS + 1 ) , BINDSTRING_ACCEPT_ENCODINGS = ( BINDSTRING_USER_AGENT + 1 ) , BINDSTRING_POST_COOKIE = ( BINDSTRING_ACCEPT_ENCODINGS + 1 ) , BINDSTRING_POST_DATA_MIME = ( BINDSTRING_POST_COOKIE + 1 ) , BINDSTRING_URL = ( BINDSTRING_POST_DATA_MIME + 1 ) , BINDSTRING_IID = ( BINDSTRING_URL + 1 ) , BINDSTRING_FLAG_BIND_TO_OBJECT = ( BINDSTRING_IID + 1 ) , BINDSTRING_PTR_BIND_CONTEXT = ( BINDSTRING_FLAG_BIND_TO_OBJECT + 1 ) , BINDSTRING_XDR_ORIGIN = ( BINDSTRING_PTR_BIND_CONTEXT + 1 ) , BINDSTRING_DOWNLOADPATH = ( BINDSTRING_XDR_ORIGIN + 1 ) , BINDSTRING_ROOTDOC_URL = ( BINDSTRING_DOWNLOADPATH + 1 ) , BINDSTRING_INITIAL_FILENAME = ( BINDSTRING_ROOTDOC_URL + 1 ) , BINDSTRING_PROXY_USERNAME = ( BINDSTRING_INITIAL_FILENAME + 1 ) , BINDSTRING_PROXY_PASSWORD = ( BINDSTRING_PROXY_USERNAME + 1 ) , BINDSTRING_ENTERPRISE_ID = ( BINDSTRING_PROXY_PASSWORD + 1 ) , BINDSTRING_DOC_URL = ( BINDSTRING_ENTERPRISE_ID + 1 ) , BINDSTRING_SAMESITE_COOKIE_LEVEL = ( BINDSTRING_DOC_URL + 1 ) } BINDSTRING; extern "C" const IID IID_IInternetBindInfo; struct __declspec(uuid("79eac9e1-baf9-11ce-8c82-00aa004ba90b")) __declspec(novtable) IInternetBindInfo : public IUnknown { public: virtual HRESULT __stdcall GetBindInfo( DWORD *grfBINDF, BINDINFO *pbindinfo) = 0; virtual HRESULT __stdcall GetBindString( ULONG ulStringType, LPOLESTR *ppwzStr, ULONG cEl, ULONG *pcElFetched) = 0; }; extern RPC_IF_HANDLE __MIDL_itf_urlmon_0000_0027_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_urlmon_0000_0027_v0_0_s_ifspec; typedef IInternetBindInfoEx *LPIINTERNETBINDINFOEX; extern "C" const IID IID_IInternetBindInfoEx; struct __declspec(uuid("a3e015b7-a82c-4dcd-a150-569aeeed36ab")) __declspec(novtable) IInternetBindInfoEx : public IInternetBindInfo { public: virtual HRESULT __stdcall GetBindInfoEx( DWORD *grfBINDF, BINDINFO *pbindinfo, DWORD *grfBINDF2, DWORD *pdwReserved) = 0; }; extern RPC_IF_HANDLE __MIDL_itf_urlmon_0000_0028_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_urlmon_0000_0028_v0_0_s_ifspec; typedef IInternetProtocolRoot *LPIINTERNETPROTOCOLROOT; typedef enum _tagPI_FLAGS { PI_PARSE_URL = 0x1, PI_FILTER_MODE = 0x2, PI_FORCE_ASYNC = 0x4, PI_USE_WORKERTHREAD = 0x8, PI_MIMEVERIFICATION = 0x10, PI_CLSIDLOOKUP = 0x20, PI_DATAPROGRESS = 0x40, PI_SYNCHRONOUS = 0x80, PI_APARTMENTTHREADED = 0x100, PI_CLASSINSTALL = 0x200, PI_PASSONBINDCTX = 0x2000, PI_NOMIMEHANDLER = 0x8000, PI_LOADAPPDIRECT = 0x4000, PD_FORCE_SWITCH = 0x10000, PI_PREFERDEFAULTHANDLER = 0x20000 } PI_FLAGS; typedef struct _tagPROTOCOLDATA { DWORD grfFlags; DWORD dwState; LPVOID pData; ULONG cbData; } PROTOCOLDATA; typedef struct _tagStartParam { IID iid; IBindCtx *pIBindCtx; IUnknown *pItf; } StartParam; extern "C" const IID IID_IInternetProtocolRoot; struct __declspec(uuid("79eac9e3-baf9-11ce-8c82-00aa004ba90b")) __declspec(novtable) IInternetProtocolRoot : public IUnknown { public: virtual HRESULT __stdcall Start( LPCWSTR szUrl, IInternetProtocolSink *pOIProtSink, IInternetBindInfo *pOIBindInfo, DWORD grfPI, HANDLE_PTR dwReserved) = 0; virtual HRESULT __stdcall Continue( PROTOCOLDATA *pProtocolData) = 0; virtual HRESULT __stdcall Abort( HRESULT hrReason, DWORD dwOptions) = 0; virtual HRESULT __stdcall Terminate( DWORD dwOptions) = 0; virtual HRESULT __stdcall Suspend( void) = 0; virtual HRESULT __stdcall Resume( void) = 0; }; extern RPC_IF_HANDLE __MIDL_itf_urlmon_0000_0029_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_urlmon_0000_0029_v0_0_s_ifspec; typedef IInternetProtocol *LPIINTERNETPROTOCOL; extern "C" const IID IID_IInternetProtocol; struct __declspec(uuid("79eac9e4-baf9-11ce-8c82-00aa004ba90b")) __declspec(novtable) IInternetProtocol : public IInternetProtocolRoot { public: virtual HRESULT __stdcall Read( void *pv, ULONG cb, ULONG *pcbRead) = 0; virtual HRESULT __stdcall Seek( LARGE_INTEGER dlibMove, DWORD dwOrigin, ULARGE_INTEGER *plibNewPosition) = 0; virtual HRESULT __stdcall LockRequest( DWORD dwOptions) = 0; virtual HRESULT __stdcall UnlockRequest( void) = 0; }; extern RPC_IF_HANDLE __MIDL_itf_urlmon_0000_0030_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_urlmon_0000_0030_v0_0_s_ifspec; extern "C" const IID IID_IInternetProtocolEx; struct __declspec(uuid("C7A98E66-1010-492c-A1C8-C809E1F75905")) __declspec(novtable) IInternetProtocolEx : public IInternetProtocol { public: virtual HRESULT __stdcall StartEx( IUri *pUri, IInternetProtocolSink *pOIProtSink, IInternetBindInfo *pOIBindInfo, DWORD grfPI, HANDLE_PTR dwReserved) = 0; }; extern RPC_IF_HANDLE __MIDL_itf_urlmon_0000_0031_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_urlmon_0000_0031_v0_0_s_ifspec; typedef IInternetProtocolSink *LPIINTERNETPROTOCOLSINK; extern "C" const IID IID_IInternetProtocolSink; struct __declspec(uuid("79eac9e5-baf9-11ce-8c82-00aa004ba90b")) __declspec(novtable) IInternetProtocolSink : public IUnknown { public: virtual HRESULT __stdcall Switch( PROTOCOLDATA *pProtocolData) = 0; virtual HRESULT __stdcall ReportProgress( ULONG ulStatusCode, LPCWSTR szStatusText) = 0; virtual HRESULT __stdcall ReportData( DWORD grfBSCF, ULONG ulProgress, ULONG ulProgressMax) = 0; virtual HRESULT __stdcall ReportResult( HRESULT hrResult, DWORD dwError, LPCWSTR szResult) = 0; }; extern RPC_IF_HANDLE __MIDL_itf_urlmon_0000_0032_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_urlmon_0000_0032_v0_0_s_ifspec; typedef IInternetProtocolSinkStackable *LPIINTERNETPROTOCOLSINKStackable; extern "C" const IID IID_IInternetProtocolSinkStackable; struct __declspec(uuid("79eac9f0-baf9-11ce-8c82-00aa004ba90b")) __declspec(novtable) IInternetProtocolSinkStackable : public IUnknown { public: virtual HRESULT __stdcall SwitchSink( IInternetProtocolSink *pOIProtSink) = 0; virtual HRESULT __stdcall CommitSwitch( void) = 0; virtual HRESULT __stdcall RollbackSwitch( void) = 0; }; extern RPC_IF_HANDLE __MIDL_itf_urlmon_0000_0033_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_urlmon_0000_0033_v0_0_s_ifspec; typedef IInternetSession *LPIINTERNETSESSION; typedef enum _tagOIBDG_FLAGS { OIBDG_APARTMENTTHREADED = 0x100, OIBDG_DATAONLY = 0x1000 } OIBDG_FLAGS; extern "C" const IID IID_IInternetSession; struct __declspec(uuid("79eac9e7-baf9-11ce-8c82-00aa004ba90b")) __declspec(novtable) IInternetSession : public IUnknown { public: virtual HRESULT __stdcall RegisterNameSpace( IClassFactory *pCF, const IID & rclsid, LPCWSTR pwzProtocol, ULONG cPatterns, const LPCWSTR *ppwzPatterns, DWORD dwReserved) = 0; virtual HRESULT __stdcall UnregisterNameSpace( IClassFactory *pCF, LPCWSTR pszProtocol) = 0; virtual HRESULT __stdcall RegisterMimeFilter( IClassFactory *pCF, const IID & rclsid, LPCWSTR pwzType) = 0; virtual HRESULT __stdcall UnregisterMimeFilter( IClassFactory *pCF, LPCWSTR pwzType) = 0; virtual HRESULT __stdcall CreateBinding( LPBC pBC, LPCWSTR szUrl, IUnknown *pUnkOuter, IUnknown **ppUnk, IInternetProtocol **ppOInetProt, DWORD dwOption) = 0; virtual HRESULT __stdcall SetSessionOption( DWORD dwOption, LPVOID pBuffer, DWORD dwBufferLength, DWORD dwReserved) = 0; virtual HRESULT __stdcall GetSessionOption( DWORD dwOption, LPVOID pBuffer, DWORD *pdwBufferLength, DWORD dwReserved) = 0; }; extern RPC_IF_HANDLE __MIDL_itf_urlmon_0000_0034_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_urlmon_0000_0034_v0_0_s_ifspec; typedef IInternetThreadSwitch *LPIINTERNETTHREADSWITCH; extern "C" const IID IID_IInternetThreadSwitch; struct __declspec(uuid("79eac9e8-baf9-11ce-8c82-00aa004ba90b")) __declspec(novtable) IInternetThreadSwitch : public IUnknown { public: virtual HRESULT __stdcall Prepare( void) = 0; virtual HRESULT __stdcall Continue( void) = 0; }; extern RPC_IF_HANDLE __MIDL_itf_urlmon_0000_0035_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_urlmon_0000_0035_v0_0_s_ifspec; typedef IInternetPriority *LPIINTERNETPRIORITY; extern "C" const IID IID_IInternetPriority; struct __declspec(uuid("79eac9eb-baf9-11ce-8c82-00aa004ba90b")) __declspec(novtable) IInternetPriority : public IUnknown { public: virtual HRESULT __stdcall SetPriority( LONG nPriority) = 0; virtual HRESULT __stdcall GetPriority( LONG *pnPriority) = 0; }; extern RPC_IF_HANDLE __MIDL_itf_urlmon_0000_0036_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_urlmon_0000_0036_v0_0_s_ifspec; typedef IInternetProtocolInfo *LPIINTERNETPROTOCOLINFO; typedef enum _tagPARSEACTION { PARSE_CANONICALIZE = 1, PARSE_FRIENDLY = ( PARSE_CANONICALIZE + 1 ) , PARSE_SECURITY_URL = ( PARSE_FRIENDLY + 1 ) , PARSE_ROOTDOCUMENT = ( PARSE_SECURITY_URL + 1 ) , PARSE_DOCUMENT = ( PARSE_ROOTDOCUMENT + 1 ) , PARSE_ANCHOR = ( PARSE_DOCUMENT + 1 ) , PARSE_ENCODE_IS_UNESCAPE = ( PARSE_ANCHOR + 1 ) , PARSE_DECODE_IS_ESCAPE = ( PARSE_ENCODE_IS_UNESCAPE + 1 ) , PARSE_PATH_FROM_URL = ( PARSE_DECODE_IS_ESCAPE + 1 ) , PARSE_URL_FROM_PATH = ( PARSE_PATH_FROM_URL + 1 ) , PARSE_MIME = ( PARSE_URL_FROM_PATH + 1 ) , PARSE_SERVER = ( PARSE_MIME + 1 ) , PARSE_SCHEMA = ( PARSE_SERVER + 1 ) , PARSE_SITE = ( PARSE_SCHEMA + 1 ) , PARSE_DOMAIN = ( PARSE_SITE + 1 ) , PARSE_LOCATION = ( PARSE_DOMAIN + 1 ) , PARSE_SECURITY_DOMAIN = ( PARSE_LOCATION + 1 ) , PARSE_ESCAPE = ( PARSE_SECURITY_DOMAIN + 1 ) , PARSE_UNESCAPE = ( PARSE_ESCAPE + 1 ) } PARSEACTION; typedef enum _tagPSUACTION { PSU_DEFAULT = 1, PSU_SECURITY_URL_ONLY = ( PSU_DEFAULT + 1 ) } PSUACTION; typedef enum _tagQUERYOPTION { QUERY_EXPIRATION_DATE = 1, QUERY_TIME_OF_LAST_CHANGE = ( QUERY_EXPIRATION_DATE + 1 ) , QUERY_CONTENT_ENCODING = ( QUERY_TIME_OF_LAST_CHANGE + 1 ) , QUERY_CONTENT_TYPE = ( QUERY_CONTENT_ENCODING + 1 ) , QUERY_REFRESH = ( QUERY_CONTENT_TYPE + 1 ) , QUERY_RECOMBINE = ( QUERY_REFRESH + 1 ) , QUERY_CAN_NAVIGATE = ( QUERY_RECOMBINE + 1 ) , QUERY_USES_NETWORK = ( QUERY_CAN_NAVIGATE + 1 ) , QUERY_IS_CACHED = ( QUERY_USES_NETWORK + 1 ) , QUERY_IS_INSTALLEDENTRY = ( QUERY_IS_CACHED + 1 ) , QUERY_IS_CACHED_OR_MAPPED = ( QUERY_IS_INSTALLEDENTRY + 1 ) , QUERY_USES_CACHE = ( QUERY_IS_CACHED_OR_MAPPED + 1 ) , QUERY_IS_SECURE = ( QUERY_USES_CACHE + 1 ) , QUERY_IS_SAFE = ( QUERY_IS_SECURE + 1 ) , QUERY_USES_HISTORYFOLDER = ( QUERY_IS_SAFE + 1 ) , QUERY_IS_CACHED_AND_USABLE_OFFLINE = ( QUERY_USES_HISTORYFOLDER + 1 ) } QUERYOPTION; extern "C" const IID IID_IInternetProtocolInfo; struct __declspec(uuid("79eac9ec-baf9-11ce-8c82-00aa004ba90b")) __declspec(novtable) IInternetProtocolInfo : public IUnknown { public: virtual HRESULT __stdcall ParseUrl( LPCWSTR pwzUrl, PARSEACTION ParseAction, DWORD dwParseFlags, LPWSTR pwzResult, DWORD cchResult, DWORD *pcchResult, DWORD dwReserved) = 0; virtual HRESULT __stdcall CombineUrl( LPCWSTR pwzBaseUrl, LPCWSTR pwzRelativeUrl, DWORD dwCombineFlags, LPWSTR pwzResult, DWORD cchResult, DWORD *pcchResult, DWORD dwReserved) = 0; virtual HRESULT __stdcall CompareUrl( LPCWSTR pwzUrl1, LPCWSTR pwzUrl2, DWORD dwCompareFlags) = 0; virtual HRESULT __stdcall QueryInfo( LPCWSTR pwzUrl, QUERYOPTION OueryOption, DWORD dwQueryFlags, LPVOID pBuffer, DWORD cbBuffer, DWORD *pcbBuf, DWORD dwReserved) = 0; }; extern "C" HRESULT __stdcall CoInternetParseUrl( LPCWSTR pwzUrl, PARSEACTION ParseAction, DWORD dwFlags, LPWSTR pszResult, DWORD cchResult, DWORD *pcchResult, DWORD dwReserved ); extern "C" HRESULT __stdcall CoInternetParseIUri( IUri *pIUri, PARSEACTION ParseAction, DWORD dwFlags, LPWSTR pwzResult, DWORD cchResult, DWORD *pcchResult, DWORD_PTR dwReserved ); extern "C" HRESULT __stdcall CoInternetCombineUrl( LPCWSTR pwzBaseUrl, LPCWSTR pwzRelativeUrl, DWORD dwCombineFlags, LPWSTR pszResult, DWORD cchResult, DWORD *pcchResult, DWORD dwReserved ); extern "C" HRESULT __stdcall CoInternetCombineUrlEx( IUri *pBaseUri, LPCWSTR pwzRelativeUrl, DWORD dwCombineFlags, IUri **ppCombinedUri, DWORD_PTR dwReserved ); extern "C" HRESULT __stdcall CoInternetCombineIUri ( IUri *pBaseUri, IUri *pRelativeUri, DWORD dwCombineFlags, IUri **ppCombinedUri, DWORD_PTR dwReserved ); extern "C" HRESULT __stdcall CoInternetCompareUrl( LPCWSTR pwzUrl1, LPCWSTR pwzUrl2, DWORD dwFlags ); extern "C" HRESULT __stdcall CoInternetGetProtocolFlags( LPCWSTR pwzUrl, DWORD *pdwFlags, DWORD dwReserved ); extern "C" HRESULT __stdcall CoInternetQueryInfo( LPCWSTR pwzUrl, QUERYOPTION QueryOptions, DWORD dwQueryFlags, LPVOID pvBuffer, DWORD cbBuffer, DWORD *pcbBuffer, DWORD dwReserved ); extern "C" HRESULT __stdcall CoInternetGetSession( DWORD dwSessionMode, IInternetSession **ppIInternetSession, DWORD dwReserved ); extern "C" HRESULT __stdcall CoInternetGetSecurityUrl( LPCWSTR pwszUrl, LPWSTR *ppwszSecUrl, PSUACTION psuAction, DWORD dwReserved ); extern "C" HRESULT __stdcall AsyncInstallDistributionUnit( LPCWSTR szDistUnit, LPCWSTR szTYPE, LPCWSTR szExt, DWORD dwFileVersionMS, DWORD dwFileVersionLS, LPCWSTR szURL, IBindCtx *pbc, LPVOID pvReserved, DWORD flags ); extern "C" HRESULT __stdcall CoInternetGetSecurityUrlEx( IUri *pUri, IUri **ppSecUri, PSUACTION psuAction, DWORD_PTR dwReserved ); typedef enum _tagINTERNETFEATURELIST { FEATURE_OBJECT_CACHING = 0, FEATURE_ZONE_ELEVATION = ( FEATURE_OBJECT_CACHING + 1 ) , FEATURE_MIME_HANDLING = ( FEATURE_ZONE_ELEVATION + 1 ) , FEATURE_MIME_SNIFFING = ( FEATURE_MIME_HANDLING + 1 ) , FEATURE_WINDOW_RESTRICTIONS = ( FEATURE_MIME_SNIFFING + 1 ) , FEATURE_WEBOC_POPUPMANAGEMENT = ( FEATURE_WINDOW_RESTRICTIONS + 1 ) , FEATURE_BEHAVIORS = ( FEATURE_WEBOC_POPUPMANAGEMENT + 1 ) , FEATURE_DISABLE_MK_PROTOCOL = ( FEATURE_BEHAVIORS + 1 ) , FEATURE_LOCALMACHINE_LOCKDOWN = ( FEATURE_DISABLE_MK_PROTOCOL + 1 ) , FEATURE_SECURITYBAND = ( FEATURE_LOCALMACHINE_LOCKDOWN + 1 ) , FEATURE_RESTRICT_ACTIVEXINSTALL = ( FEATURE_SECURITYBAND + 1 ) , FEATURE_VALIDATE_NAVIGATE_URL = ( FEATURE_RESTRICT_ACTIVEXINSTALL + 1 ) , FEATURE_RESTRICT_FILEDOWNLOAD = ( FEATURE_VALIDATE_NAVIGATE_URL + 1 ) , FEATURE_ADDON_MANAGEMENT = ( FEATURE_RESTRICT_FILEDOWNLOAD + 1 ) , FEATURE_PROTOCOL_LOCKDOWN = ( FEATURE_ADDON_MANAGEMENT + 1 ) , FEATURE_HTTP_USERNAME_PASSWORD_DISABLE = ( FEATURE_PROTOCOL_LOCKDOWN + 1 ) , FEATURE_SAFE_BINDTOOBJECT = ( FEATURE_HTTP_USERNAME_PASSWORD_DISABLE + 1 ) , FEATURE_UNC_SAVEDFILECHECK = ( FEATURE_SAFE_BINDTOOBJECT + 1 ) , FEATURE_GET_URL_DOM_FILEPATH_UNENCODED = ( FEATURE_UNC_SAVEDFILECHECK + 1 ) , FEATURE_TABBED_BROWSING = ( FEATURE_GET_URL_DOM_FILEPATH_UNENCODED + 1 ) , FEATURE_SSLUX = ( FEATURE_TABBED_BROWSING + 1 ) , FEATURE_DISABLE_NAVIGATION_SOUNDS = ( FEATURE_SSLUX + 1 ) , FEATURE_DISABLE_LEGACY_COMPRESSION = ( FEATURE_DISABLE_NAVIGATION_SOUNDS + 1 ) , FEATURE_FORCE_ADDR_AND_STATUS = ( FEATURE_DISABLE_LEGACY_COMPRESSION + 1 ) , FEATURE_XMLHTTP = ( FEATURE_FORCE_ADDR_AND_STATUS + 1 ) , FEATURE_DISABLE_TELNET_PROTOCOL = ( FEATURE_XMLHTTP + 1 ) , FEATURE_FEEDS = ( FEATURE_DISABLE_TELNET_PROTOCOL + 1 ) , FEATURE_BLOCK_INPUT_PROMPTS = ( FEATURE_FEEDS + 1 ) , FEATURE_ENTRY_COUNT = ( FEATURE_BLOCK_INPUT_PROMPTS + 1 ) } INTERNETFEATURELIST; extern "C" HRESULT __stdcall CoInternetSetFeatureEnabled( INTERNETFEATURELIST FeatureEntry, DWORD dwFlags, BOOL fEnable ); extern "C" HRESULT __stdcall CoInternetIsFeatureEnabled( INTERNETFEATURELIST FeatureEntry, DWORD dwFlags ); extern "C" HRESULT __stdcall CoInternetIsFeatureEnabledForUrl( INTERNETFEATURELIST FeatureEntry, DWORD dwFlags, LPCWSTR szURL, IInternetSecurityManager *pSecMgr ); extern "C" HRESULT __stdcall CoInternetIsFeatureEnabledForIUri( INTERNETFEATURELIST FeatureEntry, DWORD dwFlags, IUri * pIUri, IInternetSecurityManagerEx2 *pSecMgr ); extern "C" HRESULT __stdcall CoInternetIsFeatureZoneElevationEnabled( LPCWSTR szFromURL, LPCWSTR szToURL, IInternetSecurityManager *pSecMgr, DWORD dwFlags ); extern "C" HRESULT __stdcall CopyStgMedium( const STGMEDIUM * pcstgmedSrc, STGMEDIUM * pstgmedDest); extern "C" HRESULT __stdcall CopyBindInfo( const BINDINFO * pcbiSrc, BINDINFO * pbiDest ); extern "C" void __stdcall ReleaseBindInfo( BINDINFO * pbindinfo ); extern "C" PWSTR __stdcall IEGetUserPrivateNamespaceName(void); extern "C" HRESULT __stdcall CoInternetCreateSecurityManager( IServiceProvider *pSP, IInternetSecurityManager **ppSM, DWORD dwReserved); extern "C" HRESULT __stdcall CoInternetCreateZoneManager( IServiceProvider *pSP, IInternetZoneManager **ppZM, DWORD dwReserved); extern "C" const IID CLSID_InternetSecurityManager; extern "C" const IID CLSID_InternetZoneManager; extern "C" const IID CLSID_PersistentZoneIdentifier; extern RPC_IF_HANDLE __MIDL_itf_urlmon_0000_0037_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_urlmon_0000_0037_v0_0_s_ifspec; extern "C" const IID IID_IInternetSecurityMgrSite; struct __declspec(uuid("79eac9ed-baf9-11ce-8c82-00aa004ba90b")) __declspec(novtable) IInternetSecurityMgrSite : public IUnknown { public: virtual HRESULT __stdcall GetWindow( HWND *phwnd) = 0; virtual HRESULT __stdcall EnableModeless( BOOL fEnable) = 0; }; extern RPC_IF_HANDLE __MIDL_itf_urlmon_0000_0038_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_urlmon_0000_0038_v0_0_s_ifspec; typedef enum __MIDL_IInternetSecurityManager_0001 { PUAF_DEFAULT = 0, PUAF_NOUI = 0x1, PUAF_ISFILE = 0x2, PUAF_WARN_IF_DENIED = 0x4, PUAF_FORCEUI_FOREGROUND = 0x8, PUAF_CHECK_TIFS = 0x10, PUAF_DONTCHECKBOXINDIALOG = 0x20, PUAF_TRUSTED = 0x40, PUAF_ACCEPT_WILDCARD_SCHEME = 0x80, PUAF_ENFORCERESTRICTED = 0x100, PUAF_NOSAVEDFILECHECK = 0x200, PUAF_REQUIRESAVEDFILECHECK = 0x400, PUAF_DONT_USE_CACHE = 0x1000, PUAF_RESERVED1 = 0x2000, PUAF_RESERVED2 = 0x4000, PUAF_LMZ_UNLOCKED = 0x10000, PUAF_LMZ_LOCKED = 0x20000, PUAF_DEFAULTZONEPOL = 0x40000, PUAF_NPL_USE_LOCKED_IF_RESTRICTED = 0x80000, PUAF_NOUIIFLOCKED = 0x100000, PUAF_DRAGPROTOCOLCHECK = 0x200000 } PUAF; typedef enum __MIDL_IInternetSecurityManager_0002 { PUAFOUT_DEFAULT = 0, PUAFOUT_ISLOCKZONEPOLICY = 0x1 } PUAFOUT; typedef enum __MIDL_IInternetSecurityManager_0003 { SZM_CREATE = 0, SZM_DELETE = 0x1 } SZM_FLAGS; extern "C" const IID IID_IInternetSecurityManager; struct __declspec(uuid("79eac9ee-baf9-11ce-8c82-00aa004ba90b")) __declspec(novtable) IInternetSecurityManager : public IUnknown { public: virtual HRESULT __stdcall SetSecuritySite( IInternetSecurityMgrSite *pSite) = 0; virtual HRESULT __stdcall GetSecuritySite( IInternetSecurityMgrSite **ppSite) = 0; virtual HRESULT __stdcall MapUrlToZone( LPCWSTR pwszUrl, DWORD *pdwZone, DWORD dwFlags) = 0; virtual HRESULT __stdcall GetSecurityId( LPCWSTR pwszUrl, BYTE *pbSecurityId, DWORD *pcbSecurityId, DWORD_PTR dwReserved) = 0; virtual HRESULT __stdcall ProcessUrlAction( LPCWSTR pwszUrl, DWORD dwAction, BYTE *pPolicy, DWORD cbPolicy, BYTE *pContext, DWORD cbContext, DWORD dwFlags, DWORD dwReserved) = 0; virtual HRESULT __stdcall QueryCustomPolicy( LPCWSTR pwszUrl, const GUID & guidKey, BYTE **ppPolicy, DWORD *pcbPolicy, BYTE *pContext, DWORD cbContext, DWORD dwReserved) = 0; virtual HRESULT __stdcall SetZoneMapping( DWORD dwZone, LPCWSTR lpszPattern, DWORD dwFlags) = 0; virtual HRESULT __stdcall GetZoneMappings( DWORD dwZone, IEnumString **ppenumString, DWORD dwFlags) = 0; }; extern RPC_IF_HANDLE __MIDL_itf_urlmon_0000_0039_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_urlmon_0000_0039_v0_0_s_ifspec; extern "C" const IID IID_IInternetSecurityManagerEx; struct __declspec(uuid("F164EDF1-CC7C-4f0d-9A94-34222625C393")) __declspec(novtable) IInternetSecurityManagerEx : public IInternetSecurityManager { public: virtual HRESULT __stdcall ProcessUrlActionEx( LPCWSTR pwszUrl, DWORD dwAction, BYTE *pPolicy, DWORD cbPolicy, BYTE *pContext, DWORD cbContext, DWORD dwFlags, DWORD dwReserved, DWORD *pdwOutFlags) = 0; }; extern RPC_IF_HANDLE __MIDL_itf_urlmon_0000_0040_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_urlmon_0000_0040_v0_0_s_ifspec; extern "C" const IID IID_IInternetSecurityManagerEx2; struct __declspec(uuid("F1E50292-A795-4117-8E09-2B560A72AC60")) __declspec(novtable) IInternetSecurityManagerEx2 : public IInternetSecurityManagerEx { public: virtual HRESULT __stdcall MapUrlToZoneEx2( IUri *pUri, DWORD *pdwZone, DWORD dwFlags, LPWSTR *ppwszMappedUrl, DWORD *pdwOutFlags) = 0; virtual HRESULT __stdcall ProcessUrlActionEx2( IUri *pUri, DWORD dwAction, BYTE *pPolicy, DWORD cbPolicy, BYTE *pContext, DWORD cbContext, DWORD dwFlags, DWORD_PTR dwReserved, DWORD *pdwOutFlags) = 0; virtual HRESULT __stdcall GetSecurityIdEx2( IUri *pUri, BYTE *pbSecurityId, DWORD *pcbSecurityId, DWORD_PTR dwReserved) = 0; virtual HRESULT __stdcall QueryCustomPolicyEx2( IUri *pUri, const GUID & guidKey, BYTE **ppPolicy, DWORD *pcbPolicy, BYTE *pContext, DWORD cbContext, DWORD_PTR dwReserved) = 0; }; extern RPC_IF_HANDLE __MIDL_itf_urlmon_0000_0041_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_urlmon_0000_0041_v0_0_s_ifspec; extern "C" const IID IID_IZoneIdentifier; struct __declspec(uuid("cd45f185-1b21-48e2-967b-ead743a8914e")) __declspec(novtable) IZoneIdentifier : public IUnknown { public: virtual HRESULT __stdcall GetId( DWORD *pdwZone) = 0; virtual HRESULT __stdcall SetId( DWORD dwZone) = 0; virtual HRESULT __stdcall Remove( void) = 0; }; extern RPC_IF_HANDLE __MIDL_itf_urlmon_0000_0042_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_urlmon_0000_0042_v0_0_s_ifspec; extern "C" const IID IID_IZoneIdentifier2; struct __declspec(uuid("EB5E760C-09EF-45C0-B510-70830CE31E6A")) __declspec(novtable) IZoneIdentifier2 : public IZoneIdentifier { public: virtual HRESULT __stdcall GetLastWriterPackageFamilyName( LPWSTR *packageFamilyName) = 0; virtual HRESULT __stdcall SetLastWriterPackageFamilyName( LPCWSTR packageFamilyName) = 0; virtual HRESULT __stdcall RemoveLastWriterPackageFamilyName( void) = 0; virtual HRESULT __stdcall GetAppZoneId( DWORD *zone) = 0; virtual HRESULT __stdcall SetAppZoneId( DWORD zone) = 0; virtual HRESULT __stdcall RemoveAppZoneId( void) = 0; }; extern RPC_IF_HANDLE __MIDL_itf_urlmon_0000_0043_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_urlmon_0000_0043_v0_0_s_ifspec; extern "C" const IID IID_IInternetHostSecurityManager; struct __declspec(uuid("3af280b6-cb3f-11d0-891e-00c04fb6bfc4")) __declspec(novtable) IInternetHostSecurityManager : public IUnknown { public: virtual HRESULT __stdcall GetSecurityId( BYTE *pbSecurityId, DWORD *pcbSecurityId, DWORD_PTR dwReserved) = 0; virtual HRESULT __stdcall ProcessUrlAction( DWORD dwAction, BYTE *pPolicy, DWORD cbPolicy, BYTE *pContext, DWORD cbContext, DWORD dwFlags, DWORD dwReserved) = 0; virtual HRESULT __stdcall QueryCustomPolicy( const GUID & guidKey, BYTE **ppPolicy, DWORD *pcbPolicy, BYTE *pContext, DWORD cbContext, DWORD dwReserved) = 0; }; extern "C" const GUID GUID_CUSTOM_LOCALMACHINEZONEUNLOCKED; extern RPC_IF_HANDLE __MIDL_itf_urlmon_0000_0044_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_urlmon_0000_0044_v0_0_s_ifspec; typedef IInternetZoneManager *LPURLZONEMANAGER; typedef enum tagURLZONE { URLZONE_INVALID = -1, URLZONE_PREDEFINED_MIN = 0, URLZONE_LOCAL_MACHINE = 0, URLZONE_INTRANET = ( URLZONE_LOCAL_MACHINE + 1 ) , URLZONE_TRUSTED = ( URLZONE_INTRANET + 1 ) , URLZONE_INTERNET = ( URLZONE_TRUSTED + 1 ) , URLZONE_UNTRUSTED = ( URLZONE_INTERNET + 1 ) , URLZONE_PREDEFINED_MAX = 999, URLZONE_USER_MIN = 1000, URLZONE_USER_MAX = 10000 } URLZONE; typedef enum tagURLTEMPLATE { URLTEMPLATE_CUSTOM = 0, URLTEMPLATE_PREDEFINED_MIN = 0x10000, URLTEMPLATE_LOW = 0x10000, URLTEMPLATE_MEDLOW = 0x10500, URLTEMPLATE_MEDIUM = 0x11000, URLTEMPLATE_MEDHIGH = 0x11500, URLTEMPLATE_HIGH = 0x12000, URLTEMPLATE_PREDEFINED_MAX = 0x20000 } URLTEMPLATE; enum __MIDL_IInternetZoneManager_0001 { MAX_ZONE_PATH = 260, MAX_ZONE_DESCRIPTION = 200 } ; typedef enum __MIDL_IInternetZoneManager_0002 { ZAFLAGS_CUSTOM_EDIT = 0x1, ZAFLAGS_ADD_SITES = 0x2, ZAFLAGS_REQUIRE_VERIFICATION = 0x4, ZAFLAGS_INCLUDE_PROXY_OVERRIDE = 0x8, ZAFLAGS_INCLUDE_INTRANET_SITES = 0x10, ZAFLAGS_NO_UI = 0x20, ZAFLAGS_SUPPORTS_VERIFICATION = 0x40, ZAFLAGS_UNC_AS_INTRANET = 0x80, ZAFLAGS_DETECT_INTRANET = 0x100, ZAFLAGS_USE_LOCKED_ZONES = 0x10000, ZAFLAGS_VERIFY_TEMPLATE_SETTINGS = 0x20000, ZAFLAGS_NO_CACHE = 0x40000 } ZAFLAGS; typedef struct _ZONEATTRIBUTES { ULONG cbSize; WCHAR szDisplayName[ 260 ]; WCHAR szDescription[ 200 ]; WCHAR szIconPath[ 260 ]; DWORD dwTemplateMinLevel; DWORD dwTemplateRecommended; DWORD dwTemplateCurrentLevel; DWORD dwFlags; } ZONEATTRIBUTES; typedef struct _ZONEATTRIBUTES *LPZONEATTRIBUTES; typedef enum _URLZONEREG { URLZONEREG_DEFAULT = 0, URLZONEREG_HKLM = ( URLZONEREG_DEFAULT + 1 ) , URLZONEREG_HKCU = ( URLZONEREG_HKLM + 1 ) } URLZONEREG; extern "C" const IID IID_IInternetZoneManager; struct __declspec(uuid("79eac9ef-baf9-11ce-8c82-00aa004ba90b")) __declspec(novtable) IInternetZoneManager : public IUnknown { public: virtual HRESULT __stdcall GetZoneAttributes( DWORD dwZone, ZONEATTRIBUTES *pZoneAttributes) = 0; virtual HRESULT __stdcall SetZoneAttributes( DWORD dwZone, ZONEATTRIBUTES *pZoneAttributes) = 0; virtual HRESULT __stdcall GetZoneCustomPolicy( DWORD dwZone, const GUID & guidKey, BYTE **ppPolicy, DWORD *pcbPolicy, URLZONEREG urlZoneReg) = 0; virtual HRESULT __stdcall SetZoneCustomPolicy( DWORD dwZone, const GUID & guidKey, BYTE *pPolicy, DWORD cbPolicy, URLZONEREG urlZoneReg) = 0; virtual HRESULT __stdcall GetZoneActionPolicy( DWORD dwZone, DWORD dwAction, BYTE *pPolicy, DWORD cbPolicy, URLZONEREG urlZoneReg) = 0; virtual HRESULT __stdcall SetZoneActionPolicy( DWORD dwZone, DWORD dwAction, BYTE *pPolicy, DWORD cbPolicy, URLZONEREG urlZoneReg) = 0; virtual HRESULT __stdcall PromptAction( DWORD dwAction, HWND hwndParent, LPCWSTR pwszUrl, LPCWSTR pwszText, DWORD dwPromptFlags) = 0; virtual HRESULT __stdcall LogAction( DWORD dwAction, LPCWSTR pwszUrl, LPCWSTR pwszText, DWORD dwLogFlags) = 0; virtual HRESULT __stdcall CreateZoneEnumerator( DWORD *pdwEnum, DWORD *pdwCount, DWORD dwFlags) = 0; virtual HRESULT __stdcall GetZoneAt( DWORD dwEnum, DWORD dwIndex, DWORD *pdwZone) = 0; virtual HRESULT __stdcall DestroyZoneEnumerator( DWORD dwEnum) = 0; virtual HRESULT __stdcall CopyTemplatePoliciesToZone( DWORD dwTemplate, DWORD dwZone, DWORD dwReserved) = 0; }; extern RPC_IF_HANDLE __MIDL_itf_urlmon_0000_0045_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_urlmon_0000_0045_v0_0_s_ifspec; extern "C" const IID IID_IInternetZoneManagerEx; struct __declspec(uuid("A4C23339-8E06-431e-9BF4-7E711C085648")) __declspec(novtable) IInternetZoneManagerEx : public IInternetZoneManager { public: virtual HRESULT __stdcall GetZoneActionPolicyEx( DWORD dwZone, DWORD dwAction, BYTE *pPolicy, DWORD cbPolicy, URLZONEREG urlZoneReg, DWORD dwFlags) = 0; virtual HRESULT __stdcall SetZoneActionPolicyEx( DWORD dwZone, DWORD dwAction, BYTE *pPolicy, DWORD cbPolicy, URLZONEREG urlZoneReg, DWORD dwFlags) = 0; }; extern RPC_IF_HANDLE __MIDL_itf_urlmon_0000_0046_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_urlmon_0000_0046_v0_0_s_ifspec; extern "C" const IID IID_IInternetZoneManagerEx2; struct __declspec(uuid("EDC17559-DD5D-4846-8EEF-8BECBA5A4ABF")) __declspec(novtable) IInternetZoneManagerEx2 : public IInternetZoneManagerEx { public: virtual HRESULT __stdcall GetZoneAttributesEx( DWORD dwZone, ZONEATTRIBUTES *pZoneAttributes, DWORD dwFlags) = 0; virtual HRESULT __stdcall GetZoneSecurityState( DWORD dwZoneIndex, BOOL fRespectPolicy, LPDWORD pdwState, BOOL *pfPolicyEncountered) = 0; virtual HRESULT __stdcall GetIESecurityState( BOOL fRespectPolicy, LPDWORD pdwState, BOOL *pfPolicyEncountered, BOOL fNoCache) = 0; virtual HRESULT __stdcall FixUnsecureSettings( void) = 0; }; extern "C" const IID CLSID_SoftDistExt; typedef struct _tagCODEBASEHOLD { ULONG cbSize; LPWSTR szDistUnit; LPWSTR szCodeBase; DWORD dwVersionMS; DWORD dwVersionLS; DWORD dwStyle; } CODEBASEHOLD; typedef struct _tagCODEBASEHOLD *LPCODEBASEHOLD; typedef struct _tagSOFTDISTINFO { ULONG cbSize; DWORD dwFlags; DWORD dwAdState; LPWSTR szTitle; LPWSTR szAbstract; LPWSTR szHREF; DWORD dwInstalledVersionMS; DWORD dwInstalledVersionLS; DWORD dwUpdateVersionMS; DWORD dwUpdateVersionLS; DWORD dwAdvertisedVersionMS; DWORD dwAdvertisedVersionLS; DWORD dwReserved; } SOFTDISTINFO; typedef struct _tagSOFTDISTINFO *LPSOFTDISTINFO; extern RPC_IF_HANDLE __MIDL_itf_urlmon_0000_0047_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_urlmon_0000_0047_v0_0_s_ifspec; extern "C" const IID IID_ISoftDistExt; struct __declspec(uuid("B15B8DC1-C7E1-11d0-8680-00AA00BDCB71")) __declspec(novtable) ISoftDistExt : public IUnknown { public: virtual HRESULT __stdcall ProcessSoftDist( LPCWSTR szCDFURL, IXMLElement *pSoftDistElement, LPSOFTDISTINFO lpsdi) = 0; virtual HRESULT __stdcall GetFirstCodeBase( LPWSTR *szCodeBase, LPDWORD dwMaxSize) = 0; virtual HRESULT __stdcall GetNextCodeBase( LPWSTR *szCodeBase, LPDWORD dwMaxSize) = 0; virtual HRESULT __stdcall AsyncInstallDistributionUnit( IBindCtx *pbc, LPVOID pvReserved, DWORD flags, LPCODEBASEHOLD lpcbh) = 0; }; extern "C" HRESULT __stdcall GetSoftwareUpdateInfo( LPCWSTR szDistUnit, LPSOFTDISTINFO psdi ); extern "C" HRESULT __stdcall SetSoftwareUpdateAdvertisementState( LPCWSTR szDistUnit, DWORD dwAdState, DWORD dwAdvertisedVersionMS, DWORD dwAdvertisedVersionLS ); extern RPC_IF_HANDLE __MIDL_itf_urlmon_0000_0048_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_urlmon_0000_0048_v0_0_s_ifspec; typedef ICatalogFileInfo *LPCATALOGFILEINFO; extern "C" const IID IID_ICatalogFileInfo; struct __declspec(uuid("711C7600-6B48-11d1-B403-00AA00B92AF1")) __declspec(novtable) ICatalogFileInfo : public IUnknown { public: virtual HRESULT __stdcall GetCatalogFile( LPSTR *ppszCatalogFile) = 0; virtual HRESULT __stdcall GetJavaTrust( void **ppJavaTrust) = 0; }; extern RPC_IF_HANDLE __MIDL_itf_urlmon_0000_0049_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_urlmon_0000_0049_v0_0_s_ifspec; typedef IDataFilter *LPDATAFILTER; extern "C" const IID IID_IDataFilter; struct __declspec(uuid("69d14c80-c18e-11d0-a9ce-006097942311")) __declspec(novtable) IDataFilter : public IUnknown { public: virtual HRESULT __stdcall DoEncode( DWORD dwFlags, LONG lInBufferSize, BYTE *pbInBuffer, LONG lOutBufferSize, BYTE *pbOutBuffer, LONG lInBytesAvailable, LONG *plInBytesRead, LONG *plOutBytesWritten, DWORD dwReserved) = 0; virtual HRESULT __stdcall DoDecode( DWORD dwFlags, LONG lInBufferSize, BYTE *pbInBuffer, LONG lOutBufferSize, BYTE *pbOutBuffer, LONG lInBytesAvailable, LONG *plInBytesRead, LONG *plOutBytesWritten, DWORD dwReserved) = 0; virtual HRESULT __stdcall SetEncodingLevel( DWORD dwEncLevel) = 0; }; typedef struct _tagPROTOCOLFILTERDATA { DWORD cbSize; IInternetProtocolSink *pProtocolSink; IInternetProtocol *pProtocol; IUnknown *pUnk; DWORD dwFilterFlags; } PROTOCOLFILTERDATA; extern RPC_IF_HANDLE __MIDL_itf_urlmon_0000_0050_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_urlmon_0000_0050_v0_0_s_ifspec; typedef IEncodingFilterFactory *LPENCODINGFILTERFACTORY; typedef struct _tagDATAINFO { ULONG ulTotalSize; ULONG ulavrPacketSize; ULONG ulConnectSpeed; ULONG ulProcessorSpeed; } DATAINFO; extern "C" const IID IID_IEncodingFilterFactory; struct __declspec(uuid("70bdde00-c18e-11d0-a9ce-006097942311")) __declspec(novtable) IEncodingFilterFactory : public IUnknown { public: virtual HRESULT __stdcall FindBestFilter( LPCWSTR pwzCodeIn, LPCWSTR pwzCodeOut, DATAINFO info, IDataFilter **ppDF) = 0; virtual HRESULT __stdcall GetDefaultFilter( LPCWSTR pwzCodeIn, LPCWSTR pwzCodeOut, IDataFilter **ppDF) = 0; }; BOOL __stdcall IsLoggingEnabledA( LPCSTR pszUrl); BOOL __stdcall IsLoggingEnabledW( LPCWSTR pwszUrl); typedef struct _tagHIT_LOGGING_INFO { DWORD dwStructSize; LPSTR lpszLoggedUrlName; SYSTEMTIME StartTime; SYSTEMTIME EndTime; LPSTR lpszExtendedInfo; } HIT_LOGGING_INFO; typedef struct _tagHIT_LOGGING_INFO *LPHIT_LOGGING_INFO; BOOL __stdcall WriteHitLogging( LPHIT_LOGGING_INFO lpLogginginfo); struct CONFIRMSAFETY { CLSID clsid; IUnknown *pUnk; DWORD dwFlags; } ; extern "C" const GUID GUID_CUSTOM_CONFIRMOBJECTSAFETY; extern RPC_IF_HANDLE __MIDL_itf_urlmon_0000_0051_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_urlmon_0000_0051_v0_0_s_ifspec; typedef IWrappedProtocol *LPIWRAPPEDPROTOCOL; extern "C" const IID IID_IWrappedProtocol; struct __declspec(uuid("53c84785-8425-4dc5-971b-e58d9c19f9b6")) __declspec(novtable) IWrappedProtocol : public IUnknown { public: virtual HRESULT __stdcall GetWrapperCode( LONG *pnCode, DWORD_PTR dwReserved) = 0; }; extern RPC_IF_HANDLE __MIDL_itf_urlmon_0000_0052_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_urlmon_0000_0052_v0_0_s_ifspec; typedef IGetBindHandle *LPGETBINDHANDLE; typedef enum __MIDL_IGetBindHandle_0001 { BINDHANDLETYPES_APPCACHE = 0, BINDHANDLETYPES_DEPENDENCY = 0x1, BINDHANDLETYPES_COUNT = ( BINDHANDLETYPES_DEPENDENCY + 1 ) } BINDHANDLETYPES; extern "C" const IID IID_IGetBindHandle; struct __declspec(uuid("AF0FF408-129D-4b20-91F0-02BD23D88352")) __declspec(novtable) IGetBindHandle : public IUnknown { public: virtual HRESULT __stdcall GetBindHandle( BINDHANDLETYPES enumRequestedHandle, HANDLE *pRetHandle) = 0; }; typedef struct _tagPROTOCOL_ARGUMENT { LPCWSTR szMethod; LPCWSTR szTargetUrl; } PROTOCOL_ARGUMENT; typedef struct _tagPROTOCOL_ARGUMENT *LPPROTOCOL_ARGUMENT; extern RPC_IF_HANDLE __MIDL_itf_urlmon_0000_0053_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_urlmon_0000_0053_v0_0_s_ifspec; typedef IBindCallbackRedirect *LPBINDCALLBACKREDIRECT; extern "C" const IID IID_IBindCallbackRedirect; struct __declspec(uuid("11C81BC2-121E-4ed5-B9C4-B430BD54F2C0")) __declspec(novtable) IBindCallbackRedirect : public IUnknown { public: virtual HRESULT __stdcall Redirect( LPCWSTR lpcUrl, VARIANT_BOOL *vbCancel) = 0; }; extern RPC_IF_HANDLE __MIDL_itf_urlmon_0000_0054_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_urlmon_0000_0054_v0_0_s_ifspec; extern "C" const IID IID_IBindHttpSecurity; struct __declspec(uuid("a9eda967-f50e-4a33-b358-206f6ef3086d")) __declspec(novtable) IBindHttpSecurity : public IUnknown { public: virtual HRESULT __stdcall GetIgnoreCertMask( DWORD *pdwIgnoreCertMask) = 0; }; #pragma endregion #pragma warning(pop) extern RPC_IF_HANDLE __MIDL_itf_urlmon_0000_0055_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_urlmon_0000_0055_v0_0_s_ifspec; unsigned long __stdcall BSTR_UserSize( unsigned long *, unsigned long , BSTR * ); unsigned char * __stdcall BSTR_UserMarshal( unsigned long *, unsigned char *, BSTR * ); unsigned char * __stdcall BSTR_UserUnmarshal( unsigned long *, unsigned char *, BSTR * ); void __stdcall BSTR_UserFree( unsigned long *, BSTR * ); unsigned long __stdcall HWND_UserSize( unsigned long *, unsigned long , HWND * ); unsigned char * __stdcall HWND_UserMarshal( unsigned long *, unsigned char *, HWND * ); unsigned char * __stdcall HWND_UserUnmarshal( unsigned long *, unsigned char *, HWND * ); void __stdcall HWND_UserFree( unsigned long *, HWND * ); unsigned long __stdcall BSTR_UserSize64( unsigned long *, unsigned long , BSTR * ); unsigned char * __stdcall BSTR_UserMarshal64( unsigned long *, unsigned char *, BSTR * ); unsigned char * __stdcall BSTR_UserUnmarshal64( unsigned long *, unsigned char *, BSTR * ); void __stdcall BSTR_UserFree64( unsigned long *, BSTR * ); unsigned long __stdcall HWND_UserSize64( unsigned long *, unsigned long , HWND * ); unsigned char * __stdcall HWND_UserMarshal64( unsigned long *, unsigned char *, HWND * ); unsigned char * __stdcall HWND_UserUnmarshal64( unsigned long *, unsigned char *, HWND * ); void __stdcall HWND_UserFree64( unsigned long *, HWND * ); HRESULT __stdcall IBinding_GetBindResult_Proxy( IBinding * This, CLSID *pclsidProtocol, DWORD *pdwResult, LPOLESTR *pszResult, DWORD *pdwReserved); HRESULT __stdcall IBinding_GetBindResult_Stub( IBinding * This, CLSID *pclsidProtocol, DWORD *pdwResult, LPOLESTR *pszResult, DWORD dwReserved); HRESULT __stdcall IBindStatusCallback_GetBindInfo_Proxy( IBindStatusCallback * This, DWORD *grfBINDF, BINDINFO *pbindinfo); HRESULT __stdcall IBindStatusCallback_GetBindInfo_Stub( IBindStatusCallback * This, DWORD *grfBINDF, RemBINDINFO *pbindinfo, RemSTGMEDIUM *pstgmed); HRESULT __stdcall IBindStatusCallback_OnDataAvailable_Proxy( IBindStatusCallback * This, DWORD grfBSCF, DWORD dwSize, FORMATETC *pformatetc, STGMEDIUM *pstgmed); HRESULT __stdcall IBindStatusCallback_OnDataAvailable_Stub( IBindStatusCallback * This, DWORD grfBSCF, DWORD dwSize, RemFORMATETC *pformatetc, RemSTGMEDIUM *pstgmed); HRESULT __stdcall IBindStatusCallbackEx_GetBindInfoEx_Proxy( IBindStatusCallbackEx * This, DWORD *grfBINDF, BINDINFO *pbindinfo, DWORD *grfBINDF2, DWORD *pdwReserved); HRESULT __stdcall IBindStatusCallbackEx_GetBindInfoEx_Stub( IBindStatusCallbackEx * This, DWORD *grfBINDF, RemBINDINFO *pbindinfo, RemSTGMEDIUM *pstgmed, DWORD *grfBINDF2, DWORD *pdwReserved); HRESULT __stdcall IWinInetInfo_QueryOption_Proxy( IWinInetInfo * This, DWORD dwOption, LPVOID pBuffer, DWORD *pcbBuf); HRESULT __stdcall IWinInetInfo_QueryOption_Stub( IWinInetInfo * This, DWORD dwOption, BYTE *pBuffer, DWORD *pcbBuf); HRESULT __stdcall IWinInetHttpInfo_QueryInfo_Proxy( IWinInetHttpInfo * This, DWORD dwOption, LPVOID pBuffer, DWORD *pcbBuf, DWORD *pdwFlags, DWORD *pdwReserved); HRESULT __stdcall IWinInetHttpInfo_QueryInfo_Stub( IWinInetHttpInfo * This, DWORD dwOption, BYTE *pBuffer, DWORD *pcbBuf, DWORD *pdwFlags, DWORD *pdwReserved); HRESULT __stdcall IBindHost_MonikerBindToStorage_Proxy( IBindHost * This, IMoniker *pMk, IBindCtx *pBC, IBindStatusCallback *pBSC, const IID & riid, void **ppvObj); HRESULT __stdcall IBindHost_MonikerBindToStorage_Stub( IBindHost * This, IMoniker *pMk, IBindCtx *pBC, IBindStatusCallback *pBSC, const IID & riid, IUnknown **ppvObj); HRESULT __stdcall IBindHost_MonikerBindToObject_Proxy( IBindHost * This, IMoniker *pMk, IBindCtx *pBC, IBindStatusCallback *pBSC, const IID & riid, void **ppvObj); HRESULT __stdcall IBindHost_MonikerBindToObject_Stub( IBindHost * This, IMoniker *pMk, IBindCtx *pBC, IBindStatusCallback *pBSC, const IID & riid, IUnknown **ppvObj); } #pragma once extern "C"{ #pragma warning(push) #pragma warning(disable:4820) #pragma warning(disable:4201) #pragma warning(disable:4237) #pragma once #pragma region Desktop Family or OneCore Family enum PIDMSI_STATUS_VALUE { PIDMSI_STATUS_NORMAL = 0, PIDMSI_STATUS_NEW = ( PIDMSI_STATUS_NORMAL + 1 ) , PIDMSI_STATUS_PRELIM = ( PIDMSI_STATUS_NEW + 1 ) , PIDMSI_STATUS_DRAFT = ( PIDMSI_STATUS_PRELIM + 1 ) , PIDMSI_STATUS_INPROGRESS = ( PIDMSI_STATUS_DRAFT + 1 ) , PIDMSI_STATUS_EDIT = ( PIDMSI_STATUS_INPROGRESS + 1 ) , PIDMSI_STATUS_REVIEW = ( PIDMSI_STATUS_EDIT + 1 ) , PIDMSI_STATUS_PROOF = ( PIDMSI_STATUS_REVIEW + 1 ) , PIDMSI_STATUS_FINAL = ( PIDMSI_STATUS_PROOF + 1 ) , PIDMSI_STATUS_OTHER = 0x7fff } ; #pragma endregion #pragma region Application Family or OneCore or Games Family extern "C" __declspec(dllimport) HRESULT __stdcall PropVariantCopy( PROPVARIANT* pvarDest, const PROPVARIANT * pvarSrc); extern "C" __declspec(dllimport) HRESULT __stdcall PropVariantClear( PROPVARIANT* pvar); extern "C" __declspec(dllimport) HRESULT __stdcall FreePropVariantArray( ULONG cVariants, PROPVARIANT* rgvars); inline void PropVariantInit ( PROPVARIANT * pvar ) { memset ( pvar, 0, sizeof(PROPVARIANT) ); } #pragma endregion #pragma region Desktop Family typedef struct tagSERIALIZEDPROPERTYVALUE { DWORD dwType; BYTE rgb[1]; } SERIALIZEDPROPERTYVALUE; extern "C" SERIALIZEDPROPERTYVALUE* __stdcall StgConvertVariantToProperty( const PROPVARIANT* pvar, USHORT CodePage, SERIALIZEDPROPERTYVALUE* pprop, ULONG* pcb, PROPID pid, BOOLEAN fReserved, ULONG* pcIndirect); class PMemoryAllocator; extern "C" BOOLEAN __stdcall StgConvertPropertyToVariant( const SERIALIZEDPROPERTYVALUE* pprop, USHORT CodePage, PROPVARIANT* pvar, PMemoryAllocator* pma); #pragma endregion #pragma warning(pop) extern RPC_IF_HANDLE __MIDL_itf_propidl_0000_0004_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_propidl_0000_0004_v0_0_s_ifspec; unsigned long __stdcall BSTR_UserSize( unsigned long *, unsigned long , BSTR * ); unsigned char * __stdcall BSTR_UserMarshal( unsigned long *, unsigned char *, BSTR * ); unsigned char * __stdcall BSTR_UserUnmarshal( unsigned long *, unsigned char *, BSTR * ); void __stdcall BSTR_UserFree( unsigned long *, BSTR * ); unsigned long __stdcall LPSAFEARRAY_UserSize( unsigned long *, unsigned long , LPSAFEARRAY * ); unsigned char * __stdcall LPSAFEARRAY_UserMarshal( unsigned long *, unsigned char *, LPSAFEARRAY * ); unsigned char * __stdcall LPSAFEARRAY_UserUnmarshal( unsigned long *, unsigned char *, LPSAFEARRAY * ); void __stdcall LPSAFEARRAY_UserFree( unsigned long *, LPSAFEARRAY * ); unsigned long __stdcall BSTR_UserSize64( unsigned long *, unsigned long , BSTR * ); unsigned char * __stdcall BSTR_UserMarshal64( unsigned long *, unsigned char *, BSTR * ); unsigned char * __stdcall BSTR_UserUnmarshal64( unsigned long *, unsigned char *, BSTR * ); void __stdcall BSTR_UserFree64( unsigned long *, BSTR * ); unsigned long __stdcall LPSAFEARRAY_UserSize64( unsigned long *, unsigned long , LPSAFEARRAY * ); unsigned char * __stdcall LPSAFEARRAY_UserMarshal64( unsigned long *, unsigned char *, LPSAFEARRAY * ); unsigned char * __stdcall LPSAFEARRAY_UserUnmarshal64( unsigned long *, unsigned char *, LPSAFEARRAY * ); void __stdcall LPSAFEARRAY_UserFree64( unsigned long *, LPSAFEARRAY * ); HRESULT __stdcall IEnumSTATPROPSTG_Next_Proxy( IEnumSTATPROPSTG * This, ULONG celt, STATPROPSTG *rgelt, ULONG *pceltFetched); HRESULT __stdcall IEnumSTATPROPSTG_Next_Stub( IEnumSTATPROPSTG * This, ULONG celt, STATPROPSTG *rgelt, ULONG *pceltFetched); HRESULT __stdcall IEnumSTATPROPSETSTG_Next_Proxy( IEnumSTATPROPSETSTG * This, ULONG celt, STATPROPSETSTG *rgelt, ULONG *pceltFetched); HRESULT __stdcall IEnumSTATPROPSETSTG_Next_Stub( IEnumSTATPROPSETSTG * This, ULONG celt, STATPROPSETSTG *rgelt, ULONG *pceltFetched); } #pragma region Desktop Partition extern "C" __declspec(dllimport) HRESULT __stdcall CreateStdProgressIndicator( HWND hwndParent, LPCOLESTR pszTitle, IBindStatusCallback * pIbscCaller, IBindStatusCallback ** ppIbsc); #pragma endregion #pragma warning(disable:4103) #pragma pack(pop) #pragma warning(push) #pragma warning(disable:4001) #pragma warning(disable:4820) #pragma once #pragma warning(disable:4103) #pragma pack(push,8) extern "C" const IID IID_StdOle; #pragma region Application Family or OneCore Family extern "C" __declspec(dllimport) BSTR __stdcall SysAllocString( const OLECHAR * psz); extern "C" __declspec(dllimport) INT __stdcall SysReAllocString( BSTR* pbstr, const OLECHAR* psz); extern "C" __declspec(dllimport) BSTR __stdcall SysAllocStringLen( const OLECHAR * strIn, UINT ui); extern "C" __declspec(dllimport) INT __stdcall SysReAllocStringLen( BSTR* pbstr, const OLECHAR* psz, unsigned int len); extern "C" __declspec(dllimport) HRESULT __stdcall SysAddRefString( BSTR bstrString); extern "C" __declspec(dllimport) void __stdcall SysReleaseString( BSTR bstrString); extern "C" __declspec(dllimport) void __stdcall SysFreeString( BSTR bstrString); extern "C" __declspec(dllimport) UINT __stdcall SysStringLen( BSTR pbstr); extern "C" __declspec(dllimport) UINT __stdcall SysStringByteLen( BSTR bstr); extern "C" __declspec(dllimport) BSTR __stdcall SysAllocStringByteLen( LPCSTR psz, UINT len); #pragma endregion #pragma region Desktop Family or OneCore Family extern "C" __declspec(dllimport) INT __stdcall DosDateTimeToVariantTime( USHORT wDosDate, USHORT wDosTime, DOUBLE * pvtime); extern "C" __declspec(dllimport) INT __stdcall VariantTimeToDosDateTime( DOUBLE vtime, USHORT * pwDosDate, USHORT * pwDosTime); #pragma endregion #pragma region Application Family or OneCore Family extern "C" __declspec(dllimport) INT __stdcall SystemTimeToVariantTime( LPSYSTEMTIME lpSystemTime, DOUBLE *pvtime); extern "C" __declspec(dllimport) INT __stdcall VariantTimeToSystemTime( DOUBLE vtime, LPSYSTEMTIME lpSystemTime); #pragma endregion #pragma region Application Family or OneCore Family extern "C" __declspec(dllimport) HRESULT __stdcall SafeArrayAllocDescriptor( UINT cDims, SAFEARRAY ** ppsaOut); extern "C" __declspec(dllimport) HRESULT __stdcall SafeArrayAllocDescriptorEx( VARTYPE vt, UINT cDims, SAFEARRAY ** ppsaOut); extern "C" __declspec(dllimport) HRESULT __stdcall SafeArrayAllocData( SAFEARRAY * psa); extern "C" __declspec(dllimport) SAFEARRAY * __stdcall SafeArrayCreate( VARTYPE vt, UINT cDims, SAFEARRAYBOUND * rgsabound); extern "C" __declspec(dllimport) SAFEARRAY * __stdcall SafeArrayCreateEx( VARTYPE vt, UINT cDims, SAFEARRAYBOUND * rgsabound, PVOID pvExtra); extern "C" __declspec(dllimport) HRESULT __stdcall SafeArrayCopyData( SAFEARRAY *psaSource, SAFEARRAY *psaTarget); extern "C" __declspec(dllimport) void __stdcall SafeArrayReleaseDescriptor( SAFEARRAY * psa); extern "C" __declspec(dllimport) HRESULT __stdcall SafeArrayDestroyDescriptor( SAFEARRAY * psa); extern "C" __declspec(dllimport) void __stdcall SafeArrayReleaseData( PVOID pData); extern "C" __declspec(dllimport) HRESULT __stdcall SafeArrayDestroyData( SAFEARRAY * psa); extern "C" __declspec(dllimport) HRESULT __stdcall SafeArrayAddRef( SAFEARRAY * psa, PVOID *ppDataToRelease); extern "C" __declspec(dllimport) HRESULT __stdcall SafeArrayDestroy( SAFEARRAY * psa); extern "C" __declspec(dllimport) HRESULT __stdcall SafeArrayRedim( SAFEARRAY * psa, SAFEARRAYBOUND * psaboundNew); extern "C" __declspec(dllimport) UINT __stdcall SafeArrayGetDim( SAFEARRAY * psa); extern "C" __declspec(dllimport) UINT __stdcall SafeArrayGetElemsize( SAFEARRAY * psa); extern "C" __declspec(dllimport) HRESULT __stdcall SafeArrayGetUBound( SAFEARRAY * psa, UINT nDim, LONG * plUbound); extern "C" __declspec(dllimport) HRESULT __stdcall SafeArrayGetLBound( SAFEARRAY * psa, UINT nDim, LONG * plLbound); extern "C" __declspec(dllimport) HRESULT __stdcall SafeArrayLock( SAFEARRAY * psa); extern "C" __declspec(dllimport) HRESULT __stdcall SafeArrayUnlock( SAFEARRAY * psa); extern "C" __declspec(dllimport) HRESULT __stdcall SafeArrayAccessData( SAFEARRAY * psa, void ** ppvData); extern "C" __declspec(dllimport) HRESULT __stdcall SafeArrayUnaccessData( SAFEARRAY * psa); extern "C" __declspec(dllimport) HRESULT __stdcall SafeArrayGetElement( SAFEARRAY * psa, LONG * rgIndices, void * pv); extern "C" __declspec(dllimport) HRESULT __stdcall SafeArrayPutElement( SAFEARRAY * psa, LONG * rgIndices, void * pv); extern "C" __declspec(dllimport) HRESULT __stdcall SafeArrayCopy( SAFEARRAY * psa, SAFEARRAY ** ppsaOut); extern "C" __declspec(dllimport) HRESULT __stdcall SafeArrayPtrOfIndex( SAFEARRAY * psa, LONG * rgIndices, void ** ppvData); extern "C" __declspec(dllimport) HRESULT __stdcall SafeArraySetRecordInfo( SAFEARRAY * psa, IRecordInfo * prinfo); extern "C" __declspec(dllimport) HRESULT __stdcall SafeArrayGetRecordInfo( SAFEARRAY * psa, IRecordInfo ** prinfo); extern "C" __declspec(dllimport) HRESULT __stdcall SafeArraySetIID( SAFEARRAY * psa, const GUID & guid); extern "C" __declspec(dllimport) HRESULT __stdcall SafeArrayGetIID( SAFEARRAY * psa, GUID * pguid); extern "C" __declspec(dllimport) HRESULT __stdcall SafeArrayGetVartype( SAFEARRAY * psa, VARTYPE * pvt); extern "C" __declspec(dllimport) SAFEARRAY * __stdcall SafeArrayCreateVector( VARTYPE vt, LONG lLbound, ULONG cElements); extern "C" __declspec(dllimport) SAFEARRAY * __stdcall SafeArrayCreateVectorEx( VARTYPE vt, LONG lLbound, ULONG cElements, PVOID pvExtra); #pragma endregion #pragma region Application Family or OneCore Family extern "C" __declspec(dllimport) void __stdcall VariantInit( VARIANTARG * pvarg); extern "C" __declspec(dllimport) HRESULT __stdcall VariantClear( VARIANTARG * pvarg); extern "C" __declspec(dllimport) HRESULT __stdcall VariantCopy( VARIANTARG * pvargDest, const VARIANTARG * pvargSrc); extern "C" __declspec(dllimport) HRESULT __stdcall VariantCopyInd( VARIANT * pvarDest, const VARIANTARG * pvargSrc); extern "C" __declspec(dllimport) HRESULT __stdcall VariantChangeType( VARIANTARG * pvargDest, const VARIANTARG * pvarSrc, USHORT wFlags, VARTYPE vt); extern "C" __declspec(dllimport) HRESULT __stdcall VariantChangeTypeEx( VARIANTARG * pvargDest, const VARIANTARG * pvarSrc, LCID lcid, USHORT wFlags, VARTYPE vt); #pragma endregion #pragma region Desktop Family or OneCore Family extern "C" __declspec(dllimport) HRESULT __stdcall VectorFromBstr ( BSTR bstr, SAFEARRAY ** ppsa); extern "C" __declspec(dllimport) HRESULT __stdcall BstrFromVector ( SAFEARRAY *psa, BSTR *pbstr); #pragma endregion #pragma region Application Family or OneCore Family extern "C" __declspec(dllimport) HRESULT __stdcall VarUI1FromI2(SHORT sIn, BYTE * pbOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarUI1FromI4(LONG lIn, BYTE * pbOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarUI1FromI8(LONG64 i64In, BYTE * pbOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarUI1FromR4(FLOAT fltIn, BYTE * pbOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarUI1FromR8(DOUBLE dblIn, BYTE * pbOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarUI1FromCy(CY cyIn, BYTE * pbOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarUI1FromDate(DATE dateIn, BYTE * pbOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarUI1FromStr( LPCOLESTR strIn, LCID lcid, ULONG dwFlags, BYTE * pbOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarUI1FromDisp(IDispatch * pdispIn, LCID lcid, BYTE * pbOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarUI1FromBool(VARIANT_BOOL boolIn, BYTE * pbOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarUI1FromI1(CHAR cIn, BYTE *pbOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarUI1FromUI2(USHORT uiIn, BYTE *pbOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarUI1FromUI4(ULONG ulIn, BYTE *pbOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarUI1FromUI8(ULONG64 ui64In, BYTE * pbOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarUI1FromDec( const DECIMAL *pdecIn, BYTE *pbOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarI2FromUI1(BYTE bIn, SHORT * psOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarI2FromI4(LONG lIn, SHORT * psOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarI2FromI8(LONG64 i64In, SHORT * psOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarI2FromR4(FLOAT fltIn, SHORT * psOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarI2FromR8(DOUBLE dblIn, SHORT * psOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarI2FromCy(CY cyIn, SHORT * psOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarI2FromDate(DATE dateIn, SHORT * psOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarI2FromStr( LPCOLESTR strIn, LCID lcid, ULONG dwFlags, SHORT * psOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarI2FromDisp(IDispatch * pdispIn, LCID lcid, SHORT * psOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarI2FromBool(VARIANT_BOOL boolIn, SHORT * psOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarI2FromI1(CHAR cIn, SHORT *psOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarI2FromUI2(USHORT uiIn, SHORT *psOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarI2FromUI4(ULONG ulIn, SHORT *psOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarI2FromUI8(ULONG64 ui64In, SHORT * psOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarI2FromDec( const DECIMAL *pdecIn, SHORT *psOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarI4FromUI1(BYTE bIn, LONG * plOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarI4FromI2(SHORT sIn, LONG * plOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarI4FromI8(LONG64 i64In, LONG * plOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarI4FromR4(FLOAT fltIn, LONG * plOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarI4FromR8(DOUBLE dblIn, LONG * plOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarI4FromCy(CY cyIn, LONG * plOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarI4FromDate(DATE dateIn, LONG * plOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarI4FromStr( LPCOLESTR strIn, LCID lcid, ULONG dwFlags, LONG * plOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarI4FromDisp(IDispatch * pdispIn, LCID lcid, LONG * plOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarI4FromBool(VARIANT_BOOL boolIn, LONG * plOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarI4FromI1(CHAR cIn, LONG *plOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarI4FromUI2(USHORT uiIn, LONG *plOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarI4FromUI4(ULONG ulIn, LONG *plOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarI4FromUI8(ULONG64 ui64In, LONG * plOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarI4FromDec( const DECIMAL *pdecIn, LONG *plOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarI8FromUI1(BYTE bIn, LONG64 * pi64Out); extern "C" __declspec(dllimport) HRESULT __stdcall VarI8FromI2(SHORT sIn, LONG64 * pi64Out); extern "C" __declspec(dllimport) HRESULT __stdcall VarI8FromR4(FLOAT fltIn, LONG64 * pi64Out); extern "C" __declspec(dllimport) HRESULT __stdcall VarI8FromR8(DOUBLE dblIn, LONG64 * pi64Out); extern "C" __declspec(dllimport) HRESULT __stdcall VarI8FromCy( CY cyIn, LONG64 * pi64Out); extern "C" __declspec(dllimport) HRESULT __stdcall VarI8FromDate(DATE dateIn, LONG64 * pi64Out); extern "C" __declspec(dllimport) HRESULT __stdcall VarI8FromStr( LPCOLESTR strIn, LCID lcid, ULONG dwFlags, LONG64 * pi64Out); extern "C" __declspec(dllimport) HRESULT __stdcall VarI8FromDisp(IDispatch * pdispIn, LCID lcid, LONG64 * pi64Out); extern "C" __declspec(dllimport) HRESULT __stdcall VarI8FromBool(VARIANT_BOOL boolIn, LONG64 * pi64Out); extern "C" __declspec(dllimport) HRESULT __stdcall VarI8FromI1(CHAR cIn, LONG64 * pi64Out); extern "C" __declspec(dllimport) HRESULT __stdcall VarI8FromUI2(USHORT uiIn, LONG64 * pi64Out); extern "C" __declspec(dllimport) HRESULT __stdcall VarI8FromUI4(ULONG ulIn, LONG64 * pi64Out); extern "C" __declspec(dllimport) HRESULT __stdcall VarI8FromUI8(ULONG64 ui64In, LONG64 * pi64Out); extern "C" __declspec(dllimport) HRESULT __stdcall VarI8FromDec( const DECIMAL *pdecIn, LONG64 * pi64Out); extern "C" __declspec(dllimport) HRESULT __stdcall VarR4FromUI1(BYTE bIn, FLOAT * pfltOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarR4FromI2(SHORT sIn, FLOAT * pfltOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarR4FromI4(LONG lIn, FLOAT * pfltOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarR4FromI8(LONG64 i64In, FLOAT * pfltOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarR4FromR8(DOUBLE dblIn, FLOAT * pfltOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarR4FromCy(CY cyIn, FLOAT * pfltOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarR4FromDate(DATE dateIn, FLOAT * pfltOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarR4FromStr( LPCOLESTR strIn, LCID lcid, ULONG dwFlags, FLOAT *pfltOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarR4FromDisp(IDispatch * pdispIn, LCID lcid, FLOAT * pfltOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarR4FromBool(VARIANT_BOOL boolIn, FLOAT * pfltOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarR4FromI1(CHAR cIn, FLOAT *pfltOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarR4FromUI2(USHORT uiIn, FLOAT *pfltOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarR4FromUI4(ULONG ulIn, FLOAT *pfltOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarR4FromUI8(ULONG64 ui64In, FLOAT * pfltOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarR4FromDec( const DECIMAL *pdecIn, FLOAT *pfltOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarR8FromUI1(BYTE bIn, DOUBLE * pdblOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarR8FromI2(SHORT sIn, DOUBLE * pdblOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarR8FromI4(LONG lIn, DOUBLE * pdblOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarR8FromI8(LONG64 i64In, DOUBLE * pdblOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarR8FromR4(FLOAT fltIn, DOUBLE * pdblOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarR8FromCy(CY cyIn, DOUBLE * pdblOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarR8FromDate(DATE dateIn, DOUBLE * pdblOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarR8FromStr( LPCOLESTR strIn, LCID lcid, ULONG dwFlags, DOUBLE *pdblOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarR8FromDisp(IDispatch * pdispIn, LCID lcid, DOUBLE * pdblOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarR8FromBool(VARIANT_BOOL boolIn, DOUBLE * pdblOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarR8FromI1(CHAR cIn, DOUBLE *pdblOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarR8FromUI2(USHORT uiIn, DOUBLE *pdblOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarR8FromUI4(ULONG ulIn, DOUBLE *pdblOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarR8FromUI8(ULONG64 ui64In, DOUBLE * pdblOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarR8FromDec( const DECIMAL *pdecIn, DOUBLE *pdblOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarDateFromUI1(BYTE bIn, DATE * pdateOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarDateFromI2(SHORT sIn, DATE * pdateOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarDateFromI4(LONG lIn, DATE * pdateOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarDateFromI8(LONG64 i64In, DATE * pdateOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarDateFromR4(FLOAT fltIn, DATE * pdateOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarDateFromR8(DOUBLE dblIn, DATE * pdateOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarDateFromCy(CY cyIn, DATE * pdateOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarDateFromStr( LPCOLESTR strIn, LCID lcid, ULONG dwFlags, DATE *pdateOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarDateFromDisp(IDispatch * pdispIn, LCID lcid, DATE * pdateOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarDateFromBool(VARIANT_BOOL boolIn, DATE * pdateOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarDateFromI1(CHAR cIn, DATE *pdateOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarDateFromUI2(USHORT uiIn, DATE *pdateOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarDateFromUI4(ULONG ulIn, DATE *pdateOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarDateFromUI8(ULONG64 ui64In, DATE * pdateOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarDateFromDec( const DECIMAL *pdecIn, DATE *pdateOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarCyFromUI1(BYTE bIn, CY * pcyOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarCyFromI2(SHORT sIn, CY * pcyOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarCyFromI4(LONG lIn, CY * pcyOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarCyFromI8(LONG64 i64In, CY * pcyOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarCyFromR4(FLOAT fltIn, CY * pcyOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarCyFromR8(DOUBLE dblIn, CY * pcyOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarCyFromDate(DATE dateIn, CY * pcyOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarCyFromStr( LPCOLESTR strIn, LCID lcid, ULONG dwFlags, CY * pcyOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarCyFromDisp( IDispatch * pdispIn, LCID lcid, CY * pcyOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarCyFromBool(VARIANT_BOOL boolIn, CY * pcyOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarCyFromI1(CHAR cIn, CY *pcyOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarCyFromUI2(USHORT uiIn, CY *pcyOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarCyFromUI4(ULONG ulIn, CY *pcyOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarCyFromUI8(ULONG64 ui64In, CY * pcyOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarCyFromDec( const DECIMAL *pdecIn, CY *pcyOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarBstrFromUI1(BYTE bVal, LCID lcid, ULONG dwFlags, BSTR * pbstrOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarBstrFromI2(SHORT iVal, LCID lcid, ULONG dwFlags, BSTR * pbstrOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarBstrFromI4(LONG lIn, LCID lcid, ULONG dwFlags, BSTR * pbstrOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarBstrFromI8(LONG64 i64In, LCID lcid, ULONG dwFlags, BSTR * pbstrOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarBstrFromR4(FLOAT fltIn, LCID lcid, ULONG dwFlags, BSTR * pbstrOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarBstrFromR8(DOUBLE dblIn, LCID lcid, ULONG dwFlags, BSTR * pbstrOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarBstrFromCy(CY cyIn, LCID lcid, ULONG dwFlags, BSTR * pbstrOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarBstrFromDate( DATE dateIn, LCID lcid, ULONG dwFlags, BSTR * pbstrOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarBstrFromDisp(IDispatch * pdispIn, LCID lcid, ULONG dwFlags, BSTR * pbstrOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarBstrFromBool(VARIANT_BOOL boolIn, LCID lcid, ULONG dwFlags, BSTR * pbstrOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarBstrFromI1(CHAR cIn, LCID lcid, ULONG dwFlags, BSTR *pbstrOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarBstrFromUI2(USHORT uiIn, LCID lcid, ULONG dwFlags, BSTR *pbstrOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarBstrFromUI4(ULONG ulIn, LCID lcid, ULONG dwFlags, BSTR *pbstrOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarBstrFromUI8(ULONG64 ui64In, LCID lcid, ULONG dwFlags, BSTR * pbstrOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarBstrFromDec( const DECIMAL *pdecIn, LCID lcid, ULONG dwFlags, BSTR *pbstrOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarBoolFromUI1(BYTE bIn, VARIANT_BOOL * pboolOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarBoolFromI2( SHORT sIn, VARIANT_BOOL * pboolOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarBoolFromI4(LONG lIn, VARIANT_BOOL * pboolOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarBoolFromI8(LONG64 i64In, VARIANT_BOOL * pboolOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarBoolFromR4(FLOAT fltIn, VARIANT_BOOL * pboolOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarBoolFromR8(DOUBLE dblIn, VARIANT_BOOL * pboolOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarBoolFromDate(DATE dateIn, VARIANT_BOOL * pboolOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarBoolFromCy(CY cyIn, VARIANT_BOOL * pboolOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarBoolFromStr( LPCOLESTR strIn, LCID lcid, ULONG dwFlags, VARIANT_BOOL * pboolOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarBoolFromDisp(IDispatch * pdispIn, LCID lcid, VARIANT_BOOL * pboolOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarBoolFromI1(CHAR cIn, VARIANT_BOOL *pboolOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarBoolFromUI2(USHORT uiIn, VARIANT_BOOL *pboolOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarBoolFromUI4(ULONG ulIn, VARIANT_BOOL *pboolOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarBoolFromUI8(ULONG64 i64In, VARIANT_BOOL * pboolOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarBoolFromDec( const DECIMAL *pdecIn, VARIANT_BOOL *pboolOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarI1FromUI1( BYTE bIn, CHAR *pcOut ); extern "C" __declspec(dllimport) HRESULT __stdcall VarI1FromI2( SHORT uiIn, CHAR *pcOut ); extern "C" __declspec(dllimport) HRESULT __stdcall VarI1FromI4( LONG lIn, CHAR *pcOut ); extern "C" __declspec(dllimport) HRESULT __stdcall VarI1FromI8( LONG64 i64In, CHAR *pcOut ); extern "C" __declspec(dllimport) HRESULT __stdcall VarI1FromR4( FLOAT fltIn, CHAR *pcOut ); extern "C" __declspec(dllimport) HRESULT __stdcall VarI1FromR8( DOUBLE dblIn, CHAR *pcOut ); extern "C" __declspec(dllimport) HRESULT __stdcall VarI1FromDate( DATE dateIn, CHAR *pcOut ); extern "C" __declspec(dllimport) HRESULT __stdcall VarI1FromCy( CY cyIn, CHAR *pcOut ); extern "C" __declspec(dllimport) HRESULT __stdcall VarI1FromStr( LPCOLESTR strIn, LCID lcid, ULONG dwFlags, CHAR *pcOut ); extern "C" __declspec(dllimport) HRESULT __stdcall VarI1FromDisp( IDispatch *pdispIn, LCID lcid, CHAR *pcOut ); extern "C" __declspec(dllimport) HRESULT __stdcall VarI1FromBool( VARIANT_BOOL boolIn, CHAR *pcOut ); extern "C" __declspec(dllimport) HRESULT __stdcall VarI1FromUI2( USHORT uiIn, CHAR *pcOut ); extern "C" __declspec(dllimport) HRESULT __stdcall VarI1FromUI4( ULONG ulIn, CHAR *pcOut ); extern "C" __declspec(dllimport) HRESULT __stdcall VarI1FromUI8( ULONG64 i64In, CHAR *pcOut ); extern "C" __declspec(dllimport) HRESULT __stdcall VarI1FromDec( const DECIMAL *pdecIn, CHAR *pcOut ); extern "C" __declspec(dllimport) HRESULT __stdcall VarUI2FromUI1(BYTE bIn, USHORT *puiOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarUI2FromI2(SHORT uiIn, USHORT *puiOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarUI2FromI4(LONG lIn, USHORT *puiOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarUI2FromI8(LONG64 i64In, USHORT *puiOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarUI2FromR4(FLOAT fltIn, USHORT *puiOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarUI2FromR8(DOUBLE dblIn, USHORT *puiOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarUI2FromDate(DATE dateIn, USHORT *puiOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarUI2FromCy(CY cyIn, USHORT *puiOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarUI2FromStr( LPCOLESTR strIn, LCID lcid, ULONG dwFlags, USHORT *puiOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarUI2FromDisp( IDispatch *pdispIn, LCID lcid, USHORT *puiOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarUI2FromBool(VARIANT_BOOL boolIn, USHORT *puiOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarUI2FromI1(CHAR cIn, USHORT *puiOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarUI2FromUI4(ULONG ulIn, USHORT *puiOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarUI2FromUI8(ULONG64 i64In, USHORT *puiOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarUI2FromDec( const DECIMAL *pdecIn, USHORT *puiOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarUI4FromUI1(BYTE bIn, ULONG *pulOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarUI4FromI2( SHORT uiIn, ULONG *pulOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarUI4FromI4(LONG lIn, ULONG *pulOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarUI4FromI8(LONG64 i64In, ULONG *plOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarUI4FromR4(FLOAT fltIn, ULONG *pulOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarUI4FromR8(DOUBLE dblIn, ULONG *pulOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarUI4FromDate(DATE dateIn, ULONG *pulOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarUI4FromCy(CY cyIn, ULONG *pulOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarUI4FromStr( LPCOLESTR strIn, LCID lcid, ULONG dwFlags, ULONG *pulOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarUI4FromDisp( IDispatch *pdispIn, LCID lcid, ULONG *pulOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarUI4FromBool(VARIANT_BOOL boolIn, ULONG *pulOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarUI4FromI1(CHAR cIn, ULONG *pulOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarUI4FromUI2(USHORT uiIn, ULONG *pulOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarUI4FromUI8(ULONG64 ui64In, ULONG *plOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarUI4FromDec( const DECIMAL *pdecIn, ULONG *pulOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarUI8FromUI1(BYTE bIn, ULONG64 * pi64Out); extern "C" __declspec(dllimport) HRESULT __stdcall VarUI8FromI2(SHORT sIn, ULONG64 * pi64Out); #pragma endregion #pragma region Desktop Family extern "C" __declspec(dllimport) HRESULT __stdcall VarUI8FromI4(LONG lIn, ULONG64 * pi64Out); #pragma endregion #pragma region Application Family or OneCore Family extern "C" __declspec(dllimport) HRESULT __stdcall VarUI8FromI8(LONG64 ui64In, ULONG64 * pi64Out); extern "C" __declspec(dllimport) HRESULT __stdcall VarUI8FromR4(FLOAT fltIn, ULONG64 * pi64Out); extern "C" __declspec(dllimport) HRESULT __stdcall VarUI8FromR8(DOUBLE dblIn, ULONG64 * pi64Out); extern "C" __declspec(dllimport) HRESULT __stdcall VarUI8FromCy(CY cyIn, ULONG64 * pi64Out); extern "C" __declspec(dllimport) HRESULT __stdcall VarUI8FromDate(DATE dateIn, ULONG64 * pi64Out); extern "C" __declspec(dllimport) HRESULT __stdcall VarUI8FromStr( LPCOLESTR strIn, LCID lcid, ULONG dwFlags, ULONG64 * pi64Out); extern "C" __declspec(dllimport) HRESULT __stdcall VarUI8FromDisp( IDispatch * pdispIn, LCID lcid, ULONG64 * pi64Out); extern "C" __declspec(dllimport) HRESULT __stdcall VarUI8FromBool(VARIANT_BOOL boolIn, ULONG64 * pi64Out); extern "C" __declspec(dllimport) HRESULT __stdcall VarUI8FromI1(CHAR cIn, ULONG64 * pi64Out); extern "C" __declspec(dllimport) HRESULT __stdcall VarUI8FromUI2(USHORT uiIn, ULONG64 * pi64Out); extern "C" __declspec(dllimport) HRESULT __stdcall VarUI8FromUI4(ULONG ulIn, ULONG64 * pi64Out); extern "C" __declspec(dllimport) HRESULT __stdcall VarUI8FromDec( const DECIMAL *pdecIn, ULONG64 * pi64Out); extern "C" __declspec(dllimport) HRESULT __stdcall VarDecFromUI1( BYTE bIn, DECIMAL *pdecOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarDecFromI2( SHORT uiIn, DECIMAL *pdecOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarDecFromI4( LONG lIn, DECIMAL *pdecOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarDecFromI8(LONG64 i64In, DECIMAL *pdecOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarDecFromR4( FLOAT fltIn, DECIMAL *pdecOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarDecFromR8( DOUBLE dblIn, DECIMAL *pdecOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarDecFromDate( DATE dateIn, DECIMAL *pdecOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarDecFromCy( CY cyIn, DECIMAL *pdecOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarDecFromStr( LPCOLESTR strIn, LCID lcid, ULONG dwFlags, DECIMAL *pdecOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarDecFromDisp( IDispatch *pdispIn, LCID lcid, DECIMAL *pdecOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarDecFromBool( VARIANT_BOOL boolIn, DECIMAL *pdecOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarDecFromI1( CHAR cIn, DECIMAL *pdecOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarDecFromUI2( USHORT uiIn, DECIMAL *pdecOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarDecFromUI4( ULONG ulIn, DECIMAL *pdecOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarDecFromUI8(ULONG64 ui64In, DECIMAL *pdecOut); #pragma endregion #pragma region Application Family or OneCore Family extern "C" __declspec(dllimport) HRESULT __stdcall VarI4FromI8(LONG64 i64In, LONG *plOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarI4FromUI8(ULONG64 ui64In, LONG *plOut); #pragma endregion #pragma region Desktop Family #pragma endregion typedef struct { INT cDig; ULONG dwInFlags; ULONG dwOutFlags; INT cchUsed; INT nBaseShift; INT nPwr10; } NUMPARSE; #pragma region Application Family or OneCore Family extern "C" __declspec(dllimport) HRESULT __stdcall VarParseNumFromStr( LPCOLESTR strIn, LCID lcid, ULONG dwFlags, NUMPARSE * pnumprs, BYTE * rgbDig); extern "C" __declspec(dllimport) HRESULT __stdcall VarNumFromParseNum( NUMPARSE * pnumprs, BYTE * rgbDig, ULONG dwVtBits, VARIANT * pvar); #pragma endregion #pragma region Application Family or OneCore Family extern "C" HRESULT __stdcall VarAdd( LPVARIANT pvarLeft, LPVARIANT pvarRight, LPVARIANT pvarResult); extern "C" HRESULT __stdcall VarAnd( LPVARIANT pvarLeft, LPVARIANT pvarRight, LPVARIANT pvarResult); extern "C" HRESULT __stdcall VarCat( LPVARIANT pvarLeft, LPVARIANT pvarRight, LPVARIANT pvarResult); extern "C" HRESULT __stdcall VarDiv( LPVARIANT pvarLeft, LPVARIANT pvarRight, LPVARIANT pvarResult); extern "C" HRESULT __stdcall VarEqv( LPVARIANT pvarLeft, LPVARIANT pvarRight, LPVARIANT pvarResult); extern "C" HRESULT __stdcall VarIdiv( LPVARIANT pvarLeft, LPVARIANT pvarRight, LPVARIANT pvarResult); extern "C" HRESULT __stdcall VarImp( LPVARIANT pvarLeft, LPVARIANT pvarRight, LPVARIANT pvarResult); extern "C" HRESULT __stdcall VarMod( LPVARIANT pvarLeft, LPVARIANT pvarRight, LPVARIANT pvarResult); extern "C" HRESULT __stdcall VarMul( LPVARIANT pvarLeft, LPVARIANT pvarRight, LPVARIANT pvarResult); extern "C" HRESULT __stdcall VarOr( LPVARIANT pvarLeft, LPVARIANT pvarRight, LPVARIANT pvarResult); extern "C" HRESULT __stdcall VarPow( LPVARIANT pvarLeft, LPVARIANT pvarRight, LPVARIANT pvarResult); extern "C" HRESULT __stdcall VarSub( LPVARIANT pvarLeft, LPVARIANT pvarRight, LPVARIANT pvarResult); extern "C" HRESULT __stdcall VarXor( LPVARIANT pvarLeft, LPVARIANT pvarRight, LPVARIANT pvarResult); extern "C" HRESULT __stdcall VarAbs( LPVARIANT pvarIn, LPVARIANT pvarResult); extern "C" HRESULT __stdcall VarFix( LPVARIANT pvarIn, LPVARIANT pvarResult); extern "C" HRESULT __stdcall VarInt( LPVARIANT pvarIn, LPVARIANT pvarResult); extern "C" HRESULT __stdcall VarNeg( LPVARIANT pvarIn, LPVARIANT pvarResult); extern "C" HRESULT __stdcall VarNot( LPVARIANT pvarIn, LPVARIANT pvarResult); extern "C" HRESULT __stdcall VarRound( LPVARIANT pvarIn, int cDecimals, LPVARIANT pvarResult); extern "C" HRESULT __stdcall VarCmp( LPVARIANT pvarLeft, LPVARIANT pvarRight, LCID lcid, ULONG dwFlags); #pragma endregion extern "C++" { #pragma region Application Family or OneCore Family __inline HRESULT __stdcall VarCmp(LPVARIANT pvarLeft, LPVARIANT pvarRight, LCID lcid) { return VarCmp(pvarLeft, pvarRight, lcid, 0); } #pragma endregion } #pragma region Application Family or OneCore Family extern "C" HRESULT __stdcall VarDecAdd( LPDECIMAL pdecLeft, LPDECIMAL pdecRight, LPDECIMAL pdecResult); extern "C" HRESULT __stdcall VarDecDiv( LPDECIMAL pdecLeft, LPDECIMAL pdecRight, LPDECIMAL pdecResult); extern "C" HRESULT __stdcall VarDecMul( LPDECIMAL pdecLeft, LPDECIMAL pdecRight, LPDECIMAL pdecResult); extern "C" HRESULT __stdcall VarDecSub( LPDECIMAL pdecLeft, LPDECIMAL pdecRight, LPDECIMAL pdecResult); extern "C" HRESULT __stdcall VarDecAbs( LPDECIMAL pdecIn, LPDECIMAL pdecResult); extern "C" HRESULT __stdcall VarDecFix( LPDECIMAL pdecIn, LPDECIMAL pdecResult); extern "C" HRESULT __stdcall VarDecInt( LPDECIMAL pdecIn, LPDECIMAL pdecResult); extern "C" HRESULT __stdcall VarDecNeg( LPDECIMAL pdecIn, LPDECIMAL pdecResult); extern "C" HRESULT __stdcall VarDecRound( LPDECIMAL pdecIn, int cDecimals, LPDECIMAL pdecResult); extern "C" HRESULT __stdcall VarDecCmp( LPDECIMAL pdecLeft, LPDECIMAL pdecRight); extern "C" HRESULT __stdcall VarDecCmpR8( LPDECIMAL pdecLeft, double dblRight); extern "C" HRESULT __stdcall VarCyAdd( CY cyLeft, CY cyRight, LPCY pcyResult); extern "C" HRESULT __stdcall VarCyMul( CY cyLeft, CY cyRight, LPCY pcyResult); extern "C" HRESULT __stdcall VarCyMulI4( CY cyLeft, LONG lRight, LPCY pcyResult); extern "C" HRESULT __stdcall VarCyMulI8( CY cyLeft, LONG64 lRight, LPCY pcyResult); extern "C" HRESULT __stdcall VarCySub( CY cyLeft, CY cyRight, LPCY pcyResult); extern "C" HRESULT __stdcall VarCyAbs( CY cyIn, LPCY pcyResult); extern "C" HRESULT __stdcall VarCyFix( CY cyIn, LPCY pcyResult); extern "C" HRESULT __stdcall VarCyInt( CY cyIn, LPCY pcyResult); extern "C" HRESULT __stdcall VarCyNeg( CY cyIn, LPCY pcyResult); extern "C" HRESULT __stdcall VarCyRound( CY cyIn, int cDecimals, LPCY pcyResult); extern "C" HRESULT __stdcall VarCyCmp( CY cyLeft, CY cyRight); extern "C" HRESULT __stdcall VarCyCmpR8( CY cyLeft, double dblRight); extern "C" HRESULT __stdcall VarBstrCat( BSTR bstrLeft, BSTR bstrRight, LPBSTR pbstrResult); extern "C" HRESULT __stdcall VarBstrCmp( BSTR bstrLeft, BSTR bstrRight, LCID lcid, ULONG dwFlags); extern "C" HRESULT __stdcall VarR8Pow( double dblLeft, double dblRight, double *pdblResult); extern "C" HRESULT __stdcall VarR4CmpR8( float fltLeft, double dblRight); extern "C" HRESULT __stdcall VarR8Round( double dblIn, int cDecimals, double *pdblResult); #pragma endregion typedef struct { SYSTEMTIME st; USHORT wDayOfYear; } UDATE; #pragma region Application Family or OneCore Family extern "C" __declspec(dllimport) HRESULT __stdcall VarDateFromUdate( UDATE *pudateIn, ULONG dwFlags, DATE *pdateOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarDateFromUdateEx( UDATE *pudateIn, LCID lcid, ULONG dwFlags, DATE *pdateOut); extern "C" __declspec(dllimport) HRESULT __stdcall VarUdateFromDate( DATE dateIn, ULONG dwFlags, UDATE *pudateOut); #pragma endregion #pragma region Desktop Family or OneCore Family extern "C" __declspec(dllimport) HRESULT __stdcall GetAltMonthNames(LCID lcid, LPOLESTR * * prgp); #pragma endregion #pragma region Application Family or OneCore Family extern "C" __declspec(dllimport) HRESULT __stdcall VarFormat( LPVARIANT pvarIn, LPOLESTR pstrFormat, int iFirstDay, int iFirstWeek, ULONG dwFlags, BSTR *pbstrOut ); extern "C" __declspec(dllimport) HRESULT __stdcall VarFormatDateTime( LPVARIANT pvarIn, int iNamedFormat, ULONG dwFlags, BSTR *pbstrOut ); extern "C" __declspec(dllimport) HRESULT __stdcall VarFormatNumber( LPVARIANT pvarIn, int iNumDig, int iIncLead, int iUseParens, int iGroup, ULONG dwFlags, BSTR *pbstrOut ); extern "C" __declspec(dllimport) HRESULT __stdcall VarFormatPercent( LPVARIANT pvarIn, int iNumDig, int iIncLead, int iUseParens, int iGroup, ULONG dwFlags, BSTR *pbstrOut ); extern "C" __declspec(dllimport) HRESULT __stdcall VarFormatCurrency( LPVARIANT pvarIn, int iNumDig, int iIncLead, int iUseParens, int iGroup, ULONG dwFlags, BSTR *pbstrOut ); extern "C" __declspec(dllimport) HRESULT __stdcall VarWeekdayName( int iWeekday, int fAbbrev, int iFirstDay, ULONG dwFlags, BSTR *pbstrOut ); extern "C" __declspec(dllimport) HRESULT __stdcall VarMonthName( int iMonth, int fAbbrev, ULONG dwFlags, BSTR *pbstrOut ); extern "C" __declspec(dllimport) HRESULT __stdcall VarFormatFromTokens( LPVARIANT pvarIn, LPOLESTR pstrFormat, LPBYTE pbTokCur, ULONG dwFlags, BSTR *pbstrOut, LCID lcid ); extern "C" __declspec(dllimport) HRESULT __stdcall VarTokenizeFormatString( LPOLESTR pstrFormat, LPBYTE rgbTok, int cbTok, int iFirstDay, int iFirstWeek, LCID lcid, int *pcbActual ); #pragma endregion #pragma region Desktop Family or OneCore Family typedef ITypeLib *LPTYPELIB; typedef LONG DISPID; typedef DISPID MEMBERID; #pragma endregion #pragma region Application Family or OneCore Family #pragma endregion #pragma region Desktop Family or OneCore Family typedef ITypeInfo *LPTYPEINFO; typedef ITypeComp *LPTYPECOMP; typedef ICreateTypeLib * LPCREATETYPELIB; typedef ICreateTypeInfo * LPCREATETYPEINFO; extern "C" __declspec(dllimport) ULONG __stdcall LHashValOfNameSysA(SYSKIND syskind, LCID lcid, LPCSTR szName); extern "C" __declspec(dllimport) ULONG __stdcall LHashValOfNameSys(SYSKIND syskind, LCID lcid, const OLECHAR * szName); extern "C" __declspec(dllimport) HRESULT __stdcall LoadTypeLib( LPCOLESTR szFile, ITypeLib ** pptlib); typedef enum tagREGKIND { REGKIND_DEFAULT, REGKIND_REGISTER, REGKIND_NONE } REGKIND; extern "C" __declspec(dllimport) HRESULT __stdcall LoadTypeLibEx(LPCOLESTR szFile, REGKIND regkind, ITypeLib ** pptlib); extern "C" __declspec(dllimport) HRESULT __stdcall LoadRegTypeLib(const GUID & rguid, WORD wVerMajor, WORD wVerMinor, LCID lcid, ITypeLib ** pptlib); extern "C" __declspec(dllimport) HRESULT __stdcall QueryPathOfRegTypeLib(const GUID & guid, USHORT wMaj, USHORT wMin, LCID lcid, LPBSTR lpbstrPathName); extern "C" __declspec(dllimport) HRESULT __stdcall RegisterTypeLib(ITypeLib * ptlib, LPCOLESTR szFullPath, LPCOLESTR szHelpDir); extern "C" __declspec(dllimport) HRESULT __stdcall UnRegisterTypeLib(const GUID & libID, WORD wVerMajor, WORD wVerMinor, LCID lcid, SYSKIND syskind); extern "C" __declspec(dllimport) HRESULT __stdcall RegisterTypeLibForUser(ITypeLib *ptlib, OLECHAR *szFullPath, OLECHAR *szHelpDir); extern "C" __declspec(dllimport) HRESULT __stdcall UnRegisterTypeLibForUser( const GUID & libID, WORD wMajorVerNum, WORD wMinorVerNum, LCID lcid, SYSKIND syskind); extern "C" __declspec(dllimport) HRESULT __stdcall CreateTypeLib(SYSKIND syskind, LPCOLESTR szFile, ICreateTypeLib ** ppctlib); extern "C" __declspec(dllimport) HRESULT __stdcall CreateTypeLib2(SYSKIND syskind, LPCOLESTR szFile, ICreateTypeLib2 **ppctlib); typedef IDispatch *LPDISPATCH; typedef struct tagPARAMDATA { OLECHAR * szName; VARTYPE vt; } PARAMDATA, * LPPARAMDATA; typedef struct tagMETHODDATA { OLECHAR * szName; PARAMDATA * ppdata; DISPID dispid; UINT iMeth; CALLCONV cc; UINT cArgs; WORD wFlags; VARTYPE vtReturn; } METHODDATA, * LPMETHODDATA; typedef struct tagINTERFACEDATA { METHODDATA * pmethdata; UINT cMembers; } INTERFACEDATA, * LPINTERFACEDATA; extern "C" __declspec(dllimport) HRESULT __stdcall DispGetParam( DISPPARAMS * pdispparams, UINT position, VARTYPE vtTarg, VARIANT * pvarResult, UINT * puArgErr ); extern "C" __declspec(dllimport) HRESULT __stdcall DispGetIDsOfNames(ITypeInfo * ptinfo, LPOLESTR* rgszNames, UINT cNames, DISPID * rgdispid); #pragma endregion #pragma region Application Family or OneCore Family extern "C" __declspec(dllimport) HRESULT __stdcall DispInvoke(void * _this, ITypeInfo * ptinfo, DISPID dispidMember, WORD wFlags, DISPPARAMS * pparams, VARIANT * pvarResult, EXCEPINFO * pexcepinfo, UINT * puArgErr); #pragma endregion #pragma region Desktop Family or OneCore Family extern "C" __declspec(dllimport) HRESULT __stdcall CreateDispTypeInfo(INTERFACEDATA * pidata, LCID lcid, ITypeInfo ** pptinfo); extern "C" __declspec(dllimport) HRESULT __stdcall CreateStdDispatch(IUnknown * punkOuter, void * pvThis, ITypeInfo * ptinfo, IUnknown ** ppunkStdDisp); extern "C" __declspec(dllimport) HRESULT __stdcall DispCallFunc( void * pvInstance, ULONG_PTR oVft, CALLCONV cc, VARTYPE vtReturn, UINT cActuals, VARTYPE * prgvt, VARIANTARG ** prgpvarg, VARIANT * pvargResult); extern "C" __declspec(dllimport) HRESULT __stdcall RegisterActiveObject(IUnknown * punk, const IID & rclsid, DWORD dwFlags, DWORD * pdwRegister); extern "C" __declspec(dllimport) HRESULT __stdcall RevokeActiveObject(DWORD dwRegister, void * pvReserved); extern "C" __declspec(dllimport) HRESULT __stdcall GetActiveObject(const IID & rclsid, void * pvReserved, IUnknown ** ppunk); extern "C" __declspec(dllimport) HRESULT __stdcall SetErrorInfo( ULONG dwReserved, IErrorInfo * perrinfo); extern "C" __declspec(dllimport) HRESULT __stdcall GetErrorInfo( ULONG dwReserved, IErrorInfo ** pperrinfo); extern "C" __declspec(dllimport) HRESULT __stdcall CreateErrorInfo( ICreateErrorInfo ** pperrinfo); extern "C" __declspec(dllimport) HRESULT __stdcall GetRecordInfoFromTypeInfo(ITypeInfo * pTypeInfo, IRecordInfo ** ppRecInfo); extern "C" __declspec(dllimport) HRESULT __stdcall GetRecordInfoFromGuids(const GUID & rGuidTypeLib, ULONG uVerMajor, ULONG uVerMinor, LCID lcid, const GUID & rGuidTypeInfo, IRecordInfo ** ppRecInfo); extern "C" __declspec(dllimport) ULONG __stdcall OaBuildVersion(void); extern "C" __declspec(dllimport) void __stdcall ClearCustData(LPCUSTDATA pCustData); extern "C" __declspec(dllimport) void __stdcall OaEnablePerUserTLibRegistration(void); #pragma endregion #pragma warning(disable:4103) #pragma pack(pop) #pragma warning(pop) #pragma region Desktop Family extern "C" __declspec(dllimport) HRESULT __stdcall CreateDataAdviseHolder( LPDATAADVISEHOLDER * ppDAHolder); extern "C" __declspec(dllimport) DWORD __stdcall OleBuildVersion( void ); extern "C" __declspec(dllimport) HRESULT __stdcall WriteFmtUserTypeStg ( LPSTORAGE pstg, CLIPFORMAT cf, LPOLESTR lpszUserType); extern "C" __declspec(dllimport) HRESULT __stdcall ReadFmtUserTypeStg ( LPSTORAGE pstg, CLIPFORMAT * pcf, LPOLESTR * lplpszUserType); extern "C" __declspec(dllimport) HRESULT __stdcall OleInitialize( LPVOID pvReserved); extern "C" __declspec(dllimport) void __stdcall OleUninitialize(void); extern "C" __declspec(dllimport) HRESULT __stdcall OleQueryLinkFromData( LPDATAOBJECT pSrcDataObject); extern "C" __declspec(dllimport) HRESULT __stdcall OleQueryCreateFromData( LPDATAOBJECT pSrcDataObject); extern "C" __declspec(dllimport) HRESULT __stdcall OleCreate( const IID & rclsid, const IID & riid, DWORD renderopt, LPFORMATETC pFormatEtc, LPOLECLIENTSITE pClientSite, LPSTORAGE pStg, LPVOID * ppvObj); extern "C" __declspec(dllimport) HRESULT __stdcall OleCreateEx( const IID & rclsid, const IID & riid, DWORD dwFlags, DWORD renderopt, ULONG cFormats, DWORD* rgAdvf, LPFORMATETC rgFormatEtc, IAdviseSink * lpAdviseSink, DWORD * rgdwConnection, LPOLECLIENTSITE pClientSite, LPSTORAGE pStg, LPVOID * ppvObj); extern "C" __declspec(dllimport) HRESULT __stdcall OleCreateFromData( LPDATAOBJECT pSrcDataObj, const IID & riid, DWORD renderopt, LPFORMATETC pFormatEtc, LPOLECLIENTSITE pClientSite, LPSTORAGE pStg, LPVOID * ppvObj); extern "C" __declspec(dllimport) HRESULT __stdcall OleCreateFromDataEx( LPDATAOBJECT pSrcDataObj, const IID & riid, DWORD dwFlags, DWORD renderopt, ULONG cFormats, DWORD* rgAdvf, LPFORMATETC rgFormatEtc, IAdviseSink * lpAdviseSink, DWORD * rgdwConnection, LPOLECLIENTSITE pClientSite, LPSTORAGE pStg, LPVOID * ppvObj); extern "C" __declspec(dllimport) HRESULT __stdcall OleCreateLinkFromData( LPDATAOBJECT pSrcDataObj, const IID & riid, DWORD renderopt, LPFORMATETC pFormatEtc, LPOLECLIENTSITE pClientSite, LPSTORAGE pStg, LPVOID * ppvObj); extern "C" __declspec(dllimport) HRESULT __stdcall OleCreateLinkFromDataEx( LPDATAOBJECT pSrcDataObj, const IID & riid, DWORD dwFlags, DWORD renderopt, ULONG cFormats, DWORD* rgAdvf, LPFORMATETC rgFormatEtc, IAdviseSink * lpAdviseSink, DWORD * rgdwConnection, LPOLECLIENTSITE pClientSite, LPSTORAGE pStg, LPVOID * ppvObj); extern "C" __declspec(dllimport) HRESULT __stdcall OleCreateStaticFromData( LPDATAOBJECT pSrcDataObj, const IID & iid, DWORD renderopt, LPFORMATETC pFormatEtc, LPOLECLIENTSITE pClientSite, LPSTORAGE pStg, LPVOID * ppvObj); extern "C" __declspec(dllimport) HRESULT __stdcall OleCreateLink( LPMONIKER pmkLinkSrc, const IID & riid, DWORD renderopt, LPFORMATETC lpFormatEtc, LPOLECLIENTSITE pClientSite, LPSTORAGE pStg, LPVOID * ppvObj); extern "C" __declspec(dllimport) HRESULT __stdcall OleCreateLinkEx( LPMONIKER pmkLinkSrc, const IID & riid, DWORD dwFlags, DWORD renderopt, ULONG cFormats, DWORD* rgAdvf, LPFORMATETC rgFormatEtc, IAdviseSink * lpAdviseSink, DWORD * rgdwConnection, LPOLECLIENTSITE pClientSite, LPSTORAGE pStg, LPVOID * ppvObj); extern "C" __declspec(dllimport) HRESULT __stdcall OleCreateLinkToFile( LPCOLESTR lpszFileName, const IID & riid, DWORD renderopt, LPFORMATETC lpFormatEtc, LPOLECLIENTSITE pClientSite, LPSTORAGE pStg, LPVOID * ppvObj); extern "C" __declspec(dllimport) HRESULT __stdcall OleCreateLinkToFileEx( LPCOLESTR lpszFileName, const IID & riid, DWORD dwFlags, DWORD renderopt, ULONG cFormats, DWORD* rgAdvf, LPFORMATETC rgFormatEtc, IAdviseSink * lpAdviseSink, DWORD * rgdwConnection, LPOLECLIENTSITE pClientSite, LPSTORAGE pStg, LPVOID * ppvObj); extern "C" __declspec(dllimport) HRESULT __stdcall OleCreateFromFile( const IID & rclsid, LPCOLESTR lpszFileName, const IID & riid, DWORD renderopt, LPFORMATETC lpFormatEtc, LPOLECLIENTSITE pClientSite, LPSTORAGE pStg, LPVOID * ppvObj); extern "C" __declspec(dllimport) HRESULT __stdcall OleCreateFromFileEx( const IID & rclsid, LPCOLESTR lpszFileName, const IID & riid, DWORD dwFlags, DWORD renderopt, ULONG cFormats, DWORD* rgAdvf, LPFORMATETC rgFormatEtc, IAdviseSink * lpAdviseSink, DWORD * rgdwConnection, LPOLECLIENTSITE pClientSite, LPSTORAGE pStg, LPVOID * ppvObj); extern "C" __declspec(dllimport) HRESULT __stdcall OleLoad( LPSTORAGE pStg, const IID & riid, LPOLECLIENTSITE pClientSite, LPVOID * ppvObj); extern "C" __declspec(dllimport) HRESULT __stdcall OleSave( LPPERSISTSTORAGE pPS, LPSTORAGE pStg, BOOL fSameAsLoad); extern "C" __declspec(dllimport) HRESULT __stdcall OleLoadFromStream( LPSTREAM pStm, const IID & iidInterface, LPVOID * ppvObj); extern "C" __declspec(dllimport) HRESULT __stdcall OleSaveToStream( LPPERSISTSTREAM pPStm, LPSTREAM pStm ); extern "C" __declspec(dllimport) HRESULT __stdcall OleSetContainedObject( LPUNKNOWN pUnknown, BOOL fContained); extern "C" __declspec(dllimport) HRESULT __stdcall OleNoteObjectVisible( LPUNKNOWN pUnknown, BOOL fVisible); extern "C" __declspec(dllimport) HRESULT __stdcall RegisterDragDrop( HWND hwnd, LPDROPTARGET pDropTarget); extern "C" __declspec(dllimport) HRESULT __stdcall RevokeDragDrop( HWND hwnd); extern "C" __declspec(dllimport) HRESULT __stdcall DoDragDrop( LPDATAOBJECT pDataObj, LPDROPSOURCE pDropSource, DWORD dwOKEffects, LPDWORD pdwEffect); extern "C" __declspec(dllimport) HRESULT __stdcall OleSetClipboard( LPDATAOBJECT pDataObj); extern "C" __declspec(dllimport) HRESULT __stdcall OleGetClipboard( LPDATAOBJECT * ppDataObj); extern "C" __declspec(dllimport) HRESULT __stdcall OleGetClipboardWithEnterpriseInfo( IDataObject** dataObject, PWSTR* dataEnterpriseId, PWSTR* sourceDescription, PWSTR* targetDescription, PWSTR* dataDescription); extern "C" __declspec(dllimport) HRESULT __stdcall OleFlushClipboard(void); extern "C" __declspec(dllimport) HRESULT __stdcall OleIsCurrentClipboard( LPDATAOBJECT pDataObj); extern "C" __declspec(dllimport) HOLEMENU __stdcall OleCreateMenuDescriptor ( HMENU hmenuCombined, LPOLEMENUGROUPWIDTHS lpMenuWidths); extern "C" __declspec(dllimport) HRESULT __stdcall OleSetMenuDescriptor ( HOLEMENU holemenu, HWND hwndFrame, HWND hwndActiveObject, LPOLEINPLACEFRAME lpFrame, LPOLEINPLACEACTIVEOBJECT lpActiveObj); extern "C" __declspec(dllimport) HRESULT __stdcall OleDestroyMenuDescriptor ( HOLEMENU holemenu); extern "C" __declspec(dllimport) HRESULT __stdcall OleTranslateAccelerator ( LPOLEINPLACEFRAME lpFrame, LPOLEINPLACEFRAMEINFO lpFrameInfo, LPMSG lpmsg); extern "C" __declspec(dllimport) HANDLE __stdcall OleDuplicateData ( HANDLE hSrc, CLIPFORMAT cfFormat, UINT uiFlags); extern "C" __declspec(dllimport) HRESULT __stdcall OleDraw ( LPUNKNOWN pUnknown, DWORD dwAspect, HDC hdcDraw, LPCRECT lprcBounds); extern "C" __declspec(dllimport) HRESULT __stdcall OleRun( LPUNKNOWN pUnknown); extern "C" __declspec(dllimport) BOOL __stdcall OleIsRunning( LPOLEOBJECT pObject); extern "C" __declspec(dllimport) HRESULT __stdcall OleLockRunning( LPUNKNOWN pUnknown, BOOL fLock, BOOL fLastUnlockCloses); extern "C" __declspec(dllimport) void __stdcall ReleaseStgMedium( LPSTGMEDIUM); extern "C" __declspec(dllimport) HRESULT __stdcall CreateOleAdviseHolder( LPOLEADVISEHOLDER * ppOAHolder); extern "C" __declspec(dllimport) HRESULT __stdcall OleCreateDefaultHandler( const IID & clsid, LPUNKNOWN pUnkOuter, const IID & riid, LPVOID * lplpObj); extern "C" __declspec(dllimport) HRESULT __stdcall OleCreateEmbeddingHelper( const IID & clsid, LPUNKNOWN pUnkOuter, DWORD flags, LPCLASSFACTORY pCF, const IID & riid, LPVOID * lplpObj); extern "C" __declspec(dllimport) BOOL __stdcall IsAccelerator( HACCEL hAccel, int cAccelEntries, LPMSG lpMsg, WORD * lpwCmd); extern "C" __declspec(dllimport) HGLOBAL __stdcall OleGetIconOfFile( LPOLESTR lpszPath, BOOL fUseFileAsLabel); extern "C" __declspec(dllimport) HGLOBAL __stdcall OleGetIconOfClass( const IID & rclsid, LPOLESTR lpszLabel, BOOL fUseTypeAsLabel); extern "C" __declspec(dllimport) HGLOBAL __stdcall OleMetafilePictFromIconAndLabel( HICON hIcon, LPOLESTR lpszLabel, LPOLESTR lpszSourceFile, UINT iIconIndex); extern "C" __declspec(dllimport) HRESULT __stdcall OleRegGetUserType ( const IID & clsid, DWORD dwFormOfType, LPOLESTR * pszUserType); extern "C" __declspec(dllimport) HRESULT __stdcall OleRegGetMiscStatus ( const IID & clsid, DWORD dwAspect, DWORD * pdwStatus); extern "C" __declspec(dllimport) HRESULT __stdcall OleRegEnumFormatEtc( const IID & clsid, DWORD dwDirection, LPENUMFORMATETC * ppenum); extern "C" __declspec(dllimport) HRESULT __stdcall OleRegEnumVerbs ( const IID & clsid, LPENUMOLEVERB * ppenum); typedef struct _OLESTREAM * LPOLESTREAM; typedef struct _OLESTREAMVTBL { DWORD (__stdcall* Get)(LPOLESTREAM, void *, DWORD); DWORD (__stdcall* Put)(LPOLESTREAM, const void *, DWORD); } OLESTREAMVTBL; typedef OLESTREAMVTBL * LPOLESTREAMVTBL; typedef struct _OLESTREAM { LPOLESTREAMVTBL lpstbl; } OLESTREAM; extern "C" __declspec(dllimport) HRESULT __stdcall OleConvertOLESTREAMToIStorage ( LPOLESTREAM lpolestream, LPSTORAGE pstg, const DVTARGETDEVICE * ptd); extern "C" __declspec(dllimport) HRESULT __stdcall OleConvertIStorageToOLESTREAM ( LPSTORAGE pstg, LPOLESTREAM lpolestream); extern "C" __declspec(dllimport) HRESULT __stdcall OleDoAutoConvert( LPSTORAGE pStg, LPCLSID pClsidNew); extern "C" __declspec(dllimport) HRESULT __stdcall OleGetAutoConvert( const IID & clsidOld, LPCLSID pClsidNew); extern "C" __declspec(dllimport) HRESULT __stdcall OleSetAutoConvert( const IID & clsidOld, const IID & clsidNew); extern "C" __declspec(dllimport) HRESULT __stdcall SetConvertStg( LPSTORAGE pStg, BOOL fConvert); extern "C" __declspec(dllimport) HRESULT __stdcall OleConvertIStorageToOLESTREAMEx ( LPSTORAGE pstg, CLIPFORMAT cfFormat, LONG lWidth, LONG lHeight, DWORD dwSize, LPSTGMEDIUM pmedium, LPOLESTREAM polestm); extern "C" __declspec(dllimport) HRESULT __stdcall OleConvertOLESTREAMToIStorageEx ( LPOLESTREAM polestm, LPSTORAGE pstg, CLIPFORMAT * pcfFormat, LONG * plwWidth, LONG * plHeight, DWORD * pdwSize, LPSTGMEDIUM pmedium); #pragma endregion #pragma warning(disable:4103) #pragma pack(pop) #pragma warning(pop) #pragma once #pragma once #pragma once #pragma once #pragma warning (push) #pragma warning(disable: 4127) #pragma once #pragma pack(push,8) namespace ATL { template class AtlLimits; template<> class AtlLimits { public: static const int _Min=(-2147483647 - 1); static const int _Max=2147483647; }; template<> class AtlLimits { public: static const unsigned int _Min=0; static const unsigned int _Max=0xffffffff; }; template<> class AtlLimits { public: static const long _Min=(-2147483647L - 1); static const long _Max=2147483647L; }; template<> class AtlLimits { public: static const unsigned long _Min=0; static const unsigned long _Max=0xffffffffUL; }; template<> class AtlLimits { public: static const long long _Min=(-9223372036854775807i64 - 1); static const long long _Max=9223372036854775807i64; }; template<> class AtlLimits { public: static const unsigned long long _Min=0; static const unsigned long long _Max=0xffffffffffffffffui64; }; template inline HRESULT AtlAdd( T* ptResult, T tLeft, T tRight) { if(::ATL::AtlLimits::_Max-tLeft < tRight) { return HRESULT_FROM_WIN32(534L); } *ptResult= tLeft + tRight; return ((HRESULT)0L); } template inline HRESULT AtlMultiply( T* ptResult, T tLeft, T tRight) { if(tLeft==0) { *ptResult=0; return ((HRESULT)0L); } if(::ATL::AtlLimits::_Max/tLeft < tRight) { return HRESULT_FROM_WIN32(534L); } *ptResult= tLeft * tRight; return ((HRESULT)0L); } template<> inline HRESULT AtlMultiply( int *piResult, int iLeft, int iRight) { __int64 i64Result=static_cast<__int64>(iLeft) * static_cast<__int64>(iRight); if(i64Result>2147483647 || i64Result < (-2147483647 - 1)) { return HRESULT_FROM_WIN32(534L); } *piResult=static_cast(i64Result); return ((HRESULT)0L); } template<> inline HRESULT AtlMultiply( unsigned int *piResult, unsigned int iLeft, unsigned int iRight) { unsigned __int64 i64Result=static_cast(iLeft) * static_cast(iRight); if(i64Result>0xffffffff) { return HRESULT_FROM_WIN32(534L); } *piResult=static_cast(i64Result); return ((HRESULT)0L); } template<> inline HRESULT AtlMultiply( long *piResult, long iLeft, long iRight) { __int64 i64Result=static_cast<__int64>(iLeft) * static_cast<__int64>(iRight); if(i64Result>2147483647L || i64Result < (-2147483647L - 1)) { return HRESULT_FROM_WIN32(534L); } *piResult=static_cast(i64Result); return ((HRESULT)0L); } template<> inline HRESULT AtlMultiply( unsigned long *piResult, unsigned long iLeft, unsigned long iRight) { unsigned __int64 i64Result=static_cast(iLeft) * static_cast(iRight); if(i64Result>0xffffffffUL) { return HRESULT_FROM_WIN32(534L); } *piResult=static_cast(i64Result); return ((HRESULT)0L); } template inline T AtlMultiplyThrow( T tLeft, T tRight) { T tResult; HRESULT hr=AtlMultiply(&tResult, tLeft, tRight); if((((HRESULT)(hr)) < 0)) { ATL::AtlThrowImpl(hr); } return tResult; } template inline T AtlAddThrow( T tLeft, T tRight) { T tResult; HRESULT hr=AtlAdd(&tResult, tLeft, tRight); if((((HRESULT)(hr)) < 0)) { ATL::AtlThrowImpl(hr); } return tResult; } inline LPVOID AtlCoTaskMemCAlloc( ULONG nCount, ULONG nSize) { HRESULT hr; ULONG nBytes=0; if( (((HRESULT)(hr=::ATL::AtlMultiply(&nBytes, nCount, nSize))) < 0)) { return 0; } return ::CoTaskMemAlloc(nBytes); } inline LPVOID AtlCoTaskMemRecalloc( void *pvMemory, ULONG nCount, ULONG nSize) { HRESULT hr; ULONG nBytes=0; if( (((HRESULT)(hr=::ATL::AtlMultiply(&nBytes, nCount, nSize))) < 0)) { return 0; } return ::CoTaskMemRealloc(pvMemory, nBytes); } } #pragma pack(pop) #pragma pack(push,8) namespace ATL { namespace Checked { void __cdecl memcpy_s( void *s1, size_t _S1max, const void *s2, size_t _N); } class CCRTAllocator { public: static void* Reallocate( void* p, size_t nBytes) throw() { return realloc(p, nBytes); } static void* Allocate( size_t nBytes) throw() { return malloc(nBytes); } static void Free( void* p) throw() { free(p); } }; class CLocalAllocator { public: static void* Allocate( size_t nBytes) throw() { return ::LocalAlloc(0x0000, nBytes); } static void* Reallocate( void* p, size_t nBytes) throw() { if (p==0){ return ( Allocate(nBytes) ); } if (nBytes==0){ Free(p); return 0; } return SAL_Assume_bytecap_for_opt_(::LocalReAlloc(p, nBytes, 0), nBytes); } static void Free( void* p) throw() { ::LocalFree(p); } }; class CGlobalAllocator { public: static void* Allocate( size_t nBytes) throw() { return ::GlobalAlloc(0x0000, nBytes); } static void* Reallocate( void* p, size_t nBytes) throw() { if (p==0){ return ( Allocate(nBytes) ); } if (nBytes==0){ Free(p); return 0; } return SAL_Assume_bytecap_for_opt_(::GlobalReAlloc(p, nBytes, 0), nBytes); } static void Free( void* p) throw() { ::GlobalFree(p); } }; template class CHeapPtrBase { protected: CHeapPtrBase() throw() : m_pData(0) { } CHeapPtrBase( CHeapPtrBase& p) throw() { m_pData = p.Detach(); } explicit CHeapPtrBase( T* pData) throw() : m_pData(pData) { } public: ~CHeapPtrBase() throw() { Free(); } protected: CHeapPtrBase& operator=( CHeapPtrBase& p) throw() { if(m_pData != p.m_pData) Attach(p.Detach()); return *this; } public: operator T*() const throw() { return m_pData; } T* operator->() const throw() { ((void)0); return m_pData; } T** operator&() throw() { do { ((void)0); ; } __pragma(warning(suppress:4127)) while (0); return &m_pData; } bool AllocateBytes( size_t nBytes) throw() { ((void)0); m_pData = static_cast(Allocator::Allocate(nBytes)); if (m_pData == 0) return false; return true; } void Attach( T* pData) throw() { Allocator::Free(m_pData); m_pData = pData; } T* Detach() throw() { T* pTemp = m_pData; m_pData = 0; return pTemp; } void Free() throw() { Allocator::Free(m_pData); m_pData = 0; } bool ReallocateBytes( size_t nBytes) throw() { T* pNew; pNew = static_cast(Allocator::Reallocate(m_pData, nBytes)); if (pNew == 0) return false; m_pData = pNew; return true; } public: T* m_pData; }; template class CHeapPtr : public CHeapPtrBase { public: CHeapPtr() throw() { } CHeapPtr( CHeapPtr& p) throw() : CHeapPtrBase(p) { } explicit CHeapPtr( T* p) throw() : CHeapPtrBase(p) { } CHeapPtr& operator=( CHeapPtr& p) throw() { CHeapPtrBase::operator=(p); return *this; } bool Allocate( size_t nElements = 1) throw() { size_t nBytes=0; if((((HRESULT)(::ATL::AtlMultiply(&nBytes, nElements, sizeof(T)))) < 0)) { return false; } return this->AllocateBytes(nBytes); } bool Reallocate( size_t nElements) throw() { size_t nBytes=0; if((((HRESULT)(::ATL::AtlMultiply(&nBytes, nElements, sizeof(T)))) < 0)) { return false; } return this->ReallocateBytes(nBytes); } }; template< typename T, int t_nFixedBytes = 128, class Allocator = CCRTAllocator > class CTempBuffer { public: CTempBuffer() throw() : m_p( 0 ) { } CTempBuffer( size_t nElements) : m_p( 0 ) { Allocate( nElements ); } ~CTempBuffer() throw() { if( m_p != reinterpret_cast< T* >( m_abFixedBuffer ) ) { FreeHeap(); } } operator T*() const throw() { return( m_p ); } T* operator->() const throw() { ((void)0); return( m_p ); } T* Allocate( size_t nElements) { return( AllocateBytes( ::ATL::AtlMultiplyThrow(nElements,sizeof( T )) ) ); } T* Reallocate( size_t nElements) { do { int __atl_condVal=!!(nElements < size_t(-1)/sizeof(T)); do { ((void)0); ; } __pragma(warning(suppress:4127)) while (0); if(!(__atl_condVal)) ATL::AtlThrowImpl(((HRESULT)0x80004005L)); } __pragma(warning(suppress:4127)) while (0); size_t nNewSize = nElements*sizeof( T ) ; if (m_p == 0) return AllocateBytes(nNewSize); if (nNewSize > t_nFixedBytes) { if( m_p == reinterpret_cast< T* >( m_abFixedBuffer ) ) { AllocateHeap(nNewSize); Checked::memcpy_s(m_p, nNewSize, m_abFixedBuffer, t_nFixedBytes); } else { ReAllocateHeap( nNewSize ); } } else { if (m_p != reinterpret_cast< T* >( m_abFixedBuffer )) { Checked::memcpy_s(m_abFixedBuffer, t_nFixedBytes, m_p, nNewSize); FreeHeap(); } m_p = reinterpret_cast< T* >( m_abFixedBuffer ); } return m_p; } T* AllocateBytes( size_t nBytes) { ((void)0); if( nBytes > t_nFixedBytes ) { AllocateHeap( nBytes ); } else { m_p = reinterpret_cast< T* >( m_abFixedBuffer ); } return( m_p ); } private: __declspec( noinline ) void AllocateHeap( size_t nBytes) { T* p = static_cast< T* >( Allocator::Allocate( nBytes ) ); if( p == 0 ) { ATL::AtlThrowImpl( ((HRESULT)0x8007000EL) ); } m_p = p; } __declspec( noinline ) void ReAllocateHeap( size_t nNewSize) { T* p = static_cast< T* >( Allocator::Reallocate(m_p, nNewSize) ); if ( p == 0 ) { ATL::AtlThrowImpl( ((HRESULT)0x8007000EL) ); } m_p = p; } __declspec( noinline ) void FreeHeap() throw() { Allocator::Free( m_p ); } private: T* m_p; BYTE m_abFixedBuffer[t_nFixedBytes]; }; namespace _ATL_SAFE_ALLOCA_IMPL { __declspec(noinline) inline bool _AtlVerifyStackAvailable( SIZE_T Size) { bool bStackAvailable = true; __try { SIZE_T size=0; HRESULT hrAdd=::ATL::AtlAdd(&size, Size, static_cast(0x4000)); if((((HRESULT)(hrAdd)) < 0)) { ((void)0); bStackAvailable = false; } else { PVOID p = _alloca(size); (p); } } __except ((((DWORD )0xC00000FDL) == _exception_code()) ? 1 : 0) { bStackAvailable = false; _resetstkoflw(); } return bStackAvailable; } template < class Allocator> class CAtlSafeAllocBufferManager { private : struct CAtlSafeAllocBufferNode { CAtlSafeAllocBufferNode* m_pNext; BYTE _pad[8]; void* GetData() { return (this + 1); } }; CAtlSafeAllocBufferNode* m_pHead; public : CAtlSafeAllocBufferManager() : m_pHead(0) { } void* Allocate( SIZE_T nRequestedSize) { CAtlSafeAllocBufferNode *p = (CAtlSafeAllocBufferNode*)Allocator::Allocate(::ATL::AtlAddThrow(nRequestedSize, static_cast(sizeof(CAtlSafeAllocBufferNode)))); if (p == 0) return 0; p->m_pNext = m_pHead; m_pHead = p; return p->GetData(); } ~CAtlSafeAllocBufferManager() { while (m_pHead != 0) { CAtlSafeAllocBufferNode* p = m_pHead; m_pHead = m_pHead->m_pNext; Allocator::Free(p); } } }; } } #pragma pack(pop) #pragma pack(push,8) namespace ATL { inline UINT __stdcall _AtlGetConversionACP() throw() { return 3; } template inline void AtlConvAllocMemory( _CharType** ppBuff, int nLength, _CharType* pszFixedBuffer, int nFixedBufferLength) { do { int __atl_condVal=!!(ppBuff != 0); do { ((void)0); ; } __pragma(warning(suppress:4127)) while (0); if(!(__atl_condVal)) ATL::AtlThrowImpl(((HRESULT)0x80070057L)); } __pragma(warning(suppress:4127)) while (0); do { int __atl_condVal=!!(nLength >= 0); do { ((void)0); ; } __pragma(warning(suppress:4127)) while (0); if(!(__atl_condVal)) ATL::AtlThrowImpl(((HRESULT)0x80070057L)); } __pragma(warning(suppress:4127)) while (0); do { int __atl_condVal=!!(pszFixedBuffer != 0); do { ((void)0); ; } __pragma(warning(suppress:4127)) while (0); if(!(__atl_condVal)) ATL::AtlThrowImpl(((HRESULT)0x80070057L)); } __pragma(warning(suppress:4127)) while (0); if (*ppBuff != pszFixedBuffer) { if( nLength > nFixedBufferLength ) { _CharType* ppReallocBuf = static_cast< _CharType* >( _recalloc(*ppBuff, nLength,sizeof( _CharType ) ) ); if (ppReallocBuf == 0) { ATL::AtlThrowImpl( ((HRESULT)0x8007000EL) ); } *ppBuff = ppReallocBuf; } else { free(*ppBuff); *ppBuff=pszFixedBuffer; } } else { if( nLength > nFixedBufferLength ) { *ppBuff = static_cast< _CharType* >( calloc(nLength,sizeof( _CharType ) ) ); } else { *ppBuff=pszFixedBuffer; } } if (*ppBuff == 0) { ATL::AtlThrowImpl( ((HRESULT)0x8007000EL) ); } } template inline void AtlConvFreeMemory( _CharType* pBuff, _CharType* pszFixedBuffer, int nFixedBufferLength) { (nFixedBufferLength); if( pBuff != pszFixedBuffer ) { free( pBuff ); } } template< int t_nBufferLength = 128 > class CW2WEX { public: CW2WEX( LPCWSTR psz) : m_psz( m_szBuffer ) { Init( psz ); } CW2WEX( LPCWSTR psz, UINT nCodePage) : m_psz( m_szBuffer ) { (void)nCodePage; Init( psz ); } ~CW2WEX() throw() { AtlConvFreeMemory(m_psz,m_szBuffer,t_nBufferLength); } operator LPWSTR() const throw() { return( m_psz ); } private: void Init( LPCWSTR psz) { if (psz == 0) { m_psz = 0; return; } int nLength = static_cast(wcslen( psz ))+1; AtlConvAllocMemory(&m_psz,nLength,m_szBuffer,t_nBufferLength); do { ((void)0); ; } __pragma(warning(suppress:4127)) while (0); Checked::memcpy_s( m_psz, nLength*sizeof( wchar_t ), psz, nLength*sizeof( wchar_t )); } public: LPWSTR m_psz; wchar_t m_szBuffer[t_nBufferLength]; private: CW2WEX( const CW2WEX&) throw(); CW2WEX& operator=( const CW2WEX&) throw(); }; typedef CW2WEX<> CW2W; template< int t_nBufferLength = 128 > class CA2AEX { public: CA2AEX( LPCSTR psz) : m_psz( m_szBuffer ) { Init( psz ); } CA2AEX( LPCSTR psz, UINT nCodePage) : m_psz( m_szBuffer ) { (void)nCodePage; Init( psz ); } ~CA2AEX() throw() { AtlConvFreeMemory(m_psz,m_szBuffer,t_nBufferLength); } operator LPSTR() const throw() { return( m_psz ); } private: void Init( LPCSTR psz) { if (psz == 0) { m_psz = 0; return; } int nLength = static_cast(strlen( psz ))+1; AtlConvAllocMemory(&m_psz,nLength,m_szBuffer,t_nBufferLength); Checked::memcpy_s( m_psz, nLength*sizeof( char ), psz, nLength*sizeof( char )); } public: LPSTR m_psz; char m_szBuffer[t_nBufferLength]; private: CA2AEX( const CA2AEX&) throw(); CA2AEX& operator=( const CA2AEX&) throw(); }; typedef CA2AEX<> CA2A; template< int t_nBufferLength = 128 > class CA2CAEX { public: CA2CAEX( LPCSTR psz) : m_psz( psz ) { } CA2CAEX( LPCSTR psz, UINT nCodePage) : m_psz( psz ) { (void)nCodePage; } ~CA2CAEX() throw() { } operator LPCSTR() const throw() { return( m_psz ); } public: LPCSTR m_psz; private: CA2CAEX( const CA2CAEX&) throw(); CA2CAEX& operator=( const CA2CAEX&) throw(); }; typedef CA2CAEX<> CA2CA; template< int t_nBufferLength = 128 > class CW2CWEX { public: CW2CWEX( LPCWSTR psz) : m_psz( psz ) { } CW2CWEX( LPCWSTR psz, UINT nCodePage) : m_psz( psz ) { (nCodePage); } ~CW2CWEX() throw() { } operator LPCWSTR() const throw() { return( m_psz ); } public: LPCWSTR m_psz; private: CW2CWEX( const CW2CWEX&) throw(); CW2CWEX& operator=( const CW2CWEX&) throw(); }; typedef CW2CWEX<> CW2CW; template< int t_nBufferLength = 128 > class CA2WEX { public: CA2WEX( LPCSTR psz) : m_psz( m_szBuffer ) { Init( psz, _AtlGetConversionACP() ); } CA2WEX( LPCSTR psz, UINT nCodePage) : m_psz( m_szBuffer ) { Init( psz, nCodePage ); } ~CA2WEX() throw() { AtlConvFreeMemory(m_psz,m_szBuffer,t_nBufferLength); } operator LPWSTR() const throw() { return( m_psz ); } private: void Init( LPCSTR psz, UINT nCodePage) { if (psz == 0) { m_psz = 0; return; } int nLengthA = static_cast(strlen( psz ))+1; int nLengthW = nLengthA; AtlConvAllocMemory(&m_psz,nLengthW,m_szBuffer,t_nBufferLength); BOOL bFailed=(0 == ::MultiByteToWideChar( nCodePage, 0, psz, nLengthA, m_psz, nLengthW ) ); if (bFailed) { if (GetLastError()==122L) { nLengthW = ::MultiByteToWideChar( nCodePage, 0, psz, nLengthA, 0, 0); __pragma(warning(push)) __pragma(warning(disable: 6102)) AtlConvAllocMemory(&m_psz,nLengthW,m_szBuffer,t_nBufferLength); __pragma(warning(pop)) bFailed=(0 == ::MultiByteToWideChar( nCodePage, 0, psz, nLengthA, m_psz, nLengthW ) ); } } if (bFailed) { AtlConvFreeMemory(m_psz, m_szBuffer, t_nBufferLength); AtlThrowLastWin32(); } } public: LPWSTR m_psz; wchar_t m_szBuffer[t_nBufferLength]; private: CA2WEX( const CA2WEX&) throw(); CA2WEX& operator=( const CA2WEX&) throw(); }; typedef CA2WEX<> CA2W; template< int t_nBufferLength = 128 > class CW2AEX { public: CW2AEX( LPCWSTR psz) : m_psz( m_szBuffer ) { Init( psz, _AtlGetConversionACP() ); } CW2AEX( LPCWSTR psz, UINT nCodePage) : m_psz( m_szBuffer ) { Init( psz, nCodePage ); } ~CW2AEX() throw() { AtlConvFreeMemory(m_psz,m_szBuffer,t_nBufferLength); } operator LPSTR() const throw() { return( m_psz ); } private: void Init( LPCWSTR psz, UINT nConvertCodePage) { if (psz == 0) { m_psz = 0; return; } int nLengthW = static_cast(wcslen( psz ))+1; int nLengthA = nLengthW*4; AtlConvAllocMemory(&m_psz,nLengthA,m_szBuffer,t_nBufferLength); BOOL bFailed=(0 == ::WideCharToMultiByte( nConvertCodePage, 0, psz, nLengthW, m_psz, nLengthA, 0, 0 )); if (bFailed) { if (GetLastError()==122L) { nLengthA = ::WideCharToMultiByte( nConvertCodePage, 0, psz, nLengthW, 0, 0, 0, 0 ); __pragma(warning(push)) __pragma(warning(disable: 6102)) AtlConvAllocMemory(&m_psz,nLengthA,m_szBuffer,t_nBufferLength); __pragma(warning(pop)) bFailed=(0 == ::WideCharToMultiByte( nConvertCodePage, 0, psz, nLengthW, m_psz, nLengthA, 0, 0 )); } } if (bFailed) { AtlConvFreeMemory(m_psz, m_szBuffer, t_nBufferLength); AtlThrowLastWin32(); } } public: LPSTR m_psz; char m_szBuffer[t_nBufferLength]; private: CW2AEX( const CW2AEX&) throw(); CW2AEX& operator=( const CW2AEX&) throw(); }; typedef CW2AEX<> CW2A; }; #pragma pack(pop) #pragma pack(push,8) __declspec(nothrow) LPDEVMODEA __stdcall AtlDevModeW2A( LPDEVMODEA lpDevModeA, const DEVMODEW* lpDevModeW); __pragma(warning(push)) __pragma(warning(disable: 6054)) inline LPWSTR __stdcall AtlA2WHelper( LPWSTR lpw, LPCSTR lpa, int nChars, UINT acp) throw() { ((void)0); ((void)0); if (lpw == 0 || lpa == 0) return 0; *lpw = '\0'; int ret = MultiByteToWideChar(acp, 0, lpa, -1, lpw, nChars); if(ret == 0) { ((void)0); return 0; } return lpw; } __pragma(warning(pop)) __pragma(warning(push)) __pragma(warning(disable: 6054)) inline LPSTR __stdcall AtlW2AHelper( LPSTR lpa, LPCWSTR lpw, int nChars, UINT acp) throw() { ((void)0); ((void)0); if (lpa == 0 || lpw == 0) return 0; *lpa = '\0'; int ret = WideCharToMultiByte(acp, 0, lpw, -1, lpa, nChars, 0, 0); if(ret == 0) { ((void)0); return 0; } return lpa; } __pragma(warning(pop)) inline LPWSTR __stdcall AtlA2WHelper( LPWSTR lpw, LPCSTR lpa, int nChars) throw() { return AtlA2WHelper(lpw, lpa, nChars, 0); } inline LPSTR __stdcall AtlW2AHelper( LPSTR lpa, LPCWSTR lpw, int nChars) throw() { return AtlW2AHelper(lpa, lpw, nChars, 0); } inline int ocslen( LPCOLESTR x) throw() { if (x == 0) { return 0; } return static_cast(wcslen(x)); } __pragma(warning(push)) __pragma(warning(disable: 6054)) inline bool ocscpy_s( LPOLESTR dest, size_t maxSize, LPCOLESTR src) throw() { return 0 == memcpy_s(dest, maxSize*sizeof(WCHAR), src, (ocslen(src)+1)*sizeof(WCHAR)); } __pragma(warning(pop)) inline bool ocscat_s( LPOLESTR dest, size_t maxSize, LPCOLESTR src) throw() { return 0 == wcscat_s(dest, maxSize,src); } __declspec(deprecated("ocscpy is not safe. Intead, use ocscpy_s")) inline OLECHAR* ocscpy( LPOLESTR dest, LPCOLESTR src) throw() { #pragma warning(push) #pragma warning(disable:4996 28719) return wcscpy(dest, src); #pragma warning(pop) } __declspec(deprecated("ocscat is not safe. Intead, use ocscat_s")) inline OLECHAR* ocscat( LPOLESTR dest, LPCOLESTR src) throw() { #pragma warning(push) #pragma warning(disable:4996 28719) return wcscat(dest, src); #pragma warning(pop) } inline LPCOLESTR T2COLE_EX( LPCTSTR lp, UINT) { return lp; } inline LPCOLESTR T2COLE_EX_DEF( LPCTSTR lp) { return lp; } inline LPCTSTR OLE2CT_EX( LPCOLESTR lp, UINT) { return lp; } inline LPCTSTR OLE2CT_EX_DEF( LPCOLESTR lp) { return lp; } inline LPOLESTR T2OLE_EX( LPTSTR lp, UINT) { return lp; } inline LPOLESTR T2OLE_EX_DEF( LPTSTR lp) { return lp; } inline LPTSTR OLE2T_EX( LPOLESTR lp, UINT) { return lp; } inline LPTSTR OLE2T_EX_DEF( LPOLESTR lp) { return lp; } inline LPCOLESTR T2COLE( LPCTSTR lp) { return lp; } inline LPCTSTR OLE2CT( LPCOLESTR lp) { return lp; } inline LPOLESTR T2OLE( LPTSTR lp) { return lp; } inline LPTSTR OLE2T( LPOLESTR lp) { return lp; } inline LPOLESTR W2OLE_EX( LPWSTR lp, UINT) { return lp; } inline LPOLESTR W2OLE_EX_DEF( LPWSTR lp) { return lp; } inline LPWSTR OLE2W_EX( LPOLESTR lp, UINT) { return lp; } inline LPWSTR OLE2W_EX_DEF( LPOLESTR lp) { return lp; } inline LPCOLESTR W2COLE_EX( LPCWSTR lp, UINT) { return lp; } inline LPCOLESTR W2COLE_EX_DEF( LPCWSTR lp) { return lp; } inline LPCWSTR OLE2CW_EX( LPCOLESTR lp, UINT) { return lp; } inline LPCWSTR OLE2CW_EX_DEF( LPCOLESTR lp) { return lp; } inline LPOLESTR W2OLE( LPWSTR lp) { return lp; } inline LPWSTR OLE2W( LPOLESTR lp) { return lp; } inline LPCOLESTR W2COLE( LPCWSTR lp) { return lp; } inline LPCWSTR OLE2CW( LPCOLESTR lp) { return lp; } inline LPWSTR T2W_EX( LPTSTR lp, UINT) { return lp; } inline LPWSTR T2W_EX_DEF( LPTSTR lp) { return lp; } inline LPTSTR W2T_EX( LPWSTR lp, UINT) { return lp; } inline LPTSTR W2T_DEF( LPWSTR lp) { return lp; } inline LPCWSTR T2CW_EX( LPCTSTR lp, UINT) { return lp; } inline LPCWSTR T2CW_EX_DEF( LPCTSTR lp) { return lp; } inline LPCTSTR W2CT_EX( LPCWSTR lp, UINT) { return lp; } inline LPCTSTR W2CT_EX_DEF( LPCWSTR lp) { return lp; } inline LPWSTR T2W( LPTSTR lp) { return lp; } inline LPTSTR W2T( LPWSTR lp) { return lp; } inline LPCWSTR T2CW( LPCTSTR lp) { return lp; } inline LPCTSTR W2CT( LPCWSTR lp) { return lp; } __pragma(warning(push)) __pragma(warning(disable: 6103)) inline BSTR A2WBSTR( LPCSTR lp, int nLen = -1) { if (lp == 0 || nLen == 0) return 0; int _convert_ex; (_convert_ex); UINT _acp_ex = ATL::_AtlGetConversionACP(); (_acp_ex); LPCWSTR _lpw_ex; (_lpw_ex); LPCSTR _lpa_ex; (_lpa_ex); ATL::_ATL_SAFE_ALLOCA_IMPL::CAtlSafeAllocBufferManager _AtlSafeAllocaManager; BSTR str = 0; int nConvertedLen = MultiByteToWideChar(_acp_ex, 0, lp, nLen, 0, 0); int nAllocLen = nConvertedLen; if (nLen == -1) nAllocLen -= 1; str = ::SysAllocStringLen(0, nAllocLen); if (str != 0) { int nResult; nResult = MultiByteToWideChar(_acp_ex, 0, lp, nLen, str, nConvertedLen); ((void)0); if (nResult != nConvertedLen) { __pragma(warning(push)) __pragma(warning(disable: 6102)) SysFreeString(str); __pragma(warning(pop)) return 0; } } return str; } __pragma(warning(pop)) inline BSTR OLE2BSTR( LPCOLESTR lp) { return ::SysAllocString(lp); } inline BSTR T2BSTR_EX( LPCTSTR lp) { return ::SysAllocString(lp); } inline BSTR A2BSTR_EX( LPCSTR lp) { return A2WBSTR(lp); } inline BSTR W2BSTR_EX( LPCWSTR lp) { return ::SysAllocString(lp); } inline BSTR T2BSTR( LPCTSTR lp) { return ::SysAllocString(lp); } inline BSTR A2BSTR( LPCSTR lp) { return A2WBSTR(lp); } inline BSTR W2BSTR( LPCWSTR lp) { return ::SysAllocString(lp); } inline LPDEVMODEW AtlDevModeA2W( LPDEVMODEW lpDevModeW, const DEVMODEA* lpDevModeA) { int _convert_ex; (_convert_ex); UINT _acp_ex = ATL::_AtlGetConversionACP(); (_acp_ex); LPCWSTR _lpw_ex; (_lpw_ex); LPCSTR _lpa_ex; (_lpa_ex); ATL::_ATL_SAFE_ALLOCA_IMPL::CAtlSafeAllocBufferManager _AtlSafeAllocaManager; ((void)0); if (lpDevModeA == 0 || lpDevModeW == 0) { return 0; } AtlA2WHelper(lpDevModeW->dmDeviceName, (LPCSTR)lpDevModeA->dmDeviceName, 32, _acp_ex); if(0 != memcpy_s(&lpDevModeW->dmSpecVersion, ((::size_t)&reinterpret_cast((((DEVMODEW*)0)->dmFormName))) - ((::size_t)&reinterpret_cast((((DEVMODEW*)0)->dmSpecVersion))), &lpDevModeA->dmSpecVersion, ((::size_t)&reinterpret_cast((((DEVMODEW*)0)->dmFormName))) - ((::size_t)&reinterpret_cast((((DEVMODEW*)0)->dmSpecVersion))))) { return 0; } AtlA2WHelper(lpDevModeW->dmFormName, (LPCSTR)lpDevModeA->dmFormName, 32, _acp_ex); if(0 != memcpy_s(&lpDevModeW->dmLogPixels, sizeof(DEVMODEW) - ((::size_t)&reinterpret_cast((((DEVMODEW*)0)->dmLogPixels))), &lpDevModeA->dmLogPixels, sizeof(DEVMODEW) - ((::size_t)&reinterpret_cast((((DEVMODEW*)0)->dmLogPixels))))) { return 0; } if (lpDevModeA->dmDriverExtra != 0) { #pragma warning(push) #pragma warning(disable:26000) if(0 != memcpy_s(lpDevModeW+1, lpDevModeA->dmDriverExtra, lpDevModeA+1, lpDevModeA->dmDriverExtra)) { return 0; } #pragma warning(pop) } lpDevModeW->dmSize = sizeof(DEVMODEW); return lpDevModeW; } inline LPTEXTMETRICW AtlTextMetricA2W( LPTEXTMETRICW lptmW, LPTEXTMETRICA lptmA) { int _convert_ex; (_convert_ex); UINT _acp_ex = ATL::_AtlGetConversionACP(); (_acp_ex); LPCWSTR _lpw_ex; (_lpw_ex); LPCSTR _lpa_ex; (_lpa_ex); ATL::_ATL_SAFE_ALLOCA_IMPL::CAtlSafeAllocBufferManager _AtlSafeAllocaManager; ((void)0); if (lptmA == 0 || lptmW == 0) return 0; if(0 != memcpy_s(lptmW, sizeof(LONG) * 11, lptmA, sizeof(LONG) * 11)) { return 0; } if(0 != memcpy_s(&lptmW->tmItalic, sizeof(BYTE) * 5, &lptmA->tmItalic, sizeof(BYTE) * 5)) { return 0; } if(MultiByteToWideChar(_acp_ex, 0, (LPCSTR)&lptmA->tmFirstChar, 1, &lptmW->tmFirstChar, 1) == 0) { ((void)0); return 0; } if(MultiByteToWideChar(_acp_ex, 0, (LPCSTR)&lptmA->tmLastChar, 1, &lptmW->tmLastChar, 1) == 0) { ((void)0); return 0; } if(MultiByteToWideChar(_acp_ex, 0, (LPCSTR)&lptmA->tmDefaultChar, 1, &lptmW->tmDefaultChar, 1)== 0) { ((void)0); return 0; } if(MultiByteToWideChar(_acp_ex, 0, (LPCSTR)&lptmA->tmBreakChar, 1, &lptmW->tmBreakChar, 1) == 0) { ((void)0); return 0; } return lptmW; } inline LPTEXTMETRICA AtlTextMetricW2A( LPTEXTMETRICA lptmA, LPTEXTMETRICW lptmW) { int _convert_ex; (_convert_ex); UINT _acp_ex = ATL::_AtlGetConversionACP(); (_acp_ex); LPCWSTR _lpw_ex; (_lpw_ex); LPCSTR _lpa_ex; (_lpa_ex); ATL::_ATL_SAFE_ALLOCA_IMPL::CAtlSafeAllocBufferManager _AtlSafeAllocaManager; ((void)0); if (lptmW == 0 || lptmA == 0) { return 0; } if(0 != memcpy_s(lptmA, sizeof(LONG) * 11, lptmW, sizeof(LONG) * 11)) { return 0; } if(0 != memcpy_s(&lptmA->tmItalic, sizeof(BYTE) * 5, &lptmW->tmItalic, sizeof(BYTE) * 5)) { return 0; } if(WideCharToMultiByte(_acp_ex, 0, &lptmW->tmFirstChar, 1, (LPSTR)&lptmA->tmFirstChar, 1, 0, 0) == 0) { ((void)0); return 0; } if(WideCharToMultiByte(_acp_ex, 0, &lptmW->tmLastChar, 1, (LPSTR)&lptmA->tmLastChar, 1, 0, 0) == 0) { ((void)0); return 0; } if(WideCharToMultiByte(_acp_ex, 0, &lptmW->tmDefaultChar, 1, (LPSTR)&lptmA->tmDefaultChar, 1, 0, 0) == 0) { ((void)0); return 0; } if(WideCharToMultiByte(_acp_ex, 0, &lptmW->tmBreakChar, 1, (LPSTR)&lptmA->tmBreakChar, 1, 0, 0) == 0) { ((void)0); return 0; } return lptmA; } inline LPDEVMODEW DEVMODEOLE2T_EX( LPDEVMODEW lp) { return lp; } inline LPDEVMODEW DEVMODET2OLE_EX( LPDEVMODEW lp) { return lp; } inline LPTEXTMETRICW TEXTMETRICOLE2T_EX( LPTEXTMETRICW lp) { return lp; } inline LPTEXTMETRICW TEXTMETRICT2OLE_EX( LPTEXTMETRICW lp) { return lp; } inline LPDEVMODEW DEVMODEOLE2T( LPDEVMODEW lp) { return lp; } inline LPDEVMODEW DEVMODET2OLE( LPDEVMODEW lp) { return lp; } inline LPTEXTMETRICW TEXTMETRICOLE2T( LPTEXTMETRICW lp) { return lp; } inline LPTEXTMETRICW TEXTMETRICT2OLE( LPTEXTMETRICW lp) { return lp; } #pragma pack(pop) inline __declspec(nothrow) LPDEVMODEA __stdcall AtlDevModeW2A( LPDEVMODEA lpDevModeA, const DEVMODEW* lpDevModeW) { int _convert_ex; (_convert_ex); UINT _acp_ex = ATL::_AtlGetConversionACP(); (_acp_ex); LPCWSTR _lpw_ex; (_lpw_ex); LPCSTR _lpa_ex; (_lpa_ex); ATL::_ATL_SAFE_ALLOCA_IMPL::CAtlSafeAllocBufferManager _AtlSafeAllocaManager; ((void)0); if (lpDevModeW == 0 || lpDevModeA == 0) return 0; AtlW2AHelper((LPSTR)lpDevModeA->dmDeviceName, lpDevModeW->dmDeviceName, 32, _acp_ex); if(0 != memcpy_s(&lpDevModeA->dmSpecVersion, ((::size_t)&reinterpret_cast((((DEVMODEA*)0)->dmFormName))) - ((::size_t)&reinterpret_cast((((DEVMODEA*)0)->dmSpecVersion))), &lpDevModeW->dmSpecVersion, ((::size_t)&reinterpret_cast((((DEVMODEA*)0)->dmFormName))) - ((::size_t)&reinterpret_cast((((DEVMODEA*)0)->dmSpecVersion))))) { return 0; } AtlW2AHelper((LPSTR)lpDevModeA->dmFormName, lpDevModeW->dmFormName, 32, _acp_ex); if(0 != memcpy_s(&lpDevModeA->dmLogPixels, sizeof(DEVMODEA) - ((::size_t)&reinterpret_cast((((DEVMODEA*)0)->dmLogPixels))), &lpDevModeW->dmLogPixels, sizeof(DEVMODEA) - ((::size_t)&reinterpret_cast((((DEVMODEA*)0)->dmLogPixels))))) { return 0; } if (lpDevModeW->dmDriverExtra != 0) { #pragma warning(push) #pragma warning(disable:26000) if(0 != memcpy_s(lpDevModeA+1, lpDevModeW->dmDriverExtra, lpDevModeW+1, lpDevModeW->dmDriverExtra)) { return 0; } #pragma warning(pop) } lpDevModeA->dmSize = sizeof(DEVMODEA); return lpDevModeA; } #pragma warning (pop) #pragma pack(push,8) namespace ATL { template class CTraceCategoryEx { public: enum { TraceGeneral = 0x000001, TraceCom = 0x000002, TraceQI = 0x000004, TraceRegistrar = 0x000008, TraceRefcount = 0x000010, TraceWindowing = 0x000020, TraceControls = 0x000040, TraceHosting = 0x000080, TraceDBClient = 0x000100, TraceDBProvider = 0x000200, TraceSnapin = 0x000400, TraceNotImpl = 0x000800, TraceAllocation = 0x001000, TraceException = 0x002000, TraceTime = 0x004000, TraceCache = 0x008000, TraceStencil = 0x010000, TraceString = 0x020000, TraceMap = 0x040000, TraceUtil = 0x080000, TraceSecurity = 0x100000, TraceSync = 0x200000, TraceISAPI = 0x400000, TraceUser = 0x80000 } TraceCategories; explicit CTraceCategoryEx( LPCTSTR pszCategoryName = nullptr) throw(); operator unsigned int() throw() { return 0; } }; class CTraceCategory : public CTraceCategoryEx<> { public: CTraceCategory( LPCTSTR pszCategoryName = nullptr) : CTraceCategoryEx(pszCategoryName) { } }; __declspec(selectany) CTraceCategoryEx::TraceGeneral> atlTraceGeneral(L"atlTraceGeneral"); __declspec(selectany) CTraceCategoryEx::TraceCom> atlTraceCOM(L"atlTraceCOM"); __declspec(selectany) CTraceCategoryEx::TraceQI> atlTraceQI(L"atlTraceQI"); __declspec(selectany) CTraceCategoryEx::TraceRegistrar> atlTraceRegistrar(L"atlTraceRegistrar"); __declspec(selectany) CTraceCategoryEx::TraceRefcount> atlTraceRefcount(L"atlTraceRefcount"); __declspec(selectany) CTraceCategoryEx::TraceWindowing> atlTraceWindowing(L"atlTraceWindowing"); __declspec(selectany) CTraceCategoryEx::TraceControls> atlTraceControls(L"atlTraceControls"); __declspec(selectany) CTraceCategoryEx::TraceHosting> atlTraceHosting(L"atlTraceHosting"); __declspec(selectany) CTraceCategoryEx::TraceDBClient> atlTraceDBClient(L"atlTraceDBClient"); __declspec(selectany) CTraceCategoryEx::TraceDBProvider> atlTraceDBProvider(L"atlTraceDBProvider"); __declspec(selectany) CTraceCategoryEx::TraceSnapin> atlTraceSnapin(L"atlTraceSnapin"); __declspec(selectany) CTraceCategoryEx::TraceNotImpl> atlTraceNotImpl(L"atlTraceNotImpl"); __declspec(selectany) CTraceCategoryEx::TraceAllocation> atlTraceAllocation(L"atlTraceAllocation"); __declspec(selectany) CTraceCategoryEx::TraceException> atlTraceException(L"atlTraceException"); __declspec(selectany) CTraceCategoryEx::TraceTime> atlTraceTime(L"atlTraceTime"); __declspec(selectany) CTraceCategoryEx::TraceCache> atlTraceCache(L"atlTraceCache"); __declspec(selectany) CTraceCategoryEx::TraceStencil> atlTraceStencil(L"atlTraceStencil"); __declspec(selectany) CTraceCategoryEx::TraceString> atlTraceString(L"atlTraceString"); __declspec(selectany) CTraceCategoryEx::TraceMap> atlTraceMap(L"atlTraceMap"); __declspec(selectany) CTraceCategoryEx::TraceUtil> atlTraceUtil(L"atlTraceUtil"); __declspec(selectany) CTraceCategoryEx::TraceSecurity> atlTraceSecurity(L"atlTraceSecurity"); __declspec(selectany) CTraceCategoryEx::TraceSync> atlTraceSync(L"atlTraceSync"); __declspec(selectany) CTraceCategoryEx::TraceISAPI> atlTraceISAPI(L"atlTraceISAPI"); inline bool IsTracingEnabled( DWORD_PTR, UINT) { return false; } template inline CTraceCategoryEx::CTraceCategoryEx( LPCTSTR pszCategoryName) throw() { (void)pszCategoryName; } #pragma warning(push) #pragma warning(disable : 4793) inline void __cdecl AtlTraceNull(...) { } inline void __cdecl AtlTrace( LPCSTR, ...) { } inline void __cdecl AtlTrace2( DWORD_PTR, UINT, LPCSTR, ...) { } inline void __cdecl AtlTrace( LPCWSTR, ...) { } inline void __cdecl AtlTrace2( DWORD_PTR, UINT, LPCWSTR, ...) { } #pragma warning(pop) }; #pragma pack(pop) #pragma pack(push,8) namespace ATL { inline void __declspec(noreturn) _AtlRaiseException( DWORD dwExceptionCode, DWORD dwExceptionFlags = 0x1) { RaiseException( dwExceptionCode, dwExceptionFlags, 0, 0 ); } class CAtlException { public: CAtlException() throw() : m_hr( ((HRESULT)0x80004005L) ) { } CAtlException( HRESULT hr) throw() : m_hr( hr ) { } operator HRESULT() const throw() { return( m_hr ); } public: HRESULT m_hr; }; __declspec( noinline ) __declspec(noreturn) inline void __stdcall AtlThrowImpl( HRESULT hr) { __noop(atlTraceException, 0, L"AtlThrow: hr = 0x%x\n", hr ); if( hr == ((HRESULT)0x8007000EL) ) { AfxThrowMemoryException(); } else { AfxThrowOleException( hr ); } }; __declspec( noinline ) __declspec(noreturn) inline void __stdcall AtlThrowLastWin32() { DWORD dwError = ::GetLastError(); ATL::AtlThrowImpl( HRESULT_FROM_WIN32( dwError ) ); } }; #pragma pack(pop) #pragma pack(push,8) namespace ATL { inline errno_t AtlCrtErrorCheck( errno_t nError) { switch(nError) { case 12: ATL::AtlThrowImpl(((HRESULT)0x8007000EL)); break; case 22: case 34: ATL::AtlThrowImpl(((HRESULT)0x80070057L)); break; case 0: case 80: break; default: ATL::AtlThrowImpl(((HRESULT)0x80004005L)); break; } return nError; } namespace Checked { inline void __cdecl memcpy_s( void *_S1, size_t _S1max, const void *_S2, size_t _N) { AfxCrtErrorCheck(::memcpy_s(_S1, _S1max, _S2, _N)); } inline void __cdecl wmemcpy_s( wchar_t *_S1, size_t _N1, const wchar_t *_S2, size_t _N) { AfxCrtErrorCheck(::wmemcpy_s(_S1, _N1, _S2, _N)); } inline void __cdecl memmove_s( void *_S1, size_t _S1max, const void *_S2, size_t _N) { AfxCrtErrorCheck(::memmove_s(_S1, _S1max, _S2, _N)); } inline void __cdecl strcpy_s( char *_S1, size_t _S1max, const char *_S2) { AfxCrtErrorCheck(::strcpy_s(_S1, _S1max, _S2)); } inline void __cdecl wcscpy_s( wchar_t *_S1, size_t _S1max, const wchar_t *_S2) { AfxCrtErrorCheck(::wcscpy_s(_S1, _S1max, _S2)); } inline void __cdecl tcscpy_s( TCHAR * _Dst, size_t _SizeInChars, const TCHAR * _Src) { AfxCrtErrorCheck(::wcscpy_s(_Dst, _SizeInChars, _Src)); } inline errno_t __cdecl strncpy_s( char *_Dest, size_t _SizeInChars, const char *_Source, size_t _Count) { return AfxCrtErrorCheck(::strncpy_s(_Dest, _SizeInChars, _Source,_Count)); } inline errno_t __cdecl wcsncpy_s( wchar_t *_Dest, size_t _SizeInChars, const wchar_t *_Source, size_t _Count) { return AfxCrtErrorCheck(::wcsncpy_s(_Dest, _SizeInChars, _Source,_Count)); } inline errno_t __cdecl tcsncpy_s( TCHAR *_Dest, size_t _SizeInChars, const TCHAR *_Source, size_t _Count) { return AfxCrtErrorCheck(::wcsncpy_s(_Dest, _SizeInChars, _Source,_Count)); } inline void __cdecl strcat_s( char * _Dst, size_t _SizeInChars, const char * _Src) { AfxCrtErrorCheck(::strcat_s(_Dst, _SizeInChars, _Src)); } inline void __cdecl wcscat_s( wchar_t * _Dst, size_t _SizeInChars, const wchar_t * _Src) { AfxCrtErrorCheck(::wcscat_s(_Dst, _SizeInChars, _Src)); } inline void __cdecl tcscat_s( TCHAR * _Dst, size_t _SizeInChars, const TCHAR * _Src) { AfxCrtErrorCheck(::wcscat_s(_Dst, _SizeInChars, _Src)); } inline void __cdecl strlwr_s( char * _Str, size_t _SizeInChars) { AfxCrtErrorCheck(::_strlwr_s(_Str, _SizeInChars)); } inline void __cdecl wcslwr_s( wchar_t * _Str, size_t _SizeInChars) { AfxCrtErrorCheck(::_wcslwr_s(_Str, _SizeInChars)); } inline void __cdecl mbslwr_s( unsigned char * _Str, size_t _SizeInChars) { AfxCrtErrorCheck(::_mbslwr_s(_Str, _SizeInChars)); } inline void __cdecl tcslwr_s( TCHAR * _Str, size_t _SizeInChars) { AfxCrtErrorCheck(::_wcslwr_s(_Str, _SizeInChars)); } inline void __cdecl strupr_s( char * _Str, size_t _SizeInChars) { AfxCrtErrorCheck(::_strupr_s(_Str, _SizeInChars)); } inline void __cdecl wcsupr_s( wchar_t * _Str, size_t _SizeInChars) { AfxCrtErrorCheck(::_wcsupr_s(_Str, _SizeInChars)); } inline void __cdecl mbsupr_s( unsigned char * _Str, size_t _SizeInChars) { AfxCrtErrorCheck(::_mbsupr_s(_Str, _SizeInChars)); } inline void __cdecl tcsupr_s( TCHAR * _Str, size_t _SizeInChars) { AfxCrtErrorCheck(::_wcsupr_s(_Str, _SizeInChars)); } inline void __cdecl itoa_s( int _Val, char *_Buf, size_t _SizeInChars, int _Radix) { AfxCrtErrorCheck(::_itoa_s(_Val, _Buf, _SizeInChars, _Radix)); } inline void __cdecl itot_s( int _Val, TCHAR *_Buf, size_t _SizeInChars, int _Radix) { AfxCrtErrorCheck(::_itow_s(_Val, _Buf, _SizeInChars, _Radix)); } inline void __cdecl ltoa_s( long _Val, char *_Buf, size_t _SizeInChars, int _Radix) { AfxCrtErrorCheck(::_ltoa_s(_Val, _Buf, _SizeInChars, _Radix)); } inline void __cdecl ltot_s( long _Val, TCHAR *_Buf, size_t _SizeInChars, int _Radix) { AfxCrtErrorCheck(::_ltow_s(_Val, _Buf, _SizeInChars, _Radix)); } inline void __cdecl ultoa_s( unsigned long _Val, char *_Buf, size_t _SizeInChars, int _Radix) { AfxCrtErrorCheck(::_ultoa_s(_Val, _Buf, _SizeInChars, _Radix)); } inline void __cdecl ultow_s( unsigned long _Val, wchar_t *_Buf, size_t _SizeInChars, int _Radix) { AfxCrtErrorCheck(::_ultow_s(_Val, _Buf, _SizeInChars, _Radix)); } inline void __cdecl ultot_s( unsigned long _Val, TCHAR *_Buf, size_t _SizeInChars, int _Radix) { AfxCrtErrorCheck(::_ultow_s(_Val, _Buf, _SizeInChars, _Radix)); } inline void __cdecl i64toa_s( __int64 _Val, char *_Buf, size_t _SizeInChars, int _Radix) { AfxCrtErrorCheck(::_i64toa_s(_Val, _Buf, _SizeInChars, _Radix)); } inline void __cdecl i64tow_s( __int64 _Val, wchar_t *_Buf, size_t _SizeInChars, int _Radix) { AfxCrtErrorCheck(::_i64tow_s(_Val, _Buf, _SizeInChars, _Radix)); } inline void __cdecl ui64toa_s( unsigned __int64 _Val, char *_Buf, size_t _SizeInChars, int _Radix) { AfxCrtErrorCheck(::_ui64toa_s(_Val, _Buf, _SizeInChars, _Radix)); } inline void __cdecl ui64tow_s( unsigned __int64 _Val, wchar_t *_Buf, size_t _SizeInChars, int _Radix) { AfxCrtErrorCheck(::_ui64tow_s(_Val, _Buf, _SizeInChars, _Radix)); } inline void __cdecl gcvt_s( char *_Buffer, size_t _SizeInChars, double _Value, int _Ndec) { AfxCrtErrorCheck(::_gcvt_s(_Buffer, _SizeInChars, _Value, _Ndec)); } inline void __cdecl tsplitpath_s( const TCHAR *_Path, TCHAR *_Drive, size_t _Drive_len, TCHAR *_Dir, size_t _Dir_len, TCHAR *_Fname, size_t _Fname_len, TCHAR *_Ext, size_t _Ext_len) { AfxCrtErrorCheck(::_wsplitpath_s(_Path, _Drive, _Drive_len, _Dir, _Dir_len, _Fname, _Fname_len, _Ext, _Ext_len)); } inline void __cdecl tmakepath_s( TCHAR *_Path, size_t _SizeInChars, const TCHAR *_Drive, const TCHAR *_Dir, const TCHAR *_Fname, const TCHAR *_Ext) { AfxCrtErrorCheck(::_wmakepath_s(_Path, _SizeInChars, _Drive, _Dir, _Fname, _Ext)); } inline size_t __cdecl strnlen( const char *_Str, size_t _Maxsize) { return ::strnlen(_Str, _Maxsize); } inline size_t __cdecl wcsnlen( const wchar_t *_Wcs, size_t _Maxsize) { return ::wcsnlen(_Wcs, _Maxsize); } inline size_t __cdecl tcsnlen( const TCHAR *_Str, size_t _Maxsize) { return ::wcsnlen(_Str, _Maxsize); } inline int get_errno() throw() { int nErrNo=0; errno_t nErrCall=::_get_errno(&nErrNo); if(nErrCall) { return nErrCall; } return nErrNo; } inline void set_errno( int _Value) { AfxCrtErrorCheck(::_set_errno(_Value)); } } } #pragma pack(pop) #pragma once #pragma warning(push) #pragma warning(disable: 4800) #pragma pack(push,8) namespace ATL { __pragma(warning(push)) __pragma(warning(disable: 6319)) template class CSimpleArrayEqualHelper { public: static bool IsEqual( const T& t1, const T& t2) { return (t1 == t2); } }; __pragma(warning(pop)) template class CSimpleArrayEqualHelperFalse { public: static bool IsEqual( const T&, const T&) { ((void)0); return false; } }; template class CSimpleMapEqualHelper { public: static bool IsEqualKey( const TKey& k1, const TKey& k2) { return CSimpleArrayEqualHelper::IsEqual(k1, k2); } static bool IsEqualValue( const TVal& v1, const TVal& v2) { return CSimpleArrayEqualHelper::IsEqual(v1, v2); } }; template class CSimpleMapEqualHelperFalse { public: static bool IsEqualKey( const TKey& k1, const TKey& k2) { return CSimpleArrayEqualHelper::IsEqual(k1, k2); } static bool IsEqualValue( const TVal&, const TVal&) { ((void)0); return false; } }; template > class CSimpleArray { public: CSimpleArray() : m_aT(0), m_nSize(0), m_nAllocSize(0) { } ~CSimpleArray(); CSimpleArray( const CSimpleArray< T, TEqual >& src) : m_aT(0), m_nSize(0), m_nAllocSize(0) { if (src.GetSize()) { m_aT = (T*)calloc(src.GetSize(), sizeof(T)); if (m_aT != 0) { m_nAllocSize = src.GetSize(); for (int i=0; i& operator=( const CSimpleArray< T, TEqual >& src) { if (GetSize() != src.GetSize()) { RemoveAll(); m_aT = (T*)calloc(src.GetSize(), sizeof(T)); if (m_aT != 0) m_nAllocSize = src.GetSize(); } else { for (int i = GetSize(); i > 0; i--) RemoveAt(i - 1); } for (int i=0; i= (m_aT + m_nAllocSize) )); do { ((void)0); ; } __pragma(warning(suppress:4127)) while (0); if(!(__atl_condVal)) ATL::AtlThrowImpl(((HRESULT)0x80004005L)); } __pragma(warning(suppress:4127)) while (0); T* aT; int nNewAllocSize = (m_nAllocSize == 0) ? 1 : (m_nSize * 2); if (nNewAllocSize<0||nNewAllocSize>2147483647/sizeof(T)) { return 0; } aT = (T*)_recalloc(m_aT, nNewAllocSize, sizeof(T)); if(aT == 0) return 0; m_nAllocSize = nNewAllocSize; m_aT = aT; } InternalSetAtIndex(m_nSize, t); m_nSize++; return 1; } BOOL Remove( const T& t) { int nIndex = Find(t); if(nIndex == -1) return 0; return RemoveAt(nIndex); } BOOL RemoveAt( int nIndex) { ((void)0); if (nIndex < 0 || nIndex >= m_nSize) return 0; m_aT[nIndex].~T(); if(nIndex != (m_nSize - 1)) Checked::memmove_s((void*)(m_aT + nIndex), (m_nSize - nIndex) * sizeof(T), (void*)(m_aT + nIndex + 1), (m_nSize - (nIndex + 1)) * sizeof(T)); m_nSize--; return 1; } void RemoveAll() { if(m_aT != 0) { for(int i = 0; i < m_nSize; i++) m_aT[i].~T(); free(m_aT); m_aT = 0; } m_nSize = 0; m_nAllocSize = 0; } const T& operator[] ( int nIndex) const { ((void)0); if(nIndex < 0 || nIndex >= m_nSize) { _AtlRaiseException((DWORD)((DWORD )0xC000008CL)); } return m_aT[nIndex]; } T& operator[] ( int nIndex) { ((void)0); if(nIndex < 0 || nIndex >= m_nSize) { _AtlRaiseException((DWORD)((DWORD )0xC000008CL)); } return m_aT[nIndex]; } T* GetData() const { return m_aT; } int Find( const T& t) const { for(int i = 0; i < m_nSize; i++) { if(TEqual::IsEqual(m_aT[i], t)) return i; } return -1; } BOOL SetAtIndex( int nIndex, const T& t) { if (nIndex < 0 || nIndex >= m_nSize) return 0; InternalSetAtIndex(nIndex, t); return 1; } class Wrapper { public: Wrapper( const T& _t) : t(_t) { } template void * __cdecl operator new( size_t, _Ty* p) { return p; } template void __cdecl operator delete( void* , _Ty* ) { } T t; }; void InternalSetAtIndex( int nIndex, const T& t) { new(m_aT + nIndex) Wrapper(t); } typedef T _ArrayElementType; T* m_aT; int m_nSize; int m_nAllocSize; }; template inline CSimpleArray::~CSimpleArray() { RemoveAll(); } template > class CSimpleMap { public: TKey* m_aKey; TVal* m_aVal; int m_nSize; typedef TKey _ArrayKeyType; typedef TVal _ArrayElementType; CSimpleMap() : m_aKey(0), m_aVal(0), m_nSize(0) { } ~CSimpleMap() { RemoveAll(); } int GetSize() const { return m_nSize; } BOOL Add( const TKey& key, const TVal& val) { TKey* pKey; pKey = (TKey*)_recalloc(m_aKey, (m_nSize + 1), sizeof(TKey)); if(pKey == 0) return 0; m_aKey = pKey; TVal* pVal; pVal = (TVal*)_recalloc(m_aVal, (m_nSize + 1), sizeof(TVal)); if(pVal == 0) return 0; m_aVal = pVal; InternalSetAtIndex(m_nSize, key, val); m_nSize++; return 1; } BOOL Remove( const TKey& key) { int nIndex = FindKey(key); if(nIndex == -1) return 0; return RemoveAt(nIndex); } BOOL RemoveAt( int nIndex) { ((void)0); if (nIndex < 0 || nIndex >= m_nSize) return 0; m_aKey[nIndex].~TKey(); m_aVal[nIndex].~TVal(); if(nIndex != (m_nSize - 1)) { Checked::memmove_s((void*)(m_aKey + nIndex), (m_nSize - nIndex) * sizeof(TKey), (void*)(m_aKey + nIndex + 1), (m_nSize - (nIndex + 1)) * sizeof(TKey)); Checked::memmove_s((void*)(m_aVal + nIndex), (m_nSize - nIndex) * sizeof(TVal), (void*)(m_aVal + nIndex + 1), (m_nSize - (nIndex + 1)) * sizeof(TVal)); } TKey* pKey; pKey = (TKey*)_recalloc(m_aKey, (m_nSize - 1), sizeof(TKey)); if(pKey != 0 || m_nSize == 1) m_aKey = pKey; TVal* pVal; pVal = (TVal*)_recalloc(m_aVal, (m_nSize - 1), sizeof(TVal)); if(pVal != 0 || m_nSize == 1) m_aVal = pVal; m_nSize--; return 1; } void RemoveAll() { if(m_aKey != 0) { for(int i = 0; i < m_nSize; i++) { m_aKey[i].~TKey(); m_aVal[i].~TVal(); } free(m_aKey); m_aKey = 0; } if(m_aVal != 0) { free(m_aVal); m_aVal = 0; } m_nSize = 0; } BOOL SetAt( const TKey& key, const TVal& val) { int nIndex = FindKey(key); if(nIndex == -1) return 0; ((void)0); m_aKey[nIndex].~TKey(); m_aVal[nIndex].~TVal(); InternalSetAtIndex(nIndex, key, val); return 1; } TVal Lookup( const TKey& key) const { int nIndex = FindKey(key); if(nIndex == -1) return 0; return GetValueAt(nIndex); } TKey ReverseLookup( const TVal& val) const { int nIndex = FindVal(val); if(nIndex == -1) return 0; return GetKeyAt(nIndex); } TKey& GetKeyAt( int nIndex) const { ((void)0); if(nIndex < 0 || nIndex >= m_nSize) _AtlRaiseException((DWORD)((DWORD )0xC000008CL)); return m_aKey[nIndex]; } TVal& GetValueAt( int nIndex) const { ((void)0); if(nIndex < 0 || nIndex >= m_nSize) _AtlRaiseException((DWORD)((DWORD )0xC000008CL)); return m_aVal[nIndex]; } int FindKey( const TKey& key) const { for(int i = 0; i < m_nSize; i++) { if(TEqual::IsEqualKey(m_aKey[i], key)) return i; } return -1; } int FindVal( const TVal& val) const { for(int i = 0; i < m_nSize; i++) { if(TEqual::IsEqualValue(m_aVal[i], val)) return i; } return -1; } BOOL SetAtIndex( int nIndex, const TKey& key, const TVal& val) { if (nIndex < 0 || nIndex >= m_nSize) return 0; InternalSetAtIndex(nIndex, key, val); return 1; } template class Wrapper { public: Wrapper( const T& _t) : t(_t) { } template void *operator new( size_t, _Ty* p) { return p; } template void operator delete( void* , _Ty* ) { } T t; }; void InternalSetAtIndex( int nIndex, const TKey& key, const TVal& val) { new(m_aKey + nIndex) Wrapper(key); new(m_aVal + nIndex) Wrapper(val); } }; }; #pragma pack(pop) #pragma warning(pop) #pragma once #pragma warning(disable: 4786) #pragma warning(disable: 4127) #pragma warning(disable: 4949) #pragma pack(push,8) namespace ATL { inline int __cdecl _AtlLCMapStringEx( LPCWSTR lpLocaleName, DWORD dwMapFlags, LPCWSTR lpSrcStr, int cchSrc, LPWSTR lpDestStr, int cchDest, LPNLSVERSIONINFO lpVersionInformation, LPVOID lpReserved, LPARAM sortHandle) { return LCMapStringEx(lpLocaleName, dwMapFlags, lpSrcStr, cchSrc, lpDestStr, cchDest, lpVersionInformation, lpReserved, sortHandle); } #pragma managed(push, off) extern inline BOOL __cdecl _AtlInitializeCriticalSectionEx( LPCRITICAL_SECTION lpCriticalSection, DWORD dwSpinCount, DWORD Flags) { return ::InitializeCriticalSectionEx(lpCriticalSection, dwSpinCount, Flags); } #pragma managed(pop) } #pragma pack(pop) #pragma once #pragma once #pragma once #pragma once #pragma once #pragma once #pragma pack(push, 8) #pragma warning(push, 3) #pragma warning(disable : 4180 4412 4455 4472 4494 4514 4571 4574 4582 4583 4587 4588 4619 4623 4625 4626 4643 4702 4793 4820 4988 5026 5027 5045 4984 5053) namespace std { template struct integral_constant { static constexpr _Ty value = _Val; using value_type = _Ty; using type = integral_constant; constexpr operator value_type() const noexcept { return value; } [[nodiscard]] constexpr value_type operator()() const noexcept { return value; } }; template using bool_constant = integral_constant; using true_type = bool_constant; using false_type = bool_constant; template struct enable_if {}; template struct enable_if { using type = _Ty; }; template using enable_if_t = typename enable_if<_Test, _Ty>::type; template struct conditional { using type = _Ty1; }; template struct conditional { using type = _Ty2; }; template using conditional_t = typename conditional<_Test, _Ty1, _Ty2>::type; template constexpr bool is_same_v = false; template constexpr bool is_same_v<_Ty, _Ty> = true; template struct is_same : bool_constant> {}; template struct remove_const { using type = _Ty; }; template struct remove_const { using type = _Ty; }; template using remove_const_t = typename remove_const<_Ty>::type; template struct remove_volatile { using type = _Ty; }; template struct remove_volatile { using type = _Ty; }; template using remove_volatile_t = typename remove_volatile<_Ty>::type; template struct remove_cv { using type = _Ty; template