c2b7a98c21 2011-02-23 kinaba: module win32.winnt; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // Translated from Microsoft Platform SDK August 2001 Edition c2b7a98c21 2011-02-23 kinaba: // by Y.Tomino (demoonlit@inter7.jp) c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: import win32.windef; c2b7a98c21 2011-02-23 kinaba: alias void _TEB; c2b7a98c21 2011-02-23 kinaba: alias void _EXCEPTION_REGISTRATION_RECORD; c2b7a98c21 2011-02-23 kinaba: private extern(C) { c2b7a98c21 2011-02-23 kinaba: int memcmp(void*, void*, uint); c2b7a98c21 2011-02-23 kinaba: void* memmove(void*, void*, uint); c2b7a98c21 2011-02-23 kinaba: void* memcpy(void*, void*, uint); c2b7a98c21 2011-02-23 kinaba: void* memset(void*, uint, uint); c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #ifndef _WINNT_ c2b7a98c21 2011-02-23 kinaba: // #define _WINNT_ c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #ifdef __cplusplus c2b7a98c21 2011-02-23 kinaba: // extern "C" { c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #include <ctype.h> c2b7a98c21 2011-02-23 kinaba: enum : uint { ANYSIZE_ARRAY = 1 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #if defined(_M_MRX000) && !(defined(MIDL_PASS) || defined(RC_INVOKED)) && defined(ENABLE_RESTRICTED) c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #else c2b7a98c21 2011-02-23 kinaba: // #define RESTRICTED_POINTER c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #if defined(_M_MRX000) || defined(_M_ALPHA) || defined(_M_PPC) || defined(_M_IA64) || defined(_M_AMD64) c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #if defined(_WIN64) c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #else c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: // #else c2b7a98c21 2011-02-23 kinaba: // #define UNALIGNED c2b7a98c21 2011-02-23 kinaba: // #define UNALIGNED64 c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #if defined(_WIN64) || defined(_M_ALPHA) c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #else c2b7a98c21 2011-02-23 kinaba: const uint MAX_NATURAL_ALIGNMENT = DWORD.sizeof; c2b7a98c21 2011-02-23 kinaba: enum : uint { MEMORY_ALLOCATION_ALIGNMENT = 8 } c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #ifdef __cplusplus c2b7a98c21 2011-02-23 kinaba: // #if _MSC_VER >= 1300 c2b7a98c21 2011-02-23 kinaba: // #define TYPE_ALIGNMENT( t ) __alignof(t) c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: // #else c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #if defined(_WIN64) c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #else c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #define PROBE_ALIGNMENT( _s ) TYPE_ALIGNMENT( DWORD ) c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #define C_ASSERT(e) typedef char __C_ASSERT__[(e)?1:-1] c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #if !defined(_MAC) && (defined(_M_MRX000) || defined(_M_AMD64) || defined(_M_IA64)) && (_MSC_VER >= 1100) && !(defined(MIDL_PASS) || defined(RC_INVOKED)) c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: // #if defined(_WIN64) c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #else c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: // #else c2b7a98c21 2011-02-23 kinaba: // #if defined(_MAC) && defined(_MAC_INT_64) c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: // #else c2b7a98c21 2011-02-23 kinaba: // #define POINTER_64 c2b7a98c21 2011-02-23 kinaba: alias uint POINTER_64_INT; c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: alias void* POINTER_32; c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #if defined(_IA64_) || defined(_AMD64_) c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #else c2b7a98c21 2011-02-23 kinaba: alias POINTER_32 FIRMWARE_PTR; c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #include <basetsd.h> c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #if (defined(_M_IX86) || defined(_M_IA64) || defined(_M_AMD64)) && !defined(MIDL_PASS) c2b7a98c21 2011-02-23 kinaba: // #define DECLSPEC_IMPORT __declspec(dllimport) c2b7a98c21 2011-02-23 kinaba: // #else c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #ifndef DECLSPEC_NORETURN c2b7a98c21 2011-02-23 kinaba: // #if (_MSC_VER >= 1200) && !defined(MIDL_PASS) c2b7a98c21 2011-02-23 kinaba: // #define DECLSPEC_NORETURN __declspec(noreturn) c2b7a98c21 2011-02-23 kinaba: // #else c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #ifndef DECLSPEC_ALIGN c2b7a98c21 2011-02-23 kinaba: // #if (_MSC_VER >= 1300) && !defined(MIDL_PASS) c2b7a98c21 2011-02-23 kinaba: // #define DECLSPEC_ALIGN(x) __declspec(align(x)) c2b7a98c21 2011-02-23 kinaba: // #else c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #ifndef DECLSPEC_CACHEALIGN c2b7a98c21 2011-02-23 kinaba: // #define DECLSPEC_CACHEALIGN DECLSPEC_ALIGN(128) c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #ifndef DECLSPEC_UUID c2b7a98c21 2011-02-23 kinaba: // #if (_MSC_VER >= 1100) && defined (__cplusplus) c2b7a98c21 2011-02-23 kinaba: // #define DECLSPEC_UUID(x) __declspec(uuid(x)) c2b7a98c21 2011-02-23 kinaba: // #else c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #ifndef DECLSPEC_NOVTABLE c2b7a98c21 2011-02-23 kinaba: // #if (_MSC_VER >= 1100) && defined(__cplusplus) c2b7a98c21 2011-02-23 kinaba: // #define DECLSPEC_NOVTABLE __declspec(novtable) c2b7a98c21 2011-02-23 kinaba: // #else c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #ifndef DECLSPEC_SELECTANY c2b7a98c21 2011-02-23 kinaba: // #if (_MSC_VER >= 1100) c2b7a98c21 2011-02-23 kinaba: // #define DECLSPEC_SELECTANY __declspec(selectany) c2b7a98c21 2011-02-23 kinaba: // #else c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #ifndef NOP_FUNCTION c2b7a98c21 2011-02-23 kinaba: // #if (_MSC_VER >= 1210) c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #else c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #ifndef DECLSPEC_ADDRSAFE c2b7a98c21 2011-02-23 kinaba: // #if (_MSC_VER >= 1200) && (defined(_M_ALPHA) || defined(_M_AXP64)) c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #else c2b7a98c21 2011-02-23 kinaba: // #define DECLSPEC_ADDRSAFE c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #ifndef FORCEINLINE c2b7a98c21 2011-02-23 kinaba: // #if (_MSC_VER >= 1200) c2b7a98c21 2011-02-23 kinaba: // #define FORCEINLINE __forceinline c2b7a98c21 2011-02-23 kinaba: // #else c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #ifndef DECLSPEC_DEPRECATED c2b7a98c21 2011-02-23 kinaba: // #if (_MSC_VER >= 1300) && !defined(MIDL_PASS) c2b7a98c21 2011-02-23 kinaba: // #define DECLSPEC_DEPRECATED __declspec(deprecated) c2b7a98c21 2011-02-23 kinaba: // #define DEPRECATE_SUPPORTED c2b7a98c21 2011-02-23 kinaba: // #else c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: alias void* PVOID; c2b7a98c21 2011-02-23 kinaba: deprecated alias void* PVOID64; /* warning: 64-bit */ c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #if ((_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED)) && !defined(_M_AMD64) c2b7a98c21 2011-02-23 kinaba: // #define NTAPI __stdcall c2b7a98c21 2011-02-23 kinaba: // #else c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #if !defined(_NTSYSTEM_) c2b7a98c21 2011-02-23 kinaba: // #define NTSYSAPI DECLSPEC_IMPORT c2b7a98c21 2011-02-23 kinaba: // #define NTSYSCALLAPI DECLSPEC_IMPORT c2b7a98c21 2011-02-23 kinaba: // #else c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #if defined(_NTDLLBUILD_) c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #else c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #ifndef VOID c2b7a98c21 2011-02-23 kinaba: alias void VOID; c2b7a98c21 2011-02-23 kinaba: alias char CHAR; c2b7a98c21 2011-02-23 kinaba: alias short SHORT; c2b7a98c21 2011-02-23 kinaba: alias int LONG; c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #ifndef _MAC c2b7a98c21 2011-02-23 kinaba: alias wchar WCHAR; c2b7a98c21 2011-02-23 kinaba: // #else c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: alias WCHAR* PWCHAR; c2b7a98c21 2011-02-23 kinaba: alias WCHAR* LPWCH; c2b7a98c21 2011-02-23 kinaba: alias WCHAR* PWCH; c2b7a98c21 2011-02-23 kinaba: alias WCHAR* LPCWCH; c2b7a98c21 2011-02-23 kinaba: alias WCHAR* PCWCH; c2b7a98c21 2011-02-23 kinaba: alias WCHAR* NWPSTR; c2b7a98c21 2011-02-23 kinaba: alias WCHAR* LPWSTR; c2b7a98c21 2011-02-23 kinaba: alias WCHAR* PWSTR; c2b7a98c21 2011-02-23 kinaba: alias WCHAR* LPUWSTR; c2b7a98c21 2011-02-23 kinaba: alias WCHAR* PUWSTR; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: alias WCHAR* LPCWSTR; c2b7a98c21 2011-02-23 kinaba: alias WCHAR* PCWSTR; c2b7a98c21 2011-02-23 kinaba: alias WCHAR* LPCUWSTR; c2b7a98c21 2011-02-23 kinaba: alias WCHAR* PCUWSTR; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: alias CHAR* PCHAR; c2b7a98c21 2011-02-23 kinaba: alias CHAR* LPCH; c2b7a98c21 2011-02-23 kinaba: alias CHAR* PCH; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: alias CHAR* LPCCH; c2b7a98c21 2011-02-23 kinaba: alias CHAR* PCCH; c2b7a98c21 2011-02-23 kinaba: alias CHAR* NPSTR; c2b7a98c21 2011-02-23 kinaba: alias CHAR* LPSTR; c2b7a98c21 2011-02-23 kinaba: alias CHAR* PSTR; c2b7a98c21 2011-02-23 kinaba: alias CHAR* LPCSTR; c2b7a98c21 2011-02-23 kinaba: alias CHAR* PCSTR; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #ifdef UNICODE // r_winnt c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #ifndef _TCHAR_DEFINED c2b7a98c21 2011-02-23 kinaba: alias WCHAR TCHAR; c2b7a98c21 2011-02-23 kinaba: alias WCHAR* PTCHAR; c2b7a98c21 2011-02-23 kinaba: alias WCHAR TBYTE; c2b7a98c21 2011-02-23 kinaba: alias WCHAR* PTBYTE; c2b7a98c21 2011-02-23 kinaba: // #define _TCHAR_DEFINED c2b7a98c21 2011-02-23 kinaba: // #endif /* !_TCHAR_DEFINED */ c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: alias LPWSTR LPTCH; c2b7a98c21 2011-02-23 kinaba: alias LPWSTR PTCH; c2b7a98c21 2011-02-23 kinaba: alias LPWSTR PTSTR; c2b7a98c21 2011-02-23 kinaba: alias LPWSTR LPTSTR; c2b7a98c21 2011-02-23 kinaba: alias LPCWSTR PCTSTR; c2b7a98c21 2011-02-23 kinaba: alias LPCWSTR LPCTSTR; c2b7a98c21 2011-02-23 kinaba: alias LPUWSTR PUTSTR; c2b7a98c21 2011-02-23 kinaba: alias LPUWSTR LPUTSTR; c2b7a98c21 2011-02-23 kinaba: alias LPCUWSTR PCUTSTR; c2b7a98c21 2011-02-23 kinaba: alias LPCUWSTR LPCUTSTR; c2b7a98c21 2011-02-23 kinaba: alias LPWSTR LP; c2b7a98c21 2011-02-23 kinaba: // #define __TEXT(quote) L##quote c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #else /* UNICODE */ // r_winnt c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #ifndef _TCHAR_DEFINED c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #endif /* !_TCHAR_DEFINED */ c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #endif /* UNICODE */ // r_winnt c2b7a98c21 2011-02-23 kinaba: TCHAR[] TEXT(TCHAR[] quote){ return quote; } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: alias SHORT* PSHORT; c2b7a98c21 2011-02-23 kinaba: alias LONG* PLONG; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #ifdef STRICT c2b7a98c21 2011-02-23 kinaba: alias void* HANDLE; c2b7a98c21 2011-02-23 kinaba: // #define DECLARE_HANDLE(name) struct name##__ { int unused; }; typedef struct name##__ *name c2b7a98c21 2011-02-23 kinaba: // #else c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: alias HANDLE* PHANDLE; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: alias BYTE FCHAR; c2b7a98c21 2011-02-23 kinaba: alias WORD FSHORT; c2b7a98c21 2011-02-23 kinaba: alias DWORD FLONG; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #ifndef _HRESULT_DEFINED c2b7a98c21 2011-02-23 kinaba: // #define _HRESULT_DEFINED c2b7a98c21 2011-02-23 kinaba: alias LONG HRESULT; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #endif // !_HRESULT_DEFINED c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #ifdef __cplusplus c2b7a98c21 2011-02-23 kinaba: // #define EXTERN_C extern "C" c2b7a98c21 2011-02-23 kinaba: // #else c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #if defined(_WIN32) || defined(_MPPC_) c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #ifdef _68K_ c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #else c2b7a98c21 2011-02-23 kinaba: // #define STDMETHODCALLTYPE __stdcall c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: // #define STDMETHODVCALLTYPE __cdecl c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #define STDAPICALLTYPE __stdcall c2b7a98c21 2011-02-23 kinaba: // #define STDAPIVCALLTYPE __cdecl c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #else c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #define STDAPI EXTERN_C HRESULT STDAPICALLTYPE c2b7a98c21 2011-02-23 kinaba: // #define STDAPI_(type) EXTERN_C type STDAPICALLTYPE c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #define STDMETHODIMP HRESULT STDMETHODCALLTYPE c2b7a98c21 2011-02-23 kinaba: // #define STDMETHODIMP_(type) type STDMETHODCALLTYPE c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #define STDAPIV EXTERN_C HRESULT STDAPIVCALLTYPE c2b7a98c21 2011-02-23 kinaba: // #define STDAPIV_(type) EXTERN_C type STDAPIVCALLTYPE c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #define STDMETHODIMPV HRESULT STDMETHODVCALLTYPE c2b7a98c21 2011-02-23 kinaba: // #define STDMETHODIMPV_(type) type STDMETHODVCALLTYPE c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: alias char CCHAR; c2b7a98c21 2011-02-23 kinaba: alias DWORD LCID; c2b7a98c21 2011-02-23 kinaba: alias PDWORD PLCID; c2b7a98c21 2011-02-23 kinaba: alias WORD LANGID; c2b7a98c21 2011-02-23 kinaba: enum : uint { APPLICATION_ERROR_MASK = 0x20000000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { ERROR_SEVERITY_SUCCESS = 0x00000000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { ERROR_SEVERITY_INFORMATIONAL = 0x40000000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { ERROR_SEVERITY_WARNING = 0x80000000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { ERROR_SEVERITY_ERROR = 0xC0000000 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #if defined(_M_IA64) && !defined(MIDL_PASS) c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: struct _FLOAT128 { c2b7a98c21 2011-02-23 kinaba: __int64 LowPart; c2b7a98c21 2011-02-23 kinaba: __int64 HighPart; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _FLOAT128 FLOAT128; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: alias FLOAT128* PFLOAT128; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #define _ULONGLONG_ c2b7a98c21 2011-02-23 kinaba: // #if (!defined (_MAC) && (!defined(MIDL_PASS) || defined(__midl)) && (!defined(_M_IX86) || (defined(_INTEGRAL_MAX_BITS) && _INTEGRAL_MAX_BITS >= 64))) c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #else c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #if defined(_MAC) && defined(_MAC_INT_64) c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #else c2b7a98c21 2011-02-23 kinaba: alias double LONGLONG; c2b7a98c21 2011-02-23 kinaba: alias double ULONGLONG; c2b7a98c21 2011-02-23 kinaba: // #endif //_MAC and int64 c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: alias LONGLONG* PLONGLONG; c2b7a98c21 2011-02-23 kinaba: alias ULONGLONG* PULONGLONG; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: alias LONGLONG USN; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #if defined(MIDL_PASS) c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: // #else // MIDL_PASS c2b7a98c21 2011-02-23 kinaba: union _LARGE_INTEGER { c2b7a98c21 2011-02-23 kinaba: struct _0 { c2b7a98c21 2011-02-23 kinaba: DWORD LowPart; c2b7a98c21 2011-02-23 kinaba: LONG HighPart; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: _0 _; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _1 { c2b7a98c21 2011-02-23 kinaba: DWORD LowPart; c2b7a98c21 2011-02-23 kinaba: LONG HighPart; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: _1 u; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #endif //MIDL_PASS c2b7a98c21 2011-02-23 kinaba: LONGLONG QuadPart; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _LARGE_INTEGER LARGE_INTEGER; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: alias LARGE_INTEGER* PLARGE_INTEGER; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #if defined(MIDL_PASS) c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: // #else // MIDL_PASS c2b7a98c21 2011-02-23 kinaba: union _ULARGE_INTEGER { c2b7a98c21 2011-02-23 kinaba: struct _2 { c2b7a98c21 2011-02-23 kinaba: DWORD LowPart; c2b7a98c21 2011-02-23 kinaba: DWORD HighPart; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: _2 _; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _3 { c2b7a98c21 2011-02-23 kinaba: DWORD LowPart; c2b7a98c21 2011-02-23 kinaba: DWORD HighPart; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: _3 u; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #endif //MIDL_PASS c2b7a98c21 2011-02-23 kinaba: ULONGLONG QuadPart; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _ULARGE_INTEGER ULARGE_INTEGER; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: alias ULARGE_INTEGER* PULARGE_INTEGER; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _LUID { c2b7a98c21 2011-02-23 kinaba: DWORD LowPart; c2b7a98c21 2011-02-23 kinaba: LONG HighPart; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _LUID LUID; c2b7a98c21 2011-02-23 kinaba: alias _LUID* PLUID; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #define _DWORDLONG_ c2b7a98c21 2011-02-23 kinaba: alias ULONGLONG DWORDLONG; c2b7a98c21 2011-02-23 kinaba: alias DWORDLONG* PDWORDLONG; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #if defined(MIDL_PASS) || defined(RC_INVOKED) c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #elif defined(_M_MRX000) c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #if defined (__cplusplus) c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #if defined (__cplusplus) c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #elif defined(_M_IX86) c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: long Int32x32To64(int a, int b) { return (cast(long)a) * b; } c2b7a98c21 2011-02-23 kinaba: ulong UInt32x32To64(uint a, uint b) { return (cast(ulong)a) * b; } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: extern(Windows) export ULONGLONG Int64ShllMod32( c2b7a98c21 2011-02-23 kinaba: ULONGLONG Value, c2b7a98c21 2011-02-23 kinaba: DWORD ShiftCount); c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: extern(Windows) export LONGLONG Int64ShraMod32( c2b7a98c21 2011-02-23 kinaba: LONGLONG Value, c2b7a98c21 2011-02-23 kinaba: DWORD ShiftCount); c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: extern(Windows) export ULONGLONG Int64ShrlMod32( c2b7a98c21 2011-02-23 kinaba: ULONGLONG Value, c2b7a98c21 2011-02-23 kinaba: DWORD ShiftCount); c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #if _MSC_VER >= 1200 c2b7a98c21 2011-02-23 kinaba: // #pragma warning(push) c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: // #pragma warning(disable:4035) // re-enable below c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // __inline ULONGLONG Int64ShllMod32( ULONGLONG Value, DWORD ShiftCount ); c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // __inline LONGLONG Int64ShraMod32( LONGLONG Value, DWORD ShiftCount ); c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // __inline ULONGLONG Int64ShrlMod32( ULONGLONG Value, DWORD ShiftCount ); c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #if _MSC_VER >= 1200 c2b7a98c21 2011-02-23 kinaba: // #pragma warning(pop) c2b7a98c21 2011-02-23 kinaba: // #else c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #elif defined(_M_ALPHA) c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #elif defined(_M_PPC) c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #elif defined(_68K_) || defined(_MPPC_) c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #elif defined(_M_IA64) || defined(_M_AMD64) c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #else c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : CHAR { ANSI_NULL = 0 } c2b7a98c21 2011-02-23 kinaba: enum : WCHAR { UNICODE_NULL = 0 } c2b7a98c21 2011-02-23 kinaba: enum : WORD { UNICODE_STRING_MAX_BYTES = 65534 } c2b7a98c21 2011-02-23 kinaba: enum : uint { UNICODE_STRING_MAX_CHARS = 32767 } c2b7a98c21 2011-02-23 kinaba: alias BYTE BOOLEAN; c2b7a98c21 2011-02-23 kinaba: alias BOOLEAN* PBOOLEAN; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _LIST_ENTRY { c2b7a98c21 2011-02-23 kinaba: _LIST_ENTRY *Flink; c2b7a98c21 2011-02-23 kinaba: _LIST_ENTRY *Blink; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _LIST_ENTRY LIST_ENTRY; c2b7a98c21 2011-02-23 kinaba: alias _LIST_ENTRY* PLIST_ENTRY; c2b7a98c21 2011-02-23 kinaba: alias _LIST_ENTRY* RESTRICTED_POINTERPRLIST_ENTRY; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _SINGLE_LIST_ENTRY { c2b7a98c21 2011-02-23 kinaba: _SINGLE_LIST_ENTRY *Next; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _SINGLE_LIST_ENTRY SINGLE_LIST_ENTRY; c2b7a98c21 2011-02-23 kinaba: alias _SINGLE_LIST_ENTRY* PSINGLE_LIST_ENTRY; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct LIST_ENTRY32 { c2b7a98c21 2011-02-23 kinaba: DWORD Flink; c2b7a98c21 2011-02-23 kinaba: DWORD Blink; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: alias LIST_ENTRY32* PLIST_ENTRY32; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct LIST_ENTRY64 { c2b7a98c21 2011-02-23 kinaba: ULONGLONG Flink; c2b7a98c21 2011-02-23 kinaba: ULONGLONG Blink; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: alias LIST_ENTRY64* PLIST_ENTRY64; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: import win32.guiddef; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #ifndef __OBJECTID_DEFINED c2b7a98c21 2011-02-23 kinaba: // #define __OBJECTID_DEFINED c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _OBJECTID { c2b7a98c21 2011-02-23 kinaba: GUID Lineage; c2b7a98c21 2011-02-23 kinaba: DWORD Uniquifier; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _OBJECTID OBJECTID; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #endif // !_OBJECTID_DEFINED c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { MINCHAR = 0x80 } c2b7a98c21 2011-02-23 kinaba: enum : uint { MAXCHAR = 0x7f } c2b7a98c21 2011-02-23 kinaba: enum : uint { MINSHORT = 0x8000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { MAXSHORT = 0x7fff } c2b7a98c21 2011-02-23 kinaba: enum : uint { MINLONG = 0x80000000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { MAXLONG = 0x7fffffff } c2b7a98c21 2011-02-23 kinaba: enum : uint { MAXBYTE = 0xff } c2b7a98c21 2011-02-23 kinaba: enum : uint { MAXWORD = 0xffff } c2b7a98c21 2011-02-23 kinaba: enum : uint { MAXDWORD = 0xffffffff } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #define FIELD_OFFSET(type, field) ((LONG)(LONG_PTR)&(((type *)0)->field)) c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #if(_WIN32_WINNT > 0x0500) c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #define RTL_FIELD_SIZE(type, field) (sizeof(((type *)0)->field)) c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #define RTL_SIZEOF_THROUGH_FIELD(type, field) (FIELD_OFFSET(type, field) + RTL_FIELD_SIZE(type, field)) c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #define RTL_CONTAINS_FIELD(Struct, Size, Field) ( (((PCHAR)(&(Struct)->Field)) + sizeof((Struct)->Field)) <= (((PCHAR)(Struct))+(Size)) ) c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #define RTL_NUMBER_OF(A) (sizeof(A)/sizeof((A)[0])) c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #define RTL_FIELD_TYPE(type, field) (((type*)0)->field) c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #define RTL_NUMBER_OF_FIELD(type, field) (RTL_NUMBER_OF(RTL_FIELD_TYPE(type, field))) c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #define RTL_PADDING_BETWEEN_FIELDS(T, F1, F2) ((FIELD_OFFSET(T, F2) > FIELD_OFFSET(T, F1)) ? (FIELD_OFFSET(T, F2) - FIELD_OFFSET(T, F1) - RTL_FIELD_SIZE(T, F1)) : (FIELD_OFFSET(T, F1) - FIELD_OFFSET(T, F2) - RTL_FIELD_SIZE(T, F2))) c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #if defined(__cplusplus) c2b7a98c21 2011-02-23 kinaba: // #define RTL_CONST_CAST(type) const_cast<type> c2b7a98c21 2011-02-23 kinaba: // #else c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #define RTL_BITS_OF(sizeOfArg) (sizeof(sizeOfArg) * 8) c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #define RTL_BITS_OF_FIELD(type, field) (RTL_BITS_OF(RTL_FIELD_TYPE(type, field))) c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #endif /* _WIN32_WINNT > 0x0500 */ c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #define CONTAINING_RECORD(address, type, field) ((type *)( (PCHAR)(address) - (ULONG_PTR)(&((type *)0)->field))) c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { VER_SERVER_NT = 0x80000000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { VER_WORKSTATION_NT = 0x40000000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { VER_SUITE_SMALLBUSINESS = 0x00000001 } c2b7a98c21 2011-02-23 kinaba: enum : uint { VER_SUITE_ENTERPRISE = 0x00000002 } c2b7a98c21 2011-02-23 kinaba: enum : uint { VER_SUITE_BACKOFFICE = 0x00000004 } c2b7a98c21 2011-02-23 kinaba: enum : uint { VER_SUITE_COMMUNICATIONS = 0x00000008 } c2b7a98c21 2011-02-23 kinaba: enum : uint { VER_SUITE_TERMINAL = 0x00000010 } c2b7a98c21 2011-02-23 kinaba: enum : uint { VER_SUITE_SMALLBUSINESS_RESTRICTED = 0x00000020 } c2b7a98c21 2011-02-23 kinaba: enum : uint { VER_SUITE_EMBEDDEDNT = 0x00000040 } c2b7a98c21 2011-02-23 kinaba: enum : uint { VER_SUITE_DATACENTER = 0x00000080 } c2b7a98c21 2011-02-23 kinaba: enum : uint { VER_SUITE_SINGLEUSERTS = 0x00000100 } c2b7a98c21 2011-02-23 kinaba: enum : uint { VER_SUITE_PERSONAL = 0x00000200 } c2b7a98c21 2011-02-23 kinaba: enum : uint { VER_SUITE_BLADE = 0x00000400 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { LANG_NEUTRAL = 0x00 } c2b7a98c21 2011-02-23 kinaba: enum : uint { LANG_INVARIANT = 0x7f } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { LANG_AFRIKAANS = 0x36 } c2b7a98c21 2011-02-23 kinaba: enum : uint { LANG_ALBANIAN = 0x1c } c2b7a98c21 2011-02-23 kinaba: enum : uint { LANG_ARABIC = 0x01 } c2b7a98c21 2011-02-23 kinaba: enum : uint { LANG_ARMENIAN = 0x2b } c2b7a98c21 2011-02-23 kinaba: enum : uint { LANG_ASSAMESE = 0x4d } c2b7a98c21 2011-02-23 kinaba: enum : uint { LANG_AZERI = 0x2c } c2b7a98c21 2011-02-23 kinaba: enum : uint { LANG_BASQUE = 0x2d } c2b7a98c21 2011-02-23 kinaba: enum : uint { LANG_BELARUSIAN = 0x23 } c2b7a98c21 2011-02-23 kinaba: enum : uint { LANG_BENGALI = 0x45 } c2b7a98c21 2011-02-23 kinaba: enum : uint { LANG_BULGARIAN = 0x02 } c2b7a98c21 2011-02-23 kinaba: enum : uint { LANG_CATALAN = 0x03 } c2b7a98c21 2011-02-23 kinaba: enum : uint { LANG_CHINESE = 0x04 } c2b7a98c21 2011-02-23 kinaba: enum : uint { LANG_CROATIAN = 0x1a } c2b7a98c21 2011-02-23 kinaba: enum : uint { LANG_CZECH = 0x05 } c2b7a98c21 2011-02-23 kinaba: enum : uint { LANG_DANISH = 0x06 } c2b7a98c21 2011-02-23 kinaba: enum : uint { LANG_DIVEHI = 0x65 } c2b7a98c21 2011-02-23 kinaba: enum : uint { LANG_DUTCH = 0x13 } c2b7a98c21 2011-02-23 kinaba: enum : uint { LANG_ENGLISH = 0x09 } c2b7a98c21 2011-02-23 kinaba: enum : uint { LANG_ESTONIAN = 0x25 } c2b7a98c21 2011-02-23 kinaba: enum : uint { LANG_FAEROESE = 0x38 } c2b7a98c21 2011-02-23 kinaba: enum : uint { LANG_FARSI = 0x29 } c2b7a98c21 2011-02-23 kinaba: enum : uint { LANG_FINNISH = 0x0b } c2b7a98c21 2011-02-23 kinaba: enum : uint { LANG_FRENCH = 0x0c } c2b7a98c21 2011-02-23 kinaba: enum : uint { LANG_GALICIAN = 0x56 } c2b7a98c21 2011-02-23 kinaba: enum : uint { LANG_GEORGIAN = 0x37 } c2b7a98c21 2011-02-23 kinaba: enum : uint { LANG_GERMAN = 0x07 } c2b7a98c21 2011-02-23 kinaba: enum : uint { LANG_GREEK = 0x08 } c2b7a98c21 2011-02-23 kinaba: enum : uint { LANG_GUJARATI = 0x47 } c2b7a98c21 2011-02-23 kinaba: enum : uint { LANG_HEBREW = 0x0d } c2b7a98c21 2011-02-23 kinaba: enum : uint { LANG_HINDI = 0x39 } c2b7a98c21 2011-02-23 kinaba: enum : uint { LANG_HUNGARIAN = 0x0e } c2b7a98c21 2011-02-23 kinaba: enum : uint { LANG_ICELANDIC = 0x0f } c2b7a98c21 2011-02-23 kinaba: enum : uint { LANG_INDONESIAN = 0x21 } c2b7a98c21 2011-02-23 kinaba: enum : uint { LANG_ITALIAN = 0x10 } c2b7a98c21 2011-02-23 kinaba: enum : uint { LANG_JAPANESE = 0x11 } c2b7a98c21 2011-02-23 kinaba: enum : uint { LANG_KANNADA = 0x4b } c2b7a98c21 2011-02-23 kinaba: enum : uint { LANG_KASHMIRI = 0x60 } c2b7a98c21 2011-02-23 kinaba: enum : uint { LANG_KAZAK = 0x3f } c2b7a98c21 2011-02-23 kinaba: enum : uint { LANG_KONKANI = 0x57 } c2b7a98c21 2011-02-23 kinaba: enum : uint { LANG_KOREAN = 0x12 } c2b7a98c21 2011-02-23 kinaba: enum : uint { LANG_KYRGYZ = 0x40 } c2b7a98c21 2011-02-23 kinaba: enum : uint { LANG_LATVIAN = 0x26 } c2b7a98c21 2011-02-23 kinaba: enum : uint { LANG_LITHUANIAN = 0x27 } c2b7a98c21 2011-02-23 kinaba: enum : uint { LANG_MACEDONIAN = 0x2f } c2b7a98c21 2011-02-23 kinaba: enum : uint { LANG_MALAY = 0x3e } c2b7a98c21 2011-02-23 kinaba: enum : uint { LANG_MALAYALAM = 0x4c } c2b7a98c21 2011-02-23 kinaba: enum : uint { LANG_MANIPURI = 0x58 } c2b7a98c21 2011-02-23 kinaba: enum : uint { LANG_MARATHI = 0x4e } c2b7a98c21 2011-02-23 kinaba: enum : uint { LANG_MONGOLIAN = 0x50 } c2b7a98c21 2011-02-23 kinaba: enum : uint { LANG_NEPALI = 0x61 } c2b7a98c21 2011-02-23 kinaba: enum : uint { LANG_NORWEGIAN = 0x14 } c2b7a98c21 2011-02-23 kinaba: enum : uint { LANG_ORIYA = 0x48 } c2b7a98c21 2011-02-23 kinaba: enum : uint { LANG_POLISH = 0x15 } c2b7a98c21 2011-02-23 kinaba: enum : uint { LANG_PORTUGUESE = 0x16 } c2b7a98c21 2011-02-23 kinaba: enum : uint { LANG_PUNJABI = 0x46 } c2b7a98c21 2011-02-23 kinaba: enum : uint { LANG_ROMANIAN = 0x18 } c2b7a98c21 2011-02-23 kinaba: enum : uint { LANG_RUSSIAN = 0x19 } c2b7a98c21 2011-02-23 kinaba: enum : uint { LANG_SANSKRIT = 0x4f } c2b7a98c21 2011-02-23 kinaba: enum : uint { LANG_SERBIAN = 0x1a } c2b7a98c21 2011-02-23 kinaba: enum : uint { LANG_SINDHI = 0x59 } c2b7a98c21 2011-02-23 kinaba: enum : uint { LANG_SLOVAK = 0x1b } c2b7a98c21 2011-02-23 kinaba: enum : uint { LANG_SLOVENIAN = 0x24 } c2b7a98c21 2011-02-23 kinaba: enum : uint { LANG_SPANISH = 0x0a } c2b7a98c21 2011-02-23 kinaba: enum : uint { LANG_SWAHILI = 0x41 } c2b7a98c21 2011-02-23 kinaba: enum : uint { LANG_SWEDISH = 0x1d } c2b7a98c21 2011-02-23 kinaba: enum : uint { LANG_SYRIAC = 0x5a } c2b7a98c21 2011-02-23 kinaba: enum : uint { LANG_TAMIL = 0x49 } c2b7a98c21 2011-02-23 kinaba: enum : uint { LANG_TATAR = 0x44 } c2b7a98c21 2011-02-23 kinaba: enum : uint { LANG_TELUGU = 0x4a } c2b7a98c21 2011-02-23 kinaba: enum : uint { LANG_THAI = 0x1e } c2b7a98c21 2011-02-23 kinaba: enum : uint { LANG_TURKISH = 0x1f } c2b7a98c21 2011-02-23 kinaba: enum : uint { LANG_UKRAINIAN = 0x22 } c2b7a98c21 2011-02-23 kinaba: enum : uint { LANG_URDU = 0x20 } c2b7a98c21 2011-02-23 kinaba: enum : uint { LANG_UZBEK = 0x43 } c2b7a98c21 2011-02-23 kinaba: enum : uint { LANG_VIETNAMESE = 0x2a } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { SUBLANG_NEUTRAL = 0x00 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SUBLANG_DEFAULT = 0x01 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SUBLANG_SYS_DEFAULT = 0x02 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { SUBLANG_ARABIC_SAUDI_ARABIA = 0x01 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SUBLANG_ARABIC_IRAQ = 0x02 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SUBLANG_ARABIC_EGYPT = 0x03 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SUBLANG_ARABIC_LIBYA = 0x04 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SUBLANG_ARABIC_ALGERIA = 0x05 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SUBLANG_ARABIC_MOROCCO = 0x06 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SUBLANG_ARABIC_TUNISIA = 0x07 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SUBLANG_ARABIC_OMAN = 0x08 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SUBLANG_ARABIC_YEMEN = 0x09 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SUBLANG_ARABIC_SYRIA = 0x0a } c2b7a98c21 2011-02-23 kinaba: enum : uint { SUBLANG_ARABIC_JORDAN = 0x0b } c2b7a98c21 2011-02-23 kinaba: enum : uint { SUBLANG_ARABIC_LEBANON = 0x0c } c2b7a98c21 2011-02-23 kinaba: enum : uint { SUBLANG_ARABIC_KUWAIT = 0x0d } c2b7a98c21 2011-02-23 kinaba: enum : uint { SUBLANG_ARABIC_UAE = 0x0e } c2b7a98c21 2011-02-23 kinaba: enum : uint { SUBLANG_ARABIC_BAHRAIN = 0x0f } c2b7a98c21 2011-02-23 kinaba: enum : uint { SUBLANG_ARABIC_QATAR = 0x10 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SUBLANG_AZERI_LATIN = 0x01 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SUBLANG_AZERI_CYRILLIC = 0x02 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SUBLANG_CHINESE_TRADITIONAL = 0x01 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SUBLANG_CHINESE_SIMPLIFIED = 0x02 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SUBLANG_CHINESE_HONGKONG = 0x03 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SUBLANG_CHINESE_SINGAPORE = 0x04 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SUBLANG_CHINESE_MACAU = 0x05 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SUBLANG_DUTCH = 0x01 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SUBLANG_DUTCH_BELGIAN = 0x02 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SUBLANG_ENGLISH_US = 0x01 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SUBLANG_ENGLISH_UK = 0x02 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SUBLANG_ENGLISH_AUS = 0x03 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SUBLANG_ENGLISH_CAN = 0x04 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SUBLANG_ENGLISH_NZ = 0x05 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SUBLANG_ENGLISH_EIRE = 0x06 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SUBLANG_ENGLISH_SOUTH_AFRICA = 0x07 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SUBLANG_ENGLISH_JAMAICA = 0x08 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SUBLANG_ENGLISH_CARIBBEAN = 0x09 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SUBLANG_ENGLISH_BELIZE = 0x0a } c2b7a98c21 2011-02-23 kinaba: enum : uint { SUBLANG_ENGLISH_TRINIDAD = 0x0b } c2b7a98c21 2011-02-23 kinaba: enum : uint { SUBLANG_ENGLISH_ZIMBABWE = 0x0c } c2b7a98c21 2011-02-23 kinaba: enum : uint { SUBLANG_ENGLISH_PHILIPPINES = 0x0d } c2b7a98c21 2011-02-23 kinaba: enum : uint { SUBLANG_FRENCH = 0x01 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SUBLANG_FRENCH_BELGIAN = 0x02 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SUBLANG_FRENCH_CANADIAN = 0x03 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SUBLANG_FRENCH_SWISS = 0x04 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SUBLANG_FRENCH_LUXEMBOURG = 0x05 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SUBLANG_FRENCH_MONACO = 0x06 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SUBLANG_GERMAN = 0x01 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SUBLANG_GERMAN_SWISS = 0x02 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SUBLANG_GERMAN_AUSTRIAN = 0x03 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SUBLANG_GERMAN_LUXEMBOURG = 0x04 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SUBLANG_GERMAN_LIECHTENSTEIN = 0x05 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SUBLANG_ITALIAN = 0x01 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SUBLANG_ITALIAN_SWISS = 0x02 } c2b7a98c21 2011-02-23 kinaba: // #if _WIN32_WINNT >= 0x0501 c2b7a98c21 2011-02-23 kinaba: enum : uint { SUBLANG_KASHMIRI_SASIA = 0x02 } c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: enum : uint { SUBLANG_KASHMIRI_INDIA = 0x02 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SUBLANG_KOREAN = 0x01 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SUBLANG_LITHUANIAN = 0x01 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SUBLANG_MALAY_MALAYSIA = 0x01 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SUBLANG_MALAY_BRUNEI_DARUSSALAM = 0x02 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SUBLANG_NEPALI_INDIA = 0x02 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SUBLANG_NORWEGIAN_BOKMAL = 0x01 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SUBLANG_NORWEGIAN_NYNORSK = 0x02 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SUBLANG_PORTUGUESE = 0x02 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SUBLANG_PORTUGUESE_BRAZILIAN = 0x01 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SUBLANG_SERBIAN_LATIN = 0x02 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SUBLANG_SERBIAN_CYRILLIC = 0x03 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SUBLANG_SPANISH = 0x01 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SUBLANG_SPANISH_MEXICAN = 0x02 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SUBLANG_SPANISH_MODERN = 0x03 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SUBLANG_SPANISH_GUATEMALA = 0x04 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SUBLANG_SPANISH_COSTA_RICA = 0x05 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SUBLANG_SPANISH_PANAMA = 0x06 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SUBLANG_SPANISH_DOMINICAN_REPUBLIC = 0x07 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SUBLANG_SPANISH_VENEZUELA = 0x08 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SUBLANG_SPANISH_COLOMBIA = 0x09 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SUBLANG_SPANISH_PERU = 0x0a } c2b7a98c21 2011-02-23 kinaba: enum : uint { SUBLANG_SPANISH_ARGENTINA = 0x0b } c2b7a98c21 2011-02-23 kinaba: enum : uint { SUBLANG_SPANISH_ECUADOR = 0x0c } c2b7a98c21 2011-02-23 kinaba: enum : uint { SUBLANG_SPANISH_CHILE = 0x0d } c2b7a98c21 2011-02-23 kinaba: enum : uint { SUBLANG_SPANISH_URUGUAY = 0x0e } c2b7a98c21 2011-02-23 kinaba: enum : uint { SUBLANG_SPANISH_PARAGUAY = 0x0f } c2b7a98c21 2011-02-23 kinaba: enum : uint { SUBLANG_SPANISH_BOLIVIA = 0x10 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SUBLANG_SPANISH_EL_SALVADOR = 0x11 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SUBLANG_SPANISH_HONDURAS = 0x12 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SUBLANG_SPANISH_NICARAGUA = 0x13 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SUBLANG_SPANISH_PUERTO_RICO = 0x14 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SUBLANG_SWEDISH = 0x01 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SUBLANG_SWEDISH_FINLAND = 0x02 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SUBLANG_URDU_PAKISTAN = 0x01 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SUBLANG_URDU_INDIA = 0x02 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SUBLANG_UZBEK_LATIN = 0x01 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SUBLANG_UZBEK_CYRILLIC = 0x02 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { SORT_DEFAULT = 0x0 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { SORT_JAPANESE_XJIS = 0x0 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SORT_JAPANESE_UNICODE = 0x1 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { SORT_CHINESE_BIG5 = 0x0 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SORT_CHINESE_PRCP = 0x0 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SORT_CHINESE_UNICODE = 0x1 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SORT_CHINESE_PRC = 0x2 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SORT_CHINESE_BOPOMOFO = 0x3 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { SORT_KOREAN_KSC = 0x0 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SORT_KOREAN_UNICODE = 0x1 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { SORT_GERMAN_PHONE_BOOK = 0x1 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { SORT_HUNGARIAN_DEFAULT = 0x0 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SORT_HUNGARIAN_TECHNICAL = 0x1 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { SORT_GEORGIAN_TRADITIONAL = 0x0 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SORT_GEORGIAN_MODERN = 0x1 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: WORD MAKELANGID(USHORT p, USHORT s) { return (((cast(WORD)(s)) << 10) | cast(WORD)(p)); } c2b7a98c21 2011-02-23 kinaba: WORD PRIMARYLANGID(WORD lgid) { return lgid & 0x3ff; } c2b7a98c21 2011-02-23 kinaba: WORD SUBLANGID(WORD lgid) { return lgid >>> 10; } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { NLS_VALID_LOCALE_MASK = 0x000fffff } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: DWORD MAKELCID(WORD lgid, WORD srtid) { return ((cast(DWORD)srtid) << 16) | (cast(DWORD)lgid); } c2b7a98c21 2011-02-23 kinaba: DWORD MAKESORTLCID(WORD lgid, WORD srtid, WORD ver) { return (MAKELCID(lgid, srtid)) | ((cast(DWORD)ver) << 20); } c2b7a98c21 2011-02-23 kinaba: WORD LANGIDFROMLCID(LCID lcid) { return lcid; } c2b7a98c21 2011-02-23 kinaba: WORD SORTIDFROMLCID(LCID lcid) { return (cast(DWORD)lcid >>> 16) & 0xf; } c2b7a98c21 2011-02-23 kinaba: WORD SORTVERSIONFROMLCID(LCID lcid) { return (cast(DWORD)lcid >>> 20) & 0xf; } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { LANG_SYSTEM_DEFAULT = (SUBLANG_SYS_DEFAULT << 10) | LANG_NEUTRAL } c2b7a98c21 2011-02-23 kinaba: enum : uint { LANG_USER_DEFAULT = (SUBLANG_DEFAULT << 10) | LANG_NEUTRAL } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { LOCALE_SYSTEM_DEFAULT = (SORT_DEFAULT << 16) | LANG_SYSTEM_DEFAULT } c2b7a98c21 2011-02-23 kinaba: enum : uint { LOCALE_USER_DEFAULT = (SORT_DEFAULT << 16) | LANG_USER_DEFAULT } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { LOCALE_NEUTRAL = (SORT_DEFAULT << 16) | (SUBLANG_NEUTRAL << 10) | LANG_NEUTRAL } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { LOCALE_INVARIANT = (SORT_DEFAULT << 16) | (SUBLANG_NEUTRAL << 10) | LANG_INVARIANT } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #if ! defined(lint) c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #else // lint c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #define UNREFERENCED_PARAMETER(P) { (P) = (P); } c2b7a98c21 2011-02-23 kinaba: // #define DBG_UNREFERENCED_PARAMETER(P) { (P) = (P); } c2b7a98c21 2011-02-23 kinaba: // #define DBG_UNREFERENCED_LOCAL_VARIABLE(V) { (V) = (V); } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #endif // lint c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #if (_MSC_VER > 1200) c2b7a98c21 2011-02-23 kinaba: // #define DEFAULT_UNREACHABLE default: __assume(0) c2b7a98c21 2011-02-23 kinaba: // #else c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #ifndef WIN32_NO_STATUS c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : DWORD { STATUS_WAIT_0 = 0x00000000 } c2b7a98c21 2011-02-23 kinaba: enum : DWORD { STATUS_ABANDONED_WAIT_0 = 0x00000080 } c2b7a98c21 2011-02-23 kinaba: enum : DWORD { STATUS_USER_APC = 0x000000C0 } c2b7a98c21 2011-02-23 kinaba: enum : DWORD { STATUS_TIMEOUT = 0x00000102 } c2b7a98c21 2011-02-23 kinaba: enum : DWORD { STATUS_PENDING = 0x00000103 } c2b7a98c21 2011-02-23 kinaba: enum : DWORD { DBG_EXCEPTION_HANDLED = 0x00010001 } c2b7a98c21 2011-02-23 kinaba: enum : DWORD { DBG_CONTINUE = 0x00010002 } c2b7a98c21 2011-02-23 kinaba: enum : DWORD { STATUS_SEGMENT_NOTIFICATION = 0x40000005 } c2b7a98c21 2011-02-23 kinaba: enum : DWORD { DBG_TERMINATE_THREAD = 0x40010003 } c2b7a98c21 2011-02-23 kinaba: enum : DWORD { DBG_TERMINATE_PROCESS = 0x40010004 } c2b7a98c21 2011-02-23 kinaba: enum : DWORD { DBG_CONTROL_C = 0x40010005 } c2b7a98c21 2011-02-23 kinaba: enum : DWORD { DBG_CONTROL_BREAK = 0x40010008 } c2b7a98c21 2011-02-23 kinaba: enum : DWORD { STATUS_GUARD_PAGE_VIOLATION = 0x80000001 } c2b7a98c21 2011-02-23 kinaba: enum : DWORD { STATUS_DATATYPE_MISALIGNMENT = 0x80000002 } c2b7a98c21 2011-02-23 kinaba: enum : DWORD { STATUS_BREAKPOINT = 0x80000003 } c2b7a98c21 2011-02-23 kinaba: enum : DWORD { STATUS_SINGLE_STEP = 0x80000004 } c2b7a98c21 2011-02-23 kinaba: enum : DWORD { DBG_EXCEPTION_NOT_HANDLED = 0x80010001 } c2b7a98c21 2011-02-23 kinaba: enum : DWORD { STATUS_ACCESS_VIOLATION = 0xC0000005 } c2b7a98c21 2011-02-23 kinaba: enum : DWORD { STATUS_IN_PAGE_ERROR = 0xC0000006 } c2b7a98c21 2011-02-23 kinaba: enum : DWORD { STATUS_INVALID_HANDLE = 0xC0000008 } c2b7a98c21 2011-02-23 kinaba: enum : DWORD { STATUS_NO_MEMORY = 0xC0000017 } c2b7a98c21 2011-02-23 kinaba: enum : DWORD { STATUS_ILLEGAL_INSTRUCTION = 0xC000001D } c2b7a98c21 2011-02-23 kinaba: enum : DWORD { STATUS_NONCONTINUABLE_EXCEPTION = 0xC0000025 } c2b7a98c21 2011-02-23 kinaba: enum : DWORD { STATUS_INVALID_DISPOSITION = 0xC0000026 } c2b7a98c21 2011-02-23 kinaba: enum : DWORD { STATUS_ARRAY_BOUNDS_EXCEEDED = 0xC000008C } c2b7a98c21 2011-02-23 kinaba: enum : DWORD { STATUS_FLOAT_DENORMAL_OPERAND = 0xC000008D } c2b7a98c21 2011-02-23 kinaba: enum : DWORD { STATUS_FLOAT_DIVIDE_BY_ZERO = 0xC000008E } c2b7a98c21 2011-02-23 kinaba: enum : DWORD { STATUS_FLOAT_INEXACT_RESULT = 0xC000008F } c2b7a98c21 2011-02-23 kinaba: enum : DWORD { STATUS_FLOAT_INVALID_OPERATION = 0xC0000090 } c2b7a98c21 2011-02-23 kinaba: enum : DWORD { STATUS_FLOAT_OVERFLOW = 0xC0000091 } c2b7a98c21 2011-02-23 kinaba: enum : DWORD { STATUS_FLOAT_STACK_CHECK = 0xC0000092 } c2b7a98c21 2011-02-23 kinaba: enum : DWORD { STATUS_FLOAT_UNDERFLOW = 0xC0000093 } c2b7a98c21 2011-02-23 kinaba: enum : DWORD { STATUS_INTEGER_DIVIDE_BY_ZERO = 0xC0000094 } c2b7a98c21 2011-02-23 kinaba: enum : DWORD { STATUS_INTEGER_OVERFLOW = 0xC0000095 } c2b7a98c21 2011-02-23 kinaba: enum : DWORD { STATUS_PRIVILEGED_INSTRUCTION = 0xC0000096 } c2b7a98c21 2011-02-23 kinaba: enum : DWORD { STATUS_STACK_OVERFLOW = 0xC00000FD } c2b7a98c21 2011-02-23 kinaba: enum : DWORD { STATUS_CONTROL_C_EXIT = 0xC000013A } c2b7a98c21 2011-02-23 kinaba: enum : DWORD { STATUS_FLOAT_MULTIPLE_FAULTS = 0xC00002B4 } c2b7a98c21 2011-02-23 kinaba: enum : DWORD { STATUS_FLOAT_MULTIPLE_TRAPS = 0xC00002B5 } c2b7a98c21 2011-02-23 kinaba: enum : DWORD { STATUS_REG_NAT_CONSUMPTION = 0xC00002C9 } c2b7a98c21 2011-02-23 kinaba: // #if defined(STATUS_SUCCESS) || (_WIN32_WINNT > 0x0500) || (_WIN32_FUSION >= 0x0100) c2b7a98c21 2011-02-23 kinaba: enum : DWORD { STATUS_SXS_EARLY_DEACTIVATION = 0xC015000F } c2b7a98c21 2011-02-23 kinaba: enum : DWORD { STATUS_SXS_INVALID_DEACTIVATION = 0xC0150010 } c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: enum : uint { MAXIMUM_WAIT_OBJECTS = 64 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: alias MAXCHAR MAXIMUM_SUSPEND_COUNT; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: alias ULONG_PTR KSPIN_LOCK; c2b7a98c21 2011-02-23 kinaba: alias KSPIN_LOCK* PKSPIN_LOCK; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #if defined(_AMD64_) c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #if defined(_M_AMD64) && !defined(RC_INVOKED) && !defined(MIDL_PASS) c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #endif // defined(_M_AMD64) && !defined(RC_INVOKED) && !defined(MIDL_PASS) c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #if !defined(RC_INVOKED) c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #endif // !defined(RC_INVOKED) c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #endif // _AMD64_ c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #ifdef _ALPHA_ // winnt c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: // #if defined(_M_ALPHA) // winnt c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #endif // winnt c2b7a98c21 2011-02-23 kinaba: // #endif // winnt c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #if defined(_M_ALPHA) c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #else c2b7a98c21 2011-02-23 kinaba: extern(Windows) export _TEB NtCurrentTeb(); c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #ifdef _ALPHA_ c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #if !defined(RC_INVOKED) c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #ifndef _PORTABLE_32BIT_CONTEXT c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #else c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #endif // _PORTABLE_32BIT_CONTEXT c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #endif // _ALPHA_ c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #ifdef _ALPHA_ c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #endif // _ALPHA_ c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #ifdef _X86_ c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #if !defined(MIDL_PASS) c2b7a98c21 2011-02-23 kinaba: // #if !defined(RC_INVOKED) c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #if _MSC_VER >= 1200 c2b7a98c21 2011-02-23 kinaba: // #pragma warning(push) c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: // #pragma warning(disable:4164) // disable C4164 warning so that apps that c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #ifdef _M_IX86 c2b7a98c21 2011-02-23 kinaba: // #pragma function(_enable) c2b7a98c21 2011-02-23 kinaba: // #pragma function(_disable) c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #if _MSC_VER >= 1200 c2b7a98c21 2011-02-23 kinaba: // #pragma warning(pop) c2b7a98c21 2011-02-23 kinaba: // #else c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #if !defined(MIDL_PASS) && defined(_M_IX86) c2b7a98c21 2011-02-23 kinaba: // #if _MSC_VER >= 1200 c2b7a98c21 2011-02-23 kinaba: // #pragma warning(push) c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: // #pragma warning (disable:4035) // disable 4035 (function must return something) c2b7a98c21 2011-02-23 kinaba: PVOID GetFiberData() { asm { mov EAX, FS:[0x10]; mov EAX, [EAX]; } } c2b7a98c21 2011-02-23 kinaba: PVOID GetCurrentFiber() { asm { mov EAX, FS:[0x10]; } } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #if _MSC_VER >= 1200 c2b7a98c21 2011-02-23 kinaba: // #pragma warning(pop) c2b7a98c21 2011-02-23 kinaba: // #else c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { SIZE_OF_80387_REGISTERS = 80 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #if !defined(RC_INVOKED) c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { CONTEXT_i386 = 0x00010000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { CONTEXT_i486 = 0x00010000 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { CONTEXT_CONTROL = CONTEXT_i386 | 0x00000001L } c2b7a98c21 2011-02-23 kinaba: enum : uint { CONTEXT_INTEGER = CONTEXT_i386 | 0x00000002L } c2b7a98c21 2011-02-23 kinaba: enum : uint { CONTEXT_SEGMENTS = CONTEXT_i386 | 0x00000004L } c2b7a98c21 2011-02-23 kinaba: enum : uint { CONTEXT_FLOATING_POINT = CONTEXT_i386 | 0x00000008L } c2b7a98c21 2011-02-23 kinaba: enum : uint { CONTEXT_DEBUG_REGISTERS = CONTEXT_i386 | 0x00000010L } c2b7a98c21 2011-02-23 kinaba: enum : uint { CONTEXT_EXTENDED_REGISTERS = CONTEXT_i386 | 0x00000020L } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { CONTEXT_FULL = CONTEXT_CONTROL | CONTEXT_INTEGER | CONTEXT_SEGMENTS } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { MAXIMUM_SUPPORTED_EXTENSION = 512 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _FLOATING_SAVE_AREA { c2b7a98c21 2011-02-23 kinaba: DWORD ControlWord; c2b7a98c21 2011-02-23 kinaba: DWORD StatusWord; c2b7a98c21 2011-02-23 kinaba: DWORD TagWord; c2b7a98c21 2011-02-23 kinaba: DWORD ErrorOffset; c2b7a98c21 2011-02-23 kinaba: DWORD ErrorSelector; c2b7a98c21 2011-02-23 kinaba: DWORD DataOffset; c2b7a98c21 2011-02-23 kinaba: DWORD DataSelector; c2b7a98c21 2011-02-23 kinaba: BYTE RegisterArea[SIZE_OF_80387_REGISTERS]; c2b7a98c21 2011-02-23 kinaba: DWORD Cr0NpxState; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _FLOATING_SAVE_AREA FLOATING_SAVE_AREA; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: alias FLOATING_SAVE_AREA* PFLOATING_SAVE_AREA; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _CONTEXT { c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: DWORD ContextFlags; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: DWORD Dr0; c2b7a98c21 2011-02-23 kinaba: DWORD Dr1; c2b7a98c21 2011-02-23 kinaba: DWORD Dr2; c2b7a98c21 2011-02-23 kinaba: DWORD Dr3; c2b7a98c21 2011-02-23 kinaba: DWORD Dr6; c2b7a98c21 2011-02-23 kinaba: DWORD Dr7; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: FLOATING_SAVE_AREA FloatSave; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: DWORD SegGs; c2b7a98c21 2011-02-23 kinaba: DWORD SegFs; c2b7a98c21 2011-02-23 kinaba: DWORD SegEs; c2b7a98c21 2011-02-23 kinaba: DWORD SegDs; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: DWORD Edi; c2b7a98c21 2011-02-23 kinaba: DWORD Esi; c2b7a98c21 2011-02-23 kinaba: DWORD Ebx; c2b7a98c21 2011-02-23 kinaba: DWORD Edx; c2b7a98c21 2011-02-23 kinaba: DWORD Ecx; c2b7a98c21 2011-02-23 kinaba: DWORD Eax; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: DWORD Ebp; c2b7a98c21 2011-02-23 kinaba: DWORD Eip; c2b7a98c21 2011-02-23 kinaba: DWORD SegCs; c2b7a98c21 2011-02-23 kinaba: DWORD EFlags; c2b7a98c21 2011-02-23 kinaba: DWORD Esp; c2b7a98c21 2011-02-23 kinaba: DWORD SegSs; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: BYTE ExtendedRegisters[MAXIMUM_SUPPORTED_EXTENSION]; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _CONTEXT CONTEXT; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: alias CONTEXT* PCONTEXT; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #endif //_X86_ c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #ifndef _LDT_ENTRY_DEFINED c2b7a98c21 2011-02-23 kinaba: // #define _LDT_ENTRY_DEFINED c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _LDT_ENTRY { c2b7a98c21 2011-02-23 kinaba: WORD LimitLow; c2b7a98c21 2011-02-23 kinaba: WORD BaseLow; c2b7a98c21 2011-02-23 kinaba: union { c2b7a98c21 2011-02-23 kinaba: struct { c2b7a98c21 2011-02-23 kinaba: BYTE BaseMid; c2b7a98c21 2011-02-23 kinaba: BYTE Flags1; c2b7a98c21 2011-02-23 kinaba: BYTE Flags2; c2b7a98c21 2011-02-23 kinaba: BYTE BaseHi; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct { c2b7a98c21 2011-02-23 kinaba: // DWORD BaseMid : 8; c2b7a98c21 2011-02-23 kinaba: // DWORD Type : 5; c2b7a98c21 2011-02-23 kinaba: // DWORD Dpl : 2; c2b7a98c21 2011-02-23 kinaba: // DWORD Pres : 1; c2b7a98c21 2011-02-23 kinaba: // DWORD LimitHi : 4; c2b7a98c21 2011-02-23 kinaba: // DWORD Sys : 1; c2b7a98c21 2011-02-23 kinaba: // DWORD Reserved_0 : 1; c2b7a98c21 2011-02-23 kinaba: // DWORD Default_Big : 1; c2b7a98c21 2011-02-23 kinaba: // DWORD Granularity : 1; c2b7a98c21 2011-02-23 kinaba: // DWORD BaseHi : 8; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _LDT_ENTRY LDT_ENTRY; c2b7a98c21 2011-02-23 kinaba: alias _LDT_ENTRY* PLDT_ENTRY; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #if defined(_MIPS_) c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #if !defined(RC_INVOKED) c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #endif // MIPS c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #if defined(_MIPS_) c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #endif // MIPS c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #if defined(_PPC_) c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #if defined(_M_PPC) && defined(_MSC_VER) && (_MSC_VER>=1000) c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #elif defined(_M_PPC) c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #if !defined(RC_INVOKED) c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #endif // defined(_PPC_) c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #if defined(_MPPC_) c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #if defined(_M_PPC) && defined(_MSC_VER) && (_MSC_VER>=1000) c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #elif defined(_M_PPC) c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #if !defined(RC_INVOKED) c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #endif // defined(_MPPC_) c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #if !defined(__midl) && !defined(GENUTIL) && !defined(_GENIA64_) && defined(_IA64_) c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: // #if defined(_M_IA64) // winnt c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #endif // winnt c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #if defined(_M_IA64) c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #else c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #endif // !defined(__midl) && !defined(GENUTIL) && !defined(_GENIA64_) && defined(_M_IA64) c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #ifdef _IA64_ c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #if !defined(RC_INVOKED) c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #endif // !defined(RC_INVOKED) c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #endif // _IA64_ c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #ifdef _IA64_ c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #endif // _IA64_ c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { EXCEPTION_NONCONTINUABLE = 0x1 } c2b7a98c21 2011-02-23 kinaba: enum : uint { EXCEPTION_MAXIMUM_PARAMETERS = 15 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _EXCEPTION_RECORD { c2b7a98c21 2011-02-23 kinaba: DWORD ExceptionCode; c2b7a98c21 2011-02-23 kinaba: DWORD ExceptionFlags; c2b7a98c21 2011-02-23 kinaba: _EXCEPTION_RECORD *ExceptionRecord; c2b7a98c21 2011-02-23 kinaba: PVOID ExceptionAddress; c2b7a98c21 2011-02-23 kinaba: DWORD NumberParameters; c2b7a98c21 2011-02-23 kinaba: ULONG_PTR ExceptionInformation[EXCEPTION_MAXIMUM_PARAMETERS]; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _EXCEPTION_RECORD EXCEPTION_RECORD; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: alias EXCEPTION_RECORD* PEXCEPTION_RECORD; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _EXCEPTION_RECORD32 { c2b7a98c21 2011-02-23 kinaba: DWORD ExceptionCode; c2b7a98c21 2011-02-23 kinaba: DWORD ExceptionFlags; c2b7a98c21 2011-02-23 kinaba: DWORD ExceptionRecord; c2b7a98c21 2011-02-23 kinaba: DWORD ExceptionAddress; c2b7a98c21 2011-02-23 kinaba: DWORD NumberParameters; c2b7a98c21 2011-02-23 kinaba: DWORD ExceptionInformation[EXCEPTION_MAXIMUM_PARAMETERS]; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _EXCEPTION_RECORD32 EXCEPTION_RECORD32; c2b7a98c21 2011-02-23 kinaba: alias _EXCEPTION_RECORD32* PEXCEPTION_RECORD32; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _EXCEPTION_RECORD64 { c2b7a98c21 2011-02-23 kinaba: DWORD ExceptionCode; c2b7a98c21 2011-02-23 kinaba: DWORD ExceptionFlags; c2b7a98c21 2011-02-23 kinaba: DWORD64 ExceptionRecord; c2b7a98c21 2011-02-23 kinaba: DWORD64 ExceptionAddress; c2b7a98c21 2011-02-23 kinaba: DWORD NumberParameters; c2b7a98c21 2011-02-23 kinaba: DWORD __unusedAlignment; c2b7a98c21 2011-02-23 kinaba: DWORD64 ExceptionInformation[EXCEPTION_MAXIMUM_PARAMETERS]; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _EXCEPTION_RECORD64 EXCEPTION_RECORD64; c2b7a98c21 2011-02-23 kinaba: alias _EXCEPTION_RECORD64* PEXCEPTION_RECORD64; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _EXCEPTION_POINTERS { c2b7a98c21 2011-02-23 kinaba: PEXCEPTION_RECORD ExceptionRecord; c2b7a98c21 2011-02-23 kinaba: PCONTEXT ContextRecord; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _EXCEPTION_POINTERS EXCEPTION_POINTERS; c2b7a98c21 2011-02-23 kinaba: alias _EXCEPTION_POINTERS* PEXCEPTION_POINTERS; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: alias PVOID PACCESS_TOKEN; c2b7a98c21 2011-02-23 kinaba: alias PVOID PSECURITY_DESCRIPTOR; c2b7a98c21 2011-02-23 kinaba: alias PVOID PSID; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: alias DWORD ACCESS_MASK; c2b7a98c21 2011-02-23 kinaba: alias ACCESS_MASK* PACCESS_MASK; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { DELETE = 0x00010000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { READ_CONTROL = 0x00020000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { WRITE_DAC = 0x00040000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { WRITE_OWNER = 0x00080000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SYNCHRONIZE = 0x00100000 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { STANDARD_RIGHTS_REQUIRED = 0x000F0000 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { STANDARD_RIGHTS_READ = READ_CONTROL } c2b7a98c21 2011-02-23 kinaba: enum : uint { STANDARD_RIGHTS_WRITE = READ_CONTROL } c2b7a98c21 2011-02-23 kinaba: enum : uint { STANDARD_RIGHTS_EXECUTE = READ_CONTROL } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { STANDARD_RIGHTS_ALL = 0x001F0000 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { SPECIFIC_RIGHTS_ALL = 0x0000FFFF } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { ACCESS_SYSTEM_SECURITY = 0x01000000 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { MAXIMUM_ALLOWED = 0x02000000 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { GENERIC_READ = 0x80000000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { GENERIC_WRITE = 0x40000000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { GENERIC_EXECUTE = 0x20000000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { GENERIC_ALL = 0x10000000 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _GENERIC_MAPPING { c2b7a98c21 2011-02-23 kinaba: ACCESS_MASK GenericRead; c2b7a98c21 2011-02-23 kinaba: ACCESS_MASK GenericWrite; c2b7a98c21 2011-02-23 kinaba: ACCESS_MASK GenericExecute; c2b7a98c21 2011-02-23 kinaba: ACCESS_MASK GenericAll; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _GENERIC_MAPPING GENERIC_MAPPING; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: alias GENERIC_MAPPING* PGENERIC_MAPPING; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: align(4): c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _LUID_AND_ATTRIBUTES { c2b7a98c21 2011-02-23 kinaba: LUID Luid; c2b7a98c21 2011-02-23 kinaba: DWORD Attributes; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _LUID_AND_ATTRIBUTES LUID_AND_ATTRIBUTES; c2b7a98c21 2011-02-23 kinaba: alias _LUID_AND_ATTRIBUTES* PLUID_AND_ATTRIBUTES; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: alias LUID_AND_ATTRIBUTES LUID_AND_ATTRIBUTES_ARRAY[ANYSIZE_ARRAY]; c2b7a98c21 2011-02-23 kinaba: alias LUID_AND_ATTRIBUTES_ARRAY* PLUID_AND_ATTRIBUTES_ARRAY; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: align: c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #ifndef SID_IDENTIFIER_AUTHORITY_DEFINED c2b7a98c21 2011-02-23 kinaba: // #define SID_IDENTIFIER_AUTHORITY_DEFINED c2b7a98c21 2011-02-23 kinaba: struct _SID_IDENTIFIER_AUTHORITY { c2b7a98c21 2011-02-23 kinaba: BYTE Value[6]; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _SID_IDENTIFIER_AUTHORITY SID_IDENTIFIER_AUTHORITY; c2b7a98c21 2011-02-23 kinaba: alias _SID_IDENTIFIER_AUTHORITY* PSID_IDENTIFIER_AUTHORITY; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #ifndef SID_DEFINED c2b7a98c21 2011-02-23 kinaba: // #define SID_DEFINED c2b7a98c21 2011-02-23 kinaba: struct _SID { c2b7a98c21 2011-02-23 kinaba: BYTE Revision; c2b7a98c21 2011-02-23 kinaba: BYTE SubAuthorityCount; c2b7a98c21 2011-02-23 kinaba: SID_IDENTIFIER_AUTHORITY IdentifierAuthority; c2b7a98c21 2011-02-23 kinaba: // #ifdef MIDL_PASS c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: // #else // MIDL_PASS c2b7a98c21 2011-02-23 kinaba: DWORD SubAuthority[ANYSIZE_ARRAY]; c2b7a98c21 2011-02-23 kinaba: // #endif // MIDL_PASS c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _SID SID; c2b7a98c21 2011-02-23 kinaba: alias _SID* PISID; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { SID_REVISION = 1 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SID_MAX_SUB_AUTHORITIES = 15 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SID_RECOMMENDED_SUB_AUTHORITIES = 1 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #ifndef MIDL_PASS c2b7a98c21 2011-02-23 kinaba: const uint SECURITY_MAX_SID_SIZE = SID.sizeof - DWORD.sizeof + (SID_MAX_SUB_AUTHORITIES * DWORD.sizeof); c2b7a98c21 2011-02-23 kinaba: // #endif // MIDL_PASS c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: alias int _SID_NAME_USE; c2b7a98c21 2011-02-23 kinaba: enum { c2b7a98c21 2011-02-23 kinaba: SidTypeUser = 1, c2b7a98c21 2011-02-23 kinaba: SidTypeGroup, c2b7a98c21 2011-02-23 kinaba: SidTypeDomain, c2b7a98c21 2011-02-23 kinaba: SidTypeAlias, c2b7a98c21 2011-02-23 kinaba: SidTypeWellKnownGroup, c2b7a98c21 2011-02-23 kinaba: SidTypeDeletedAccount, c2b7a98c21 2011-02-23 kinaba: SidTypeInvalid, c2b7a98c21 2011-02-23 kinaba: SidTypeUnknown, c2b7a98c21 2011-02-23 kinaba: SidTypeComputer, c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _SID_NAME_USE SID_NAME_USE; c2b7a98c21 2011-02-23 kinaba: alias _SID_NAME_USE* PSID_NAME_USE; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _SID_AND_ATTRIBUTES { c2b7a98c21 2011-02-23 kinaba: PSID Sid; c2b7a98c21 2011-02-23 kinaba: DWORD Attributes; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _SID_AND_ATTRIBUTES SID_AND_ATTRIBUTES; c2b7a98c21 2011-02-23 kinaba: alias _SID_AND_ATTRIBUTES* PSID_AND_ATTRIBUTES; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: alias SID_AND_ATTRIBUTES SID_AND_ATTRIBUTES_ARRAY[ANYSIZE_ARRAY]; c2b7a98c21 2011-02-23 kinaba: alias SID_AND_ATTRIBUTES_ARRAY* PSID_AND_ATTRIBUTES_ARRAY; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #define SECURITY_NULL_SID_AUTHORITY {0,0,0,0,0,0} c2b7a98c21 2011-02-23 kinaba: // #define SECURITY_WORLD_SID_AUTHORITY {0,0,0,0,0,1} c2b7a98c21 2011-02-23 kinaba: // #define SECURITY_LOCAL_SID_AUTHORITY {0,0,0,0,0,2} c2b7a98c21 2011-02-23 kinaba: // #define SECURITY_CREATOR_SID_AUTHORITY {0,0,0,0,0,3} c2b7a98c21 2011-02-23 kinaba: // #define SECURITY_NON_UNIQUE_AUTHORITY {0,0,0,0,0,4} c2b7a98c21 2011-02-23 kinaba: // #define SECURITY_RESOURCE_MANAGER_AUTHORITY {0,0,0,0,0,9} c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { SECURITY_NULL_RID = 0x00000000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SECURITY_WORLD_RID = 0x00000000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SECURITY_LOCAL_RID = 0x00000000 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { SECURITY_CREATOR_OWNER_RID = 0x00000000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SECURITY_CREATOR_GROUP_RID = 0x00000001 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { SECURITY_CREATOR_OWNER_SERVER_RID = 0x00000002 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SECURITY_CREATOR_GROUP_SERVER_RID = 0x00000003 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #define SECURITY_NT_AUTHORITY {0,0,0,0,0,5} c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { SECURITY_DIALUP_RID = 0x00000001 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SECURITY_NETWORK_RID = 0x00000002 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SECURITY_BATCH_RID = 0x00000003 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SECURITY_INTERACTIVE_RID = 0x00000004 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SECURITY_SERVICE_RID = 0x00000006 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SECURITY_ANONYMOUS_LOGON_RID = 0x00000007 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SECURITY_PROXY_RID = 0x00000008 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SECURITY_ENTERPRISE_CONTROLLERS_RID = 0x00000009 } c2b7a98c21 2011-02-23 kinaba: alias SECURITY_ENTERPRISE_CONTROLLERS_RID SECURITY_SERVER_LOGON_RID; c2b7a98c21 2011-02-23 kinaba: enum : uint { SECURITY_PRINCIPAL_SELF_RID = 0x0000000A } c2b7a98c21 2011-02-23 kinaba: enum : uint { SECURITY_AUTHENTICATED_USER_RID = 0x0000000B } c2b7a98c21 2011-02-23 kinaba: enum : uint { SECURITY_RESTRICTED_CODE_RID = 0x0000000C } c2b7a98c21 2011-02-23 kinaba: enum : uint { SECURITY_TERMINAL_SERVER_RID = 0x0000000D } c2b7a98c21 2011-02-23 kinaba: enum : uint { SECURITY_REMOTE_LOGON_RID = 0x0000000E } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { SECURITY_LOGON_IDS_RID = 0x00000005 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SECURITY_LOGON_IDS_RID_COUNT = 3 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { SECURITY_LOCAL_SYSTEM_RID = 0x00000012 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SECURITY_LOCAL_SERVICE_RID = 0x00000013 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SECURITY_NETWORK_SERVICE_RID = 0x00000014 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { SECURITY_NT_NON_UNIQUE = 0x00000015 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SECURITY_NT_NON_UNIQUE_SUB_AUTH_COUNT = 3 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { SECURITY_BUILTIN_DOMAIN_RID = 0x00000020 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { DOMAIN_USER_RID_ADMIN = 0x000001F4 } c2b7a98c21 2011-02-23 kinaba: enum : uint { DOMAIN_USER_RID_GUEST = 0x000001F5 } c2b7a98c21 2011-02-23 kinaba: enum : uint { DOMAIN_USER_RID_KRBTGT = 0x000001F6 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { DOMAIN_GROUP_RID_ADMINS = 0x00000200 } c2b7a98c21 2011-02-23 kinaba: enum : uint { DOMAIN_GROUP_RID_USERS = 0x00000201 } c2b7a98c21 2011-02-23 kinaba: enum : uint { DOMAIN_GROUP_RID_GUESTS = 0x00000202 } c2b7a98c21 2011-02-23 kinaba: enum : uint { DOMAIN_GROUP_RID_COMPUTERS = 0x00000203 } c2b7a98c21 2011-02-23 kinaba: enum : uint { DOMAIN_GROUP_RID_CONTROLLERS = 0x00000204 } c2b7a98c21 2011-02-23 kinaba: enum : uint { DOMAIN_GROUP_RID_CERT_ADMINS = 0x00000205 } c2b7a98c21 2011-02-23 kinaba: enum : uint { DOMAIN_GROUP_RID_SCHEMA_ADMINS = 0x00000206 } c2b7a98c21 2011-02-23 kinaba: enum : uint { DOMAIN_GROUP_RID_ENTERPRISE_ADMINS = 0x00000207 } c2b7a98c21 2011-02-23 kinaba: enum : uint { DOMAIN_GROUP_RID_POLICY_ADMINS = 0x00000208 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { DOMAIN_ALIAS_RID_ADMINS = 0x00000220 } c2b7a98c21 2011-02-23 kinaba: enum : uint { DOMAIN_ALIAS_RID_USERS = 0x00000221 } c2b7a98c21 2011-02-23 kinaba: enum : uint { DOMAIN_ALIAS_RID_GUESTS = 0x00000222 } c2b7a98c21 2011-02-23 kinaba: enum : uint { DOMAIN_ALIAS_RID_POWER_USERS = 0x00000223 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { DOMAIN_ALIAS_RID_ACCOUNT_OPS = 0x00000224 } c2b7a98c21 2011-02-23 kinaba: enum : uint { DOMAIN_ALIAS_RID_SYSTEM_OPS = 0x00000225 } c2b7a98c21 2011-02-23 kinaba: enum : uint { DOMAIN_ALIAS_RID_PRINT_OPS = 0x00000226 } c2b7a98c21 2011-02-23 kinaba: enum : uint { DOMAIN_ALIAS_RID_BACKUP_OPS = 0x00000227 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { DOMAIN_ALIAS_RID_REPLICATOR = 0x00000228 } c2b7a98c21 2011-02-23 kinaba: enum : uint { DOMAIN_ALIAS_RID_RAS_SERVERS = 0x00000229 } c2b7a98c21 2011-02-23 kinaba: enum : uint { DOMAIN_ALIAS_RID_PREW2KCOMPACCESS = 0x0000022A } c2b7a98c21 2011-02-23 kinaba: enum : uint { DOMAIN_ALIAS_RID_REMOTE_DESKTOP_USERS = 0x0000022B } c2b7a98c21 2011-02-23 kinaba: enum : uint { DOMAIN_ALIAS_RID_NETWORK_CONFIGURATION_OPS = 0x0000022C } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: const LUID SYSTEM_LUID = {LowPart: 0x3e7, HighPart: 0x0}; c2b7a98c21 2011-02-23 kinaba: const LUID ANONYMOUS_LOGON_LUID = {LowPart: 0x3e6, HighPart: 0x0}; c2b7a98c21 2011-02-23 kinaba: const LUID LOCALSERVICE_LUID = {LowPart: 0x3e5, HighPart: 0x0}; c2b7a98c21 2011-02-23 kinaba: const LUID NETWORKSERVICE_LUID = {LowPart: 0x3e4, HighPart: 0x0}; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { SE_GROUP_MANDATORY = 0x00000001 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SE_GROUP_ENABLED_BY_DEFAULT = 0x00000002 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SE_GROUP_ENABLED = 0x00000004 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SE_GROUP_OWNER = 0x00000008 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SE_GROUP_USE_FOR_DENY_ONLY = 0x00000010 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SE_GROUP_LOGON_ID = 0xC0000000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SE_GROUP_RESOURCE = 0x20000000 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { ACL_REVISION = 2 } c2b7a98c21 2011-02-23 kinaba: enum : uint { ACL_REVISION_DS = 4 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { ACL_REVISION1 = 1 } c2b7a98c21 2011-02-23 kinaba: enum { MIN_ACL_REVISION = 2 } c2b7a98c21 2011-02-23 kinaba: enum : uint { ACL_REVISION2 = 2 } c2b7a98c21 2011-02-23 kinaba: enum : uint { ACL_REVISION3 = 3 } c2b7a98c21 2011-02-23 kinaba: enum : uint { ACL_REVISION4 = 4 } c2b7a98c21 2011-02-23 kinaba: alias ACL_REVISION4 MAX_ACL_REVISION; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _ACL { c2b7a98c21 2011-02-23 kinaba: BYTE AclRevision; c2b7a98c21 2011-02-23 kinaba: BYTE Sbz1; c2b7a98c21 2011-02-23 kinaba: WORD AclSize; c2b7a98c21 2011-02-23 kinaba: WORD AceCount; c2b7a98c21 2011-02-23 kinaba: WORD Sbz2; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _ACL ACL; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: alias ACL* PACL; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _ACE_HEADER { c2b7a98c21 2011-02-23 kinaba: BYTE AceType; c2b7a98c21 2011-02-23 kinaba: BYTE AceFlags; c2b7a98c21 2011-02-23 kinaba: WORD AceSize; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _ACE_HEADER ACE_HEADER; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: alias ACE_HEADER* PACE_HEADER; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { ACCESS_MIN_MS_ACE_TYPE = 0x0 } c2b7a98c21 2011-02-23 kinaba: enum : uint { ACCESS_ALLOWED_ACE_TYPE = 0x0 } c2b7a98c21 2011-02-23 kinaba: enum : uint { ACCESS_DENIED_ACE_TYPE = 0x1 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SYSTEM_AUDIT_ACE_TYPE = 0x2 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SYSTEM_ALARM_ACE_TYPE = 0x3 } c2b7a98c21 2011-02-23 kinaba: enum : uint { ACCESS_MAX_MS_V2_ACE_TYPE = 0x3 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { ACCESS_ALLOWED_COMPOUND_ACE_TYPE = 0x4 } c2b7a98c21 2011-02-23 kinaba: enum : uint { ACCESS_MAX_MS_V3_ACE_TYPE = 0x4 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { ACCESS_MIN_MS_OBJECT_ACE_TYPE = 0x5 } c2b7a98c21 2011-02-23 kinaba: enum : uint { ACCESS_ALLOWED_OBJECT_ACE_TYPE = 0x5 } c2b7a98c21 2011-02-23 kinaba: enum : uint { ACCESS_DENIED_OBJECT_ACE_TYPE = 0x6 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SYSTEM_AUDIT_OBJECT_ACE_TYPE = 0x7 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SYSTEM_ALARM_OBJECT_ACE_TYPE = 0x8 } c2b7a98c21 2011-02-23 kinaba: enum : uint { ACCESS_MAX_MS_OBJECT_ACE_TYPE = 0x8 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { ACCESS_MAX_MS_V4_ACE_TYPE = 0x8 } c2b7a98c21 2011-02-23 kinaba: enum : uint { ACCESS_MAX_MS_ACE_TYPE = 0x8 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { ACCESS_ALLOWED_CALLBACK_ACE_TYPE = 0x9 } c2b7a98c21 2011-02-23 kinaba: enum : uint { ACCESS_DENIED_CALLBACK_ACE_TYPE = 0xA } c2b7a98c21 2011-02-23 kinaba: enum : uint { ACCESS_ALLOWED_CALLBACK_OBJECT_ACE_TYPE = 0xB } c2b7a98c21 2011-02-23 kinaba: enum : uint { ACCESS_DENIED_CALLBACK_OBJECT_ACE_TYPE = 0xC } c2b7a98c21 2011-02-23 kinaba: enum : uint { SYSTEM_AUDIT_CALLBACK_ACE_TYPE = 0xD } c2b7a98c21 2011-02-23 kinaba: enum : uint { SYSTEM_ALARM_CALLBACK_ACE_TYPE = 0xE } c2b7a98c21 2011-02-23 kinaba: enum : uint { SYSTEM_AUDIT_CALLBACK_OBJECT_ACE_TYPE = 0xF } c2b7a98c21 2011-02-23 kinaba: enum : uint { SYSTEM_ALARM_CALLBACK_OBJECT_ACE_TYPE = 0x10 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { ACCESS_MAX_MS_V5_ACE_TYPE = 0x10 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { OBJECT_INHERIT_ACE = 0x1 } c2b7a98c21 2011-02-23 kinaba: enum : uint { CONTAINER_INHERIT_ACE = 0x2 } c2b7a98c21 2011-02-23 kinaba: enum : uint { NO_PROPAGATE_INHERIT_ACE = 0x4 } c2b7a98c21 2011-02-23 kinaba: enum : uint { INHERIT_ONLY_ACE = 0x8 } c2b7a98c21 2011-02-23 kinaba: enum : uint { INHERITED_ACE = 0x10 } c2b7a98c21 2011-02-23 kinaba: enum : uint { VALID_INHERIT_FLAGS = 0x1F } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { SUCCESSFUL_ACCESS_ACE_FLAG = 0x40 } c2b7a98c21 2011-02-23 kinaba: enum : uint { FAILED_ACCESS_ACE_FLAG = 0x80 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _ACCESS_ALLOWED_ACE { c2b7a98c21 2011-02-23 kinaba: ACE_HEADER Header; c2b7a98c21 2011-02-23 kinaba: ACCESS_MASK Mask; c2b7a98c21 2011-02-23 kinaba: DWORD SidStart; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _ACCESS_ALLOWED_ACE ACCESS_ALLOWED_ACE; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: alias ACCESS_ALLOWED_ACE* PACCESS_ALLOWED_ACE; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _ACCESS_DENIED_ACE { c2b7a98c21 2011-02-23 kinaba: ACE_HEADER Header; c2b7a98c21 2011-02-23 kinaba: ACCESS_MASK Mask; c2b7a98c21 2011-02-23 kinaba: DWORD SidStart; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _ACCESS_DENIED_ACE ACCESS_DENIED_ACE; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: alias ACCESS_DENIED_ACE* PACCESS_DENIED_ACE; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _SYSTEM_AUDIT_ACE { c2b7a98c21 2011-02-23 kinaba: ACE_HEADER Header; c2b7a98c21 2011-02-23 kinaba: ACCESS_MASK Mask; c2b7a98c21 2011-02-23 kinaba: DWORD SidStart; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _SYSTEM_AUDIT_ACE SYSTEM_AUDIT_ACE; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: alias SYSTEM_AUDIT_ACE* PSYSTEM_AUDIT_ACE; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _SYSTEM_ALARM_ACE { c2b7a98c21 2011-02-23 kinaba: ACE_HEADER Header; c2b7a98c21 2011-02-23 kinaba: ACCESS_MASK Mask; c2b7a98c21 2011-02-23 kinaba: DWORD SidStart; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _SYSTEM_ALARM_ACE SYSTEM_ALARM_ACE; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: alias SYSTEM_ALARM_ACE* PSYSTEM_ALARM_ACE; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _ACCESS_ALLOWED_OBJECT_ACE { c2b7a98c21 2011-02-23 kinaba: ACE_HEADER Header; c2b7a98c21 2011-02-23 kinaba: ACCESS_MASK Mask; c2b7a98c21 2011-02-23 kinaba: DWORD Flags; c2b7a98c21 2011-02-23 kinaba: GUID ObjectType; c2b7a98c21 2011-02-23 kinaba: GUID InheritedObjectType; c2b7a98c21 2011-02-23 kinaba: DWORD SidStart; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _ACCESS_ALLOWED_OBJECT_ACE ACCESS_ALLOWED_OBJECT_ACE; c2b7a98c21 2011-02-23 kinaba: alias _ACCESS_ALLOWED_OBJECT_ACE* PACCESS_ALLOWED_OBJECT_ACE; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _ACCESS_DENIED_OBJECT_ACE { c2b7a98c21 2011-02-23 kinaba: ACE_HEADER Header; c2b7a98c21 2011-02-23 kinaba: ACCESS_MASK Mask; c2b7a98c21 2011-02-23 kinaba: DWORD Flags; c2b7a98c21 2011-02-23 kinaba: GUID ObjectType; c2b7a98c21 2011-02-23 kinaba: GUID InheritedObjectType; c2b7a98c21 2011-02-23 kinaba: DWORD SidStart; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _ACCESS_DENIED_OBJECT_ACE ACCESS_DENIED_OBJECT_ACE; c2b7a98c21 2011-02-23 kinaba: alias _ACCESS_DENIED_OBJECT_ACE* PACCESS_DENIED_OBJECT_ACE; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _SYSTEM_AUDIT_OBJECT_ACE { c2b7a98c21 2011-02-23 kinaba: ACE_HEADER Header; c2b7a98c21 2011-02-23 kinaba: ACCESS_MASK Mask; c2b7a98c21 2011-02-23 kinaba: DWORD Flags; c2b7a98c21 2011-02-23 kinaba: GUID ObjectType; c2b7a98c21 2011-02-23 kinaba: GUID InheritedObjectType; c2b7a98c21 2011-02-23 kinaba: DWORD SidStart; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _SYSTEM_AUDIT_OBJECT_ACE SYSTEM_AUDIT_OBJECT_ACE; c2b7a98c21 2011-02-23 kinaba: alias _SYSTEM_AUDIT_OBJECT_ACE* PSYSTEM_AUDIT_OBJECT_ACE; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _SYSTEM_ALARM_OBJECT_ACE { c2b7a98c21 2011-02-23 kinaba: ACE_HEADER Header; c2b7a98c21 2011-02-23 kinaba: ACCESS_MASK Mask; c2b7a98c21 2011-02-23 kinaba: DWORD Flags; c2b7a98c21 2011-02-23 kinaba: GUID ObjectType; c2b7a98c21 2011-02-23 kinaba: GUID InheritedObjectType; c2b7a98c21 2011-02-23 kinaba: DWORD SidStart; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _SYSTEM_ALARM_OBJECT_ACE SYSTEM_ALARM_OBJECT_ACE; c2b7a98c21 2011-02-23 kinaba: alias _SYSTEM_ALARM_OBJECT_ACE* PSYSTEM_ALARM_OBJECT_ACE; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _ACCESS_ALLOWED_CALLBACK_ACE { c2b7a98c21 2011-02-23 kinaba: ACE_HEADER Header; c2b7a98c21 2011-02-23 kinaba: ACCESS_MASK Mask; c2b7a98c21 2011-02-23 kinaba: DWORD SidStart; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _ACCESS_ALLOWED_CALLBACK_ACE ACCESS_ALLOWED_CALLBACK_ACE; c2b7a98c21 2011-02-23 kinaba: alias _ACCESS_ALLOWED_CALLBACK_ACE* PACCESS_ALLOWED_CALLBACK_ACE; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _ACCESS_DENIED_CALLBACK_ACE { c2b7a98c21 2011-02-23 kinaba: ACE_HEADER Header; c2b7a98c21 2011-02-23 kinaba: ACCESS_MASK Mask; c2b7a98c21 2011-02-23 kinaba: DWORD SidStart; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _ACCESS_DENIED_CALLBACK_ACE ACCESS_DENIED_CALLBACK_ACE; c2b7a98c21 2011-02-23 kinaba: alias _ACCESS_DENIED_CALLBACK_ACE* PACCESS_DENIED_CALLBACK_ACE; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _SYSTEM_AUDIT_CALLBACK_ACE { c2b7a98c21 2011-02-23 kinaba: ACE_HEADER Header; c2b7a98c21 2011-02-23 kinaba: ACCESS_MASK Mask; c2b7a98c21 2011-02-23 kinaba: DWORD SidStart; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _SYSTEM_AUDIT_CALLBACK_ACE SYSTEM_AUDIT_CALLBACK_ACE; c2b7a98c21 2011-02-23 kinaba: alias _SYSTEM_AUDIT_CALLBACK_ACE* PSYSTEM_AUDIT_CALLBACK_ACE; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _SYSTEM_ALARM_CALLBACK_ACE { c2b7a98c21 2011-02-23 kinaba: ACE_HEADER Header; c2b7a98c21 2011-02-23 kinaba: ACCESS_MASK Mask; c2b7a98c21 2011-02-23 kinaba: DWORD SidStart; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _SYSTEM_ALARM_CALLBACK_ACE SYSTEM_ALARM_CALLBACK_ACE; c2b7a98c21 2011-02-23 kinaba: alias _SYSTEM_ALARM_CALLBACK_ACE* PSYSTEM_ALARM_CALLBACK_ACE; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _ACCESS_ALLOWED_CALLBACK_OBJECT_ACE { c2b7a98c21 2011-02-23 kinaba: ACE_HEADER Header; c2b7a98c21 2011-02-23 kinaba: ACCESS_MASK Mask; c2b7a98c21 2011-02-23 kinaba: DWORD Flags; c2b7a98c21 2011-02-23 kinaba: GUID ObjectType; c2b7a98c21 2011-02-23 kinaba: GUID InheritedObjectType; c2b7a98c21 2011-02-23 kinaba: DWORD SidStart; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _ACCESS_ALLOWED_CALLBACK_OBJECT_ACE ACCESS_ALLOWED_CALLBACK_OBJECT_ACE; c2b7a98c21 2011-02-23 kinaba: alias _ACCESS_ALLOWED_CALLBACK_OBJECT_ACE* PACCESS_ALLOWED_CALLBACK_OBJECT_ACE; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _ACCESS_DENIED_CALLBACK_OBJECT_ACE { c2b7a98c21 2011-02-23 kinaba: ACE_HEADER Header; c2b7a98c21 2011-02-23 kinaba: ACCESS_MASK Mask; c2b7a98c21 2011-02-23 kinaba: DWORD Flags; c2b7a98c21 2011-02-23 kinaba: GUID ObjectType; c2b7a98c21 2011-02-23 kinaba: GUID InheritedObjectType; c2b7a98c21 2011-02-23 kinaba: DWORD SidStart; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _ACCESS_DENIED_CALLBACK_OBJECT_ACE ACCESS_DENIED_CALLBACK_OBJECT_ACE; c2b7a98c21 2011-02-23 kinaba: alias _ACCESS_DENIED_CALLBACK_OBJECT_ACE* PACCESS_DENIED_CALLBACK_OBJECT_ACE; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _SYSTEM_AUDIT_CALLBACK_OBJECT_ACE { c2b7a98c21 2011-02-23 kinaba: ACE_HEADER Header; c2b7a98c21 2011-02-23 kinaba: ACCESS_MASK Mask; c2b7a98c21 2011-02-23 kinaba: DWORD Flags; c2b7a98c21 2011-02-23 kinaba: GUID ObjectType; c2b7a98c21 2011-02-23 kinaba: GUID InheritedObjectType; c2b7a98c21 2011-02-23 kinaba: DWORD SidStart; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _SYSTEM_AUDIT_CALLBACK_OBJECT_ACE SYSTEM_AUDIT_CALLBACK_OBJECT_ACE; c2b7a98c21 2011-02-23 kinaba: alias _SYSTEM_AUDIT_CALLBACK_OBJECT_ACE* PSYSTEM_AUDIT_CALLBACK_OBJECT_ACE; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _SYSTEM_ALARM_CALLBACK_OBJECT_ACE { c2b7a98c21 2011-02-23 kinaba: ACE_HEADER Header; c2b7a98c21 2011-02-23 kinaba: ACCESS_MASK Mask; c2b7a98c21 2011-02-23 kinaba: DWORD Flags; c2b7a98c21 2011-02-23 kinaba: GUID ObjectType; c2b7a98c21 2011-02-23 kinaba: GUID InheritedObjectType; c2b7a98c21 2011-02-23 kinaba: DWORD SidStart; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _SYSTEM_ALARM_CALLBACK_OBJECT_ACE SYSTEM_ALARM_CALLBACK_OBJECT_ACE; c2b7a98c21 2011-02-23 kinaba: alias _SYSTEM_ALARM_CALLBACK_OBJECT_ACE* PSYSTEM_ALARM_CALLBACK_OBJECT_ACE; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { ACE_OBJECT_TYPE_PRESENT = 0x1 } c2b7a98c21 2011-02-23 kinaba: enum : uint { ACE_INHERITED_OBJECT_TYPE_PRESENT = 0x2 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: alias int _ACL_INFORMATION_CLASS; c2b7a98c21 2011-02-23 kinaba: enum { c2b7a98c21 2011-02-23 kinaba: AclRevisionInformation = 1, c2b7a98c21 2011-02-23 kinaba: AclSizeInformation, c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _ACL_INFORMATION_CLASS ACL_INFORMATION_CLASS; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _ACL_REVISION_INFORMATION { c2b7a98c21 2011-02-23 kinaba: DWORD AclRevision; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _ACL_REVISION_INFORMATION ACL_REVISION_INFORMATION; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: alias ACL_REVISION_INFORMATION* PACL_REVISION_INFORMATION; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _ACL_SIZE_INFORMATION { c2b7a98c21 2011-02-23 kinaba: DWORD AceCount; c2b7a98c21 2011-02-23 kinaba: DWORD AclBytesInUse; c2b7a98c21 2011-02-23 kinaba: DWORD AclBytesFree; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _ACL_SIZE_INFORMATION ACL_SIZE_INFORMATION; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: alias ACL_SIZE_INFORMATION* PACL_SIZE_INFORMATION; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { SECURITY_DESCRIPTOR_REVISION = 1 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SECURITY_DESCRIPTOR_REVISION1 = 1 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: const uint SECURITY_DESCRIPTOR_MIN_LENGTH = SECURITY_DESCRIPTOR.sizeof; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: alias WORD SECURITY_DESCRIPTOR_CONTROL; c2b7a98c21 2011-02-23 kinaba: alias WORD* PSECURITY_DESCRIPTOR_CONTROL; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { SE_OWNER_DEFAULTED = 0x0001 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SE_GROUP_DEFAULTED = 0x0002 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SE_DACL_PRESENT = 0x0004 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SE_DACL_DEFAULTED = 0x0008 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SE_SACL_PRESENT = 0x0010 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SE_SACL_DEFAULTED = 0x0020 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SE_DACL_AUTO_INHERIT_REQ = 0x0100 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SE_SACL_AUTO_INHERIT_REQ = 0x0200 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SE_DACL_AUTO_INHERITED = 0x0400 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SE_SACL_AUTO_INHERITED = 0x0800 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SE_DACL_PROTECTED = 0x1000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SE_SACL_PROTECTED = 0x2000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SE_RM_CONTROL_VALID = 0x4000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SE_SELF_RELATIVE = 0x8000 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _SECURITY_DESCRIPTOR_RELATIVE { c2b7a98c21 2011-02-23 kinaba: BYTE Revision; c2b7a98c21 2011-02-23 kinaba: BYTE Sbz1; c2b7a98c21 2011-02-23 kinaba: SECURITY_DESCRIPTOR_CONTROL Control; c2b7a98c21 2011-02-23 kinaba: DWORD Owner; c2b7a98c21 2011-02-23 kinaba: DWORD Group; c2b7a98c21 2011-02-23 kinaba: DWORD Sacl; c2b7a98c21 2011-02-23 kinaba: DWORD Dacl; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _SECURITY_DESCRIPTOR_RELATIVE SECURITY_DESCRIPTOR_RELATIVE; c2b7a98c21 2011-02-23 kinaba: alias _SECURITY_DESCRIPTOR_RELATIVE* PISECURITY_DESCRIPTOR_RELATIVE; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _SECURITY_DESCRIPTOR { c2b7a98c21 2011-02-23 kinaba: BYTE Revision; c2b7a98c21 2011-02-23 kinaba: BYTE Sbz1; c2b7a98c21 2011-02-23 kinaba: SECURITY_DESCRIPTOR_CONTROL Control; c2b7a98c21 2011-02-23 kinaba: PSID Owner; c2b7a98c21 2011-02-23 kinaba: PSID Group; c2b7a98c21 2011-02-23 kinaba: PACL Sacl; c2b7a98c21 2011-02-23 kinaba: PACL Dacl; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _SECURITY_DESCRIPTOR SECURITY_DESCRIPTOR; c2b7a98c21 2011-02-23 kinaba: alias _SECURITY_DESCRIPTOR* PISECURITY_DESCRIPTOR; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _OBJECT_TYPE_LIST { c2b7a98c21 2011-02-23 kinaba: WORD Level; c2b7a98c21 2011-02-23 kinaba: WORD Sbz; c2b7a98c21 2011-02-23 kinaba: GUID *ObjectType; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _OBJECT_TYPE_LIST OBJECT_TYPE_LIST; c2b7a98c21 2011-02-23 kinaba: alias _OBJECT_TYPE_LIST* POBJECT_TYPE_LIST; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { ACCESS_OBJECT_GUID = 0 } c2b7a98c21 2011-02-23 kinaba: enum : uint { ACCESS_PROPERTY_SET_GUID = 1 } c2b7a98c21 2011-02-23 kinaba: enum : uint { ACCESS_PROPERTY_GUID = 2 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { ACCESS_MAX_LEVEL = 4 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: alias int _AUDIT_EVENT_TYPE; c2b7a98c21 2011-02-23 kinaba: enum { c2b7a98c21 2011-02-23 kinaba: AuditEventObjectAccess, c2b7a98c21 2011-02-23 kinaba: AuditEventDirectoryServiceAccess, c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _AUDIT_EVENT_TYPE AUDIT_EVENT_TYPE; c2b7a98c21 2011-02-23 kinaba: alias _AUDIT_EVENT_TYPE* PAUDIT_EVENT_TYPE; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { AUDIT_ALLOW_NO_PRIVILEGE = 0x1 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: const char[] ACCESS_DS_SOURCE_A = "DS"; c2b7a98c21 2011-02-23 kinaba: const wchar[] ACCESS_DS_SOURCE_W = "DS"; c2b7a98c21 2011-02-23 kinaba: const char[] ACCESS_DS_OBJECT_TYPE_NAME_A = "Directory Service Object"; c2b7a98c21 2011-02-23 kinaba: const wchar[] ACCESS_DS_OBJECT_TYPE_NAME_W = "Directory Service Object"; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { SE_PRIVILEGE_ENABLED_BY_DEFAULT = 0x00000001 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SE_PRIVILEGE_ENABLED = 0x00000002 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SE_PRIVILEGE_USED_FOR_ACCESS = 0x80000000 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { PRIVILEGE_SET_ALL_NECESSARY = 1 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _PRIVILEGE_SET { c2b7a98c21 2011-02-23 kinaba: DWORD PrivilegeCount; c2b7a98c21 2011-02-23 kinaba: DWORD Control; c2b7a98c21 2011-02-23 kinaba: LUID_AND_ATTRIBUTES Privilege[ANYSIZE_ARRAY]; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _PRIVILEGE_SET PRIVILEGE_SET; c2b7a98c21 2011-02-23 kinaba: alias _PRIVILEGE_SET* PPRIVILEGE_SET; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: const TCHAR[] SE_CREATE_TOKEN_NAME = "SeCreateTokenPrivilege"; c2b7a98c21 2011-02-23 kinaba: const TCHAR[] SE_ASSIGNPRIMARYTOKEN_NAME = "SeAssignPrimaryTokenPrivilege"; c2b7a98c21 2011-02-23 kinaba: const TCHAR[] SE_LOCK_MEMORY_NAME = "SeLockMemoryPrivilege"; c2b7a98c21 2011-02-23 kinaba: const TCHAR[] SE_INCREASE_QUOTA_NAME = "SeIncreaseQuotaPrivilege"; c2b7a98c21 2011-02-23 kinaba: const TCHAR[] SE_UNSOLICITED_INPUT_NAME = "SeUnsolicitedInputPrivilege"; c2b7a98c21 2011-02-23 kinaba: const TCHAR[] SE_MACHINE_ACCOUNT_NAME = "SeMachineAccountPrivilege"; c2b7a98c21 2011-02-23 kinaba: const TCHAR[] SE_TCB_NAME = "SeTcbPrivilege"; c2b7a98c21 2011-02-23 kinaba: const TCHAR[] SE_SECURITY_NAME = "SeSecurityPrivilege"; c2b7a98c21 2011-02-23 kinaba: const TCHAR[] SE_TAKE_OWNERSHIP_NAME = "SeTakeOwnershipPrivilege"; c2b7a98c21 2011-02-23 kinaba: const TCHAR[] SE_LOAD_DRIVER_NAME = "SeLoadDriverPrivilege"; c2b7a98c21 2011-02-23 kinaba: const TCHAR[] SE_SYSTEM_PROFILE_NAME = "SeSystemProfilePrivilege"; c2b7a98c21 2011-02-23 kinaba: const TCHAR[] SE_SYSTEMTIME_NAME = "SeSystemtimePrivilege"; c2b7a98c21 2011-02-23 kinaba: const TCHAR[] SE_PROF_SINGLE_PROCESS_NAME = "SeProfileSingleProcessPrivilege"; c2b7a98c21 2011-02-23 kinaba: const TCHAR[] SE_INC_BASE_PRIORITY_NAME = "SeIncreaseBasePriorityPrivilege"; c2b7a98c21 2011-02-23 kinaba: const TCHAR[] SE_CREATE_PAGEFILE_NAME = "SeCreatePagefilePrivilege"; c2b7a98c21 2011-02-23 kinaba: const TCHAR[] SE_CREATE_PERMANENT_NAME = "SeCreatePermanentPrivilege"; c2b7a98c21 2011-02-23 kinaba: const TCHAR[] SE_BACKUP_NAME = "SeBackupPrivilege"; c2b7a98c21 2011-02-23 kinaba: const TCHAR[] SE_RESTORE_NAME = "SeRestorePrivilege"; c2b7a98c21 2011-02-23 kinaba: const TCHAR[] SE_SHUTDOWN_NAME = "SeShutdownPrivilege"; c2b7a98c21 2011-02-23 kinaba: const TCHAR[] SE_DEBUG_NAME = "SeDebugPrivilege"; c2b7a98c21 2011-02-23 kinaba: const TCHAR[] SE_AUDIT_NAME = "SeAuditPrivilege"; c2b7a98c21 2011-02-23 kinaba: const TCHAR[] SE_SYSTEM_ENVIRONMENT_NAME = "SeSystemEnvironmentPrivilege"; c2b7a98c21 2011-02-23 kinaba: const TCHAR[] SE_CHANGE_NOTIFY_NAME = "SeChangeNotifyPrivilege"; c2b7a98c21 2011-02-23 kinaba: const TCHAR[] SE_REMOTE_SHUTDOWN_NAME = "SeRemoteShutdownPrivilege"; c2b7a98c21 2011-02-23 kinaba: const TCHAR[] SE_UNDOCK_NAME = "SeUndockPrivilege"; c2b7a98c21 2011-02-23 kinaba: const TCHAR[] SE_SYNC_AGENT_NAME = "SeSyncAgentPrivilege"; c2b7a98c21 2011-02-23 kinaba: const TCHAR[] SE_ENABLE_DELEGATION_NAME = "SeEnableDelegationPrivilege"; c2b7a98c21 2011-02-23 kinaba: const TCHAR[] SE_MANAGE_VOLUME_NAME = "SeManageVolumePrivilege"; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: alias int _SECURITY_IMPERSONATION_LEVEL; c2b7a98c21 2011-02-23 kinaba: enum { c2b7a98c21 2011-02-23 kinaba: SecurityAnonymous, c2b7a98c21 2011-02-23 kinaba: SecurityIdentification, c2b7a98c21 2011-02-23 kinaba: SecurityImpersonation, c2b7a98c21 2011-02-23 kinaba: SecurityDelegation, c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _SECURITY_IMPERSONATION_LEVEL SECURITY_IMPERSONATION_LEVEL; c2b7a98c21 2011-02-23 kinaba: alias _SECURITY_IMPERSONATION_LEVEL* PSECURITY_IMPERSONATION_LEVEL; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: alias SecurityDelegation SECURITY_MAX_IMPERSONATION_LEVEL; c2b7a98c21 2011-02-23 kinaba: alias SecurityAnonymous SECURITY_MIN_IMPERSONATION_LEVEL; c2b7a98c21 2011-02-23 kinaba: alias SecurityImpersonation DEFAULT_IMPERSONATION_LEVEL; c2b7a98c21 2011-02-23 kinaba: bit VALID_IMPERSONATION_LEVEL(SECURITY_IMPERSONATION_LEVEL L){ return (L >= SECURITY_MIN_IMPERSONATION_LEVEL) && (L <= SECURITY_MAX_IMPERSONATION_LEVEL); } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { TOKEN_ASSIGN_PRIMARY = 0x0001 } c2b7a98c21 2011-02-23 kinaba: enum : uint { TOKEN_DUPLICATE = 0x0002 } c2b7a98c21 2011-02-23 kinaba: enum : uint { TOKEN_IMPERSONATE = 0x0004 } c2b7a98c21 2011-02-23 kinaba: enum : uint { TOKEN_QUERY = 0x0008 } c2b7a98c21 2011-02-23 kinaba: enum : uint { TOKEN_QUERY_SOURCE = 0x0010 } c2b7a98c21 2011-02-23 kinaba: enum : uint { TOKEN_ADJUST_PRIVILEGES = 0x0020 } c2b7a98c21 2011-02-23 kinaba: enum : uint { TOKEN_ADJUST_GROUPS = 0x0040 } c2b7a98c21 2011-02-23 kinaba: enum : uint { TOKEN_ADJUST_DEFAULT = 0x0080 } c2b7a98c21 2011-02-23 kinaba: enum : uint { TOKEN_ADJUST_SESSIONID = 0x0100 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { TOKEN_ALL_ACCESS_P = STANDARD_RIGHTS_REQUIRED | TOKEN_ASSIGN_PRIMARY | TOKEN_DUPLICATE | TOKEN_IMPERSONATE | TOKEN_QUERY | TOKEN_QUERY_SOURCE | TOKEN_ADJUST_PRIVILEGES | TOKEN_ADJUST_GROUPS | TOKEN_ADJUST_DEFAULT } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #if ((defined(_WIN32_WINNT) && (_WIN32_WINNT > 0x0400)) || (!defined(_WIN32_WINNT))) c2b7a98c21 2011-02-23 kinaba: enum : uint { TOKEN_ALL_ACCESS = TOKEN_ALL_ACCESS_P | TOKEN_ADJUST_SESSIONID } c2b7a98c21 2011-02-23 kinaba: // #else c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { TOKEN_READ = STANDARD_RIGHTS_READ | TOKEN_QUERY } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { TOKEN_WRITE = STANDARD_RIGHTS_WRITE | TOKEN_ADJUST_PRIVILEGES | TOKEN_ADJUST_GROUPS | TOKEN_ADJUST_DEFAULT } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { TOKEN_EXECUTE = STANDARD_RIGHTS_EXECUTE } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: alias int _TOKEN_TYPE; c2b7a98c21 2011-02-23 kinaba: enum { c2b7a98c21 2011-02-23 kinaba: TokenPrimary = 1, c2b7a98c21 2011-02-23 kinaba: TokenImpersonation, c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _TOKEN_TYPE TOKEN_TYPE; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: alias TOKEN_TYPE* PTOKEN_TYPE; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: alias int _TOKEN_INFORMATION_CLASS; c2b7a98c21 2011-02-23 kinaba: enum { c2b7a98c21 2011-02-23 kinaba: TokenUser = 1, c2b7a98c21 2011-02-23 kinaba: TokenGroups, c2b7a98c21 2011-02-23 kinaba: TokenPrivileges, c2b7a98c21 2011-02-23 kinaba: TokenOwner, c2b7a98c21 2011-02-23 kinaba: TokenPrimaryGroup, c2b7a98c21 2011-02-23 kinaba: TokenDefaultDacl, c2b7a98c21 2011-02-23 kinaba: TokenSource, c2b7a98c21 2011-02-23 kinaba: TokenType, c2b7a98c21 2011-02-23 kinaba: TokenImpersonationLevel, c2b7a98c21 2011-02-23 kinaba: TokenStatistics, c2b7a98c21 2011-02-23 kinaba: TokenRestrictedSids, c2b7a98c21 2011-02-23 kinaba: TokenSessionId, c2b7a98c21 2011-02-23 kinaba: TokenGroupsAndPrivileges, c2b7a98c21 2011-02-23 kinaba: TokenSessionReference, c2b7a98c21 2011-02-23 kinaba: TokenSandBoxInert, c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _TOKEN_INFORMATION_CLASS TOKEN_INFORMATION_CLASS; c2b7a98c21 2011-02-23 kinaba: alias _TOKEN_INFORMATION_CLASS* PTOKEN_INFORMATION_CLASS; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _TOKEN_USER { c2b7a98c21 2011-02-23 kinaba: SID_AND_ATTRIBUTES User; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _TOKEN_USER TOKEN_USER; c2b7a98c21 2011-02-23 kinaba: alias _TOKEN_USER* PTOKEN_USER; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _TOKEN_GROUPS { c2b7a98c21 2011-02-23 kinaba: DWORD GroupCount; c2b7a98c21 2011-02-23 kinaba: SID_AND_ATTRIBUTES Groups[ANYSIZE_ARRAY]; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _TOKEN_GROUPS TOKEN_GROUPS; c2b7a98c21 2011-02-23 kinaba: alias _TOKEN_GROUPS* PTOKEN_GROUPS; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _TOKEN_PRIVILEGES { c2b7a98c21 2011-02-23 kinaba: DWORD PrivilegeCount; c2b7a98c21 2011-02-23 kinaba: LUID_AND_ATTRIBUTES Privileges[ANYSIZE_ARRAY]; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _TOKEN_PRIVILEGES TOKEN_PRIVILEGES; c2b7a98c21 2011-02-23 kinaba: alias _TOKEN_PRIVILEGES* PTOKEN_PRIVILEGES; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _TOKEN_OWNER { c2b7a98c21 2011-02-23 kinaba: PSID Owner; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _TOKEN_OWNER TOKEN_OWNER; c2b7a98c21 2011-02-23 kinaba: alias _TOKEN_OWNER* PTOKEN_OWNER; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _TOKEN_PRIMARY_GROUP { c2b7a98c21 2011-02-23 kinaba: PSID PrimaryGroup; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _TOKEN_PRIMARY_GROUP TOKEN_PRIMARY_GROUP; c2b7a98c21 2011-02-23 kinaba: alias _TOKEN_PRIMARY_GROUP* PTOKEN_PRIMARY_GROUP; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _TOKEN_DEFAULT_DACL { c2b7a98c21 2011-02-23 kinaba: PACL DefaultDacl; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _TOKEN_DEFAULT_DACL TOKEN_DEFAULT_DACL; c2b7a98c21 2011-02-23 kinaba: alias _TOKEN_DEFAULT_DACL* PTOKEN_DEFAULT_DACL; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _TOKEN_GROUPS_AND_PRIVILEGES { c2b7a98c21 2011-02-23 kinaba: DWORD SidCount; c2b7a98c21 2011-02-23 kinaba: DWORD SidLength; c2b7a98c21 2011-02-23 kinaba: PSID_AND_ATTRIBUTES Sids; c2b7a98c21 2011-02-23 kinaba: DWORD RestrictedSidCount; c2b7a98c21 2011-02-23 kinaba: DWORD RestrictedSidLength; c2b7a98c21 2011-02-23 kinaba: PSID_AND_ATTRIBUTES RestrictedSids; c2b7a98c21 2011-02-23 kinaba: DWORD PrivilegeCount; c2b7a98c21 2011-02-23 kinaba: DWORD PrivilegeLength; c2b7a98c21 2011-02-23 kinaba: PLUID_AND_ATTRIBUTES Privileges; c2b7a98c21 2011-02-23 kinaba: LUID AuthenticationId; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _TOKEN_GROUPS_AND_PRIVILEGES TOKEN_GROUPS_AND_PRIVILEGES; c2b7a98c21 2011-02-23 kinaba: alias _TOKEN_GROUPS_AND_PRIVILEGES* PTOKEN_GROUPS_AND_PRIVILEGES; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { TOKEN_SOURCE_LENGTH = 8 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _TOKEN_SOURCE { c2b7a98c21 2011-02-23 kinaba: CHAR SourceName[TOKEN_SOURCE_LENGTH]; c2b7a98c21 2011-02-23 kinaba: LUID SourceIdentifier; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _TOKEN_SOURCE TOKEN_SOURCE; c2b7a98c21 2011-02-23 kinaba: alias _TOKEN_SOURCE* PTOKEN_SOURCE; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _TOKEN_STATISTICS { c2b7a98c21 2011-02-23 kinaba: LUID TokenId; c2b7a98c21 2011-02-23 kinaba: LUID AuthenticationId; c2b7a98c21 2011-02-23 kinaba: LARGE_INTEGER ExpirationTime; c2b7a98c21 2011-02-23 kinaba: TOKEN_TYPE TokenType; c2b7a98c21 2011-02-23 kinaba: SECURITY_IMPERSONATION_LEVEL ImpersonationLevel; c2b7a98c21 2011-02-23 kinaba: DWORD DynamicCharged; c2b7a98c21 2011-02-23 kinaba: DWORD DynamicAvailable; c2b7a98c21 2011-02-23 kinaba: DWORD GroupCount; c2b7a98c21 2011-02-23 kinaba: DWORD PrivilegeCount; c2b7a98c21 2011-02-23 kinaba: LUID ModifiedId; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _TOKEN_STATISTICS TOKEN_STATISTICS; c2b7a98c21 2011-02-23 kinaba: alias _TOKEN_STATISTICS* PTOKEN_STATISTICS; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _TOKEN_CONTROL { c2b7a98c21 2011-02-23 kinaba: LUID TokenId; c2b7a98c21 2011-02-23 kinaba: LUID AuthenticationId; c2b7a98c21 2011-02-23 kinaba: LUID ModifiedId; c2b7a98c21 2011-02-23 kinaba: TOKEN_SOURCE TokenSource; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _TOKEN_CONTROL TOKEN_CONTROL; c2b7a98c21 2011-02-23 kinaba: alias _TOKEN_CONTROL* PTOKEN_CONTROL; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { SECURITY_DYNAMIC_TRACKING = TRUE } c2b7a98c21 2011-02-23 kinaba: enum : uint { SECURITY_STATIC_TRACKING = FALSE } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: alias BOOLEAN SECURITY_CONTEXT_TRACKING_MODE; c2b7a98c21 2011-02-23 kinaba: alias BOOLEAN* PSECURITY_CONTEXT_TRACKING_MODE; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _SECURITY_QUALITY_OF_SERVICE { c2b7a98c21 2011-02-23 kinaba: DWORD Length; c2b7a98c21 2011-02-23 kinaba: SECURITY_IMPERSONATION_LEVEL ImpersonationLevel; c2b7a98c21 2011-02-23 kinaba: SECURITY_CONTEXT_TRACKING_MODE ContextTrackingMode; c2b7a98c21 2011-02-23 kinaba: BOOLEAN EffectiveOnly; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _SECURITY_QUALITY_OF_SERVICE SECURITY_QUALITY_OF_SERVICE; c2b7a98c21 2011-02-23 kinaba: alias _SECURITY_QUALITY_OF_SERVICE* PSECURITY_QUALITY_OF_SERVICE; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _SE_IMPERSONATION_STATE { c2b7a98c21 2011-02-23 kinaba: PACCESS_TOKEN Token; c2b7a98c21 2011-02-23 kinaba: BOOLEAN CopyOnOpen; c2b7a98c21 2011-02-23 kinaba: BOOLEAN EffectiveOnly; c2b7a98c21 2011-02-23 kinaba: SECURITY_IMPERSONATION_LEVEL Level; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _SE_IMPERSONATION_STATE SE_IMPERSONATION_STATE; c2b7a98c21 2011-02-23 kinaba: alias _SE_IMPERSONATION_STATE* PSE_IMPERSONATION_STATE; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { DISABLE_MAX_PRIVILEGE = 0x1 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SANDBOX_INERT = 0x2 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: alias DWORD SECURITY_INFORMATION; c2b7a98c21 2011-02-23 kinaba: alias DWORD* PSECURITY_INFORMATION; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { OWNER_SECURITY_INFORMATION = 0x00000001 } c2b7a98c21 2011-02-23 kinaba: enum : uint { GROUP_SECURITY_INFORMATION = 0x00000002 } c2b7a98c21 2011-02-23 kinaba: enum : uint { DACL_SECURITY_INFORMATION = 0x00000004 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SACL_SECURITY_INFORMATION = 0x00000008 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { PROTECTED_DACL_SECURITY_INFORMATION = 0x80000000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { PROTECTED_SACL_SECURITY_INFORMATION = 0x40000000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { UNPROTECTED_DACL_SECURITY_INFORMATION = 0x20000000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { UNPROTECTED_SACL_SECURITY_INFORMATION = 0x10000000 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { PROCESS_TERMINATE = 0x0001 } c2b7a98c21 2011-02-23 kinaba: enum : uint { PROCESS_CREATE_THREAD = 0x0002 } c2b7a98c21 2011-02-23 kinaba: enum : uint { PROCESS_SET_SESSIONID = 0x0004 } c2b7a98c21 2011-02-23 kinaba: enum : uint { PROCESS_VM_OPERATION = 0x0008 } c2b7a98c21 2011-02-23 kinaba: enum : uint { PROCESS_VM_READ = 0x0010 } c2b7a98c21 2011-02-23 kinaba: enum : uint { PROCESS_VM_WRITE = 0x0020 } c2b7a98c21 2011-02-23 kinaba: enum : uint { PROCESS_DUP_HANDLE = 0x0040 } c2b7a98c21 2011-02-23 kinaba: enum : uint { PROCESS_CREATE_PROCESS = 0x0080 } c2b7a98c21 2011-02-23 kinaba: enum : uint { PROCESS_SET_QUOTA = 0x0100 } c2b7a98c21 2011-02-23 kinaba: enum : uint { PROCESS_SET_INFORMATION = 0x0200 } c2b7a98c21 2011-02-23 kinaba: enum : uint { PROCESS_QUERY_INFORMATION = 0x0400 } c2b7a98c21 2011-02-23 kinaba: enum : uint { PROCESS_SUSPEND_RESUME = 0x0800 } c2b7a98c21 2011-02-23 kinaba: enum : uint { PROCESS_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0xFFF } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #if defined(_WIN64) c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #else c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { MAXIMUM_PROCESSORS = 32 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { THREAD_TERMINATE = 0x0001 } c2b7a98c21 2011-02-23 kinaba: enum : uint { THREAD_SUSPEND_RESUME = 0x0002 } c2b7a98c21 2011-02-23 kinaba: enum : uint { THREAD_GET_CONTEXT = 0x0008 } c2b7a98c21 2011-02-23 kinaba: enum : uint { THREAD_SET_CONTEXT = 0x0010 } c2b7a98c21 2011-02-23 kinaba: enum : uint { THREAD_SET_INFORMATION = 0x0020 } c2b7a98c21 2011-02-23 kinaba: enum : uint { THREAD_QUERY_INFORMATION = 0x0040 } c2b7a98c21 2011-02-23 kinaba: enum : uint { THREAD_SET_THREAD_TOKEN = 0x0080 } c2b7a98c21 2011-02-23 kinaba: enum : uint { THREAD_IMPERSONATE = 0x0100 } c2b7a98c21 2011-02-23 kinaba: enum : uint { THREAD_DIRECT_IMPERSONATION = 0x0200 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { THREAD_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0x3FF } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { JOB_OBJECT_ASSIGN_PROCESS = 0x0001 } c2b7a98c21 2011-02-23 kinaba: enum : uint { JOB_OBJECT_SET_ATTRIBUTES = 0x0002 } c2b7a98c21 2011-02-23 kinaba: enum : uint { JOB_OBJECT_QUERY = 0x0004 } c2b7a98c21 2011-02-23 kinaba: enum : uint { JOB_OBJECT_TERMINATE = 0x0008 } c2b7a98c21 2011-02-23 kinaba: enum : uint { JOB_OBJECT_SET_SECURITY_ATTRIBUTES = 0x0010 } c2b7a98c21 2011-02-23 kinaba: enum : uint { JOB_OBJECT_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0x1F } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _JOB_SET_ARRAY { c2b7a98c21 2011-02-23 kinaba: HANDLE JobHandle; c2b7a98c21 2011-02-23 kinaba: DWORD MemberLevel; c2b7a98c21 2011-02-23 kinaba: DWORD Flags; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _JOB_SET_ARRAY JOB_SET_ARRAY; c2b7a98c21 2011-02-23 kinaba: alias _JOB_SET_ARRAY* PJOB_SET_ARRAY; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { TLS_MINIMUM_AVAILABLE = 64 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _NT_TIB { c2b7a98c21 2011-02-23 kinaba: _EXCEPTION_REGISTRATION_RECORD *ExceptionList; c2b7a98c21 2011-02-23 kinaba: PVOID StackBase; c2b7a98c21 2011-02-23 kinaba: PVOID StackLimit; c2b7a98c21 2011-02-23 kinaba: PVOID SubSystemTib; c2b7a98c21 2011-02-23 kinaba: union { c2b7a98c21 2011-02-23 kinaba: PVOID FiberData; c2b7a98c21 2011-02-23 kinaba: DWORD Version; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: PVOID ArbitraryUserPointer; c2b7a98c21 2011-02-23 kinaba: _NT_TIB *Self; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _NT_TIB NT_TIB; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: alias NT_TIB* PNT_TIB; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _NT_TIB32 { c2b7a98c21 2011-02-23 kinaba: DWORD ExceptionList; c2b7a98c21 2011-02-23 kinaba: DWORD StackBase; c2b7a98c21 2011-02-23 kinaba: DWORD StackLimit; c2b7a98c21 2011-02-23 kinaba: DWORD SubSystemTib; c2b7a98c21 2011-02-23 kinaba: union { c2b7a98c21 2011-02-23 kinaba: DWORD FiberData; c2b7a98c21 2011-02-23 kinaba: DWORD Version; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: DWORD ArbitraryUserPointer; c2b7a98c21 2011-02-23 kinaba: DWORD Self; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _NT_TIB32 NT_TIB32; c2b7a98c21 2011-02-23 kinaba: alias _NT_TIB32* PNT_TIB32; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _NT_TIB64 { c2b7a98c21 2011-02-23 kinaba: DWORD64 ExceptionList; c2b7a98c21 2011-02-23 kinaba: DWORD64 StackBase; c2b7a98c21 2011-02-23 kinaba: DWORD64 StackLimit; c2b7a98c21 2011-02-23 kinaba: DWORD64 SubSystemTib; c2b7a98c21 2011-02-23 kinaba: union { c2b7a98c21 2011-02-23 kinaba: DWORD64 FiberData; c2b7a98c21 2011-02-23 kinaba: DWORD Version; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: DWORD64 ArbitraryUserPointer; c2b7a98c21 2011-02-23 kinaba: DWORD64 Self; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _NT_TIB64 NT_TIB64; c2b7a98c21 2011-02-23 kinaba: alias _NT_TIB64* PNT_TIB64; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #if !defined(_X86_) && !defined(_IA64_) && !defined(_AMD64_) c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { THREAD_BASE_PRIORITY_LOWRT = 15 } c2b7a98c21 2011-02-23 kinaba: enum : uint { THREAD_BASE_PRIORITY_MAX = 2 } c2b7a98c21 2011-02-23 kinaba: enum { THREAD_BASE_PRIORITY_MIN = -2 } c2b7a98c21 2011-02-23 kinaba: enum { THREAD_BASE_PRIORITY_IDLE = -15 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _QUOTA_LIMITS { c2b7a98c21 2011-02-23 kinaba: SIZE_T PagedPoolLimit; c2b7a98c21 2011-02-23 kinaba: SIZE_T NonPagedPoolLimit; c2b7a98c21 2011-02-23 kinaba: SIZE_T MinimumWorkingSetSize; c2b7a98c21 2011-02-23 kinaba: SIZE_T MaximumWorkingSetSize; c2b7a98c21 2011-02-23 kinaba: SIZE_T PagefileLimit; c2b7a98c21 2011-02-23 kinaba: LARGE_INTEGER TimeLimit; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _QUOTA_LIMITS QUOTA_LIMITS; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: alias QUOTA_LIMITS* PQUOTA_LIMITS; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _IO_COUNTERS { c2b7a98c21 2011-02-23 kinaba: ULONGLONG ReadOperationCount; c2b7a98c21 2011-02-23 kinaba: ULONGLONG WriteOperationCount; c2b7a98c21 2011-02-23 kinaba: ULONGLONG OtherOperationCount; c2b7a98c21 2011-02-23 kinaba: ULONGLONG ReadTransferCount; c2b7a98c21 2011-02-23 kinaba: ULONGLONG WriteTransferCount; c2b7a98c21 2011-02-23 kinaba: ULONGLONG OtherTransferCount; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _IO_COUNTERS IO_COUNTERS; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: alias IO_COUNTERS* PIO_COUNTERS; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _JOBOBJECT_BASIC_ACCOUNTING_INFORMATION { c2b7a98c21 2011-02-23 kinaba: LARGE_INTEGER TotalUserTime; c2b7a98c21 2011-02-23 kinaba: LARGE_INTEGER TotalKernelTime; c2b7a98c21 2011-02-23 kinaba: LARGE_INTEGER ThisPeriodTotalUserTime; c2b7a98c21 2011-02-23 kinaba: LARGE_INTEGER ThisPeriodTotalKernelTime; c2b7a98c21 2011-02-23 kinaba: DWORD TotalPageFaultCount; c2b7a98c21 2011-02-23 kinaba: DWORD TotalProcesses; c2b7a98c21 2011-02-23 kinaba: DWORD ActiveProcesses; c2b7a98c21 2011-02-23 kinaba: DWORD TotalTerminatedProcesses; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _JOBOBJECT_BASIC_ACCOUNTING_INFORMATION JOBOBJECT_BASIC_ACCOUNTING_INFORMATION; c2b7a98c21 2011-02-23 kinaba: alias _JOBOBJECT_BASIC_ACCOUNTING_INFORMATION* PJOBOBJECT_BASIC_ACCOUNTING_INFORMATION; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _JOBOBJECT_BASIC_LIMIT_INFORMATION { c2b7a98c21 2011-02-23 kinaba: LARGE_INTEGER PerProcessUserTimeLimit; c2b7a98c21 2011-02-23 kinaba: LARGE_INTEGER PerJobUserTimeLimit; c2b7a98c21 2011-02-23 kinaba: DWORD LimitFlags; c2b7a98c21 2011-02-23 kinaba: SIZE_T MinimumWorkingSetSize; c2b7a98c21 2011-02-23 kinaba: SIZE_T MaximumWorkingSetSize; c2b7a98c21 2011-02-23 kinaba: DWORD ActiveProcessLimit; c2b7a98c21 2011-02-23 kinaba: ULONG_PTR Affinity; c2b7a98c21 2011-02-23 kinaba: DWORD PriorityClass; c2b7a98c21 2011-02-23 kinaba: DWORD SchedulingClass; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _JOBOBJECT_BASIC_LIMIT_INFORMATION JOBOBJECT_BASIC_LIMIT_INFORMATION; c2b7a98c21 2011-02-23 kinaba: alias _JOBOBJECT_BASIC_LIMIT_INFORMATION* PJOBOBJECT_BASIC_LIMIT_INFORMATION; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _JOBOBJECT_EXTENDED_LIMIT_INFORMATION { c2b7a98c21 2011-02-23 kinaba: JOBOBJECT_BASIC_LIMIT_INFORMATION BasicLimitInformation; c2b7a98c21 2011-02-23 kinaba: IO_COUNTERS IoInfo; c2b7a98c21 2011-02-23 kinaba: SIZE_T ProcessMemoryLimit; c2b7a98c21 2011-02-23 kinaba: SIZE_T JobMemoryLimit; c2b7a98c21 2011-02-23 kinaba: SIZE_T PeakProcessMemoryUsed; c2b7a98c21 2011-02-23 kinaba: SIZE_T PeakJobMemoryUsed; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _JOBOBJECT_EXTENDED_LIMIT_INFORMATION JOBOBJECT_EXTENDED_LIMIT_INFORMATION; c2b7a98c21 2011-02-23 kinaba: alias _JOBOBJECT_EXTENDED_LIMIT_INFORMATION* PJOBOBJECT_EXTENDED_LIMIT_INFORMATION; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _JOBOBJECT_BASIC_PROCESS_ID_LIST { c2b7a98c21 2011-02-23 kinaba: DWORD NumberOfAssignedProcesses; c2b7a98c21 2011-02-23 kinaba: DWORD NumberOfProcessIdsInList; c2b7a98c21 2011-02-23 kinaba: ULONG_PTR ProcessIdList[1]; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _JOBOBJECT_BASIC_PROCESS_ID_LIST JOBOBJECT_BASIC_PROCESS_ID_LIST; c2b7a98c21 2011-02-23 kinaba: alias _JOBOBJECT_BASIC_PROCESS_ID_LIST* PJOBOBJECT_BASIC_PROCESS_ID_LIST; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _JOBOBJECT_BASIC_UI_RESTRICTIONS { c2b7a98c21 2011-02-23 kinaba: DWORD UIRestrictionsClass; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _JOBOBJECT_BASIC_UI_RESTRICTIONS JOBOBJECT_BASIC_UI_RESTRICTIONS; c2b7a98c21 2011-02-23 kinaba: alias _JOBOBJECT_BASIC_UI_RESTRICTIONS* PJOBOBJECT_BASIC_UI_RESTRICTIONS; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _JOBOBJECT_SECURITY_LIMIT_INFORMATION { c2b7a98c21 2011-02-23 kinaba: DWORD SecurityLimitFlags ; c2b7a98c21 2011-02-23 kinaba: HANDLE JobToken ; c2b7a98c21 2011-02-23 kinaba: PTOKEN_GROUPS SidsToDisable ; c2b7a98c21 2011-02-23 kinaba: PTOKEN_PRIVILEGES PrivilegesToDelete ; c2b7a98c21 2011-02-23 kinaba: PTOKEN_GROUPS RestrictedSids ; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _JOBOBJECT_SECURITY_LIMIT_INFORMATION JOBOBJECT_SECURITY_LIMIT_INFORMATION; c2b7a98c21 2011-02-23 kinaba: alias _JOBOBJECT_SECURITY_LIMIT_INFORMATION* PJOBOBJECT_SECURITY_LIMIT_INFORMATION; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _JOBOBJECT_END_OF_JOB_TIME_INFORMATION { c2b7a98c21 2011-02-23 kinaba: DWORD EndOfJobTimeAction; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _JOBOBJECT_END_OF_JOB_TIME_INFORMATION JOBOBJECT_END_OF_JOB_TIME_INFORMATION; c2b7a98c21 2011-02-23 kinaba: alias _JOBOBJECT_END_OF_JOB_TIME_INFORMATION* PJOBOBJECT_END_OF_JOB_TIME_INFORMATION; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _JOBOBJECT_ASSOCIATE_COMPLETION_PORT { c2b7a98c21 2011-02-23 kinaba: PVOID CompletionKey; c2b7a98c21 2011-02-23 kinaba: HANDLE CompletionPort; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _JOBOBJECT_ASSOCIATE_COMPLETION_PORT JOBOBJECT_ASSOCIATE_COMPLETION_PORT; c2b7a98c21 2011-02-23 kinaba: alias _JOBOBJECT_ASSOCIATE_COMPLETION_PORT* PJOBOBJECT_ASSOCIATE_COMPLETION_PORT; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _JOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION { c2b7a98c21 2011-02-23 kinaba: JOBOBJECT_BASIC_ACCOUNTING_INFORMATION BasicInfo; c2b7a98c21 2011-02-23 kinaba: IO_COUNTERS IoInfo; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _JOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION JOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION; c2b7a98c21 2011-02-23 kinaba: alias _JOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION* PJOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _JOBOBJECT_JOBSET_INFORMATION { c2b7a98c21 2011-02-23 kinaba: DWORD MemberLevel; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _JOBOBJECT_JOBSET_INFORMATION JOBOBJECT_JOBSET_INFORMATION; c2b7a98c21 2011-02-23 kinaba: alias _JOBOBJECT_JOBSET_INFORMATION* PJOBOBJECT_JOBSET_INFORMATION; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { JOB_OBJECT_TERMINATE_AT_END_OF_JOB = 0 } c2b7a98c21 2011-02-23 kinaba: enum : uint { JOB_OBJECT_POST_AT_END_OF_JOB = 1 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { JOB_OBJECT_MSG_END_OF_JOB_TIME = 1 } c2b7a98c21 2011-02-23 kinaba: enum : uint { JOB_OBJECT_MSG_END_OF_PROCESS_TIME = 2 } c2b7a98c21 2011-02-23 kinaba: enum : uint { JOB_OBJECT_MSG_ACTIVE_PROCESS_LIMIT = 3 } c2b7a98c21 2011-02-23 kinaba: enum : uint { JOB_OBJECT_MSG_ACTIVE_PROCESS_ZERO = 4 } c2b7a98c21 2011-02-23 kinaba: enum : uint { JOB_OBJECT_MSG_NEW_PROCESS = 6 } c2b7a98c21 2011-02-23 kinaba: enum : uint { JOB_OBJECT_MSG_EXIT_PROCESS = 7 } c2b7a98c21 2011-02-23 kinaba: enum : uint { JOB_OBJECT_MSG_ABNORMAL_EXIT_PROCESS = 8 } c2b7a98c21 2011-02-23 kinaba: enum : uint { JOB_OBJECT_MSG_PROCESS_MEMORY_LIMIT = 9 } c2b7a98c21 2011-02-23 kinaba: enum : uint { JOB_OBJECT_MSG_JOB_MEMORY_LIMIT = 10 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { JOB_OBJECT_LIMIT_WORKINGSET = 0x00000001 } c2b7a98c21 2011-02-23 kinaba: enum : uint { JOB_OBJECT_LIMIT_PROCESS_TIME = 0x00000002 } c2b7a98c21 2011-02-23 kinaba: enum : uint { JOB_OBJECT_LIMIT_JOB_TIME = 0x00000004 } c2b7a98c21 2011-02-23 kinaba: enum : uint { JOB_OBJECT_LIMIT_ACTIVE_PROCESS = 0x00000008 } c2b7a98c21 2011-02-23 kinaba: enum : uint { JOB_OBJECT_LIMIT_AFFINITY = 0x00000010 } c2b7a98c21 2011-02-23 kinaba: enum : uint { JOB_OBJECT_LIMIT_PRIORITY_CLASS = 0x00000020 } c2b7a98c21 2011-02-23 kinaba: enum : uint { JOB_OBJECT_LIMIT_PRESERVE_JOB_TIME = 0x00000040 } c2b7a98c21 2011-02-23 kinaba: enum : uint { JOB_OBJECT_LIMIT_SCHEDULING_CLASS = 0x00000080 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { JOB_OBJECT_LIMIT_PROCESS_MEMORY = 0x00000100 } c2b7a98c21 2011-02-23 kinaba: enum : uint { JOB_OBJECT_LIMIT_JOB_MEMORY = 0x00000200 } c2b7a98c21 2011-02-23 kinaba: enum : uint { JOB_OBJECT_LIMIT_DIE_ON_UNHANDLED_EXCEPTION = 0x00000400 } c2b7a98c21 2011-02-23 kinaba: enum : uint { JOB_OBJECT_LIMIT_BREAKAWAY_OK = 0x00000800 } c2b7a98c21 2011-02-23 kinaba: enum : uint { JOB_OBJECT_LIMIT_SILENT_BREAKAWAY_OK = 0x00001000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { JOB_OBJECT_LIMIT_KILL_ON_JOB_CLOSE = 0x00002000 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { JOB_OBJECT_LIMIT_RESERVED2 = 0x00004000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { JOB_OBJECT_LIMIT_RESERVED3 = 0x00008000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { JOB_OBJECT_LIMIT_RESERVED4 = 0x00010000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { JOB_OBJECT_LIMIT_RESERVED5 = 0x00020000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { JOB_OBJECT_LIMIT_RESERVED6 = 0x00040000 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { JOB_OBJECT_LIMIT_VALID_FLAGS = 0x0007ffff } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { JOB_OBJECT_BASIC_LIMIT_VALID_FLAGS = 0x000000ff } c2b7a98c21 2011-02-23 kinaba: enum : uint { JOB_OBJECT_EXTENDED_LIMIT_VALID_FLAGS = 0x00003fff } c2b7a98c21 2011-02-23 kinaba: enum : uint { JOB_OBJECT_RESERVED_LIMIT_VALID_FLAGS = 0x0007ffff } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { JOB_OBJECT_UILIMIT_NONE = 0x00000000 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { JOB_OBJECT_UILIMIT_HANDLES = 0x00000001 } c2b7a98c21 2011-02-23 kinaba: enum : uint { JOB_OBJECT_UILIMIT_READCLIPBOARD = 0x00000002 } c2b7a98c21 2011-02-23 kinaba: enum : uint { JOB_OBJECT_UILIMIT_WRITECLIPBOARD = 0x00000004 } c2b7a98c21 2011-02-23 kinaba: enum : uint { JOB_OBJECT_UILIMIT_SYSTEMPARAMETERS = 0x00000008 } c2b7a98c21 2011-02-23 kinaba: enum : uint { JOB_OBJECT_UILIMIT_DISPLAYSETTINGS = 0x00000010 } c2b7a98c21 2011-02-23 kinaba: enum : uint { JOB_OBJECT_UILIMIT_GLOBALATOMS = 0x00000020 } c2b7a98c21 2011-02-23 kinaba: enum : uint { JOB_OBJECT_UILIMIT_DESKTOP = 0x00000040 } c2b7a98c21 2011-02-23 kinaba: enum : uint { JOB_OBJECT_UILIMIT_EXITWINDOWS = 0x00000080 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { JOB_OBJECT_UILIMIT_ALL = 0x000000FF } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { JOB_OBJECT_UI_VALID_FLAGS = 0x000000FF } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { JOB_OBJECT_SECURITY_NO_ADMIN = 0x00000001 } c2b7a98c21 2011-02-23 kinaba: enum : uint { JOB_OBJECT_SECURITY_RESTRICTED_TOKEN = 0x00000002 } c2b7a98c21 2011-02-23 kinaba: enum : uint { JOB_OBJECT_SECURITY_ONLY_TOKEN = 0x00000004 } c2b7a98c21 2011-02-23 kinaba: enum : uint { JOB_OBJECT_SECURITY_FILTER_TOKENS = 0x00000008 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { JOB_OBJECT_SECURITY_VALID_FLAGS = 0x0000000f } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: alias int _JOBOBJECTINFOCLASS; c2b7a98c21 2011-02-23 kinaba: enum { c2b7a98c21 2011-02-23 kinaba: JobObjectBasicAccountingInformation = 1, c2b7a98c21 2011-02-23 kinaba: JobObjectBasicLimitInformation, c2b7a98c21 2011-02-23 kinaba: JobObjectBasicProcessIdList, c2b7a98c21 2011-02-23 kinaba: JobObjectBasicUIRestrictions, c2b7a98c21 2011-02-23 kinaba: JobObjectSecurityLimitInformation, c2b7a98c21 2011-02-23 kinaba: JobObjectEndOfJobTimeInformation, c2b7a98c21 2011-02-23 kinaba: JobObjectAssociateCompletionPortInformation, c2b7a98c21 2011-02-23 kinaba: JobObjectBasicAndIoAccountingInformation, c2b7a98c21 2011-02-23 kinaba: JobObjectExtendedLimitInformation, c2b7a98c21 2011-02-23 kinaba: JobObjectJobSetInformation, c2b7a98c21 2011-02-23 kinaba: MaxJobObjectInfoClass, c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _JOBOBJECTINFOCLASS JOBOBJECTINFOCLASS; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { EVENT_MODIFY_STATE = 0x0002 } c2b7a98c21 2011-02-23 kinaba: enum : uint { EVENT_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE|0x3 } c2b7a98c21 2011-02-23 kinaba: enum : uint { MUTANT_QUERY_STATE = 0x0001 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { MUTANT_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE| MUTANT_QUERY_STATE } c2b7a98c21 2011-02-23 kinaba: enum : uint { SEMAPHORE_MODIFY_STATE = 0x0002 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SEMAPHORE_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE|0x3 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { TIMER_QUERY_STATE = 0x0001 } c2b7a98c21 2011-02-23 kinaba: enum : uint { TIMER_MODIFY_STATE = 0x0002 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { TIMER_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE| TIMER_QUERY_STATE|TIMER_MODIFY_STATE } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { TIME_ZONE_ID_UNKNOWN = 0 } c2b7a98c21 2011-02-23 kinaba: enum : uint { TIME_ZONE_ID_STANDARD = 1 } c2b7a98c21 2011-02-23 kinaba: enum : uint { TIME_ZONE_ID_DAYLIGHT = 2 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { MAXIMUM_NUMA_NODES = 16 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _SYSTEM_NUMA_INFORMATION { c2b7a98c21 2011-02-23 kinaba: DWORD HighestNodeNumber; c2b7a98c21 2011-02-23 kinaba: DWORD Reserved; c2b7a98c21 2011-02-23 kinaba: union { c2b7a98c21 2011-02-23 kinaba: ULONGLONG ActiveProcessorsAffinityMask[MAXIMUM_NUMA_NODES]; c2b7a98c21 2011-02-23 kinaba: ULONGLONG AvailableMemory[MAXIMUM_NUMA_NODES]; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _SYSTEM_NUMA_INFORMATION SYSTEM_NUMA_INFORMATION; c2b7a98c21 2011-02-23 kinaba: alias _SYSTEM_NUMA_INFORMATION* PSYSTEM_NUMA_INFORMATION; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { PROCESSOR_INTEL_386 = 386 } c2b7a98c21 2011-02-23 kinaba: enum : uint { PROCESSOR_INTEL_486 = 486 } c2b7a98c21 2011-02-23 kinaba: enum : uint { PROCESSOR_INTEL_PENTIUM = 586 } c2b7a98c21 2011-02-23 kinaba: enum : uint { PROCESSOR_INTEL_IA64 = 2200 } c2b7a98c21 2011-02-23 kinaba: enum : uint { PROCESSOR_MIPS_R4000 = 4000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { PROCESSOR_ALPHA_21064 = 21064 } c2b7a98c21 2011-02-23 kinaba: enum : uint { PROCESSOR_PPC_601 = 601 } c2b7a98c21 2011-02-23 kinaba: enum : uint { PROCESSOR_PPC_603 = 603 } c2b7a98c21 2011-02-23 kinaba: enum : uint { PROCESSOR_PPC_604 = 604 } c2b7a98c21 2011-02-23 kinaba: enum : uint { PROCESSOR_PPC_620 = 620 } c2b7a98c21 2011-02-23 kinaba: enum : uint { PROCESSOR_HITACHI_SH3 = 10003 } c2b7a98c21 2011-02-23 kinaba: enum : uint { PROCESSOR_HITACHI_SH3E = 10004 } c2b7a98c21 2011-02-23 kinaba: enum : uint { PROCESSOR_HITACHI_SH4 = 10005 } c2b7a98c21 2011-02-23 kinaba: enum : uint { PROCESSOR_MOTOROLA_821 = 821 } c2b7a98c21 2011-02-23 kinaba: enum : uint { PROCESSOR_SHx_SH3 = 103 } c2b7a98c21 2011-02-23 kinaba: enum : uint { PROCESSOR_SHx_SH4 = 104 } c2b7a98c21 2011-02-23 kinaba: enum : uint { PROCESSOR_STRONGARM = 2577 } c2b7a98c21 2011-02-23 kinaba: enum : uint { PROCESSOR_ARM720 = 1824 } c2b7a98c21 2011-02-23 kinaba: enum : uint { PROCESSOR_ARM820 = 2080 } c2b7a98c21 2011-02-23 kinaba: enum : uint { PROCESSOR_ARM920 = 2336 } c2b7a98c21 2011-02-23 kinaba: enum : uint { PROCESSOR_ARM_7TDMI = 70001 } c2b7a98c21 2011-02-23 kinaba: enum : uint { PROCESSOR_OPTIL = 0x494f } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { PROCESSOR_ARCHITECTURE_INTEL = 0 } c2b7a98c21 2011-02-23 kinaba: enum : uint { PROCESSOR_ARCHITECTURE_MIPS = 1 } c2b7a98c21 2011-02-23 kinaba: enum : uint { PROCESSOR_ARCHITECTURE_ALPHA = 2 } c2b7a98c21 2011-02-23 kinaba: enum : uint { PROCESSOR_ARCHITECTURE_PPC = 3 } c2b7a98c21 2011-02-23 kinaba: enum : uint { PROCESSOR_ARCHITECTURE_SHX = 4 } c2b7a98c21 2011-02-23 kinaba: enum : uint { PROCESSOR_ARCHITECTURE_ARM = 5 } c2b7a98c21 2011-02-23 kinaba: enum : uint { PROCESSOR_ARCHITECTURE_IA64 = 6 } c2b7a98c21 2011-02-23 kinaba: enum : uint { PROCESSOR_ARCHITECTURE_ALPHA64 = 7 } c2b7a98c21 2011-02-23 kinaba: enum : uint { PROCESSOR_ARCHITECTURE_MSIL = 8 } c2b7a98c21 2011-02-23 kinaba: enum : uint { PROCESSOR_ARCHITECTURE_AMD64 = 9 } c2b7a98c21 2011-02-23 kinaba: enum : uint { PROCESSOR_ARCHITECTURE_IA32_ON_WIN64 = 10 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { PROCESSOR_ARCHITECTURE_UNKNOWN = 0xFFFF } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { PF_FLOATING_POINT_PRECISION_ERRATA = 0 } c2b7a98c21 2011-02-23 kinaba: enum : uint { PF_FLOATING_POINT_EMULATED = 1 } c2b7a98c21 2011-02-23 kinaba: enum : uint { PF_COMPARE_EXCHANGE_DOUBLE = 2 } c2b7a98c21 2011-02-23 kinaba: enum : uint { PF_MMX_INSTRUCTIONS_AVAILABLE = 3 } c2b7a98c21 2011-02-23 kinaba: enum : uint { PF_PPC_MOVEMEM_64BIT_OK = 4 } c2b7a98c21 2011-02-23 kinaba: enum : uint { PF_ALPHA_BYTE_INSTRUCTIONS = 5 } c2b7a98c21 2011-02-23 kinaba: enum : uint { PF_XMMI_INSTRUCTIONS_AVAILABLE = 6 } c2b7a98c21 2011-02-23 kinaba: enum : uint { PF_3DNOW_INSTRUCTIONS_AVAILABLE = 7 } c2b7a98c21 2011-02-23 kinaba: enum : uint { PF_RDTSC_INSTRUCTION_AVAILABLE = 8 } c2b7a98c21 2011-02-23 kinaba: enum : uint { PF_PAE_ENABLED = 9 } c2b7a98c21 2011-02-23 kinaba: enum : uint { PF_XMMI64_INSTRUCTIONS_AVAILABLE = 10 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _MEMORY_BASIC_INFORMATION { c2b7a98c21 2011-02-23 kinaba: PVOID BaseAddress; c2b7a98c21 2011-02-23 kinaba: PVOID AllocationBase; c2b7a98c21 2011-02-23 kinaba: DWORD AllocationProtect; c2b7a98c21 2011-02-23 kinaba: SIZE_T RegionSize; c2b7a98c21 2011-02-23 kinaba: DWORD State; c2b7a98c21 2011-02-23 kinaba: DWORD Protect; c2b7a98c21 2011-02-23 kinaba: DWORD Type; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _MEMORY_BASIC_INFORMATION MEMORY_BASIC_INFORMATION; c2b7a98c21 2011-02-23 kinaba: alias _MEMORY_BASIC_INFORMATION* PMEMORY_BASIC_INFORMATION; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _MEMORY_BASIC_INFORMATION32 { c2b7a98c21 2011-02-23 kinaba: DWORD BaseAddress; c2b7a98c21 2011-02-23 kinaba: DWORD AllocationBase; c2b7a98c21 2011-02-23 kinaba: DWORD AllocationProtect; c2b7a98c21 2011-02-23 kinaba: DWORD RegionSize; c2b7a98c21 2011-02-23 kinaba: DWORD State; c2b7a98c21 2011-02-23 kinaba: DWORD Protect; c2b7a98c21 2011-02-23 kinaba: DWORD Type; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _MEMORY_BASIC_INFORMATION32 MEMORY_BASIC_INFORMATION32; c2b7a98c21 2011-02-23 kinaba: alias _MEMORY_BASIC_INFORMATION32* PMEMORY_BASIC_INFORMATION32; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _MEMORY_BASIC_INFORMATION64 { c2b7a98c21 2011-02-23 kinaba: ULONGLONG BaseAddress; c2b7a98c21 2011-02-23 kinaba: ULONGLONG AllocationBase; c2b7a98c21 2011-02-23 kinaba: DWORD AllocationProtect; c2b7a98c21 2011-02-23 kinaba: DWORD __alignment1; c2b7a98c21 2011-02-23 kinaba: ULONGLONG RegionSize; c2b7a98c21 2011-02-23 kinaba: DWORD State; c2b7a98c21 2011-02-23 kinaba: DWORD Protect; c2b7a98c21 2011-02-23 kinaba: DWORD Type; c2b7a98c21 2011-02-23 kinaba: DWORD __alignment2; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _MEMORY_BASIC_INFORMATION64 MEMORY_BASIC_INFORMATION64; c2b7a98c21 2011-02-23 kinaba: alias _MEMORY_BASIC_INFORMATION64* PMEMORY_BASIC_INFORMATION64; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { SECTION_QUERY = 0x0001 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SECTION_MAP_WRITE = 0x0002 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SECTION_MAP_READ = 0x0004 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SECTION_MAP_EXECUTE = 0x0008 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SECTION_EXTEND_SIZE = 0x0010 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { SECTION_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED|SECTION_QUERY| SECTION_MAP_WRITE | SECTION_MAP_READ | SECTION_MAP_EXECUTE | SECTION_EXTEND_SIZE } c2b7a98c21 2011-02-23 kinaba: enum : uint { PAGE_NOACCESS = 0x01 } c2b7a98c21 2011-02-23 kinaba: enum : uint { PAGE_READONLY = 0x02 } c2b7a98c21 2011-02-23 kinaba: enum : uint { PAGE_READWRITE = 0x04 } c2b7a98c21 2011-02-23 kinaba: enum : uint { PAGE_WRITECOPY = 0x08 } c2b7a98c21 2011-02-23 kinaba: enum : uint { PAGE_EXECUTE = 0x10 } c2b7a98c21 2011-02-23 kinaba: enum : uint { PAGE_EXECUTE_READ = 0x20 } c2b7a98c21 2011-02-23 kinaba: enum : uint { PAGE_EXECUTE_READWRITE = 0x40 } c2b7a98c21 2011-02-23 kinaba: enum : uint { PAGE_EXECUTE_WRITECOPY = 0x80 } c2b7a98c21 2011-02-23 kinaba: enum : uint { PAGE_GUARD = 0x100 } c2b7a98c21 2011-02-23 kinaba: enum : uint { PAGE_NOCACHE = 0x200 } c2b7a98c21 2011-02-23 kinaba: enum : uint { PAGE_WRITECOMBINE = 0x400 } c2b7a98c21 2011-02-23 kinaba: enum : uint { MEM_COMMIT = 0x1000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { MEM_RESERVE = 0x2000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { MEM_DECOMMIT = 0x4000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { MEM_RELEASE = 0x8000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { MEM_FREE = 0x10000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { MEM_PRIVATE = 0x20000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { MEM_MAPPED = 0x40000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { MEM_RESET = 0x80000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { MEM_TOP_DOWN = 0x100000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { MEM_WRITE_WATCH = 0x200000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { MEM_PHYSICAL = 0x400000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { MEM_4MB_PAGES = 0x80000000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SEC_FILE = 0x800000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SEC_IMAGE = 0x1000000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SEC_RESERVE = 0x4000000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SEC_COMMIT = 0x8000000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SEC_NOCACHE = 0x10000000 } c2b7a98c21 2011-02-23 kinaba: alias SEC_IMAGE MEM_IMAGE; c2b7a98c21 2011-02-23 kinaba: enum : uint { WRITE_WATCH_FLAG_RESET = 0x01 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { FILE_READ_DATA = 0x0001 } c2b7a98c21 2011-02-23 kinaba: enum : uint { FILE_LIST_DIRECTORY = 0x0001 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { FILE_WRITE_DATA = 0x0002 } c2b7a98c21 2011-02-23 kinaba: enum : uint { FILE_ADD_FILE = 0x0002 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { FILE_APPEND_DATA = 0x0004 } c2b7a98c21 2011-02-23 kinaba: enum : uint { FILE_ADD_SUBDIRECTORY = 0x0004 } c2b7a98c21 2011-02-23 kinaba: enum : uint { FILE_CREATE_PIPE_INSTANCE = 0x0004 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { FILE_READ_EA = 0x0008 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { FILE_WRITE_EA = 0x0010 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { FILE_EXECUTE = 0x0020 } c2b7a98c21 2011-02-23 kinaba: enum : uint { FILE_TRAVERSE = 0x0020 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { FILE_DELETE_CHILD = 0x0040 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { FILE_READ_ATTRIBUTES = 0x0080 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { FILE_WRITE_ATTRIBUTES = 0x0100 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { FILE_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0x1FF } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { FILE_GENERIC_READ = STANDARD_RIGHTS_READ | FILE_READ_DATA | FILE_READ_ATTRIBUTES | FILE_READ_EA | SYNCHRONIZE } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { FILE_GENERIC_WRITE = STANDARD_RIGHTS_WRITE | FILE_WRITE_DATA | FILE_WRITE_ATTRIBUTES | FILE_WRITE_EA | FILE_APPEND_DATA | SYNCHRONIZE } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { FILE_GENERIC_EXECUTE = STANDARD_RIGHTS_EXECUTE | FILE_READ_ATTRIBUTES | FILE_EXECUTE | SYNCHRONIZE } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { FILE_SHARE_READ = 0x00000001 } c2b7a98c21 2011-02-23 kinaba: enum : uint { FILE_SHARE_WRITE = 0x00000002 } c2b7a98c21 2011-02-23 kinaba: enum : uint { FILE_SHARE_DELETE = 0x00000004 } c2b7a98c21 2011-02-23 kinaba: enum : uint { FILE_ATTRIBUTE_READONLY = 0x00000001 } c2b7a98c21 2011-02-23 kinaba: enum : uint { FILE_ATTRIBUTE_HIDDEN = 0x00000002 } c2b7a98c21 2011-02-23 kinaba: enum : uint { FILE_ATTRIBUTE_SYSTEM = 0x00000004 } c2b7a98c21 2011-02-23 kinaba: enum : uint { FILE_ATTRIBUTE_DIRECTORY = 0x00000010 } c2b7a98c21 2011-02-23 kinaba: enum : uint { FILE_ATTRIBUTE_ARCHIVE = 0x00000020 } c2b7a98c21 2011-02-23 kinaba: enum : uint { FILE_ATTRIBUTE_DEVICE = 0x00000040 } c2b7a98c21 2011-02-23 kinaba: enum : uint { FILE_ATTRIBUTE_NORMAL = 0x00000080 } c2b7a98c21 2011-02-23 kinaba: enum : uint { FILE_ATTRIBUTE_TEMPORARY = 0x00000100 } c2b7a98c21 2011-02-23 kinaba: enum : uint { FILE_ATTRIBUTE_SPARSE_FILE = 0x00000200 } c2b7a98c21 2011-02-23 kinaba: enum : uint { FILE_ATTRIBUTE_REPARSE_POINT = 0x00000400 } c2b7a98c21 2011-02-23 kinaba: enum : uint { FILE_ATTRIBUTE_COMPRESSED = 0x00000800 } c2b7a98c21 2011-02-23 kinaba: enum : uint { FILE_ATTRIBUTE_OFFLINE = 0x00001000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { FILE_ATTRIBUTE_NOT_CONTENT_INDEXED = 0x00002000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { FILE_ATTRIBUTE_ENCRYPTED = 0x00004000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { FILE_NOTIFY_CHANGE_FILE_NAME = 0x00000001 } c2b7a98c21 2011-02-23 kinaba: enum : uint { FILE_NOTIFY_CHANGE_DIR_NAME = 0x00000002 } c2b7a98c21 2011-02-23 kinaba: enum : uint { FILE_NOTIFY_CHANGE_ATTRIBUTES = 0x00000004 } c2b7a98c21 2011-02-23 kinaba: enum : uint { FILE_NOTIFY_CHANGE_SIZE = 0x00000008 } c2b7a98c21 2011-02-23 kinaba: enum : uint { FILE_NOTIFY_CHANGE_LAST_WRITE = 0x00000010 } c2b7a98c21 2011-02-23 kinaba: enum : uint { FILE_NOTIFY_CHANGE_LAST_ACCESS = 0x00000020 } c2b7a98c21 2011-02-23 kinaba: enum : uint { FILE_NOTIFY_CHANGE_CREATION = 0x00000040 } c2b7a98c21 2011-02-23 kinaba: enum : uint { FILE_NOTIFY_CHANGE_SECURITY = 0x00000100 } c2b7a98c21 2011-02-23 kinaba: enum : uint { FILE_ACTION_ADDED = 0x00000001 } c2b7a98c21 2011-02-23 kinaba: enum : uint { FILE_ACTION_REMOVED = 0x00000002 } c2b7a98c21 2011-02-23 kinaba: enum : uint { FILE_ACTION_MODIFIED = 0x00000003 } c2b7a98c21 2011-02-23 kinaba: enum : uint { FILE_ACTION_RENAMED_OLD_NAME = 0x00000004 } c2b7a98c21 2011-02-23 kinaba: enum : uint { FILE_ACTION_RENAMED_NEW_NAME = 0x00000005 } c2b7a98c21 2011-02-23 kinaba: enum : DWORD { MAILSLOT_NO_MESSAGE = cast(DWORD)-1 } c2b7a98c21 2011-02-23 kinaba: enum : DWORD { MAILSLOT_WAIT_FOREVER = cast(DWORD)-1 } c2b7a98c21 2011-02-23 kinaba: enum : uint { FILE_CASE_SENSITIVE_SEARCH = 0x00000001 } c2b7a98c21 2011-02-23 kinaba: enum : uint { FILE_CASE_PRESERVED_NAMES = 0x00000002 } c2b7a98c21 2011-02-23 kinaba: enum : uint { FILE_UNICODE_ON_DISK = 0x00000004 } c2b7a98c21 2011-02-23 kinaba: enum : uint { FILE_PERSISTENT_ACLS = 0x00000008 } c2b7a98c21 2011-02-23 kinaba: enum : uint { FILE_FILE_COMPRESSION = 0x00000010 } c2b7a98c21 2011-02-23 kinaba: enum : uint { FILE_VOLUME_QUOTAS = 0x00000020 } c2b7a98c21 2011-02-23 kinaba: enum : uint { FILE_SUPPORTS_SPARSE_FILES = 0x00000040 } c2b7a98c21 2011-02-23 kinaba: enum : uint { FILE_SUPPORTS_REPARSE_POINTS = 0x00000080 } c2b7a98c21 2011-02-23 kinaba: enum : uint { FILE_SUPPORTS_REMOTE_STORAGE = 0x00000100 } c2b7a98c21 2011-02-23 kinaba: enum : uint { FILE_VOLUME_IS_COMPRESSED = 0x00008000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { FILE_SUPPORTS_OBJECT_IDS = 0x00010000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { FILE_SUPPORTS_ENCRYPTION = 0x00020000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { FILE_NAMED_STREAMS = 0x00040000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { FILE_READ_ONLY_VOLUME = 0x00080000 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _FILE_NOTIFY_INFORMATION { c2b7a98c21 2011-02-23 kinaba: DWORD NextEntryOffset; c2b7a98c21 2011-02-23 kinaba: DWORD Action; c2b7a98c21 2011-02-23 kinaba: DWORD FileNameLength; c2b7a98c21 2011-02-23 kinaba: WCHAR FileName[1]; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _FILE_NOTIFY_INFORMATION FILE_NOTIFY_INFORMATION; c2b7a98c21 2011-02-23 kinaba: alias _FILE_NOTIFY_INFORMATION* PFILE_NOTIFY_INFORMATION; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: union _FILE_SEGMENT_ELEMENT { c2b7a98c21 2011-02-23 kinaba: PVOID64 Buffer; c2b7a98c21 2011-02-23 kinaba: ULONGLONG Alignment; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _FILE_SEGMENT_ELEMENT FILE_SEGMENT_ELEMENT; c2b7a98c21 2011-02-23 kinaba: alias _FILE_SEGMENT_ELEMENT* PFILE_SEGMENT_ELEMENT; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _REPARSE_GUID_DATA_BUFFER { c2b7a98c21 2011-02-23 kinaba: DWORD ReparseTag; c2b7a98c21 2011-02-23 kinaba: WORD ReparseDataLength; c2b7a98c21 2011-02-23 kinaba: WORD Reserved; c2b7a98c21 2011-02-23 kinaba: GUID ReparseGuid; c2b7a98c21 2011-02-23 kinaba: struct { c2b7a98c21 2011-02-23 kinaba: BYTE DataBuffer[1]; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _REPARSE_GUID_DATA_BUFFER REPARSE_GUID_DATA_BUFFER; c2b7a98c21 2011-02-23 kinaba: alias _REPARSE_GUID_DATA_BUFFER* PREPARSE_GUID_DATA_BUFFER; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #define REPARSE_GUID_DATA_BUFFER_HEADER_SIZE FIELD_OFFSET(REPARSE_GUID_DATA_BUFFER, GenericReparseBuffer) c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { MAXIMUM_REPARSE_DATA_BUFFER_SIZE = 16 * 1024 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { IO_REPARSE_TAG_RESERVED_ZERO = 0 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IO_REPARSE_TAG_RESERVED_ONE = 1 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: alias IO_REPARSE_TAG_RESERVED_ONE IO_REPARSE_TAG_RESERVED_RANGE; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #define IsReparseTagMicrosoft(_tag) ( ((_tag) & 0x80000000) ) c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #define IsReparseTagNameSurrogate(_tag) ( ((_tag) & 0x20000000) ) c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { IO_REPARSE_TAG_MOUNT_POINT = 0xA0000003 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IO_REPARSE_TAG_HSM = 0xC0000004 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IO_REPARSE_TAG_SIS = 0x80000007 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IO_REPARSE_TAG_FILTER_MANAGER = 0x8000000B } c2b7a98c21 2011-02-23 kinaba: enum : uint { IO_COMPLETION_MODIFY_STATE = 0x0002 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IO_COMPLETION_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE|0x3 } c2b7a98c21 2011-02-23 kinaba: enum : uint { DUPLICATE_CLOSE_SOURCE = 0x00000001 } c2b7a98c21 2011-02-23 kinaba: enum : uint { DUPLICATE_SAME_ACCESS = 0x00000002 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: alias int _SYSTEM_POWER_STATE; c2b7a98c21 2011-02-23 kinaba: enum { c2b7a98c21 2011-02-23 kinaba: PowerSystemUnspecified = 0, c2b7a98c21 2011-02-23 kinaba: PowerSystemWorking = 1, c2b7a98c21 2011-02-23 kinaba: PowerSystemSleeping1 = 2, c2b7a98c21 2011-02-23 kinaba: PowerSystemSleeping2 = 3, c2b7a98c21 2011-02-23 kinaba: PowerSystemSleeping3 = 4, c2b7a98c21 2011-02-23 kinaba: PowerSystemHibernate = 5, c2b7a98c21 2011-02-23 kinaba: PowerSystemShutdown = 6, c2b7a98c21 2011-02-23 kinaba: PowerSystemMaximum = 7, c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _SYSTEM_POWER_STATE SYSTEM_POWER_STATE; c2b7a98c21 2011-02-23 kinaba: alias _SYSTEM_POWER_STATE* PSYSTEM_POWER_STATE; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { POWER_SYSTEM_MAXIMUM = 7 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum _4 { c2b7a98c21 2011-02-23 kinaba: PowerActionNone = 0, c2b7a98c21 2011-02-23 kinaba: PowerActionReserved, c2b7a98c21 2011-02-23 kinaba: PowerActionSleep, c2b7a98c21 2011-02-23 kinaba: PowerActionHibernate, c2b7a98c21 2011-02-23 kinaba: PowerActionShutdown, c2b7a98c21 2011-02-23 kinaba: PowerActionShutdownReset, c2b7a98c21 2011-02-23 kinaba: PowerActionShutdownOff, c2b7a98c21 2011-02-23 kinaba: PowerActionWarmEject, c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _4 POWER_ACTION; c2b7a98c21 2011-02-23 kinaba: alias _4* PPOWER_ACTION; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: alias int _DEVICE_POWER_STATE; c2b7a98c21 2011-02-23 kinaba: enum { c2b7a98c21 2011-02-23 kinaba: PowerDeviceUnspecified = 0, c2b7a98c21 2011-02-23 kinaba: PowerDeviceD0, c2b7a98c21 2011-02-23 kinaba: PowerDeviceD1, c2b7a98c21 2011-02-23 kinaba: PowerDeviceD2, c2b7a98c21 2011-02-23 kinaba: PowerDeviceD3, c2b7a98c21 2011-02-23 kinaba: PowerDeviceMaximum, c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _DEVICE_POWER_STATE DEVICE_POWER_STATE; c2b7a98c21 2011-02-23 kinaba: alias _DEVICE_POWER_STATE* PDEVICE_POWER_STATE; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : DWORD { ES_SYSTEM_REQUIRED = 0x00000001 } c2b7a98c21 2011-02-23 kinaba: enum : DWORD { ES_DISPLAY_REQUIRED = 0x00000002 } c2b7a98c21 2011-02-23 kinaba: enum : DWORD { ES_USER_PRESENT = 0x00000004 } c2b7a98c21 2011-02-23 kinaba: enum : DWORD { ES_CONTINUOUS = 0x80000000 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: alias DWORD EXECUTION_STATE; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum _5 { c2b7a98c21 2011-02-23 kinaba: LT_DONT_CARE, c2b7a98c21 2011-02-23 kinaba: LT_LOWEST_LATENCY, c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _5 LATENCY_TIME; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { PDCAP_D0_SUPPORTED = 0x00000001 } c2b7a98c21 2011-02-23 kinaba: enum : uint { PDCAP_D1_SUPPORTED = 0x00000002 } c2b7a98c21 2011-02-23 kinaba: enum : uint { PDCAP_D2_SUPPORTED = 0x00000004 } c2b7a98c21 2011-02-23 kinaba: enum : uint { PDCAP_D3_SUPPORTED = 0x00000008 } c2b7a98c21 2011-02-23 kinaba: enum : uint { PDCAP_WAKE_FROM_D0_SUPPORTED = 0x00000010 } c2b7a98c21 2011-02-23 kinaba: enum : uint { PDCAP_WAKE_FROM_D1_SUPPORTED = 0x00000020 } c2b7a98c21 2011-02-23 kinaba: enum : uint { PDCAP_WAKE_FROM_D2_SUPPORTED = 0x00000040 } c2b7a98c21 2011-02-23 kinaba: enum : uint { PDCAP_WAKE_FROM_D3_SUPPORTED = 0x00000080 } c2b7a98c21 2011-02-23 kinaba: enum : uint { PDCAP_WARM_EJECT_SUPPORTED = 0x00000100 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct CM_Power_Data_s { c2b7a98c21 2011-02-23 kinaba: DWORD PD_Size; c2b7a98c21 2011-02-23 kinaba: DEVICE_POWER_STATE PD_MostRecentPowerState; c2b7a98c21 2011-02-23 kinaba: DWORD PD_Capabilities; c2b7a98c21 2011-02-23 kinaba: DWORD PD_D1Latency; c2b7a98c21 2011-02-23 kinaba: DWORD PD_D2Latency; c2b7a98c21 2011-02-23 kinaba: DWORD PD_D3Latency; c2b7a98c21 2011-02-23 kinaba: DEVICE_POWER_STATE PD_PowerStateMapping[POWER_SYSTEM_MAXIMUM]; c2b7a98c21 2011-02-23 kinaba: SYSTEM_POWER_STATE PD_DeepestSystemWake; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias CM_Power_Data_s CM_POWER_DATA; c2b7a98c21 2011-02-23 kinaba: alias CM_Power_Data_s* PCM_POWER_DATA; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum _6 { c2b7a98c21 2011-02-23 kinaba: SystemPowerPolicyAc, c2b7a98c21 2011-02-23 kinaba: SystemPowerPolicyDc, c2b7a98c21 2011-02-23 kinaba: VerifySystemPolicyAc, c2b7a98c21 2011-02-23 kinaba: VerifySystemPolicyDc, c2b7a98c21 2011-02-23 kinaba: SystemPowerCapabilities, c2b7a98c21 2011-02-23 kinaba: SystemBatteryState, c2b7a98c21 2011-02-23 kinaba: SystemPowerStateHandler, c2b7a98c21 2011-02-23 kinaba: ProcessorStateHandler, c2b7a98c21 2011-02-23 kinaba: SystemPowerPolicyCurrent, c2b7a98c21 2011-02-23 kinaba: AdministratorPowerPolicy, c2b7a98c21 2011-02-23 kinaba: SystemReserveHiberFile, c2b7a98c21 2011-02-23 kinaba: ProcessorInformation, c2b7a98c21 2011-02-23 kinaba: SystemPowerInformation, c2b7a98c21 2011-02-23 kinaba: ProcessorStateHandler2, c2b7a98c21 2011-02-23 kinaba: LastWakeTime, c2b7a98c21 2011-02-23 kinaba: LastSleepTime, c2b7a98c21 2011-02-23 kinaba: SystemExecutionState, c2b7a98c21 2011-02-23 kinaba: SystemPowerStateNotifyHandler, c2b7a98c21 2011-02-23 kinaba: ProcessorPowerPolicyAc, c2b7a98c21 2011-02-23 kinaba: ProcessorPowerPolicyDc, c2b7a98c21 2011-02-23 kinaba: VerifyProcessorPowerPolicyAc, c2b7a98c21 2011-02-23 kinaba: VerifyProcessorPowerPolicyDc, c2b7a98c21 2011-02-23 kinaba: ProcessorPowerPolicyCurrent, c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _6 POWER_INFORMATION_LEVEL; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _7 { c2b7a98c21 2011-02-23 kinaba: DWORD Granularity; c2b7a98c21 2011-02-23 kinaba: DWORD Capacity; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _7 BATTERY_REPORTING_SCALE; c2b7a98c21 2011-02-23 kinaba: alias _7* PBATTERY_REPORTING_SCALE; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _8 { c2b7a98c21 2011-02-23 kinaba: POWER_ACTION Action; c2b7a98c21 2011-02-23 kinaba: DWORD Flags; c2b7a98c21 2011-02-23 kinaba: DWORD EventCode; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _8 POWER_ACTION_POLICY; c2b7a98c21 2011-02-23 kinaba: alias _8* PPOWER_ACTION_POLICY; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { POWER_ACTION_QUERY_ALLOWED = 0x00000001 } c2b7a98c21 2011-02-23 kinaba: enum : uint { POWER_ACTION_UI_ALLOWED = 0x00000002 } c2b7a98c21 2011-02-23 kinaba: enum : uint { POWER_ACTION_OVERRIDE_APPS = 0x00000004 } c2b7a98c21 2011-02-23 kinaba: enum : uint { POWER_ACTION_LIGHTEST_FIRST = 0x10000000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { POWER_ACTION_LOCK_CONSOLE = 0x20000000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { POWER_ACTION_DISABLE_WAKES = 0x40000000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { POWER_ACTION_CRITICAL = 0x80000000 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { POWER_LEVEL_USER_NOTIFY_TEXT = 0x00000001 } c2b7a98c21 2011-02-23 kinaba: enum : uint { POWER_LEVEL_USER_NOTIFY_SOUND = 0x00000002 } c2b7a98c21 2011-02-23 kinaba: enum : uint { POWER_LEVEL_USER_NOTIFY_EXEC = 0x00000004 } c2b7a98c21 2011-02-23 kinaba: enum : uint { POWER_USER_NOTIFY_BUTTON = 0x00000008 } c2b7a98c21 2011-02-23 kinaba: enum : uint { POWER_USER_NOTIFY_SHUTDOWN = 0x00000010 } c2b7a98c21 2011-02-23 kinaba: enum : uint { POWER_FORCE_TRIGGER_RESET = 0x80000000 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _9 { c2b7a98c21 2011-02-23 kinaba: BOOLEAN Enable; c2b7a98c21 2011-02-23 kinaba: BYTE Spare[3]; c2b7a98c21 2011-02-23 kinaba: DWORD BatteryLevel; c2b7a98c21 2011-02-23 kinaba: POWER_ACTION_POLICY PowerPolicy; c2b7a98c21 2011-02-23 kinaba: SYSTEM_POWER_STATE MinSystemState; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _9 SYSTEM_POWER_LEVEL; c2b7a98c21 2011-02-23 kinaba: alias _9* PSYSTEM_POWER_LEVEL; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { NUM_DISCHARGE_POLICIES = 4 } c2b7a98c21 2011-02-23 kinaba: enum : uint { DISCHARGE_POLICY_CRITICAL = 0 } c2b7a98c21 2011-02-23 kinaba: enum : uint { DISCHARGE_POLICY_LOW = 1 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { PO_THROTTLE_NONE = 0 } c2b7a98c21 2011-02-23 kinaba: enum : uint { PO_THROTTLE_CONSTANT = 1 } c2b7a98c21 2011-02-23 kinaba: enum : uint { PO_THROTTLE_DEGRADE = 2 } c2b7a98c21 2011-02-23 kinaba: enum : uint { PO_THROTTLE_ADAPTIVE = 3 } c2b7a98c21 2011-02-23 kinaba: enum : uint { PO_THROTTLE_MAXIMUM = 4 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _SYSTEM_POWER_POLICY { c2b7a98c21 2011-02-23 kinaba: DWORD Revision; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: POWER_ACTION_POLICY PowerButton; c2b7a98c21 2011-02-23 kinaba: POWER_ACTION_POLICY SleepButton; c2b7a98c21 2011-02-23 kinaba: POWER_ACTION_POLICY LidClose; c2b7a98c21 2011-02-23 kinaba: SYSTEM_POWER_STATE LidOpenWake; c2b7a98c21 2011-02-23 kinaba: DWORD Reserved; c2b7a98c21 2011-02-23 kinaba: POWER_ACTION_POLICY Idle; c2b7a98c21 2011-02-23 kinaba: DWORD IdleTimeout; c2b7a98c21 2011-02-23 kinaba: BYTE IdleSensitivity; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: BYTE DynamicThrottle; c2b7a98c21 2011-02-23 kinaba: BYTE Spare2[2]; c2b7a98c21 2011-02-23 kinaba: SYSTEM_POWER_STATE MinSleep; c2b7a98c21 2011-02-23 kinaba: SYSTEM_POWER_STATE MaxSleep; c2b7a98c21 2011-02-23 kinaba: SYSTEM_POWER_STATE ReducedLatencySleep; c2b7a98c21 2011-02-23 kinaba: DWORD WinLogonFlags; c2b7a98c21 2011-02-23 kinaba: DWORD Spare3; c2b7a98c21 2011-02-23 kinaba: DWORD DozeS4Timeout; c2b7a98c21 2011-02-23 kinaba: DWORD BroadcastCapacityResolution; c2b7a98c21 2011-02-23 kinaba: SYSTEM_POWER_LEVEL DischargePolicy[NUM_DISCHARGE_POLICIES]; c2b7a98c21 2011-02-23 kinaba: DWORD VideoTimeout; c2b7a98c21 2011-02-23 kinaba: BOOLEAN VideoDimDisplay; c2b7a98c21 2011-02-23 kinaba: DWORD VideoReserved[3]; c2b7a98c21 2011-02-23 kinaba: DWORD SpindownTimeout; c2b7a98c21 2011-02-23 kinaba: BOOLEAN OptimizeForPower; c2b7a98c21 2011-02-23 kinaba: BYTE FanThrottleTolerance; c2b7a98c21 2011-02-23 kinaba: BYTE ForcedThrottle; c2b7a98c21 2011-02-23 kinaba: BYTE MinThrottle; c2b7a98c21 2011-02-23 kinaba: POWER_ACTION_POLICY OverThrottled; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _SYSTEM_POWER_POLICY SYSTEM_POWER_POLICY; c2b7a98c21 2011-02-23 kinaba: alias _SYSTEM_POWER_POLICY* PSYSTEM_POWER_POLICY; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _PROCESSOR_POWER_POLICY_INFO { c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: DWORD TimeCheck; c2b7a98c21 2011-02-23 kinaba: DWORD DemoteLimit; c2b7a98c21 2011-02-23 kinaba: DWORD PromoteLimit; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: BYTE DemotePercent; c2b7a98c21 2011-02-23 kinaba: BYTE PromotePercent; c2b7a98c21 2011-02-23 kinaba: BYTE Spare[2]; c2b7a98c21 2011-02-23 kinaba: // DWORD AllowDemotion:1; c2b7a98c21 2011-02-23 kinaba: // DWORD AllowPromotion:1; c2b7a98c21 2011-02-23 kinaba: // DWORD Reserved:30; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _PROCESSOR_POWER_POLICY_INFO PROCESSOR_POWER_POLICY_INFO; c2b7a98c21 2011-02-23 kinaba: alias _PROCESSOR_POWER_POLICY_INFO* PPROCESSOR_POWER_POLICY_INFO; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _PROCESSOR_POWER_POLICY { c2b7a98c21 2011-02-23 kinaba: DWORD Revision; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: BYTE DynamicThrottle; c2b7a98c21 2011-02-23 kinaba: BYTE Spare[3]; c2b7a98c21 2011-02-23 kinaba: DWORD Reserved; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: DWORD PolicyCount; c2b7a98c21 2011-02-23 kinaba: PROCESSOR_POWER_POLICY_INFO Policy[3]; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _PROCESSOR_POWER_POLICY PROCESSOR_POWER_POLICY; c2b7a98c21 2011-02-23 kinaba: alias _PROCESSOR_POWER_POLICY* PPROCESSOR_POWER_POLICY; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _ADMINISTRATOR_POWER_POLICY { c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: SYSTEM_POWER_STATE MinSleep; c2b7a98c21 2011-02-23 kinaba: SYSTEM_POWER_STATE MaxSleep; c2b7a98c21 2011-02-23 kinaba: DWORD MinVideoTimeout; c2b7a98c21 2011-02-23 kinaba: DWORD MaxVideoTimeout; c2b7a98c21 2011-02-23 kinaba: DWORD MinSpindownTimeout; c2b7a98c21 2011-02-23 kinaba: DWORD MaxSpindownTimeout; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _ADMINISTRATOR_POWER_POLICY ADMINISTRATOR_POWER_POLICY; c2b7a98c21 2011-02-23 kinaba: alias _ADMINISTRATOR_POWER_POLICY* PADMINISTRATOR_POWER_POLICY; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _10 { c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: BOOLEAN PowerButtonPresent; c2b7a98c21 2011-02-23 kinaba: BOOLEAN SleepButtonPresent; c2b7a98c21 2011-02-23 kinaba: BOOLEAN LidPresent; c2b7a98c21 2011-02-23 kinaba: BOOLEAN SystemS1; c2b7a98c21 2011-02-23 kinaba: BOOLEAN SystemS2; c2b7a98c21 2011-02-23 kinaba: BOOLEAN SystemS3; c2b7a98c21 2011-02-23 kinaba: BOOLEAN SystemS4; c2b7a98c21 2011-02-23 kinaba: BOOLEAN SystemS5; c2b7a98c21 2011-02-23 kinaba: BOOLEAN HiberFilePresent; c2b7a98c21 2011-02-23 kinaba: BOOLEAN FullWake; c2b7a98c21 2011-02-23 kinaba: BOOLEAN VideoDimPresent; c2b7a98c21 2011-02-23 kinaba: BOOLEAN ApmPresent; c2b7a98c21 2011-02-23 kinaba: BOOLEAN UpsPresent; c2b7a98c21 2011-02-23 kinaba: BOOLEAN ThermalControl; c2b7a98c21 2011-02-23 kinaba: BOOLEAN ProcessorThrottle; c2b7a98c21 2011-02-23 kinaba: BYTE ProcessorMinThrottle; c2b7a98c21 2011-02-23 kinaba: BYTE ProcessorMaxThrottle; c2b7a98c21 2011-02-23 kinaba: BYTE spare2[4]; c2b7a98c21 2011-02-23 kinaba: BOOLEAN DiskSpinDown; c2b7a98c21 2011-02-23 kinaba: BYTE spare3[8]; c2b7a98c21 2011-02-23 kinaba: BOOLEAN SystemBatteriesPresent; c2b7a98c21 2011-02-23 kinaba: BOOLEAN BatteriesAreShortTerm; c2b7a98c21 2011-02-23 kinaba: BATTERY_REPORTING_SCALE BatteryScale[3]; c2b7a98c21 2011-02-23 kinaba: SYSTEM_POWER_STATE AcOnLineWake; c2b7a98c21 2011-02-23 kinaba: SYSTEM_POWER_STATE SoftLidWake; c2b7a98c21 2011-02-23 kinaba: SYSTEM_POWER_STATE RtcWake; c2b7a98c21 2011-02-23 kinaba: SYSTEM_POWER_STATE MinDeviceWakeState; c2b7a98c21 2011-02-23 kinaba: SYSTEM_POWER_STATE DefaultLowLatencyWake; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _10 SYSTEM_POWER_CAPABILITIES; c2b7a98c21 2011-02-23 kinaba: alias _10* PSYSTEM_POWER_CAPABILITIES; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _11 { c2b7a98c21 2011-02-23 kinaba: BOOLEAN AcOnLine; c2b7a98c21 2011-02-23 kinaba: BOOLEAN BatteryPresent; c2b7a98c21 2011-02-23 kinaba: BOOLEAN Charging; c2b7a98c21 2011-02-23 kinaba: BOOLEAN Discharging; c2b7a98c21 2011-02-23 kinaba: BOOLEAN Spare1[4]; c2b7a98c21 2011-02-23 kinaba: DWORD MaxCapacity; c2b7a98c21 2011-02-23 kinaba: DWORD RemainingCapacity; c2b7a98c21 2011-02-23 kinaba: DWORD Rate; c2b7a98c21 2011-02-23 kinaba: DWORD EstimatedTime; c2b7a98c21 2011-02-23 kinaba: DWORD DefaultAlert1; c2b7a98c21 2011-02-23 kinaba: DWORD DefaultAlert2; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _11 SYSTEM_BATTERY_STATE; c2b7a98c21 2011-02-23 kinaba: alias _11* PSYSTEM_BATTERY_STATE; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #ifndef _MAC c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: align(4): c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_DOS_SIGNATURE = 0x5A4D } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_OS2_SIGNATURE = 0x454E } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_OS2_SIGNATURE_LE = 0x454C } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_VXD_SIGNATURE = 0x454C } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_NT_SIGNATURE = 0x00004550 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: align(2): c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #else c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _IMAGE_DOS_HEADER { c2b7a98c21 2011-02-23 kinaba: WORD e_magic; c2b7a98c21 2011-02-23 kinaba: WORD e_cblp; c2b7a98c21 2011-02-23 kinaba: WORD e_cp; c2b7a98c21 2011-02-23 kinaba: WORD e_crlc; c2b7a98c21 2011-02-23 kinaba: WORD e_cparhdr; c2b7a98c21 2011-02-23 kinaba: WORD e_minalloc; c2b7a98c21 2011-02-23 kinaba: WORD e_maxalloc; c2b7a98c21 2011-02-23 kinaba: WORD e_ss; c2b7a98c21 2011-02-23 kinaba: WORD e_sp; c2b7a98c21 2011-02-23 kinaba: WORD e_csum; c2b7a98c21 2011-02-23 kinaba: WORD e_ip; c2b7a98c21 2011-02-23 kinaba: WORD e_cs; c2b7a98c21 2011-02-23 kinaba: WORD e_lfarlc; c2b7a98c21 2011-02-23 kinaba: WORD e_ovno; c2b7a98c21 2011-02-23 kinaba: WORD e_res[4]; c2b7a98c21 2011-02-23 kinaba: WORD e_oemid; c2b7a98c21 2011-02-23 kinaba: WORD e_oeminfo; c2b7a98c21 2011-02-23 kinaba: WORD e_res2[10]; c2b7a98c21 2011-02-23 kinaba: LONG e_lfanew; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _IMAGE_DOS_HEADER IMAGE_DOS_HEADER; c2b7a98c21 2011-02-23 kinaba: alias _IMAGE_DOS_HEADER* PIMAGE_DOS_HEADER; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _IMAGE_OS2_HEADER { c2b7a98c21 2011-02-23 kinaba: WORD ne_magic; c2b7a98c21 2011-02-23 kinaba: CHAR ne_ver; c2b7a98c21 2011-02-23 kinaba: CHAR ne_rev; c2b7a98c21 2011-02-23 kinaba: WORD ne_enttab; c2b7a98c21 2011-02-23 kinaba: WORD ne_cbenttab; c2b7a98c21 2011-02-23 kinaba: LONG ne_crc; c2b7a98c21 2011-02-23 kinaba: WORD ne_flags; c2b7a98c21 2011-02-23 kinaba: WORD ne_autodata; c2b7a98c21 2011-02-23 kinaba: WORD ne_heap; c2b7a98c21 2011-02-23 kinaba: WORD ne_stack; c2b7a98c21 2011-02-23 kinaba: LONG ne_csip; c2b7a98c21 2011-02-23 kinaba: LONG ne_sssp; c2b7a98c21 2011-02-23 kinaba: WORD ne_cseg; c2b7a98c21 2011-02-23 kinaba: WORD ne_cmod; c2b7a98c21 2011-02-23 kinaba: WORD ne_cbnrestab; c2b7a98c21 2011-02-23 kinaba: WORD ne_segtab; c2b7a98c21 2011-02-23 kinaba: WORD ne_rsrctab; c2b7a98c21 2011-02-23 kinaba: WORD ne_restab; c2b7a98c21 2011-02-23 kinaba: WORD ne_modtab; c2b7a98c21 2011-02-23 kinaba: WORD ne_imptab; c2b7a98c21 2011-02-23 kinaba: LONG ne_nrestab; c2b7a98c21 2011-02-23 kinaba: WORD ne_cmovent; c2b7a98c21 2011-02-23 kinaba: WORD ne_align; c2b7a98c21 2011-02-23 kinaba: WORD ne_cres; c2b7a98c21 2011-02-23 kinaba: BYTE ne_exetyp; c2b7a98c21 2011-02-23 kinaba: BYTE ne_flagsothers; c2b7a98c21 2011-02-23 kinaba: WORD ne_pretthunks; c2b7a98c21 2011-02-23 kinaba: WORD ne_psegrefbytes; c2b7a98c21 2011-02-23 kinaba: WORD ne_swaparea; c2b7a98c21 2011-02-23 kinaba: WORD ne_expver; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _IMAGE_OS2_HEADER IMAGE_OS2_HEADER; c2b7a98c21 2011-02-23 kinaba: alias _IMAGE_OS2_HEADER* PIMAGE_OS2_HEADER; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _IMAGE_VXD_HEADER { c2b7a98c21 2011-02-23 kinaba: WORD e32_magic; c2b7a98c21 2011-02-23 kinaba: BYTE e32_border; c2b7a98c21 2011-02-23 kinaba: BYTE e32_worder; c2b7a98c21 2011-02-23 kinaba: DWORD e32_level; c2b7a98c21 2011-02-23 kinaba: WORD e32_cpu; c2b7a98c21 2011-02-23 kinaba: WORD e32_os; c2b7a98c21 2011-02-23 kinaba: DWORD e32_ver; c2b7a98c21 2011-02-23 kinaba: DWORD e32_mflags; c2b7a98c21 2011-02-23 kinaba: DWORD e32_mpages; c2b7a98c21 2011-02-23 kinaba: DWORD e32_startobj; c2b7a98c21 2011-02-23 kinaba: DWORD e32_eip; c2b7a98c21 2011-02-23 kinaba: DWORD e32_stackobj; c2b7a98c21 2011-02-23 kinaba: DWORD e32_esp; c2b7a98c21 2011-02-23 kinaba: DWORD e32_pagesize; c2b7a98c21 2011-02-23 kinaba: DWORD e32_lastpagesize; c2b7a98c21 2011-02-23 kinaba: DWORD e32_fixupsize; c2b7a98c21 2011-02-23 kinaba: DWORD e32_fixupsum; c2b7a98c21 2011-02-23 kinaba: DWORD e32_ldrsize; c2b7a98c21 2011-02-23 kinaba: DWORD e32_ldrsum; c2b7a98c21 2011-02-23 kinaba: DWORD e32_objtab; c2b7a98c21 2011-02-23 kinaba: DWORD e32_objcnt; c2b7a98c21 2011-02-23 kinaba: DWORD e32_objmap; c2b7a98c21 2011-02-23 kinaba: DWORD e32_itermap; c2b7a98c21 2011-02-23 kinaba: DWORD e32_rsrctab; c2b7a98c21 2011-02-23 kinaba: DWORD e32_rsrccnt; c2b7a98c21 2011-02-23 kinaba: DWORD e32_restab; c2b7a98c21 2011-02-23 kinaba: DWORD e32_enttab; c2b7a98c21 2011-02-23 kinaba: DWORD e32_dirtab; c2b7a98c21 2011-02-23 kinaba: DWORD e32_dircnt; c2b7a98c21 2011-02-23 kinaba: DWORD e32_fpagetab; c2b7a98c21 2011-02-23 kinaba: DWORD e32_frectab; c2b7a98c21 2011-02-23 kinaba: DWORD e32_impmod; c2b7a98c21 2011-02-23 kinaba: DWORD e32_impmodcnt; c2b7a98c21 2011-02-23 kinaba: DWORD e32_impproc; c2b7a98c21 2011-02-23 kinaba: DWORD e32_pagesum; c2b7a98c21 2011-02-23 kinaba: DWORD e32_datapage; c2b7a98c21 2011-02-23 kinaba: DWORD e32_preload; c2b7a98c21 2011-02-23 kinaba: DWORD e32_nrestab; c2b7a98c21 2011-02-23 kinaba: DWORD e32_cbnrestab; c2b7a98c21 2011-02-23 kinaba: DWORD e32_nressum; c2b7a98c21 2011-02-23 kinaba: DWORD e32_autodata; c2b7a98c21 2011-02-23 kinaba: DWORD e32_debuginfo; c2b7a98c21 2011-02-23 kinaba: DWORD e32_debuglen; c2b7a98c21 2011-02-23 kinaba: DWORD e32_instpreload; c2b7a98c21 2011-02-23 kinaba: DWORD e32_instdemand; c2b7a98c21 2011-02-23 kinaba: DWORD e32_heapsize; c2b7a98c21 2011-02-23 kinaba: BYTE e32_res3[12]; c2b7a98c21 2011-02-23 kinaba: DWORD e32_winresoff; c2b7a98c21 2011-02-23 kinaba: DWORD e32_winreslen; c2b7a98c21 2011-02-23 kinaba: WORD e32_devid; c2b7a98c21 2011-02-23 kinaba: WORD e32_ddkver; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _IMAGE_VXD_HEADER IMAGE_VXD_HEADER; c2b7a98c21 2011-02-23 kinaba: alias _IMAGE_VXD_HEADER* PIMAGE_VXD_HEADER; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #ifndef _MAC c2b7a98c21 2011-02-23 kinaba: align: c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _IMAGE_FILE_HEADER { c2b7a98c21 2011-02-23 kinaba: WORD Machine; c2b7a98c21 2011-02-23 kinaba: WORD NumberOfSections; c2b7a98c21 2011-02-23 kinaba: DWORD TimeDateStamp; c2b7a98c21 2011-02-23 kinaba: DWORD PointerToSymbolTable; c2b7a98c21 2011-02-23 kinaba: DWORD NumberOfSymbols; c2b7a98c21 2011-02-23 kinaba: WORD SizeOfOptionalHeader; c2b7a98c21 2011-02-23 kinaba: WORD Characteristics; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _IMAGE_FILE_HEADER IMAGE_FILE_HEADER; c2b7a98c21 2011-02-23 kinaba: alias _IMAGE_FILE_HEADER* PIMAGE_FILE_HEADER; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_SIZEOF_FILE_HEADER = 20 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_FILE_RELOCS_STRIPPED = 0x0001 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_FILE_EXECUTABLE_IMAGE = 0x0002 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_FILE_LINE_NUMS_STRIPPED = 0x0004 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_FILE_LOCAL_SYMS_STRIPPED = 0x0008 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_FILE_AGGRESIVE_WS_TRIM = 0x0010 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_FILE_LARGE_ADDRESS_AWARE = 0x0020 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_FILE_BYTES_REVERSED_LO = 0x0080 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_FILE_32BIT_MACHINE = 0x0100 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_FILE_DEBUG_STRIPPED = 0x0200 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP = 0x0400 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_FILE_NET_RUN_FROM_SWAP = 0x0800 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_FILE_SYSTEM = 0x1000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_FILE_DLL = 0x2000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_FILE_UP_SYSTEM_ONLY = 0x4000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_FILE_BYTES_REVERSED_HI = 0x8000 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_FILE_MACHINE_UNKNOWN = 0 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_FILE_MACHINE_I386 = 0x014c } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_FILE_MACHINE_R3000 = 0x0162 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_FILE_MACHINE_R4000 = 0x0166 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_FILE_MACHINE_R10000 = 0x0168 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_FILE_MACHINE_WCEMIPSV2 = 0x0169 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_FILE_MACHINE_ALPHA = 0x0184 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_FILE_MACHINE_SH3 = 0x01a2 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_FILE_MACHINE_SH3DSP = 0x01a3 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_FILE_MACHINE_SH3E = 0x01a4 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_FILE_MACHINE_SH4 = 0x01a6 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_FILE_MACHINE_SH5 = 0x01a8 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_FILE_MACHINE_ARM = 0x01c0 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_FILE_MACHINE_THUMB = 0x01c2 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_FILE_MACHINE_AM33 = 0x01d3 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_FILE_MACHINE_POWERPC = 0x01F0 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_FILE_MACHINE_POWERPCFP = 0x01f1 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_FILE_MACHINE_IA64 = 0x0200 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_FILE_MACHINE_MIPS16 = 0x0266 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_FILE_MACHINE_ALPHA64 = 0x0284 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_FILE_MACHINE_MIPSFPU = 0x0366 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_FILE_MACHINE_MIPSFPU16 = 0x0466 } c2b7a98c21 2011-02-23 kinaba: alias IMAGE_FILE_MACHINE_ALPHA64 IMAGE_FILE_MACHINE_AXP64; c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_FILE_MACHINE_TRICORE = 0x0520 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_FILE_MACHINE_CEF = 0x0CEF } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_FILE_MACHINE_EBC = 0x0EBC } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_FILE_MACHINE_AMD64 = 0x8664 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_FILE_MACHINE_M32R = 0x9041 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_FILE_MACHINE_CEE = 0xC0EE } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _IMAGE_DATA_DIRECTORY { c2b7a98c21 2011-02-23 kinaba: DWORD VirtualAddress; c2b7a98c21 2011-02-23 kinaba: DWORD Size; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _IMAGE_DATA_DIRECTORY IMAGE_DATA_DIRECTORY; c2b7a98c21 2011-02-23 kinaba: alias _IMAGE_DATA_DIRECTORY* PIMAGE_DATA_DIRECTORY; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_NUMBEROF_DIRECTORY_ENTRIES = 16 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _IMAGE_OPTIONAL_HEADER { c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: WORD Magic; c2b7a98c21 2011-02-23 kinaba: BYTE MajorLinkerVersion; c2b7a98c21 2011-02-23 kinaba: BYTE MinorLinkerVersion; c2b7a98c21 2011-02-23 kinaba: DWORD SizeOfCode; c2b7a98c21 2011-02-23 kinaba: DWORD SizeOfInitializedData; c2b7a98c21 2011-02-23 kinaba: DWORD SizeOfUninitializedData; c2b7a98c21 2011-02-23 kinaba: DWORD AddressOfEntryPoint; c2b7a98c21 2011-02-23 kinaba: DWORD BaseOfCode; c2b7a98c21 2011-02-23 kinaba: DWORD BaseOfData; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: DWORD ImageBase; c2b7a98c21 2011-02-23 kinaba: DWORD SectionAlignment; c2b7a98c21 2011-02-23 kinaba: DWORD FileAlignment; c2b7a98c21 2011-02-23 kinaba: WORD MajorOperatingSystemVersion; c2b7a98c21 2011-02-23 kinaba: WORD MinorOperatingSystemVersion; c2b7a98c21 2011-02-23 kinaba: WORD MajorImageVersion; c2b7a98c21 2011-02-23 kinaba: WORD MinorImageVersion; c2b7a98c21 2011-02-23 kinaba: WORD MajorSubsystemVersion; c2b7a98c21 2011-02-23 kinaba: WORD MinorSubsystemVersion; c2b7a98c21 2011-02-23 kinaba: DWORD Win32VersionValue; c2b7a98c21 2011-02-23 kinaba: DWORD SizeOfImage; c2b7a98c21 2011-02-23 kinaba: DWORD SizeOfHeaders; c2b7a98c21 2011-02-23 kinaba: DWORD CheckSum; c2b7a98c21 2011-02-23 kinaba: WORD Subsystem; c2b7a98c21 2011-02-23 kinaba: WORD DllCharacteristics; c2b7a98c21 2011-02-23 kinaba: DWORD SizeOfStackReserve; c2b7a98c21 2011-02-23 kinaba: DWORD SizeOfStackCommit; c2b7a98c21 2011-02-23 kinaba: DWORD SizeOfHeapReserve; c2b7a98c21 2011-02-23 kinaba: DWORD SizeOfHeapCommit; c2b7a98c21 2011-02-23 kinaba: DWORD LoaderFlags; c2b7a98c21 2011-02-23 kinaba: DWORD NumberOfRvaAndSizes; c2b7a98c21 2011-02-23 kinaba: IMAGE_DATA_DIRECTORY DataDirectory[IMAGE_NUMBEROF_DIRECTORY_ENTRIES]; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _IMAGE_OPTIONAL_HEADER IMAGE_OPTIONAL_HEADER32; c2b7a98c21 2011-02-23 kinaba: alias _IMAGE_OPTIONAL_HEADER* PIMAGE_OPTIONAL_HEADER32; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _IMAGE_ROM_OPTIONAL_HEADER { c2b7a98c21 2011-02-23 kinaba: WORD Magic; c2b7a98c21 2011-02-23 kinaba: BYTE MajorLinkerVersion; c2b7a98c21 2011-02-23 kinaba: BYTE MinorLinkerVersion; c2b7a98c21 2011-02-23 kinaba: DWORD SizeOfCode; c2b7a98c21 2011-02-23 kinaba: DWORD SizeOfInitializedData; c2b7a98c21 2011-02-23 kinaba: DWORD SizeOfUninitializedData; c2b7a98c21 2011-02-23 kinaba: DWORD AddressOfEntryPoint; c2b7a98c21 2011-02-23 kinaba: DWORD BaseOfCode; c2b7a98c21 2011-02-23 kinaba: DWORD BaseOfData; c2b7a98c21 2011-02-23 kinaba: DWORD BaseOfBss; c2b7a98c21 2011-02-23 kinaba: DWORD GprMask; c2b7a98c21 2011-02-23 kinaba: DWORD CprMask[4]; c2b7a98c21 2011-02-23 kinaba: DWORD GpValue; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _IMAGE_ROM_OPTIONAL_HEADER IMAGE_ROM_OPTIONAL_HEADER; c2b7a98c21 2011-02-23 kinaba: alias _IMAGE_ROM_OPTIONAL_HEADER* PIMAGE_ROM_OPTIONAL_HEADER; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _IMAGE_OPTIONAL_HEADER64 { c2b7a98c21 2011-02-23 kinaba: WORD Magic; c2b7a98c21 2011-02-23 kinaba: BYTE MajorLinkerVersion; c2b7a98c21 2011-02-23 kinaba: BYTE MinorLinkerVersion; c2b7a98c21 2011-02-23 kinaba: DWORD SizeOfCode; c2b7a98c21 2011-02-23 kinaba: DWORD SizeOfInitializedData; c2b7a98c21 2011-02-23 kinaba: DWORD SizeOfUninitializedData; c2b7a98c21 2011-02-23 kinaba: DWORD AddressOfEntryPoint; c2b7a98c21 2011-02-23 kinaba: DWORD BaseOfCode; c2b7a98c21 2011-02-23 kinaba: ULONGLONG ImageBase; c2b7a98c21 2011-02-23 kinaba: DWORD SectionAlignment; c2b7a98c21 2011-02-23 kinaba: DWORD FileAlignment; c2b7a98c21 2011-02-23 kinaba: WORD MajorOperatingSystemVersion; c2b7a98c21 2011-02-23 kinaba: WORD MinorOperatingSystemVersion; c2b7a98c21 2011-02-23 kinaba: WORD MajorImageVersion; c2b7a98c21 2011-02-23 kinaba: WORD MinorImageVersion; c2b7a98c21 2011-02-23 kinaba: WORD MajorSubsystemVersion; c2b7a98c21 2011-02-23 kinaba: WORD MinorSubsystemVersion; c2b7a98c21 2011-02-23 kinaba: DWORD Win32VersionValue; c2b7a98c21 2011-02-23 kinaba: DWORD SizeOfImage; c2b7a98c21 2011-02-23 kinaba: DWORD SizeOfHeaders; c2b7a98c21 2011-02-23 kinaba: DWORD CheckSum; c2b7a98c21 2011-02-23 kinaba: WORD Subsystem; c2b7a98c21 2011-02-23 kinaba: WORD DllCharacteristics; c2b7a98c21 2011-02-23 kinaba: ULONGLONG SizeOfStackReserve; c2b7a98c21 2011-02-23 kinaba: ULONGLONG SizeOfStackCommit; c2b7a98c21 2011-02-23 kinaba: ULONGLONG SizeOfHeapReserve; c2b7a98c21 2011-02-23 kinaba: ULONGLONG SizeOfHeapCommit; c2b7a98c21 2011-02-23 kinaba: DWORD LoaderFlags; c2b7a98c21 2011-02-23 kinaba: DWORD NumberOfRvaAndSizes; c2b7a98c21 2011-02-23 kinaba: IMAGE_DATA_DIRECTORY DataDirectory[IMAGE_NUMBEROF_DIRECTORY_ENTRIES]; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _IMAGE_OPTIONAL_HEADER64 IMAGE_OPTIONAL_HEADER64; c2b7a98c21 2011-02-23 kinaba: alias _IMAGE_OPTIONAL_HEADER64* PIMAGE_OPTIONAL_HEADER64; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_SIZEOF_ROM_OPTIONAL_HEADER = 56 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_SIZEOF_STD_OPTIONAL_HEADER = 28 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_SIZEOF_NT_OPTIONAL32_HEADER = 224 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_SIZEOF_NT_OPTIONAL64_HEADER = 240 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_NT_OPTIONAL_HDR32_MAGIC = 0x10b } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_NT_OPTIONAL_HDR64_MAGIC = 0x20b } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_ROM_OPTIONAL_HDR_MAGIC = 0x107 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #ifdef _WIN64 c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #else c2b7a98c21 2011-02-23 kinaba: alias IMAGE_OPTIONAL_HEADER32 IMAGE_OPTIONAL_HEADER; c2b7a98c21 2011-02-23 kinaba: alias PIMAGE_OPTIONAL_HEADER32 PIMAGE_OPTIONAL_HEADER; c2b7a98c21 2011-02-23 kinaba: alias IMAGE_SIZEOF_NT_OPTIONAL32_HEADER IMAGE_SIZEOF_NT_OPTIONAL_HEADER; c2b7a98c21 2011-02-23 kinaba: alias IMAGE_NT_OPTIONAL_HDR32_MAGIC IMAGE_NT_OPTIONAL_HDR_MAGIC; c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _IMAGE_NT_HEADERS64 { c2b7a98c21 2011-02-23 kinaba: DWORD Signature; c2b7a98c21 2011-02-23 kinaba: IMAGE_FILE_HEADER FileHeader; c2b7a98c21 2011-02-23 kinaba: IMAGE_OPTIONAL_HEADER64 OptionalHeader; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _IMAGE_NT_HEADERS64 IMAGE_NT_HEADERS64; c2b7a98c21 2011-02-23 kinaba: alias _IMAGE_NT_HEADERS64* PIMAGE_NT_HEADERS64; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _IMAGE_NT_HEADERS { c2b7a98c21 2011-02-23 kinaba: DWORD Signature; c2b7a98c21 2011-02-23 kinaba: IMAGE_FILE_HEADER FileHeader; c2b7a98c21 2011-02-23 kinaba: IMAGE_OPTIONAL_HEADER32 OptionalHeader; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _IMAGE_NT_HEADERS IMAGE_NT_HEADERS32; c2b7a98c21 2011-02-23 kinaba: alias _IMAGE_NT_HEADERS* PIMAGE_NT_HEADERS32; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _IMAGE_ROM_HEADERS { c2b7a98c21 2011-02-23 kinaba: IMAGE_FILE_HEADER FileHeader; c2b7a98c21 2011-02-23 kinaba: IMAGE_ROM_OPTIONAL_HEADER OptionalHeader; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _IMAGE_ROM_HEADERS IMAGE_ROM_HEADERS; c2b7a98c21 2011-02-23 kinaba: alias _IMAGE_ROM_HEADERS* PIMAGE_ROM_HEADERS; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #ifdef _WIN64 c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: // #else c2b7a98c21 2011-02-23 kinaba: alias IMAGE_NT_HEADERS32 IMAGE_NT_HEADERS; c2b7a98c21 2011-02-23 kinaba: alias PIMAGE_NT_HEADERS32 PIMAGE_NT_HEADERS; c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #define IMAGE_FIRST_SECTION( ntheader ) ((PIMAGE_SECTION_HEADER) ((ULONG_PTR)ntheader + FIELD_OFFSET( IMAGE_NT_HEADERS, OptionalHeader ) + ((PIMAGE_NT_HEADERS)(ntheader))->FileHeader.SizeOfOptionalHeader )) c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_SUBSYSTEM_UNKNOWN = 0 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_SUBSYSTEM_NATIVE = 1 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_SUBSYSTEM_WINDOWS_GUI = 2 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_SUBSYSTEM_WINDOWS_CUI = 3 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_SUBSYSTEM_OS2_CUI = 5 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_SUBSYSTEM_POSIX_CUI = 7 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_SUBSYSTEM_NATIVE_WINDOWS = 8 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_SUBSYSTEM_WINDOWS_CE_GUI = 9 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_SUBSYSTEM_EFI_APPLICATION = 10 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_SUBSYSTEM_EFI_BOOT_SERVICE_DRIVER = 11 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_SUBSYSTEM_EFI_RUNTIME_DRIVER = 12 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_SUBSYSTEM_EFI_ROM = 13 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_SUBSYSTEM_XBOX = 14 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_DLLCHARACTERISTICS_NO_BIND = 0x0800 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_DLLCHARACTERISTICS_WDM_DRIVER = 0x2000 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE = 0x8000 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_DIRECTORY_ENTRY_EXPORT = 0 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_DIRECTORY_ENTRY_IMPORT = 1 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_DIRECTORY_ENTRY_RESOURCE = 2 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_DIRECTORY_ENTRY_EXCEPTION = 3 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_DIRECTORY_ENTRY_SECURITY = 4 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_DIRECTORY_ENTRY_BASERELOC = 5 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_DIRECTORY_ENTRY_DEBUG = 6 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_DIRECTORY_ENTRY_ARCHITECTURE = 7 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_DIRECTORY_ENTRY_GLOBALPTR = 8 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_DIRECTORY_ENTRY_TLS = 9 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_DIRECTORY_ENTRY_LOAD_CONFIG = 10 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_DIRECTORY_ENTRY_BOUND_IMPORT = 11 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_DIRECTORY_ENTRY_IAT = 12 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_DIRECTORY_ENTRY_DELAY_IMPORT = 13 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_DIRECTORY_ENTRY_COM_DESCRIPTOR = 14 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct ANON_OBJECT_HEADER { c2b7a98c21 2011-02-23 kinaba: WORD Sig1; c2b7a98c21 2011-02-23 kinaba: WORD Sig2; c2b7a98c21 2011-02-23 kinaba: WORD Version; c2b7a98c21 2011-02-23 kinaba: WORD Machine; c2b7a98c21 2011-02-23 kinaba: DWORD TimeDateStamp; c2b7a98c21 2011-02-23 kinaba: CLSID ClassID; c2b7a98c21 2011-02-23 kinaba: DWORD SizeOfData; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_SIZEOF_SHORT_NAME = 8 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _IMAGE_SECTION_HEADER { c2b7a98c21 2011-02-23 kinaba: BYTE Name[IMAGE_SIZEOF_SHORT_NAME]; c2b7a98c21 2011-02-23 kinaba: union { c2b7a98c21 2011-02-23 kinaba: DWORD PhysicalAddress; c2b7a98c21 2011-02-23 kinaba: DWORD VirtualSize; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: DWORD VirtualAddress; c2b7a98c21 2011-02-23 kinaba: DWORD SizeOfRawData; c2b7a98c21 2011-02-23 kinaba: DWORD PointerToRawData; c2b7a98c21 2011-02-23 kinaba: DWORD PointerToRelocations; c2b7a98c21 2011-02-23 kinaba: DWORD PointerToLinenumbers; c2b7a98c21 2011-02-23 kinaba: WORD NumberOfRelocations; c2b7a98c21 2011-02-23 kinaba: WORD NumberOfLinenumbers; c2b7a98c21 2011-02-23 kinaba: DWORD Characteristics; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _IMAGE_SECTION_HEADER IMAGE_SECTION_HEADER; c2b7a98c21 2011-02-23 kinaba: alias _IMAGE_SECTION_HEADER* PIMAGE_SECTION_HEADER; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_SIZEOF_SECTION_HEADER = 40 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_SCN_TYPE_NO_PAD = 0x00000008 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_SCN_CNT_CODE = 0x00000020 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_SCN_CNT_INITIALIZED_DATA = 0x00000040 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_SCN_CNT_UNINITIALIZED_DATA = 0x00000080 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_SCN_LNK_OTHER = 0x00000100 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_SCN_LNK_INFO = 0x00000200 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_SCN_LNK_REMOVE = 0x00000800 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_SCN_LNK_COMDAT = 0x00001000 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_SCN_NO_DEFER_SPEC_EXC = 0x00004000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_SCN_GPREL = 0x00008000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_SCN_MEM_FARDATA = 0x00008000 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_SCN_MEM_PURGEABLE = 0x00020000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_SCN_MEM_16BIT = 0x00020000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_SCN_MEM_LOCKED = 0x00040000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_SCN_MEM_PRELOAD = 0x00080000 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_SCN_ALIGN_1BYTES = 0x00100000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_SCN_ALIGN_2BYTES = 0x00200000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_SCN_ALIGN_4BYTES = 0x00300000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_SCN_ALIGN_8BYTES = 0x00400000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_SCN_ALIGN_16BYTES = 0x00500000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_SCN_ALIGN_32BYTES = 0x00600000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_SCN_ALIGN_64BYTES = 0x00700000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_SCN_ALIGN_128BYTES = 0x00800000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_SCN_ALIGN_256BYTES = 0x00900000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_SCN_ALIGN_512BYTES = 0x00A00000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_SCN_ALIGN_1024BYTES = 0x00B00000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_SCN_ALIGN_2048BYTES = 0x00C00000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_SCN_ALIGN_4096BYTES = 0x00D00000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_SCN_ALIGN_8192BYTES = 0x00E00000 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_SCN_ALIGN_MASK = 0x00F00000 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_SCN_LNK_NRELOC_OVFL = 0x01000000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_SCN_MEM_DISCARDABLE = 0x02000000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_SCN_MEM_NOT_CACHED = 0x04000000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_SCN_MEM_NOT_PAGED = 0x08000000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_SCN_MEM_SHARED = 0x10000000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_SCN_MEM_EXECUTE = 0x20000000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_SCN_MEM_READ = 0x40000000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_SCN_MEM_WRITE = 0x80000000 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_SCN_SCALE_INDEX = 0x00000001 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #ifndef _MAC c2b7a98c21 2011-02-23 kinaba: align(2): c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _IMAGE_SYMBOL { c2b7a98c21 2011-02-23 kinaba: union { c2b7a98c21 2011-02-23 kinaba: BYTE ShortName[8]; c2b7a98c21 2011-02-23 kinaba: struct { c2b7a98c21 2011-02-23 kinaba: DWORD Short; c2b7a98c21 2011-02-23 kinaba: DWORD Long; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: DWORD LongName[2]; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: DWORD Value; c2b7a98c21 2011-02-23 kinaba: SHORT SectionNumber; c2b7a98c21 2011-02-23 kinaba: WORD Type; c2b7a98c21 2011-02-23 kinaba: BYTE StorageClass; c2b7a98c21 2011-02-23 kinaba: BYTE NumberOfAuxSymbols; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _IMAGE_SYMBOL IMAGE_SYMBOL; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: alias IMAGE_SYMBOL* PIMAGE_SYMBOL; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_SIZEOF_SYMBOL = 18 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : SHORT { IMAGE_SYM_UNDEFINED = 0 } c2b7a98c21 2011-02-23 kinaba: enum : SHORT { IMAGE_SYM_ABSOLUTE = -1 } c2b7a98c21 2011-02-23 kinaba: enum : SHORT { IMAGE_SYM_DEBUG = -2 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_SYM_SECTION_MAX = 0xFEFF } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_SYM_TYPE_NULL = 0x0000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_SYM_TYPE_VOID = 0x0001 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_SYM_TYPE_CHAR = 0x0002 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_SYM_TYPE_SHORT = 0x0003 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_SYM_TYPE_INT = 0x0004 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_SYM_TYPE_LONG = 0x0005 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_SYM_TYPE_FLOAT = 0x0006 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_SYM_TYPE_DOUBLE = 0x0007 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_SYM_TYPE_STRUCT = 0x0008 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_SYM_TYPE_UNION = 0x0009 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_SYM_TYPE_ENUM = 0x000A } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_SYM_TYPE_MOE = 0x000B } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_SYM_TYPE_BYTE = 0x000C } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_SYM_TYPE_WORD = 0x000D } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_SYM_TYPE_UINT = 0x000E } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_SYM_TYPE_DWORD = 0x000F } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_SYM_TYPE_PCODE = 0x8000 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_SYM_DTYPE_NULL = 0 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_SYM_DTYPE_POINTER = 1 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_SYM_DTYPE_FUNCTION = 2 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_SYM_DTYPE_ARRAY = 3 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : BYTE { IMAGE_SYM_CLASS_END_OF_FUNCTION = cast(BYTE)-1 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_SYM_CLASS_NULL = 0x0000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_SYM_CLASS_AUTOMATIC = 0x0001 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_SYM_CLASS_EXTERNAL = 0x0002 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_SYM_CLASS_STATIC = 0x0003 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_SYM_CLASS_REGISTER = 0x0004 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_SYM_CLASS_EXTERNAL_DEF = 0x0005 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_SYM_CLASS_LABEL = 0x0006 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_SYM_CLASS_UNDEFINED_LABEL = 0x0007 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_SYM_CLASS_MEMBER_OF_STRUCT = 0x0008 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_SYM_CLASS_ARGUMENT = 0x0009 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_SYM_CLASS_STRUCT_TAG = 0x000A } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_SYM_CLASS_MEMBER_OF_UNION = 0x000B } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_SYM_CLASS_UNION_TAG = 0x000C } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_SYM_CLASS_TYPE_DEFINITION = 0x000D } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_SYM_CLASS_UNDEFINED_STATIC = 0x000E } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_SYM_CLASS_ENUM_TAG = 0x000F } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_SYM_CLASS_MEMBER_OF_ENUM = 0x0010 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_SYM_CLASS_REGISTER_PARAM = 0x0011 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_SYM_CLASS_BIT_FIELD = 0x0012 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_SYM_CLASS_FAR_EXTERNAL = 0x0044 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_SYM_CLASS_BLOCK = 0x0064 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_SYM_CLASS_FUNCTION = 0x0065 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_SYM_CLASS_END_OF_STRUCT = 0x0066 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_SYM_CLASS_FILE = 0x0067 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_SYM_CLASS_SECTION = 0x0068 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_SYM_CLASS_WEAK_EXTERNAL = 0x0069 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_SYM_CLASS_CLR_TOKEN = 0x006B } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { N_BTMASK = 0x000F } c2b7a98c21 2011-02-23 kinaba: enum : uint { N_TMASK = 0x0030 } c2b7a98c21 2011-02-23 kinaba: enum : uint { N_TMASK1 = 0x00C0 } c2b7a98c21 2011-02-23 kinaba: enum : uint { N_TMASK2 = 0x00F0 } c2b7a98c21 2011-02-23 kinaba: enum : uint { N_BTSHFT = 4 } c2b7a98c21 2011-02-23 kinaba: enum : uint { N_TSHIFT = 2 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: BYTE BTYPE(BYTE x){ return x & N_BTMASK; } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #ifndef ISPTR c2b7a98c21 2011-02-23 kinaba: bit ISPTR(uint x){ return (x & N_TMASK) == (IMAGE_SYM_DTYPE_POINTER << N_BTSHFT); } c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #ifndef ISFCN c2b7a98c21 2011-02-23 kinaba: bit ISFCN(uint x){ return (x & N_TMASK) == (IMAGE_SYM_DTYPE_FUNCTION << N_BTSHFT); } c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #ifndef ISARY c2b7a98c21 2011-02-23 kinaba: bit ISARY(uint x){ return (x & N_TMASK) == (IMAGE_SYM_DTYPE_ARRAY << N_BTSHFT); } c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #ifndef ISTAG c2b7a98c21 2011-02-23 kinaba: bit ISTAG(uint x){ return x == IMAGE_SYM_CLASS_STRUCT_TAG || x == IMAGE_SYM_CLASS_UNION_TAG || x == IMAGE_SYM_CLASS_ENUM_TAG; } c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #ifndef INCREF c2b7a98c21 2011-02-23 kinaba: uint INCREF(uint x){ return ((x&~N_BTMASK)<<N_TSHIFT)|(IMAGE_SYM_DTYPE_POINTER<<N_BTSHFT)|(x&N_BTMASK); } c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: // #ifndef DECREF c2b7a98c21 2011-02-23 kinaba: uint DECREF(uint x){ return ((x >>> N_TSHIFT) & ~N_BTMASK)|(x & N_BTMASK); } c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: union _IMAGE_AUX_SYMBOL { c2b7a98c21 2011-02-23 kinaba: struct { c2b7a98c21 2011-02-23 kinaba: DWORD TagIndex; c2b7a98c21 2011-02-23 kinaba: union { c2b7a98c21 2011-02-23 kinaba: struct { c2b7a98c21 2011-02-23 kinaba: WORD Linenumber; c2b7a98c21 2011-02-23 kinaba: WORD Size; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: DWORD TotalSize; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: union { c2b7a98c21 2011-02-23 kinaba: struct { c2b7a98c21 2011-02-23 kinaba: DWORD PointerToLinenumber; c2b7a98c21 2011-02-23 kinaba: DWORD PointerToNextFunction; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct { c2b7a98c21 2011-02-23 kinaba: WORD Dimension[4]; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: WORD TvIndex; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct { c2b7a98c21 2011-02-23 kinaba: BYTE Name[IMAGE_SIZEOF_SYMBOL]; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct { c2b7a98c21 2011-02-23 kinaba: DWORD Length; c2b7a98c21 2011-02-23 kinaba: WORD NumberOfRelocations; c2b7a98c21 2011-02-23 kinaba: WORD NumberOfLinenumbers; c2b7a98c21 2011-02-23 kinaba: DWORD CheckSum; c2b7a98c21 2011-02-23 kinaba: SHORT Number; c2b7a98c21 2011-02-23 kinaba: BYTE Selection; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _IMAGE_AUX_SYMBOL IMAGE_AUX_SYMBOL; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: alias IMAGE_AUX_SYMBOL* PIMAGE_AUX_SYMBOL; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_SIZEOF_AUX_SYMBOL = 18 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: alias int IMAGE_AUX_SYMBOL_TYPE; c2b7a98c21 2011-02-23 kinaba: enum { c2b7a98c21 2011-02-23 kinaba: IMAGE_AUX_SYMBOL_TYPE_TOKEN_DEF = 1, c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: align(2): c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct IMAGE_AUX_SYMBOL_TOKEN_DEF { c2b7a98c21 2011-02-23 kinaba: BYTE bAuxType; c2b7a98c21 2011-02-23 kinaba: BYTE bReserved; c2b7a98c21 2011-02-23 kinaba: DWORD SymbolTableIndex; c2b7a98c21 2011-02-23 kinaba: BYTE rgbReserved[12]; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: alias IMAGE_AUX_SYMBOL_TOKEN_DEF* PIMAGE_AUX_SYMBOL_TOKEN_DEF; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: align: c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_COMDAT_SELECT_NODUPLICATES = 1 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_COMDAT_SELECT_ANY = 2 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_COMDAT_SELECT_SAME_SIZE = 3 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_COMDAT_SELECT_EXACT_MATCH = 4 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_COMDAT_SELECT_ASSOCIATIVE = 5 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_COMDAT_SELECT_LARGEST = 6 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_COMDAT_SELECT_NEWEST = 7 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_WEAK_EXTERN_SEARCH_NOLIBRARY = 1 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_WEAK_EXTERN_SEARCH_LIBRARY = 2 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_WEAK_EXTERN_SEARCH_ALIAS = 3 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _IMAGE_RELOCATION { c2b7a98c21 2011-02-23 kinaba: union { c2b7a98c21 2011-02-23 kinaba: DWORD VirtualAddress; c2b7a98c21 2011-02-23 kinaba: DWORD RelocCount; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: DWORD SymbolTableIndex; c2b7a98c21 2011-02-23 kinaba: WORD Type; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _IMAGE_RELOCATION IMAGE_RELOCATION; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: alias IMAGE_RELOCATION* PIMAGE_RELOCATION; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_SIZEOF_RELOCATION = 10 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_I386_ABSOLUTE = 0x0000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_I386_DIR16 = 0x0001 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_I386_REL16 = 0x0002 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_I386_DIR32 = 0x0006 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_I386_DIR32NB = 0x0007 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_I386_SEG12 = 0x0009 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_I386_SECTION = 0x000A } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_I386_SECREL = 0x000B } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_I386_TOKEN = 0x000C } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_I386_SECREL7 = 0x000D } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_I386_REL32 = 0x0014 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_MIPS_ABSOLUTE = 0x0000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_MIPS_REFHALF = 0x0001 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_MIPS_REFWORD = 0x0002 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_MIPS_JMPADDR = 0x0003 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_MIPS_REFHI = 0x0004 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_MIPS_REFLO = 0x0005 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_MIPS_GPREL = 0x0006 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_MIPS_LITERAL = 0x0007 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_MIPS_SECTION = 0x000A } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_MIPS_SECREL = 0x000B } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_MIPS_SECRELLO = 0x000C } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_MIPS_SECRELHI = 0x000D } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_MIPS_TOKEN = 0x000E } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_MIPS_JMPADDR16 = 0x0010 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_MIPS_REFWORDNB = 0x0022 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_MIPS_PAIR = 0x0025 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_ALPHA_ABSOLUTE = 0x0000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_ALPHA_REFLONG = 0x0001 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_ALPHA_REFQUAD = 0x0002 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_ALPHA_GPREL32 = 0x0003 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_ALPHA_LITERAL = 0x0004 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_ALPHA_LITUSE = 0x0005 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_ALPHA_GPDISP = 0x0006 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_ALPHA_BRADDR = 0x0007 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_ALPHA_HINT = 0x0008 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_ALPHA_INLINE_REFLONG = 0x0009 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_ALPHA_REFHI = 0x000A } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_ALPHA_REFLO = 0x000B } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_ALPHA_PAIR = 0x000C } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_ALPHA_MATCH = 0x000D } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_ALPHA_SECTION = 0x000E } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_ALPHA_SECREL = 0x000F } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_ALPHA_REFLONGNB = 0x0010 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_ALPHA_SECRELLO = 0x0011 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_ALPHA_SECRELHI = 0x0012 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_ALPHA_REFQ3 = 0x0013 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_ALPHA_REFQ2 = 0x0014 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_ALPHA_REFQ1 = 0x0015 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_ALPHA_GPRELLO = 0x0016 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_ALPHA_GPRELHI = 0x0017 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_PPC_ABSOLUTE = 0x0000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_PPC_ADDR64 = 0x0001 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_PPC_ADDR32 = 0x0002 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_PPC_ADDR24 = 0x0003 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_PPC_ADDR16 = 0x0004 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_PPC_ADDR14 = 0x0005 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_PPC_REL24 = 0x0006 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_PPC_REL14 = 0x0007 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_PPC_TOCREL16 = 0x0008 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_PPC_TOCREL14 = 0x0009 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_PPC_ADDR32NB = 0x000A } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_PPC_SECREL = 0x000B } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_PPC_SECTION = 0x000C } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_PPC_IFGLUE = 0x000D } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_PPC_IMGLUE = 0x000E } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_PPC_SECREL16 = 0x000F } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_PPC_REFHI = 0x0010 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_PPC_REFLO = 0x0011 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_PPC_PAIR = 0x0012 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_PPC_SECRELLO = 0x0013 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_PPC_SECRELHI = 0x0014 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_PPC_GPREL = 0x0015 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_PPC_TOKEN = 0x0016 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_PPC_TYPEMASK = 0x00FF } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_PPC_NEG = 0x0100 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_PPC_BRTAKEN = 0x0200 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_PPC_BRNTAKEN = 0x0400 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_PPC_TOCDEFN = 0x0800 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_SH3_ABSOLUTE = 0x0000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_SH3_DIRECT16 = 0x0001 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_SH3_DIRECT32 = 0x0002 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_SH3_DIRECT8 = 0x0003 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_SH3_DIRECT8_WORD = 0x0004 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_SH3_DIRECT8_LONG = 0x0005 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_SH3_DIRECT4 = 0x0006 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_SH3_DIRECT4_WORD = 0x0007 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_SH3_DIRECT4_LONG = 0x0008 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_SH3_PCREL8_WORD = 0x0009 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_SH3_PCREL8_LONG = 0x000A } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_SH3_PCREL12_WORD = 0x000B } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_SH3_STARTOF_SECTION = 0x000C } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_SH3_SIZEOF_SECTION = 0x000D } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_SH3_SECTION = 0x000E } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_SH3_SECREL = 0x000F } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_SH3_DIRECT32_NB = 0x0010 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_SH3_GPREL4_LONG = 0x0011 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_SH3_TOKEN = 0x0012 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_ARM_ABSOLUTE = 0x0000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_ARM_ADDR32 = 0x0001 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_ARM_ADDR32NB = 0x0002 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_ARM_BRANCH24 = 0x0003 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_ARM_BRANCH11 = 0x0004 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_ARM_TOKEN = 0x0005 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_ARM_GPREL12 = 0x0006 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_ARM_GPREL7 = 0x0007 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_ARM_BLX24 = 0x0008 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_ARM_BLX11 = 0x0009 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_ARM_SECTION = 0x000E } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_ARM_SECREL = 0x000F } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_AM_ABSOLUTE = 0x0000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_AM_ADDR32 = 0x0001 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_AM_ADDR32NB = 0x0002 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_AM_CALL32 = 0x0003 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_AM_FUNCINFO = 0x0004 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_AM_REL32_1 = 0x0005 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_AM_REL32_2 = 0x0006 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_AM_SECREL = 0x0007 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_AM_SECTION = 0x0008 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_AM_TOKEN = 0x0009 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_AMD64_ABSOLUTE = 0x0000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_AMD64_ADDR64 = 0x0001 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_AMD64_ADDR32 = 0x0002 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_AMD64_ADDR32NB = 0x0003 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_AMD64_REL32 = 0x0004 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_AMD64_REL32_1 = 0x0005 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_AMD64_REL32_2 = 0x0006 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_AMD64_REL32_3 = 0x0007 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_AMD64_REL32_4 = 0x0008 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_AMD64_REL32_5 = 0x0009 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_AMD64_SECTION = 0x000A } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_AMD64_SECREL = 0x000B } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_AMD64_SECREL7 = 0x000C } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_AMD64_TOKEN = 0x000D } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_IA64_ABSOLUTE = 0x0000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_IA64_IMM14 = 0x0001 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_IA64_IMM22 = 0x0002 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_IA64_IMM64 = 0x0003 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_IA64_DIR32 = 0x0004 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_IA64_DIR64 = 0x0005 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_IA64_PCREL21B = 0x0006 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_IA64_PCREL21M = 0x0007 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_IA64_PCREL21F = 0x0008 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_IA64_GPREL22 = 0x0009 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_IA64_LTOFF22 = 0x000A } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_IA64_SECTION = 0x000B } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_IA64_SECREL22 = 0x000C } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_IA64_SECREL64I = 0x000D } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_IA64_SECREL32 = 0x000E } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_IA64_DIR32NB = 0x0010 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_IA64_SREL14 = 0x0011 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_IA64_SREL22 = 0x0012 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_IA64_SREL32 = 0x0013 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_IA64_UREL32 = 0x0014 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_IA64_PCREL60X = 0x0015 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_IA64_PCREL60B = 0x0016 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_IA64_PCREL60F = 0x0017 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_IA64_PCREL60I = 0x0018 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_IA64_PCREL60M = 0x0019 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_IA64_IMMGPREL64 = 0x001A } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_IA64_TOKEN = 0x001B } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_IA64_GPREL32 = 0x001C } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_IA64_ADDEND = 0x001F } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_CEF_ABSOLUTE = 0x0000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_CEF_ADDR32 = 0x0001 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_CEF_ADDR64 = 0x0002 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_CEF_ADDR32NB = 0x0003 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_CEF_SECTION = 0x0004 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_CEF_SECREL = 0x0005 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_CEF_TOKEN = 0x0006 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_CEE_ABSOLUTE = 0x0000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_CEE_ADDR32 = 0x0001 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_CEE_ADDR64 = 0x0002 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_CEE_ADDR32NB = 0x0003 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_CEE_SECTION = 0x0004 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_CEE_SECREL = 0x0005 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_CEE_TOKEN = 0x0006 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_M32R_ABSOLUTE = 0x0000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_M32R_ADDR32 = 0x0001 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_M32R_ADDR32NB = 0x0002 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_M32R_ADDR24 = 0x0003 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_M32R_GPREL16 = 0x0004 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_M32R_PCREL24 = 0x0005 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_M32R_PCREL16 = 0x0006 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_M32R_PCREL8 = 0x0007 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_M32R_REFHALF = 0x0008 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_M32R_REFHI = 0x0009 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_M32R_REFLO = 0x000A } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_M32R_PAIR = 0x000B } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_M32R_SECTION = 0x000C } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_M32R_SECREL32 = 0x000D } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_M32R_TOKEN = 0x000E } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #define EXT_IMM64(Value, Address, Size, InstPos, ValPos) Value |= (((ULONGLONG)((*(Address) >> InstPos) & (((ULONGLONG)1 << Size) - 1))) << ValPos) c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #define INS_IMM64(Value, Address, Size, InstPos, ValPos) *(PDWORD)Address = (*(PDWORD)Address & ~(((1 << Size) - 1) << InstPos)) | ((DWORD)((((ULONGLONG)Value >> ValPos) & (((ULONGLONG)1 << Size) - 1))) << InstPos) c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { EMARCH_ENC_I17_IMM7B_INST_WORD_X = 3 } c2b7a98c21 2011-02-23 kinaba: enum : uint { EMARCH_ENC_I17_IMM7B_SIZE_X = 7 } c2b7a98c21 2011-02-23 kinaba: enum : uint { EMARCH_ENC_I17_IMM7B_INST_WORD_POS_X = 4 } c2b7a98c21 2011-02-23 kinaba: enum : uint { EMARCH_ENC_I17_IMM7B_VAL_POS_X = 0 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { EMARCH_ENC_I17_IMM9D_INST_WORD_X = 3 } c2b7a98c21 2011-02-23 kinaba: enum : uint { EMARCH_ENC_I17_IMM9D_SIZE_X = 9 } c2b7a98c21 2011-02-23 kinaba: enum : uint { EMARCH_ENC_I17_IMM9D_INST_WORD_POS_X = 18 } c2b7a98c21 2011-02-23 kinaba: enum : uint { EMARCH_ENC_I17_IMM9D_VAL_POS_X = 7 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { EMARCH_ENC_I17_IMM5C_INST_WORD_X = 3 } c2b7a98c21 2011-02-23 kinaba: enum : uint { EMARCH_ENC_I17_IMM5C_SIZE_X = 5 } c2b7a98c21 2011-02-23 kinaba: enum : uint { EMARCH_ENC_I17_IMM5C_INST_WORD_POS_X = 13 } c2b7a98c21 2011-02-23 kinaba: enum : uint { EMARCH_ENC_I17_IMM5C_VAL_POS_X = 16 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { EMARCH_ENC_I17_IC_INST_WORD_X = 3 } c2b7a98c21 2011-02-23 kinaba: enum : uint { EMARCH_ENC_I17_IC_SIZE_X = 1 } c2b7a98c21 2011-02-23 kinaba: enum : uint { EMARCH_ENC_I17_IC_INST_WORD_POS_X = 12 } c2b7a98c21 2011-02-23 kinaba: enum : uint { EMARCH_ENC_I17_IC_VAL_POS_X = 21 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { EMARCH_ENC_I17_IMM41a_INST_WORD_X = 1 } c2b7a98c21 2011-02-23 kinaba: enum : uint { EMARCH_ENC_I17_IMM41a_SIZE_X = 10 } c2b7a98c21 2011-02-23 kinaba: enum : uint { EMARCH_ENC_I17_IMM41a_INST_WORD_POS_X = 14 } c2b7a98c21 2011-02-23 kinaba: enum : uint { EMARCH_ENC_I17_IMM41a_VAL_POS_X = 22 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { EMARCH_ENC_I17_IMM41b_INST_WORD_X = 1 } c2b7a98c21 2011-02-23 kinaba: enum : uint { EMARCH_ENC_I17_IMM41b_SIZE_X = 8 } c2b7a98c21 2011-02-23 kinaba: enum : uint { EMARCH_ENC_I17_IMM41b_INST_WORD_POS_X = 24 } c2b7a98c21 2011-02-23 kinaba: enum : uint { EMARCH_ENC_I17_IMM41b_VAL_POS_X = 32 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { EMARCH_ENC_I17_IMM41c_INST_WORD_X = 2 } c2b7a98c21 2011-02-23 kinaba: enum : uint { EMARCH_ENC_I17_IMM41c_SIZE_X = 23 } c2b7a98c21 2011-02-23 kinaba: enum : uint { EMARCH_ENC_I17_IMM41c_INST_WORD_POS_X = 0 } c2b7a98c21 2011-02-23 kinaba: enum : uint { EMARCH_ENC_I17_IMM41c_VAL_POS_X = 40 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { EMARCH_ENC_I17_SIGN_INST_WORD_X = 3 } c2b7a98c21 2011-02-23 kinaba: enum : uint { EMARCH_ENC_I17_SIGN_SIZE_X = 1 } c2b7a98c21 2011-02-23 kinaba: enum : uint { EMARCH_ENC_I17_SIGN_INST_WORD_POS_X = 27 } c2b7a98c21 2011-02-23 kinaba: enum : uint { EMARCH_ENC_I17_SIGN_VAL_POS_X = 63 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _IMAGE_LINENUMBER { c2b7a98c21 2011-02-23 kinaba: union { c2b7a98c21 2011-02-23 kinaba: DWORD SymbolTableIndex; c2b7a98c21 2011-02-23 kinaba: DWORD VirtualAddress; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: WORD Linenumber; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _IMAGE_LINENUMBER IMAGE_LINENUMBER; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: alias IMAGE_LINENUMBER* PIMAGE_LINENUMBER; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_SIZEOF_LINENUMBER = 6 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #ifndef _MAC c2b7a98c21 2011-02-23 kinaba: align: c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _IMAGE_BASE_RELOCATION { c2b7a98c21 2011-02-23 kinaba: DWORD VirtualAddress; c2b7a98c21 2011-02-23 kinaba: DWORD SizeOfBlock; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _IMAGE_BASE_RELOCATION IMAGE_BASE_RELOCATION; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: alias IMAGE_BASE_RELOCATION* PIMAGE_BASE_RELOCATION; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_SIZEOF_BASE_RELOCATION = 8 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_BASED_ABSOLUTE = 0 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_BASED_HIGH = 1 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_BASED_LOW = 2 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_BASED_HIGHLOW = 3 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_BASED_HIGHADJ = 4 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_BASED_MIPS_JMPADDR = 5 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_BASED_MIPS_JMPADDR16 = 9 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_BASED_IA64_IMM64 = 9 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_REL_BASED_DIR64 = 10 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_ARCHIVE_START_SIZE = 8 } c2b7a98c21 2011-02-23 kinaba: const char[] IMAGE_ARCHIVE_START = "!<arch>\n"; c2b7a98c21 2011-02-23 kinaba: const char[] IMAGE_ARCHIVE_END = "`\n"; c2b7a98c21 2011-02-23 kinaba: const char[] IMAGE_ARCHIVE_PAD = "\n"; c2b7a98c21 2011-02-23 kinaba: const char[] IMAGE_ARCHIVE_LINKER_MEMBER = "/ "; c2b7a98c21 2011-02-23 kinaba: const char[] IMAGE_ARCHIVE_LONGNAMES_MEMBER = "// "; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _IMAGE_ARCHIVE_MEMBER_HEADER { c2b7a98c21 2011-02-23 kinaba: BYTE Name[16]; c2b7a98c21 2011-02-23 kinaba: BYTE Date[12]; c2b7a98c21 2011-02-23 kinaba: BYTE UserID[6]; c2b7a98c21 2011-02-23 kinaba: BYTE GroupID[6]; c2b7a98c21 2011-02-23 kinaba: BYTE Mode[8]; c2b7a98c21 2011-02-23 kinaba: BYTE Size[10]; c2b7a98c21 2011-02-23 kinaba: BYTE EndHeader[2]; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _IMAGE_ARCHIVE_MEMBER_HEADER IMAGE_ARCHIVE_MEMBER_HEADER; c2b7a98c21 2011-02-23 kinaba: alias _IMAGE_ARCHIVE_MEMBER_HEADER* PIMAGE_ARCHIVE_MEMBER_HEADER; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_SIZEOF_ARCHIVE_MEMBER_HDR = 60 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _IMAGE_EXPORT_DIRECTORY { c2b7a98c21 2011-02-23 kinaba: DWORD Characteristics; c2b7a98c21 2011-02-23 kinaba: DWORD TimeDateStamp; c2b7a98c21 2011-02-23 kinaba: WORD MajorVersion; c2b7a98c21 2011-02-23 kinaba: WORD MinorVersion; c2b7a98c21 2011-02-23 kinaba: DWORD Name; c2b7a98c21 2011-02-23 kinaba: DWORD Base; c2b7a98c21 2011-02-23 kinaba: DWORD NumberOfFunctions; c2b7a98c21 2011-02-23 kinaba: DWORD NumberOfNames; c2b7a98c21 2011-02-23 kinaba: DWORD AddressOfFunctions; c2b7a98c21 2011-02-23 kinaba: DWORD AddressOfNames; c2b7a98c21 2011-02-23 kinaba: DWORD AddressOfNameOrdinals; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _IMAGE_EXPORT_DIRECTORY IMAGE_EXPORT_DIRECTORY; c2b7a98c21 2011-02-23 kinaba: alias _IMAGE_EXPORT_DIRECTORY* PIMAGE_EXPORT_DIRECTORY; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _IMAGE_IMPORT_BY_NAME { c2b7a98c21 2011-02-23 kinaba: WORD Hint; c2b7a98c21 2011-02-23 kinaba: BYTE Name[1]; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _IMAGE_IMPORT_BY_NAME IMAGE_IMPORT_BY_NAME; c2b7a98c21 2011-02-23 kinaba: alias _IMAGE_IMPORT_BY_NAME* PIMAGE_IMPORT_BY_NAME; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: align(8): c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _IMAGE_THUNK_DATA64 { c2b7a98c21 2011-02-23 kinaba: union { c2b7a98c21 2011-02-23 kinaba: ULONGLONG ForwarderString; c2b7a98c21 2011-02-23 kinaba: ULONGLONG Function; c2b7a98c21 2011-02-23 kinaba: ULONGLONG Ordinal; c2b7a98c21 2011-02-23 kinaba: ULONGLONG AddressOfData; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _IMAGE_THUNK_DATA64 IMAGE_THUNK_DATA64; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: alias IMAGE_THUNK_DATA64* PIMAGE_THUNK_DATA64; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: align: c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _IMAGE_THUNK_DATA32 { c2b7a98c21 2011-02-23 kinaba: union { c2b7a98c21 2011-02-23 kinaba: DWORD ForwarderString; c2b7a98c21 2011-02-23 kinaba: DWORD Function; c2b7a98c21 2011-02-23 kinaba: DWORD Ordinal; c2b7a98c21 2011-02-23 kinaba: DWORD AddressOfData; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _IMAGE_THUNK_DATA32 IMAGE_THUNK_DATA32; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: alias IMAGE_THUNK_DATA32* PIMAGE_THUNK_DATA32; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: const ulong IMAGE_ORDINAL_FLAG64 = 0x8000000000000000; c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_ORDINAL_FLAG32 = 0x80000000 } c2b7a98c21 2011-02-23 kinaba: ulong IMAGE_ORDINAL64(ulong Ordinal){ return Ordinal & 0xffff; } c2b7a98c21 2011-02-23 kinaba: uint IMAGE_ORDINAL32(uint Ordinal){ return Ordinal & 0xffff; } c2b7a98c21 2011-02-23 kinaba: bit IMAGE_SNAP_BY_ORDINAL64(ulong Ordinal){ return (Ordinal & IMAGE_ORDINAL_FLAG64) != 0; } c2b7a98c21 2011-02-23 kinaba: bit IMAGE_SNAP_BY_ORDINAL32(uint Ordinal){ return (Ordinal & IMAGE_ORDINAL_FLAG32) != 0; } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: extern(Windows) alias VOID function( PVOID DllHandle, DWORD Reason, PVOID Reserved ) PIMAGE_TLS_CALLBACK; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _IMAGE_TLS_DIRECTORY64 { c2b7a98c21 2011-02-23 kinaba: ULONGLONG StartAddressOfRawData; c2b7a98c21 2011-02-23 kinaba: ULONGLONG EndAddressOfRawData; c2b7a98c21 2011-02-23 kinaba: ULONGLONG AddressOfIndex; c2b7a98c21 2011-02-23 kinaba: ULONGLONG AddressOfCallBacks; c2b7a98c21 2011-02-23 kinaba: DWORD SizeOfZeroFill; c2b7a98c21 2011-02-23 kinaba: DWORD Characteristics; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _IMAGE_TLS_DIRECTORY64 IMAGE_TLS_DIRECTORY64; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: alias IMAGE_TLS_DIRECTORY64* PIMAGE_TLS_DIRECTORY64; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _IMAGE_TLS_DIRECTORY32 { c2b7a98c21 2011-02-23 kinaba: DWORD StartAddressOfRawData; c2b7a98c21 2011-02-23 kinaba: DWORD EndAddressOfRawData; c2b7a98c21 2011-02-23 kinaba: DWORD AddressOfIndex; c2b7a98c21 2011-02-23 kinaba: DWORD AddressOfCallBacks; c2b7a98c21 2011-02-23 kinaba: DWORD SizeOfZeroFill; c2b7a98c21 2011-02-23 kinaba: DWORD Characteristics; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _IMAGE_TLS_DIRECTORY32 IMAGE_TLS_DIRECTORY32; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: alias IMAGE_TLS_DIRECTORY32* PIMAGE_TLS_DIRECTORY32; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #ifdef _WIN64 c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: // #else c2b7a98c21 2011-02-23 kinaba: alias IMAGE_ORDINAL_FLAG32 IMAGE_ORDINAL_FLAG; c2b7a98c21 2011-02-23 kinaba: alias IMAGE_ORDINAL32 IMAGE_ORDINAL; c2b7a98c21 2011-02-23 kinaba: alias IMAGE_THUNK_DATA32 IMAGE_THUNK_DATA; c2b7a98c21 2011-02-23 kinaba: alias PIMAGE_THUNK_DATA32 PIMAGE_THUNK_DATA; c2b7a98c21 2011-02-23 kinaba: alias IMAGE_SNAP_BY_ORDINAL32 IMAGE_SNAP_BY_ORDINAL; c2b7a98c21 2011-02-23 kinaba: alias IMAGE_TLS_DIRECTORY32 IMAGE_TLS_DIRECTORY; c2b7a98c21 2011-02-23 kinaba: alias PIMAGE_TLS_DIRECTORY32 PIMAGE_TLS_DIRECTORY; c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _IMAGE_IMPORT_DESCRIPTOR { c2b7a98c21 2011-02-23 kinaba: union { c2b7a98c21 2011-02-23 kinaba: DWORD Characteristics; c2b7a98c21 2011-02-23 kinaba: DWORD OriginalFirstThunk; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: DWORD TimeDateStamp; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: DWORD ForwarderChain; c2b7a98c21 2011-02-23 kinaba: DWORD Name; c2b7a98c21 2011-02-23 kinaba: DWORD FirstThunk; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _IMAGE_IMPORT_DESCRIPTOR IMAGE_IMPORT_DESCRIPTOR; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: alias IMAGE_IMPORT_DESCRIPTOR* PIMAGE_IMPORT_DESCRIPTOR; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _IMAGE_BOUND_IMPORT_DESCRIPTOR { c2b7a98c21 2011-02-23 kinaba: DWORD TimeDateStamp; c2b7a98c21 2011-02-23 kinaba: WORD OffsetModuleName; c2b7a98c21 2011-02-23 kinaba: WORD NumberOfModuleForwarderRefs; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _IMAGE_BOUND_IMPORT_DESCRIPTOR IMAGE_BOUND_IMPORT_DESCRIPTOR; c2b7a98c21 2011-02-23 kinaba: alias _IMAGE_BOUND_IMPORT_DESCRIPTOR* PIMAGE_BOUND_IMPORT_DESCRIPTOR; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _IMAGE_BOUND_FORWARDER_REF { c2b7a98c21 2011-02-23 kinaba: DWORD TimeDateStamp; c2b7a98c21 2011-02-23 kinaba: WORD OffsetModuleName; c2b7a98c21 2011-02-23 kinaba: WORD Reserved; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _IMAGE_BOUND_FORWARDER_REF IMAGE_BOUND_FORWARDER_REF; c2b7a98c21 2011-02-23 kinaba: alias _IMAGE_BOUND_FORWARDER_REF* PIMAGE_BOUND_FORWARDER_REF; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _IMAGE_RESOURCE_DIRECTORY { c2b7a98c21 2011-02-23 kinaba: DWORD Characteristics; c2b7a98c21 2011-02-23 kinaba: DWORD TimeDateStamp; c2b7a98c21 2011-02-23 kinaba: WORD MajorVersion; c2b7a98c21 2011-02-23 kinaba: WORD MinorVersion; c2b7a98c21 2011-02-23 kinaba: WORD NumberOfNamedEntries; c2b7a98c21 2011-02-23 kinaba: WORD NumberOfIdEntries; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _IMAGE_RESOURCE_DIRECTORY IMAGE_RESOURCE_DIRECTORY; c2b7a98c21 2011-02-23 kinaba: alias _IMAGE_RESOURCE_DIRECTORY* PIMAGE_RESOURCE_DIRECTORY; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_RESOURCE_NAME_IS_STRING = 0x80000000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_RESOURCE_DATA_IS_DIRECTORY = 0x80000000 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _IMAGE_RESOURCE_DIRECTORY_ENTRY { c2b7a98c21 2011-02-23 kinaba: union { c2b7a98c21 2011-02-23 kinaba: struct { c2b7a98c21 2011-02-23 kinaba: // DWORD NameOffset:31; c2b7a98c21 2011-02-23 kinaba: // DWORD NameIsString:1; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: DWORD Name; c2b7a98c21 2011-02-23 kinaba: WORD Id; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: union { c2b7a98c21 2011-02-23 kinaba: DWORD OffsetToData; c2b7a98c21 2011-02-23 kinaba: struct { c2b7a98c21 2011-02-23 kinaba: // DWORD OffsetToDirectory:31; c2b7a98c21 2011-02-23 kinaba: // DWORD DataIsDirectory:1; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _IMAGE_RESOURCE_DIRECTORY_ENTRY IMAGE_RESOURCE_DIRECTORY_ENTRY; c2b7a98c21 2011-02-23 kinaba: alias _IMAGE_RESOURCE_DIRECTORY_ENTRY* PIMAGE_RESOURCE_DIRECTORY_ENTRY; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _IMAGE_RESOURCE_DIRECTORY_STRING { c2b7a98c21 2011-02-23 kinaba: WORD Length; c2b7a98c21 2011-02-23 kinaba: CHAR NameString[ 1 ]; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _IMAGE_RESOURCE_DIRECTORY_STRING IMAGE_RESOURCE_DIRECTORY_STRING; c2b7a98c21 2011-02-23 kinaba: alias _IMAGE_RESOURCE_DIRECTORY_STRING* PIMAGE_RESOURCE_DIRECTORY_STRING; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _IMAGE_RESOURCE_DIR_STRING_U { c2b7a98c21 2011-02-23 kinaba: WORD Length; c2b7a98c21 2011-02-23 kinaba: WCHAR NameString[ 1 ]; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _IMAGE_RESOURCE_DIR_STRING_U IMAGE_RESOURCE_DIR_STRING_U; c2b7a98c21 2011-02-23 kinaba: alias _IMAGE_RESOURCE_DIR_STRING_U* PIMAGE_RESOURCE_DIR_STRING_U; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _IMAGE_RESOURCE_DATA_ENTRY { c2b7a98c21 2011-02-23 kinaba: DWORD OffsetToData; c2b7a98c21 2011-02-23 kinaba: DWORD Size; c2b7a98c21 2011-02-23 kinaba: DWORD CodePage; c2b7a98c21 2011-02-23 kinaba: DWORD Reserved; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _IMAGE_RESOURCE_DATA_ENTRY IMAGE_RESOURCE_DATA_ENTRY; c2b7a98c21 2011-02-23 kinaba: alias _IMAGE_RESOURCE_DATA_ENTRY* PIMAGE_RESOURCE_DATA_ENTRY; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _12 { c2b7a98c21 2011-02-23 kinaba: DWORD Characteristics; c2b7a98c21 2011-02-23 kinaba: DWORD TimeDateStamp; c2b7a98c21 2011-02-23 kinaba: WORD MajorVersion; c2b7a98c21 2011-02-23 kinaba: WORD MinorVersion; c2b7a98c21 2011-02-23 kinaba: DWORD GlobalFlagsClear; c2b7a98c21 2011-02-23 kinaba: DWORD GlobalFlagsSet; c2b7a98c21 2011-02-23 kinaba: DWORD CriticalSectionDefaultTimeout; c2b7a98c21 2011-02-23 kinaba: DWORD DeCommitFreeBlockThreshold; c2b7a98c21 2011-02-23 kinaba: DWORD DeCommitTotalFreeThreshold; c2b7a98c21 2011-02-23 kinaba: DWORD LockPrefixTable; c2b7a98c21 2011-02-23 kinaba: DWORD MaximumAllocationSize; c2b7a98c21 2011-02-23 kinaba: DWORD VirtualMemoryThreshold; c2b7a98c21 2011-02-23 kinaba: DWORD ProcessHeapFlags; c2b7a98c21 2011-02-23 kinaba: DWORD ProcessAffinityMask; c2b7a98c21 2011-02-23 kinaba: WORD CSDVersion; c2b7a98c21 2011-02-23 kinaba: WORD Reserved1; c2b7a98c21 2011-02-23 kinaba: DWORD EditList; c2b7a98c21 2011-02-23 kinaba: DWORD Reserved[ 1 ]; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _12 IMAGE_LOAD_CONFIG_DIRECTORY32; c2b7a98c21 2011-02-23 kinaba: alias _12* PIMAGE_LOAD_CONFIG_DIRECTORY32; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _13 { c2b7a98c21 2011-02-23 kinaba: DWORD Characteristics; c2b7a98c21 2011-02-23 kinaba: DWORD TimeDateStamp; c2b7a98c21 2011-02-23 kinaba: WORD MajorVersion; c2b7a98c21 2011-02-23 kinaba: WORD MinorVersion; c2b7a98c21 2011-02-23 kinaba: DWORD GlobalFlagsClear; c2b7a98c21 2011-02-23 kinaba: DWORD GlobalFlagsSet; c2b7a98c21 2011-02-23 kinaba: DWORD CriticalSectionDefaultTimeout; c2b7a98c21 2011-02-23 kinaba: ULONGLONG DeCommitFreeBlockThreshold; c2b7a98c21 2011-02-23 kinaba: ULONGLONG DeCommitTotalFreeThreshold; c2b7a98c21 2011-02-23 kinaba: ULONGLONG LockPrefixTable; c2b7a98c21 2011-02-23 kinaba: ULONGLONG MaximumAllocationSize; c2b7a98c21 2011-02-23 kinaba: ULONGLONG VirtualMemoryThreshold; c2b7a98c21 2011-02-23 kinaba: ULONGLONG ProcessAffinityMask; c2b7a98c21 2011-02-23 kinaba: DWORD ProcessHeapFlags; c2b7a98c21 2011-02-23 kinaba: WORD CSDVersion; c2b7a98c21 2011-02-23 kinaba: WORD Reserved1; c2b7a98c21 2011-02-23 kinaba: ULONGLONG EditList; c2b7a98c21 2011-02-23 kinaba: DWORD Reserved[ 2 ]; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _13 IMAGE_LOAD_CONFIG_DIRECTORY64; c2b7a98c21 2011-02-23 kinaba: alias _13* PIMAGE_LOAD_CONFIG_DIRECTORY64; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #ifdef _WIN64 c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: // #else c2b7a98c21 2011-02-23 kinaba: alias IMAGE_LOAD_CONFIG_DIRECTORY32 IMAGE_LOAD_CONFIG_DIRECTORY; c2b7a98c21 2011-02-23 kinaba: alias PIMAGE_LOAD_CONFIG_DIRECTORY32 PIMAGE_LOAD_CONFIG_DIRECTORY; c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _IMAGE_CE_RUNTIME_FUNCTION_ENTRY { c2b7a98c21 2011-02-23 kinaba: DWORD FuncStart; c2b7a98c21 2011-02-23 kinaba: // DWORD PrologLen : 8; c2b7a98c21 2011-02-23 kinaba: // DWORD FuncLen : 22; c2b7a98c21 2011-02-23 kinaba: // DWORD ThirtyTwoBit : 1; c2b7a98c21 2011-02-23 kinaba: // DWORD ExceptionFlag : 1; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _IMAGE_CE_RUNTIME_FUNCTION_ENTRY IMAGE_CE_RUNTIME_FUNCTION_ENTRY; c2b7a98c21 2011-02-23 kinaba: alias _IMAGE_CE_RUNTIME_FUNCTION_ENTRY* PIMAGE_CE_RUNTIME_FUNCTION_ENTRY; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _IMAGE_ALPHA64_RUNTIME_FUNCTION_ENTRY { c2b7a98c21 2011-02-23 kinaba: ULONGLONG BeginAddress; c2b7a98c21 2011-02-23 kinaba: ULONGLONG EndAddress; c2b7a98c21 2011-02-23 kinaba: ULONGLONG ExceptionHandler; c2b7a98c21 2011-02-23 kinaba: ULONGLONG HandlerData; c2b7a98c21 2011-02-23 kinaba: ULONGLONG PrologEndAddress; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _IMAGE_ALPHA64_RUNTIME_FUNCTION_ENTRY IMAGE_ALPHA64_RUNTIME_FUNCTION_ENTRY; c2b7a98c21 2011-02-23 kinaba: alias _IMAGE_ALPHA64_RUNTIME_FUNCTION_ENTRY* PIMAGE_ALPHA64_RUNTIME_FUNCTION_ENTRY; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _IMAGE_ALPHA_RUNTIME_FUNCTION_ENTRY { c2b7a98c21 2011-02-23 kinaba: DWORD BeginAddress; c2b7a98c21 2011-02-23 kinaba: DWORD EndAddress; c2b7a98c21 2011-02-23 kinaba: DWORD ExceptionHandler; c2b7a98c21 2011-02-23 kinaba: DWORD HandlerData; c2b7a98c21 2011-02-23 kinaba: DWORD PrologEndAddress; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _IMAGE_ALPHA_RUNTIME_FUNCTION_ENTRY IMAGE_ALPHA_RUNTIME_FUNCTION_ENTRY; c2b7a98c21 2011-02-23 kinaba: alias _IMAGE_ALPHA_RUNTIME_FUNCTION_ENTRY* PIMAGE_ALPHA_RUNTIME_FUNCTION_ENTRY; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _IMAGE_RUNTIME_FUNCTION_ENTRY { c2b7a98c21 2011-02-23 kinaba: DWORD BeginAddress; c2b7a98c21 2011-02-23 kinaba: DWORD EndAddress; c2b7a98c21 2011-02-23 kinaba: DWORD UnwindInfoAddress; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _IMAGE_RUNTIME_FUNCTION_ENTRY* _PIMAGE_RUNTIME_FUNCTION_ENTRY; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: alias _IMAGE_RUNTIME_FUNCTION_ENTRY IMAGE_IA64_RUNTIME_FUNCTION_ENTRY; c2b7a98c21 2011-02-23 kinaba: alias _PIMAGE_RUNTIME_FUNCTION_ENTRY PIMAGE_IA64_RUNTIME_FUNCTION_ENTRY; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #if defined(_AXP64_) c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #elif defined(_ALPHA_) c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #else c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: alias _IMAGE_RUNTIME_FUNCTION_ENTRY IMAGE_RUNTIME_FUNCTION_ENTRY; c2b7a98c21 2011-02-23 kinaba: alias _PIMAGE_RUNTIME_FUNCTION_ENTRY PIMAGE_RUNTIME_FUNCTION_ENTRY; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _IMAGE_DEBUG_DIRECTORY { c2b7a98c21 2011-02-23 kinaba: DWORD Characteristics; c2b7a98c21 2011-02-23 kinaba: DWORD TimeDateStamp; c2b7a98c21 2011-02-23 kinaba: WORD MajorVersion; c2b7a98c21 2011-02-23 kinaba: WORD MinorVersion; c2b7a98c21 2011-02-23 kinaba: DWORD Type; c2b7a98c21 2011-02-23 kinaba: DWORD SizeOfData; c2b7a98c21 2011-02-23 kinaba: DWORD AddressOfRawData; c2b7a98c21 2011-02-23 kinaba: DWORD PointerToRawData; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _IMAGE_DEBUG_DIRECTORY IMAGE_DEBUG_DIRECTORY; c2b7a98c21 2011-02-23 kinaba: alias _IMAGE_DEBUG_DIRECTORY* PIMAGE_DEBUG_DIRECTORY; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_DEBUG_TYPE_UNKNOWN = 0 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_DEBUG_TYPE_COFF = 1 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_DEBUG_TYPE_CODEVIEW = 2 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_DEBUG_TYPE_FPO = 3 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_DEBUG_TYPE_MISC = 4 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_DEBUG_TYPE_EXCEPTION = 5 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_DEBUG_TYPE_FIXUP = 6 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_DEBUG_TYPE_OMAP_TO_SRC = 7 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_DEBUG_TYPE_OMAP_FROM_SRC = 8 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_DEBUG_TYPE_BORLAND = 9 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_DEBUG_TYPE_RESERVED10 = 10 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_DEBUG_TYPE_CLSID = 11 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _IMAGE_COFF_SYMBOLS_HEADER { c2b7a98c21 2011-02-23 kinaba: DWORD NumberOfSymbols; c2b7a98c21 2011-02-23 kinaba: DWORD LvaToFirstSymbol; c2b7a98c21 2011-02-23 kinaba: DWORD NumberOfLinenumbers; c2b7a98c21 2011-02-23 kinaba: DWORD LvaToFirstLinenumber; c2b7a98c21 2011-02-23 kinaba: DWORD RvaToFirstByteOfCode; c2b7a98c21 2011-02-23 kinaba: DWORD RvaToLastByteOfCode; c2b7a98c21 2011-02-23 kinaba: DWORD RvaToFirstByteOfData; c2b7a98c21 2011-02-23 kinaba: DWORD RvaToLastByteOfData; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _IMAGE_COFF_SYMBOLS_HEADER IMAGE_COFF_SYMBOLS_HEADER; c2b7a98c21 2011-02-23 kinaba: alias _IMAGE_COFF_SYMBOLS_HEADER* PIMAGE_COFF_SYMBOLS_HEADER; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { FRAME_FPO = 0 } c2b7a98c21 2011-02-23 kinaba: enum : uint { FRAME_TRAP = 1 } c2b7a98c21 2011-02-23 kinaba: enum : uint { FRAME_TSS = 2 } c2b7a98c21 2011-02-23 kinaba: enum : uint { FRAME_NONFPO = 3 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _FPO_DATA { c2b7a98c21 2011-02-23 kinaba: DWORD ulOffStart; c2b7a98c21 2011-02-23 kinaba: DWORD cbProcSize; c2b7a98c21 2011-02-23 kinaba: DWORD cdwLocals; c2b7a98c21 2011-02-23 kinaba: WORD cdwParams; c2b7a98c21 2011-02-23 kinaba: // WORD cbProlog : 8; c2b7a98c21 2011-02-23 kinaba: // WORD cbRegs : 3; c2b7a98c21 2011-02-23 kinaba: // WORD fHasSEH : 1; c2b7a98c21 2011-02-23 kinaba: // WORD fUseBP : 1; c2b7a98c21 2011-02-23 kinaba: // WORD reserved : 1; c2b7a98c21 2011-02-23 kinaba: // WORD cbFrame : 2; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _FPO_DATA FPO_DATA; c2b7a98c21 2011-02-23 kinaba: alias _FPO_DATA* PFPO_DATA; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { SIZEOF_RFPO_DATA = 16 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_DEBUG_MISC_EXENAME = 1 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _IMAGE_DEBUG_MISC { c2b7a98c21 2011-02-23 kinaba: DWORD DataType; c2b7a98c21 2011-02-23 kinaba: DWORD Length; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: BOOLEAN Unicode; c2b7a98c21 2011-02-23 kinaba: BYTE Reserved[ 3 ]; c2b7a98c21 2011-02-23 kinaba: BYTE Data[ 1 ]; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _IMAGE_DEBUG_MISC IMAGE_DEBUG_MISC; c2b7a98c21 2011-02-23 kinaba: alias _IMAGE_DEBUG_MISC* PIMAGE_DEBUG_MISC; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _IMAGE_FUNCTION_ENTRY { c2b7a98c21 2011-02-23 kinaba: DWORD StartingAddress; c2b7a98c21 2011-02-23 kinaba: DWORD EndingAddress; c2b7a98c21 2011-02-23 kinaba: DWORD EndOfPrologue; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _IMAGE_FUNCTION_ENTRY IMAGE_FUNCTION_ENTRY; c2b7a98c21 2011-02-23 kinaba: alias _IMAGE_FUNCTION_ENTRY* PIMAGE_FUNCTION_ENTRY; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _IMAGE_FUNCTION_ENTRY64 { c2b7a98c21 2011-02-23 kinaba: ULONGLONG StartingAddress; c2b7a98c21 2011-02-23 kinaba: ULONGLONG EndingAddress; c2b7a98c21 2011-02-23 kinaba: union { c2b7a98c21 2011-02-23 kinaba: ULONGLONG EndOfPrologue; c2b7a98c21 2011-02-23 kinaba: ULONGLONG UnwindInfoAddress; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _IMAGE_FUNCTION_ENTRY64 IMAGE_FUNCTION_ENTRY64; c2b7a98c21 2011-02-23 kinaba: alias _IMAGE_FUNCTION_ENTRY64* PIMAGE_FUNCTION_ENTRY64; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _IMAGE_SEPARATE_DEBUG_HEADER { c2b7a98c21 2011-02-23 kinaba: WORD Signature; c2b7a98c21 2011-02-23 kinaba: WORD Flags; c2b7a98c21 2011-02-23 kinaba: WORD Machine; c2b7a98c21 2011-02-23 kinaba: WORD Characteristics; c2b7a98c21 2011-02-23 kinaba: DWORD TimeDateStamp; c2b7a98c21 2011-02-23 kinaba: DWORD CheckSum; c2b7a98c21 2011-02-23 kinaba: DWORD ImageBase; c2b7a98c21 2011-02-23 kinaba: DWORD SizeOfImage; c2b7a98c21 2011-02-23 kinaba: DWORD NumberOfSections; c2b7a98c21 2011-02-23 kinaba: DWORD ExportedNamesSize; c2b7a98c21 2011-02-23 kinaba: DWORD DebugDirectorySize; c2b7a98c21 2011-02-23 kinaba: DWORD SectionAlignment; c2b7a98c21 2011-02-23 kinaba: DWORD Reserved[2]; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _IMAGE_SEPARATE_DEBUG_HEADER IMAGE_SEPARATE_DEBUG_HEADER; c2b7a98c21 2011-02-23 kinaba: alias _IMAGE_SEPARATE_DEBUG_HEADER* PIMAGE_SEPARATE_DEBUG_HEADER; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _NON_PAGED_DEBUG_INFO { c2b7a98c21 2011-02-23 kinaba: WORD Signature; c2b7a98c21 2011-02-23 kinaba: WORD Flags; c2b7a98c21 2011-02-23 kinaba: DWORD Size; c2b7a98c21 2011-02-23 kinaba: WORD Machine; c2b7a98c21 2011-02-23 kinaba: WORD Characteristics; c2b7a98c21 2011-02-23 kinaba: DWORD TimeDateStamp; c2b7a98c21 2011-02-23 kinaba: DWORD CheckSum; c2b7a98c21 2011-02-23 kinaba: DWORD SizeOfImage; c2b7a98c21 2011-02-23 kinaba: ULONGLONG ImageBase; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _NON_PAGED_DEBUG_INFO NON_PAGED_DEBUG_INFO; c2b7a98c21 2011-02-23 kinaba: alias _NON_PAGED_DEBUG_INFO* PNON_PAGED_DEBUG_INFO; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #ifndef _MAC c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_SEPARATE_DEBUG_SIGNATURE = 0x4944 } c2b7a98c21 2011-02-23 kinaba: enum : uint { NON_PAGED_DEBUG_SIGNATURE = 0x494E } c2b7a98c21 2011-02-23 kinaba: // #else c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_SEPARATE_DEBUG_FLAGS_MASK = 0x8000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IMAGE_SEPARATE_DEBUG_MISMATCH = 0x8000 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _ImageArchitectureHeader { c2b7a98c21 2011-02-23 kinaba: // unsigned int AmaskValue: 1; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // int :7; c2b7a98c21 2011-02-23 kinaba: // unsigned int AmaskShift: 8; c2b7a98c21 2011-02-23 kinaba: // int :16; c2b7a98c21 2011-02-23 kinaba: DWORD FirstEntryRVA; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _ImageArchitectureHeader IMAGE_ARCHITECTURE_HEADER; c2b7a98c21 2011-02-23 kinaba: alias _ImageArchitectureHeader* PIMAGE_ARCHITECTURE_HEADER; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _ImageArchitectureEntry { c2b7a98c21 2011-02-23 kinaba: DWORD FixupInstRVA; c2b7a98c21 2011-02-23 kinaba: DWORD NewInst; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _ImageArchitectureEntry IMAGE_ARCHITECTURE_ENTRY; c2b7a98c21 2011-02-23 kinaba: alias _ImageArchitectureEntry* PIMAGE_ARCHITECTURE_ENTRY; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: align: c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { IMPORT_OBJECT_HDR_SIG2 = 0xffff } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct IMPORT_OBJECT_HEADER { c2b7a98c21 2011-02-23 kinaba: WORD Sig1; c2b7a98c21 2011-02-23 kinaba: WORD Sig2; c2b7a98c21 2011-02-23 kinaba: WORD Version; c2b7a98c21 2011-02-23 kinaba: WORD Machine; c2b7a98c21 2011-02-23 kinaba: DWORD TimeDateStamp; c2b7a98c21 2011-02-23 kinaba: DWORD SizeOfData; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: union { c2b7a98c21 2011-02-23 kinaba: WORD Ordinal; c2b7a98c21 2011-02-23 kinaba: WORD Hint; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // WORD Type : 2; c2b7a98c21 2011-02-23 kinaba: // WORD NameType : 3; c2b7a98c21 2011-02-23 kinaba: // WORD Reserved : 11; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: alias int IMPORT_OBJECT_TYPE; c2b7a98c21 2011-02-23 kinaba: enum { c2b7a98c21 2011-02-23 kinaba: IMPORT_OBJECT_CODE = 0, c2b7a98c21 2011-02-23 kinaba: IMPORT_OBJECT_DATA = 1, c2b7a98c21 2011-02-23 kinaba: IMPORT_OBJECT_CONST = 2, c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: alias int IMPORT_OBJECT_NAME_TYPE; c2b7a98c21 2011-02-23 kinaba: enum { c2b7a98c21 2011-02-23 kinaba: IMPORT_OBJECT_ORDINAL = 0, c2b7a98c21 2011-02-23 kinaba: IMPORT_OBJECT_NAME = 1, c2b7a98c21 2011-02-23 kinaba: IMPORT_OBJECT_NAME_NO_PREFIX = 2, c2b7a98c21 2011-02-23 kinaba: IMPORT_OBJECT_NAME_UNDECORATE = 3, c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #ifndef __IMAGE_COR20_HEADER_DEFINED__ c2b7a98c21 2011-02-23 kinaba: // #define __IMAGE_COR20_HEADER_DEFINED__ c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: alias int ReplacesCorHdrNumericDefines; c2b7a98c21 2011-02-23 kinaba: enum { c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: COMIMAGE_FLAGS_ILONLY = 0x00000001, c2b7a98c21 2011-02-23 kinaba: COMIMAGE_FLAGS_32BITREQUIRED = 0x00000002, c2b7a98c21 2011-02-23 kinaba: COMIMAGE_FLAGS_IL_LIBRARY = 0x00000004, c2b7a98c21 2011-02-23 kinaba: COMIMAGE_FLAGS_TRACKDEBUGDATA = 0x00010000, c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: COR_VERSION_MAJOR_V2 = 2, c2b7a98c21 2011-02-23 kinaba: COR_VERSION_MAJOR = COR_VERSION_MAJOR_V2, c2b7a98c21 2011-02-23 kinaba: COR_VERSION_MINOR = 0, c2b7a98c21 2011-02-23 kinaba: COR_DELETED_NAME_LENGTH = 8, c2b7a98c21 2011-02-23 kinaba: COR_VTABLEGAP_NAME_LENGTH = 8, c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: NATIVE_TYPE_MAX_CB = 1, c2b7a98c21 2011-02-23 kinaba: COR_ILMETHOD_SECT_SMALL_MAX_DATASIZE = 0xFF, c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: IMAGE_COR_MIH_METHODRVA = 0x01, c2b7a98c21 2011-02-23 kinaba: IMAGE_COR_MIH_EHRVA = 0x02, c2b7a98c21 2011-02-23 kinaba: IMAGE_COR_MIH_BASICBLOCK = 0x08, c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: COR_VTABLE_32BIT = 0x01, c2b7a98c21 2011-02-23 kinaba: COR_VTABLE_64BIT = 0x02, c2b7a98c21 2011-02-23 kinaba: COR_VTABLE_FROM_UNMANAGED = 0x04, c2b7a98c21 2011-02-23 kinaba: COR_VTABLE_CALL_MOST_DERIVED = 0x10, c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: IMAGE_COR_EATJ_THUNK_SIZE = 32, c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: MAX_CLASS_NAME = 1024, c2b7a98c21 2011-02-23 kinaba: MAX_PACKAGE_NAME = 1024, c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct IMAGE_COR20_HEADER { c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: DWORD cb; c2b7a98c21 2011-02-23 kinaba: WORD MajorRuntimeVersion; c2b7a98c21 2011-02-23 kinaba: WORD MinorRuntimeVersion; c2b7a98c21 2011-02-23 kinaba: IMAGE_DATA_DIRECTORY MetaData; c2b7a98c21 2011-02-23 kinaba: DWORD Flags; c2b7a98c21 2011-02-23 kinaba: DWORD EntryPointToken; c2b7a98c21 2011-02-23 kinaba: IMAGE_DATA_DIRECTORY Resources; c2b7a98c21 2011-02-23 kinaba: IMAGE_DATA_DIRECTORY StrongNameSignature; c2b7a98c21 2011-02-23 kinaba: IMAGE_DATA_DIRECTORY CodeManagerTable; c2b7a98c21 2011-02-23 kinaba: IMAGE_DATA_DIRECTORY VTableFixups; c2b7a98c21 2011-02-23 kinaba: IMAGE_DATA_DIRECTORY ExportAddressTableJumps; c2b7a98c21 2011-02-23 kinaba: IMAGE_DATA_DIRECTORY ManagedNativeHeader; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias IMAGE_COR20_HEADER* PIMAGE_COR20_HEADER; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #endif // __IMAGE_COR20_HEADER_DEFINED__ c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #ifdef _MAC c2b7a98c21 2011-02-23 kinaba: // #ifndef _INC_STRING c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #endif /* _INC_STRING */ c2b7a98c21 2011-02-23 kinaba: // #else c2b7a98c21 2011-02-23 kinaba: // #include <string.h> c2b7a98c21 2011-02-23 kinaba: // #endif // _MAC c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #ifndef _SLIST_HEADER_ c2b7a98c21 2011-02-23 kinaba: // #define _SLIST_HEADER_ c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: alias SINGLE_LIST_ENTRY SLIST_ENTRY; c2b7a98c21 2011-02-23 kinaba: alias _SINGLE_LIST_ENTRY _SLIST_ENTRY; c2b7a98c21 2011-02-23 kinaba: alias PSINGLE_LIST_ENTRY PSLIST_ENTRY; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #if defined(_WIN64) c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #else c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: union _SLIST_HEADER { c2b7a98c21 2011-02-23 kinaba: ULONGLONG Alignment; c2b7a98c21 2011-02-23 kinaba: struct { c2b7a98c21 2011-02-23 kinaba: SLIST_ENTRY Next; c2b7a98c21 2011-02-23 kinaba: WORD Depth; c2b7a98c21 2011-02-23 kinaba: WORD Sequence; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _SLIST_HEADER SLIST_HEADER; c2b7a98c21 2011-02-23 kinaba: alias _SLIST_HEADER* PSLIST_HEADER; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: extern(Windows) export VOID RtlInitializeSListHead( c2b7a98c21 2011-02-23 kinaba: PSLIST_HEADER ListHead); c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: extern(Windows) export PSLIST_ENTRY RtlFirstEntrySList( c2b7a98c21 2011-02-23 kinaba: SLIST_HEADER *ListHead); c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: extern(Windows) export PSLIST_ENTRY RtlInterlockedPopEntrySList( c2b7a98c21 2011-02-23 kinaba: PSLIST_HEADER ListHead); c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: extern(Windows) export PSLIST_ENTRY RtlInterlockedPushEntrySList( c2b7a98c21 2011-02-23 kinaba: PSLIST_HEADER ListHead, c2b7a98c21 2011-02-23 kinaba: PSLIST_ENTRY ListEntry); c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: extern(Windows) export PSLIST_ENTRY RtlInterlockedFlushSList( c2b7a98c21 2011-02-23 kinaba: PSLIST_HEADER ListHead); c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: extern(Windows) export WORD RtlQueryDepthSList( c2b7a98c21 2011-02-23 kinaba: PSLIST_HEADER ListHead); c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { HEAP_NO_SERIALIZE = 0x00000001 } c2b7a98c21 2011-02-23 kinaba: enum : uint { HEAP_GROWABLE = 0x00000002 } c2b7a98c21 2011-02-23 kinaba: enum : uint { HEAP_GENERATE_EXCEPTIONS = 0x00000004 } c2b7a98c21 2011-02-23 kinaba: enum : uint { HEAP_ZERO_MEMORY = 0x00000008 } c2b7a98c21 2011-02-23 kinaba: enum : uint { HEAP_REALLOC_IN_PLACE_ONLY = 0x00000010 } c2b7a98c21 2011-02-23 kinaba: enum : uint { HEAP_TAIL_CHECKING_ENABLED = 0x00000020 } c2b7a98c21 2011-02-23 kinaba: enum : uint { HEAP_FREE_CHECKING_ENABLED = 0x00000040 } c2b7a98c21 2011-02-23 kinaba: enum : uint { HEAP_DISABLE_COALESCE_ON_FREE = 0x00000080 } c2b7a98c21 2011-02-23 kinaba: enum : uint { HEAP_CREATE_ALIGN_16 = 0x00010000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { HEAP_CREATE_ENABLE_TRACING = 0x00020000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { HEAP_MAXIMUM_TAG = 0x0FFF } c2b7a98c21 2011-02-23 kinaba: enum : uint { HEAP_PSEUDO_TAG_FLAG = 0x8000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { HEAP_TAG_SHIFT = 18 } c2b7a98c21 2011-02-23 kinaba: uint HEAP_MAKE_TAG_FLAGS(uint b, uint o){ return b + (o << 18); } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { IS_TEXT_UNICODE_ASCII16 = 0x0001 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IS_TEXT_UNICODE_REVERSE_ASCII16 = 0x0010 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { IS_TEXT_UNICODE_STATISTICS = 0x0002 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IS_TEXT_UNICODE_REVERSE_STATISTICS = 0x0020 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { IS_TEXT_UNICODE_CONTROLS = 0x0004 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IS_TEXT_UNICODE_REVERSE_CONTROLS = 0x0040 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { IS_TEXT_UNICODE_SIGNATURE = 0x0008 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IS_TEXT_UNICODE_REVERSE_SIGNATURE = 0x0080 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { IS_TEXT_UNICODE_ILLEGAL_CHARS = 0x0100 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IS_TEXT_UNICODE_ODD_LENGTH = 0x0200 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IS_TEXT_UNICODE_DBCS_LEADBYTE = 0x0400 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IS_TEXT_UNICODE_NULL_BYTES = 0x1000 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { IS_TEXT_UNICODE_UNICODE_MASK = 0x000F } c2b7a98c21 2011-02-23 kinaba: enum : uint { IS_TEXT_UNICODE_REVERSE_MASK = 0x00F0 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IS_TEXT_UNICODE_NOT_UNICODE_MASK = 0x0F00 } c2b7a98c21 2011-02-23 kinaba: enum : uint { IS_TEXT_UNICODE_NOT_ASCII_MASK = 0xF000 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { COMPRESSION_FORMAT_NONE = 0x0000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { COMPRESSION_FORMAT_DEFAULT = 0x0001 } c2b7a98c21 2011-02-23 kinaba: enum : uint { COMPRESSION_FORMAT_LZNT1 = 0x0002 } c2b7a98c21 2011-02-23 kinaba: enum : uint { COMPRESSION_ENGINE_STANDARD = 0x0000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { COMPRESSION_ENGINE_MAXIMUM = 0x0100 } c2b7a98c21 2011-02-23 kinaba: enum : uint { COMPRESSION_ENGINE_HIBER = 0x0200 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: extern(Windows) export SIZE_T RtlCompareMemory( c2b7a98c21 2011-02-23 kinaba: VOID *Source1, c2b7a98c21 2011-02-23 kinaba: VOID *Source2, c2b7a98c21 2011-02-23 kinaba: SIZE_T Length); c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #if defined(_M_AMD64) || defined(_M_IA64) c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #if !defined(_M_AMD64) c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #else c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: bit RtlEqualMemory(void* x, void* y, uint len){ return memcmp(x, y, len) == 0; } c2b7a98c21 2011-02-23 kinaba: void RtlMoveMemory(void* d, void* s, uint len){ memmove(d, s, len); } c2b7a98c21 2011-02-23 kinaba: void RtlCopyMemory(void* d, void* s, uint len){ memcpy(d, s, len); } c2b7a98c21 2011-02-23 kinaba: void RtlFillMemory(void* d, uint len, ubyte f){ memset(d, f, len); } c2b7a98c21 2011-02-23 kinaba: void RtlZeroMemory(void* d, uint len){ memset(d, 0, len); } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _MESSAGE_RESOURCE_ENTRY { c2b7a98c21 2011-02-23 kinaba: WORD Length; c2b7a98c21 2011-02-23 kinaba: WORD Flags; c2b7a98c21 2011-02-23 kinaba: BYTE Text[ 1 ]; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _MESSAGE_RESOURCE_ENTRY MESSAGE_RESOURCE_ENTRY; c2b7a98c21 2011-02-23 kinaba: alias _MESSAGE_RESOURCE_ENTRY* PMESSAGE_RESOURCE_ENTRY; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { MESSAGE_RESOURCE_UNICODE = 0x0001 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _MESSAGE_RESOURCE_BLOCK { c2b7a98c21 2011-02-23 kinaba: DWORD LowId; c2b7a98c21 2011-02-23 kinaba: DWORD HighId; c2b7a98c21 2011-02-23 kinaba: DWORD OffsetToEntries; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _MESSAGE_RESOURCE_BLOCK MESSAGE_RESOURCE_BLOCK; c2b7a98c21 2011-02-23 kinaba: alias _MESSAGE_RESOURCE_BLOCK* PMESSAGE_RESOURCE_BLOCK; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _MESSAGE_RESOURCE_DATA { c2b7a98c21 2011-02-23 kinaba: DWORD NumberOfBlocks; c2b7a98c21 2011-02-23 kinaba: MESSAGE_RESOURCE_BLOCK Blocks[ 1 ]; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _MESSAGE_RESOURCE_DATA MESSAGE_RESOURCE_DATA; c2b7a98c21 2011-02-23 kinaba: alias _MESSAGE_RESOURCE_DATA* PMESSAGE_RESOURCE_DATA; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _OSVERSIONINFOA { c2b7a98c21 2011-02-23 kinaba: DWORD dwOSVersionInfoSize; c2b7a98c21 2011-02-23 kinaba: DWORD dwMajorVersion; c2b7a98c21 2011-02-23 kinaba: DWORD dwMinorVersion; c2b7a98c21 2011-02-23 kinaba: DWORD dwBuildNumber; c2b7a98c21 2011-02-23 kinaba: DWORD dwPlatformId; c2b7a98c21 2011-02-23 kinaba: CHAR szCSDVersion[ 128 ]; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _OSVERSIONINFOA OSVERSIONINFOA; c2b7a98c21 2011-02-23 kinaba: alias _OSVERSIONINFOA* POSVERSIONINFOA; c2b7a98c21 2011-02-23 kinaba: alias _OSVERSIONINFOA* LPOSVERSIONINFOA; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _OSVERSIONINFOW { c2b7a98c21 2011-02-23 kinaba: DWORD dwOSVersionInfoSize; c2b7a98c21 2011-02-23 kinaba: DWORD dwMajorVersion; c2b7a98c21 2011-02-23 kinaba: DWORD dwMinorVersion; c2b7a98c21 2011-02-23 kinaba: DWORD dwBuildNumber; c2b7a98c21 2011-02-23 kinaba: DWORD dwPlatformId; c2b7a98c21 2011-02-23 kinaba: WCHAR szCSDVersion[ 128 ]; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _OSVERSIONINFOW OSVERSIONINFOW; c2b7a98c21 2011-02-23 kinaba: alias _OSVERSIONINFOW* POSVERSIONINFOW; c2b7a98c21 2011-02-23 kinaba: alias _OSVERSIONINFOW* LPOSVERSIONINFOW; c2b7a98c21 2011-02-23 kinaba: alias _OSVERSIONINFOW RTL_OSVERSIONINFOW; c2b7a98c21 2011-02-23 kinaba: alias _OSVERSIONINFOW* PRTL_OSVERSIONINFOW; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #ifdef UNICODE c2b7a98c21 2011-02-23 kinaba: alias OSVERSIONINFOW OSVERSIONINFO; c2b7a98c21 2011-02-23 kinaba: alias POSVERSIONINFOW POSVERSIONINFO; c2b7a98c21 2011-02-23 kinaba: alias LPOSVERSIONINFOW LPOSVERSIONINFO; c2b7a98c21 2011-02-23 kinaba: // #else c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: // #endif // UNICODE c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _OSVERSIONINFOEXA { c2b7a98c21 2011-02-23 kinaba: DWORD dwOSVersionInfoSize; c2b7a98c21 2011-02-23 kinaba: DWORD dwMajorVersion; c2b7a98c21 2011-02-23 kinaba: DWORD dwMinorVersion; c2b7a98c21 2011-02-23 kinaba: DWORD dwBuildNumber; c2b7a98c21 2011-02-23 kinaba: DWORD dwPlatformId; c2b7a98c21 2011-02-23 kinaba: CHAR szCSDVersion[ 128 ]; c2b7a98c21 2011-02-23 kinaba: WORD wServicePackMajor; c2b7a98c21 2011-02-23 kinaba: WORD wServicePackMinor; c2b7a98c21 2011-02-23 kinaba: WORD wSuiteMask; c2b7a98c21 2011-02-23 kinaba: BYTE wProductType; c2b7a98c21 2011-02-23 kinaba: BYTE wReserved; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _OSVERSIONINFOEXA OSVERSIONINFOEXA; c2b7a98c21 2011-02-23 kinaba: alias _OSVERSIONINFOEXA* POSVERSIONINFOEXA; c2b7a98c21 2011-02-23 kinaba: alias _OSVERSIONINFOEXA* LPOSVERSIONINFOEXA; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _OSVERSIONINFOEXW { c2b7a98c21 2011-02-23 kinaba: DWORD dwOSVersionInfoSize; c2b7a98c21 2011-02-23 kinaba: DWORD dwMajorVersion; c2b7a98c21 2011-02-23 kinaba: DWORD dwMinorVersion; c2b7a98c21 2011-02-23 kinaba: DWORD dwBuildNumber; c2b7a98c21 2011-02-23 kinaba: DWORD dwPlatformId; c2b7a98c21 2011-02-23 kinaba: WCHAR szCSDVersion[ 128 ]; c2b7a98c21 2011-02-23 kinaba: WORD wServicePackMajor; c2b7a98c21 2011-02-23 kinaba: WORD wServicePackMinor; c2b7a98c21 2011-02-23 kinaba: WORD wSuiteMask; c2b7a98c21 2011-02-23 kinaba: BYTE wProductType; c2b7a98c21 2011-02-23 kinaba: BYTE wReserved; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _OSVERSIONINFOEXW OSVERSIONINFOEXW; c2b7a98c21 2011-02-23 kinaba: alias _OSVERSIONINFOEXW* POSVERSIONINFOEXW; c2b7a98c21 2011-02-23 kinaba: alias _OSVERSIONINFOEXW* LPOSVERSIONINFOEXW; c2b7a98c21 2011-02-23 kinaba: alias _OSVERSIONINFOEXW RTL_OSVERSIONINFOEXW; c2b7a98c21 2011-02-23 kinaba: alias _OSVERSIONINFOEXW* PRTL_OSVERSIONINFOEXW; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #ifdef UNICODE c2b7a98c21 2011-02-23 kinaba: alias OSVERSIONINFOEXW OSVERSIONINFOEX; c2b7a98c21 2011-02-23 kinaba: alias POSVERSIONINFOEXW POSVERSIONINFOEX; c2b7a98c21 2011-02-23 kinaba: alias LPOSVERSIONINFOEXW LPOSVERSIONINFOEX; c2b7a98c21 2011-02-23 kinaba: // #else c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: // #endif // UNICODE c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { VER_EQUAL = 1 } c2b7a98c21 2011-02-23 kinaba: enum : uint { VER_GREATER = 2 } c2b7a98c21 2011-02-23 kinaba: enum : uint { VER_GREATER_EQUAL = 3 } c2b7a98c21 2011-02-23 kinaba: enum : uint { VER_LESS = 4 } c2b7a98c21 2011-02-23 kinaba: enum : uint { VER_LESS_EQUAL = 5 } c2b7a98c21 2011-02-23 kinaba: enum : uint { VER_AND = 6 } c2b7a98c21 2011-02-23 kinaba: enum : uint { VER_OR = 7 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { VER_CONDITION_MASK = 7 } c2b7a98c21 2011-02-23 kinaba: enum : uint { VER_NUM_BITS_PER_CONDITION_MASK = 3 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { VER_MINORVERSION = 0x0000001 } c2b7a98c21 2011-02-23 kinaba: enum : uint { VER_MAJORVERSION = 0x0000002 } c2b7a98c21 2011-02-23 kinaba: enum : uint { VER_BUILDNUMBER = 0x0000004 } c2b7a98c21 2011-02-23 kinaba: enum : uint { VER_PLATFORMID = 0x0000008 } c2b7a98c21 2011-02-23 kinaba: enum : uint { VER_SERVICEPACKMINOR = 0x0000010 } c2b7a98c21 2011-02-23 kinaba: enum : uint { VER_SERVICEPACKMAJOR = 0x0000020 } c2b7a98c21 2011-02-23 kinaba: enum : uint { VER_SUITENAME = 0x0000040 } c2b7a98c21 2011-02-23 kinaba: enum : uint { VER_PRODUCT_TYPE = 0x0000080 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { VER_NT_WORKSTATION = 0x0000001 } c2b7a98c21 2011-02-23 kinaba: enum : uint { VER_NT_DOMAIN_CONTROLLER = 0x0000002 } c2b7a98c21 2011-02-23 kinaba: enum : uint { VER_NT_SERVER = 0x0000003 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { VER_PLATFORM_WIN32s = 0 } c2b7a98c21 2011-02-23 kinaba: enum : uint { VER_PLATFORM_WIN32_WINDOWS = 1 } c2b7a98c21 2011-02-23 kinaba: enum : uint { VER_PLATFORM_WIN32_NT = 2 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #define VER_SET_CONDITION(_m_,_t_,_c_) ((_m_)=VerSetConditionMask((_m_),(_t_),(_c_))) c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: extern(Windows) export ULONGLONG VerSetConditionMask( c2b7a98c21 2011-02-23 kinaba: ULONGLONG ConditionMask, c2b7a98c21 2011-02-23 kinaba: DWORD TypeMask, c2b7a98c21 2011-02-23 kinaba: BYTE Condition); c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _RTL_CRITICAL_SECTION_DEBUG { c2b7a98c21 2011-02-23 kinaba: WORD Type; c2b7a98c21 2011-02-23 kinaba: WORD CreatorBackTraceIndex; c2b7a98c21 2011-02-23 kinaba: _RTL_CRITICAL_SECTION *CriticalSection; c2b7a98c21 2011-02-23 kinaba: LIST_ENTRY ProcessLocksList; c2b7a98c21 2011-02-23 kinaba: DWORD EntryCount; c2b7a98c21 2011-02-23 kinaba: DWORD ContentionCount; c2b7a98c21 2011-02-23 kinaba: DWORD Spare[ 2 ]; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _RTL_CRITICAL_SECTION_DEBUG RTL_CRITICAL_SECTION_DEBUG; c2b7a98c21 2011-02-23 kinaba: alias _RTL_CRITICAL_SECTION_DEBUG* PRTL_CRITICAL_SECTION_DEBUG; c2b7a98c21 2011-02-23 kinaba: alias _RTL_CRITICAL_SECTION_DEBUG RTL_RESOURCE_DEBUG; c2b7a98c21 2011-02-23 kinaba: alias _RTL_CRITICAL_SECTION_DEBUG* PRTL_RESOURCE_DEBUG; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { RTL_CRITSECT_TYPE = 0 } c2b7a98c21 2011-02-23 kinaba: enum : uint { RTL_RESOURCE_TYPE = 1 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _RTL_CRITICAL_SECTION { c2b7a98c21 2011-02-23 kinaba: PRTL_CRITICAL_SECTION_DEBUG DebugInfo; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: LONG LockCount; c2b7a98c21 2011-02-23 kinaba: LONG RecursionCount; c2b7a98c21 2011-02-23 kinaba: HANDLE OwningThread; c2b7a98c21 2011-02-23 kinaba: HANDLE LockSemaphore; c2b7a98c21 2011-02-23 kinaba: ULONG_PTR SpinCount; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _RTL_CRITICAL_SECTION RTL_CRITICAL_SECTION; c2b7a98c21 2011-02-23 kinaba: alias _RTL_CRITICAL_SECTION* PRTL_CRITICAL_SECTION; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: extern(Windows) alias VOID function( PWSTR DllName, PVOID DllBase, SIZE_T DllSize, PVOID Reserved ) RTL_VERIFIER_DLL_LOAD_CALLBACK; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: extern(Windows) alias VOID function( PWSTR DllName, PVOID DllBase, SIZE_T DllSize, PVOID Reserved ) RTL_VERIFIER_DLL_UNLOAD_CALLBACK; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _RTL_VERIFIER_THUNK_DESCRIPTOR { c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: PCHAR ThunkName; c2b7a98c21 2011-02-23 kinaba: PVOID ThunkOldAddress; c2b7a98c21 2011-02-23 kinaba: PVOID ThunkNewAddress; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _RTL_VERIFIER_THUNK_DESCRIPTOR RTL_VERIFIER_THUNK_DESCRIPTOR; c2b7a98c21 2011-02-23 kinaba: alias _RTL_VERIFIER_THUNK_DESCRIPTOR* PRTL_VERIFIER_THUNK_DESCRIPTOR; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _RTL_VERIFIER_DLL_DESCRIPTOR { c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: PWCHAR DllName; c2b7a98c21 2011-02-23 kinaba: DWORD DllFlags; c2b7a98c21 2011-02-23 kinaba: PVOID DllAddress; c2b7a98c21 2011-02-23 kinaba: PRTL_VERIFIER_THUNK_DESCRIPTOR DllThunks; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _RTL_VERIFIER_DLL_DESCRIPTOR RTL_VERIFIER_DLL_DESCRIPTOR; c2b7a98c21 2011-02-23 kinaba: alias _RTL_VERIFIER_DLL_DESCRIPTOR* PRTL_VERIFIER_DLL_DESCRIPTOR; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _RTL_VERIFIER_PROVIDER_DESCRIPTOR { c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: DWORD Length; c2b7a98c21 2011-02-23 kinaba: PRTL_VERIFIER_DLL_DESCRIPTOR ProviderDlls; c2b7a98c21 2011-02-23 kinaba: RTL_VERIFIER_DLL_LOAD_CALLBACK ProviderDllLoadCallback; c2b7a98c21 2011-02-23 kinaba: RTL_VERIFIER_DLL_UNLOAD_CALLBACK ProviderDllUnloadCallback; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: PWSTR VerifierImage; c2b7a98c21 2011-02-23 kinaba: DWORD VerifierFlags; c2b7a98c21 2011-02-23 kinaba: DWORD VerifierDebug; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _RTL_VERIFIER_PROVIDER_DESCRIPTOR RTL_VERIFIER_PROVIDER_DESCRIPTOR; c2b7a98c21 2011-02-23 kinaba: alias _RTL_VERIFIER_PROVIDER_DESCRIPTOR* PRTL_VERIFIER_PROVIDER_DESCRIPTOR; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { RTL_VRF_FLG_FULL_PAGE_HEAP = 0x0001 } c2b7a98c21 2011-02-23 kinaba: enum : uint { RTL_VRF_FLG_LOCK_CHECKS = 0x0002 } c2b7a98c21 2011-02-23 kinaba: enum : uint { RTL_VRF_FLG_HANDLE_CHECKS = 0x0004 } c2b7a98c21 2011-02-23 kinaba: enum : uint { RTL_VRF_FLG_STACK_CHECKS = 0x0008 } c2b7a98c21 2011-02-23 kinaba: enum : uint { RTL_VRF_FLG_APPCOMPAT_CHECKS = 0x0010 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { APPLICATION_VERIFIER_INTERNAL_ERROR = 0x80000000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { APPLICATION_VERIFIER_INTERNAL_WARNING = 0x40000000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { APPLICATION_VERIFIER_NO_BREAK = 0x20000000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { APPLICATION_VERIFIER_RESERVED_BIT_28 = 0x10000000 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { APPLICATION_VERIFIER_UNKNOWN_ERROR = 0x0001 } c2b7a98c21 2011-02-23 kinaba: enum : uint { APPLICATION_VERIFIER_ACCESS_VIOLATION = 0x0002 } c2b7a98c21 2011-02-23 kinaba: enum : uint { APPLICATION_VERIFIER_UNSYNCHRONIZED_ACCESS = 0x0003 } c2b7a98c21 2011-02-23 kinaba: enum : uint { APPLICATION_VERIFIER_EXTREME_SIZE_REQUEST = 0x0004 } c2b7a98c21 2011-02-23 kinaba: enum : uint { APPLICATION_VERIFIER_BAD_HEAP_HANDLE = 0x0005 } c2b7a98c21 2011-02-23 kinaba: enum : uint { APPLICATION_VERIFIER_SWITCHED_HEAP_HANDLE = 0x0006 } c2b7a98c21 2011-02-23 kinaba: enum : uint { APPLICATION_VERIFIER_DOUBLE_FREE = 0x0007 } c2b7a98c21 2011-02-23 kinaba: enum : uint { APPLICATION_VERIFIER_CORRUPTED_HEAP_BLOCK = 0x0008 } c2b7a98c21 2011-02-23 kinaba: enum : uint { APPLICATION_VERIFIER_DESTROY_PROCESS_HEAP = 0x0009 } c2b7a98c21 2011-02-23 kinaba: enum : uint { APPLICATION_VERIFIER_UNEXPECTED_EXCEPTION = 0x000A } c2b7a98c21 2011-02-23 kinaba: enum : uint { APPLICATION_VERIFIER_STACK_OVERFLOW = 0x000B } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { APPLICATION_VERIFIER_TERMINATE_THREAD_CALL = 0x0100 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { APPLICATION_VERIFIER_EXIT_THREAD_OWNS_LOCK = 0x0200 } c2b7a98c21 2011-02-23 kinaba: enum : uint { APPLICATION_VERIFIER_LOCK_IN_UNLOADED_DLL = 0x0201 } c2b7a98c21 2011-02-23 kinaba: enum : uint { APPLICATION_VERIFIER_LOCK_IN_FREED_HEAP = 0x0202 } c2b7a98c21 2011-02-23 kinaba: enum : uint { APPLICATION_VERIFIER_LOCK_DOUBLE_INITIALIZE = 0x0203 } c2b7a98c21 2011-02-23 kinaba: enum : uint { APPLICATION_VERIFIER_LOCK_IN_FREED_MEMORY = 0x0204 } c2b7a98c21 2011-02-23 kinaba: enum : uint { APPLICATION_VERIFIER_LOCK_CORRUPTED = 0x0205 } c2b7a98c21 2011-02-23 kinaba: enum : uint { APPLICATION_VERIFIER_LOCK_INVALID_OWNER = 0x0206 } c2b7a98c21 2011-02-23 kinaba: enum : uint { APPLICATION_VERIFIER_LOCK_INVALID_RECURSION_COUNT = 0x0207 } c2b7a98c21 2011-02-23 kinaba: enum : uint { APPLICATION_VERIFIER_LOCK_INVALID_LOCK_COUNT = 0x0208 } c2b7a98c21 2011-02-23 kinaba: enum : uint { APPLICATION_VERIFIER_LOCK_OVER_RELEASED = 0x0209 } c2b7a98c21 2011-02-23 kinaba: enum : uint { APPLICATION_VERIFIER_LOCK_NOT_INITIALIZED = 0x0210 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { APPLICATION_VERIFIER_INVALID_HANDLE = 0x0300 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #define VERIFIER_STOP(Code, Msg, P1, S1, P2, S2, P3, S3, P4, S4) { RtlApplicationVerifierStop ((Code), (Msg), (ULONG_PTR)(P1),(S1), (ULONG_PTR)(P2),(S2), (ULONG_PTR)(P3),(S3), (ULONG_PTR)(P4),(S4)); } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: extern(Windows) export VOID RtlApplicationVerifierStop( c2b7a98c21 2011-02-23 kinaba: ULONG_PTR Code, c2b7a98c21 2011-02-23 kinaba: PCHAR Message, c2b7a98c21 2011-02-23 kinaba: ULONG_PTR Param1, PCHAR Description1, c2b7a98c21 2011-02-23 kinaba: ULONG_PTR Param2, PCHAR Description2, c2b7a98c21 2011-02-23 kinaba: ULONG_PTR Param3, PCHAR Description3, c2b7a98c21 2011-02-23 kinaba: ULONG_PTR Param4, PCHAR Description4); c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: extern(Windows) alias LONG function( _EXCEPTION_POINTERS *ExceptionInfo ) PVECTORED_EXCEPTION_HANDLER; c2b7a98c21 2011-02-23 kinaba: enum : uint { SEF_DACL_AUTO_INHERIT = 0x01 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SEF_SACL_AUTO_INHERIT = 0x02 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SEF_DEFAULT_DESCRIPTOR_FOR_OBJECT = 0x04 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SEF_AVOID_PRIVILEGE_CHECK = 0x08 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SEF_AVOID_OWNER_CHECK = 0x10 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SEF_DEFAULT_OWNER_FROM_PARENT = 0x20 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SEF_DEFAULT_GROUP_FROM_PARENT = 0x40 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: alias int _HEAP_INFORMATION_CLASS; c2b7a98c21 2011-02-23 kinaba: enum { c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: HeapCompatibilityInformation, c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _HEAP_INFORMATION_CLASS HEAP_INFORMATION_CLASS; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: extern(Windows) export DWORD RtlSetHeapInformation( c2b7a98c21 2011-02-23 kinaba: PVOID HeapHandle, c2b7a98c21 2011-02-23 kinaba: HEAP_INFORMATION_CLASS HeapInformationClass, c2b7a98c21 2011-02-23 kinaba: PVOID HeapInformation , c2b7a98c21 2011-02-23 kinaba: SIZE_T HeapInformationLength ); c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: extern(Windows) export DWORD RtlQueryHeapInformation( c2b7a98c21 2011-02-23 kinaba: PVOID HeapHandle, c2b7a98c21 2011-02-23 kinaba: HEAP_INFORMATION_CLASS HeapInformationClass, c2b7a98c21 2011-02-23 kinaba: PVOID HeapInformation , c2b7a98c21 2011-02-23 kinaba: SIZE_T HeapInformationLength , c2b7a98c21 2011-02-23 kinaba: PSIZE_T ReturnLength ); c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { WT_EXECUTEDEFAULT = 0x00000000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { WT_EXECUTEINIOTHREAD = 0x00000001 } c2b7a98c21 2011-02-23 kinaba: enum : uint { WT_EXECUTEINUITHREAD = 0x00000002 } c2b7a98c21 2011-02-23 kinaba: enum : uint { WT_EXECUTEINWAITTHREAD = 0x00000004 } c2b7a98c21 2011-02-23 kinaba: enum : uint { WT_EXECUTEONLYONCE = 0x00000008 } c2b7a98c21 2011-02-23 kinaba: enum : uint { WT_EXECUTEINTIMERTHREAD = 0x00000020 } c2b7a98c21 2011-02-23 kinaba: enum : uint { WT_EXECUTELONGFUNCTION = 0x00000010 } c2b7a98c21 2011-02-23 kinaba: enum : uint { WT_EXECUTEINPERSISTENTIOTHREAD = 0x00000040 } c2b7a98c21 2011-02-23 kinaba: enum : uint { WT_EXECUTEINPERSISTENTTHREAD = 0x00000080 } c2b7a98c21 2011-02-23 kinaba: // #define WT_SET_MAX_THREADPOOL_THREADS(Flags, Limit) ((Flags) |= (Limit)<<16) c2b7a98c21 2011-02-23 kinaba: extern(Windows) alias VOID function(PVOID, BOOLEAN ) WAITORTIMERCALLBACKFUNC; c2b7a98c21 2011-02-23 kinaba: extern(Windows) alias VOID function(PVOID ) WORKERCALLBACKFUNC; c2b7a98c21 2011-02-23 kinaba: extern(Windows) alias VOID function(DWORD , PVOID, PVOID) APC_CALLBACK_FUNCTION; c2b7a98c21 2011-02-23 kinaba: enum : uint { WT_EXECUTEINLONGTHREAD = 0x00000010 } c2b7a98c21 2011-02-23 kinaba: enum : uint { WT_EXECUTEDELETEWAIT = 0x00000008 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: alias int _ACTIVATION_CONTEXT_INFO_CLASS; c2b7a98c21 2011-02-23 kinaba: enum { c2b7a98c21 2011-02-23 kinaba: ActivationContextBasicInformation = 1, c2b7a98c21 2011-02-23 kinaba: ActivationContextDetailedInformation = 2, c2b7a98c21 2011-02-23 kinaba: AssemblyDetailedInformationInActivationContext = 3, c2b7a98c21 2011-02-23 kinaba: FileInformationInAssemblyOfAssemblyInActivationContext = 4, c2b7a98c21 2011-02-23 kinaba: MaxActivationContextInfoClass, c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: AssemblyDetailedInformationInActivationContxt = 3, c2b7a98c21 2011-02-23 kinaba: FileInformationInAssemblyOfAssemblyInActivationContxt = 4, c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _ACTIVATION_CONTEXT_INFO_CLASS ACTIVATION_CONTEXT_INFO_CLASS; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: alias ACTIVATION_CONTEXT_INFO_CLASS ACTIVATIONCONTEXTINFOCLASS; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _ACTIVATION_CONTEXT_QUERY_INDEX { c2b7a98c21 2011-02-23 kinaba: DWORD ulAssemblyIndex; c2b7a98c21 2011-02-23 kinaba: DWORD ulFileIndexInAssembly; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _ACTIVATION_CONTEXT_QUERY_INDEX ACTIVATION_CONTEXT_QUERY_INDEX; c2b7a98c21 2011-02-23 kinaba: alias _ACTIVATION_CONTEXT_QUERY_INDEX* PACTIVATION_CONTEXT_QUERY_INDEX; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: alias _ACTIVATION_CONTEXT_QUERY_INDEX* PCACTIVATION_CONTEXT_QUERY_INDEX; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { ACTIVATION_CONTEXT_PATH_TYPE_NONE = 1 } c2b7a98c21 2011-02-23 kinaba: enum : uint { ACTIVATION_CONTEXT_PATH_TYPE_WIN32_FILE = 2 } c2b7a98c21 2011-02-23 kinaba: enum : uint { ACTIVATION_CONTEXT_PATH_TYPE_URL = 3 } c2b7a98c21 2011-02-23 kinaba: enum : uint { ACTIVATION_CONTEXT_PATH_TYPE_ASSEMBLYREF = 4 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _ASSEMBLY_FILE_DETAILED_INFORMATION { c2b7a98c21 2011-02-23 kinaba: DWORD ulFlags; c2b7a98c21 2011-02-23 kinaba: DWORD ulFilenameLength; c2b7a98c21 2011-02-23 kinaba: DWORD ulPathLength; c2b7a98c21 2011-02-23 kinaba: PCWSTR lpFileName; c2b7a98c21 2011-02-23 kinaba: PCWSTR lpFilePath; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _ASSEMBLY_FILE_DETAILED_INFORMATION ASSEMBLY_FILE_DETAILED_INFORMATION; c2b7a98c21 2011-02-23 kinaba: alias _ASSEMBLY_FILE_DETAILED_INFORMATION* PASSEMBLY_FILE_DETAILED_INFORMATION; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: alias ASSEMBLY_FILE_DETAILED_INFORMATION* PCASSEMBLY_FILE_DETAILED_INFORMATION; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: alias _ASSEMBLY_FILE_DETAILED_INFORMATION _ASSEMBLY_DLL_REDIRECTION_DETAILED_INFORMATION; c2b7a98c21 2011-02-23 kinaba: alias ASSEMBLY_FILE_DETAILED_INFORMATION ASSEMBLY_DLL_REDIRECTION_DETAILED_INFORMATION; c2b7a98c21 2011-02-23 kinaba: alias PASSEMBLY_FILE_DETAILED_INFORMATION PASSEMBLY_DLL_REDIRECTION_DETAILED_INFORMATION; c2b7a98c21 2011-02-23 kinaba: alias PCASSEMBLY_FILE_DETAILED_INFORMATION PCASSEMBLY_DLL_REDIRECTION_DETAILED_INFORMATION; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION { c2b7a98c21 2011-02-23 kinaba: DWORD ulFlags; c2b7a98c21 2011-02-23 kinaba: DWORD ulEncodedAssemblyIdentityLength; c2b7a98c21 2011-02-23 kinaba: DWORD ulManifestPathType; c2b7a98c21 2011-02-23 kinaba: DWORD ulManifestPathLength; c2b7a98c21 2011-02-23 kinaba: LARGE_INTEGER liManifestLastWriteTime; c2b7a98c21 2011-02-23 kinaba: DWORD ulPolicyPathType; c2b7a98c21 2011-02-23 kinaba: DWORD ulPolicyPathLength; c2b7a98c21 2011-02-23 kinaba: LARGE_INTEGER liPolicyLastWriteTime; c2b7a98c21 2011-02-23 kinaba: DWORD ulMetadataSatelliteRosterIndex; c2b7a98c21 2011-02-23 kinaba: DWORD ulManifestVersionMajor; c2b7a98c21 2011-02-23 kinaba: DWORD ulManifestVersionMinor; c2b7a98c21 2011-02-23 kinaba: DWORD ulPolicyVersionMajor; c2b7a98c21 2011-02-23 kinaba: DWORD ulPolicyVersionMinor; c2b7a98c21 2011-02-23 kinaba: DWORD ulAssemblyDirectoryNameLength; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: PCWSTR lpAssemblyEncodedAssemblyIdentity; c2b7a98c21 2011-02-23 kinaba: PCWSTR lpAssemblyManifestPath; c2b7a98c21 2011-02-23 kinaba: PCWSTR lpAssemblyPolicyPath; c2b7a98c21 2011-02-23 kinaba: PCWSTR lpAssemblyDirectoryName; c2b7a98c21 2011-02-23 kinaba: DWORD ulFileCount; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION; c2b7a98c21 2011-02-23 kinaba: alias _ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION* PACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: alias _ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION* PCACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _ACTIVATION_CONTEXT_DETAILED_INFORMATION { c2b7a98c21 2011-02-23 kinaba: DWORD dwFlags; c2b7a98c21 2011-02-23 kinaba: DWORD ulFormatVersion; c2b7a98c21 2011-02-23 kinaba: DWORD ulAssemblyCount; c2b7a98c21 2011-02-23 kinaba: DWORD ulRootManifestPathType; c2b7a98c21 2011-02-23 kinaba: DWORD ulRootManifestPathChars; c2b7a98c21 2011-02-23 kinaba: DWORD ulRootConfigurationPathType; c2b7a98c21 2011-02-23 kinaba: DWORD ulRootConfigurationPathChars; c2b7a98c21 2011-02-23 kinaba: DWORD ulAppDirPathType; c2b7a98c21 2011-02-23 kinaba: DWORD ulAppDirPathChars; c2b7a98c21 2011-02-23 kinaba: PCWSTR lpRootManifestPath; c2b7a98c21 2011-02-23 kinaba: PCWSTR lpRootConfigurationPath; c2b7a98c21 2011-02-23 kinaba: PCWSTR lpAppDirPath; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _ACTIVATION_CONTEXT_DETAILED_INFORMATION ACTIVATION_CONTEXT_DETAILED_INFORMATION; c2b7a98c21 2011-02-23 kinaba: alias _ACTIVATION_CONTEXT_DETAILED_INFORMATION* PACTIVATION_CONTEXT_DETAILED_INFORMATION; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: alias _ACTIVATION_CONTEXT_DETAILED_INFORMATION* PCACTIVATION_CONTEXT_DETAILED_INFORMATION; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { DLL_PROCESS_ATTACH = 1 } c2b7a98c21 2011-02-23 kinaba: enum : uint { DLL_THREAD_ATTACH = 2 } c2b7a98c21 2011-02-23 kinaba: enum : uint { DLL_THREAD_DETACH = 3 } c2b7a98c21 2011-02-23 kinaba: enum : uint { DLL_PROCESS_DETACH = 0 } c2b7a98c21 2011-02-23 kinaba: enum : uint { DLL_PROCESS_VERIFIER = 4 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { EVENTLOG_SEQUENTIAL_READ = 0x0001 } c2b7a98c21 2011-02-23 kinaba: enum : uint { EVENTLOG_SEEK_READ = 0x0002 } c2b7a98c21 2011-02-23 kinaba: enum : uint { EVENTLOG_FORWARDS_READ = 0x0004 } c2b7a98c21 2011-02-23 kinaba: enum : uint { EVENTLOG_BACKWARDS_READ = 0x0008 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { EVENTLOG_SUCCESS = 0x0000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { EVENTLOG_ERROR_TYPE = 0x0001 } c2b7a98c21 2011-02-23 kinaba: enum : uint { EVENTLOG_WARNING_TYPE = 0x0002 } c2b7a98c21 2011-02-23 kinaba: enum : uint { EVENTLOG_INFORMATION_TYPE = 0x0004 } c2b7a98c21 2011-02-23 kinaba: enum : uint { EVENTLOG_AUDIT_SUCCESS = 0x0008 } c2b7a98c21 2011-02-23 kinaba: enum : uint { EVENTLOG_AUDIT_FAILURE = 0x0010 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { EVENTLOG_START_PAIRED_EVENT = 0x0001 } c2b7a98c21 2011-02-23 kinaba: enum : uint { EVENTLOG_END_PAIRED_EVENT = 0x0002 } c2b7a98c21 2011-02-23 kinaba: enum : uint { EVENTLOG_END_ALL_PAIRED_EVENTS = 0x0004 } c2b7a98c21 2011-02-23 kinaba: enum : uint { EVENTLOG_PAIRED_EVENT_ACTIVE = 0x0008 } c2b7a98c21 2011-02-23 kinaba: enum : uint { EVENTLOG_PAIRED_EVENT_INACTIVE = 0x0010 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _EVENTLOGRECORD { c2b7a98c21 2011-02-23 kinaba: DWORD Length; c2b7a98c21 2011-02-23 kinaba: DWORD Reserved; c2b7a98c21 2011-02-23 kinaba: DWORD RecordNumber; c2b7a98c21 2011-02-23 kinaba: DWORD TimeGenerated; c2b7a98c21 2011-02-23 kinaba: DWORD TimeWritten; c2b7a98c21 2011-02-23 kinaba: DWORD EventID; c2b7a98c21 2011-02-23 kinaba: WORD EventType; c2b7a98c21 2011-02-23 kinaba: WORD NumStrings; c2b7a98c21 2011-02-23 kinaba: WORD EventCategory; c2b7a98c21 2011-02-23 kinaba: WORD ReservedFlags; c2b7a98c21 2011-02-23 kinaba: DWORD ClosingRecordNumber; c2b7a98c21 2011-02-23 kinaba: DWORD StringOffset; c2b7a98c21 2011-02-23 kinaba: DWORD UserSidLength; c2b7a98c21 2011-02-23 kinaba: DWORD UserSidOffset; c2b7a98c21 2011-02-23 kinaba: DWORD DataLength; c2b7a98c21 2011-02-23 kinaba: DWORD DataOffset; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _EVENTLOGRECORD EVENTLOGRECORD; c2b7a98c21 2011-02-23 kinaba: alias _EVENTLOGRECORD* PEVENTLOGRECORD; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { MAXLOGICALLOGNAMESIZE = 256 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #if _MSC_VER >= 1200 c2b7a98c21 2011-02-23 kinaba: // #pragma warning(push) c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: // #pragma warning(disable : 4200) c2b7a98c21 2011-02-23 kinaba: struct _EVENTSFORLOGFILE { c2b7a98c21 2011-02-23 kinaba: DWORD ulSize; c2b7a98c21 2011-02-23 kinaba: WCHAR szLogicalLogFile[MAXLOGICALLOGNAMESIZE]; c2b7a98c21 2011-02-23 kinaba: DWORD ulNumRecords; c2b7a98c21 2011-02-23 kinaba: EVENTLOGRECORD pEventLogRecords[]; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _EVENTSFORLOGFILE EVENTSFORLOGFILE; c2b7a98c21 2011-02-23 kinaba: alias _EVENTSFORLOGFILE* PEVENTSFORLOGFILE; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _PACKEDEVENTINFO { c2b7a98c21 2011-02-23 kinaba: DWORD ulSize; c2b7a98c21 2011-02-23 kinaba: DWORD ulNumEventsForLogFile; c2b7a98c21 2011-02-23 kinaba: DWORD ulOffsets[]; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _PACKEDEVENTINFO PACKEDEVENTINFO; c2b7a98c21 2011-02-23 kinaba: alias _PACKEDEVENTINFO* PPACKEDEVENTINFO; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #if _MSC_VER >= 1200 c2b7a98c21 2011-02-23 kinaba: // #pragma warning(pop) c2b7a98c21 2011-02-23 kinaba: // #else c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { KEY_QUERY_VALUE = 0x0001 } c2b7a98c21 2011-02-23 kinaba: enum : uint { KEY_SET_VALUE = 0x0002 } c2b7a98c21 2011-02-23 kinaba: enum : uint { KEY_CREATE_SUB_KEY = 0x0004 } c2b7a98c21 2011-02-23 kinaba: enum : uint { KEY_ENUMERATE_SUB_KEYS = 0x0008 } c2b7a98c21 2011-02-23 kinaba: enum : uint { KEY_NOTIFY = 0x0010 } c2b7a98c21 2011-02-23 kinaba: enum : uint { KEY_CREATE_LINK = 0x0020 } c2b7a98c21 2011-02-23 kinaba: enum : uint { KEY_WOW64_32KEY = 0x0200 } c2b7a98c21 2011-02-23 kinaba: enum : uint { KEY_WOW64_64KEY = 0x0100 } c2b7a98c21 2011-02-23 kinaba: enum : uint { KEY_WOW64_RES = 0x0300 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { KEY_READ = (STANDARD_RIGHTS_READ | KEY_QUERY_VALUE | KEY_ENUMERATE_SUB_KEYS | KEY_NOTIFY) & (~SYNCHRONIZE) } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { KEY_WRITE = (STANDARD_RIGHTS_WRITE | KEY_SET_VALUE | KEY_CREATE_SUB_KEY) & (~SYNCHRONIZE) } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { KEY_EXECUTE = KEY_READ & ~SYNCHRONIZE } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { KEY_ALL_ACCESS = (STANDARD_RIGHTS_ALL | KEY_QUERY_VALUE | KEY_SET_VALUE | KEY_CREATE_SUB_KEY | KEY_ENUMERATE_SUB_KEYS | KEY_NOTIFY | KEY_CREATE_LINK) & (~SYNCHRONIZE) } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { REG_OPTION_RESERVED = 0x00000000 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { REG_OPTION_NON_VOLATILE = 0x00000000 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { REG_OPTION_VOLATILE = 0x00000001 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { REG_OPTION_CREATE_LINK = 0x00000002 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { REG_OPTION_BACKUP_RESTORE = 0x00000004 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { REG_OPTION_OPEN_LINK = 0x00000008 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { REG_LEGAL_OPTION = REG_OPTION_RESERVED | REG_OPTION_NON_VOLATILE | REG_OPTION_VOLATILE | REG_OPTION_CREATE_LINK | REG_OPTION_BACKUP_RESTORE | REG_OPTION_OPEN_LINK } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { REG_CREATED_NEW_KEY = 0x00000001 } c2b7a98c21 2011-02-23 kinaba: enum : uint { REG_OPENED_EXISTING_KEY = 0x00000002 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { REG_STANDARD_FORMAT = 1 } c2b7a98c21 2011-02-23 kinaba: enum : uint { REG_LATEST_FORMAT = 2 } c2b7a98c21 2011-02-23 kinaba: enum : uint { REG_NO_COMPRESSION = 4 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { REG_WHOLE_HIVE_VOLATILE = 0x00000001 } c2b7a98c21 2011-02-23 kinaba: enum : uint { REG_REFRESH_HIVE = 0x00000002 } c2b7a98c21 2011-02-23 kinaba: enum : uint { REG_NO_LAZY_FLUSH = 0x00000004 } c2b7a98c21 2011-02-23 kinaba: enum : uint { REG_FORCE_RESTORE = 0x00000008 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { REG_NOTIFY_CHANGE_NAME = 0x00000001 } c2b7a98c21 2011-02-23 kinaba: enum : uint { REG_NOTIFY_CHANGE_ATTRIBUTES = 0x00000002 } c2b7a98c21 2011-02-23 kinaba: enum : uint { REG_NOTIFY_CHANGE_LAST_SET = 0x00000004 } c2b7a98c21 2011-02-23 kinaba: enum : uint { REG_NOTIFY_CHANGE_SECURITY = 0x00000008 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { REG_LEGAL_CHANGE_FILTER = REG_NOTIFY_CHANGE_NAME | REG_NOTIFY_CHANGE_ATTRIBUTES | REG_NOTIFY_CHANGE_LAST_SET | REG_NOTIFY_CHANGE_SECURITY } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { REG_NONE = 0 } c2b7a98c21 2011-02-23 kinaba: enum : uint { REG_SZ = 1 } c2b7a98c21 2011-02-23 kinaba: enum : uint { REG_EXPAND_SZ = 2 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { REG_BINARY = 3 } c2b7a98c21 2011-02-23 kinaba: enum : uint { REG_DWORD = 4 } c2b7a98c21 2011-02-23 kinaba: enum : uint { REG_DWORD_LITTLE_ENDIAN = 4 } c2b7a98c21 2011-02-23 kinaba: enum : uint { REG_DWORD_BIG_ENDIAN = 5 } c2b7a98c21 2011-02-23 kinaba: enum : uint { REG_LINK = 6 } c2b7a98c21 2011-02-23 kinaba: enum : uint { REG_MULTI_SZ = 7 } c2b7a98c21 2011-02-23 kinaba: enum : uint { REG_RESOURCE_LIST = 8 } c2b7a98c21 2011-02-23 kinaba: enum : uint { REG_FULL_RESOURCE_DESCRIPTOR = 9 } c2b7a98c21 2011-02-23 kinaba: enum : uint { REG_RESOURCE_REQUIREMENTS_LIST = 10 } c2b7a98c21 2011-02-23 kinaba: enum : uint { REG_QWORD = 11 } c2b7a98c21 2011-02-23 kinaba: enum : uint { REG_QWORD_LITTLE_ENDIAN = 11 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { SERVICE_KERNEL_DRIVER = 0x00000001 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SERVICE_FILE_SYSTEM_DRIVER = 0x00000002 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SERVICE_ADAPTER = 0x00000004 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SERVICE_RECOGNIZER_DRIVER = 0x00000008 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { SERVICE_DRIVER = SERVICE_KERNEL_DRIVER | SERVICE_FILE_SYSTEM_DRIVER | SERVICE_RECOGNIZER_DRIVER } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { SERVICE_WIN32_OWN_PROCESS = 0x00000010 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SERVICE_WIN32_SHARE_PROCESS = 0x00000020 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SERVICE_WIN32 = SERVICE_WIN32_OWN_PROCESS | SERVICE_WIN32_SHARE_PROCESS } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { SERVICE_INTERACTIVE_PROCESS = 0x00000100 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { SERVICE_TYPE_ALL = SERVICE_WIN32 | SERVICE_ADAPTER | SERVICE_DRIVER | SERVICE_INTERACTIVE_PROCESS } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { SERVICE_BOOT_START = 0x00000000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SERVICE_SYSTEM_START = 0x00000001 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SERVICE_AUTO_START = 0x00000002 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SERVICE_DEMAND_START = 0x00000003 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SERVICE_DISABLED = 0x00000004 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { SERVICE_ERROR_IGNORE = 0x00000000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SERVICE_ERROR_NORMAL = 0x00000001 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SERVICE_ERROR_SEVERE = 0x00000002 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SERVICE_ERROR_CRITICAL = 0x00000003 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: alias int _CM_SERVICE_NODE_TYPE; c2b7a98c21 2011-02-23 kinaba: enum { c2b7a98c21 2011-02-23 kinaba: DriverType = SERVICE_KERNEL_DRIVER, c2b7a98c21 2011-02-23 kinaba: FileSystemType = SERVICE_FILE_SYSTEM_DRIVER, c2b7a98c21 2011-02-23 kinaba: Win32ServiceOwnProcess = SERVICE_WIN32_OWN_PROCESS, c2b7a98c21 2011-02-23 kinaba: Win32ServiceShareProcess = SERVICE_WIN32_SHARE_PROCESS, c2b7a98c21 2011-02-23 kinaba: AdapterType = SERVICE_ADAPTER, c2b7a98c21 2011-02-23 kinaba: RecognizerType = SERVICE_RECOGNIZER_DRIVER, c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _CM_SERVICE_NODE_TYPE SERVICE_NODE_TYPE; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: alias int _CM_SERVICE_LOAD_TYPE; c2b7a98c21 2011-02-23 kinaba: enum { c2b7a98c21 2011-02-23 kinaba: BootLoad = SERVICE_BOOT_START, c2b7a98c21 2011-02-23 kinaba: SystemLoad = SERVICE_SYSTEM_START, c2b7a98c21 2011-02-23 kinaba: AutoLoad = SERVICE_AUTO_START, c2b7a98c21 2011-02-23 kinaba: DemandLoad = SERVICE_DEMAND_START, c2b7a98c21 2011-02-23 kinaba: DisableLoad = SERVICE_DISABLED, c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _CM_SERVICE_LOAD_TYPE SERVICE_LOAD_TYPE; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: alias int _CM_ERROR_CONTROL_TYPE; c2b7a98c21 2011-02-23 kinaba: enum { c2b7a98c21 2011-02-23 kinaba: IgnoreError = SERVICE_ERROR_IGNORE, c2b7a98c21 2011-02-23 kinaba: NormalError = SERVICE_ERROR_NORMAL, c2b7a98c21 2011-02-23 kinaba: SevereError = SERVICE_ERROR_SEVERE, c2b7a98c21 2011-02-23 kinaba: CriticalError = SERVICE_ERROR_CRITICAL, c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _CM_ERROR_CONTROL_TYPE SERVICE_ERROR_TYPE; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { TAPE_ERASE_SHORT = 0 } c2b7a98c21 2011-02-23 kinaba: enum : uint { TAPE_ERASE_LONG = 1 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _TAPE_ERASE { c2b7a98c21 2011-02-23 kinaba: DWORD Type; c2b7a98c21 2011-02-23 kinaba: BOOLEAN Immediate; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _TAPE_ERASE TAPE_ERASE; c2b7a98c21 2011-02-23 kinaba: alias _TAPE_ERASE* PTAPE_ERASE; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { TAPE_LOAD = 0 } c2b7a98c21 2011-02-23 kinaba: enum : uint { TAPE_UNLOAD = 1 } c2b7a98c21 2011-02-23 kinaba: enum : uint { TAPE_TENSION = 2 } c2b7a98c21 2011-02-23 kinaba: enum : uint { TAPE_LOCK = 3 } c2b7a98c21 2011-02-23 kinaba: enum : uint { TAPE_UNLOCK = 4 } c2b7a98c21 2011-02-23 kinaba: enum : uint { TAPE_FORMAT = 5 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _TAPE_PREPARE { c2b7a98c21 2011-02-23 kinaba: DWORD Operation; c2b7a98c21 2011-02-23 kinaba: BOOLEAN Immediate; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _TAPE_PREPARE TAPE_PREPARE; c2b7a98c21 2011-02-23 kinaba: alias _TAPE_PREPARE* PTAPE_PREPARE; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { TAPE_SETMARKS = 0 } c2b7a98c21 2011-02-23 kinaba: enum : uint { TAPE_FILEMARKS = 1 } c2b7a98c21 2011-02-23 kinaba: enum : uint { TAPE_SHORT_FILEMARKS = 2 } c2b7a98c21 2011-02-23 kinaba: enum : uint { TAPE_LONG_FILEMARKS = 3 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _TAPE_WRITE_MARKS { c2b7a98c21 2011-02-23 kinaba: DWORD Type; c2b7a98c21 2011-02-23 kinaba: DWORD Count; c2b7a98c21 2011-02-23 kinaba: BOOLEAN Immediate; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _TAPE_WRITE_MARKS TAPE_WRITE_MARKS; c2b7a98c21 2011-02-23 kinaba: alias _TAPE_WRITE_MARKS* PTAPE_WRITE_MARKS; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { TAPE_ABSOLUTE_POSITION = 0 } c2b7a98c21 2011-02-23 kinaba: enum : uint { TAPE_LOGICAL_POSITION = 1 } c2b7a98c21 2011-02-23 kinaba: enum : uint { TAPE_PSEUDO_LOGICAL_POSITION = 2 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _TAPE_GET_POSITION { c2b7a98c21 2011-02-23 kinaba: DWORD Type; c2b7a98c21 2011-02-23 kinaba: DWORD Partition; c2b7a98c21 2011-02-23 kinaba: LARGE_INTEGER Offset; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _TAPE_GET_POSITION TAPE_GET_POSITION; c2b7a98c21 2011-02-23 kinaba: alias _TAPE_GET_POSITION* PTAPE_GET_POSITION; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { TAPE_REWIND = 0 } c2b7a98c21 2011-02-23 kinaba: enum : uint { TAPE_ABSOLUTE_BLOCK = 1 } c2b7a98c21 2011-02-23 kinaba: enum : uint { TAPE_LOGICAL_BLOCK = 2 } c2b7a98c21 2011-02-23 kinaba: enum : uint { TAPE_PSEUDO_LOGICAL_BLOCK = 3 } c2b7a98c21 2011-02-23 kinaba: enum : uint { TAPE_SPACE_END_OF_DATA = 4 } c2b7a98c21 2011-02-23 kinaba: enum : uint { TAPE_SPACE_RELATIVE_BLOCKS = 5 } c2b7a98c21 2011-02-23 kinaba: enum : uint { TAPE_SPACE_FILEMARKS = 6 } c2b7a98c21 2011-02-23 kinaba: enum : uint { TAPE_SPACE_SEQUENTIAL_FMKS = 7 } c2b7a98c21 2011-02-23 kinaba: enum : uint { TAPE_SPACE_SETMARKS = 8 } c2b7a98c21 2011-02-23 kinaba: enum : uint { TAPE_SPACE_SEQUENTIAL_SMKS = 9 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _TAPE_SET_POSITION { c2b7a98c21 2011-02-23 kinaba: DWORD Method; c2b7a98c21 2011-02-23 kinaba: DWORD Partition; c2b7a98c21 2011-02-23 kinaba: LARGE_INTEGER Offset; c2b7a98c21 2011-02-23 kinaba: BOOLEAN Immediate; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _TAPE_SET_POSITION TAPE_SET_POSITION; c2b7a98c21 2011-02-23 kinaba: alias _TAPE_SET_POSITION* PTAPE_SET_POSITION; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { TAPE_DRIVE_FIXED = 0x00000001 } c2b7a98c21 2011-02-23 kinaba: enum : uint { TAPE_DRIVE_SELECT = 0x00000002 } c2b7a98c21 2011-02-23 kinaba: enum : uint { TAPE_DRIVE_INITIATOR = 0x00000004 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { TAPE_DRIVE_ERASE_SHORT = 0x00000010 } c2b7a98c21 2011-02-23 kinaba: enum : uint { TAPE_DRIVE_ERASE_LONG = 0x00000020 } c2b7a98c21 2011-02-23 kinaba: enum : uint { TAPE_DRIVE_ERASE_BOP_ONLY = 0x00000040 } c2b7a98c21 2011-02-23 kinaba: enum : uint { TAPE_DRIVE_ERASE_IMMEDIATE = 0x00000080 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { TAPE_DRIVE_TAPE_CAPACITY = 0x00000100 } c2b7a98c21 2011-02-23 kinaba: enum : uint { TAPE_DRIVE_TAPE_REMAINING = 0x00000200 } c2b7a98c21 2011-02-23 kinaba: enum : uint { TAPE_DRIVE_FIXED_BLOCK = 0x00000400 } c2b7a98c21 2011-02-23 kinaba: enum : uint { TAPE_DRIVE_VARIABLE_BLOCK = 0x00000800 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { TAPE_DRIVE_WRITE_PROTECT = 0x00001000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { TAPE_DRIVE_EOT_WZ_SIZE = 0x00002000 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { TAPE_DRIVE_ECC = 0x00010000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { TAPE_DRIVE_COMPRESSION = 0x00020000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { TAPE_DRIVE_PADDING = 0x00040000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { TAPE_DRIVE_REPORT_SMKS = 0x00080000 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { TAPE_DRIVE_GET_ABSOLUTE_BLK = 0x00100000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { TAPE_DRIVE_GET_LOGICAL_BLK = 0x00200000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { TAPE_DRIVE_SET_EOT_WZ_SIZE = 0x00400000 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { TAPE_DRIVE_EJECT_MEDIA = 0x01000000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { TAPE_DRIVE_CLEAN_REQUESTS = 0x02000000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { TAPE_DRIVE_SET_CMP_BOP_ONLY = 0x04000000 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { TAPE_DRIVE_RESERVED_BIT = 0x80000000 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { TAPE_DRIVE_LOAD_UNLOAD = 0x80000001 } c2b7a98c21 2011-02-23 kinaba: enum : uint { TAPE_DRIVE_TENSION = 0x80000002 } c2b7a98c21 2011-02-23 kinaba: enum : uint { TAPE_DRIVE_LOCK_UNLOCK = 0x80000004 } c2b7a98c21 2011-02-23 kinaba: enum : uint { TAPE_DRIVE_REWIND_IMMEDIATE = 0x80000008 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { TAPE_DRIVE_SET_BLOCK_SIZE = 0x80000010 } c2b7a98c21 2011-02-23 kinaba: enum : uint { TAPE_DRIVE_LOAD_UNLD_IMMED = 0x80000020 } c2b7a98c21 2011-02-23 kinaba: enum : uint { TAPE_DRIVE_TENSION_IMMED = 0x80000040 } c2b7a98c21 2011-02-23 kinaba: enum : uint { TAPE_DRIVE_LOCK_UNLK_IMMED = 0x80000080 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { TAPE_DRIVE_SET_ECC = 0x80000100 } c2b7a98c21 2011-02-23 kinaba: enum : uint { TAPE_DRIVE_SET_COMPRESSION = 0x80000200 } c2b7a98c21 2011-02-23 kinaba: enum : uint { TAPE_DRIVE_SET_PADDING = 0x80000400 } c2b7a98c21 2011-02-23 kinaba: enum : uint { TAPE_DRIVE_SET_REPORT_SMKS = 0x80000800 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { TAPE_DRIVE_ABSOLUTE_BLK = 0x80001000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { TAPE_DRIVE_ABS_BLK_IMMED = 0x80002000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { TAPE_DRIVE_LOGICAL_BLK = 0x80004000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { TAPE_DRIVE_LOG_BLK_IMMED = 0x80008000 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { TAPE_DRIVE_END_OF_DATA = 0x80010000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { TAPE_DRIVE_RELATIVE_BLKS = 0x80020000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { TAPE_DRIVE_FILEMARKS = 0x80040000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { TAPE_DRIVE_SEQUENTIAL_FMKS = 0x80080000 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { TAPE_DRIVE_SETMARKS = 0x80100000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { TAPE_DRIVE_SEQUENTIAL_SMKS = 0x80200000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { TAPE_DRIVE_REVERSE_POSITION = 0x80400000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { TAPE_DRIVE_SPACE_IMMEDIATE = 0x80800000 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { TAPE_DRIVE_WRITE_SETMARKS = 0x81000000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { TAPE_DRIVE_WRITE_FILEMARKS = 0x82000000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { TAPE_DRIVE_WRITE_SHORT_FMKS = 0x84000000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { TAPE_DRIVE_WRITE_LONG_FMKS = 0x88000000 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { TAPE_DRIVE_WRITE_MARK_IMMED = 0x90000000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { TAPE_DRIVE_FORMAT = 0xA0000000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { TAPE_DRIVE_FORMAT_IMMEDIATE = 0xC0000000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { TAPE_DRIVE_HIGH_FEATURES = 0x80000000 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _TAPE_GET_DRIVE_PARAMETERS { c2b7a98c21 2011-02-23 kinaba: BOOLEAN ECC; c2b7a98c21 2011-02-23 kinaba: BOOLEAN Compression; c2b7a98c21 2011-02-23 kinaba: BOOLEAN DataPadding; c2b7a98c21 2011-02-23 kinaba: BOOLEAN ReportSetmarks; c2b7a98c21 2011-02-23 kinaba: DWORD DefaultBlockSize; c2b7a98c21 2011-02-23 kinaba: DWORD MaximumBlockSize; c2b7a98c21 2011-02-23 kinaba: DWORD MinimumBlockSize; c2b7a98c21 2011-02-23 kinaba: DWORD MaximumPartitionCount; c2b7a98c21 2011-02-23 kinaba: DWORD FeaturesLow; c2b7a98c21 2011-02-23 kinaba: DWORD FeaturesHigh; c2b7a98c21 2011-02-23 kinaba: DWORD EOTWarningZoneSize; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _TAPE_GET_DRIVE_PARAMETERS TAPE_GET_DRIVE_PARAMETERS; c2b7a98c21 2011-02-23 kinaba: alias _TAPE_GET_DRIVE_PARAMETERS* PTAPE_GET_DRIVE_PARAMETERS; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _TAPE_SET_DRIVE_PARAMETERS { c2b7a98c21 2011-02-23 kinaba: BOOLEAN ECC; c2b7a98c21 2011-02-23 kinaba: BOOLEAN Compression; c2b7a98c21 2011-02-23 kinaba: BOOLEAN DataPadding; c2b7a98c21 2011-02-23 kinaba: BOOLEAN ReportSetmarks; c2b7a98c21 2011-02-23 kinaba: DWORD EOTWarningZoneSize; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _TAPE_SET_DRIVE_PARAMETERS TAPE_SET_DRIVE_PARAMETERS; c2b7a98c21 2011-02-23 kinaba: alias _TAPE_SET_DRIVE_PARAMETERS* PTAPE_SET_DRIVE_PARAMETERS; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _TAPE_GET_MEDIA_PARAMETERS { c2b7a98c21 2011-02-23 kinaba: LARGE_INTEGER Capacity; c2b7a98c21 2011-02-23 kinaba: LARGE_INTEGER Remaining; c2b7a98c21 2011-02-23 kinaba: DWORD BlockSize; c2b7a98c21 2011-02-23 kinaba: DWORD PartitionCount; c2b7a98c21 2011-02-23 kinaba: BOOLEAN WriteProtected; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _TAPE_GET_MEDIA_PARAMETERS TAPE_GET_MEDIA_PARAMETERS; c2b7a98c21 2011-02-23 kinaba: alias _TAPE_GET_MEDIA_PARAMETERS* PTAPE_GET_MEDIA_PARAMETERS; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _TAPE_SET_MEDIA_PARAMETERS { c2b7a98c21 2011-02-23 kinaba: DWORD BlockSize; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _TAPE_SET_MEDIA_PARAMETERS TAPE_SET_MEDIA_PARAMETERS; c2b7a98c21 2011-02-23 kinaba: alias _TAPE_SET_MEDIA_PARAMETERS* PTAPE_SET_MEDIA_PARAMETERS; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { TAPE_FIXED_PARTITIONS = 0 } c2b7a98c21 2011-02-23 kinaba: enum : uint { TAPE_SELECT_PARTITIONS = 1 } c2b7a98c21 2011-02-23 kinaba: enum : uint { TAPE_INITIATOR_PARTITIONS = 2 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _TAPE_CREATE_PARTITION { c2b7a98c21 2011-02-23 kinaba: DWORD Method; c2b7a98c21 2011-02-23 kinaba: DWORD Count; c2b7a98c21 2011-02-23 kinaba: DWORD Size; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _TAPE_CREATE_PARTITION TAPE_CREATE_PARTITION; c2b7a98c21 2011-02-23 kinaba: alias _TAPE_CREATE_PARTITION* PTAPE_CREATE_PARTITION; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { TAPE_QUERY_DRIVE_PARAMETERS = 0 } c2b7a98c21 2011-02-23 kinaba: enum : uint { TAPE_QUERY_MEDIA_CAPACITY = 1 } c2b7a98c21 2011-02-23 kinaba: enum : uint { TAPE_CHECK_FOR_DRIVE_PROBLEM = 2 } c2b7a98c21 2011-02-23 kinaba: enum : uint { TAPE_QUERY_IO_ERROR_DATA = 3 } c2b7a98c21 2011-02-23 kinaba: enum : uint { TAPE_QUERY_DEVICE_ERROR_DATA = 4 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _TAPE_WMI_OPERATIONS { c2b7a98c21 2011-02-23 kinaba: DWORD Method; c2b7a98c21 2011-02-23 kinaba: DWORD DataBufferSize; c2b7a98c21 2011-02-23 kinaba: PVOID DataBuffer; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _TAPE_WMI_OPERATIONS TAPE_WMI_OPERATIONS; c2b7a98c21 2011-02-23 kinaba: alias _TAPE_WMI_OPERATIONS* PTAPE_WMI_OPERATIONS; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: alias int _TAPE_DRIVE_PROBLEM_TYPE; c2b7a98c21 2011-02-23 kinaba: enum { c2b7a98c21 2011-02-23 kinaba: TapeDriveProblemNone, c2b7a98c21 2011-02-23 kinaba: TapeDriveReadWriteWarning, c2b7a98c21 2011-02-23 kinaba: TapeDriveReadWriteError, c2b7a98c21 2011-02-23 kinaba: TapeDriveReadWarning, c2b7a98c21 2011-02-23 kinaba: TapeDriveWriteWarning, c2b7a98c21 2011-02-23 kinaba: TapeDriveReadError, c2b7a98c21 2011-02-23 kinaba: TapeDriveWriteError, c2b7a98c21 2011-02-23 kinaba: TapeDriveHardwareError, c2b7a98c21 2011-02-23 kinaba: TapeDriveUnsupportedMedia, c2b7a98c21 2011-02-23 kinaba: TapeDriveScsiConnectionError, c2b7a98c21 2011-02-23 kinaba: TapeDriveTimetoClean, c2b7a98c21 2011-02-23 kinaba: TapeDriveCleanDriveNow, c2b7a98c21 2011-02-23 kinaba: TapeDriveMediaLifeExpired, c2b7a98c21 2011-02-23 kinaba: TapeDriveSnappedTape, c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _TAPE_DRIVE_PROBLEM_TYPE TAPE_DRIVE_PROBLEM_TYPE; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #if defined(_M_AMD64) && !defined(__midl) c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #endif // _M_AMD64 && !defined(__midl) c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #if (_WIN32_WINNT > 0x0500) || (_WIN32_FUSION >= 0x0100) || ISOLATION_AWARE_ENABLED // winnt_only c2b7a98c21 2011-02-23 kinaba: enum : uint { ACTIVATION_CONTEXT_SECTION_ASSEMBLY_INFORMATION = 1 } c2b7a98c21 2011-02-23 kinaba: enum : uint { ACTIVATION_CONTEXT_SECTION_DLL_REDIRECTION = 2 } c2b7a98c21 2011-02-23 kinaba: enum : uint { ACTIVATION_CONTEXT_SECTION_WINDOW_CLASS_REDIRECTION = 3 } c2b7a98c21 2011-02-23 kinaba: enum : uint { ACTIVATION_CONTEXT_SECTION_COM_SERVER_REDIRECTION = 4 } c2b7a98c21 2011-02-23 kinaba: enum : uint { ACTIVATION_CONTEXT_SECTION_COM_INTERFACE_REDIRECTION = 5 } c2b7a98c21 2011-02-23 kinaba: enum : uint { ACTIVATION_CONTEXT_SECTION_COM_TYPE_LIBRARY_REDIRECTION = 6 } c2b7a98c21 2011-02-23 kinaba: enum : uint { ACTIVATION_CONTEXT_SECTION_COM_PROGID_REDIRECTION = 7 } c2b7a98c21 2011-02-23 kinaba: enum : uint { ACTIVATION_CONTEXT_SECTION_GLOBAL_OBJECT_RENAME_TABLE = 8 } c2b7a98c21 2011-02-23 kinaba: // #endif // winnt_only c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #ifdef __cplusplus c2b7a98c21 2011-02-23 kinaba: // } c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #endif /* _WINNT_ */ c2b7a98c21 2011-02-23 kinaba: