Diff

Not logged in

Differences From Artifact [5400bf8ccf4a147f]:

To Artifact [217222ad3190ccc6]:


> 1 /***********************************************************************\ > 2 * winnt.d * > 3 * * > 4 * Windows API header module * > 5 * * > 6 * Translated from MinGW API for MS-Windows 3.12 * > 7 * * > 8 * Placed into public domain * > 9 \***********************************************************************/ 1 module win32.winnt; 10 module win32.winnt; 2 11 3 // Translated from Microsoft Platform SDK August 2001 Edition | 12 public import win32.basetsd, win32.windef, win32.winerror; 4 // by Y.Tomino (demoonlit@inter7.jp) < 5 < 6 import win32.windef; | 13 private import win32.w32api; 7 alias void _TEB; < 8 alias void _EXCEPTION_REGISTRATION_RECORD; < 9 private extern(C) { < 10 int memcmp(void*, void*, uint); < 11 void* memmove(void*, void*, uint); < 12 void* memcpy(void*, void*, uint); < 13 void* memset(void*, uint, uint); < 14 } | 14 > 15 /* Translation Notes: > 16 The following macros are unneeded for D: > 17 FIELD_OFFSET(t,f), CONTAINING_RECORD(address, type, field) > 18 */ 15 | 19 > 20 alias void VOID; > 21 alias char CHAR, CCHAR; > 22 alias wchar WCHAR; > 23 alias bool BOOLEAN; > 24 alias byte FCHAR; 16 // #ifndef _WINNT_ | 25 alias ubyte UCHAR; 17 // #define _WINNT_ | 26 alias short SHORT; > 27 alias ushort LANGID, FSHORT; > 28 alias uint LCID, FLONG, ACCESS_MASK; > 29 alias long LONGLONG, USN; > 30 alias ulong DWORDLONG, ULONGLONG; 18 | 31 19 // #ifdef __cplusplus < 20 // extern "C" { < 21 // #endif < > 32 alias void* PVOID, LPVOID; > 33 alias char* PSZ, PCHAR, PCCHAR, LPCH, PCH, LPSTR, PSTR; > 34 alias wchar* PWCHAR, LPWCH, PWCH, LPWSTR, PWSTR; > 35 alias bool* PBOOLEAN; > 36 alias ubyte* PUCHAR; > 37 alias short* PSHORT; > 38 alias int* PLONG; > 39 alias uint* PLCID, PACCESS_MASK; > 40 alias long* PLONGLONG; > 41 alias ulong* PDWORDLONG, PULONGLONG; 22 | 42 23 // #include <ctype.h> < 24 enum : uint { ANYSIZE_ARRAY = 1 } < > 43 // FIXME(MinGW) for __WIN64 > 44 alias void* PVOID64; 25 | 45 26 // #if defined(_M_MRX000) && !(defined(MIDL_PASS) || defined(RC_INVOKED)) && def < 27 // #... < 28 // #else < 29 // #define RESTRICTED_POINTER < 30 // #endif < > 46 // const versions > 47 alias CPtr!(char) LPCCH, PCSTR, LPCSTR; > 48 alias CPtr!(wchar) LPCWCH, PCWCH, LPCWSTR, PCWSTR; 31 | 49 32 // #if defined(_M_MRX000) || defined(_M_ALPHA) || defined(_M_PPC) || defined(_M_ < 33 // #... < 34 // #if defined(_WIN64) < 35 // #... < > 50 version (Unicode) { > 51 alias WCHAR TCHAR, _TCHAR; 36 // #else | 52 } else { 37 // #... < 38 // #endif < 39 // #else < 40 // #define UNALIGNED < 41 // #define UNALIGNED64 < 42 // #endif < > 53 alias CHAR TCHAR, _TCHAR; 43 | 54 } 44 // #if defined(_WIN64) || defined(_M_ALPHA) < 45 // #... < 46 // #... < 47 // #else < 48 const uint MAX_NATURAL_ALIGNMENT = DWORD.sizeof; < 49 enum : uint { MEMORY_ALLOCATION_ALIGNMENT = 8 } < 50 // #endif < 51 | 55 52 // #ifdef __cplusplus < 53 // #if _MSC_VER >= 1300 < 54 // #define TYPE_ALIGNMENT( t ) __alignof(t) < 55 // #endif < 56 // #else < 57 // #... < 58 // ... < 59 // #endif < > 56 alias TCHAR TBYTE; > 57 alias TCHAR* PTCH, PTBYTE, LPTCH, PTSTR, LPTSTR, LP, PTCHAR; > 58 alias CPtr!(TCHAR) LPCTSTR; 60 | 59 61 // #if defined(_WIN64) < > 60 const char ANSI_NULL = '\0'; > 61 const wchar UNICODE_NULL = '\0'; 62 | 62 63 // #... < 64 // ... < > 63 const APPLICATION_ERROR_MASK = 0x20000000; > 64 const ERROR_SEVERITY_SUCCESS = 0x00000000; > 65 const ERROR_SEVERITY_INFORMATIONAL = 0x40000000; > 66 const ERROR_SEVERITY_WARNING = 0x80000000; > 67 const ERROR_SEVERITY_ERROR = 0xC0000000; 65 | 68 > 69 // MinGW: also in ddk/ntifs.h > 70 enum : USHORT { > 71 COMPRESSION_FORMAT_NONE = 0x0000, > 72 COMPRESSION_FORMAT_DEFAULT = 0x0001, > 73 COMPRESSION_FORMAT_LZNT1 = 0x0002, > 74 COMPRESSION_ENGINE_STANDARD = 0x0000, 66 // #... | 75 COMPRESSION_ENGINE_MAXIMUM = 0x0100, > 76 COMPRESSION_ENGINE_HIBER = 0x0200 67 | 77 } 68 // #else < 69 | 78 70 // #define PROBE_ALIGNMENT( _s ) TYPE_ALIGNMENT( DWORD ) | 79 // ACCESS_DENIED_OBJECT_ACE, etc > 80 const DWORD > 81 ACE_OBJECT_TYPE_PRESENT = 0x00000001, > 82 ACE_INHERITED_OBJECT_TYPE_PRESENT = 0x00000002; 71 | 83 72 // #endif < > 84 // ACE_HEADER.AceType > 85 // also in ddk/ntifs.h > 86 enum : BYTE { > 87 ACCESS_ALLOWED_ACE_TYPE, > 88 ACCESS_DENIED_ACE_TYPE, > 89 SYSTEM_AUDIT_ACE_TYPE, > 90 SYSTEM_ALARM_ACE_TYPE 73 | 91 } 74 // #define C_ASSERT(e) typedef char __C_ASSERT__[(e)?1:-1] < 75 | 92 76 // #if !defined(_MAC) && (defined(_M_MRX000) || defined(_M_AMD64) || defined(_M_ < 77 // #... < 78 // ... < 79 // #if defined(_WIN64) < 80 // #... < 81 // #else < 82 // #... < 83 // #endif < 84 // #else | 93 // ACE_HEADER.AceFlags 85 // #if defined(_MAC) && defined(_MAC_INT_64) | 94 const BYTE 86 // #... | 95 OBJECT_INHERIT_ACE = 0x01, 87 // ... | 96 CONTAINER_INHERIT_ACE = 0x02, 88 // #else | 97 NO_PROPAGATE_INHERIT_ACE = 0x04, 89 // #define POINTER_64 | 98 INHERIT_ONLY_ACE = 0x08, 90 alias uint POINTER_64_INT; | 99 INHERITED_ACE = 0x10, 91 // #endif | 100 VALID_INHERIT_FLAGS = 0x1F, 92 alias void* POINTER_32; | 101 SUCCESSFUL_ACCESS_ACE_FLAG = 0x40, 93 // #endif | 102 FAILED_ACCESS_ACE_FLAG = 0x80; 94 | 103 95 // #if defined(_IA64_) || defined(_AMD64_) | 104 // Access Mask Format 96 // #... | 105 const ACCESS_MASK 97 // #else | 106 DELETE = 0x00010000, 98 alias POINTER_32 FIRMWARE_PTR; | 107 READ_CONTROL = 0x00020000, 99 // #endif | 108 WRITE_DAC = 0x00040000, 100 < > 109 WRITE_OWNER = 0x00080000, 101 // #include <basetsd.h> | 110 SYNCHRONIZE = 0x00100000, 102 < > 111 ACCESS_SYSTEM_SECURITY = 0x01000000, 103 // #if (defined(_M_IX86) || defined(_M_IA64) || defined(_M_AMD64)) && !defined(M | 112 MAXIMUM_ALLOWED = 0x02000000, 104 // #define DECLSPEC_IMPORT __declspec(dllimport) | 113 GENERIC_READ = 0x80000000, 105 // #else | 114 GENERIC_WRITE = 0x40000000, 106 // #... | 115 GENERIC_EXECUTE = 0x20000000, 107 // #endif | 116 GENERIC_ALL = 0x10000000, 108 < > 117 STANDARD_RIGHTS_REQUIRED = 0x000F0000, 109 // #ifndef DECLSPEC_NORETURN | 118 STANDARD_RIGHTS_READ = 0x00020000, 110 // #if (_MSC_VER >= 1200) && !defined(MIDL_PASS) | 119 STANDARD_RIGHTS_WRITE = 0x00020000, 111 // #define DECLSPEC_NORETURN __declspec(noreturn) | 120 STANDARD_RIGHTS_EXECUTE = 0x00020000, 112 // #else | 121 STANDARD_RIGHTS_ALL = 0x001F0000, 113 // #... | 122 SPECIFIC_RIGHTS_ALL = 0x0000FFFF; 114 // #endif < 115 // #endif < 116 | 123 117 // #ifndef DECLSPEC_ALIGN < 118 // #if (_MSC_VER >= 1300) && !defined(MIDL_PASS) < 119 // #define DECLSPEC_ALIGN(x) __declspec(align(x)) < 120 // #else < 121 // #... < 122 // #endif < 123 // #endif < 124 | 124 125 // #ifndef DECLSPEC_CACHEALIGN < 126 // #define DECLSPEC_CACHEALIGN DECLSPEC_ALIGN(128) < 127 // #endif < > 125 const DWORD INVALID_FILE_ATTRIBUTES = -1; 128 | 126 > 127 // MinGW: Also in ddk/winddk.h > 128 const DWORD > 129 FILE_LIST_DIRECTORY = 0x00000001, > 130 FILE_READ_DATA = 0x00000001, > 131 FILE_ADD_FILE = 0x00000002, > 132 FILE_WRITE_DATA = 0x00000002, > 133 FILE_ADD_SUBDIRECTORY = 0x00000004, > 134 FILE_APPEND_DATA = 0x00000004, > 135 FILE_CREATE_PIPE_INSTANCE = 0x00000004, > 136 FILE_READ_EA = 0x00000008, > 137 FILE_READ_PROPERTIES = 0x00000008, 129 // #ifndef DECLSPEC_UUID | 138 FILE_WRITE_EA = 0x00000010, 130 // #if (_MSC_VER >= 1100) && defined (__cplusplus) | 139 FILE_WRITE_PROPERTIES = 0x00000010, 131 // #define DECLSPEC_UUID(x) __declspec(uuid(x)) | 140 FILE_EXECUTE = 0x00000020, 132 // #else | 141 FILE_TRAVERSE = 0x00000020, 133 // #... | 142 FILE_DELETE_CHILD = 0x00000040, 134 // #endif | 143 FILE_READ_ATTRIBUTES = 0x00000080, 135 // #endif | 144 FILE_WRITE_ATTRIBUTES = 0x00000100; 136 | 145 137 // #ifndef DECLSPEC_NOVTABLE | 146 const DWORD 138 // #if (_MSC_VER >= 1100) && defined(__cplusplus) | 147 FILE_SHARE_READ = 0x00000001, 139 // #define DECLSPEC_NOVTABLE __declspec(novtable) | 148 FILE_SHARE_WRITE = 0x00000002, 140 // #else | 149 FILE_SHARE_DELETE = 0x00000004, 141 // #... | 150 FILE_SHARE_VALID_FLAGS = 0x00000007; 142 // #endif < 143 // #endif < 144 | 151 > 152 const DWORD > 153 FILE_ATTRIBUTE_READONLY = 0x00000001, 145 // #ifndef DECLSPEC_SELECTANY | 154 FILE_ATTRIBUTE_HIDDEN = 0x00000002, 146 // #if (_MSC_VER >= 1100) | 155 FILE_ATTRIBUTE_SYSTEM = 0x00000004, 147 // #define DECLSPEC_SELECTANY __declspec(selectany) | 156 FILE_ATTRIBUTE_DIRECTORY = 0x00000010, 148 // #else | 157 FILE_ATTRIBUTE_ARCHIVE = 0x00000020, 149 // #... | 158 FILE_ATTRIBUTE_DEVICE = 0x00000040, 150 // #endif | 159 FILE_ATTRIBUTE_NORMAL = 0x00000080, 151 // #endif | 160 FILE_ATTRIBUTE_TEMPORARY = 0x00000100, > 161 FILE_ATTRIBUTE_SPARSE_FILE = 0x00000200, > 162 FILE_ATTRIBUTE_REPARSE_POINT = 0x00000400, > 163 FILE_ATTRIBUTE_COMPRESSED = 0x00000800, > 164 FILE_ATTRIBUTE_OFFLINE = 0x00001000, > 165 FILE_ATTRIBUTE_NOT_CONTENT_INDEXED = 0x00002000, > 166 FILE_ATTRIBUTE_ENCRYPTED = 0x00004000, > 167 FILE_ATTRIBUTE_VALID_FLAGS = 0x00007fb7, > 168 FILE_ATTRIBUTE_VALID_SET_FLAGS = 0x000031a7; 152 | 169 153 // #ifndef NOP_FUNCTION < 154 // #if (_MSC_VER >= 1210) < 155 // #... < 156 // #else < 157 // #... < 158 // #endif < 159 // #endif < > 170 // These are not documented on MSDN > 171 const FILE_COPY_STRUCTURED_STORAGE = 0x00000041; > 172 const FILE_STRUCTURED_STORAGE = 0x00000441; 160 | 173 161 // #ifndef DECLSPEC_ADDRSAFE < 162 // #if (_MSC_VER >= 1200) && (defined(_M_ALPHA) || defined(_M_AXP64)) < 163 // #... < 164 // #else < 165 // #define DECLSPEC_ADDRSAFE | 174 // Nor are these 166 // #endif | 175 const FILE_VALID_OPTION_FLAGS = 0x00ffffff; 167 // #endif | 176 const FILE_VALID_PIPE_OPTION_FLAGS = 0x00000032; > 177 const FILE_VALID_MAILSLOT_OPTION_FLAGS = 0x00000032; > 178 const FILE_VALID_SET_FLAGS = 0x00000036; 168 | 179 169 // #ifndef FORCEINLINE < 170 // #if (_MSC_VER >= 1200) < 171 // #define FORCEINLINE __forceinline | 180 const ULONG 172 // #else | 181 FILE_SUPERSEDE = 0x00000000, 173 // #... | 182 FILE_OPEN = 0x00000001, 174 // #endif | 183 FILE_CREATE = 0x00000002, 175 // #endif | 184 FILE_OPEN_IF = 0x00000003, > 185 FILE_OVERWRITE = 0x00000004, > 186 FILE_OVERWRITE_IF = 0x00000005, > 187 FILE_MAXIMUM_DISPOSITION = 0x00000005; 176 | 188 177 // #ifndef DECLSPEC_DEPRECATED < 178 // #if (_MSC_VER >= 1300) && !defined(MIDL_PASS) < 179 // #define DECLSPEC_DEPRECATED __declspec(deprecated) < 180 // #define DEPRECATE_SUPPORTED | 189 const ULONG 181 // #else | 190 FILE_DIRECTORY_FILE = 0x00000001, 182 // #... | 191 FILE_WRITE_THROUGH = 0x00000002, 183 // #... | 192 FILE_SEQUENTIAL_ONLY = 0x00000004, 184 // #endif | 193 FILE_NO_INTERMEDIATE_BUFFERING = 0x00000008, 185 // #endif | 194 FILE_SYNCHRONOUS_IO_ALERT = 0x00000010, 186 < > 195 FILE_SYNCHRONOUS_IO_NONALERT = 0x00000020, 187 alias void* PVOID; | 196 FILE_NON_DIRECTORY_FILE = 0x00000040, 188 deprecated alias void* PVOID64; /* warning: 64-bit */ | 197 FILE_CREATE_TREE_CONNECTION = 0x00000080, 189 < > 198 FILE_COMPLETE_IF_OPLOCKED = 0x00000100, 190 // #if ((_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED)) && !defined(_M_AMD64) | 199 FILE_NO_EA_KNOWLEDGE = 0x00000200, 191 // #define NTAPI __stdcall | 200 FILE_OPEN_FOR_RECOVERY = 0x00000400, 192 // #else | 201 FILE_RANDOM_ACCESS = 0x00000800, 193 // #... | 202 FILE_DELETE_ON_CLOSE = 0x00001000, 194 // #... | 203 FILE_OPEN_BY_FILE_ID = 0x00002000, 195 // #endif | 204 FILE_OPEN_FOR_BACKUP_INTENT = 0x00004000, 196 < > 205 FILE_NO_COMPRESSION = 0x00008000, 197 // #if !defined(_NTSYSTEM_) | 206 FILE_RESERVE_OPFILTER = 0x00100000, 198 // #define NTSYSAPI DECLSPEC_IMPORT | 207 FILE_OPEN_REPARSE_POINT = 0x00200000, 199 // #define NTSYSCALLAPI DECLSPEC_IMPORT | 208 FILE_OPEN_NO_RECALL = 0x00400000, 200 // #else | 209 FILE_OPEN_FOR_FREE_SPACE_QUERY = 0x00800000; 201 // #... < 202 // #if defined(_NTDLLBUILD_) < 203 // #... < 204 // #else < 205 // #... < 206 // #endif < 207 | 210 208 // #endif < 209 | 211 > 212 const ACCESS_MASK > 213 FILE_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0x01FF, > 214 FILE_GENERIC_EXECUTE = STANDARD_RIGHTS_EXECUTE | FILE_READ_ATTRIBUTES > 215 | FILE_EXECUTE | SYNCHRONIZE, > 216 FILE_GENERIC_READ = STANDARD_RIGHTS_READ | FILE_READ_DATA > 217 | FILE_READ_ATTRIBUTES | FILE_READ_EA | SYNCHRONI > 218 FILE_GENERIC_WRITE = STANDARD_RIGHTS_WRITE | FILE_WRITE_DATA 210 // #ifndef VOID | 219 | FILE_WRITE_ATTRIBUTES | FILE_WRITE_EA | FILE_AP 211 alias void VOID; | 220 | SYNCHRONIZE; 212 alias char CHAR; < 213 alias short SHORT; < 214 alias int LONG; < 215 // #endif < 216 | 221 > 222 // MinGW: end winddk.h > 223 // MinGW: also in ddk/ntifs.h > 224 const DWORD > 225 FILE_NOTIFY_CHANGE_FILE_NAME = 0x00000001, 217 // #ifndef _MAC | 226 FILE_NOTIFY_CHANGE_DIR_NAME = 0x00000002, 218 alias wchar WCHAR; | 227 FILE_NOTIFY_CHANGE_NAME = 0x00000003, 219 // #else | 228 FILE_NOTIFY_CHANGE_ATTRIBUTES = 0x00000004, 220 < > 229 FILE_NOTIFY_CHANGE_SIZE = 0x00000008, 221 // ... | 230 FILE_NOTIFY_CHANGE_LAST_WRITE = 0x00000010, 222 // #endif | 231 FILE_NOTIFY_CHANGE_LAST_ACCESS = 0x00000020, 223 < > 232 FILE_NOTIFY_CHANGE_CREATION = 0x00000040, 224 alias WCHAR* PWCHAR; | 233 FILE_NOTIFY_CHANGE_EA = 0x00000080, 225 alias WCHAR* LPWCH; | 234 FILE_NOTIFY_CHANGE_SECURITY = 0x00000100, 226 alias WCHAR* PWCH; | 235 FILE_NOTIFY_CHANGE_STREAM_NAME = 0x00000200, 227 alias WCHAR* LPCWCH; | 236 FILE_NOTIFY_CHANGE_STREAM_SIZE = 0x00000400, 228 alias WCHAR* PCWCH; | 237 FILE_NOTIFY_CHANGE_STREAM_WRITE = 0x00000800, 229 alias WCHAR* NWPSTR; | 238 FILE_NOTIFY_VALID_MASK = 0x00000fff; 230 alias WCHAR* LPWSTR; < 231 alias WCHAR* PWSTR; < 232 alias WCHAR* LPUWSTR; < 233 alias WCHAR* PUWSTR; < 234 | 239 > 240 const DWORD > 241 FILE_CASE_SENSITIVE_SEARCH = 0x00000001, > 242 FILE_CASE_PRESERVED_NAMES = 0x00000002, > 243 FILE_UNICODE_ON_DISK = 0x00000004, 235 alias WCHAR* LPCWSTR; | 244 FILE_PERSISTENT_ACLS = 0x00000008, 236 alias WCHAR* PCWSTR; | 245 FILE_FILE_COMPRESSION = 0x00000010, 237 alias WCHAR* LPCUWSTR; | 246 FILE_VOLUME_QUOTAS = 0x00000020, 238 alias WCHAR* PCUWSTR; | 247 FILE_SUPPORTS_SPARSE_FILES = 0x00000040, 239 < > 248 FILE_SUPPORTS_REPARSE_POINTS = 0x00000080, 240 alias CHAR* PCHAR; | 249 FILE_SUPPORTS_REMOTE_STORAGE = 0x00000100, 241 alias CHAR* LPCH; | 250 FS_LFN_APIS = 0x00004000, 242 alias CHAR* PCH; | 251 FILE_VOLUME_IS_COMPRESSED = 0x00008000, 243 < > 252 FILE_SUPPORTS_OBJECT_IDS = 0x00010000, 244 alias CHAR* LPCCH; | 253 FILE_SUPPORTS_ENCRYPTION = 0x00020000, 245 alias CHAR* PCCH; | 254 FILE_NAMED_STREAMS = 0x00040000, 246 alias CHAR* NPSTR; | 255 FILE_READ_ONLY_VOLUME = 0x00080000, 247 alias CHAR* LPSTR; | 256 FILE_SEQUENTIAL_WRITE_ONCE = 0x00100000, 248 alias CHAR* PSTR; | 257 FILE_SUPPORTS_TRANSACTIONS = 0x00200000; 249 alias CHAR* LPCSTR; < 250 alias CHAR* PCSTR; < 251 | 258 > 259 // These are not documented on MSDN > 260 const ACCESS_MASK 252 // #ifdef UNICODE // r_winnt | 261 IO_COMPLETION_QUERY_STATE = 1, > 262 IO_COMPLETION_MODIFY_STATE = 2, > 263 IO_COMPLETION_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 3; > 264 // MinGW: end ntifs.h 253 | 265 254 // #ifndef _TCHAR_DEFINED < 255 alias WCHAR TCHAR; < 256 alias WCHAR* PTCHAR; < 257 alias WCHAR TBYTE; | 266 // MinGW: also in ddk/winddk.h 258 alias WCHAR* PTBYTE; | 267 const DWORD 259 // #define _TCHAR_DEFINED | 268 DUPLICATE_CLOSE_SOURCE = 1, 260 // #endif /* !_TCHAR_DEFINED */ | 269 DUPLICATE_SAME_ACCESS = 2, > 270 DUPLICATE_SAME_ATTRIBUTES = 4; > 271 // MinGW: end winddk.k 261 | 272 262 alias LPWSTR LPTCH; < 263 alias LPWSTR PTCH; < 264 alias LPWSTR PTSTR; | 273 const DWORD 265 alias LPWSTR LPTSTR; | 274 MAILSLOT_NO_MESSAGE = -1, 266 alias LPCWSTR PCTSTR; | 275 MAILSLOT_WAIT_FOREVER = -1; 267 alias LPCWSTR LPCTSTR; < 268 alias LPUWSTR PUTSTR; < 269 alias LPUWSTR LPUTSTR; < 270 alias LPCUWSTR PCUTSTR; < 271 alias LPCUWSTR LPCUTSTR; < 272 alias LPWSTR LP; < 273 // #define __TEXT(quote) L##quote < 274 | 276 > 277 const ACCESS_MASK > 278 PROCESS_TERMINATE = 0x0001, > 279 PROCESS_CREATE_THREAD = 0x0002, > 280 PROCESS_SET_SESSIONID = 0x0004, > 281 PROCESS_VM_OPERATION = 0x0008, > 282 PROCESS_VM_READ = 0x0010, > 283 PROCESS_VM_WRITE = 0x0020, 275 // #else /* UNICODE */ // r_winnt | 284 PROCESS_DUP_HANDLE = 0x0040, 276 < > 285 PROCESS_CREATE_PROCESS = 0x0080, 277 // #ifndef _TCHAR_DEFINED | 286 PROCESS_SET_QUOTA = 0x0100, 278 // ... | 287 PROCESS_SET_INFORMATION = 0x0200, 279 // #... | 288 PROCESS_QUERY_INFORMATION = 0x0400, 280 // #endif /* !_TCHAR_DEFINED */ | 289 PROCESS_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0x0 281 | 290 282 // ... | 291 const ACCESS_MASK 283 // #... | 292 THREAD_TERMINATE = 0x0001, 284 < > 293 THREAD_SUSPEND_RESUME = 0x0002, 285 // #endif /* UNICODE */ // r_winnt | 294 THREAD_GET_CONTEXT = 0x0008, 286 TCHAR[] TEXT(TCHAR[] quote){ return quote; } | 295 THREAD_SET_CONTEXT = 0x0010, 287 < > 296 THREAD_SET_INFORMATION = 0x0020, 288 alias SHORT* PSHORT; | 297 THREAD_QUERY_INFORMATION = 0x0040, 289 alias LONG* PLONG; | 298 THREAD_SET_THREAD_TOKEN = 0x0080, > 299 THREAD_IMPERSONATE = 0x0100, > 300 THREAD_DIRECT_IMPERSONATION = 0x0200, > 301 THREAD_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE|0x3FF 290 | 302 291 // #ifdef STRICT < 292 alias void* HANDLE; < 293 // #define DECLARE_HANDLE(name) struct name##__ { int unused; }; typedef struct < 294 // #else | 303 // These are not documented on MSDN 295 // ... | 304 const THREAD_BASE_PRIORITY_LOWRT = 15; 296 // #... | 305 const THREAD_BASE_PRIORITY_MAX = 2; 297 // #endif | 306 const THREAD_BASE_PRIORITY_MIN = -2; 298 alias HANDLE* PHANDLE; | 307 const THREAD_BASE_PRIORITY_IDLE = -15; 299 | 308 300 alias BYTE FCHAR; | 309 const DWORD EXCEPTION_NONCONTINUABLE = 1; 301 alias WORD FSHORT; | 310 const size_t EXCEPTION_MAXIMUM_PARAMETERS = 15; 302 alias DWORD FLONG; < 303 | 311 > 312 // These are not documented on MSDN 304 // #ifndef _HRESULT_DEFINED | 313 const ACCESS_MASK 305 // #define _HRESULT_DEFINED | 314 MUTANT_QUERY_STATE = 1, 306 alias LONG HRESULT; | 315 MUTANT_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | MUTANT_QUE 307 | 316 308 // #endif // !_HRESULT_DEFINED | 317 const ACCESS_MASK 309 < > 318 TIMER_QUERY_STATE = 1, 310 // #ifdef __cplusplus | 319 TIMER_MODIFY_STATE = 2, 311 // #define EXTERN_C extern "C" | 320 TIMER_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | TIMER_QUER 312 // #else | 321 | TIMER_MODIFY_STATE; 313 // #... < 314 // #endif < 315 | 322 > 323 const SID_IDENTIFIER_AUTHORITY > 324 SECURITY_NULL_SID_AUTHORITY = {[5: 0]}, 316 // #if defined(_WIN32) || defined(_MPPC_) | 325 SECURITY_WORLD_SID_AUTHORITY = {[5: 1]}, 317 < > 326 SECURITY_LOCAL_SID_AUTHORITY = {[5: 2]}, 318 // #ifdef _68K_ | 327 SECURITY_CREATOR_SID_AUTHORITY = {[5: 3]}, 319 // #... | 328 SECURITY_NON_UNIQUE_AUTHORITY = {[5: 4]}, 320 // #else | 329 SECURITY_NT_AUTHORITY = {[5: 5]}, 321 // #define STDMETHODCALLTYPE __stdcall | 330 SECURITY_MANDATORY_LABEL_AUTHORITY = {[5: 6]}; 322 // #endif < 323 // #define STDMETHODVCALLTYPE __cdecl < 324 | 331 > 332 const DWORD > 333 SECURITY_NULL_RID = 0, 325 // #define STDAPICALLTYPE __stdcall | 334 SECURITY_WORLD_RID = 0, 326 // #define STDAPIVCALLTYPE __cdecl | 335 SECURITY_LOCAL_RID = 0, 327 < > 336 SECURITY_CREATOR_OWNER_RID = 0, 328 // #else | 337 SECURITY_CREATOR_GROUP_RID = 1, 329 < > 338 SECURITY_DIALUP_RID = 1, 330 // #... | 339 SECURITY_NETWORK_RID = 2, 331 // #... | 340 SECURITY_BATCH_RID = 3, 332 < > 341 SECURITY_INTERACTIVE_RID = 4, 333 // #... | 342 SECURITY_LOGON_IDS_RID = 5, 334 // #... | 343 SECURITY_SERVICE_RID = 6, 335 < > 344 SECURITY_LOCAL_SYSTEM_RID = 18, 336 // #endif | 345 SECURITY_BUILTIN_DOMAIN_RID = 32, 337 < > 346 SECURITY_PRINCIPAL_SELF_RID = 10, 338 // #define STDAPI EXTERN_C HRESULT STDAPICALLTYPE | 347 SECURITY_CREATOR_OWNER_SERVER_RID = 2, 339 // #define STDAPI_(type) EXTERN_C type STDAPICALLTYPE | 348 SECURITY_CREATOR_GROUP_SERVER_RID = 3, 340 < > 349 SECURITY_LOGON_IDS_RID_COUNT = 3, 341 // #define STDMETHODIMP HRESULT STDMETHODCALLTYPE | 350 SECURITY_ANONYMOUS_LOGON_RID = 7, 342 // #define STDMETHODIMP_(type) type STDMETHODCALLTYPE | 351 SECURITY_PROXY_RID = 8, 343 < > 352 SECURITY_ENTERPRISE_CONTROLLERS_RID = 9, 344 // #define STDAPIV EXTERN_C HRESULT STDAPIVCALLTYPE | 353 SECURITY_SERVER_LOGON_RID = SECURITY_ENTERPRISE_CONTROLLERS_RI 345 // #define STDAPIV_(type) EXTERN_C type STDAPIVCALLTYPE | 354 SECURITY_AUTHENTICATED_USER_RID = 11, 346 < > 355 SECURITY_RESTRICTED_CODE_RID = 12, 347 // #define STDMETHODIMPV HRESULT STDMETHODVCALLTYPE | 356 SECURITY_NT_NON_UNIQUE_RID = 21, 348 // #define STDMETHODIMPV_(type) type STDMETHODVCALLTYPE | 357 SID_REVISION = 1; 349 | 358 350 alias char CCHAR; < 351 alias DWORD LCID; | 359 enum : DWORD { > 360 DOMAIN_USER_RID_ADMIN = 0x01F4, 352 alias PDWORD PLCID; | 361 DOMAIN_USER_RID_GUEST = 0x01F5, 353 alias WORD LANGID; | 362 DOMAIN_GROUP_RID_ADMINS = 0x0200, 354 enum : uint { APPLICATION_ERROR_MASK = 0x20000000 } | 363 DOMAIN_GROUP_RID_USERS = 0x0201, 355 enum : uint { ERROR_SEVERITY_SUCCESS = 0x00000000 } | 364 DOMAIN_ALIAS_RID_ADMINS = 0x0220, 356 enum : uint { ERROR_SEVERITY_INFORMATIONAL = 0x40000000 } | 365 DOMAIN_ALIAS_RID_USERS = 0x0221, 357 enum : uint { ERROR_SEVERITY_WARNING = 0x80000000 } | 366 DOMAIN_ALIAS_RID_GUESTS = 0x0222, 358 enum : uint { ERROR_SEVERITY_ERROR = 0xC0000000 } | 367 DOMAIN_ALIAS_RID_POWER_USERS = 0x0223, 359 < > 368 DOMAIN_ALIAS_RID_ACCOUNT_OPS = 0x0224, 360 // #if defined(_M_IA64) && !defined(MIDL_PASS) | 369 DOMAIN_ALIAS_RID_SYSTEM_OPS = 0x0225, 361 // ... | 370 DOMAIN_ALIAS_RID_PRINT_OPS = 0x0226, 362 // #endif | 371 DOMAIN_ALIAS_RID_BACKUP_OPS = 0x0227, 363 struct _FLOAT128 { | 372 DOMAIN_ALIAS_RID_REPLICATOR = 0x0228 364 __int64 LowPart; < 365 __int64 HighPart; < 366 } | 373 } 367 alias _FLOAT128 FLOAT128; < 368 | 374 > 375 enum : WORD { > 376 SECURITY_MANDATORY_UNTRUSTED_RID = 0, > 377 SECURITY_MANDATORY_LOW_RID = 0x1000, 369 alias FLOAT128* PFLOAT128; | 378 SECURITY_MANDATORY_MEDIUM_RID = 0x2000, > 379 SECURITY_MANDATORY_HIGH_RID = 0x3000, > 380 SECURITY_MANDATORY_SYSTEM_RID = 0x4000, > 381 SECURITY_MANDATORY_PROTECTED_PROCESS_RID = 0x5000, > 382 SECURITY_MANDATORY_MAXIMUM_USER_RID = SECURITY_MANDATORY_SYSTEM_RID 370 | 383 } 371 // #define _ULONGLONG_ < 372 // #if (!defined (_MAC) && (!defined(MIDL_PASS) || defined(__midl)) && (!defined < 373 // ... < 374 | 384 375 // #... < 376 // #else | 385 const TCHAR[] 377 < > 386 SE_CREATE_TOKEN_NAME = "SeCreateTokenPrivilege", 378 // #if defined(_MAC) && defined(_MAC_INT_64) | 387 SE_ASSIGNPRIMARYTOKEN_NAME = "SeAssignPrimaryTokenPrivilege", 379 // ... | 388 SE_LOCK_MEMORY_NAME = "SeLockMemoryPrivilege", 380 < > 389 SE_INCREASE_QUOTA_NAME = "SeIncreaseQuotaPrivilege", 381 // #... | 390 SE_UNSOLICITED_INPUT_NAME = "SeUnsolicitedInputPrivilege", 382 // #else | 391 SE_MACHINE_ACCOUNT_NAME = "SeMachineAccountPrivilege", 383 alias double LONGLONG; | 392 SE_TCB_NAME = "SeTcbPrivilege", 384 alias double ULONGLONG; | 393 SE_SECURITY_NAME = "SeSecurityPrivilege", 385 // #endif //_MAC and int64 | 394 SE_TAKE_OWNERSHIP_NAME = "SeTakeOwnershipPrivilege", 386 < > 395 SE_LOAD_DRIVER_NAME = "SeLoadDriverPrivilege", 387 // #endif | 396 SE_SYSTEM_PROFILE_NAME = "SeSystemProfilePrivilege", 388 < > 397 SE_SYSTEMTIME_NAME = "SeSystemtimePrivilege", 389 alias LONGLONG* PLONGLONG; | 398 SE_PROF_SINGLE_PROCESS_NAME = "SeProfileSingleProcessPrivilege", 390 alias ULONGLONG* PULONGLONG; | 399 SE_INC_BASE_PRIORITY_NAME = "SeIncreaseBasePriorityPrivilege", 391 < > 400 SE_CREATE_PAGEFILE_NAME = "SeCreatePagefilePrivilege", 392 alias LONGLONG USN; | 401 SE_CREATE_PERMANENT_NAME = "SeCreatePermanentPrivilege", 393 < > 402 SE_BACKUP_NAME = "SeBackupPrivilege", 394 // #if defined(MIDL_PASS) | 403 SE_RESTORE_NAME = "SeRestorePrivilege", 395 // ... | 404 SE_SHUTDOWN_NAME = "SeShutdownPrivilege", 396 // #else // MIDL_PASS | 405 SE_DEBUG_NAME = "SeDebugPrivilege", 397 union _LARGE_INTEGER { | 406 SE_AUDIT_NAME = "SeAuditPrivilege", 398 struct _0 { | 407 SE_SYSTEM_ENVIRONMENT_NAME = "SeSystemEnvironmentPrivilege", 399 DWORD LowPart; | 408 SE_CHANGE_NOTIFY_NAME = "SeChangeNotifyPrivilege", 400 LONG HighPart; | 409 SE_REMOTE_SHUTDOWN_NAME = "SeRemoteShutdownPrivilege", 401 } < > 410 SE_CREATE_GLOBAL_NAME = "SeCreateGlobalPrivilege", 402 _0 _; | 411 SE_UNDOCK_NAME = "SeUndockPrivilege", > 412 SE_MANAGE_VOLUME_NAME = "SeManageVolumePrivilege", > 413 SE_IMPERSONATE_NAME = "SeImpersonatePrivilege", > 414 SE_ENABLE_DELEGATION_NAME = "SeEnableDelegationPrivilege", > 415 SE_SYNC_AGENT_NAME = "SeSyncAgentPrivilege", > 416 SE_TRUSTED_CREDMAN_ACCESS_NAME = "SeTrustedCredManAccessPrivilege", > 417 SE_RELABEL_NAME = "SeRelabelPrivilege", > 418 SE_INCREASE_WORKING_SET_NAME = "SeIncreaseWorkingSetPrivilege", > 419 SE_TIME_ZONE_NAME = "SeTimeZonePrivilege", > 420 SE_CREATE_SYMBOLIC_LINK_NAME = "SeCreateSymbolicLinkPrivilege"; 403 | 421 404 struct _1 { < 405 DWORD LowPart; | 422 const DWORD 406 LONG HighPart; < 407 } < 408 _1 u; < 409 < 410 // #endif //MIDL_PASS < 411 LONGLONG QuadPart; < 412 } < 413 alias _LARGE_INTEGER LARGE_INTEGER; < 414 < > 423 SE_GROUP_MANDATORY = 0x00000001, 415 alias LARGE_INTEGER* PLARGE_INTEGER; | 424 SE_GROUP_ENABLED_BY_DEFAULT = 0x00000002, 416 < > 425 SE_GROUP_ENABLED = 0x00000004, 417 // #if defined(MIDL_PASS) | 426 SE_GROUP_OWNER = 0x00000008, 418 // ... | 427 SE_GROUP_USE_FOR_DENY_ONLY = 0x00000010, 419 // #else // MIDL_PASS | 428 SE_GROUP_INTEGRITY = 0x00000020, 420 union _ULARGE_INTEGER { | 429 SE_GROUP_INTEGRITY_ENABLED = 0x00000040, 421 struct _2 { | 430 SE_GROUP_RESOURCE = 0x20000000, 422 DWORD LowPart; | 431 SE_GROUP_LOGON_ID = 0xC0000000; 423 DWORD HighPart; < 424 } | 432 > 433 // Primary language identifiers 425 _2 _; | 434 enum : USHORT { 426 < 427 struct _3 { < 428 DWORD LowPart; < 429 DWORD HighPart; < 430 } < 431 _3 u; < 432 < 433 // #endif //MIDL_PASS < 434 ULONGLONG QuadPart; < 435 } < 436 alias _ULARGE_INTEGER ULARGE_INTEGER; < 437 < 438 alias ULARGE_INTEGER* PULARGE_INTEGER; < 439 < 440 struct _LUID { < 441 DWORD LowPart; < 442 LONG HighPart; < 443 } < 444 alias _LUID LUID; < 445 alias _LUID* PLUID; < 446 < 447 // #define _DWORDLONG_ < 448 alias ULONGLONG DWORDLONG; < 449 alias DWORDLONG* PDWORDLONG; < 450 < 451 // #if defined(MIDL_PASS) || defined(RC_INVOKED) < 452 < 453 // #... < 454 // #... < 455 < 456 // #... < 457 // #... < 458 // #... < 459 < 460 // #elif defined(_M_MRX000) < 461 < 462 // #... < 463 // #... < 464 < 465 // #... < 466 // #... < 467 // #... < 468 < 469 // #if defined (__cplusplus) < 470 // ... < 471 // #endif < 472 < 473 // ... < 474 < 475 // ... < 476 < 477 // ... < 478 < 479 // ... < 480 < 481 // ... < 482 < 483 // #if defined (__cplusplus) < 484 // ... < 485 // #endif < 486 < 487 // #... < 488 // #... < 489 < 490 // #... < 491 // #... < 492 // #... < 493 < 494 // #elif defined(_M_IX86) < 495 < 496 long Int32x32To64(int a, int b) { return (cast(long)a) * b; } < 497 ulong UInt32x32To64(uint a, uint b) { return (cast(ulong)a) * b; } < 498 < 499 extern(Windows) export ULONGLONG Int64ShllMod32( < 500 ULONGLONG Value, < 501 DWORD ShiftCount); < 502 < 503 extern(Windows) export LONGLONG Int64ShraMod32( < 504 LONGLONG Value, < 505 DWORD ShiftCount); < 506 < 507 extern(Windows) export ULONGLONG Int64ShrlMod32( < 508 ULONGLONG Value, < 509 DWORD ShiftCount); < 510 < 511 // #if _MSC_VER >= 1200 < 512 // #pragma warning(push) < 513 // #endif < 514 // #pragma warning(disable:4035) // re-enable below < 515 < 516 // __inline ULONGLONG Int64ShllMod32( ULONGLONG Value, DWORD ShiftCount < 517 < 518 // __inline LONGLONG Int64ShraMod32( LONGLONG Value, DWORD ShiftCount < 519 < 520 // __inline ULONGLONG Int64ShrlMod32( ULONGLONG Value, DWORD ShiftCount < 521 < 522 // #if _MSC_VER >= 1200 < 523 // #pragma warning(pop) < 524 // #else < 525 // #... < 526 // #endif < 527 < 528 // #elif defined(_M_ALPHA) < 529 < 530 // #... < 531 // #... < 532 < 533 // #... < 534 // #... < 535 // #... < 536 < 537 // #elif defined(_M_PPC) < 538 < 539 // #... < 540 // #... < 541 < 542 // #... < 543 // #... < 544 // #... < 545 < 546 // #elif defined(_68K_) || defined(_MPPC_) < 547 < 548 // #... < 549 // #... < 550 < 551 // #... < 552 // #... < 553 // #... < 554 < 555 // #elif defined(_M_IA64) || defined(_M_AMD64) < 556 < 557 // #... < 558 // #... < 559 < 560 // #... < 561 // #... < 562 // #... < 563 < 564 // #else < 565 < 566 // #... < 567 < 568 // #endif < 569 < 570 enum : CHAR { ANSI_NULL = 0 } < 571 enum : WCHAR { UNICODE_NULL = 0 } < 572 enum : WORD { UNICODE_STRING_MAX_BYTES = 65534 } < 573 enum : uint { UNICODE_STRING_MAX_CHARS = 32767 } < 574 alias BYTE BOOLEAN; < 575 alias BOOLEAN* PBOOLEAN; < 576 < 577 struct _LIST_ENTRY { < 578 _LIST_ENTRY *Flink; < 579 _LIST_ENTRY *Blink; < 580 } < 581 alias _LIST_ENTRY LIST_ENTRY; < 582 alias _LIST_ENTRY* PLIST_ENTRY; < 583 alias _LIST_ENTRY* RESTRICTED_POINTERPRLIST_ENTRY; < 584 < 585 struct _SINGLE_LIST_ENTRY { < 586 _SINGLE_LIST_ENTRY *Next; < 587 } < 588 alias _SINGLE_LIST_ENTRY SINGLE_LIST_ENTRY; < 589 alias _SINGLE_LIST_ENTRY* PSINGLE_LIST_ENTRY; < 590 < 591 struct LIST_ENTRY32 { < 592 DWORD Flink; < 593 DWORD Blink; < 594 } < 595 < 596 alias LIST_ENTRY32* PLIST_ENTRY32; < 597 < 598 struct LIST_ENTRY64 { < 599 ULONGLONG Flink; < 600 ULONGLONG Blink; < 601 } < 602 < 603 alias LIST_ENTRY64* PLIST_ENTRY64; < 604 < 605 import win32.guiddef; < 606 < 607 // #ifndef __OBJECTID_DEFINED < 608 // #define __OBJECTID_DEFINED < 609 < 610 struct _OBJECTID { < 611 GUID Lineage; < 612 DWORD Uniquifier; < 613 } < 614 alias _OBJECTID OBJECTID; < 615 < 616 // #endif // !_OBJECTID_DEFINED < 617 < 618 enum : uint { MINCHAR = 0x80 } < 619 enum : uint { MAXCHAR = 0x7f } < 620 enum : uint { MINSHORT = 0x8000 } < 621 enum : uint { MAXSHORT = 0x7fff } < 622 enum : uint { MINLONG = 0x80000000 } < 623 enum : uint { MAXLONG = 0x7fffffff } < 624 enum : uint { MAXBYTE = 0xff } < 625 enum : uint { MAXWORD = 0xffff } < 626 enum : uint { MAXDWORD = 0xffffffff } < 627 < 628 // #define FIELD_OFFSET(type, field) ((LONG)(LONG_PTR)&(((type *)0)->field)) < 629 < 630 // #if(_WIN32_WINNT > 0x0500) < 631 < 632 // #define RTL_FIELD_SIZE(type, field) (sizeof(((type *)0)->field)) < 633 < 634 // #define RTL_SIZEOF_THROUGH_FIELD(type, field) (FIELD_OFFSET(type, field) + RT < 635 < 636 // #define RTL_CONTAINS_FIELD(Struct, Size, Field) ( (((PCHAR)(&(Struct)->Field) < 637 < 638 // #define RTL_NUMBER_OF(A) (sizeof(A)/sizeof((A)[0])) < 639 < 640 // #define RTL_FIELD_TYPE(type, field) (((type*)0)->field) < 641 < 642 // #define RTL_NUMBER_OF_FIELD(type, field) (RTL_NUMBER_OF(RTL_FIELD_TYPE(type, < 643 < 644 // #define RTL_PADDING_BETWEEN_FIELDS(T, F1, F2) ((FIELD_OFFSET(T, F2) > FIELD_O < 645 < 646 // #if defined(__cplusplus) < 647 // #define RTL_CONST_CAST(type) const_cast<type> < 648 // #else < 649 // #... < 650 // #endif < 651 < 652 // #define RTL_BITS_OF(sizeOfArg) (sizeof(sizeOfArg) * 8) < 653 < 654 // #define RTL_BITS_OF_FIELD(type, field) (RTL_BITS_OF(RTL_FIELD_TYPE(type, fiel < 655 < 656 // #endif /* _WIN32_WINNT > 0x0500 */ < 657 < 658 // #define CONTAINING_RECORD(address, type, field) ((type *)( (PCHAR)(address) - < 659 < 660 enum : uint { VER_SERVER_NT = 0x80000000 } < 661 enum : uint { VER_WORKSTATION_NT = 0x40000000 } < 662 enum : uint { VER_SUITE_SMALLBUSINESS = 0x00000001 } < 663 enum : uint { VER_SUITE_ENTERPRISE = 0x00000002 } < 664 enum : uint { VER_SUITE_BACKOFFICE = 0x00000004 } < 665 enum : uint { VER_SUITE_COMMUNICATIONS = 0x00000008 } < 666 enum : uint { VER_SUITE_TERMINAL = 0x00000010 } < 667 enum : uint { VER_SUITE_SMALLBUSINESS_RESTRICTED = 0x00000020 } < 668 enum : uint { VER_SUITE_EMBEDDEDNT = 0x00000040 } < 669 enum : uint { VER_SUITE_DATACENTER = 0x00000080 } < 670 enum : uint { VER_SUITE_SINGLEUSERTS = 0x00000100 } < 671 enum : uint { VER_SUITE_PERSONAL = 0x00000200 } < 672 enum : uint { VER_SUITE_BLADE = 0x00000400 } < 673 < 674 enum : uint { LANG_NEUTRAL = 0x00 } | 435 LANG_NEUTRAL, 675 enum : uint { LANG_INVARIANT = 0x7f } < 676 < 677 enum : uint { LANG_AFRIKAANS = 0x36 } < 678 enum : uint { LANG_ALBANIAN = 0x1c } < 679 enum : uint { LANG_ARABIC = 0x01 } | 436 LANG_ARABIC, 680 enum : uint { LANG_ARMENIAN = 0x2b } < 681 enum : uint { LANG_ASSAMESE = 0x4d } < 682 enum : uint { LANG_AZERI = 0x2c } < 683 enum : uint { LANG_BASQUE = 0x2d } < 684 enum : uint { LANG_BELARUSIAN = 0x23 } < 685 enum : uint { LANG_BENGALI = 0x45 } < 686 enum : uint { LANG_BULGARIAN = 0x02 } | 437 LANG_BULGARIAN, 687 enum : uint { LANG_CATALAN = 0x03 } | 438 LANG_CATALAN, 688 enum : uint { LANG_CHINESE = 0x04 } | 439 LANG_CHINESE, 689 enum : uint { LANG_CROATIAN = 0x1a } < 690 enum : uint { LANG_CZECH = 0x05 } | 440 LANG_CZECH, 691 enum : uint { LANG_DANISH = 0x06 } | 441 LANG_DANISH, 692 enum : uint { LANG_DIVEHI = 0x65 } < 693 enum : uint { LANG_DUTCH = 0x13 } < > 442 LANG_GERMAN, > 443 LANG_GREEK, 694 enum : uint { LANG_ENGLISH = 0x09 } | 444 LANG_ENGLISH, 695 enum : uint { LANG_ESTONIAN = 0x25 } < 696 enum : uint { LANG_FAEROESE = 0x38 } < 697 enum : uint { LANG_FARSI = 0x29 } < > 445 LANG_SPANISH, 698 enum : uint { LANG_FINNISH = 0x0b } | 446 LANG_FINNISH, 699 enum : uint { LANG_FRENCH = 0x0c } | 447 LANG_FRENCH, 700 enum : uint { LANG_GALICIAN = 0x56 } < 701 enum : uint { LANG_GEORGIAN = 0x37 } < 702 enum : uint { LANG_GERMAN = 0x07 } < 703 enum : uint { LANG_GREEK = 0x08 } < 704 enum : uint { LANG_GUJARATI = 0x47 } < 705 enum : uint { LANG_HEBREW = 0x0d } | 448 LANG_HEBREW, 706 enum : uint { LANG_HINDI = 0x39 } < 707 enum : uint { LANG_HUNGARIAN = 0x0e } | 449 LANG_HUNGARIAN, 708 enum : uint { LANG_ICELANDIC = 0x0f } | 450 LANG_ICELANDIC, 709 enum : uint { LANG_INDONESIAN = 0x21 } < 710 enum : uint { LANG_ITALIAN = 0x10 } | 451 LANG_ITALIAN, 711 enum : uint { LANG_JAPANESE = 0x11 } | 452 LANG_JAPANESE, 712 enum : uint { LANG_KANNADA = 0x4b } < 713 enum : uint { LANG_KASHMIRI = 0x60 } < 714 enum : uint { LANG_KAZAK = 0x3f } < 715 enum : uint { LANG_KONKANI = 0x57 } < 716 enum : uint { LANG_KOREAN = 0x12 } | 453 LANG_KOREAN, 717 enum : uint { LANG_KYRGYZ = 0x40 } < 718 enum : uint { LANG_LATVIAN = 0x26 } < 719 enum : uint { LANG_LITHUANIAN = 0x27 } < 720 enum : uint { LANG_MACEDONIAN = 0x2f } < 721 enum : uint { LANG_MALAY = 0x3e } < 722 enum : uint { LANG_MALAYALAM = 0x4c } < 723 enum : uint { LANG_MANIPURI = 0x58 } < 724 enum : uint { LANG_MARATHI = 0x4e } < 725 enum : uint { LANG_MONGOLIAN = 0x50 } < 726 enum : uint { LANG_NEPALI = 0x61 } < > 454 LANG_DUTCH, 727 enum : uint { LANG_NORWEGIAN = 0x14 } | 455 LANG_NORWEGIAN, 728 enum : uint { LANG_ORIYA = 0x48 } < 729 enum : uint { LANG_POLISH = 0x15 } | 456 LANG_POLISH, 730 enum : uint { LANG_PORTUGUESE = 0x16 } | 457 LANG_PORTUGUESE, // = 0x16 731 enum : uint { LANG_PUNJABI = 0x46 } < 732 enum : uint { LANG_ROMANIAN = 0x18 } | 458 LANG_ROMANIAN = 0x18, 733 enum : uint { LANG_RUSSIAN = 0x19 } | 459 LANG_RUSSIAN, 734 enum : uint { LANG_SANSKRIT = 0x4f } < > 460 LANG_CROATIAN, // = 0x1A 735 enum : uint { LANG_SERBIAN = 0x1a } | 461 LANG_SERBIAN = 0x1A, 736 enum : uint { LANG_SINDHI = 0x59 } < > 462 LANG_BOSNIAN = 0x1A, 737 enum : uint { LANG_SLOVAK = 0x1b } | 463 LANG_SLOVAK, 738 enum : uint { LANG_SLOVENIAN = 0x24 } < 739 enum : uint { LANG_SPANISH = 0x0a } < 740 enum : uint { LANG_SWAHILI = 0x41 } < > 464 LANG_ALBANIAN, 741 enum : uint { LANG_SWEDISH = 0x1d } | 465 LANG_SWEDISH, 742 enum : uint { LANG_SYRIAC = 0x5a } < 743 enum : uint { LANG_TAMIL = 0x49 } < 744 enum : uint { LANG_TATAR = 0x44 } < 745 enum : uint { LANG_TELUGU = 0x4a } < 746 enum : uint { LANG_THAI = 0x1e } | 466 LANG_THAI, 747 enum : uint { LANG_TURKISH = 0x1f } | 467 LANG_TURKISH, > 468 LANG_URDU, > 469 LANG_INDONESIAN, 748 enum : uint { LANG_UKRAINIAN = 0x22 } | 470 LANG_UKRAINIAN, 749 enum : uint { LANG_URDU = 0x20 } < 750 enum : uint { LANG_UZBEK = 0x43 } < > 471 LANG_BELARUSIAN, > 472 LANG_SLOVENIAN, > 473 LANG_ESTONIAN, > 474 LANG_LATVIAN, > 475 LANG_LITHUANIAN, // = 0x27 > 476 LANG_FARSI = 0x29, > 477 LANG_PERSIAN = 0x29, 751 enum : uint { LANG_VIETNAMESE = 0x2a } | 478 LANG_VIETNAMESE, > 479 LANG_ARMENIAN, > 480 LANG_AZERI, > 481 LANG_BASQUE, > 482 LANG_LOWER_SORBIAN, // = 0x2E > 483 LANG_UPPER_SORBIAN = 0x2E, > 484 LANG_MACEDONIAN, // = 0x2F > 485 LANG_TSWANA = 0x32, > 486 LANG_XHOSA = 0x34, > 487 LANG_ZULU, > 488 LANG_AFRIKAANS, > 489 LANG_GEORGIAN, > 490 LANG_FAEROESE, > 491 LANG_HINDI, > 492 LANG_MALTESE, > 493 LANG_SAMI, > 494 LANG_IRISH, // = 0x3C > 495 LANG_MALAY = 0x3E, > 496 LANG_KAZAK, > 497 LANG_KYRGYZ, > 498 LANG_SWAHILI, // = 0x41 > 499 LANG_UZBEK = 0x43, > 500 LANG_TATAR, > 501 LANG_BENGALI, > 502 LANG_PUNJABI, > 503 LANG_GUJARATI, > 504 LANG_ORIYA, > 505 LANG_TAMIL, > 506 LANG_TELUGU, > 507 LANG_KANNADA, > 508 LANG_MALAYALAM, > 509 LANG_ASSAMESE, > 510 LANG_MARATHI, > 511 LANG_SANSKRIT, > 512 LANG_MONGOLIAN, > 513 LANG_TIBETAN, > 514 LANG_WELSH, > 515 LANG_KHMER, > 516 LANG_LAO, // = 0x54 > 517 LANG_GALICIAN = 0x56, > 518 LANG_KONKANI, > 519 LANG_MANIPURI, > 520 LANG_SINDHI, > 521 LANG_SYRIAC, > 522 LANG_SINHALESE, // = 0x5B > 523 LANG_INUKTITUT = 0x5D, > 524 LANG_AMHARIC, > 525 LANG_TAMAZIGHT, > 526 LANG_KASHMIRI, > 527 LANG_NEPALI, > 528 LANG_FRISIAN, > 529 LANG_PASHTO, > 530 LANG_FILIPINO, > 531 LANG_DIVEHI, // = 0x65 > 532 LANG_HAUSA = 0x68, > 533 LANG_YORUBA = 0x6A, > 534 LANG_QUECHUA, > 535 LANG_SOTHO, > 536 LANG_BASHKIR, > 537 LANG_LUXEMBOURGISH, > 538 LANG_GREENLANDIC, > 539 LANG_IGBO, // = 0x70 > 540 LANG_TIGRIGNA = 0x73, > 541 LANG_YI = 0x78, > 542 LANG_MAPUDUNGUN = 0x7A, > 543 LANG_MOHAWK = 0x7C, > 544 LANG_BRETON = 0x7E, > 545 LANG_UIGHUR = 0x80, > 546 LANG_MAORI, > 547 LANG_OCCITAN, > 548 LANG_CORSICAN, > 549 LANG_ALSATIAN, > 550 LANG_YAKUT, > 551 LANG_KICHE, > 552 LANG_KINYARWANDA, > 553 LANG_WOLOF, // = 0x88 > 554 LANG_DARI = 0x8C, > 555 LANG_MALAGASY, // = 0x8D 752 | 556 > 557 LANG_SERBIAN_NEUTRAL = 0x7C1A, > 558 LANG_BOSNIAN_NEUTRAL = 0x781A, > 559 > 560 LANG_INVARIANT = 0x7F > 561 } > 562 > 563 > 564 // Sublanguage identifiers > 565 enum : USHORT { 753 enum : uint { SUBLANG_NEUTRAL = 0x00 } | 566 SUBLANG_NEUTRAL, 754 enum : uint { SUBLANG_DEFAULT = 0x01 } | 567 SUBLANG_DEFAULT, 755 enum : uint { SUBLANG_SYS_DEFAULT = 0x02 } | 568 SUBLANG_SYS_DEFAULT, > 569 SUBLANG_CUSTOM_DEFAULT, // = 3 > 570 SUBLANG_UI_CUSTOM_DEFAULT = 3, > 571 SUBLANG_CUSTOM_UNSPECIFIED, // = 4 756 | 572 > 573 SUBLANG_AFRIKAANS_SOUTH_AFRICA = 1, > 574 SUBLANG_ALBANIAN_ALBANIA = 1, > 575 SUBLANG_ALSATIAN_FRANCE = 1, > 576 SUBLANG_AMHARIC_ETHIOPIA = 1, > 577 757 enum : uint { SUBLANG_ARABIC_SAUDI_ARABIA = 0x01 } | 578 SUBLANG_ARABIC_SAUDI_ARABIA = 1, 758 enum : uint { SUBLANG_ARABIC_IRAQ = 0x02 } | 579 SUBLANG_ARABIC_IRAQ, 759 enum : uint { SUBLANG_ARABIC_EGYPT = 0x03 } | 580 SUBLANG_ARABIC_EGYPT, 760 enum : uint { SUBLANG_ARABIC_LIBYA = 0x04 } | 581 SUBLANG_ARABIC_LIBYA, 761 enum : uint { SUBLANG_ARABIC_ALGERIA = 0x05 } | 582 SUBLANG_ARABIC_ALGERIA, 762 enum : uint { SUBLANG_ARABIC_MOROCCO = 0x06 } | 583 SUBLANG_ARABIC_MOROCCO, 763 enum : uint { SUBLANG_ARABIC_TUNISIA = 0x07 } | 584 SUBLANG_ARABIC_TUNISIA, 764 enum : uint { SUBLANG_ARABIC_OMAN = 0x08 } | 585 SUBLANG_ARABIC_OMAN, 765 enum : uint { SUBLANG_ARABIC_YEMEN = 0x09 } | 586 SUBLANG_ARABIC_YEMEN, 766 enum : uint { SUBLANG_ARABIC_SYRIA = 0x0a } | 587 SUBLANG_ARABIC_SYRIA, 767 enum : uint { SUBLANG_ARABIC_JORDAN = 0x0b } | 588 SUBLANG_ARABIC_JORDAN, 768 enum : uint { SUBLANG_ARABIC_LEBANON = 0x0c } | 589 SUBLANG_ARABIC_LEBANON, 769 enum : uint { SUBLANG_ARABIC_KUWAIT = 0x0d } | 590 SUBLANG_ARABIC_KUWAIT, 770 enum : uint { SUBLANG_ARABIC_UAE = 0x0e } | 591 SUBLANG_ARABIC_UAE, 771 enum : uint { SUBLANG_ARABIC_BAHRAIN = 0x0f } | 592 SUBLANG_ARABIC_BAHRAIN, 772 enum : uint { SUBLANG_ARABIC_QATAR = 0x10 } | 593 SUBLANG_ARABIC_QATAR, // = 16 > 594 > 595 SUBLANG_ARMENIAN_ARMENIA = 1, > 596 SUBLANG_ASSAMESE_INDIA = 1, > 597 773 enum : uint { SUBLANG_AZERI_LATIN = 0x01 } | 598 SUBLANG_AZERI_LATIN = 1, 774 enum : uint { SUBLANG_AZERI_CYRILLIC = 0x02 } | 599 SUBLANG_AZERI_CYRILLIC, // = 2 > 600 > 601 SUBLANG_BASHKIR_RUSSIA = 1, > 602 SUBLANG_BASQUE_BASQUE = 1, > 603 SUBLANG_BELARUSIAN_BELARUS = 1, > 604 SUBLANG_BENGALI_INDIA = 1, > 605 > 606 SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN = 5, > 607 SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC = 8, > 608 > 609 SUBLANG_BRETON_FRANCE = 1, > 610 SUBLANG_BULGARIAN_BULGARIA = 1, > 611 SUBLANG_CATALAN_CATALAN = 1, > 612 775 enum : uint { SUBLANG_CHINESE_TRADITIONAL = 0x01 } | 613 SUBLANG_CHINESE_TRADITIONAL = 1, 776 enum : uint { SUBLANG_CHINESE_SIMPLIFIED = 0x02 } | 614 SUBLANG_CHINESE_SIMPLIFIED, 777 enum : uint { SUBLANG_CHINESE_HONGKONG = 0x03 } | 615 SUBLANG_CHINESE_HONGKONG, 778 enum : uint { SUBLANG_CHINESE_SINGAPORE = 0x04 } | 616 SUBLANG_CHINESE_SINGAPORE, 779 enum : uint { SUBLANG_CHINESE_MACAU = 0x05 } | 617 SUBLANG_CHINESE_MACAU, // = 5 780 enum : uint { SUBLANG_DUTCH = 0x01 } < > 618 > 619 SUBLANG_CORSICAN_FRANCE = 1, > 620 > 621 SUBLANG_CROATIAN_CROATIA = 1, > 622 SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN = 4, > 623 > 624 SUBLANG_CZECH_CZECH_REPUBLIC = 1, > 625 SUBLANG_DANISH_DENMARK = 1, > 626 SUBLANG_DIVEHI_MALDIVES = 1, > 627 > 628 SUBLANG_DUTCH = 1, 781 enum : uint { SUBLANG_DUTCH_BELGIAN = 0x02 } | 629 SUBLANG_DUTCH_BELGIAN, // = 2 > 630 782 enum : uint { SUBLANG_ENGLISH_US = 0x01 } | 631 SUBLANG_ENGLISH_US = 1, 783 enum : uint { SUBLANG_ENGLISH_UK = 0x02 } | 632 SUBLANG_ENGLISH_UK, 784 enum : uint { SUBLANG_ENGLISH_AUS = 0x03 } | 633 SUBLANG_ENGLISH_AUS, 785 enum : uint { SUBLANG_ENGLISH_CAN = 0x04 } | 634 SUBLANG_ENGLISH_CAN, 786 enum : uint { SUBLANG_ENGLISH_NZ = 0x05 } | 635 SUBLANG_ENGLISH_NZ, 787 enum : uint { SUBLANG_ENGLISH_EIRE = 0x06 } | 636 SUBLANG_ENGLISH_EIRE, // = 6 > 637 SUBLANG_ENGLISH_IRELAND = 6, 788 enum : uint { SUBLANG_ENGLISH_SOUTH_AFRICA = 0x07 } | 638 SUBLANG_ENGLISH_SOUTH_AFRICA, 789 enum : uint { SUBLANG_ENGLISH_JAMAICA = 0x08 } | 639 SUBLANG_ENGLISH_JAMAICA, 790 enum : uint { SUBLANG_ENGLISH_CARIBBEAN = 0x09 } | 640 SUBLANG_ENGLISH_CARIBBEAN, 791 enum : uint { SUBLANG_ENGLISH_BELIZE = 0x0a } | 641 SUBLANG_ENGLISH_BELIZE, 792 enum : uint { SUBLANG_ENGLISH_TRINIDAD = 0x0b } | 642 SUBLANG_ENGLISH_TRINIDAD, 793 enum : uint { SUBLANG_ENGLISH_ZIMBABWE = 0x0c } | 643 SUBLANG_ENGLISH_ZIMBABWE, 794 enum : uint { SUBLANG_ENGLISH_PHILIPPINES = 0x0d } | 644 SUBLANG_ENGLISH_PHILIPPINES, // = 13 > 645 SUBLANG_ENGLISH_INDIA = 16, > 646 SUBLANG_ENGLISH_MALAYSIA, > 647 SUBLANG_ENGLISH_SINGAPORE, // = 18 > 648 > 649 SUBLANG_ESTONIAN_ESTONIA = 1, > 650 SUBLANG_FAEROESE_FAROE_ISLANDS = 1, > 651 SUBLANG_FILIPINO_PHILIPPINES = 1, > 652 SUBLANG_FINNISH_FINLAND = 1, > 653 795 enum : uint { SUBLANG_FRENCH = 0x01 } | 654 SUBLANG_FRENCH = 1, 796 enum : uint { SUBLANG_FRENCH_BELGIAN = 0x02 } | 655 SUBLANG_FRENCH_BELGIAN, 797 enum : uint { SUBLANG_FRENCH_CANADIAN = 0x03 } | 656 SUBLANG_FRENCH_CANADIAN, 798 enum : uint { SUBLANG_FRENCH_SWISS = 0x04 } | 657 SUBLANG_FRENCH_SWISS, 799 enum : uint { SUBLANG_FRENCH_LUXEMBOURG = 0x05 } | 658 SUBLANG_FRENCH_LUXEMBOURG, 800 enum : uint { SUBLANG_FRENCH_MONACO = 0x06 } | 659 SUBLANG_FRENCH_MONACO, // = 6 > 660 > 661 SUBLANG_FRISIAN_NETHERLANDS = 1, > 662 SUBLANG_GALICIAN_GALICIAN = 1, > 663 SUBLANG_GEORGIAN_GEORGIA = 1, > 664 801 enum : uint { SUBLANG_GERMAN = 0x01 } | 665 SUBLANG_GERMAN = 1, 802 enum : uint { SUBLANG_GERMAN_SWISS = 0x02 } | 666 SUBLANG_GERMAN_SWISS, 803 enum : uint { SUBLANG_GERMAN_AUSTRIAN = 0x03 } | 667 SUBLANG_GERMAN_AUSTRIAN, 804 enum : uint { SUBLANG_GERMAN_LUXEMBOURG = 0x04 } | 668 SUBLANG_GERMAN_LUXEMBOURG, 805 enum : uint { SUBLANG_GERMAN_LIECHTENSTEIN = 0x05 } | 669 SUBLANG_GERMAN_LIECHTENSTEIN, // = 5 > 670 > 671 SUBLANG_GREEK_GREECE = 1, > 672 SUBLANG_GREENLANDIC_GREENLAND = 1, > 673 SUBLANG_GUJARATI_INDIA = 1, > 674 SUBLANG_HAUSA_NIGERIA = 1, > 675 SUBLANG_HEBREW_ISRAEL = 1, > 676 SUBLANG_HINDI_INDIA = 1, > 677 SUBLANG_HUNGARIAN_HUNGARY = 1, > 678 SUBLANG_ICELANDIC_ICELAND = 1, > 679 SUBLANG_IGBO_NIGERIA = 1, > 680 SUBLANG_INDONESIAN_INDONESIA = 1, > 681 > 682 SUBLANG_INUKTITUT_CANADA = 1, > 683 SUBLANG_INUKTITUT_CANADA_LATIN = 1, > 684 > 685 SUBLANG_IRISH_IRELAND = 1, > 686 806 enum : uint { SUBLANG_ITALIAN = 0x01 } | 687 SUBLANG_ITALIAN = 1, 807 enum : uint { SUBLANG_ITALIAN_SWISS = 0x02 } | 688 SUBLANG_ITALIAN_SWISS, // = 2 808 // #if _WIN32_WINNT >= 0x0501 < > 689 > 690 SUBLANG_JAPANESE_JAPAN = 1, > 691 809 enum : uint { SUBLANG_KASHMIRI_SASIA = 0x02 } | 692 SUBLANG_KASHMIRI_INDIA = 2, 810 // #endif < 811 enum : uint { SUBLANG_KASHMIRI_INDIA = 0x02 } | 693 SUBLANG_KASHMIRI_SASIA = 2, > 694 > 695 SUBLANG_KAZAK_KAZAKHSTAN = 1, > 696 SUBLANG_KHMER_CAMBODIA = 1, > 697 SUBLANG_KICHE_GUATEMALA = 1, > 698 SUBLANG_KINYARWANDA_RWANDA = 1, > 699 SUBLANG_KONKANI_INDIA = 1, 812 enum : uint { SUBLANG_KOREAN = 0x01 } | 700 SUBLANG_KOREAN = 1, > 701 SUBLANG_KYRGYZ_KYRGYZSTAN = 1, > 702 SUBLANG_LAO_LAO_PDR = 1, > 703 SUBLANG_LATVIAN_LATVIA = 1, > 704 813 enum : uint { SUBLANG_LITHUANIAN = 0x01 } | 705 SUBLANG_LITHUANIAN = 1, > 706 SUBLANG_LITHUANIAN_LITHUANIA = 1, > 707 > 708 SUBLANG_LOWER_SORBIAN_GERMANY = 1, > 709 SUBLANG_LUXEMBOURGISH_LUXEMBOURG = 1, > 710 SUBLANG_MACEDONIAN_MACEDONIA = 1, > 711 SUBLANG_MALAYALAM_INDIA = 1, > 712 SUBLANG_MALTESE_MALTA = 1, > 713 SUBLANG_MAORI_NEW_ZEALAND = 1, > 714 SUBLANG_MAPUDUNGUN_CHILE = 1, > 715 SUBLANG_MARATHI_INDIA = 1, > 716 SUBLANG_MOHAWK_MOHAWK = 1, > 717 > 718 SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA = 1, > 719 SUBLANG_MONGOLIAN_PRC, // = 2 > 720 814 enum : uint { SUBLANG_MALAY_MALAYSIA = 0x01 } | 721 SUBLANG_MALAY_MALAYSIA = 1, 815 enum : uint { SUBLANG_MALAY_BRUNEI_DARUSSALAM = 0x02 } | 722 SUBLANG_MALAY_BRUNEI_DARUSSALAM, // = 2 > 723 > 724 SUBLANG_NEPALI_NEPAL = 1, 816 enum : uint { SUBLANG_NEPALI_INDIA = 0x02 } | 725 SUBLANG_NEPALI_INDIA, // = 2 > 726 817 enum : uint { SUBLANG_NORWEGIAN_BOKMAL = 0x01 } | 727 SUBLANG_NORWEGIAN_BOKMAL = 1, 818 enum : uint { SUBLANG_NORWEGIAN_NYNORSK = 0x02 } | 728 SUBLANG_NORWEGIAN_NYNORSK, // = 2 > 729 > 730 SUBLANG_OCCITAN_FRANCE = 1, > 731 SUBLANG_ORIYA_INDIA = 1, > 732 SUBLANG_PASHTO_AFGHANISTAN = 1, > 733 SUBLANG_PERSIAN_IRAN = 1, > 734 SUBLANG_POLISH_POLAND = 1, > 735 > 736 SUBLANG_PORTUGUESE_BRAZILIAN = 1, 819 enum : uint { SUBLANG_PORTUGUESE = 0x02 } | 737 SUBLANG_PORTUGUESE = 2, 820 enum : uint { SUBLANG_PORTUGUESE_BRAZILIAN = 0x01 } | 738 SUBLANG_PORTUGUESE_PORTUGAL, // = 2 > 739 > 740 SUBLANG_PUNJABI_INDIA = 1, > 741 > 742 SUBLANG_QUECHUA_BOLIVIA = 1, > 743 SUBLANG_QUECHUA_ECUADOR, > 744 SUBLANG_QUECHUA_PERU, // = 3 > 745 > 746 SUBLANG_ROMANIAN_ROMANIA = 1, > 747 SUBLANG_ROMANSH_SWITZERLAND = 1, > 748 SUBLANG_RUSSIAN_RUSSIA = 1, > 749 > 750 SUBLANG_SAMI_NORTHERN_NORWAY = 1, > 751 SUBLANG_SAMI_NORTHERN_SWEDEN, > 752 SUBLANG_SAMI_NORTHERN_FINLAND, // = 3 > 753 SUBLANG_SAMI_SKOLT_FINLAND = 3, > 754 SUBLANG_SAMI_INARI_FINLAND = 3, > 755 SUBLANG_SAMI_LULE_NORWAY, > 756 SUBLANG_SAMI_LULE_SWEDEN, > 757 SUBLANG_SAMI_SOUTHERN_NORWAY, > 758 SUBLANG_SAMI_SOUTHERN_SWEDEN, // = 7 > 759 > 760 SUBLANG_SANSKRIT_INDIA = 1, > 761 821 enum : uint { SUBLANG_SERBIAN_LATIN = 0x02 } | 762 SUBLANG_SERBIAN_LATIN = 2, 822 enum : uint { SUBLANG_SERBIAN_CYRILLIC = 0x03 } | 763 SUBLANG_SERBIAN_CYRILLIC, // = 3 > 764 SUBLANG_SERBIAN_BOSNIA_HERZEGOVINA_LATIN = 6, > 765 SUBLANG_SERBIAN_BOSNIA_HERZEGOVINA_CYRILLIC = 7, > 766 > 767 SUBLANG_SINDHI_AFGHANISTAN = 2, > 768 SUBLANG_SINHALESE_SRI_LANKA = 1, > 769 SUBLANG_SOTHO_NORTHERN_SOUTH_AFRICA = 1, > 770 SUBLANG_SLOVAK_SLOVAKIA = 1, > 771 SUBLANG_SLOVENIAN_SLOVENIA = 1, > 772 823 enum : uint { SUBLANG_SPANISH = 0x01 } | 773 SUBLANG_SPANISH = 1, 824 enum : uint { SUBLANG_SPANISH_MEXICAN = 0x02 } | 774 SUBLANG_SPANISH_MEXICAN, 825 enum : uint { SUBLANG_SPANISH_MODERN = 0x03 } | 775 SUBLANG_SPANISH_MODERN, 826 enum : uint { SUBLANG_SPANISH_GUATEMALA = 0x04 } | 776 SUBLANG_SPANISH_GUATEMALA, 827 enum : uint { SUBLANG_SPANISH_COSTA_RICA = 0x05 } | 777 SUBLANG_SPANISH_COSTA_RICA, 828 enum : uint { SUBLANG_SPANISH_PANAMA = 0x06 } | 778 SUBLANG_SPANISH_PANAMA, 829 enum : uint { SUBLANG_SPANISH_DOMINICAN_REPUBLIC = 0x07 } | 779 SUBLANG_SPANISH_DOMINICAN_REPUBLIC, 830 enum : uint { SUBLANG_SPANISH_VENEZUELA = 0x08 } | 780 SUBLANG_SPANISH_VENEZUELA, 831 enum : uint { SUBLANG_SPANISH_COLOMBIA = 0x09 } | 781 SUBLANG_SPANISH_COLOMBIA, 832 enum : uint { SUBLANG_SPANISH_PERU = 0x0a } | 782 SUBLANG_SPANISH_PERU, 833 enum : uint { SUBLANG_SPANISH_ARGENTINA = 0x0b } | 783 SUBLANG_SPANISH_ARGENTINA, 834 enum : uint { SUBLANG_SPANISH_ECUADOR = 0x0c } | 784 SUBLANG_SPANISH_ECUADOR, 835 enum : uint { SUBLANG_SPANISH_CHILE = 0x0d } | 785 SUBLANG_SPANISH_CHILE, 836 enum : uint { SUBLANG_SPANISH_URUGUAY = 0x0e } | 786 SUBLANG_SPANISH_URUGUAY, 837 enum : uint { SUBLANG_SPANISH_PARAGUAY = 0x0f } | 787 SUBLANG_SPANISH_PARAGUAY, 838 enum : uint { SUBLANG_SPANISH_BOLIVIA = 0x10 } | 788 SUBLANG_SPANISH_BOLIVIA, 839 enum : uint { SUBLANG_SPANISH_EL_SALVADOR = 0x11 } | 789 SUBLANG_SPANISH_EL_SALVADOR, 840 enum : uint { SUBLANG_SPANISH_HONDURAS = 0x12 } | 790 SUBLANG_SPANISH_HONDURAS, 841 enum : uint { SUBLANG_SPANISH_NICARAGUA = 0x13 } | 791 SUBLANG_SPANISH_NICARAGUA, 842 enum : uint { SUBLANG_SPANISH_PUERTO_RICO = 0x14 } | 792 SUBLANG_SPANISH_PUERTO_RICO, > 793 SUBLANG_SPANISH_US, // = 21 > 794 843 enum : uint { SUBLANG_SWEDISH = 0x01 } | 795 SUBLANG_SWEDISH = 1, > 796 SUBLANG_SWEDISH_SWEDEN = 1, 844 enum : uint { SUBLANG_SWEDISH_FINLAND = 0x02 } | 797 SUBLANG_SWEDISH_FINLAND, // = 2 > 798 > 799 SUBLANG_SYRIAC = 1, > 800 SUBLANG_TAJIK_TAJIKISTAN = 1, > 801 SUBLANG_TAMAZIGHT_ALGERIA_LATIN = 2, > 802 SUBLANG_TAMIL_INDIA = 1, > 803 SUBLANG_TATAR_RUSSIA = 1, > 804 SUBLANG_TELUGU_INDIA = 1, > 805 SUBLANG_THAI_THAILAND = 1, > 806 SUBLANG_TIBETAN_PRC = 1, > 807 SUBLANG_TIBETAN_BHUTAN = 2, > 808 SUBLANG_TIGRIGNA_ERITREA = 1, > 809 SUBLANG_TSWANA_SOUTH_AFRICA = 1, > 810 SUBLANG_TURKISH_TURKEY = 1, > 811 SUBLANG_TURKMEN_TURKMENISTAN = 1, > 812 SUBLANG_UIGHUR_PRC = 1, > 813 SUBLANG_UKRAINIAN_UKRAINE = 1, > 814 SUBLANG_UPPER_SORBIAN_GERMANY = 1, > 815 845 enum : uint { SUBLANG_URDU_PAKISTAN = 0x01 } | 816 SUBLANG_URDU_PAKISTAN = 1, 846 enum : uint { SUBLANG_URDU_INDIA = 0x02 } | 817 SUBLANG_URDU_INDIA, // = 2 > 818 847 enum : uint { SUBLANG_UZBEK_LATIN = 0x01 } | 819 SUBLANG_UZBEK_LATIN = 1, 848 enum : uint { SUBLANG_UZBEK_CYRILLIC = 0x02 } | 820 SUBLANG_UZBEK_CYRILLIC, // = 2 849 | 821 850 enum : uint { SORT_DEFAULT = 0x0 } < > 822 SUBLANG_VIETNAMESE_VIETNAM = 1, > 823 SUBLANG_WELSH_UNITED_KINGDOM = 1, > 824 SUBLANG_WOLOF_SENEGAL = 1, > 825 SUBLANG_YORUBA_NIGERIA = 1, > 826 SUBLANG_XHOSA_SOUTH_AFRICA = 1, > 827 SUBLANG_YAKUT_RUSSIA = 1, > 828 SUBLANG_YI_PRC = 1, > 829 SUBLANG_ZULU_SOUTH_AFRICA = 1 851 | 830 } > 831 > 832 // This is not documented on MSDN > 833 const NLS_VALID_LOCALE_MASK = 1048575; > 834 > 835 // Sorting identifiers > 836 enum : WORD { > 837 SORT_DEFAULT = 0, 852 enum : uint { SORT_JAPANESE_XJIS = 0x0 } | 838 SORT_JAPANESE_XJIS = 0, 853 enum : uint { SORT_JAPANESE_UNICODE = 0x1 } | 839 SORT_JAPANESE_UNICODE = 1, 854 < 855 enum : uint { SORT_CHINESE_BIG5 = 0x0 } | 840 SORT_CHINESE_BIG5 = 0, 856 enum : uint { SORT_CHINESE_PRCP = 0x0 } | 841 SORT_CHINESE_PRCP = 0, 857 enum : uint { SORT_CHINESE_UNICODE = 0x1 } | 842 SORT_CHINESE_UNICODE = 1, 858 enum : uint { SORT_CHINESE_PRC = 0x2 } | 843 SORT_CHINESE_PRC = 2, 859 enum : uint { SORT_CHINESE_BOPOMOFO = 0x3 } | 844 SORT_CHINESE_BOPOMOFO = 3, 860 < 861 enum : uint { SORT_KOREAN_KSC = 0x0 } | 845 SORT_KOREAN_KSC = 0, 862 enum : uint { SORT_KOREAN_UNICODE = 0x1 } | 846 SORT_KOREAN_UNICODE = 1, 863 < 864 enum : uint { SORT_GERMAN_PHONE_BOOK = 0x1 } | 847 SORT_GERMAN_PHONE_BOOK = 1, 865 < 866 enum : uint { SORT_HUNGARIAN_DEFAULT = 0x0 } | 848 SORT_HUNGARIAN_DEFAULT = 0, 867 enum : uint { SORT_HUNGARIAN_TECHNICAL = 0x1 } | 849 SORT_HUNGARIAN_TECHNICAL = 1, 868 < 869 enum : uint { SORT_GEORGIAN_TRADITIONAL = 0x0 } | 850 SORT_GEORGIAN_TRADITIONAL = 0, 870 enum : uint { SORT_GEORGIAN_MODERN = 0x1 } | 851 SORT_GEORGIAN_MODERN = 1 871 | 852 } > 853 872 WORD MAKELANGID(USHORT p, USHORT s) { return (((cast(WORD)(s)) << 10) | cast(WOR | 854 WORD MAKELANGID(USHORT p, USHORT s) { return cast(WORD)((s << 10) | p); } 873 WORD PRIMARYLANGID(WORD lgid) { return lgid & 0x3ff; } | 855 WORD PRIMARYLANGID(WORD lgid) { return cast(WORD)(lgid & 0x3FF); } 874 WORD SUBLANGID(WORD lgid) { return lgid >>> 10; } | 856 WORD SUBLANGID(WORD lgid) { return cast(WORD)(lgid >>> 10); } 875 | 857 876 enum : uint { NLS_VALID_LOCALE_MASK = 0x000fffff } < 877 < 878 DWORD MAKELCID(WORD lgid, WORD srtid) { return ((cast(DWORD)srtid) << 16) | (cas | 858 DWORD MAKELCID(WORD lgid, WORD srtid) { return (cast(DWORD) srtid << 16) | cast( > 859 // ??? 879 DWORD MAKESORTLCID(WORD lgid, WORD srtid, WORD ver) { return (MAKELCID(lgid, srt | 860 //DWORD MAKESORTLCID(WORD lgid, WORD srtid, WORD ver) { return (MAKELCID(lgid, s 880 WORD LANGIDFROMLCID(LCID lcid) { return lcid; } | 861 WORD LANGIDFROMLCID(LCID lcid) { return cast(WORD) lcid; } 881 WORD SORTIDFROMLCID(LCID lcid) { return (cast(DWORD)lcid >>> 16) & 0xf; } | 862 WORD SORTIDFROMLCID(LCID lcid) { return cast(WORD) ((lcid >>> 16) & 0x0F); } 882 WORD SORTVERSIONFROMLCID(LCID lcid) { return (cast(DWORD)lcid >>> 20) & 0xf; } | 863 WORD SORTVERSIONFROMLCID(LCID lcid) { return cast(WORD) ((lcid >>> 20) & 0x0F); 883 | 864 884 enum : uint { LANG_SYSTEM_DEFAULT = (SUBLANG_SYS_DEFAULT << 10) | LANG_NEUTRAL } | 865 const WORD LANG_SYSTEM_DEFAULT = (SUBLANG_SYS_DEFAULT << 10) | LANG_NEUTRAL; 885 enum : uint { LANG_USER_DEFAULT = (SUBLANG_DEFAULT << 10) | LANG_NEUTRAL } | 866 const WORD LANG_USER_DEFAULT = (SUBLANG_DEFAULT << 10) | LANG_NEUTRAL; 886 < 887 enum : uint { LOCALE_SYSTEM_DEFAULT = (SORT_DEFAULT << 16) | LANG_SYSTEM_DEFAULT < 888 enum : uint { LOCALE_USER_DEFAULT = (SORT_DEFAULT << 16) | LANG_USER_DEFAULT } | 867 const DWORD LOCALE_NEUTRAL = (SORT_DEFAULT << 16) > 868 | (SUBLANG_NEUTRAL << 10) | LANG_NEUTRAL; 889 | 869 890 enum : uint { LOCALE_NEUTRAL = (SORT_DEFAULT << 16) | (SUBLANG_NEUTRAL << 10) | < > 870 // --- > 871 enum : BYTE { > 872 ACL_REVISION = 2, > 873 ACL_REVISION_DS = 4 891 | 874 } 892 enum : uint { LOCALE_INVARIANT = (SORT_DEFAULT << 16) | (SUBLANG_NEUTRAL << 10) < 893 | 875 894 // #if ! defined(lint) < 895 // #... < 896 // #... < 897 // #... < > 876 // These are not documented on MSDN > 877 enum : BYTE { > 878 ACL_REVISION1 = 1, > 879 ACL_REVISION2, > 880 ACL_REVISION3, > 881 ACL_REVISION4 // = 4 898 | 882 } 899 // #else // lint < 900 | 883 901 // #define UNREFERENCED_PARAMETER(P) { (P) = (P); } < 902 // #define DBG_UNREFERENCED_PARAMETER(P) { (P) = (P); } < 903 // #define DBG_UNREFERENCED_LOCAL_VARIABLE(V) { (V) = (V); } < > 884 const BYTE > 885 MIN_ACL_REVISION = 2, > 886 MAX_ACL_REVISION = 4; 904 | 887 905 // #endif // lint < > 888 /+ > 889 // These aren't necessary for D. > 890 const MINCHAR=0x80; > 891 const MAXCHAR=0x7f; > 892 const MINSHORT=0x8000; > 893 const MAXSHORT=0x7fff; > 894 const MINLONG=0x80000000; > 895 const MAXLONG=0x7fffffff; > 896 const MAXBYTE=0xff; > 897 const MAXWORD=0xffff; > 898 const MAXDWORD=0xffffffff; > 899 +/ 906 | 900 907 // #if (_MSC_VER > 1200) < 908 // #define DEFAULT_UNREACHABLE default: __assume(0) < 909 // #else < > 901 // SYSTEM_INFO.dwProcessorType > 902 enum : DWORD { > 903 PROCESSOR_INTEL_386 = 386, > 904 PROCESSOR_INTEL_486 = 486, > 905 PROCESSOR_INTEL_PENTIUM = 586, > 906 PROCESSOR_MIPS_R4000 = 4000, > 907 PROCESSOR_ALPHA_21064 = 21064, > 908 PROCESSOR_INTEL_IA64 = 2200 910 | 909 } 911 // #... < 912 | 910 913 // #endif < > 911 // SYSTEM_INFO.wProcessorArchitecture > 912 enum : WORD { > 913 PROCESSOR_ARCHITECTURE_INTEL, > 914 PROCESSOR_ARCHITECTURE_MIPS, > 915 PROCESSOR_ARCHITECTURE_ALPHA, > 916 PROCESSOR_ARCHITECTURE_PPC, > 917 PROCESSOR_ARCHITECTURE_SHX, > 918 PROCESSOR_ARCHITECTURE_ARM, > 919 PROCESSOR_ARCHITECTURE_IA64, > 920 PROCESSOR_ARCHITECTURE_ALPHA64, > 921 PROCESSOR_ARCHITECTURE_MSIL, > 922 PROCESSOR_ARCHITECTURE_AMD64, > 923 PROCESSOR_ARCHITECTURE_IA32_ON_WIN64, // = 10 > 924 PROCESSOR_ARCHITECTURE_UNKNOWN = 0xFFFF 914 | 925 } 915 // #ifndef WIN32_NO_STATUS < 916 | 926 917 enum : DWORD { STATUS_WAIT_0 = 0x00000000 } < 918 enum : DWORD { STATUS_ABANDONED_WAIT_0 = 0x00000080 } | 927 // IsProcessorFeaturePresent() 919 enum : DWORD { STATUS_USER_APC = 0x000000C0 } | 928 enum : DWORD { 920 enum : DWORD { STATUS_TIMEOUT = 0x00000102 } | 929 PF_FLOATING_POINT_PRECISION_ERRATA, 921 enum : DWORD { STATUS_PENDING = 0x00000103 } | 930 PF_FLOATING_POINT_EMULATED, 922 enum : DWORD { DBG_EXCEPTION_HANDLED = 0x00010001 } | 931 PF_COMPARE_EXCHANGE_DOUBLE, 923 enum : DWORD { DBG_CONTINUE = 0x00010002 } | 932 PF_MMX_INSTRUCTIONS_AVAILABLE, 924 enum : DWORD { STATUS_SEGMENT_NOTIFICATION = 0x40000005 } | 933 PF_PPC_MOVEMEM_64BIT_OK, 925 enum : DWORD { DBG_TERMINATE_THREAD = 0x40010003 } | 934 PF_ALPHA_BYTE_INSTRUCTIONS, 926 enum : DWORD { DBG_TERMINATE_PROCESS = 0x40010004 } | 935 PF_XMMI_INSTRUCTIONS_AVAILABLE, 927 enum : DWORD { DBG_CONTROL_C = 0x40010005 } | 936 PF_3DNOW_INSTRUCTIONS_AVAILABLE, 928 enum : DWORD { DBG_CONTROL_BREAK = 0x40010008 } | 937 PF_RDTSC_INSTRUCTION_AVAILABLE, 929 enum : DWORD { STATUS_GUARD_PAGE_VIOLATION = 0x80000001 } | 938 PF_PAE_ENABLED, 930 enum : DWORD { STATUS_DATATYPE_MISALIGNMENT = 0x80000002 } | 939 PF_XMMI64_INSTRUCTIONS_AVAILABLE 931 enum : DWORD { STATUS_BREAKPOINT = 0x80000003 } < 932 enum : DWORD { STATUS_SINGLE_STEP = 0x80000004 } < 933 enum : DWORD { DBG_EXCEPTION_NOT_HANDLED = 0x80010001 } < 934 enum : DWORD { STATUS_ACCESS_VIOLATION = 0xC0000005 } < 935 enum : DWORD { STATUS_IN_PAGE_ERROR = 0xC0000006 } < 936 enum : DWORD { STATUS_INVALID_HANDLE = 0xC0000008 } < 937 enum : DWORD { STATUS_NO_MEMORY = 0xC0000017 } < 938 enum : DWORD { STATUS_ILLEGAL_INSTRUCTION = 0xC000001D } < 939 enum : DWORD { STATUS_NONCONTINUABLE_EXCEPTION = 0xC0000025 } < 940 enum : DWORD { STATUS_INVALID_DISPOSITION = 0xC0000026 } < 941 enum : DWORD { STATUS_ARRAY_BOUNDS_EXCEEDED = 0xC000008C } < 942 enum : DWORD { STATUS_FLOAT_DENORMAL_OPERAND = 0xC000008D } < 943 enum : DWORD { STATUS_FLOAT_DIVIDE_BY_ZERO = 0xC000008E } < 944 enum : DWORD { STATUS_FLOAT_INEXACT_RESULT = 0xC000008F } < 945 enum : DWORD { STATUS_FLOAT_INVALID_OPERATION = 0xC0000090 } < 946 enum : DWORD { STATUS_FLOAT_OVERFLOW = 0xC0000091 } < 947 enum : DWORD { STATUS_FLOAT_STACK_CHECK = 0xC0000092 } < 948 enum : DWORD { STATUS_FLOAT_UNDERFLOW = 0xC0000093 } < 949 enum : DWORD { STATUS_INTEGER_DIVIDE_BY_ZERO = 0xC0000094 } < 950 enum : DWORD { STATUS_INTEGER_OVERFLOW = 0xC0000095 } < 951 enum : DWORD { STATUS_PRIVILEGED_INSTRUCTION = 0xC0000096 } < 952 enum : DWORD { STATUS_STACK_OVERFLOW = 0xC00000FD } < 953 enum : DWORD { STATUS_CONTROL_C_EXIT = 0xC000013A } < 954 enum : DWORD { STATUS_FLOAT_MULTIPLE_FAULTS = 0xC00002B4 } < 955 enum : DWORD { STATUS_FLOAT_MULTIPLE_TRAPS = 0xC00002B5 } < 956 enum : DWORD { STATUS_REG_NAT_CONSUMPTION = 0xC00002C9 } < 957 // #if defined(STATUS_SUCCESS) || (_WIN32_WINNT > 0x0500) || (_WIN32_FUSION >= 0 < 958 enum : DWORD { STATUS_SXS_EARLY_DEACTIVATION = 0xC015000F } < 959 enum : DWORD { STATUS_SXS_INVALID_DEACTIVATION = 0xC0150010 } < 960 // #endif < 961 | 940 } 962 // #endif < 963 enum : uint { MAXIMUM_WAIT_OBJECTS = 64 } < 964 | 941 965 alias MAXCHAR MAXIMUM_SUSPEND_COUNT; < > 942 // MinGW: also in ddk/ntifs.h > 943 enum : DWORD { > 944 FILE_ACTION_ADDED = 1, > 945 FILE_ACTION_REMOVED, > 946 FILE_ACTION_MODIFIED, > 947 FILE_ACTION_RENAMED_OLD_NAME, > 948 FILE_ACTION_RENAMED_NEW_NAME, > 949 FILE_ACTION_ADDED_STREAM, > 950 FILE_ACTION_REMOVED_STREAM, > 951 FILE_ACTION_MODIFIED_STREAM, > 952 FILE_ACTION_REMOVED_BY_DELETE, > 953 FILE_ACTION_ID_NOT_TUNNELLED, > 954 FILE_ACTION_TUNNELLED_ID_COLLISION // = 11 966 | 955 } 967 alias ULONG_PTR KSPIN_LOCK; < 968 alias KSPIN_LOCK* PKSPIN_LOCK; < > 956 // MinGW: end ntifs.h 969 | 957 970 // #if defined(_AMD64_) < > 958 const DWORD > 959 HEAP_NO_SERIALIZE = 0x01, > 960 HEAP_GROWABLE = 0x02, > 961 HEAP_GENERATE_EXCEPTIONS = 0x04, > 962 HEAP_ZERO_MEMORY = 0x08, > 963 HEAP_REALLOC_IN_PLACE_ONLY = 0x10, > 964 HEAP_TAIL_CHECKING_ENABLED = 0x20, > 965 HEAP_FREE_CHECKING_ENABLED = 0x40, > 966 HEAP_DISABLE_COALESCE_ON_FREE = 0x80; 971 | 967 972 // #if defined(_M_AMD64) && !defined(RC_INVOKED) && !defined(MIDL_PASS) < 973 < > 968 // These are not documented on MSDN > 969 const HEAP_CREATE_ALIGN_16 = 0; > 970 const HEAP_CREATE_ENABLE_TRACING = 0x020000; > 971 const HEAP_MAXIMUM_TAG = 0x000FFF; > 972 const HEAP_PSEUDO_TAG_FLAG = 0x008000; > 973 const HEAP_TAG_SHIFT = 16; 974 // #... | 974 // ??? > 975 //MACRO #define HEAP_MAKE_TAG_FLAGS(b,o) ((DWORD)((b)+(o)<<16))) 975 | 976 > 977 const ACCESS_MASK > 978 KEY_QUERY_VALUE = 0x000001, > 979 KEY_SET_VALUE = 0x000002, > 980 KEY_CREATE_SUB_KEY = 0x000004, > 981 KEY_ENUMERATE_SUB_KEYS = 0x000008, > 982 KEY_NOTIFY = 0x000010, > 983 KEY_CREATE_LINK = 0x000020, > 984 KEY_WRITE = 0x020006, 976 // ... | 985 KEY_EXECUTE = 0x020019, 977 < > 986 KEY_READ = 0x020019, 978 // #... | 987 KEY_ALL_ACCESS = 0x0F003F; 979 | 988 980 // #... | 989 static if (WINVER >= 0x502) { 981 < > 990 const ACCESS_MASK 982 // ... | 991 KEY_WOW64_64KEY = 0x000100, > 992 KEY_WOW64_32KEY = 0x000200; 983 | 993 } 984 // #... < 985 | 994 986 // ... | 995 const DWORD 987 < > 996 REG_WHOLE_HIVE_VOLATILE = 1, 988 // ... | 997 REG_REFRESH_HIVE = 2, > 998 REG_NO_LAZY_FLUSH = 4; 989 | 999 990 // ... < 991 < > 1000 const DWORD 992 // ... | 1001 REG_OPTION_RESERVED = 0, 993 < > 1002 REG_OPTION_NON_VOLATILE = 0, 994 // #... | 1003 REG_OPTION_VOLATILE = 1, 995 // #... | 1004 REG_OPTION_CREATE_LINK = 2, 996 // #... | 1005 REG_OPTION_BACKUP_RESTORE = 4, 997 // #... | 1006 REG_OPTION_OPEN_LINK = 8, > 1007 REG_LEGAL_OPTION = 15; 998 | 1008 999 // #... < 1000 // #... | 1009 const SECURITY_INFORMATION 1001 < > 1010 OWNER_SECURITY_INFORMATION = 0x00000001, 1002 // ... | 1011 GROUP_SECURITY_INFORMATION = 0x00000002, 1003 < > 1012 DACL_SECURITY_INFORMATION = 0x00000004, 1004 // ... | 1013 SACL_SECURITY_INFORMATION = 0x00000008, 1005 < > 1014 LABEL_SECURITY_INFORMATION = 0x00000010, 1006 // #... | 1015 UNPROTECTED_SACL_SECURITY_INFORMATION = 0x10000000, 1007 // #... | 1016 UNPROTECTED_DACL_SECURITY_INFORMATION = 0x20000000, 1008 < > 1017 PROTECTED_SACL_SECURITY_INFORMATION = 0x40000000, 1009 // ... | 1018 PROTECTED_DACL_SECURITY_INFORMATION = 0x80000000; 1010 | 1019 1011 // ... | 1020 const DWORD MAXIMUM_PROCESSORS = 32; 1012 | 1021 1013 // ... | 1022 // VirtualAlloc(), etc > 1023 // ------------------- 1014 | 1024 1015 // ... < 1016 < > 1025 enum : DWORD { 1017 // ... | 1026 PAGE_NOACCESS = 0x0001, 1018 < > 1027 PAGE_READONLY = 0x0002, 1019 // ... | 1028 PAGE_READWRITE = 0x0004, 1020 < > 1029 PAGE_WRITECOPY = 0x0008, 1021 // ... | 1030 PAGE_EXECUTE = 0x0010, > 1031 PAGE_EXECUTE_READ = 0x0020, > 1032 PAGE_EXECUTE_READWRITE = 0x0040, > 1033 PAGE_EXECUTE_WRITECOPY = 0x0080, > 1034 PAGE_GUARD = 0x0100, > 1035 PAGE_NOCACHE = 0x0200 1022 | 1036 } 1023 // ... < 1024 | 1037 1025 // #... < 1026 // #... < 1027 // #... < 1028 // #... < 1029 // #... | 1038 enum : DWORD { 1030 // #... | 1039 MEM_COMMIT = 0x00001000, 1031 // #... | 1040 MEM_RESERVE = 0x00002000, 1032 // #... | 1041 MEM_DECOMMIT = 0x00004000, 1033 < > 1042 MEM_RELEASE = 0x00008000, 1034 // #endif // defined(_M_AMD64) && !defined(RC_INVOKED) && !defined(MIDL_PASS) | 1043 MEM_FREE = 0x00010000, 1035 < > 1044 MEM_PRIVATE = 0x00020000, 1036 // #if !defined(RC_INVOKED) | 1045 MEM_MAPPED = 0x00040000, > 1046 MEM_RESET = 0x00080000, > 1047 MEM_TOP_DOWN = 0x00100000, > 1048 MEM_WRITE_WATCH = 0x00200000, // MinGW (???): 98/Me > 1049 MEM_PHYSICAL = 0x00400000, > 1050 MEM_4MB_PAGES = 0x80000000 1037 | 1051 } 1038 // #... < 1039 | 1052 1040 // #... < 1041 // #... < 1042 // #... < 1043 // #... < 1044 // #... | 1053 // MinGW: also in ddk/ntifs.h 1045 < > 1054 // CreateFileMapping() 1046 // #... | 1055 const DWORD 1047 < > 1056 SEC_BASED = 0x00200000, 1048 // #endif // !defined(RC_INVOKED) | 1057 SEC_NO_CHANGE = 0x00400000, 1049 < > 1058 SEC_FILE = 0x00800000, 1050 // ... | 1059 SEC_IMAGE = 0x01000000, 1051 < > 1060 SEC_VLM = 0x02000000, 1052 // ... | 1061 SEC_RESERVE = 0x04000000, 1053 < > 1062 SEC_COMMIT = 0x08000000, 1054 // #... | 1063 SEC_NOCACHE = 0x10000000, 1055 < > 1064 MEM_IMAGE = SEC_IMAGE; 1056 // ... | 1065 // MinGW: end ntifs.h 1057 | 1066 1058 // ... | 1067 // ??? 1059 < > 1068 const ACCESS_MASK 1060 // ... | 1069 SECTION_QUERY = 0x000001, 1061 < > 1070 SECTION_MAP_WRITE = 0x000002, 1062 // ... | 1071 SECTION_MAP_READ = 0x000004, 1063 < > 1072 SECTION_MAP_EXECUTE = 0x000008, 1064 // ... | 1073 SECTION_EXTEND_SIZE = 0x000010, > 1074 SECTION_ALL_ACCESS = 0x0F001F; 1065 | 1075 1066 // ... < 1067 < > 1076 // These are not documented on MSDN 1068 // ... | 1077 const MESSAGE_RESOURCE_UNICODE = 1; 1069 < > 1078 const RTL_CRITSECT_TYPE = 0; 1070 // ... | 1079 const RTL_RESOURCE_TYPE = 1; 1071 | 1080 1072 // ... | 1081 // COFF file format > 1082 // ---------------- 1073 | 1083 1074 // #endif // _AMD64_ < 1075 < > 1084 // IMAGE_FILE_HEADER.Characteristics 1076 // #ifdef _ALPHA_ // winnt | 1085 const WORD 1077 // ... | 1086 IMAGE_FILE_RELOCS_STRIPPED = 0x0001, 1078 // #if defined(_M_ALPHA) // winnt | 1087 IMAGE_FILE_EXECUTABLE_IMAGE = 0x0002, 1079 // #... | 1088 IMAGE_FILE_LINE_NUMS_STRIPPED = 0x0004, > 1089 IMAGE_FILE_LOCAL_SYMS_STRIPPED = 0x0008, > 1090 IMAGE_FILE_AGGRESIVE_WS_TRIM = 0x0010, > 1091 IMAGE_FILE_LARGE_ADDRESS_AWARE = 0x0020, > 1092 IMAGE_FILE_BYTES_REVERSED_LO = 0x0080, > 1093 IMAGE_FILE_32BIT_MACHINE = 0x0100, > 1094 IMAGE_FILE_DEBUG_STRIPPED = 0x0200, > 1095 IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP = 0x0400, > 1096 IMAGE_FILE_NET_RUN_FROM_SWAP = 0x0800, 1080 // #endif // winnt | 1097 IMAGE_FILE_SYSTEM = 0x1000, 1081 // #endif // winnt | 1098 IMAGE_FILE_DLL = 0x2000, 1082 < 1083 // #if defined(_M_ALPHA) < 1084 // #... < 1085 // #else < 1086 extern(Windows) export _TEB NtCurrentTeb(); < 1087 // #endif < 1088 < 1089 // #ifdef _ALPHA_ < 1090 < > 1099 IMAGE_FILE_UP_SYSTEM_ONLY = 0x4000, 1091 // #... | 1100 IMAGE_FILE_BYTES_REVERSED_HI = 0x8000; 1092 // #... < 1093 | 1101 > 1102 // IMAGE_FILE_HEADER.Machine 1094 // #if !defined(RC_INVOKED) | 1103 enum : WORD { 1095 < > 1104 IMAGE_FILE_MACHINE_UNKNOWN = 0x0000, 1096 // #... | 1105 IMAGE_FILE_MACHINE_I386 = 0x014C, 1097 < > 1106 IMAGE_FILE_MACHINE_R3000 = 0x0162, 1098 // #... | 1107 IMAGE_FILE_MACHINE_R4000 = 0x0166, 1099 // #... | 1108 IMAGE_FILE_MACHINE_R10000 = 0x0168, 1100 // #... | 1109 IMAGE_FILE_MACHINE_WCEMIPSV2 = 0x0169, 1101 < > 1110 IMAGE_FILE_MACHINE_ALPHA = 0x0184, 1102 // #... | 1111 IMAGE_FILE_MACHINE_SH3 = 0x01A2, 1103 < > 1112 IMAGE_FILE_MACHINE_SH3DSP = 0x01A3, 1104 // #endif | 1113 IMAGE_FILE_MACHINE_SH4 = 0x01A6, 1105 < > 1114 IMAGE_FILE_MACHINE_SH5 = 0x01A8, 1106 // #ifndef _PORTABLE_32BIT_CONTEXT | 1115 IMAGE_FILE_MACHINE_ARM = 0x01C0, 1107 < > 1116 IMAGE_FILE_MACHINE_THUMB = 0x01C2, 1108 // ... | 1117 IMAGE_FILE_MACHINE_AM33 = 0x01D3, 1109 < > 1118 IMAGE_FILE_MACHINE_POWERPC = 0x01F0, 1110 // ... | 1119 IMAGE_FILE_MACHINE_POWERPCFP = 0x01F1, 1111 < > 1120 IMAGE_FILE_MACHINE_IA64 = 0x0200, 1112 // ... | 1121 IMAGE_FILE_MACHINE_MIPS16 = 0x0266, 1113 < > 1122 IMAGE_FILE_MACHINE_MIPSFPU = 0x0366, 1114 // ... | 1123 IMAGE_FILE_MACHINE_MIPSFPU16 = 0x0466, 1115 < > 1124 IMAGE_FILE_MACHINE_EBC = 0x0EBC, 1116 // ... | 1125 IMAGE_FILE_MACHINE_AMD64 = 0x8664, > 1126 IMAGE_FILE_MACHINE_M32R = 0x9041 1117 | 1127 } 1118 // ... < 1119 | 1128 1120 // ... | 1129 // ??? 1121 < > 1130 enum { 1122 // #else | 1131 IMAGE_DOS_SIGNATURE = 0x5A4D, 1123 < > 1132 IMAGE_OS2_SIGNATURE = 0x454E, 1124 // #... | 1133 IMAGE_OS2_SIGNATURE_LE = 0x454C, 1125 < > 1134 IMAGE_VXD_SIGNATURE = 0x454C, 1126 // #endif // _PORTABLE_32BIT_CONTEXT | 1135 IMAGE_NT_SIGNATURE = 0x4550 1127 | 1136 } 1128 // #endif // _ALPHA_ < 1129 | 1137 > 1138 // IMAGE_OPTIONAL_HEADER.Magic 1130 // #ifdef _ALPHA_ | 1139 enum : WORD { 1131 < > 1140 IMAGE_NT_OPTIONAL_HDR32_MAGIC = 0x010B, 1132 // ... | 1141 IMAGE_ROM_OPTIONAL_HDR_MAGIC = 0x0107, > 1142 IMAGE_NT_OPTIONAL_HDR64_MAGIC = 0x020B 1133 | 1143 } 1134 // #endif // _ALPHA_ < 1135 | 1144 1136 // #ifdef _X86_ | 1145 // IMAGE_OPTIONAL_HEADER.Subsystem 1137 < > 1146 enum : WORD { 1138 // #if !defined(MIDL_PASS) | 1147 IMAGE_SUBSYSTEM_UNKNOWN = 0, 1139 // #if !defined(RC_INVOKED) | 1148 IMAGE_SUBSYSTEM_NATIVE, 1140 < > 1149 IMAGE_SUBSYSTEM_WINDOWS_GUI, 1141 // #if _MSC_VER >= 1200 | 1150 IMAGE_SUBSYSTEM_WINDOWS_CUI, // = 3 1142 // #pragma warning(push) | 1151 IMAGE_SUBSYSTEM_OS2_CUI = 5, 1143 // #endif | 1152 IMAGE_SUBSYSTEM_POSIX_CUI = 7, 1144 // #pragma warning(disable:4164) // disable C4164 warning so that apps that < > 1153 IMAGE_SUBSYSTEM_NATIVE_WINDOWS, > 1154 IMAGE_SUBSYSTEM_WINDOWS_CE_GUI, > 1155 IMAGE_SUBSYSTEM_EFI_APPLICATION, > 1156 IMAGE_SUBSYSTEM_EFI_BOOT_SERVICE_DRIVER, > 1157 IMAGE_SUBSYSTEM_EFI_RUNTIME_DRIVER, > 1158 IMAGE_SUBSYSTEM_EFI_ROM, > 1159 IMAGE_SUBSYSTEM_XBOX, // = 14 > 1160 IMAGE_SUBSYSTEM_WINDOWS_BOOT_APPLICATION = 16 1145 | 1161 } 1146 // #ifdef _M_IX86 < 1147 // #pragma function(_enable) < 1148 // #pragma function(_disable) < 1149 // #endif < 1150 | 1162 1151 // #if _MSC_VER >= 1200 < 1152 // #pragma warning(pop) < 1153 // #else < 1154 // #... | 1163 // IMAGE_OPTIONAL_HEADER.DllCharacteristics 1155 // #endif | 1164 const WORD 1156 < > 1165 IMAGE_DLL_CHARACTERISTICS_DYNAMIC_BASE = 0x0040, 1157 // #endif | 1166 IMAGE_DLL_CHARACTERISTICS_FORCE_INTEGRITY = 0x0080, 1158 // #endif | 1167 IMAGE_DLL_CHARACTERISTICS_NX_COMPAT = 0x0100, > 1168 IMAGE_DLLCHARACTERISTICS_NO_ISOLATION = 0x0200, > 1169 IMAGE_DLLCHARACTERISTICS_NO_SEH = 0x0400, > 1170 IMAGE_DLLCHARACTERISTICS_NO_BIND = 0x0800, > 1171 IMAGE_DLLCHARACTERISTICS_WDM_DRIVER = 0x2000, > 1172 IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE = 0x8000; 1159 | 1173 1160 // #if !defined(MIDL_PASS) && defined(_M_IX86) < 1161 // #if _MSC_VER >= 1200 < 1162 // #pragma warning(push) < 1163 // #endif | 1174 // ??? 1164 // #pragma warning (disable:4035) // disable 4035 (function must return s < 1165 PVOID GetFiberData() { asm { mov EAX, FS:[0x10]; mov EAX, [EAX]; } } < 1166 PVOID GetCurrentFiber() { asm { mov EAX, FS:[0x10]; } } | 1175 const IMAGE_SEPARATE_DEBUG_SIGNATURE = 0x4944; 1167 | 1176 1168 // #if _MSC_VER >= 1200 | 1177 const size_t 1169 // #pragma warning(pop) | 1178 IMAGE_NUMBEROF_DIRECTORY_ENTRIES = 16, 1170 // #else | 1179 IMAGE_SIZEOF_ROM_OPTIONAL_HEADER = 56, 1171 // #... | 1180 IMAGE_SIZEOF_STD_OPTIONAL_HEADER = 28, 1172 // #endif | 1181 IMAGE_SIZEOF_NT_OPTIONAL_HEADER = 224, 1173 // #endif | 1182 IMAGE_SIZEOF_SHORT_NAME = 8, 1174 < > 1183 IMAGE_SIZEOF_SECTION_HEADER = 40, 1175 enum : uint { SIZE_OF_80387_REGISTERS = 80 } | 1184 IMAGE_SIZEOF_SYMBOL = 18, 1176 < > 1185 IMAGE_SIZEOF_AUX_SYMBOL = 18, 1177 // #if !defined(RC_INVOKED) | 1186 IMAGE_SIZEOF_RELOCATION = 10, 1178 < > 1187 IMAGE_SIZEOF_BASE_RELOCATION = 8, 1179 enum : uint { CONTEXT_i386 = 0x00010000 } | 1188 IMAGE_SIZEOF_LINENUMBER = 6, 1180 enum : uint { CONTEXT_i486 = 0x00010000 } | 1189 IMAGE_SIZEOF_ARCHIVE_MEMBER_HDR = 60, > 1190 SIZEOF_RFPO_DATA = 16; 1181 | 1191 1182 enum : uint { CONTEXT_CONTROL = CONTEXT_i386 | 0x00000001L } < 1183 enum : uint { CONTEXT_INTEGER = CONTEXT_i386 | 0x00000002L } | 1192 PIMAGE_SECTION_HEADER IMAGE_FIRST_SECTION(PIMAGE_NT_HEADERS h) { 1184 enum : uint { CONTEXT_SEGMENTS = CONTEXT_i386 | 0x00000004L } | 1193 return cast(PIMAGE_SECTION_HEADER) 1185 enum : uint { CONTEXT_FLOATING_POINT = CONTEXT_i386 | 0x00000008L } | 1194 (&h.OptionalHeader + h.FileHeader.SizeOfOptionalHeader); 1186 enum : uint { CONTEXT_DEBUG_REGISTERS = CONTEXT_i386 | 0x00000010L } < 1187 enum : uint { CONTEXT_EXTENDED_REGISTERS = CONTEXT_i386 | 0x00000020L } < 1188 | 1195 } 1189 enum : uint { CONTEXT_FULL = CONTEXT_CONTROL | CONTEXT_INTEGER | CONTEXT_SEGMENT < 1190 | 1196 1191 // #endif < 1192 < > 1197 // ImageDirectoryEntryToDataEx() > 1198 enum : USHORT { > 1199 IMAGE_DIRECTORY_ENTRY_EXPORT = 0, > 1200 IMAGE_DIRECTORY_ENTRY_IMPORT, > 1201 IMAGE_DIRECTORY_ENTRY_RESOURCE, 1193 enum : uint { MAXIMUM_SUPPORTED_EXTENSION = 512 } | 1202 IMAGE_DIRECTORY_ENTRY_EXCEPTION, 1194 < > 1203 IMAGE_DIRECTORY_ENTRY_SECURITY, 1195 struct _FLOATING_SAVE_AREA { | 1204 IMAGE_DIRECTORY_ENTRY_BASERELOC, 1196 DWORD ControlWord; | 1205 IMAGE_DIRECTORY_ENTRY_DEBUG, 1197 DWORD StatusWord; | 1206 IMAGE_DIRECTORY_ENTRY_COPYRIGHT, // = 7 1198 DWORD TagWord; | 1207 IMAGE_DIRECTORY_ENTRY_ARCHITECTURE = 7, 1199 DWORD ErrorOffset; | 1208 IMAGE_DIRECTORY_ENTRY_GLOBALPTR, 1200 DWORD ErrorSelector; | 1209 IMAGE_DIRECTORY_ENTRY_TLS, 1201 DWORD DataOffset; | 1210 IMAGE_DIRECTORY_ENTRY_LOAD_CONFIG, 1202 DWORD DataSelector; | 1211 IMAGE_DIRECTORY_ENTRY_BOUND_IMPORT, 1203 BYTE RegisterArea[SIZE_OF_80387_REGISTERS]; | 1212 IMAGE_DIRECTORY_ENTRY_IAT, 1204 DWORD Cr0NpxState; | 1213 IMAGE_DIRECTORY_ENTRY_DELAY_IMPORT, > 1214 IMAGE_DIRECTORY_ENTRY_COM_DESCRIPTOR, // = 14 1205 } | 1215 } 1206 alias _FLOATING_SAVE_AREA FLOATING_SAVE_AREA; < 1207 | 1216 1208 alias FLOATING_SAVE_AREA* PFLOATING_SAVE_AREA; | 1217 // IMAGE_SECTION_HEADER.Characteristics 1209 < 1210 struct _CONTEXT { < 1211 < 1212 DWORD ContextFlags; < 1213 < 1214 DWORD Dr0; | 1218 const DWORD > 1219 IMAGE_SCN_TYPE_REG = 0x00000000, > 1220 IMAGE_SCN_TYPE_DSECT = 0x00000001, > 1221 IMAGE_SCN_TYPE_NOLOAD = 0x00000002, > 1222 IMAGE_SCN_TYPE_GROUP = 0x00000004, > 1223 IMAGE_SCN_TYPE_NO_PAD = 0x00000008, 1215 DWORD Dr1; | 1224 IMAGE_SCN_TYPE_COPY = 0x00000010, 1216 DWORD Dr2; | 1225 IMAGE_SCN_CNT_CODE = 0x00000020, 1217 DWORD Dr3; | 1226 IMAGE_SCN_CNT_INITIALIZED_DATA = 0x00000040, 1218 DWORD Dr6; | 1227 IMAGE_SCN_CNT_UNINITIALIZED_DATA = 0x00000080, 1219 DWORD Dr7; | 1228 IMAGE_SCN_LNK_OTHER = 0x00000100, 1220 < > 1229 IMAGE_SCN_LNK_INFO = 0x00000200, 1221 FLOATING_SAVE_AREA FloatSave; | 1230 IMAGE_SCN_TYPE_OVER = 0x00000400, 1222 < > 1231 IMAGE_SCN_LNK_REMOVE = 0x00000800, 1223 DWORD SegGs; | 1232 IMAGE_SCN_LNK_COMDAT = 0x00001000, 1224 DWORD SegFs; | 1233 IMAGE_SCN_MEM_FARDATA = 0x00008000, 1225 DWORD SegEs; | 1234 IMAGE_SCN_GPREL = 0x00008000, 1226 DWORD SegDs; | 1235 IMAGE_SCN_MEM_PURGEABLE = 0x00020000, 1227 < > 1236 IMAGE_SCN_MEM_16BIT = 0x00020000, 1228 DWORD Edi; | 1237 IMAGE_SCN_MEM_LOCKED = 0x00040000, 1229 DWORD Esi; | 1238 IMAGE_SCN_MEM_PRELOAD = 0x00080000, 1230 DWORD Ebx; | 1239 IMAGE_SCN_ALIGN_1BYTES = 0x00100000, 1231 DWORD Edx; | 1240 IMAGE_SCN_ALIGN_2BYTES = 0x00200000, 1232 DWORD Ecx; | 1241 IMAGE_SCN_ALIGN_4BYTES = 0x00300000, 1233 DWORD Eax; | 1242 IMAGE_SCN_ALIGN_8BYTES = 0x00400000, 1234 < > 1243 IMAGE_SCN_ALIGN_16BYTES = 0x00500000, 1235 DWORD Ebp; | 1244 IMAGE_SCN_ALIGN_32BYTES = 0x00600000, 1236 DWORD Eip; | 1245 IMAGE_SCN_ALIGN_64BYTES = 0x00700000, 1237 DWORD SegCs; | 1246 IMAGE_SCN_ALIGN_128BYTES = 0x00800000, 1238 DWORD EFlags; | 1247 IMAGE_SCN_ALIGN_256BYTES = 0x00900000, 1239 DWORD Esp; | 1248 IMAGE_SCN_ALIGN_512BYTES = 0x00A00000, 1240 DWORD SegSs; | 1249 IMAGE_SCN_ALIGN_1024BYTES = 0x00B00000, 1241 < > 1250 IMAGE_SCN_ALIGN_2048BYTES = 0x00C00000, 1242 BYTE ExtendedRegisters[MAXIMUM_SUPPORTED_EXTENSION]; | 1251 IMAGE_SCN_ALIGN_4096BYTES = 0x00D00000, 1243 } < > 1252 IMAGE_SCN_ALIGN_8192BYTES = 0x00E00000, 1244 alias _CONTEXT CONTEXT; | 1253 IMAGE_SCN_LNK_NRELOC_OVFL = 0x01000000, 1245 < > 1254 IMAGE_SCN_MEM_DISCARDABLE = 0x02000000, 1246 alias CONTEXT* PCONTEXT; | 1255 IMAGE_SCN_MEM_NOT_CACHED = 0x04000000, 1247 < > 1256 IMAGE_SCN_MEM_NOT_PAGED = 0x08000000, 1248 // #endif //_X86_ | 1257 IMAGE_SCN_MEM_SHARED = 0x10000000, 1249 < > 1258 IMAGE_SCN_MEM_EXECUTE = 0x20000000, 1250 // #ifndef _LDT_ENTRY_DEFINED | 1259 IMAGE_SCN_MEM_READ = 0x40000000, 1251 // #define _LDT_ENTRY_DEFINED | 1260 IMAGE_SCN_MEM_WRITE = 0x80000000; 1252 | 1261 1253 struct _LDT_ENTRY { | 1262 /* The following constants are mostlydocumented at 1254 WORD LimitLow; | 1263 * http://download.microsoft.com/download/1/6/1/161ba512-40e2-4cc9-843a-923 1255 WORD BaseLow; | 1264 * but don't seem to be defined in the HTML docs. 1256 union { < > 1265 */ 1257 struct { | 1266 enum : SHORT { 1258 BYTE BaseMid; | 1267 IMAGE_SYM_UNDEFINED = 0, 1259 BYTE Flags1; | 1268 IMAGE_SYM_ABSOLUTE = -1, 1260 BYTE Flags2; | 1269 IMAGE_SYM_DEBUG = -2 1261 BYTE BaseHi; < 1262 } | 1270 } 1263 | 1271 1264 struct { < > 1272 enum : ubyte { > 1273 IMAGE_SYM_TYPE_NULL, 1265 // DWORD BaseMid : 8; | 1274 IMAGE_SYM_TYPE_VOID, 1266 // DWORD Type : 5; | 1275 IMAGE_SYM_TYPE_CHAR, 1267 // DWORD Dpl : 2; | 1276 IMAGE_SYM_TYPE_SHORT, 1268 // DWORD Pres : 1; | 1277 IMAGE_SYM_TYPE_INT, 1269 // DWORD LimitHi : 4; | 1278 IMAGE_SYM_TYPE_LONG, 1270 // DWORD Sys : 1; | 1279 IMAGE_SYM_TYPE_FLOAT, 1271 // DWORD Reserved_0 : 1; | 1280 IMAGE_SYM_TYPE_DOUBLE, 1272 // DWORD Default_Big : 1; | 1281 IMAGE_SYM_TYPE_STRUCT, 1273 // DWORD Granularity : 1; | 1282 IMAGE_SYM_TYPE_UNION, 1274 // DWORD BaseHi : 8; < > 1283 IMAGE_SYM_TYPE_ENUM, > 1284 IMAGE_SYM_TYPE_MOE, > 1285 IMAGE_SYM_TYPE_BYTE, > 1286 IMAGE_SYM_TYPE_WORD, > 1287 IMAGE_SYM_TYPE_UINT, > 1288 IMAGE_SYM_TYPE_DWORD // = 15 1275 } | 1289 } 1276 < 1277 } < 1278 < 1279 } < 1280 alias _LDT_ENTRY LDT_ENTRY; < 1281 alias _LDT_ENTRY* PLDT_ENTRY; | 1290 const IMAGE_SYM_TYPE_PCODE = 32768; // ??? 1282 | 1291 1283 // #endif | 1292 enum : ubyte { 1284 < > 1293 IMAGE_SYM_DTYPE_NULL, 1285 // #if defined(_MIPS_) | 1294 IMAGE_SYM_DTYPE_POINTER, > 1295 IMAGE_SYM_DTYPE_FUNCTION, > 1296 IMAGE_SYM_DTYPE_ARRAY 1286 | 1297 } 1287 // #... < 1288 // #... < 1289 | 1298 1290 // #if !defined(RC_INVOKED) | 1299 enum : BYTE { 1291 < > 1300 IMAGE_SYM_CLASS_END_OF_FUNCTION = 0xFF, 1292 // #... | 1301 IMAGE_SYM_CLASS_NULL = 0, 1293 < 1294 // #... < 1295 // #... < 1296 // #... < 1297 // #... < 1298 // #... < 1299 < 1300 // #... < 1301 // ... < 1302 < 1303 // #endif < 1304 < 1305 // ... < 1306 < 1307 // ... < 1308 < 1309 // ... < 1310 < > 1302 IMAGE_SYM_CLASS_AUTOMATIC, > 1303 IMAGE_SYM_CLASS_EXTERNAL, > 1304 IMAGE_SYM_CLASS_STATIC, > 1305 IMAGE_SYM_CLASS_REGISTER, > 1306 IMAGE_SYM_CLASS_EXTERNAL_DEF, > 1307 IMAGE_SYM_CLASS_LABEL, > 1308 IMAGE_SYM_CLASS_UNDEFINED_LABEL, > 1309 IMAGE_SYM_CLASS_MEMBER_OF_STRUCT, > 1310 IMAGE_SYM_CLASS_ARGUMENT, > 1311 IMAGE_SYM_CLASS_STRUCT_TAG, > 1312 IMAGE_SYM_CLASS_MEMBER_OF_UNION, > 1313 IMAGE_SYM_CLASS_UNION_TAG, > 1314 IMAGE_SYM_CLASS_TYPE_DEFINITION, > 1315 IMAGE_SYM_CLASS_UNDEFINED_STATIC, > 1316 IMAGE_SYM_CLASS_ENUM_TAG, > 1317 IMAGE_SYM_CLASS_MEMBER_OF_ENUM, > 1318 IMAGE_SYM_CLASS_REGISTER_PARAM, > 1319 IMAGE_SYM_CLASS_BIT_FIELD, // = 18 1311 // ... | 1320 IMAGE_SYM_CLASS_FAR_EXTERNAL = 68, 1312 < 1313 // ... < 1314 < 1315 // ... < 1316 < > 1321 IMAGE_SYM_CLASS_BLOCK = 100, > 1322 IMAGE_SYM_CLASS_FUNCTION, > 1323 IMAGE_SYM_CLASS_END_OF_STRUCT, > 1324 IMAGE_SYM_CLASS_FILE, > 1325 IMAGE_SYM_CLASS_SECTION, 1317 // ... | 1326 IMAGE_SYM_CLASS_WEAK_EXTERNAL,// = 105 > 1327 IMAGE_SYM_CLASS_CLR_TOKEN = 107 1318 | 1328 } 1319 // ... < 1320 | 1329 1321 // ... | 1330 enum : BYTE { > 1331 IMAGE_COMDAT_SELECT_NODUPLICATES = 1, > 1332 IMAGE_COMDAT_SELECT_ANY, > 1333 IMAGE_COMDAT_SELECT_SAME_SIZE, > 1334 IMAGE_COMDAT_SELECT_EXACT_MATCH, > 1335 IMAGE_COMDAT_SELECT_ASSOCIATIVE, > 1336 IMAGE_COMDAT_SELECT_LARGEST, > 1337 IMAGE_COMDAT_SELECT_NEWEST // = 7 1322 | 1338 } 1323 // ... < 1324 | 1339 1325 // ... < 1326 < 1327 // ... < 1328 < 1329 // ... < 1330 < 1331 // ... | 1340 enum : DWORD { > 1341 IMAGE_WEAK_EXTERN_SEARCH_NOLIBRARY = 1, > 1342 IMAGE_WEAK_EXTERN_SEARCH_LIBRARY, > 1343 IMAGE_WEAK_EXTERN_SEARCH_ALIAS 1332 | 1344 } 1333 // ... < 1334 | 1345 1335 // ... < 1336 < 1337 // #... | 1346 enum : WORD { 1338 < > 1347 IMAGE_REL_I386_ABSOLUTE = 0x0000, 1339 // #endif // MIPS | 1348 IMAGE_REL_I386_DIR16 = 0x0001, 1340 < > 1349 IMAGE_REL_I386_REL16 = 0x0002, 1341 // #if defined(_MIPS_) | 1350 IMAGE_REL_I386_DIR32 = 0x0006, 1342 < > 1351 IMAGE_REL_I386_DIR32NB = 0x0007, 1343 // ... | 1352 IMAGE_REL_I386_SEG12 = 0x0009, 1344 < > 1353 IMAGE_REL_I386_SECTION = 0x000A, 1345 // #endif // MIPS | 1354 IMAGE_REL_I386_SECREL = 0x000B, > 1355 IMAGE_REL_I386_TOKEN = 0x000C, > 1356 IMAGE_REL_I386_SECREL7 = 0x000D, > 1357 IMAGE_REL_I386_REL32 = 0x0014 1346 | 1358 } 1347 // #if defined(_PPC_) < 1348 | 1359 1349 // #if defined(_M_PPC) && defined(_MSC_VER) && (_MSC_VER>=1000) < 1350 // ... < 1351 // #... | 1360 enum : WORD { 1352 // #elif defined(_M_PPC) | 1361 IMAGE_REL_AMD64_ABSOLUTE = 0x0000, 1353 // ... | 1362 IMAGE_REL_AMD64_ADDR64 = 0x0001, 1354 // #... | 1363 IMAGE_REL_AMD64_ADDR32 = 0x0002, 1355 // #endif | 1364 IMAGE_REL_AMD64_ADDR32NB = 0x0003, 1356 < > 1365 IMAGE_REL_AMD64_REL32 = 0x0004, 1357 // #... | 1366 IMAGE_REL_AMD64_REL32_1 = 0x0005, 1358 // #... | 1367 IMAGE_REL_AMD64_REL32_2 = 0x0006, 1359 < > 1368 IMAGE_REL_AMD64_REL32_3 = 0x0007, 1360 // #if !defined(RC_INVOKED) | 1369 IMAGE_REL_AMD64_REL32_4 = 0x0008, 1361 < > 1370 IMAGE_REL_AMD64_REL32_5 = 0x0009, 1362 // #... | 1371 IMAGE_REL_AMD64_SECTION = 0x000A, 1363 // #... | 1372 IMAGE_REL_AMD64_SECREL = 0x000B, 1364 // #... | 1373 IMAGE_REL_AMD64_SECREL7 = 0x000C, 1365 // #... | 1374 IMAGE_REL_AMD64_TOKEN = 0x000D, 1366 < > 1375 IMAGE_REL_AMD64_SREL32 = 0x000E, 1367 // #... | 1376 IMAGE_REL_AMD64_PAIR = 0x000F, > 1377 IMAGE_REL_AMD64_SSPAN32 = 0x0010 1368 | 1378 } 1369 // #endif < 1370 | 1379 1371 // ... | 1380 enum : WORD { 1372 < > 1381 IMAGE_REL_IA64_ABSOLUTE = 0x0000, 1373 // ... | 1382 IMAGE_REL_IA64_IMM14 = 0x0001, 1374 < > 1383 IMAGE_REL_IA64_IMM22 = 0x0002, 1375 // ... | 1384 IMAGE_REL_IA64_IMM64 = 0x0003, 1376 < > 1385 IMAGE_REL_IA64_DIR32 = 0x0004, 1377 // ... | 1386 IMAGE_REL_IA64_DIR64 = 0x0005, 1378 < > 1387 IMAGE_REL_IA64_PCREL21B = 0x0006, 1379 // ... | 1388 IMAGE_REL_IA64_PCREL21M = 0x0007, 1380 < > 1389 IMAGE_REL_IA64_PCREL21F = 0x0008, 1381 // ... | 1390 IMAGE_REL_IA64_GPREL22 = 0x0009, 1382 < > 1391 IMAGE_REL_IA64_LTOFF22 = 0x000A, 1383 // ... | 1392 IMAGE_REL_IA64_SECTION = 0x000B, 1384 < > 1393 IMAGE_REL_IA64_SECREL22 = 0x000C, 1385 // ... | 1394 IMAGE_REL_IA64_SECREL64I = 0x000D, 1386 < > 1395 IMAGE_REL_IA64_SECREL32 = 0x000E, 1387 // ... | 1396 IMAGE_REL_IA64_DIR32NB = 0x0010, 1388 < > 1397 IMAGE_REL_IA64_SREL14 = 0x0011, 1389 // ... | 1398 IMAGE_REL_IA64_SREL22 = 0x0012, 1390 < > 1399 IMAGE_REL_IA64_SREL32 = 0x0013, 1391 // ... | 1400 IMAGE_REL_IA64_UREL32 = 0x0014, 1392 < > 1401 IMAGE_REL_IA64_PCREL60X = 0x0015, 1393 // ... | 1402 IMAGE_REL_IA64_PCREL60B = 0x0016, 1394 < > 1403 IMAGE_REL_IA64_PCREL60F = 0x0017, 1395 // ... | 1404 IMAGE_REL_IA64_PCREL60I = 0x0018, 1396 < > 1405 IMAGE_REL_IA64_PCREL60M = 0x0019, 1397 // #endif // defined(_PPC_) | 1406 IMAGE_REL_IA64_IMMGPREL64 = 0x001A, > 1407 IMAGE_REL_IA64_TOKEN = 0x001B, > 1408 IMAGE_REL_IA64_GPREL32 = 0x001C, > 1409 IMAGE_REL_IA64_ADDEND = 0x001F 1398 | 1410 } 1399 // #if defined(_MPPC_) < 1400 | 1411 1401 // #if defined(_M_PPC) && defined(_MSC_VER) && (_MSC_VER>=1000) < 1402 // ... < 1403 // #... | 1412 enum : WORD { 1404 // #elif defined(_M_PPC) | 1413 IMAGE_REL_SH3_ABSOLUTE = 0x0000, 1405 // ... | 1414 IMAGE_REL_SH3_DIRECT16 = 0x0001, 1406 // #... | 1415 IMAGE_REL_SH3_DIRECT32 = 0x0002, 1407 // #endif | 1416 IMAGE_REL_SH3_DIRECT8 = 0x0003, 1408 < > 1417 IMAGE_REL_SH3_DIRECT8_WORD = 0x0004, 1409 // #... | 1418 IMAGE_REL_SH3_DIRECT8_LONG = 0x0005, 1410 // #... | 1419 IMAGE_REL_SH3_DIRECT4 = 0x0006, 1411 < > 1420 IMAGE_REL_SH3_DIRECT4_WORD = 0x0007, 1412 // #if !defined(RC_INVOKED) | 1421 IMAGE_REL_SH3_DIRECT4_LONG = 0x0008, 1413 < > 1422 IMAGE_REL_SH3_PCREL8_WORD = 0x0009, 1414 // #... | 1423 IMAGE_REL_SH3_PCREL8_LONG = 0x000A, 1415 // #... | 1424 IMAGE_REL_SH3_PCREL12_WORD = 0x000B, 1416 // #... | 1425 IMAGE_REL_SH3_STARTOF_SECTION = 0x000C, 1417 // #... | 1426 IMAGE_REL_SH3_SIZEOF_SECTION = 0x000D, 1418 < > 1427 IMAGE_REL_SH3_SECTION = 0x000E, 1419 // #... | 1428 IMAGE_REL_SH3_SECREL = 0x000F, 1420 < > 1429 IMAGE_REL_SH3_DIRECT32_NB = 0x0010, 1421 // #endif | 1430 IMAGE_REL_SH3_GPREL4_LONG = 0x0011, 1422 < > 1431 IMAGE_REL_SH3_TOKEN = 0x0012, 1423 // ... | 1432 IMAGE_REL_SHM_PCRELPT = 0x0013, 1424 < > 1433 IMAGE_REL_SHM_REFLO = 0x0014, 1425 // ... | 1434 IMAGE_REL_SHM_REFHALF = 0x0015, 1426 < > 1435 IMAGE_REL_SHM_RELLO = 0x0016, 1427 // ... | 1436 IMAGE_REL_SHM_RELHALF = 0x0017, 1428 < > 1437 IMAGE_REL_SHM_PAIR = 0x0018, 1429 // ... | 1438 IMAGE_REL_SHM_NOMODE = 0x8000 1430 | 1439 } 1431 // ... < 1432 | 1440 > 1441 enum : WORD { 1433 // ... | 1442 IMAGE_REL_M32R_ABSOLUTE = 0x0000, 1434 < > 1443 IMAGE_REL_M32R_ADDR32 = 0x0001, 1435 // ... | 1444 IMAGE_REL_M32R_ADDR32NB = 0x0002, 1436 < > 1445 IMAGE_REL_M32R_ADDR24 = 0x0003, 1437 // ... | 1446 IMAGE_REL_M32R_GPREL16 = 0x0004, 1438 < > 1447 IMAGE_REL_M32R_PCREL24 = 0x0005, 1439 // ... | 1448 IMAGE_REL_M32R_PCREL16 = 0x0006, 1440 < > 1449 IMAGE_REL_M32R_PCREL8 = 0x0007, 1441 // ... | 1450 IMAGE_REL_M32R_REFHALF = 0x0008, 1442 < > 1451 IMAGE_REL_M32R_REFHI = 0x0009, 1443 // ... | 1452 IMAGE_REL_M32R_REFLO = 0x000A, 1444 < > 1453 IMAGE_REL_M32R_PAIR = 0x000B, 1445 // ... | 1454 IMAGE_REL_M32R_SECTION = 0x000C, 1446 < > 1455 IMAGE_REL_M32R_SECREL = 0x000D, 1447 // ... | 1456 IMAGE_REL_M32R_TOKEN = 0x000E 1448 | 1457 } 1449 // #endif // defined(_MPPC_) < 1450 | 1458 > 1459 enum : WORD { 1451 // #if !defined(__midl) && !defined(GENUTIL) && !defined(_GENIA64_) && defined(_ | 1460 IMAGE_REL_MIPS_ABSOLUTE = 0x0000, 1452 < > 1461 IMAGE_REL_MIPS_REFHALF = 0x0001, 1453 // ... | 1462 IMAGE_REL_MIPS_REFWORD = 0x0002, 1454 // #if defined(_M_IA64) // winnt | 1463 IMAGE_REL_MIPS_JMPADDR = 0x0003, 1455 // #... | 1464 IMAGE_REL_MIPS_REFHI = 0x0004, 1456 // #endif // winnt | 1465 IMAGE_REL_MIPS_REFLO = 0x0005, 1457 < > 1466 IMAGE_REL_MIPS_GPREL = 0x0006, 1458 // #if defined(_M_IA64) | 1467 IMAGE_REL_MIPS_LITERAL = 0x0007, 1459 // #... | 1468 IMAGE_REL_MIPS_SECTION = 0x000A, 1460 // #else | 1469 IMAGE_REL_MIPS_SECREL = 0x000B, 1461 // ... | 1470 IMAGE_REL_MIPS_SECRELLO = 0x000C, 1462 // #endif | 1471 IMAGE_REL_MIPS_SECRELHI = 0x000D, 1463 < > 1472 IMAGE_REL_MIPS_JMPADDR16 = 0x0010, 1464 // #... | 1473 IMAGE_REL_MIPS_REFWORDNB = 0x0022, 1465 // #... | 1474 IMAGE_REL_MIPS_PAIR = 0x0025 1466 | 1475 } 1467 // #endif // !defined(__midl) && !defined(GENUTIL) && !defined(_GENIA64_) && de < 1468 | 1476 1469 // #ifdef _IA64_ < 1470 | 1477 > 1478 enum : WORD { > 1479 IMAGE_REL_ALPHA_ABSOLUTE, 1471 // #if !defined(RC_INVOKED) | 1480 IMAGE_REL_ALPHA_REFLONG, 1472 < 1473 // #... < 1474 < 1475 // #... < 1476 // #... < 1477 // #... < 1478 // #... < 1479 // #... < 1480 // #... < 1481 < 1482 // #... < 1483 // #... < 1484 < > 1481 IMAGE_REL_ALPHA_REFQUAD, > 1482 IMAGE_REL_ALPHA_GPREL32, > 1483 IMAGE_REL_ALPHA_LITERAL, > 1484 IMAGE_REL_ALPHA_LITUSE, > 1485 IMAGE_REL_ALPHA_GPDISP, > 1486 IMAGE_REL_ALPHA_BRADDR, > 1487 IMAGE_REL_ALPHA_HINT, > 1488 IMAGE_REL_ALPHA_INLINE_REFLONG, > 1489 IMAGE_REL_ALPHA_REFHI, > 1490 IMAGE_REL_ALPHA_REFLO, > 1491 IMAGE_REL_ALPHA_PAIR, > 1492 IMAGE_REL_ALPHA_MATCH, > 1493 IMAGE_REL_ALPHA_SECTION, 1485 // #endif // !defined(RC_INVOKED) | 1494 IMAGE_REL_ALPHA_SECREL, > 1495 IMAGE_REL_ALPHA_REFLONGNB, > 1496 IMAGE_REL_ALPHA_SECRELLO, > 1497 IMAGE_REL_ALPHA_SECRELHI // = 18 1486 | 1498 } 1487 // ... < 1488 | 1499 1489 // ... < 1490 < 1491 // ... | 1500 enum : WORD { > 1501 IMAGE_REL_PPC_ABSOLUTE, > 1502 IMAGE_REL_PPC_ADDR64, > 1503 IMAGE_REL_PPC_ADDR32, > 1504 IMAGE_REL_PPC_ADDR24, > 1505 IMAGE_REL_PPC_ADDR16, > 1506 IMAGE_REL_PPC_ADDR14, > 1507 IMAGE_REL_PPC_REL24, > 1508 IMAGE_REL_PPC_REL14, > 1509 IMAGE_REL_PPC_TOCREL16, > 1510 IMAGE_REL_PPC_TOCREL14, > 1511 IMAGE_REL_PPC_ADDR32NB, > 1512 IMAGE_REL_PPC_SECREL, > 1513 IMAGE_REL_PPC_SECTION, > 1514 IMAGE_REL_PPC_IFGLUE, > 1515 IMAGE_REL_PPC_IMGLUE, > 1516 IMAGE_REL_PPC_SECREL16, > 1517 IMAGE_REL_PPC_REFHI, > 1518 IMAGE_REL_PPC_REFLO, > 1519 IMAGE_REL_PPC_PAIR // = 18 1492 | 1520 } 1493 // ... < 1494 | 1521 1495 // ... | 1522 // ??? 1496 < 1497 // ... < 1498 < 1499 // ... < 1500 < 1501 // ... < 1502 < 1503 // ... < 1504 < 1505 // ... < 1506 < 1507 // ... < 1508 < 1509 // ... < 1510 < 1511 // ... < 1512 < 1513 // ... < 1514 < > 1523 const IMAGE_REL_PPC_TYPEMASK = 0x00FF; 1515 // ... | 1524 const IMAGE_REL_PPC_NEG = 0x0100; 1516 < > 1525 const IMAGE_REL_PPC_BRTAKEN = 0x0200; 1517 // ... | 1526 const IMAGE_REL_PPC_BRNTAKEN = 0x0400; > 1527 const IMAGE_REL_PPC_TOCDEFN = 0x0800; 1518 | 1528 1519 // ... < 1520 < 1521 // ... < 1522 < 1523 // ... < 1524 < 1525 // ... < 1526 < 1527 // ... < 1528 < 1529 // ... < 1530 < 1531 // ... < 1532 < 1533 // ... < 1534 < 1535 // ... < 1536 < 1537 // ... < 1538 < 1539 // ... < 1540 < 1541 // #endif // _IA64_ < 1542 < 1543 // #ifdef _IA64_ < 1544 < 1545 // ... < 1546 < 1547 // #endif // _IA64_ < 1548 < 1549 enum : uint { EXCEPTION_NONCONTINUABLE = 0x1 } < 1550 enum : uint { EXCEPTION_MAXIMUM_PARAMETERS = 15 } < 1551 < 1552 struct _EXCEPTION_RECORD { < 1553 DWORD ExceptionCode; < 1554 DWORD ExceptionFlags; < 1555 _EXCEPTION_RECORD *ExceptionRecord; < 1556 PVOID ExceptionAddress; < 1557 DWORD NumberParameters; < 1558 ULONG_PTR ExceptionInformation[EXCEPTION_MAXIMUM_PARAMETERS]; < 1559 } < 1560 alias _EXCEPTION_RECORD EXCEPTION_RECORD; < 1561 < 1562 alias EXCEPTION_RECORD* PEXCEPTION_RECORD; < 1563 < 1564 struct _EXCEPTION_RECORD32 { < 1565 DWORD ExceptionCode; < 1566 DWORD ExceptionFlags; < 1567 DWORD ExceptionRecord; < 1568 DWORD ExceptionAddress; < 1569 DWORD NumberParameters; < 1570 DWORD ExceptionInformation[EXCEPTION_MAXIMUM_PARAMETERS]; < 1571 } < 1572 alias _EXCEPTION_RECORD32 EXCEPTION_RECORD32; < 1573 alias _EXCEPTION_RECORD32* PEXCEPTION_RECORD32; < 1574 < 1575 struct _EXCEPTION_RECORD64 { < 1576 DWORD ExceptionCode; < 1577 DWORD ExceptionFlags; < 1578 DWORD64 ExceptionRecord; < 1579 DWORD64 ExceptionAddress; < 1580 DWORD NumberParameters; < 1581 DWORD __unusedAlignment; < 1582 DWORD64 ExceptionInformation[EXCEPTION_MAXIMUM_PARAMETERS]; < 1583 } < 1584 alias _EXCEPTION_RECORD64 EXCEPTION_RECORD64; < 1585 alias _EXCEPTION_RECORD64* PEXCEPTION_RECORD64; < 1586 < 1587 struct _EXCEPTION_POINTERS { < 1588 PEXCEPTION_RECORD ExceptionRecord; < 1589 PCONTEXT ContextRecord; < 1590 } < 1591 alias _EXCEPTION_POINTERS EXCEPTION_POINTERS; < 1592 alias _EXCEPTION_POINTERS* PEXCEPTION_POINTERS; < 1593 < 1594 alias PVOID PACCESS_TOKEN; < 1595 alias PVOID PSECURITY_DESCRIPTOR; < 1596 alias PVOID PSID; < 1597 < 1598 alias DWORD ACCESS_MASK; < 1599 alias ACCESS_MASK* PACCESS_MASK; < 1600 < 1601 enum : uint { DELETE = 0x00010000 } < 1602 enum : uint { READ_CONTROL = 0x00020000 } < 1603 enum : uint { WRITE_DAC = 0x00040000 } < 1604 enum : uint { WRITE_OWNER = 0x00080000 } < 1605 enum : uint { SYNCHRONIZE = 0x00100000 } < 1606 < 1607 enum : uint { STANDARD_RIGHTS_REQUIRED = 0x000F0000 } < 1608 < 1609 enum : uint { STANDARD_RIGHTS_READ = READ_CONTROL } < 1610 enum : uint { STANDARD_RIGHTS_WRITE = READ_CONTROL } < 1611 enum : uint { STANDARD_RIGHTS_EXECUTE = READ_CONTROL } < 1612 < 1613 enum : uint { STANDARD_RIGHTS_ALL = 0x001F0000 } < 1614 < 1615 enum : uint { SPECIFIC_RIGHTS_ALL = 0x0000FFFF } < 1616 < 1617 enum : uint { ACCESS_SYSTEM_SECURITY = 0x01000000 } < 1618 < 1619 enum : uint { MAXIMUM_ALLOWED = 0x02000000 } < 1620 < 1621 enum : uint { GENERIC_READ = 0x80000000 } < 1622 enum : uint { GENERIC_WRITE = 0x40000000 } < 1623 enum : uint { GENERIC_EXECUTE = 0x20000000 } < 1624 enum : uint { GENERIC_ALL = 0x10000000 } < 1625 < 1626 struct _GENERIC_MAPPING { < 1627 ACCESS_MASK GenericRead; < 1628 ACCESS_MASK GenericWrite; < 1629 ACCESS_MASK GenericExecute; < 1630 ACCESS_MASK GenericAll; < 1631 } < 1632 alias _GENERIC_MAPPING GENERIC_MAPPING; < 1633 < 1634 alias GENERIC_MAPPING* PGENERIC_MAPPING; < 1635 < 1636 align(4): < 1637 < 1638 struct _LUID_AND_ATTRIBUTES { < 1639 LUID Luid; < 1640 DWORD Attributes; < 1641 } < 1642 alias _LUID_AND_ATTRIBUTES LUID_AND_ATTRIBUTES; < 1643 alias _LUID_AND_ATTRIBUTES* PLUID_AND_ATTRIBUTES; < 1644 < 1645 alias LUID_AND_ATTRIBUTES LUID_AND_ATTRIBUTES_ARRAY[ANYSIZE_ARRAY]; < 1646 alias LUID_AND_ATTRIBUTES_ARRAY* PLUID_AND_ATTRIBUTES_ARRAY; < 1647 < 1648 align: < 1649 < 1650 // #ifndef SID_IDENTIFIER_AUTHORITY_DEFINED < 1651 // #define SID_IDENTIFIER_AUTHORITY_DEFINED < 1652 struct _SID_IDENTIFIER_AUTHORITY { < 1653 BYTE Value[6]; < 1654 } < 1655 alias _SID_IDENTIFIER_AUTHORITY SID_IDENTIFIER_AUTHORITY; < 1656 alias _SID_IDENTIFIER_AUTHORITY* PSID_IDENTIFIER_AUTHORITY; < 1657 < 1658 // #endif < 1659 < 1660 // #ifndef SID_DEFINED < 1661 // #define SID_DEFINED < 1662 struct _SID { < 1663 BYTE Revision; < 1664 BYTE SubAuthorityCount; < 1665 SID_IDENTIFIER_AUTHORITY IdentifierAuthority; < 1666 // #ifdef MIDL_PASS < 1667 // ... < 1668 // #else // MIDL_PASS < 1669 DWORD SubAuthority[ANYSIZE_ARRAY]; < 1670 // #endif // MIDL_PASS < 1671 } < 1672 alias _SID SID; < 1673 alias _SID* PISID; < 1674 < 1675 // #endif < 1676 < 1677 enum : uint { SID_REVISION = 1 } < 1678 enum : uint { SID_MAX_SUB_AUTHORITIES = 15 } < 1679 enum : uint { SID_RECOMMENDED_SUB_AUTHORITIES = 1 } < 1680 < 1681 // #ifndef MIDL_PASS < 1682 const uint SECURITY_MAX_SID_SIZE = SID.sizeof - DWORD.sizeof + (SID_MAX_SUB_AUTH < 1683 // #endif // MIDL_PASS < 1684 < 1685 alias int _SID_NAME_USE; < 1686 enum { 1529 enum { 1687 SidTypeUser = 1, | 1530 IMAGE_REL_BASED_ABSOLUTE, 1688 SidTypeGroup, | 1531 IMAGE_REL_BASED_HIGH, 1689 SidTypeDomain, | 1532 IMAGE_REL_BASED_LOW, 1690 SidTypeAlias, | 1533 IMAGE_REL_BASED_HIGHLOW, 1691 SidTypeWellKnownGroup, | 1534 IMAGE_REL_BASED_HIGHADJ, 1692 SidTypeDeletedAccount, | 1535 IMAGE_REL_BASED_MIPS_JMPADDR 1693 SidTypeInvalid, < > 1536 } 1694 SidTypeUnknown, | 1537 // End of constants documented in pecoff.doc 1695 SidTypeComputer, < 1696 } | 1538 1697 alias _SID_NAME_USE SID_NAME_USE; < 1698 alias _SID_NAME_USE* PSID_NAME_USE; < > 1539 const size_t IMAGE_ARCHIVE_START_SIZE = 8; 1699 | 1540 > 1541 const TCHAR[] > 1542 IMAGE_ARCHIVE_START = "!<arch>\n", 1700 struct _SID_AND_ATTRIBUTES { | 1543 IMAGE_ARCHIVE_END = "`\n", 1701 PSID Sid; | 1544 IMAGE_ARCHIVE_PAD = "\n", 1702 DWORD Attributes; | 1545 IMAGE_ARCHIVE_LINKER_MEMBER = "/ ", > 1546 IMAGE_ARCHIVE_LONGNAMES_MEMBER = "// "; 1703 } | 1547 1704 alias _SID_AND_ATTRIBUTES SID_AND_ATTRIBUTES; < 1705 alias _SID_AND_ATTRIBUTES* PSID_AND_ATTRIBUTES; | 1548 const IMAGE_ORDINAL_FLAG32 = 0x80000000; 1706 | 1549 1707 alias SID_AND_ATTRIBUTES SID_AND_ATTRIBUTES_ARRAY[ANYSIZE_ARRAY]; | 1550 ulong IMAGE_ORDINAL64(ulong Ordinal) { return Ordinal & 0xFFFF; } 1708 alias SID_AND_ATTRIBUTES_ARRAY* PSID_AND_ATTRIBUTES_ARRAY; | 1551 uint IMAGE_ORDINAL32(uint Ordinal) { return Ordinal & 0xFFFF; } 1709 | 1552 1710 // #define SECURITY_NULL_SID_AUTHORITY {0,0,0,0,0,0} | 1553 bool IMAGE_SNAP_BY_ORDINAL32(uint Ordinal) { 1711 // #define SECURITY_WORLD_SID_AUTHORITY {0,0,0,0,0,1} | 1554 return (Ordinal & IMAGE_ORDINAL_FLAG32) != 0; 1712 // #define SECURITY_LOCAL_SID_AUTHORITY {0,0,0,0,0,2} < 1713 // #define SECURITY_CREATOR_SID_AUTHORITY {0,0,0,0,0,3} < 1714 // #define SECURITY_NON_UNIQUE_AUTHORITY {0,0,0,0,0,4} < 1715 // #define SECURITY_RESOURCE_MANAGER_AUTHORITY {0,0,0,0,0,9} < 1716 | 1555 } 1717 enum : uint { SECURITY_NULL_RID = 0x00000000 } < 1718 enum : uint { SECURITY_WORLD_RID = 0x00000000 } < 1719 enum : uint { SECURITY_LOCAL_RID = 0x00000000 } < 1720 | 1556 1721 enum : uint { SECURITY_CREATOR_OWNER_RID = 0x00000000 } < 1722 enum : uint { SECURITY_CREATOR_GROUP_RID = 0x00000001 } < > 1557 const ulong IMAGE_ORDINAL_FLAG64 = 0x8000000000000000; 1723 | 1558 1724 enum : uint { SECURITY_CREATOR_OWNER_SERVER_RID = 0x00000002 } < 1725 enum : uint { SECURITY_CREATOR_GROUP_SERVER_RID = 0x00000003 } < > 1559 bool IMAGE_SNAP_BY_ORDINAL64(ulong Ordinal) { > 1560 return (Ordinal & IMAGE_ORDINAL_FLAG64) != 0; 1726 | 1561 } 1727 // #define SECURITY_NT_AUTHORITY {0,0,0,0,0,5} < 1728 | 1562 > 1563 // ??? > 1564 const IMAGE_RESOURCE_NAME_IS_STRING = 0x80000000; > 1565 const IMAGE_RESOURCE_DATA_IS_DIRECTORY = 0x80000000; > 1566 > 1567 enum : DWORD { > 1568 IMAGE_DEBUG_TYPE_UNKNOWN, > 1569 IMAGE_DEBUG_TYPE_COFF, > 1570 IMAGE_DEBUG_TYPE_CODEVIEW, > 1571 IMAGE_DEBUG_TYPE_FPO, 1729 enum : uint { SECURITY_DIALUP_RID = 0x00000001 } | 1572 IMAGE_DEBUG_TYPE_MISC, 1730 enum : uint { SECURITY_NETWORK_RID = 0x00000002 } | 1573 IMAGE_DEBUG_TYPE_EXCEPTION, 1731 enum : uint { SECURITY_BATCH_RID = 0x00000003 } | 1574 IMAGE_DEBUG_TYPE_FIXUP, 1732 enum : uint { SECURITY_INTERACTIVE_RID = 0x00000004 } | 1575 IMAGE_DEBUG_TYPE_OMAP_TO_SRC, 1733 enum : uint { SECURITY_SERVICE_RID = 0x00000006 } | 1576 IMAGE_DEBUG_TYPE_OMAP_FROM_SRC, 1734 enum : uint { SECURITY_ANONYMOUS_LOGON_RID = 0x00000007 } | 1577 IMAGE_DEBUG_TYPE_BORLAND // = 9 1735 enum : uint { SECURITY_PROXY_RID = 0x00000008 } < 1736 enum : uint { SECURITY_ENTERPRISE_CONTROLLERS_RID = 0x00000009 } < 1737 alias SECURITY_ENTERPRISE_CONTROLLERS_RID SECURITY_SERVER_LOGON_RID; < 1738 enum : uint { SECURITY_PRINCIPAL_SELF_RID = 0x0000000A } < 1739 enum : uint { SECURITY_AUTHENTICATED_USER_RID = 0x0000000B } < 1740 enum : uint { SECURITY_RESTRICTED_CODE_RID = 0x0000000C } < 1741 enum : uint { SECURITY_TERMINAL_SERVER_RID = 0x0000000D } < 1742 enum : uint { SECURITY_REMOTE_LOGON_RID = 0x0000000E } < 1743 | 1578 } 1744 enum : uint { SECURITY_LOGON_IDS_RID = 0x00000005 } < 1745 enum : uint { SECURITY_LOGON_IDS_RID_COUNT = 3 } < 1746 | 1579 1747 enum : uint { SECURITY_LOCAL_SYSTEM_RID = 0x00000012 } < 1748 enum : uint { SECURITY_LOCAL_SERVICE_RID = 0x00000013 } < 1749 enum : uint { SECURITY_NETWORK_SERVICE_RID = 0x00000014 } < > 1580 enum : ubyte { > 1581 FRAME_FPO, > 1582 FRAME_TRAP, > 1583 FRAME_TSS, > 1584 FRAME_NONFPO 1750 | 1585 } 1751 enum : uint { SECURITY_NT_NON_UNIQUE = 0x00000015 } < 1752 enum : uint { SECURITY_NT_NON_UNIQUE_SUB_AUTH_COUNT = 3 } < 1753 | 1586 1754 enum : uint { SECURITY_BUILTIN_DOMAIN_RID = 0x00000020 } < > 1587 // ??? > 1588 const IMAGE_DEBUG_MISC_EXENAME = 1; 1755 | 1589 1756 enum : uint { DOMAIN_USER_RID_ADMIN = 0x000001F4 } < 1757 enum : uint { DOMAIN_USER_RID_GUEST = 0x000001F5 } < 1758 enum : uint { DOMAIN_USER_RID_KRBTGT = 0x000001F6 } < > 1590 // ??? > 1591 const N_BTMASK = 0x000F; > 1592 const N_TMASK = 0x0030; > 1593 const N_TMASK1 = 0x00C0; > 1594 const N_TMASK2 = 0x00F0; > 1595 const N_BTSHFT = 4; > 1596 const N_TSHIFT = 2; 1759 | 1597 > 1598 const int > 1599 IS_TEXT_UNICODE_ASCII16 = 0x0001, > 1600 IS_TEXT_UNICODE_STATISTICS = 0x0002, > 1601 IS_TEXT_UNICODE_CONTROLS = 0x0004, > 1602 IS_TEXT_UNICODE_SIGNATURE = 0x0008, 1760 enum : uint { DOMAIN_GROUP_RID_ADMINS = 0x00000200 } | 1603 IS_TEXT_UNICODE_REVERSE_ASCII16 = 0x0010, 1761 enum : uint { DOMAIN_GROUP_RID_USERS = 0x00000201 } | 1604 IS_TEXT_UNICODE_REVERSE_STATISTICS = 0x0020, 1762 enum : uint { DOMAIN_GROUP_RID_GUESTS = 0x00000202 } | 1605 IS_TEXT_UNICODE_REVERSE_CONTROLS = 0x0040, 1763 enum : uint { DOMAIN_GROUP_RID_COMPUTERS = 0x00000203 } | 1606 IS_TEXT_UNICODE_REVERSE_SIGNATURE = 0x0080, 1764 enum : uint { DOMAIN_GROUP_RID_CONTROLLERS = 0x00000204 } | 1607 IS_TEXT_UNICODE_ILLEGAL_CHARS = 0x0100, 1765 enum : uint { DOMAIN_GROUP_RID_CERT_ADMINS = 0x00000205 } | 1608 IS_TEXT_UNICODE_ODD_LENGTH = 0x0200, 1766 enum : uint { DOMAIN_GROUP_RID_SCHEMA_ADMINS = 0x00000206 } | 1609 IS_TEXT_UNICODE_NULL_BYTES = 0x1000, 1767 enum : uint { DOMAIN_GROUP_RID_ENTERPRISE_ADMINS = 0x00000207 } | 1610 IS_TEXT_UNICODE_UNICODE_MASK = 0x000F, 1768 enum : uint { DOMAIN_GROUP_RID_POLICY_ADMINS = 0x00000208 } | 1611 IS_TEXT_UNICODE_REVERSE_MASK = 0x00F0, > 1612 IS_TEXT_UNICODE_NOT_UNICODE_MASK = 0x0F00, > 1613 IS_TEXT_UNICODE_NOT_ASCII_MASK = 0xF000; 1769 | 1614 1770 enum : uint { DOMAIN_ALIAS_RID_ADMINS = 0x00000220 } < 1771 enum : uint { DOMAIN_ALIAS_RID_USERS = 0x00000221 } < 1772 enum : uint { DOMAIN_ALIAS_RID_GUESTS = 0x00000222 } | 1615 const DWORD 1773 enum : uint { DOMAIN_ALIAS_RID_POWER_USERS = 0x00000223 } | 1616 SERVICE_KERNEL_DRIVER = 0x0001, 1774 < > 1617 SERVICE_FILE_SYSTEM_DRIVER = 0x0002, 1775 enum : uint { DOMAIN_ALIAS_RID_ACCOUNT_OPS = 0x00000224 } | 1618 SERVICE_ADAPTER = 0x0004, 1776 enum : uint { DOMAIN_ALIAS_RID_SYSTEM_OPS = 0x00000225 } | 1619 SERVICE_RECOGNIZER_DRIVER = 0x0008, 1777 enum : uint { DOMAIN_ALIAS_RID_PRINT_OPS = 0x00000226 } | 1620 SERVICE_WIN32_OWN_PROCESS = 0x0010, 1778 enum : uint { DOMAIN_ALIAS_RID_BACKUP_OPS = 0x00000227 } | 1621 SERVICE_WIN32_SHARE_PROCESS = 0x0020, > 1622 SERVICE_INTERACTIVE_PROCESS = 0x0100, > 1623 SERVICE_DRIVER = 0x000B, > 1624 SERVICE_WIN32 = 0x0030, > 1625 SERVICE_TYPE_ALL = 0x013F; 1779 | 1626 1780 enum : uint { DOMAIN_ALIAS_RID_REPLICATOR = 0x00000228 } < 1781 enum : uint { DOMAIN_ALIAS_RID_RAS_SERVERS = 0x00000229 } < 1782 enum : uint { DOMAIN_ALIAS_RID_PREW2KCOMPACCESS = 0x0000022A } < 1783 enum : uint { DOMAIN_ALIAS_RID_REMOTE_DESKTOP_USERS = 0x0000022B } < 1784 enum : uint { DOMAIN_ALIAS_RID_NETWORK_CONFIGURATION_OPS = 0x0000022C } | 1627 enum : DWORD { > 1628 SERVICE_BOOT_START = 0, > 1629 SERVICE_SYSTEM_START = 1, > 1630 SERVICE_AUTO_START = 2, > 1631 SERVICE_DEMAND_START = 3, > 1632 SERVICE_DISABLED = 4 1785 | 1633 } 1786 const LUID SYSTEM_LUID = {LowPart: 0x3e7, HighPart: 0x0}; < 1787 const LUID ANONYMOUS_LOGON_LUID = {LowPart: 0x3e6, HighPart: 0x0}; < 1788 const LUID LOCALSERVICE_LUID = {LowPart: 0x3e5, HighPart: 0x0}; < 1789 const LUID NETWORKSERVICE_LUID = {LowPart: 0x3e4, HighPart: 0x0}; < 1790 | 1634 1791 enum : uint { SE_GROUP_MANDATORY = 0x00000001 } < 1792 enum : uint { SE_GROUP_ENABLED_BY_DEFAULT = 0x00000002 } | 1635 enum : DWORD { 1793 enum : uint { SE_GROUP_ENABLED = 0x00000004 } | 1636 SERVICE_ERROR_IGNORE = 0, 1794 enum : uint { SE_GROUP_OWNER = 0x00000008 } | 1637 SERVICE_ERROR_NORMAL = 1, 1795 enum : uint { SE_GROUP_USE_FOR_DENY_ONLY = 0x00000010 } | 1638 SERVICE_ERROR_SEVERE = 2, 1796 enum : uint { SE_GROUP_LOGON_ID = 0xC0000000 } | 1639 SERVICE_ERROR_CRITICAL = 3 1797 enum : uint { SE_GROUP_RESOURCE = 0x20000000 } < 1798 | 1640 } 1799 enum : uint { ACL_REVISION = 2 } < 1800 enum : uint { ACL_REVISION_DS = 4 } < 1801 | 1641 > 1642 > 1643 const uint > 1644 SE_OWNER_DEFAULTED = 0x0001, 1802 enum : uint { ACL_REVISION1 = 1 } | 1645 SE_GROUP_DEFAULTED = 0x0002, 1803 enum { MIN_ACL_REVISION = 2 } | 1646 SE_DACL_PRESENT = 0x0004, 1804 enum : uint { ACL_REVISION2 = 2 } | 1647 SE_DACL_DEFAULTED = 0x0008, 1805 enum : uint { ACL_REVISION3 = 3 } | 1648 SE_SACL_PRESENT = 0x0010, 1806 enum : uint { ACL_REVISION4 = 4 } | 1649 SE_SACL_DEFAULTED = 0x0020, 1807 alias ACL_REVISION4 MAX_ACL_REVISION; | 1650 SE_DACL_AUTO_INHERIT_REQ = 0x0100, > 1651 SE_SACL_AUTO_INHERIT_REQ = 0x0200, > 1652 SE_DACL_AUTO_INHERITED = 0x0400, > 1653 SE_SACL_AUTO_INHERITED = 0x0800, > 1654 SE_DACL_PROTECTED = 0x1000, > 1655 SE_SACL_PROTECTED = 0x2000, > 1656 SE_SELF_RELATIVE = 0x8000; 1808 | 1657 1809 struct _ACL { < 1810 BYTE AclRevision; < 1811 BYTE Sbz1; < > 1658 enum SECURITY_IMPERSONATION_LEVEL { > 1659 SecurityAnonymous, > 1660 SecurityIdentification, > 1661 SecurityImpersonation, > 1662 SecurityDelegation > 1663 } > 1664 alias SECURITY_IMPERSONATION_LEVEL* PSECURITY_IMPERSONATION_LEVEL; > 1665 > 1666 alias BOOLEAN SECURITY_CONTEXT_TRACKING_MODE; > 1667 alias BOOLEAN* PSECURITY_CONTEXT_TRACKING_MODE; > 1668 > 1669 const size_t SECURITY_DESCRIPTOR_MIN_LENGTH = 20; > 1670 > 1671 const DWORD > 1672 SECURITY_DESCRIPTOR_REVISION = 1, > 1673 SECURITY_DESCRIPTOR_REVISION1 = 1; > 1674 > 1675 const DWORD > 1676 SE_PRIVILEGE_ENABLED_BY_DEFAULT = 0x00000001, > 1677 SE_PRIVILEGE_ENABLED = 0x00000002, > 1678 SE_PRIVILEGE_USED_FOR_ACCESS = 0x80000000; > 1679 > 1680 const DWORD PRIVILEGE_SET_ALL_NECESSARY = 1; > 1681 > 1682 const SECURITY_IMPERSONATION_LEVEL > 1683 SECURITY_MAX_IMPERSONATION_LEVEL = SECURITY_IMPERSONATION_LEVEL.Security > 1684 DEFAULT_IMPERSONATION_LEVEL = SECURITY_IMPERSONATION_LEVEL.Security > 1685 > 1686 const BOOLEAN > 1687 SECURITY_DYNAMIC_TRACKING = true, > 1688 SECURITY_STATIC_TRACKING = false; > 1689 > 1690 // also in ddk/ntifs.h > 1691 const DWORD > 1692 TOKEN_ASSIGN_PRIMARY = 0x0001, > 1693 TOKEN_DUPLICATE = 0x0002, > 1694 TOKEN_IMPERSONATE = 0x0004, > 1695 TOKEN_QUERY = 0x0008, > 1696 TOKEN_QUERY_SOURCE = 0x0010, > 1697 TOKEN_ADJUST_PRIVILEGES = 0x0020, > 1698 TOKEN_ADJUST_GROUPS = 0x0040, > 1699 TOKEN_ADJUST_DEFAULT = 0x0080, > 1700 > 1701 TOKEN_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED > 1702 | TOKEN_ASSIGN_PRIMARY > 1703 | TOKEN_DUPLICATE > 1704 | TOKEN_IMPERSONATE > 1705 | TOKEN_QUERY > 1706 | TOKEN_QUERY_SOURCE > 1707 | TOKEN_ADJUST_PRIVILEGES > 1708 | TOKEN_ADJUST_GROUPS > 1709 | TOKEN_ADJUST_DEFAULT, > 1710 TOKEN_READ = STANDARD_RIGHTS_READ | TOKEN_QUERY, > 1711 TOKEN_WRITE = STANDARD_RIGHTS_WRITE > 1712 | TOKEN_ADJUST_PRIVILEGES > 1713 | TOKEN_ADJUST_GROUPS > 1714 | TOKEN_ADJUST_DEFAULT, > 1715 TOKEN_EXECUTE = STANDARD_RIGHTS_EXECUTE; > 1716 > 1717 const size_t TOKEN_SOURCE_LENGTH = 8; > 1718 // end ddk/ntifs.h > 1719 1812 WORD AclSize; | 1720 enum : DWORD { > 1721 DLL_PROCESS_DETACH, > 1722 DLL_PROCESS_ATTACH, > 1723 DLL_THREAD_ATTACH, > 1724 DLL_THREAD_DETACH > 1725 } > 1726 1813 WORD AceCount; | 1727 enum : DWORD { > 1728 DBG_CONTINUE = 0x00010002, > 1729 DBG_TERMINATE_THREAD = 0x40010003, > 1730 DBG_TERMINATE_PROCESS = 0x40010004, > 1731 DBG_CONTROL_C = 0x40010005, > 1732 DBG_CONTROL_BREAK = 0x40010008, > 1733 DBG_EXCEPTION_NOT_HANDLED = 0x80010001 > 1734 } > 1735 1814 WORD Sbz2; | 1736 enum : DWORD { > 1737 TAPE_ABSOLUTE_POSITION, > 1738 TAPE_LOGICAL_POSITION, > 1739 TAPE_PSEUDO_LOGICAL_POSITION 1815 } | 1740 } 1816 alias _ACL ACL; < 1817 | 1741 1818 alias ACL* PACL; < > 1742 enum : DWORD { > 1743 TAPE_REWIND, > 1744 TAPE_ABSOLUTE_BLOCK, > 1745 TAPE_LOGICAL_BLOCK, > 1746 TAPE_PSEUDO_LOGICAL_BLOCK, > 1747 TAPE_SPACE_END_OF_DATA, > 1748 TAPE_SPACE_RELATIVE_BLOCKS, > 1749 TAPE_SPACE_FILEMARKS, > 1750 TAPE_SPACE_SEQUENTIAL_FMKS, > 1751 TAPE_SPACE_SETMARKS, > 1752 TAPE_SPACE_SEQUENTIAL_SMKS 1819 | 1753 } > 1754 > 1755 const DWORD > 1756 TAPE_DRIVE_FIXED = 0x00000001, > 1757 TAPE_DRIVE_SELECT = 0x00000002, > 1758 TAPE_DRIVE_INITIATOR = 0x00000004, > 1759 TAPE_DRIVE_ERASE_SHORT = 0x00000010, > 1760 TAPE_DRIVE_ERASE_LONG = 0x00000020, > 1761 TAPE_DRIVE_ERASE_BOP_ONLY = 0x00000040, > 1762 TAPE_DRIVE_ERASE_IMMEDIATE = 0x00000080, > 1763 TAPE_DRIVE_TAPE_CAPACITY = 0x00000100, > 1764 TAPE_DRIVE_TAPE_REMAINING = 0x00000200, > 1765 TAPE_DRIVE_FIXED_BLOCK = 0x00000400, > 1766 TAPE_DRIVE_VARIABLE_BLOCK = 0x00000800, > 1767 TAPE_DRIVE_WRITE_PROTECT = 0x00001000, > 1768 TAPE_DRIVE_EOT_WZ_SIZE = 0x00002000, > 1769 TAPE_DRIVE_ECC = 0x00010000, > 1770 TAPE_DRIVE_COMPRESSION = 0x00020000, > 1771 TAPE_DRIVE_PADDING = 0x00040000, > 1772 TAPE_DRIVE_REPORT_SMKS = 0x00080000, > 1773 TAPE_DRIVE_GET_ABSOLUTE_BLK = 0x00100000, > 1774 TAPE_DRIVE_GET_LOGICAL_BLK = 0x00200000, > 1775 TAPE_DRIVE_SET_EOT_WZ_SIZE = 0x00400000, > 1776 TAPE_DRIVE_EJECT_MEDIA = 0x01000000, > 1777 TAPE_DRIVE_CLEAN_REQUESTS = 0x02000000, > 1778 TAPE_DRIVE_SET_CMP_BOP_ONLY = 0x04000000, > 1779 TAPE_DRIVE_RESERVED_BIT = 0x80000000; > 1780 > 1781 const DWORD > 1782 TAPE_DRIVE_LOAD_UNLOAD = 0x80000001, > 1783 TAPE_DRIVE_TENSION = 0x80000002, > 1784 TAPE_DRIVE_LOCK_UNLOCK = 0x80000004, > 1785 TAPE_DRIVE_REWIND_IMMEDIATE = 0x80000008, > 1786 TAPE_DRIVE_SET_BLOCK_SIZE = 0x80000010, > 1787 TAPE_DRIVE_LOAD_UNLD_IMMED = 0x80000020, > 1788 TAPE_DRIVE_TENSION_IMMED = 0x80000040, > 1789 TAPE_DRIVE_LOCK_UNLK_IMMED = 0x80000080, > 1790 TAPE_DRIVE_SET_ECC = 0x80000100, > 1791 TAPE_DRIVE_SET_COMPRESSION = 0x80000200, > 1792 TAPE_DRIVE_SET_PADDING = 0x80000400, > 1793 TAPE_DRIVE_SET_REPORT_SMKS = 0x80000800, > 1794 TAPE_DRIVE_ABSOLUTE_BLK = 0x80001000, > 1795 TAPE_DRIVE_ABS_BLK_IMMED = 0x80002000, > 1796 TAPE_DRIVE_LOGICAL_BLK = 0x80004000, > 1797 TAPE_DRIVE_LOG_BLK_IMMED = 0x80008000, > 1798 TAPE_DRIVE_END_OF_DATA = 0x80010000, > 1799 TAPE_DRIVE_RELATIVE_BLKS = 0x80020000, > 1800 TAPE_DRIVE_FILEMARKS = 0x80040000, > 1801 TAPE_DRIVE_SEQUENTIAL_FMKS = 0x80080000, > 1802 TAPE_DRIVE_SETMARKS = 0x80100000, > 1803 TAPE_DRIVE_SEQUENTIAL_SMKS = 0x80200000, > 1804 TAPE_DRIVE_REVERSE_POSITION = 0x80400000, > 1805 TAPE_DRIVE_SPACE_IMMEDIATE = 0x80800000, > 1806 TAPE_DRIVE_WRITE_SETMARKS = 0x81000000, > 1807 TAPE_DRIVE_WRITE_FILEMARKS = 0x82000000, > 1808 TAPE_DRIVE_WRITE_SHORT_FMKS = 0x84000000, > 1809 TAPE_DRIVE_WRITE_LONG_FMKS = 0x88000000, > 1810 TAPE_DRIVE_WRITE_MARK_IMMED = 0x90000000, > 1811 TAPE_DRIVE_FORMAT = 0xA0000000, > 1812 TAPE_DRIVE_FORMAT_IMMEDIATE = 0xC0000000, > 1813 TAPE_DRIVE_HIGH_FEATURES = 0x80000000; > 1814 > 1815 enum : DWORD { > 1816 TAPE_FIXED_PARTITIONS = 0, > 1817 TAPE_SELECT_PARTITIONS = 1, > 1818 TAPE_INITIATOR_PARTITIONS = 2 > 1819 } > 1820 > 1821 enum : DWORD { > 1822 TAPE_SETMARKS, > 1823 TAPE_FILEMARKS, > 1824 TAPE_SHORT_FILEMARKS, > 1825 TAPE_LONG_FILEMARKS > 1826 } > 1827 > 1828 enum : DWORD { > 1829 TAPE_ERASE_SHORT, > 1830 TAPE_ERASE_LONG > 1831 } > 1832 > 1833 enum : DWORD { > 1834 TAPE_LOAD, > 1835 TAPE_UNLOAD, > 1836 TAPE_TENSION, > 1837 TAPE_LOCK, > 1838 TAPE_UNLOCK, > 1839 TAPE_FORMAT > 1840 } > 1841 > 1842 enum : ULONG32 { > 1843 VER_PLATFORM_WIN32s, > 1844 VER_PLATFORM_WIN32_WINDOWS, > 1845 VER_PLATFORM_WIN32_NT > 1846 } > 1847 > 1848 enum : UCHAR { > 1849 VER_NT_WORKSTATION = 1, > 1850 VER_NT_DOMAIN_CONTROLLER, > 1851 VER_NT_SERVER > 1852 } > 1853 > 1854 const USHORT > 1855 VER_SUITE_SMALLBUSINESS = 0x0001, > 1856 VER_SUITE_ENTERPRISE = 0x0002, > 1857 VER_SUITE_BACKOFFICE = 0x0004, > 1858 VER_SUITE_TERMINAL = 0x0010, > 1859 VER_SUITE_SMALLBUSINESS_RESTRICTED = 0x0020, > 1860 VER_SUITE_EMBEDDEDNT = 0x0040, > 1861 VER_SUITE_DATACENTER = 0x0080, > 1862 VER_SUITE_SINGLEUSERTS = 0x0100, > 1863 VER_SUITE_PERSONAL = 0x0200, > 1864 VER_SUITE_BLADE = 0x0400, > 1865 VER_SUITE_STORAGE_SERVER = 0x2000, > 1866 VER_SUITE_COMPUTE_SERVER = 0x4000; > 1867 > 1868 const ULONG > 1869 WT_EXECUTEDEFAULT = 0x00000000, > 1870 WT_EXECUTEINIOTHREAD = 0x00000001, > 1871 WT_EXECUTEINWAITTHREAD = 0x00000004, > 1872 WT_EXECUTEONLYONCE = 0x00000008, > 1873 WT_EXECUTELONGFUNCTION = 0x00000010, > 1874 WT_EXECUTEINTIMERTHREAD = 0x00000020, > 1875 WT_EXECUTEINPERSISTENTTHREAD = 0x00000080, > 1876 WT_TRANSFER_IMPERSONATION = 0x00000100; > 1877 > 1878 static if (_WIN32_WINNT_ONLY) { > 1879 static if (_WIN32_WINNT >= 0x500) { > 1880 const DWORD > 1881 VER_MINORVERSION = 0x01, > 1882 VER_MAJORVERSION = 0x02, > 1883 VER_BUILDNUMBER = 0x04, > 1884 VER_PLATFORMID = 0x08, > 1885 VER_SERVICEPACKMINOR = 0x10, > 1886 VER_SERVICEPACKMAJOR = 0x20, > 1887 VER_SUITENAME = 0x40, > 1888 VER_PRODUCT_TYPE = 0x80; > 1889 > 1890 enum : DWORD { > 1891 VER_EQUAL = 1, > 1892 VER_GREATER, > 1893 VER_GREATER_EQUAL, > 1894 VER_LESS, > 1895 VER_LESS_EQUAL, > 1896 VER_AND, > 1897 VER_OR // = 7 > 1898 } > 1899 } > 1900 > 1901 static if (_WIN32_WINNT >= 0x501) { > 1902 enum : ULONG { > 1903 ACTIVATION_CONTEXT_SECTION_ASSEMBLY_INFORMATION = > 1904 ACTIVATION_CONTEXT_SECTION_DLL_REDIRECTION, > 1905 ACTIVATION_CONTEXT_SECTION_WINDOW_CLASS_REDIRECTION, > 1906 ACTIVATION_CONTEXT_SECTION_COM_SERVER_REDIRECTION, > 1907 ACTIVATION_CONTEXT_SECTION_COM_INTERFACE_REDIRECTION, > 1908 ACTIVATION_CONTEXT_SECTION_COM_TYPE_LIBRARY_REDIRECTION, > 1909 ACTIVATION_CONTEXT_SECTION_COM_PROGID_REDIRECTION, // = > 1910 ACTIVATION_CONTEXT_SECTION_CLR_SURROGATES = > 1911 } > 1912 } > 1913 } > 1914 > 1915 // Macros > 1916 BYTE BTYPE(BYTE x) { return cast(BYTE) (x & N_BTMASK); } > 1917 bool ISPTR(uint x) { return (x & N_TMASK) == (IMAGE_SYM_DTYPE_POINTER << N_BTSHF > 1918 bool ISFCN(uint x) { return (x & N_TMASK) == (IMAGE_SYM_DTYPE_FUNCTION << N_BTSH > 1919 bool ISARY(uint x) { return (x & N_TMASK) == (IMAGE_SYM_DTYPE_ARRAY << N_BTSHFT) > 1920 bool ISTAG(uint x) { > 1921 return x == IMAGE_SYM_CLASS_STRUCT_TAG > 1922 || x == IMAGE_SYM_CLASS_UNION_TAG > 1923 || x == IMAGE_SYM_CLASS_ENUM_TAG; > 1924 } > 1925 uint INCREF(uint x) { > 1926 return ((x & ~N_BTMASK) << N_TSHIFT) | (IMAGE_SYM_DTYPE_POINTER << N_BTS > 1927 | (x & N_BTMASK); > 1928 } > 1929 uint DECREF(uint x) { return ((x >>> N_TSHIFT) & ~N_BTMASK) | (x & N_BTMASK); } > 1930 > 1931 const DWORD TLS_MINIMUM_AVAILABLE = 64; > 1932 > 1933 const ULONG > 1934 IO_REPARSE_TAG_RESERVED_ZERO = 0, > 1935 IO_REPARSE_TAG_RESERVED_ONE = 1, > 1936 IO_REPARSE_TAG_RESERVED_RANGE = IO_REPARSE_TAG_RESERVED_ONE, > 1937 IO_REPARSE_TAG_SYMBOLIC_LINK = IO_REPARSE_TAG_RESERVED_ZERO, > 1938 IO_REPARSE_TAG_MOUNT_POINT = 0xA0000003, > 1939 IO_REPARSE_TAG_SYMLINK = 0xA000000C, > 1940 IO_REPARSE_TAG_VALID_VALUES = 0xE000FFFF; > 1941 > 1942 /* Although these are semantically boolean, they are documented and > 1943 * implemented to return ULONG; this behaviour is preserved for compatibili > 1944 */ > 1945 ULONG IsReparseTagMicrosoft(ULONG x) { return x & 0x80000000; } > 1946 ULONG IsReparseTagHighLatency(ULONG x) { return x & 0x40000000; } > 1947 ULONG IsReparseTagNameSurrogate(ULONG x) { return x & 0x20000000; } > 1948 > 1949 bool IsReparseTagValid(ULONG x) { > 1950 return !(x & ~IO_REPARSE_TAG_VALID_VALUES) && (x > IO_REPARSE_TAG_RESERV > 1951 } > 1952 > 1953 // Doesn't seem to make sense, but anyway.... > 1954 ULONG WT_SET_MAX_THREADPOOL_THREADS(ref ULONG Flags, ushort Limit) { > 1955 return Flags |= Limit << 16; > 1956 } > 1957 > 1958 import win32.basetyps; > 1959 /* also in win32.basetyps > 1960 struct GUID { > 1961 uint Data1; > 1962 ushort Data2; > 1963 ushort Data3; > 1964 ubyte Data4[8]; > 1965 } > 1966 alias GUID* REFGUID, LPGUID; > 1967 */ > 1968 > 1969 struct GENERIC_MAPPING { > 1970 ACCESS_MASK GenericRead; > 1971 ACCESS_MASK GenericWrite; > 1972 ACCESS_MASK GenericExecute; > 1973 ACCESS_MASK GenericAll; > 1974 } > 1975 alias GENERIC_MAPPING* PGENERIC_MAPPING; > 1976 1820 struct _ACE_HEADER { | 1977 struct ACE_HEADER { 1821 BYTE AceType; | 1978 BYTE AceType; 1822 BYTE AceFlags; | 1979 BYTE AceFlags; 1823 WORD AceSize; | 1980 WORD AceSize; 1824 } | 1981 } 1825 alias _ACE_HEADER ACE_HEADER; < 1826 < 1827 alias ACE_HEADER* PACE_HEADER; 1982 alias ACE_HEADER* PACE_HEADER; 1828 1983 1829 enum : uint { ACCESS_MIN_MS_ACE_TYPE = 0x0 } < 1830 enum : uint { ACCESS_ALLOWED_ACE_TYPE = 0x0 } < 1831 enum : uint { ACCESS_DENIED_ACE_TYPE = 0x1 } < 1832 enum : uint { SYSTEM_AUDIT_ACE_TYPE = 0x2 } < 1833 enum : uint { SYSTEM_ALARM_ACE_TYPE = 0x3 } < 1834 enum : uint { ACCESS_MAX_MS_V2_ACE_TYPE = 0x3 } < 1835 < 1836 enum : uint { ACCESS_ALLOWED_COMPOUND_ACE_TYPE = 0x4 } < 1837 enum : uint { ACCESS_MAX_MS_V3_ACE_TYPE = 0x4 } < 1838 < 1839 enum : uint { ACCESS_MIN_MS_OBJECT_ACE_TYPE = 0x5 } < 1840 enum : uint { ACCESS_ALLOWED_OBJECT_ACE_TYPE = 0x5 } < 1841 enum : uint { ACCESS_DENIED_OBJECT_ACE_TYPE = 0x6 } < 1842 enum : uint { SYSTEM_AUDIT_OBJECT_ACE_TYPE = 0x7 } < 1843 enum : uint { SYSTEM_ALARM_OBJECT_ACE_TYPE = 0x8 } < 1844 enum : uint { ACCESS_MAX_MS_OBJECT_ACE_TYPE = 0x8 } < 1845 < 1846 enum : uint { ACCESS_MAX_MS_V4_ACE_TYPE = 0x8 } < 1847 enum : uint { ACCESS_MAX_MS_ACE_TYPE = 0x8 } < 1848 < 1849 enum : uint { ACCESS_ALLOWED_CALLBACK_ACE_TYPE = 0x9 } < 1850 enum : uint { ACCESS_DENIED_CALLBACK_ACE_TYPE = 0xA } < 1851 enum : uint { ACCESS_ALLOWED_CALLBACK_OBJECT_ACE_TYPE = 0xB } < 1852 enum : uint { ACCESS_DENIED_CALLBACK_OBJECT_ACE_TYPE = 0xC } < 1853 enum : uint { SYSTEM_AUDIT_CALLBACK_ACE_TYPE = 0xD } < 1854 enum : uint { SYSTEM_ALARM_CALLBACK_ACE_TYPE = 0xE } < 1855 enum : uint { SYSTEM_AUDIT_CALLBACK_OBJECT_ACE_TYPE = 0xF } < 1856 enum : uint { SYSTEM_ALARM_CALLBACK_OBJECT_ACE_TYPE = 0x10 } < 1857 < 1858 enum : uint { ACCESS_MAX_MS_V5_ACE_TYPE = 0x10 } < 1859 < 1860 enum : uint { OBJECT_INHERIT_ACE = 0x1 } < 1861 enum : uint { CONTAINER_INHERIT_ACE = 0x2 } < 1862 enum : uint { NO_PROPAGATE_INHERIT_ACE = 0x4 } < 1863 enum : uint { INHERIT_ONLY_ACE = 0x8 } < 1864 enum : uint { INHERITED_ACE = 0x10 } < 1865 enum : uint { VALID_INHERIT_FLAGS = 0x1F } < 1866 < 1867 enum : uint { SUCCESSFUL_ACCESS_ACE_FLAG = 0x40 } < 1868 enum : uint { FAILED_ACCESS_ACE_FLAG = 0x80 } < 1869 < 1870 struct _ACCESS_ALLOWED_ACE { | 1984 struct ACCESS_ALLOWED_ACE { 1871 ACE_HEADER Header; | 1985 ACE_HEADER Header; 1872 ACCESS_MASK Mask; | 1986 ACCESS_MASK Mask; 1873 DWORD SidStart; | 1987 DWORD SidStart; 1874 } 1988 } 1875 alias _ACCESS_ALLOWED_ACE ACCESS_ALLOWED_ACE; < 1876 < 1877 alias ACCESS_ALLOWED_ACE* PACCESS_ALLOWED_ACE; 1989 alias ACCESS_ALLOWED_ACE* PACCESS_ALLOWED_ACE; 1878 1990 1879 struct _ACCESS_DENIED_ACE { | 1991 struct ACCESS_DENIED_ACE { 1880 ACE_HEADER Header; | 1992 ACE_HEADER Header; 1881 ACCESS_MASK Mask; | 1993 ACCESS_MASK Mask; 1882 DWORD SidStart; | 1994 DWORD SidStart; 1883 } 1995 } 1884 alias _ACCESS_DENIED_ACE ACCESS_DENIED_ACE; < 1885 < 1886 alias ACCESS_DENIED_ACE* PACCESS_DENIED_ACE; 1996 alias ACCESS_DENIED_ACE* PACCESS_DENIED_ACE; 1887 1997 1888 struct _SYSTEM_AUDIT_ACE { | 1998 struct SYSTEM_AUDIT_ACE { 1889 ACE_HEADER Header; | 1999 ACE_HEADER Header; 1890 ACCESS_MASK Mask; | 2000 ACCESS_MASK Mask; 1891 DWORD SidStart; | 2001 DWORD SidStart; 1892 } 2002 } 1893 alias _SYSTEM_AUDIT_ACE SYSTEM_AUDIT_ACE; | 2003 alias SYSTEM_AUDIT_ACE *PSYSTEM_AUDIT_ACE; 1894 2004 1895 alias SYSTEM_AUDIT_ACE* PSYSTEM_AUDIT_ACE; < 1896 < 1897 struct _SYSTEM_ALARM_ACE { | 2005 struct SYSTEM_ALARM_ACE { 1898 ACE_HEADER Header; | 2006 ACE_HEADER Header; 1899 ACCESS_MASK Mask; | 2007 ACCESS_MASK Mask; 1900 DWORD SidStart; | 2008 DWORD SidStart; 1901 } 2009 } 1902 alias _SYSTEM_ALARM_ACE SYSTEM_ALARM_ACE; < 1903 < 1904 alias SYSTEM_ALARM_ACE* PSYSTEM_ALARM_ACE; 2010 alias SYSTEM_ALARM_ACE* PSYSTEM_ALARM_ACE; 1905 2011 1906 struct _ACCESS_ALLOWED_OBJECT_ACE { | 2012 struct ACCESS_ALLOWED_OBJECT_ACE { 1907 ACE_HEADER Header; | 2013 ACE_HEADER Header; 1908 ACCESS_MASK Mask; | 2014 ACCESS_MASK Mask; 1909 DWORD Flags; | 2015 DWORD Flags; 1910 GUID ObjectType; | 2016 GUID ObjectType; 1911 GUID InheritedObjectType; | 2017 GUID InheritedObjectType; 1912 DWORD SidStart; | 2018 DWORD SidStart; 1913 } | 2019 } 1914 alias _ACCESS_ALLOWED_OBJECT_ACE ACCESS_ALLOWED_OBJECT_ACE; < 1915 alias _ACCESS_ALLOWED_OBJECT_ACE* PACCESS_ALLOWED_OBJECT_ACE; | 2020 alias ACCESS_ALLOWED_OBJECT_ACE* PACCESS_ALLOWED_OBJECT_ACE; 1916 | 2021 1917 struct _ACCESS_DENIED_OBJECT_ACE { | 2022 struct ACCESS_DENIED_OBJECT_ACE { 1918 ACE_HEADER Header; | 2023 ACE_HEADER Header; 1919 ACCESS_MASK Mask; | 2024 ACCESS_MASK Mask; 1920 DWORD Flags; | 2025 DWORD Flags; 1921 GUID ObjectType; | 2026 GUID ObjectType; 1922 GUID InheritedObjectType; | 2027 GUID InheritedObjectType; 1923 DWORD SidStart; | 2028 DWORD SidStart; 1924 } | 2029 } 1925 alias _ACCESS_DENIED_OBJECT_ACE ACCESS_DENIED_OBJECT_ACE; < 1926 alias _ACCESS_DENIED_OBJECT_ACE* PACCESS_DENIED_OBJECT_ACE; | 2030 alias ACCESS_DENIED_OBJECT_ACE* PACCESS_DENIED_OBJECT_ACE; 1927 | 2031 1928 struct _SYSTEM_AUDIT_OBJECT_ACE { | 2032 struct SYSTEM_AUDIT_OBJECT_ACE { 1929 ACE_HEADER Header; | 2033 ACE_HEADER Header; 1930 ACCESS_MASK Mask; | 2034 ACCESS_MASK Mask; 1931 DWORD Flags; | 2035 DWORD Flags; 1932 GUID ObjectType; | 2036 GUID ObjectType; 1933 GUID InheritedObjectType; | 2037 GUID InheritedObjectType; 1934 DWORD SidStart; | 2038 DWORD SidStart; 1935 } | 2039 } 1936 alias _SYSTEM_AUDIT_OBJECT_ACE SYSTEM_AUDIT_OBJECT_ACE; < 1937 alias _SYSTEM_AUDIT_OBJECT_ACE* PSYSTEM_AUDIT_OBJECT_ACE; | 2040 alias SYSTEM_AUDIT_OBJECT_ACE* PSYSTEM_AUDIT_OBJECT_ACE; 1938 | 2041 1939 struct _SYSTEM_ALARM_OBJECT_ACE { | 2042 struct SYSTEM_ALARM_OBJECT_ACE { 1940 ACE_HEADER Header; | 2043 ACE_HEADER Header; 1941 ACCESS_MASK Mask; | 2044 ACCESS_MASK Mask; 1942 DWORD Flags; | 2045 DWORD Flags; 1943 GUID ObjectType; | 2046 GUID ObjectType; 1944 GUID InheritedObjectType; | 2047 GUID InheritedObjectType; 1945 DWORD SidStart; | 2048 DWORD SidStart; 1946 } | 2049 } 1947 alias _SYSTEM_ALARM_OBJECT_ACE SYSTEM_ALARM_OBJECT_ACE; < 1948 alias _SYSTEM_ALARM_OBJECT_ACE* PSYSTEM_ALARM_OBJECT_ACE; | 2050 alias SYSTEM_ALARM_OBJECT_ACE* PSYSTEM_ALARM_OBJECT_ACE; 1949 | 2051 > 2052 struct ACL { > 2053 BYTE AclRevision; > 2054 BYTE Sbz1; > 2055 WORD AclSize; 1950 struct _ACCESS_ALLOWED_CALLBACK_ACE { | 2056 WORD AceCount; 1951 ACE_HEADER Header; < 1952 ACCESS_MASK Mask; < 1953 DWORD SidStart; | 2057 WORD Sbz2; 1954 } | 2058 } 1955 alias _ACCESS_ALLOWED_CALLBACK_ACE ACCESS_ALLOWED_CALLBACK_ACE; < 1956 alias _ACCESS_ALLOWED_CALLBACK_ACE* PACCESS_ALLOWED_CALLBACK_ACE; < > 2059 alias ACL* PACL; 1957 | 2060 1958 struct _ACCESS_DENIED_CALLBACK_ACE { < 1959 ACE_HEADER Header; < 1960 ACCESS_MASK Mask; < > 2061 struct ACL_REVISION_INFORMATION { 1961 DWORD SidStart; | 2062 DWORD AclRevision; 1962 } | 2063 } 1963 alias _ACCESS_DENIED_CALLBACK_ACE ACCESS_DENIED_CALLBACK_ACE; < 1964 alias _ACCESS_DENIED_CALLBACK_ACE* PACCESS_DENIED_CALLBACK_ACE; < 1965 | 2064 1966 struct _SYSTEM_AUDIT_CALLBACK_ACE { < 1967 ACE_HEADER Header; < 1968 ACCESS_MASK Mask; < > 2065 struct ACL_SIZE_INFORMATION { 1969 DWORD SidStart; | 2066 DWORD AceCount; > 2067 DWORD AclBytesInUse; > 2068 DWORD AclBytesFree; 1970 } | 2069 } 1971 alias _SYSTEM_AUDIT_CALLBACK_ACE SYSTEM_AUDIT_CALLBACK_ACE; < 1972 alias _SYSTEM_AUDIT_CALLBACK_ACE* PSYSTEM_AUDIT_CALLBACK_ACE; < 1973 | 2070 > 2071 version (X86) { > 2072 // ??? > 2073 const SIZE_OF_80387_REGISTERS = 80; > 2074 const CONTEXT_i386 = 0x010000; > 2075 const CONTEXT_i486 = 0x010000; > 2076 const CONTEXT_CONTROL = CONTEXT_i386 | 0x01; > 2077 const CONTEXT_INTEGER = CONTEXT_i386 | 0x02; > 2078 const CONTEXT_SEGMENTS = CONTEXT_i386 | 0x04; > 2079 const CONTEXT_FLOATING_POINT = CONTEXT_i386 | 0x08; 1974 struct _SYSTEM_ALARM_CALLBACK_ACE { | 2080 const CONTEXT_DEBUG_REGISTERS = CONTEXT_i386 | 0x10; 1975 ACE_HEADER Header; | 2081 const CONTEXT_EXTENDED_REGISTERS = CONTEXT_i386 | 0x20; 1976 ACCESS_MASK Mask; | 2082 const CONTEXT_FULL = CONTEXT_CONTROL | CONTEXT_INTEGER | 1977 DWORD SidStart; | 2083 const MAXIMUM_SUPPORTED_EXTENSION = 512; 1978 } | 2084 1979 alias _SYSTEM_ALARM_CALLBACK_ACE SYSTEM_ALARM_CALLBACK_ACE; | 2085 struct FLOATING_SAVE_AREA { 1980 alias _SYSTEM_ALARM_CALLBACK_ACE* PSYSTEM_ALARM_CALLBACK_ACE; | 2086 DWORD ControlWord; 1981 < > 2087 DWORD StatusWord; 1982 struct _ACCESS_ALLOWED_CALLBACK_OBJECT_ACE { | 2088 DWORD TagWord; 1983 ACE_HEADER Header; | 2089 DWORD ErrorOffset; 1984 ACCESS_MASK Mask; | 2090 DWORD ErrorSelector; 1985 DWORD Flags; | 2091 DWORD DataOffset; 1986 GUID ObjectType; | 2092 DWORD DataSelector; 1987 GUID InheritedObjectType; | 2093 BYTE[80] RegisterArea; 1988 DWORD SidStart; | 2094 DWORD Cr0NpxState; 1989 } | 2095 } 1990 alias _ACCESS_ALLOWED_CALLBACK_OBJECT_ACE ACCESS_ALLOWED_CALLBACK_OBJECT_ACE; < 1991 alias _ACCESS_ALLOWED_CALLBACK_OBJECT_ACE* PACCESS_ALLOWED_CALLBACK_OBJECT_ACE; < 1992 | 2096 > 2097 struct CONTEXT { > 2098 DWORD ContextFlags; 1993 struct _ACCESS_DENIED_CALLBACK_OBJECT_ACE { | 2099 DWORD Dr0; 1994 ACE_HEADER Header; | 2100 DWORD Dr1; 1995 ACCESS_MASK Mask; | 2101 DWORD Dr2; 1996 DWORD Flags; | 2102 DWORD Dr3; 1997 GUID ObjectType; | 2103 DWORD Dr6; 1998 GUID InheritedObjectType; | 2104 DWORD Dr7; > 2105 FLOATING_SAVE_AREA FloatSave; 1999 DWORD SidStart; | 2106 DWORD SegGs; 2000 } < 2001 alias _ACCESS_DENIED_CALLBACK_OBJECT_ACE ACCESS_DENIED_CALLBACK_OBJECT_ACE; | 2107 DWORD SegFs; 2002 alias _ACCESS_DENIED_CALLBACK_OBJECT_ACE* PACCESS_DENIED_CALLBACK_OBJECT_ACE; | 2108 DWORD SegEs; 2003 < > 2109 DWORD SegDs; 2004 struct _SYSTEM_AUDIT_CALLBACK_OBJECT_ACE { | 2110 DWORD Edi; 2005 ACE_HEADER Header; | 2111 DWORD Esi; 2006 ACCESS_MASK Mask; | 2112 DWORD Ebx; 2007 DWORD Flags; | 2113 DWORD Edx; 2008 GUID ObjectType; | 2114 DWORD Ecx; 2009 GUID InheritedObjectType; | 2115 DWORD Eax; > 2116 DWORD Ebp; > 2117 DWORD Eip; 2010 DWORD SidStart; | 2118 DWORD SegCs; > 2119 DWORD EFlags; > 2120 DWORD Esp; > 2121 DWORD SegSs; > 2122 BYTE[MAXIMUM_SUPPORTED_EXTENSION] ExtendedRegisters; 2011 } | 2123 } 2012 alias _SYSTEM_AUDIT_CALLBACK_OBJECT_ACE SYSTEM_AUDIT_CALLBACK_OBJECT_ACE; < 2013 alias _SYSTEM_AUDIT_CALLBACK_OBJECT_ACE* PSYSTEM_AUDIT_CALLBACK_OBJECT_ACE; < 2014 | 2124 2015 struct _SYSTEM_ALARM_CALLBACK_OBJECT_ACE { < 2016 ACE_HEADER Header; < 2017 ACCESS_MASK Mask; < 2018 DWORD Flags; < 2019 GUID ObjectType; | 2125 } else { 2020 GUID InheritedObjectType; | 2126 static assert(false, "Unsupported CPU"); 2021 DWORD SidStart; | 2127 // Versions for PowerPC, Alpha, SHX, and MIPS removed. 2022 } | 2128 } 2023 alias _SYSTEM_ALARM_CALLBACK_OBJECT_ACE SYSTEM_ALARM_CALLBACK_OBJECT_ACE; < 2024 alias _SYSTEM_ALARM_CALLBACK_OBJECT_ACE* PSYSTEM_ALARM_CALLBACK_OBJECT_ACE; < 2025 | 2129 2026 enum : uint { ACE_OBJECT_TYPE_PRESENT = 0x1 } < 2027 enum : uint { ACE_INHERITED_OBJECT_TYPE_PRESENT = 0x2 } < > 2130 alias CONTEXT* PCONTEXT, LPCONTEXT; 2028 | 2131 > 2132 struct EXCEPTION_RECORD { > 2133 DWORD ExceptionCode; > 2134 DWORD ExceptionFlags; 2029 alias int _ACL_INFORMATION_CLASS; | 2135 EXCEPTION_RECORD* ExceptionRecord; 2030 enum { | 2136 PVOID ExceptionAddress; 2031 AclRevisionInformation = 1, | 2137 DWORD NumberParameters; 2032 AclSizeInformation, | 2138 DWORD[EXCEPTION_MAXIMUM_PARAMETERS] ExceptionInformation; 2033 } | 2139 } 2034 alias _ACL_INFORMATION_CLASS ACL_INFORMATION_CLASS; | 2140 alias EXCEPTION_RECORD* PEXCEPTION_RECORD, LPEXCEPTION_RECORD; 2035 | 2141 2036 struct _ACL_REVISION_INFORMATION { | 2142 struct EXCEPTION_POINTERS { 2037 DWORD AclRevision; | 2143 PEXCEPTION_RECORD ExceptionRecord; > 2144 PCONTEXT ContextRecord; 2038 } | 2145 } 2039 alias _ACL_REVISION_INFORMATION ACL_REVISION_INFORMATION; < > 2146 alias EXCEPTION_POINTERS* PEXCEPTION_POINTERS, LPEXCEPTION_POINTERS; 2040 | 2147 2041 alias ACL_REVISION_INFORMATION* PACL_REVISION_INFORMATION; < 2042 < > 2148 union LARGE_INTEGER { 2043 struct _ACL_SIZE_INFORMATION { | 2149 struct { 2044 DWORD AceCount; | 2150 uint LowPart; 2045 DWORD AclBytesInUse; | 2151 int HighPart; 2046 DWORD AclBytesFree; < 2047 } | 2152 } 2048 alias _ACL_SIZE_INFORMATION ACL_SIZE_INFORMATION; < > 2153 long QuadPart; 2049 | 2154 } 2050 alias ACL_SIZE_INFORMATION* PACL_SIZE_INFORMATION; < > 2155 alias LARGE_INTEGER* PLARGE_INTEGER; 2051 | 2156 > 2157 union ULARGE_INTEGER { 2052 enum : uint { SECURITY_DESCRIPTOR_REVISION = 1 } | 2158 struct { 2053 enum : uint { SECURITY_DESCRIPTOR_REVISION1 = 1 } | 2159 uint LowPart; > 2160 uint HighPart; 2054 | 2161 } 2055 const uint SECURITY_DESCRIPTOR_MIN_LENGTH = SECURITY_DESCRIPTOR.sizeof; < > 2162 ulong QuadPart; 2056 | 2163 } 2057 alias WORD SECURITY_DESCRIPTOR_CONTROL; < 2058 alias WORD* PSECURITY_DESCRIPTOR_CONTROL; | 2164 alias ULARGE_INTEGER* PULARGE_INTEGER; 2059 | 2165 2060 enum : uint { SE_OWNER_DEFAULTED = 0x0001 } | 2166 alias LARGE_INTEGER LUID; 2061 enum : uint { SE_GROUP_DEFAULTED = 0x0002 } | 2167 alias LUID* PLUID; 2062 enum : uint { SE_DACL_PRESENT = 0x0004 } < > 2168 2063 enum : uint { SE_DACL_DEFAULTED = 0x0008 } | 2169 const LUID SYSTEM_LUID = { QuadPart:999 }; 2064 enum : uint { SE_SACL_PRESENT = 0x0010 } < 2065 enum : uint { SE_SACL_DEFAULTED = 0x0020 } < 2066 enum : uint { SE_DACL_AUTO_INHERIT_REQ = 0x0100 } < 2067 enum : uint { SE_SACL_AUTO_INHERIT_REQ = 0x0200 } < 2068 enum : uint { SE_DACL_AUTO_INHERITED = 0x0400 } < 2069 enum : uint { SE_SACL_AUTO_INHERITED = 0x0800 } < 2070 enum : uint { SE_DACL_PROTECTED = 0x1000 } < 2071 enum : uint { SE_SACL_PROTECTED = 0x2000 } < 2072 enum : uint { SE_RM_CONTROL_VALID = 0x4000 } < 2073 enum : uint { SE_SELF_RELATIVE = 0x8000 } < 2074 | 2170 2075 struct _SECURITY_DESCRIPTOR_RELATIVE { < 2076 BYTE Revision; < 2077 BYTE Sbz1; < 2078 SECURITY_DESCRIPTOR_CONTROL Control; < > 2171 align(4) struct LUID_AND_ATTRIBUTES { > 2172 LUID Luid; 2079 DWORD Owner; | 2173 DWORD Attributes; > 2174 } > 2175 alias LUID_AND_ATTRIBUTES* PLUID_AND_ATTRIBUTES; > 2176 > 2177 struct PRIVILEGE_SET { 2080 DWORD Group; | 2178 DWORD PrivilegeCount; 2081 DWORD Sacl; | 2179 DWORD Control; > 2180 LUID_AND_ATTRIBUTES _Privilege; > 2181 > 2182 LUID_AND_ATTRIBUTES* Privilege() { return &_Privilege; } > 2183 } > 2184 alias PRIVILEGE_SET* PPRIVILEGE_SET; > 2185 > 2186 struct SECURITY_ATTRIBUTES { 2082 DWORD Dacl; | 2187 DWORD nLength; > 2188 LPVOID lpSecurityDescriptor; > 2189 BOOL bInheritHandle; 2083 } | 2190 } 2084 alias _SECURITY_DESCRIPTOR_RELATIVE SECURITY_DESCRIPTOR_RELATIVE; < 2085 alias _SECURITY_DESCRIPTOR_RELATIVE* PISECURITY_DESCRIPTOR_RELATIVE; | 2191 alias SECURITY_ATTRIBUTES* PSECURITY_ATTRIBUTES, LPSECURITY_ATTRIBUTES; 2086 | 2192 2087 struct _SECURITY_DESCRIPTOR { | 2193 struct SECURITY_QUALITY_OF_SERVICE { 2088 BYTE Revision; | 2194 DWORD Length; 2089 BYTE Sbz1; | 2195 SECURITY_IMPERSONATION_LEVEL ImpersonationLevel; 2090 SECURITY_DESCRIPTOR_CONTROL Control; | 2196 SECURITY_CONTEXT_TRACKING_MODE ContextTrackingMode; 2091 PSID Owner; | 2197 BOOLEAN EffectiveOnly; 2092 PSID Group; < > 2198 } 2093 PACL Sacl; | 2199 alias SECURITY_QUALITY_OF_SERVICE* PSECURITY_QUALITY_OF_SERVICE; 2094 PACL Dacl; < 2095 } | 2200 2096 alias _SECURITY_DESCRIPTOR SECURITY_DESCRIPTOR; < 2097 alias _SECURITY_DESCRIPTOR* PISECURITY_DESCRIPTOR; < > 2201 alias PVOID PACCESS_TOKEN; 2098 | 2202 > 2203 struct SE_IMPERSONATION_STATE { > 2204 PACCESS_TOKEN Token; 2099 struct _OBJECT_TYPE_LIST { | 2205 BOOLEAN CopyOnOpen; 2100 WORD Level; | 2206 BOOLEAN EffectiveOnly; 2101 WORD Sbz; | 2207 SECURITY_IMPERSONATION_LEVEL Level; 2102 GUID *ObjectType; < 2103 } | 2208 } 2104 alias _OBJECT_TYPE_LIST OBJECT_TYPE_LIST; < > 2209 alias SE_IMPERSONATION_STATE* PSE_IMPERSONATION_STATE; > 2210 2105 alias _OBJECT_TYPE_LIST* POBJECT_TYPE_LIST; | 2211 struct SID_IDENTIFIER_AUTHORITY { > 2212 BYTE[6] Value; 2106 | 2213 } 2107 enum : uint { ACCESS_OBJECT_GUID = 0 } < 2108 enum : uint { ACCESS_PROPERTY_SET_GUID = 1 } | 2214 alias SID_IDENTIFIER_AUTHORITY* PSID_IDENTIFIER_AUTHORITY, LPSID_IDENTIFIER_AUTH 2109 enum : uint { ACCESS_PROPERTY_GUID = 2 } < 2110 | 2215 2111 enum : uint { ACCESS_MAX_LEVEL = 4 } < > 2216 alias PVOID PSID; 2112 | 2217 > 2218 struct SID { 2113 alias int _AUDIT_EVENT_TYPE; | 2219 BYTE Revision; 2114 enum { | 2220 BYTE SubAuthorityCount; 2115 AuditEventObjectAccess, | 2221 SID_IDENTIFIER_AUTHORITY IdentifierAuthority; 2116 AuditEventDirectoryServiceAccess, | 2222 DWORD _SubAuthority; 2117 } | 2223 2118 alias _AUDIT_EVENT_TYPE AUDIT_EVENT_TYPE; | 2224 DWORD* SubAuthority() { return &_SubAuthority; } 2119 alias _AUDIT_EVENT_TYPE* PAUDIT_EVENT_TYPE; < 2120 | 2225 } 2121 enum : uint { AUDIT_ALLOW_NO_PRIVILEGE = 0x1 } < > 2226 alias SID* PISID; 2122 | 2227 > 2228 struct SID_AND_ATTRIBUTES { 2123 const char[] ACCESS_DS_SOURCE_A = "DS"; | 2229 PSID Sid; 2124 const wchar[] ACCESS_DS_SOURCE_W = "DS"; | 2230 DWORD Attributes; 2125 const char[] ACCESS_DS_OBJECT_TYPE_NAME_A = "Directory Service Object"; < > 2231 } 2126 const wchar[] ACCESS_DS_OBJECT_TYPE_NAME_W = "Directory Service Object"; | 2232 alias SID_AND_ATTRIBUTES* PSID_AND_ATTRIBUTES; 2127 | 2233 2128 enum : uint { SE_PRIVILEGE_ENABLED_BY_DEFAULT = 0x00000001 } | 2234 struct TOKEN_SOURCE { 2129 enum : uint { SE_PRIVILEGE_ENABLED = 0x00000002 } | 2235 CHAR[TOKEN_SOURCE_LENGTH] SourceName; 2130 enum : uint { SE_PRIVILEGE_USED_FOR_ACCESS = 0x80000000 } | 2236 LUID SourceIdentifier; 2131 | 2237 } 2132 enum : uint { PRIVILEGE_SET_ALL_NECESSARY = 1 } | 2238 alias TOKEN_SOURCE* PTOKEN_SOURCE; 2133 | 2239 2134 struct _PRIVILEGE_SET { | 2240 struct TOKEN_CONTROL { 2135 DWORD PrivilegeCount; | 2241 LUID TokenId; 2136 DWORD Control; | 2242 LUID AuthenticationId; 2137 LUID_AND_ATTRIBUTES Privilege[ANYSIZE_ARRAY]; | 2243 LUID ModifiedId; > 2244 TOKEN_SOURCE TokenSource; 2138 } | 2245 } 2139 alias _PRIVILEGE_SET PRIVILEGE_SET; < 2140 alias _PRIVILEGE_SET* PPRIVILEGE_SET; | 2246 alias TOKEN_CONTROL* PTOKEN_CONTROL; 2141 | 2247 2142 const TCHAR[] SE_CREATE_TOKEN_NAME = "SeCreateTokenPrivilege"; | 2248 struct TOKEN_DEFAULT_DACL { 2143 const TCHAR[] SE_ASSIGNPRIMARYTOKEN_NAME = "SeAssignPrimaryTokenPrivilege"; | 2249 PACL DefaultDacl; 2144 const TCHAR[] SE_LOCK_MEMORY_NAME = "SeLockMemoryPrivilege"; < > 2250 } 2145 const TCHAR[] SE_INCREASE_QUOTA_NAME = "SeIncreaseQuotaPrivilege"; | 2251 alias TOKEN_DEFAULT_DACL* PTOKEN_DEFAULT_DACL; 2146 const TCHAR[] SE_UNSOLICITED_INPUT_NAME = "SeUnsolicitedInputPrivilege"; < > 2252 2147 const TCHAR[] SE_MACHINE_ACCOUNT_NAME = "SeMachineAccountPrivilege"; | 2253 struct TOKEN_GROUPS { 2148 const TCHAR[] SE_TCB_NAME = "SeTcbPrivilege"; | 2254 DWORD GroupCount; 2149 const TCHAR[] SE_SECURITY_NAME = "SeSecurityPrivilege"; | 2255 SID_AND_ATTRIBUTES _Groups; 2150 const TCHAR[] SE_TAKE_OWNERSHIP_NAME = "SeTakeOwnershipPrivilege"; < 2151 const TCHAR[] SE_LOAD_DRIVER_NAME = "SeLoadDriverPrivilege"; < 2152 const TCHAR[] SE_SYSTEM_PROFILE_NAME = "SeSystemProfilePrivilege"; < 2153 const TCHAR[] SE_SYSTEMTIME_NAME = "SeSystemtimePrivilege"; < 2154 const TCHAR[] SE_PROF_SINGLE_PROCESS_NAME = "SeProfileSingleProcessPrivilege"; < 2155 const TCHAR[] SE_INC_BASE_PRIORITY_NAME = "SeIncreaseBasePriorityPrivilege"; < 2156 const TCHAR[] SE_CREATE_PAGEFILE_NAME = "SeCreatePagefilePrivilege"; < 2157 const TCHAR[] SE_CREATE_PERMANENT_NAME = "SeCreatePermanentPrivilege"; < 2158 const TCHAR[] SE_BACKUP_NAME = "SeBackupPrivilege"; < 2159 const TCHAR[] SE_RESTORE_NAME = "SeRestorePrivilege"; < 2160 const TCHAR[] SE_SHUTDOWN_NAME = "SeShutdownPrivilege"; < 2161 const TCHAR[] SE_DEBUG_NAME = "SeDebugPrivilege"; < 2162 const TCHAR[] SE_AUDIT_NAME = "SeAuditPrivilege"; < 2163 const TCHAR[] SE_SYSTEM_ENVIRONMENT_NAME = "SeSystemEnvironmentPrivilege"; < 2164 const TCHAR[] SE_CHANGE_NOTIFY_NAME = "SeChangeNotifyPrivilege"; < 2165 const TCHAR[] SE_REMOTE_SHUTDOWN_NAME = "SeRemoteShutdownPrivilege"; < 2166 const TCHAR[] SE_UNDOCK_NAME = "SeUndockPrivilege"; < 2167 const TCHAR[] SE_SYNC_AGENT_NAME = "SeSyncAgentPrivilege"; < 2168 const TCHAR[] SE_ENABLE_DELEGATION_NAME = "SeEnableDelegationPrivilege"; < 2169 const TCHAR[] SE_MANAGE_VOLUME_NAME = "SeManageVolumePrivilege"; < 2170 | 2256 2171 alias int _SECURITY_IMPERSONATION_LEVEL; < 2172 enum { < 2173 SecurityAnonymous, < 2174 SecurityIdentification, < 2175 SecurityImpersonation, < 2176 SecurityDelegation, < > 2257 SID_AND_ATTRIBUTES* Groups() { return &_Groups; } 2177 } | 2258 } 2178 alias _SECURITY_IMPERSONATION_LEVEL SECURITY_IMPERSONATION_LEVEL; < 2179 alias _SECURITY_IMPERSONATION_LEVEL* PSECURITY_IMPERSONATION_LEVEL; < > 2259 alias TOKEN_GROUPS* PTOKEN_GROUPS, LPTOKEN_GROUPS; 2180 | 2260 2181 alias SecurityDelegation SECURITY_MAX_IMPERSONATION_LEVEL; < 2182 alias SecurityAnonymous SECURITY_MIN_IMPERSONATION_LEVEL; < 2183 alias SecurityImpersonation DEFAULT_IMPERSONATION_LEVEL; < 2184 bit VALID_IMPERSONATION_LEVEL(SECURITY_IMPERSONATION_LEVEL L){ return (L >= SECU < > 2261 struct TOKEN_OWNER { > 2262 PSID Owner; 2185 | 2263 } 2186 enum : uint { TOKEN_ASSIGN_PRIMARY = 0x0001 } < 2187 enum : uint { TOKEN_DUPLICATE = 0x0002 } < 2188 enum : uint { TOKEN_IMPERSONATE = 0x0004 } < 2189 enum : uint { TOKEN_QUERY = 0x0008 } < 2190 enum : uint { TOKEN_QUERY_SOURCE = 0x0010 } < 2191 enum : uint { TOKEN_ADJUST_PRIVILEGES = 0x0020 } < 2192 enum : uint { TOKEN_ADJUST_GROUPS = 0x0040 } < 2193 enum : uint { TOKEN_ADJUST_DEFAULT = 0x0080 } < 2194 enum : uint { TOKEN_ADJUST_SESSIONID = 0x0100 } < > 2264 alias TOKEN_OWNER* PTOKEN_OWNER; 2195 | 2265 2196 enum : uint { TOKEN_ALL_ACCESS_P = STANDARD_RIGHTS_REQUIRED | TOKEN_ASSIGN_PRIMA < > 2266 struct TOKEN_PRIMARY_GROUP { > 2267 PSID PrimaryGroup; 2197 | 2268 } 2198 // #if ((defined(_WIN32_WINNT) && (_WIN32_WINNT > 0x0400)) || (!defined(_WIN32_W < 2199 enum : uint { TOKEN_ALL_ACCESS = TOKEN_ALL_ACCESS_P | TOKEN_ADJUST_SESSIONID } < 2200 // #else < 2201 // #... < 2202 // #endif < > 2269 alias TOKEN_PRIMARY_GROUP* PTOKEN_PRIMARY_GROUP; 2203 | 2270 2204 enum : uint { TOKEN_READ = STANDARD_RIGHTS_READ | TOKEN_QUERY } < > 2271 struct TOKEN_PRIVILEGES { > 2272 DWORD PrivilegeCount; > 2273 LUID_AND_ATTRIBUTES _Privileges; 2205 | 2274 2206 enum : uint { TOKEN_WRITE = STANDARD_RIGHTS_WRITE | TOKEN_ADJUST_PRIVILEGES | TO < > 2275 LUID_AND_ATTRIBUTES* Privileges() { return &_Privileges; } 2207 | 2276 } 2208 enum : uint { TOKEN_EXECUTE = STANDARD_RIGHTS_EXECUTE } < > 2277 alias TOKEN_PRIVILEGES* PTOKEN_PRIVILEGES, LPTOKEN_PRIVILEGES; 2209 | 2278 2210 alias int _TOKEN_TYPE; | 2279 enum TOKEN_TYPE { 2211 enum { < 2212 TokenPrimary = 1, | 2280 TokenPrimary = 1, 2213 TokenImpersonation, | 2281 TokenImpersonation 2214 } | 2282 } 2215 alias _TOKEN_TYPE TOKEN_TYPE; < 2216 < 2217 alias TOKEN_TYPE* PTOKEN_TYPE; 2283 alias TOKEN_TYPE* PTOKEN_TYPE; 2218 2284 2219 alias int _TOKEN_INFORMATION_CLASS; < 2220 enum { < 2221 TokenUser = 1, < 2222 TokenGroups, < 2223 TokenPrivileges, < 2224 TokenOwner, < 2225 TokenPrimaryGroup, < 2226 TokenDefaultDacl, < 2227 TokenSource, < 2228 TokenType, < 2229 TokenImpersonationLevel, < 2230 TokenStatistics, < 2231 TokenRestrictedSids, < 2232 TokenSessionId, < 2233 TokenGroupsAndPrivileges, < 2234 TokenSessionReference, < 2235 TokenSandBoxInert, < 2236 } < 2237 alias _TOKEN_INFORMATION_CLASS TOKEN_INFORMATION_CLASS; < 2238 alias _TOKEN_INFORMATION_CLASS* PTOKEN_INFORMATION_CLASS; < 2239 < 2240 struct _TOKEN_USER { < 2241 SID_AND_ATTRIBUTES User; < 2242 } < 2243 alias _TOKEN_USER TOKEN_USER; < 2244 alias _TOKEN_USER* PTOKEN_USER; < 2245 < 2246 struct _TOKEN_GROUPS { < 2247 DWORD GroupCount; < 2248 SID_AND_ATTRIBUTES Groups[ANYSIZE_ARRAY]; < 2249 } < 2250 alias _TOKEN_GROUPS TOKEN_GROUPS; < 2251 alias _TOKEN_GROUPS* PTOKEN_GROUPS; < 2252 < 2253 struct _TOKEN_PRIVILEGES { < 2254 DWORD PrivilegeCount; < 2255 LUID_AND_ATTRIBUTES Privileges[ANYSIZE_ARRAY]; < 2256 } < 2257 alias _TOKEN_PRIVILEGES TOKEN_PRIVILEGES; < 2258 alias _TOKEN_PRIVILEGES* PTOKEN_PRIVILEGES; < 2259 < 2260 struct _TOKEN_OWNER { < 2261 PSID Owner; < 2262 } < 2263 alias _TOKEN_OWNER TOKEN_OWNER; < 2264 alias _TOKEN_OWNER* PTOKEN_OWNER; < 2265 < 2266 struct _TOKEN_PRIMARY_GROUP { < 2267 PSID PrimaryGroup; < 2268 } < 2269 alias _TOKEN_PRIMARY_GROUP TOKEN_PRIMARY_GROUP; < 2270 alias _TOKEN_PRIMARY_GROUP* PTOKEN_PRIMARY_GROUP; < 2271 < 2272 struct _TOKEN_DEFAULT_DACL { < 2273 PACL DefaultDacl; < 2274 } < 2275 alias _TOKEN_DEFAULT_DACL TOKEN_DEFAULT_DACL; < 2276 alias _TOKEN_DEFAULT_DACL* PTOKEN_DEFAULT_DACL; < 2277 < 2278 struct _TOKEN_GROUPS_AND_PRIVILEGES { < 2279 DWORD SidCount; < 2280 DWORD SidLength; < 2281 PSID_AND_ATTRIBUTES Sids; < 2282 DWORD RestrictedSidCount; < 2283 DWORD RestrictedSidLength; < 2284 PSID_AND_ATTRIBUTES RestrictedSids; < 2285 DWORD PrivilegeCount; < 2286 DWORD PrivilegeLength; < 2287 PLUID_AND_ATTRIBUTES Privileges; < 2288 LUID AuthenticationId; < 2289 } < 2290 alias _TOKEN_GROUPS_AND_PRIVILEGES TOKEN_GROUPS_AND_PRIVILEGES; < 2291 alias _TOKEN_GROUPS_AND_PRIVILEGES* PTOKEN_GROUPS_AND_PRIVILEGES; < 2292 < 2293 enum : uint { TOKEN_SOURCE_LENGTH = 8 } < 2294 < 2295 struct _TOKEN_SOURCE { < 2296 CHAR SourceName[TOKEN_SOURCE_LENGTH]; < 2297 LUID SourceIdentifier; < 2298 } < 2299 alias _TOKEN_SOURCE TOKEN_SOURCE; < 2300 alias _TOKEN_SOURCE* PTOKEN_SOURCE; < 2301 < 2302 struct _TOKEN_STATISTICS { | 2285 struct TOKEN_STATISTICS { 2303 LUID TokenId; | 2286 LUID TokenId; 2304 LUID AuthenticationId; | 2287 LUID AuthenticationId; 2305 LARGE_INTEGER ExpirationTime; | 2288 LARGE_INTEGER ExpirationTime; 2306 TOKEN_TYPE TokenType; | 2289 TOKEN_TYPE TokenType; 2307 SECURITY_IMPERSONATION_LEVEL ImpersonationLevel; | 2290 SECURITY_IMPERSONATION_LEVEL ImpersonationLevel; 2308 DWORD DynamicCharged; | 2291 DWORD DynamicCharged; 2309 DWORD DynamicAvailable; | 2292 DWORD DynamicAvailable; 2310 DWORD GroupCount; | 2293 DWORD GroupCount; 2311 DWORD PrivilegeCount; | 2294 DWORD PrivilegeCount; 2312 LUID ModifiedId; | 2295 LUID ModifiedId; 2313 } | 2296 } 2314 alias _TOKEN_STATISTICS TOKEN_STATISTICS; < 2315 alias _TOKEN_STATISTICS* PTOKEN_STATISTICS; | 2297 alias TOKEN_STATISTICS* PTOKEN_STATISTICS; 2316 | 2298 2317 struct _TOKEN_CONTROL { < 2318 LUID TokenId; < 2319 LUID AuthenticationId; < 2320 LUID ModifiedId; < 2321 TOKEN_SOURCE TokenSource; < > 2299 struct TOKEN_USER { > 2300 SID_AND_ATTRIBUTES User; 2322 } | 2301 } 2323 alias _TOKEN_CONTROL TOKEN_CONTROL; < 2324 alias _TOKEN_CONTROL* PTOKEN_CONTROL; < 2325 < 2326 enum : uint { SECURITY_DYNAMIC_TRACKING = TRUE } < 2327 enum : uint { SECURITY_STATIC_TRACKING = FALSE } < 2328 < 2329 alias BOOLEAN SECURITY_CONTEXT_TRACKING_MODE; < 2330 alias BOOLEAN* PSECURITY_CONTEXT_TRACKING_MODE; < 2331 < 2332 struct _SECURITY_QUALITY_OF_SERVICE { < 2333 DWORD Length; < 2334 SECURITY_IMPERSONATION_LEVEL ImpersonationLevel; < 2335 SECURITY_CONTEXT_TRACKING_MODE ContextTrackingMode; < 2336 BOOLEAN EffectiveOnly; < 2337 } < 2338 alias _SECURITY_QUALITY_OF_SERVICE SECURITY_QUALITY_OF_SERVICE; < 2339 alias _SECURITY_QUALITY_OF_SERVICE* PSECURITY_QUALITY_OF_SERVICE; < 2340 < 2341 struct _SE_IMPERSONATION_STATE { < 2342 PACCESS_TOKEN Token; < 2343 BOOLEAN CopyOnOpen; < 2344 BOOLEAN EffectiveOnly; < 2345 SECURITY_IMPERSONATION_LEVEL Level; < 2346 } < 2347 alias _SE_IMPERSONATION_STATE SE_IMPERSONATION_STATE; < 2348 alias _SE_IMPERSONATION_STATE* PSE_IMPERSONATION_STATE; < 2349 < 2350 enum : uint { DISABLE_MAX_PRIVILEGE = 0x1 } < 2351 enum : uint { SANDBOX_INERT = 0x2 } < > 2302 alias TOKEN_USER* PTOKEN_USER; 2352 2303 2353 alias DWORD SECURITY_INFORMATION; 2304 alias DWORD SECURITY_INFORMATION; 2354 alias DWORD* PSECURITY_INFORMATION; | 2305 alias SECURITY_INFORMATION* PSECURITY_INFORMATION; > 2306 alias WORD SECURITY_DESCRIPTOR_CONTROL; > 2307 alias SECURITY_DESCRIPTOR_CONTROL* PSECURITY_DESCRIPTOR_CONTROL; 2355 | 2308 2356 enum : uint { OWNER_SECURITY_INFORMATION = 0x00000001 } < 2357 enum : uint { GROUP_SECURITY_INFORMATION = 0x00000002 } < 2358 enum : uint { DACL_SECURITY_INFORMATION = 0x00000004 } | 2309 struct SECURITY_DESCRIPTOR { 2359 enum : uint { SACL_SECURITY_INFORMATION = 0x00000008 } | 2310 BYTE Revision; > 2311 BYTE Sbz1; > 2312 SECURITY_DESCRIPTOR_CONTROL Control; > 2313 PSID Owner; > 2314 PSID Group; > 2315 PACL Sacl; > 2316 PACL Dacl; 2360 | 2317 } 2361 enum : uint { PROTECTED_DACL_SECURITY_INFORMATION = 0x80000000 } < 2362 enum : uint { PROTECTED_SACL_SECURITY_INFORMATION = 0x40000000 } < 2363 enum : uint { UNPROTECTED_DACL_SECURITY_INFORMATION = 0x20000000 } < 2364 enum : uint { UNPROTECTED_SACL_SECURITY_INFORMATION = 0x10000000 } < > 2318 alias SECURITY_DESCRIPTOR* PSECURITY_DESCRIPTOR, PISECURITY_DESCRIPTOR; 2365 | 2319 2366 enum : uint { PROCESS_TERMINATE = 0x0001 } < 2367 enum : uint { PROCESS_CREATE_THREAD = 0x0002 } < 2368 enum : uint { PROCESS_SET_SESSIONID = 0x0004 } < 2369 enum : uint { PROCESS_VM_OPERATION = 0x0008 } | 2320 enum TOKEN_INFORMATION_CLASS { 2370 enum : uint { PROCESS_VM_READ = 0x0010 } | 2321 TokenUser = 1, 2371 enum : uint { PROCESS_VM_WRITE = 0x0020 } | 2322 TokenGroups, 2372 enum : uint { PROCESS_DUP_HANDLE = 0x0040 } | 2323 TokenPrivileges, 2373 enum : uint { PROCESS_CREATE_PROCESS = 0x0080 } | 2324 TokenOwner, 2374 enum : uint { PROCESS_SET_QUOTA = 0x0100 } | 2325 TokenPrimaryGroup, 2375 enum : uint { PROCESS_SET_INFORMATION = 0x0200 } | 2326 TokenDefaultDacl, 2376 enum : uint { PROCESS_QUERY_INFORMATION = 0x0400 } | 2327 TokenSource, 2377 enum : uint { PROCESS_SUSPEND_RESUME = 0x0800 } | 2328 TokenType, 2378 enum : uint { PROCESS_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0xFF | 2329 TokenImpersonationLevel, 2379 < > 2330 TokenStatistics, 2380 // #if defined(_WIN64) | 2331 TokenRestrictedSids, 2381 < 2382 // #... < 2383 < > 2332 TokenSessionId, > 2333 TokenGroupsAndPrivileges, > 2334 TokenSessionReference, 2384 // #else | 2335 TokenSandBoxInert, 2385 < > 2336 TokenAuditPolicy, 2386 enum : uint { MAXIMUM_PROCESSORS = 32 } | 2337 TokenOrigin 2387 | 2338 } 2388 // #endif < 2389 | 2339 > 2340 enum SID_NAME_USE { 2390 enum : uint { THREAD_TERMINATE = 0x0001 } | 2341 SidTypeUser = 1, 2391 enum : uint { THREAD_SUSPEND_RESUME = 0x0002 } | 2342 SidTypeGroup, 2392 enum : uint { THREAD_GET_CONTEXT = 0x0008 } | 2343 SidTypeDomain, 2393 enum : uint { THREAD_SET_CONTEXT = 0x0010 } | 2344 SidTypeAlias, 2394 enum : uint { THREAD_SET_INFORMATION = 0x0020 } | 2345 SidTypeWellKnownGroup, 2395 enum : uint { THREAD_QUERY_INFORMATION = 0x0040 } | 2346 SidTypeDeletedAccount, 2396 enum : uint { THREAD_SET_THREAD_TOKEN = 0x0080 } | 2347 SidTypeInvalid, 2397 enum : uint { THREAD_IMPERSONATE = 0x0100 } | 2348 SidTypeUnknown, 2398 enum : uint { THREAD_DIRECT_IMPERSONATION = 0x0200 } | 2349 SidTypeComputer 2399 | 2350 } 2400 enum : uint { THREAD_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0x3FF | 2351 alias SID_NAME_USE* PSID_NAME_USE; 2401 | 2352 2402 enum : uint { JOB_OBJECT_ASSIGN_PROCESS = 0x0001 } < 2403 enum : uint { JOB_OBJECT_SET_ATTRIBUTES = 0x0002 } < 2404 enum : uint { JOB_OBJECT_QUERY = 0x0004 } < 2405 enum : uint { JOB_OBJECT_TERMINATE = 0x0008 } < 2406 enum : uint { JOB_OBJECT_SET_SECURITY_ATTRIBUTES = 0x0010 } < 2407 enum : uint { JOB_OBJECT_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0 < 2408 < 2409 struct _JOB_SET_ARRAY { < 2410 HANDLE JobHandle; < 2411 DWORD MemberLevel; < 2412 DWORD Flags; < 2413 } < 2414 alias _JOB_SET_ARRAY JOB_SET_ARRAY; < 2415 alias _JOB_SET_ARRAY* PJOB_SET_ARRAY; < 2416 < 2417 enum : uint { TLS_MINIMUM_AVAILABLE = 64 } < 2418 < 2419 struct _NT_TIB { < 2420 _EXCEPTION_REGISTRATION_RECORD *ExceptionList; < 2421 PVOID StackBase; < 2422 PVOID StackLimit; < 2423 PVOID SubSystemTib; < 2424 union { < 2425 PVOID FiberData; < 2426 DWORD Version; < 2427 } < 2428 < 2429 PVOID ArbitraryUserPointer; < 2430 _NT_TIB *Self; < 2431 } < 2432 alias _NT_TIB NT_TIB; < 2433 < 2434 alias NT_TIB* PNT_TIB; < 2435 < 2436 struct _NT_TIB32 { < 2437 DWORD ExceptionList; < 2438 DWORD StackBase; < 2439 DWORD StackLimit; < 2440 DWORD SubSystemTib; < 2441 union { < 2442 DWORD FiberData; < 2443 DWORD Version; < 2444 } < 2445 < 2446 DWORD ArbitraryUserPointer; < 2447 DWORD Self; < 2448 } < 2449 alias _NT_TIB32 NT_TIB32; < 2450 alias _NT_TIB32* PNT_TIB32; < 2451 < 2452 struct _NT_TIB64 { < 2453 DWORD64 ExceptionList; < 2454 DWORD64 StackBase; < 2455 DWORD64 StackLimit; < 2456 DWORD64 SubSystemTib; < 2457 union { < 2458 DWORD64 FiberData; < 2459 DWORD Version; < 2460 } < 2461 < 2462 DWORD64 ArbitraryUserPointer; < 2463 DWORD64 Self; < 2464 } < 2465 alias _NT_TIB64 NT_TIB64; < 2466 alias _NT_TIB64* PNT_TIB64; < 2467 < 2468 // #if !defined(_X86_) && !defined(_IA64_) && !defined(_AMD64_) < 2469 // #... < 2470 // #endif < 2471 < 2472 enum : uint { THREAD_BASE_PRIORITY_LOWRT = 15 } < 2473 enum : uint { THREAD_BASE_PRIORITY_MAX = 2 } < 2474 enum { THREAD_BASE_PRIORITY_MIN = -2 } < 2475 enum { THREAD_BASE_PRIORITY_IDLE = -15 } < 2476 < 2477 struct _QUOTA_LIMITS { | 2353 struct QUOTA_LIMITS { 2478 SIZE_T PagedPoolLimit; | 2354 SIZE_T PagedPoolLimit; 2479 SIZE_T NonPagedPoolLimit; | 2355 SIZE_T NonPagedPoolLimit; 2480 SIZE_T MinimumWorkingSetSize; | 2356 SIZE_T MinimumWorkingSetSize; 2481 SIZE_T MaximumWorkingSetSize; | 2357 SIZE_T MaximumWorkingSetSize; 2482 SIZE_T PagefileLimit; | 2358 SIZE_T PagefileLimit; 2483 LARGE_INTEGER TimeLimit; | 2359 LARGE_INTEGER TimeLimit; 2484 } | 2360 } 2485 alias _QUOTA_LIMITS QUOTA_LIMITS; < 2486 < 2487 alias QUOTA_LIMITS* PQUOTA_LIMITS; 2361 alias QUOTA_LIMITS* PQUOTA_LIMITS; 2488 2362 2489 struct _IO_COUNTERS { | 2363 struct IO_COUNTERS { 2490 ULONGLONG ReadOperationCount; | 2364 ULONGLONG ReadOperationCount; 2491 ULONGLONG WriteOperationCount; | 2365 ULONGLONG WriteOperationCount; 2492 ULONGLONG OtherOperationCount; | 2366 ULONGLONG OtherOperationCount; 2493 ULONGLONG ReadTransferCount; | 2367 ULONGLONG ReadTransferCount; 2494 ULONGLONG WriteTransferCount; | 2368 ULONGLONG WriteTransferCount; 2495 ULONGLONG OtherTransferCount; | 2369 ULONGLONG OtherTransferCount; 2496 } 2370 } 2497 alias _IO_COUNTERS IO_COUNTERS; < 2498 < 2499 alias IO_COUNTERS* PIO_COUNTERS; 2371 alias IO_COUNTERS* PIO_COUNTERS; 2500 2372 2501 struct _JOBOBJECT_BASIC_ACCOUNTING_INFORMATION { | 2373 struct FILE_NOTIFY_INFORMATION { 2502 LARGE_INTEGER TotalUserTime; | 2374 DWORD NextEntryOffset; 2503 LARGE_INTEGER TotalKernelTime; < 2504 LARGE_INTEGER ThisPeriodTotalUserTime; < 2505 LARGE_INTEGER ThisPeriodTotalKernelTime; < 2506 DWORD TotalPageFaultCount; < 2507 DWORD TotalProcesses; < 2508 DWORD ActiveProcesses; | 2375 DWORD Action; 2509 DWORD TotalTerminatedProcesses; < > 2376 DWORD FileNameLength; > 2377 WCHAR _FileName; 2510 } | 2378 2511 alias _JOBOBJECT_BASIC_ACCOUNTING_INFORMATION JOBOBJECT_BASIC_ACCOUNTING_INFORMA < 2512 alias _JOBOBJECT_BASIC_ACCOUNTING_INFORMATION* PJOBOBJECT_BASIC_ACCOUNTING_INFOR < > 2379 WCHAR* FileName() { return &_FileName; } 2513 | 2380 } 2514 struct _JOBOBJECT_BASIC_LIMIT_INFORMATION { < 2515 LARGE_INTEGER PerProcessUserTimeLimit; < 2516 LARGE_INTEGER PerJobUserTimeLimit; < > 2381 alias FILE_NOTIFY_INFORMATION* PFILE_NOTIFY_INFORMATION; > 2382 > 2383 struct TAPE_ERASE { 2517 DWORD LimitFlags; | 2384 DWORD Type; > 2385 BOOLEAN Immediate; > 2386 } > 2387 alias TAPE_ERASE* PTAPE_ERASE; > 2388 > 2389 struct TAPE_GET_DRIVE_PARAMETERS { 2518 SIZE_T MinimumWorkingSetSize; | 2390 BOOLEAN ECC; 2519 SIZE_T MaximumWorkingSetSize; | 2391 BOOLEAN Compression; 2520 DWORD ActiveProcessLimit; | 2392 BOOLEAN DataPadding; 2521 ULONG_PTR Affinity; | 2393 BOOLEAN ReportSetmarks; 2522 DWORD PriorityClass; | 2394 DWORD DefaultBlockSize; 2523 DWORD SchedulingClass; | 2395 DWORD MaximumBlockSize; > 2396 DWORD MinimumBlockSize; > 2397 DWORD MaximumPartitionCount; > 2398 DWORD FeaturesLow; > 2399 DWORD FeaturesHigh; > 2400 DWORD EOTWarningZoneSize; 2524 } | 2401 } 2525 alias _JOBOBJECT_BASIC_LIMIT_INFORMATION JOBOBJECT_BASIC_LIMIT_INFORMATION; < 2526 alias _JOBOBJECT_BASIC_LIMIT_INFORMATION* PJOBOBJECT_BASIC_LIMIT_INFORMATION; < > 2402 alias TAPE_GET_DRIVE_PARAMETERS* PTAPE_GET_DRIVE_PARAMETERS; 2527 | 2403 2528 struct _JOBOBJECT_EXTENDED_LIMIT_INFORMATION { < 2529 JOBOBJECT_BASIC_LIMIT_INFORMATION BasicLimitInformation; < 2530 IO_COUNTERS IoInfo; < 2531 SIZE_T ProcessMemoryLimit; < 2532 SIZE_T JobMemoryLimit; | 2404 struct TAPE_GET_MEDIA_PARAMETERS { 2533 SIZE_T PeakProcessMemoryUsed; | 2405 LARGE_INTEGER Capacity; 2534 SIZE_T PeakJobMemoryUsed; | 2406 LARGE_INTEGER Remaining; > 2407 DWORD BlockSize; > 2408 DWORD PartitionCount; > 2409 BOOLEAN WriteProtected; 2535 } | 2410 } 2536 alias _JOBOBJECT_EXTENDED_LIMIT_INFORMATION JOBOBJECT_EXTENDED_LIMIT_INFORMATION < 2537 alias _JOBOBJECT_EXTENDED_LIMIT_INFORMATION* PJOBOBJECT_EXTENDED_LIMIT_INFORMATI < > 2411 alias TAPE_GET_MEDIA_PARAMETERS* PTAPE_GET_MEDIA_PARAMETERS; 2538 | 2412 2539 struct _JOBOBJECT_BASIC_PROCESS_ID_LIST { < 2540 DWORD NumberOfAssignedProcesses; < 2541 DWORD NumberOfProcessIdsInList; | 2413 struct TAPE_GET_POSITION { 2542 ULONG_PTR ProcessIdList[1]; | 2414 ULONG Type; > 2415 ULONG Partition; > 2416 ULONG OffsetLow; > 2417 ULONG OffsetHigh; 2543 } | 2418 } 2544 alias _JOBOBJECT_BASIC_PROCESS_ID_LIST JOBOBJECT_BASIC_PROCESS_ID_LIST; < 2545 alias _JOBOBJECT_BASIC_PROCESS_ID_LIST* PJOBOBJECT_BASIC_PROCESS_ID_LIST; < > 2419 alias TAPE_GET_POSITION* PTAPE_GET_POSITION; 2546 | 2420 2547 struct _JOBOBJECT_BASIC_UI_RESTRICTIONS { < 2548 DWORD UIRestrictionsClass; < > 2421 struct TAPE_PREPARE { > 2422 DWORD Operation; > 2423 BOOLEAN Immediate; 2549 } | 2424 } 2550 alias _JOBOBJECT_BASIC_UI_RESTRICTIONS JOBOBJECT_BASIC_UI_RESTRICTIONS; < 2551 alias _JOBOBJECT_BASIC_UI_RESTRICTIONS* PJOBOBJECT_BASIC_UI_RESTRICTIONS; < > 2425 alias TAPE_PREPARE* PTAPE_PREPARE; 2552 | 2426 2553 struct _JOBOBJECT_SECURITY_LIMIT_INFORMATION { < 2554 DWORD SecurityLimitFlags ; < 2555 HANDLE JobToken ; | 2427 struct TAPE_SET_DRIVE_PARAMETERS { 2556 PTOKEN_GROUPS SidsToDisable ; | 2428 BOOLEAN ECC; 2557 PTOKEN_PRIVILEGES PrivilegesToDelete ; | 2429 BOOLEAN Compression; 2558 PTOKEN_GROUPS RestrictedSids ; | 2430 BOOLEAN DataPadding; > 2431 BOOLEAN ReportSetmarks; > 2432 ULONG EOTWarningZoneSize; 2559 } | 2433 } 2560 alias _JOBOBJECT_SECURITY_LIMIT_INFORMATION JOBOBJECT_SECURITY_LIMIT_INFORMATION < 2561 alias _JOBOBJECT_SECURITY_LIMIT_INFORMATION* PJOBOBJECT_SECURITY_LIMIT_INFORMATI < > 2434 alias TAPE_SET_DRIVE_PARAMETERS* PTAPE_SET_DRIVE_PARAMETERS; 2562 | 2435 2563 struct _JOBOBJECT_END_OF_JOB_TIME_INFORMATION { < 2564 DWORD EndOfJobTimeAction; | 2436 struct TAPE_SET_MEDIA_PARAMETERS { > 2437 ULONG BlockSize; 2565 } | 2438 } 2566 alias _JOBOBJECT_END_OF_JOB_TIME_INFORMATION JOBOBJECT_END_OF_JOB_TIME_INFORMATI < 2567 alias _JOBOBJECT_END_OF_JOB_TIME_INFORMATION* PJOBOBJECT_END_OF_JOB_TIME_INFORMA | 2439 alias TAPE_SET_MEDIA_PARAMETERS* PTAPE_SET_MEDIA_PARAMETERS; 2568 | 2440 2569 struct _JOBOBJECT_ASSOCIATE_COMPLETION_PORT { | 2441 struct TAPE_SET_POSITION { 2570 PVOID CompletionKey; | 2442 DWORD Method; 2571 HANDLE CompletionPort; | 2443 DWORD Partition; > 2444 LARGE_INTEGER Offset; > 2445 BOOLEAN Immediate; 2572 } | 2446 } 2573 alias _JOBOBJECT_ASSOCIATE_COMPLETION_PORT JOBOBJECT_ASSOCIATE_COMPLETION_PORT; < 2574 alias _JOBOBJECT_ASSOCIATE_COMPLETION_PORT* PJOBOBJECT_ASSOCIATE_COMPLETION_PORT < > 2447 alias TAPE_SET_POSITION* PTAPE_SET_POSITION; 2575 | 2448 2576 struct _JOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION { < 2577 JOBOBJECT_BASIC_ACCOUNTING_INFORMATION BasicInfo; | 2449 struct TAPE_WRITE_MARKS { 2578 IO_COUNTERS IoInfo; | 2450 DWORD Type; > 2451 DWORD Count; > 2452 BOOLEAN Immediate; 2579 } | 2453 } 2580 alias _JOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION JOBOBJECT_BASIC_AND_IO_ACCO < 2581 alias _JOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION* PJOBOBJECT_BASIC_AND_IO_AC < > 2454 alias TAPE_WRITE_MARKS* PTAPE_WRITE_MARKS; 2582 | 2455 2583 struct _JOBOBJECT_JOBSET_INFORMATION { < > 2456 struct TAPE_CREATE_PARTITION { 2584 DWORD MemberLevel; | 2457 DWORD Method; > 2458 DWORD Count; > 2459 DWORD Size; 2585 } | 2460 } 2586 alias _JOBOBJECT_JOBSET_INFORMATION JOBOBJECT_JOBSET_INFORMATION; < 2587 alias _JOBOBJECT_JOBSET_INFORMATION* PJOBOBJECT_JOBSET_INFORMATION; < > 2461 alias TAPE_CREATE_PARTITION* PTAPE_CREATE_PARTITION; 2588 | 2462 2589 enum : uint { JOB_OBJECT_TERMINATE_AT_END_OF_JOB = 0 } < 2590 enum : uint { JOB_OBJECT_POST_AT_END_OF_JOB = 1 } < > 2463 struct MEMORY_BASIC_INFORMATION { > 2464 PVOID BaseAddress; > 2465 PVOID AllocationBase; > 2466 DWORD AllocationProtect; > 2467 DWORD RegionSize; > 2468 DWORD State; > 2469 DWORD Protect; > 2470 DWORD Type; 2591 | 2471 } 2592 enum : uint { JOB_OBJECT_MSG_END_OF_JOB_TIME = 1 } < 2593 enum : uint { JOB_OBJECT_MSG_END_OF_PROCESS_TIME = 2 } < 2594 enum : uint { JOB_OBJECT_MSG_ACTIVE_PROCESS_LIMIT = 3 } < 2595 enum : uint { JOB_OBJECT_MSG_ACTIVE_PROCESS_ZERO = 4 } < 2596 enum : uint { JOB_OBJECT_MSG_NEW_PROCESS = 6 } < 2597 enum : uint { JOB_OBJECT_MSG_EXIT_PROCESS = 7 } < 2598 enum : uint { JOB_OBJECT_MSG_ABNORMAL_EXIT_PROCESS = 8 } < 2599 enum : uint { JOB_OBJECT_MSG_PROCESS_MEMORY_LIMIT = 9 } < 2600 enum : uint { JOB_OBJECT_MSG_JOB_MEMORY_LIMIT = 10 } | 2472 alias MEMORY_BASIC_INFORMATION* PMEMORY_BASIC_INFORMATION; 2601 | 2473 2602 enum : uint { JOB_OBJECT_LIMIT_WORKINGSET = 0x00000001 } | 2474 struct MESSAGE_RESOURCE_ENTRY { 2603 enum : uint { JOB_OBJECT_LIMIT_PROCESS_TIME = 0x00000002 } | 2475 WORD Length; 2604 enum : uint { JOB_OBJECT_LIMIT_JOB_TIME = 0x00000004 } | 2476 WORD Flags; 2605 enum : uint { JOB_OBJECT_LIMIT_ACTIVE_PROCESS = 0x00000008 } | 2477 BYTE _Text; 2606 enum : uint { JOB_OBJECT_LIMIT_AFFINITY = 0x00000010 } < 2607 enum : uint { JOB_OBJECT_LIMIT_PRIORITY_CLASS = 0x00000020 } < 2608 enum : uint { JOB_OBJECT_LIMIT_PRESERVE_JOB_TIME = 0x00000040 } < 2609 enum : uint { JOB_OBJECT_LIMIT_SCHEDULING_CLASS = 0x00000080 } < 2610 | 2478 2611 enum : uint { JOB_OBJECT_LIMIT_PROCESS_MEMORY = 0x00000100 } < 2612 enum : uint { JOB_OBJECT_LIMIT_JOB_MEMORY = 0x00000200 } < 2613 enum : uint { JOB_OBJECT_LIMIT_DIE_ON_UNHANDLED_EXCEPTION = 0x00000400 } < 2614 enum : uint { JOB_OBJECT_LIMIT_BREAKAWAY_OK = 0x00000800 } < 2615 enum : uint { JOB_OBJECT_LIMIT_SILENT_BREAKAWAY_OK = 0x00001000 } < 2616 enum : uint { JOB_OBJECT_LIMIT_KILL_ON_JOB_CLOSE = 0x00002000 } < > 2479 BYTE* Text() { return &_Text; } 2617 | 2480 } 2618 enum : uint { JOB_OBJECT_LIMIT_RESERVED2 = 0x00004000 } < 2619 enum : uint { JOB_OBJECT_LIMIT_RESERVED3 = 0x00008000 } < 2620 enum : uint { JOB_OBJECT_LIMIT_RESERVED4 = 0x00010000 } < 2621 enum : uint { JOB_OBJECT_LIMIT_RESERVED5 = 0x00020000 } < 2622 enum : uint { JOB_OBJECT_LIMIT_RESERVED6 = 0x00040000 } < > 2481 alias MESSAGE_RESOURCE_ENTRY* PMESSAGE_RESOURCE_ENTRY; 2623 | 2482 2624 enum : uint { JOB_OBJECT_LIMIT_VALID_FLAGS = 0x0007ffff } < > 2483 struct MESSAGE_RESOURCE_BLOCK { > 2484 DWORD LowId; > 2485 DWORD HighId; > 2486 DWORD OffsetToEntries; 2625 | 2487 } 2626 enum : uint { JOB_OBJECT_BASIC_LIMIT_VALID_FLAGS = 0x000000ff } < 2627 enum : uint { JOB_OBJECT_EXTENDED_LIMIT_VALID_FLAGS = 0x00003fff } < 2628 enum : uint { JOB_OBJECT_RESERVED_LIMIT_VALID_FLAGS = 0x0007ffff } < > 2488 alias MESSAGE_RESOURCE_BLOCK* PMESSAGE_RESOURCE_BLOCK; 2629 | 2489 2630 enum : uint { JOB_OBJECT_UILIMIT_NONE = 0x00000000 } < > 2490 struct MESSAGE_RESOURCE_DATA { > 2491 DWORD NumberOfBlocks; > 2492 MESSAGE_RESOURCE_BLOCK _Blocks; 2631 | 2493 2632 enum : uint { JOB_OBJECT_UILIMIT_HANDLES = 0x00000001 } < 2633 enum : uint { JOB_OBJECT_UILIMIT_READCLIPBOARD = 0x00000002 } < 2634 enum : uint { JOB_OBJECT_UILIMIT_WRITECLIPBOARD = 0x00000004 } < 2635 enum : uint { JOB_OBJECT_UILIMIT_SYSTEMPARAMETERS = 0x00000008 } < 2636 enum : uint { JOB_OBJECT_UILIMIT_DISPLAYSETTINGS = 0x00000010 } < 2637 enum : uint { JOB_OBJECT_UILIMIT_GLOBALATOMS = 0x00000020 } < 2638 enum : uint { JOB_OBJECT_UILIMIT_DESKTOP = 0x00000040 } < 2639 enum : uint { JOB_OBJECT_UILIMIT_EXITWINDOWS = 0x00000080 } < > 2494 MESSAGE_RESOURCE_BLOCK* Blocks() { return &_Blocks; } 2640 | 2495 } 2641 enum : uint { JOB_OBJECT_UILIMIT_ALL = 0x000000FF } < > 2496 alias MESSAGE_RESOURCE_DATA* PMESSAGE_RESOURCE_DATA; 2642 | 2497 2643 enum : uint { JOB_OBJECT_UI_VALID_FLAGS = 0x000000FF } < > 2498 struct LIST_ENTRY { > 2499 LIST_ENTRY* Flink; > 2500 LIST_ENTRY* Blink; 2644 | 2501 } 2645 enum : uint { JOB_OBJECT_SECURITY_NO_ADMIN = 0x00000001 } < 2646 enum : uint { JOB_OBJECT_SECURITY_RESTRICTED_TOKEN = 0x00000002 } < 2647 enum : uint { JOB_OBJECT_SECURITY_ONLY_TOKEN = 0x00000004 } < 2648 enum : uint { JOB_OBJECT_SECURITY_FILTER_TOKENS = 0x00000008 } < > 2502 alias LIST_ENTRY* PLIST_ENTRY; 2649 | 2503 2650 enum : uint { JOB_OBJECT_SECURITY_VALID_FLAGS = 0x0000000f } < > 2504 struct SINGLE_LIST_ENTRY { > 2505 SINGLE_LIST_ENTRY* Next; 2651 | 2506 } 2652 alias int _JOBOBJECTINFOCLASS; < 2653 enum { < 2654 JobObjectBasicAccountingInformation = 1, < 2655 JobObjectBasicLimitInformation, < 2656 JobObjectBasicProcessIdList, < 2657 JobObjectBasicUIRestrictions, < 2658 JobObjectSecurityLimitInformation, < 2659 JobObjectEndOfJobTimeInformation, < 2660 JobObjectAssociateCompletionPortInformation, < 2661 JobObjectBasicAndIoAccountingInformation, < 2662 JobObjectExtendedLimitInformation, < 2663 JobObjectJobSetInformation, < 2664 MaxJobObjectInfoClass, < > 2507 alias SINGLE_LIST_ENTRY SLIST_ENTRY; > 2508 alias SINGLE_LIST_ENTRY* PSINGLE_LIST_ENTRY, PSLIST_ENTRY; 2665 } | 2509 2666 alias _JOBOBJECTINFOCLASS JOBOBJECTINFOCLASS; < > 2510 union SLIST_HEADER { > 2511 ULONGLONG Alignment; > 2512 struct { > 2513 SLIST_ENTRY Next; > 2514 WORD Depth; > 2515 WORD Sequence; 2667 | 2516 } 2668 enum : uint { EVENT_MODIFY_STATE = 0x0002 } < 2669 enum : uint { EVENT_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE|0x3 } < 2670 enum : uint { MUTANT_QUERY_STATE = 0x0001 } < 2671 | 2517 } 2672 enum : uint { MUTANT_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE| MUTANT_Q < 2673 enum : uint { SEMAPHORE_MODIFY_STATE = 0x0002 } < 2674 enum : uint { SEMAPHORE_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE|0x3 } < > 2518 alias SLIST_HEADER* PSLIST_HEADER; 2675 | 2519 2676 enum : uint { TIMER_QUERY_STATE = 0x0001 } < 2677 enum : uint { TIMER_MODIFY_STATE = 0x0002 } < > 2520 struct RTL_CRITICAL_SECTION_DEBUG { > 2521 WORD Type; > 2522 WORD CreatorBackTraceIndex; > 2523 RTL_CRITICAL_SECTION* CriticalSection; > 2524 LIST_ENTRY ProcessLocksList; > 2525 DWORD EntryCount; > 2526 DWORD ContentionCount; > 2527 DWORD[2] Spare; 2678 | 2528 } 2679 enum : uint { TIMER_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE| TIMER_QUE < > 2529 alias RTL_CRITICAL_SECTION_DEBUG* PRTL_CRITICAL_SECTION_DEBUG; 2680 | 2530 2681 enum : uint { TIME_ZONE_ID_UNKNOWN = 0 } < 2682 enum : uint { TIME_ZONE_ID_STANDARD = 1 } < 2683 enum : uint { TIME_ZONE_ID_DAYLIGHT = 2 } < > 2531 struct RTL_CRITICAL_SECTION { > 2532 PRTL_CRITICAL_SECTION_DEBUG DebugInfo; > 2533 LONG LockCount; > 2534 LONG RecursionCount; > 2535 HANDLE OwningThread; > 2536 HANDLE LockSemaphore; > 2537 DWORD Reserved; 2684 | 2538 } 2685 enum : uint { MAXIMUM_NUMA_NODES = 16 } < > 2539 alias RTL_CRITICAL_SECTION* PRTL_CRITICAL_SECTION; 2686 | 2540 2687 struct _SYSTEM_NUMA_INFORMATION { < 2688 DWORD HighestNodeNumber; < > 2541 struct EVENTLOGRECORD { > 2542 DWORD Length; 2689 DWORD Reserved; | 2543 DWORD Reserved; 2690 union { < 2691 ULONGLONG ActiveProcessorsAffinityMask[MAXIMUM_NUMA_NODES]; < 2692 ULONGLONG AvailableMemory[MAXIMUM_NUMA_NODES]; < > 2544 DWORD RecordNumber; > 2545 DWORD TimeGenerated; > 2546 DWORD TimeWritten; > 2547 DWORD EventID; > 2548 WORD EventType; > 2549 WORD NumStrings; > 2550 WORD EventCategory; > 2551 WORD ReservedFlags; > 2552 DWORD ClosingRecordNumber; > 2553 DWORD StringOffset; > 2554 DWORD UserSidLength; > 2555 DWORD UserSidOffset; > 2556 DWORD DataLength; > 2557 DWORD DataOffset; 2693 } | 2558 } > 2559 alias EVENTLOGRECORD* PEVENTLOGRECORD; 2694 | 2560 > 2561 struct OSVERSIONINFOA { > 2562 DWORD dwOSVersionInfoSize; > 2563 DWORD dwMajorVersion; > 2564 DWORD dwMinorVersion; > 2565 DWORD dwBuildNumber; > 2566 DWORD dwPlatformId; > 2567 CHAR[128] szCSDVersion; 2695 } | 2568 } 2696 alias _SYSTEM_NUMA_INFORMATION SYSTEM_NUMA_INFORMATION; < 2697 alias _SYSTEM_NUMA_INFORMATION* PSYSTEM_NUMA_INFORMATION; | 2569 alias OSVERSIONINFOA* POSVERSIONINFOA, LPOSVERSIONINFOA; 2698 | 2570 2699 enum : uint { PROCESSOR_INTEL_386 = 386 } | 2571 struct OSVERSIONINFOW { 2700 enum : uint { PROCESSOR_INTEL_486 = 486 } | 2572 DWORD dwOSVersionInfoSize; 2701 enum : uint { PROCESSOR_INTEL_PENTIUM = 586 } | 2573 DWORD dwMajorVersion; 2702 enum : uint { PROCESSOR_INTEL_IA64 = 2200 } | 2574 DWORD dwMinorVersion; 2703 enum : uint { PROCESSOR_MIPS_R4000 = 4000 } | 2575 DWORD dwBuildNumber; 2704 enum : uint { PROCESSOR_ALPHA_21064 = 21064 } | 2576 DWORD dwPlatformId; 2705 enum : uint { PROCESSOR_PPC_601 = 601 } | 2577 WCHAR[128] szCSDVersion; 2706 enum : uint { PROCESSOR_PPC_603 = 603 } < > 2578 } 2707 enum : uint { PROCESSOR_PPC_604 = 604 } | 2579 alias OSVERSIONINFOW* POSVERSIONINFOW, LPOSVERSIONINFOW; 2708 enum : uint { PROCESSOR_PPC_620 = 620 } < > 2580 2709 enum : uint { PROCESSOR_HITACHI_SH3 = 10003 } | 2581 struct OSVERSIONINFOEXA { 2710 enum : uint { PROCESSOR_HITACHI_SH3E = 10004 } | 2582 DWORD dwOSVersionInfoSize; 2711 enum : uint { PROCESSOR_HITACHI_SH4 = 10005 } | 2583 DWORD dwMajorVersion; 2712 enum : uint { PROCESSOR_MOTOROLA_821 = 821 } | 2584 DWORD dwMinorVersion; 2713 enum : uint { PROCESSOR_SHx_SH3 = 103 } | 2585 DWORD dwBuildNumber; 2714 enum : uint { PROCESSOR_SHx_SH4 = 104 } | 2586 DWORD dwPlatformId; 2715 enum : uint { PROCESSOR_STRONGARM = 2577 } | 2587 CHAR[128] szCSDVersion; 2716 enum : uint { PROCESSOR_ARM720 = 1824 } | 2588 WORD wServicePackMajor; 2717 enum : uint { PROCESSOR_ARM820 = 2080 } | 2589 WORD wServicePackMinor; 2718 enum : uint { PROCESSOR_ARM920 = 2336 } | 2590 WORD wSuiteMask; 2719 enum : uint { PROCESSOR_ARM_7TDMI = 70001 } | 2591 BYTE wProductType; 2720 enum : uint { PROCESSOR_OPTIL = 0x494f } | 2592 BYTE wReserved; 2721 | 2593 } 2722 enum : uint { PROCESSOR_ARCHITECTURE_INTEL = 0 } | 2594 alias OSVERSIONINFOEXA* POSVERSIONINFOEXA, LPOSVERSIONINFOEXA; 2723 enum : uint { PROCESSOR_ARCHITECTURE_MIPS = 1 } < 2724 enum : uint { PROCESSOR_ARCHITECTURE_ALPHA = 2 } < 2725 enum : uint { PROCESSOR_ARCHITECTURE_PPC = 3 } < 2726 enum : uint { PROCESSOR_ARCHITECTURE_SHX = 4 } < 2727 enum : uint { PROCESSOR_ARCHITECTURE_ARM = 5 } < 2728 enum : uint { PROCESSOR_ARCHITECTURE_IA64 = 6 } < 2729 enum : uint { PROCESSOR_ARCHITECTURE_ALPHA64 = 7 } < 2730 enum : uint { PROCESSOR_ARCHITECTURE_MSIL = 8 } < 2731 enum : uint { PROCESSOR_ARCHITECTURE_AMD64 = 9 } < 2732 enum : uint { PROCESSOR_ARCHITECTURE_IA32_ON_WIN64 = 10 } < 2733 | 2595 > 2596 struct OSVERSIONINFOEXW { > 2597 DWORD dwOSVersionInfoSize; > 2598 DWORD dwMajorVersion; > 2599 DWORD dwMinorVersion; > 2600 DWORD dwBuildNumber; > 2601 DWORD dwPlatformId; > 2602 WCHAR[128] szCSDVersion; > 2603 WORD wServicePackMajor; > 2604 WORD wServicePackMinor; > 2605 WORD wSuiteMask; 2734 enum : uint { PROCESSOR_ARCHITECTURE_UNKNOWN = 0xFFFF } | 2606 BYTE wProductType; > 2607 BYTE wReserved; 2735 | 2608 } 2736 enum : uint { PF_FLOATING_POINT_PRECISION_ERRATA = 0 } < 2737 enum : uint { PF_FLOATING_POINT_EMULATED = 1 } | 2609 alias OSVERSIONINFOEXW* POSVERSIONINFOEXW, LPOSVERSIONINFOEXW; 2738 enum : uint { PF_COMPARE_EXCHANGE_DOUBLE = 2 } < 2739 enum : uint { PF_MMX_INSTRUCTIONS_AVAILABLE = 3 } < 2740 enum : uint { PF_PPC_MOVEMEM_64BIT_OK = 4 } < 2741 enum : uint { PF_ALPHA_BYTE_INSTRUCTIONS = 5 } < 2742 enum : uint { PF_XMMI_INSTRUCTIONS_AVAILABLE = 6 } < 2743 enum : uint { PF_3DNOW_INSTRUCTIONS_AVAILABLE = 7 } < 2744 enum : uint { PF_RDTSC_INSTRUCTION_AVAILABLE = 8 } < 2745 enum : uint { PF_PAE_ENABLED = 9 } < 2746 enum : uint { PF_XMMI64_INSTRUCTIONS_AVAILABLE = 10 } < 2747 | 2610 > 2611 align(2) struct IMAGE_VXD_HEADER { > 2612 WORD e32_magic; > 2613 BYTE e32_border; > 2614 BYTE e32_worder; > 2615 DWORD e32_level; > 2616 WORD e32_cpu; > 2617 WORD e32_os; > 2618 DWORD e32_ver; > 2619 DWORD e32_mflags; 2748 struct _MEMORY_BASIC_INFORMATION { | 2620 DWORD e32_mpages; 2749 PVOID BaseAddress; | 2621 DWORD e32_startobj; 2750 PVOID AllocationBase; | 2622 DWORD e32_eip; 2751 DWORD AllocationProtect; | 2623 DWORD e32_stackobj; 2752 SIZE_T RegionSize; < 2753 DWORD State; | 2624 DWORD e32_esp; > 2625 DWORD e32_pagesize; 2754 DWORD Protect; | 2626 DWORD e32_lastpagesize; > 2627 DWORD e32_fixupsize; 2755 DWORD Type; | 2628 DWORD e32_fixupsum; 2756 } < 2757 alias _MEMORY_BASIC_INFORMATION MEMORY_BASIC_INFORMATION; | 2629 DWORD e32_ldrsize; 2758 alias _MEMORY_BASIC_INFORMATION* PMEMORY_BASIC_INFORMATION; | 2630 DWORD e32_ldrsum; 2759 < > 2631 DWORD e32_objtab; 2760 struct _MEMORY_BASIC_INFORMATION32 { | 2632 DWORD e32_objcnt; 2761 DWORD BaseAddress; | 2633 DWORD e32_objmap; 2762 DWORD AllocationBase; | 2634 DWORD e32_itermap; 2763 DWORD AllocationProtect; | 2635 DWORD e32_rsrctab; 2764 DWORD RegionSize; | 2636 DWORD e32_rsrccnt; 2765 DWORD State; | 2637 DWORD e32_restab; 2766 DWORD Protect; | 2638 DWORD e32_enttab; 2767 DWORD Type; | 2639 DWORD e32_dirtab; 2768 } < > 2640 DWORD e32_dircnt; 2769 alias _MEMORY_BASIC_INFORMATION32 MEMORY_BASIC_INFORMATION32; | 2641 DWORD e32_fpagetab; 2770 alias _MEMORY_BASIC_INFORMATION32* PMEMORY_BASIC_INFORMATION32; | 2642 DWORD e32_frectab; 2771 < > 2643 DWORD e32_impmod; 2772 struct _MEMORY_BASIC_INFORMATION64 { | 2644 DWORD e32_impmodcnt; 2773 ULONGLONG BaseAddress; | 2645 DWORD e32_impproc; 2774 ULONGLONG AllocationBase; | 2646 DWORD e32_pagesum; 2775 DWORD AllocationProtect; | 2647 DWORD e32_datapage; 2776 DWORD __alignment1; | 2648 DWORD e32_preload; 2777 ULONGLONG RegionSize; | 2649 DWORD e32_nrestab; 2778 DWORD State; | 2650 DWORD e32_cbnrestab; 2779 DWORD Protect; | 2651 DWORD e32_nressum; 2780 DWORD Type; | 2652 DWORD e32_autodata; 2781 DWORD __alignment2; | 2653 DWORD e32_debuginfo; 2782 } < > 2654 DWORD e32_debuglen; 2783 alias _MEMORY_BASIC_INFORMATION64 MEMORY_BASIC_INFORMATION64; | 2655 DWORD e32_instpreload; 2784 alias _MEMORY_BASIC_INFORMATION64* PMEMORY_BASIC_INFORMATION64; | 2656 DWORD e32_instdemand; > 2657 DWORD e32_heapsize; > 2658 BYTE[12] e32_res3; > 2659 DWORD e32_winresoff; > 2660 DWORD e32_winreslen; > 2661 WORD e32_devid; > 2662 WORD e32_ddkver; 2785 | 2663 } 2786 enum : uint { SECTION_QUERY = 0x0001 } < 2787 enum : uint { SECTION_MAP_WRITE = 0x0002 } < 2788 enum : uint { SECTION_MAP_READ = 0x0004 } < 2789 enum : uint { SECTION_MAP_EXECUTE = 0x0008 } < 2790 enum : uint { SECTION_EXTEND_SIZE = 0x0010 } < > 2664 alias IMAGE_VXD_HEADER* PIMAGE_VXD_HEADER; 2791 | 2665 2792 enum : uint { SECTION_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED|SECTION_QUERY| SECTI < 2793 enum : uint { PAGE_NOACCESS = 0x01 } < 2794 enum : uint { PAGE_READONLY = 0x02 } | 2666 align(4): 2795 enum : uint { PAGE_READWRITE = 0x04 } | 2667 struct IMAGE_FILE_HEADER { 2796 enum : uint { PAGE_WRITECOPY = 0x08 } | 2668 WORD Machine; 2797 enum : uint { PAGE_EXECUTE = 0x10 } | 2669 WORD NumberOfSections; 2798 enum : uint { PAGE_EXECUTE_READ = 0x20 } | 2670 DWORD TimeDateStamp; 2799 enum : uint { PAGE_EXECUTE_READWRITE = 0x40 } | 2671 DWORD PointerToSymbolTable; 2800 enum : uint { PAGE_EXECUTE_WRITECOPY = 0x80 } | 2672 DWORD NumberOfSymbols; 2801 enum : uint { PAGE_GUARD = 0x100 } | 2673 WORD SizeOfOptionalHeader; 2802 enum : uint { PAGE_NOCACHE = 0x200 } | 2674 WORD Characteristics; 2803 enum : uint { PAGE_WRITECOMBINE = 0x400 } < 2804 enum : uint { MEM_COMMIT = 0x1000 } < 2805 enum : uint { MEM_RESERVE = 0x2000 } < 2806 enum : uint { MEM_DECOMMIT = 0x4000 } < 2807 enum : uint { MEM_RELEASE = 0x8000 } < 2808 enum : uint { MEM_FREE = 0x10000 } < 2809 enum : uint { MEM_PRIVATE = 0x20000 } < 2810 enum : uint { MEM_MAPPED = 0x40000 } < 2811 enum : uint { MEM_RESET = 0x80000 } < 2812 enum : uint { MEM_TOP_DOWN = 0x100000 } < 2813 enum : uint { MEM_WRITE_WATCH = 0x200000 } < 2814 enum : uint { MEM_PHYSICAL = 0x400000 } < 2815 enum : uint { MEM_4MB_PAGES = 0x80000000 } < 2816 enum : uint { SEC_FILE = 0x800000 } < 2817 enum : uint { SEC_IMAGE = 0x1000000 } < 2818 enum : uint { SEC_RESERVE = 0x4000000 } < 2819 enum : uint { SEC_COMMIT = 0x8000000 } < 2820 enum : uint { SEC_NOCACHE = 0x10000000 } < 2821 alias SEC_IMAGE MEM_IMAGE; < 2822 enum : uint { WRITE_WATCH_FLAG_RESET = 0x01 } < 2823 | 2675 } 2824 enum : uint { FILE_READ_DATA = 0x0001 } < 2825 enum : uint { FILE_LIST_DIRECTORY = 0x0001 } < > 2676 alias IMAGE_FILE_HEADER* PIMAGE_FILE_HEADER; > 2677 // const IMAGE_SIZEOF_FILE_HEADER = IMAGE_FILE_HEADER.sizeof; 2826 | 2678 2827 enum : uint { FILE_WRITE_DATA = 0x0002 } < 2828 enum : uint { FILE_ADD_FILE = 0x0002 } < > 2679 struct IMAGE_DATA_DIRECTORY { > 2680 DWORD VirtualAddress; > 2681 DWORD Size; 2829 | 2682 } 2830 enum : uint { FILE_APPEND_DATA = 0x0004 } < 2831 enum : uint { FILE_ADD_SUBDIRECTORY = 0x0004 } < 2832 enum : uint { FILE_CREATE_PIPE_INSTANCE = 0x0004 } < > 2683 alias IMAGE_DATA_DIRECTORY* PIMAGE_DATA_DIRECTORY; 2833 | 2684 > 2685 struct IMAGE_OPTIONAL_HEADER32 { > 2686 WORD Magic; > 2687 BYTE MajorLinkerVersion; > 2688 BYTE MinorLinkerVersion; > 2689 DWORD SizeOfCode; > 2690 DWORD SizeOfInitializedData; > 2691 DWORD SizeOfUninitializedData; > 2692 DWORD AddressOfEntryPoint; > 2693 DWORD BaseOfCode; > 2694 DWORD BaseOfData; > 2695 DWORD ImageBase; > 2696 DWORD SectionAlignment; > 2697 DWORD FileAlignment; > 2698 WORD MajorOperatingSystemVersion; > 2699 WORD MinorOperatingSystemVersion; > 2700 WORD MajorImageVersion; > 2701 WORD MinorImageVersion; > 2702 WORD MajorSubsystemVersion; > 2703 WORD MinorSubsystemVersion; > 2704 DWORD Win32VersionValue; > 2705 DWORD SizeOfImage; 2834 enum : uint { FILE_READ_EA = 0x0008 } | 2706 DWORD SizeOfHeaders; 2835 < > 2707 DWORD CheckSum; 2836 enum : uint { FILE_WRITE_EA = 0x0010 } | 2708 WORD Subsystem; 2837 < > 2709 WORD DllCharacteristics; 2838 enum : uint { FILE_EXECUTE = 0x0020 } | 2710 DWORD SizeOfStackReserve; 2839 enum : uint { FILE_TRAVERSE = 0x0020 } | 2711 DWORD SizeOfStackCommit; 2840 < > 2712 DWORD SizeOfHeapReserve; 2841 enum : uint { FILE_DELETE_CHILD = 0x0040 } | 2713 DWORD SizeOfHeapCommit; 2842 < > 2714 DWORD LoaderFlags; 2843 enum : uint { FILE_READ_ATTRIBUTES = 0x0080 } | 2715 DWORD NumberOfRvaAndSizes; > 2716 IMAGE_DATA_DIRECTORY[IMAGE_NUMBEROF_DIRECTORY_ENTRIES] DataDirectory; 2844 | 2717 } 2845 enum : uint { FILE_WRITE_ATTRIBUTES = 0x0100 } < > 2718 alias IMAGE_OPTIONAL_HEADER32* PIMAGE_OPTIONAL_HEADER32; 2846 | 2719 2847 enum : uint { FILE_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0x1FF } < 2848 < > 2720 struct IMAGE_OPTIONAL_HEADER64 { 2849 enum : uint { FILE_GENERIC_READ = STANDARD_RIGHTS_READ | FILE_READ_DATA | FILE_R | 2721 WORD Magic; 2850 < > 2722 BYTE MajorLinkerVersion; 2851 enum : uint { FILE_GENERIC_WRITE = STANDARD_RIGHTS_WRITE | FILE_WRITE_DATA | FIL | 2723 BYTE MinorLinkerVersion; 2852 < > 2724 DWORD SizeOfCode; 2853 enum : uint { FILE_GENERIC_EXECUTE = STANDARD_RIGHTS_EXECUTE | FILE_READ_ATTRIBU | 2725 DWORD SizeOfInitializedData; 2854 < > 2726 DWORD SizeOfUninitializedData; 2855 enum : uint { FILE_SHARE_READ = 0x00000001 } | 2727 DWORD AddressOfEntryPoint; 2856 enum : uint { FILE_SHARE_WRITE = 0x00000002 } | 2728 DWORD BaseOfCode; 2857 enum : uint { FILE_SHARE_DELETE = 0x00000004 } | 2729 ULONGLONG ImageBase; 2858 enum : uint { FILE_ATTRIBUTE_READONLY = 0x00000001 } | 2730 DWORD SectionAlignment; 2859 enum : uint { FILE_ATTRIBUTE_HIDDEN = 0x00000002 } | 2731 DWORD FileAlignment; 2860 enum : uint { FILE_ATTRIBUTE_SYSTEM = 0x00000004 } | 2732 WORD MajorOperatingSystemVersion; 2861 enum : uint { FILE_ATTRIBUTE_DIRECTORY = 0x00000010 } | 2733 WORD MinorOperatingSystemVersion; 2862 enum : uint { FILE_ATTRIBUTE_ARCHIVE = 0x00000020 } | 2734 WORD MajorImageVersion; 2863 enum : uint { FILE_ATTRIBUTE_DEVICE = 0x00000040 } | 2735 WORD MinorImageVersion; 2864 enum : uint { FILE_ATTRIBUTE_NORMAL = 0x00000080 } | 2736 WORD MajorSubsystemVersion; 2865 enum : uint { FILE_ATTRIBUTE_TEMPORARY = 0x00000100 } | 2737 WORD MinorSubsystemVersion; 2866 enum : uint { FILE_ATTRIBUTE_SPARSE_FILE = 0x00000200 } | 2738 DWORD Win32VersionValue; 2867 enum : uint { FILE_ATTRIBUTE_REPARSE_POINT = 0x00000400 } | 2739 DWORD SizeOfImage; 2868 enum : uint { FILE_ATTRIBUTE_COMPRESSED = 0x00000800 } | 2740 DWORD SizeOfHeaders; 2869 enum : uint { FILE_ATTRIBUTE_OFFLINE = 0x00001000 } | 2741 DWORD CheckSum; 2870 enum : uint { FILE_ATTRIBUTE_NOT_CONTENT_INDEXED = 0x00002000 } | 2742 WORD Subsystem; 2871 enum : uint { FILE_ATTRIBUTE_ENCRYPTED = 0x00004000 } | 2743 WORD DllCharacteristics; 2872 enum : uint { FILE_NOTIFY_CHANGE_FILE_NAME = 0x00000001 } | 2744 ULONGLONG SizeOfStackReserve; 2873 enum : uint { FILE_NOTIFY_CHANGE_DIR_NAME = 0x00000002 } | 2745 ULONGLONG SizeOfStackCommit; 2874 enum : uint { FILE_NOTIFY_CHANGE_ATTRIBUTES = 0x00000004 } | 2746 ULONGLONG SizeOfHeapReserve; 2875 enum : uint { FILE_NOTIFY_CHANGE_SIZE = 0x00000008 } | 2747 ULONGLONG SizeOfHeapCommit; 2876 enum : uint { FILE_NOTIFY_CHANGE_LAST_WRITE = 0x00000010 } < 2877 enum : uint { FILE_NOTIFY_CHANGE_LAST_ACCESS = 0x00000020 } < 2878 enum : uint { FILE_NOTIFY_CHANGE_CREATION = 0x00000040 } < 2879 enum : uint { FILE_NOTIFY_CHANGE_SECURITY = 0x00000100 } < 2880 enum : uint { FILE_ACTION_ADDED = 0x00000001 } < 2881 enum : uint { FILE_ACTION_REMOVED = 0x00000002 } < 2882 enum : uint { FILE_ACTION_MODIFIED = 0x00000003 } < 2883 enum : uint { FILE_ACTION_RENAMED_OLD_NAME = 0x00000004 } < 2884 enum : uint { FILE_ACTION_RENAMED_NEW_NAME = 0x00000005 } < 2885 enum : DWORD { MAILSLOT_NO_MESSAGE = cast(DWORD)-1 } < 2886 enum : DWORD { MAILSLOT_WAIT_FOREVER = cast(DWORD)-1 } < 2887 enum : uint { FILE_CASE_SENSITIVE_SEARCH = 0x00000001 } < 2888 enum : uint { FILE_CASE_PRESERVED_NAMES = 0x00000002 } < 2889 enum : uint { FILE_UNICODE_ON_DISK = 0x00000004 } < 2890 enum : uint { FILE_PERSISTENT_ACLS = 0x00000008 } < 2891 enum : uint { FILE_FILE_COMPRESSION = 0x00000010 } < 2892 enum : uint { FILE_VOLUME_QUOTAS = 0x00000020 } < 2893 enum : uint { FILE_SUPPORTS_SPARSE_FILES = 0x00000040 } < 2894 enum : uint { FILE_SUPPORTS_REPARSE_POINTS = 0x00000080 } < 2895 enum : uint { FILE_SUPPORTS_REMOTE_STORAGE = 0x00000100 } < 2896 enum : uint { FILE_VOLUME_IS_COMPRESSED = 0x00008000 } < 2897 enum : uint { FILE_SUPPORTS_OBJECT_IDS = 0x00010000 } < 2898 enum : uint { FILE_SUPPORTS_ENCRYPTION = 0x00020000 } < 2899 enum : uint { FILE_NAMED_STREAMS = 0x00040000 } < 2900 enum : uint { FILE_READ_ONLY_VOLUME = 0x00080000 } < 2901 < 2902 struct _FILE_NOTIFY_INFORMATION { < 2903 DWORD NextEntryOffset; < 2904 DWORD Action; | 2748 DWORD LoaderFlags; 2905 DWORD FileNameLength; < 2906 WCHAR FileName[1]; < > 2749 DWORD NumberOfRvaAndSizes; > 2750 IMAGE_DATA_DIRECTORY[IMAGE_NUMBEROF_DIRECTORY_ENTRIES] DataDirectory; 2907 } | 2751 } 2908 alias _FILE_NOTIFY_INFORMATION FILE_NOTIFY_INFORMATION; < 2909 alias _FILE_NOTIFY_INFORMATION* PFILE_NOTIFY_INFORMATION; < > 2752 alias IMAGE_OPTIONAL_HEADER64* PIMAGE_OPTIONAL_HEADER64; 2910 | 2753 2911 union _FILE_SEGMENT_ELEMENT { < 2912 PVOID64 Buffer; < 2913 ULONGLONG Alignment; < > 2754 struct IMAGE_ROM_OPTIONAL_HEADER { > 2755 WORD Magic; > 2756 BYTE MajorLinkerVersion; > 2757 BYTE MinorLinkerVersion; > 2758 DWORD SizeOfCode; > 2759 DWORD SizeOfInitializedData; > 2760 DWORD SizeOfUninitializedData; > 2761 DWORD AddressOfEntryPoint; > 2762 DWORD BaseOfCode; > 2763 DWORD BaseOfData; > 2764 DWORD BaseOfBss; > 2765 DWORD GprMask; > 2766 DWORD[4] CprMask; > 2767 DWORD GpValue; 2914 } | 2768 } 2915 alias _FILE_SEGMENT_ELEMENT FILE_SEGMENT_ELEMENT; < 2916 alias _FILE_SEGMENT_ELEMENT* PFILE_SEGMENT_ELEMENT; < > 2769 alias IMAGE_ROM_OPTIONAL_HEADER* PIMAGE_ROM_OPTIONAL_HEADER; 2917 | 2770 2918 struct _REPARSE_GUID_DATA_BUFFER { < 2919 DWORD ReparseTag; < 2920 WORD ReparseDataLength; < 2921 WORD Reserved; < 2922 GUID ReparseGuid; < > 2771 align(2): 2923 struct { | 2772 struct IMAGE_DOS_HEADER { 2924 BYTE DataBuffer[1]; < > 2773 WORD e_magic; > 2774 WORD e_cblp; > 2775 WORD e_cp; > 2776 WORD e_crlc; > 2777 WORD e_cparhdr; > 2778 WORD e_minalloc; > 2779 WORD e_maxalloc; > 2780 WORD e_ss; > 2781 WORD e_sp; > 2782 WORD e_csum; > 2783 WORD e_ip; > 2784 WORD e_cs; > 2785 WORD e_lfarlc; > 2786 WORD e_ovno; > 2787 WORD[4] e_res; > 2788 WORD e_oemid; > 2789 WORD e_oeminfo; > 2790 WORD[10] e_res2; > 2791 LONG e_lfanew; 2925 } | 2792 } > 2793 alias IMAGE_DOS_HEADER* PIMAGE_DOS_HEADER; 2926 | 2794 2927 } < > 2795 struct IMAGE_OS2_HEADER { > 2796 WORD ne_magic; > 2797 CHAR ne_ver; > 2798 CHAR ne_rev; > 2799 WORD ne_enttab; 2928 alias _REPARSE_GUID_DATA_BUFFER REPARSE_GUID_DATA_BUFFER; | 2800 WORD ne_cbenttab; 2929 alias _REPARSE_GUID_DATA_BUFFER* PREPARSE_GUID_DATA_BUFFER; | 2801 LONG ne_crc; 2930 < > 2802 WORD ne_flags; 2931 // #define REPARSE_GUID_DATA_BUFFER_HEADER_SIZE FIELD_OFFSET(REPARSE_GUID_DATA_B | 2803 WORD ne_autodata; 2932 < > 2804 WORD ne_heap; 2933 enum : uint { MAXIMUM_REPARSE_DATA_BUFFER_SIZE = 16 * 1024 } | 2805 WORD ne_stack; 2934 < > 2806 LONG ne_csip; 2935 enum : uint { IO_REPARSE_TAG_RESERVED_ZERO = 0 } | 2807 LONG ne_sssp; 2936 enum : uint { IO_REPARSE_TAG_RESERVED_ONE = 1 } | 2808 WORD ne_cseg; > 2809 WORD ne_cmod; > 2810 WORD ne_cbnrestab; > 2811 WORD ne_segtab; > 2812 WORD ne_rsrctab; > 2813 WORD ne_restab; > 2814 WORD ne_modtab; > 2815 WORD ne_imptab; > 2816 LONG ne_nrestab; > 2817 WORD ne_cmovent; > 2818 WORD ne_align; > 2819 WORD ne_cres; > 2820 BYTE ne_exetyp; > 2821 BYTE ne_flagsothers; > 2822 WORD ne_pretthunks; > 2823 WORD ne_psegrefbytes; > 2824 WORD ne_swaparea; > 2825 WORD ne_expver; 2937 | 2826 } 2938 alias IO_REPARSE_TAG_RESERVED_ONE IO_REPARSE_TAG_RESERVED_RANGE; < > 2827 alias IMAGE_OS2_HEADER* PIMAGE_OS2_HEADER; 2939 | 2828 2940 // #define IsReparseTagMicrosoft(_tag) ( ((_tag) & 0x80000000) ) < > 2829 align(4) struct IMAGE_NT_HEADERS32 { > 2830 DWORD Signature; > 2831 IMAGE_FILE_HEADER FileHeader; > 2832 IMAGE_OPTIONAL_HEADER OptionalHeader; 2941 | 2833 } 2942 // #define IsReparseTagNameSurrogate(_tag) ( ((_tag) & 0x20000000) ) < > 2834 alias IMAGE_NT_HEADERS32* PIMAGE_NT_HEADERS32; 2943 | 2835 2944 enum : uint { IO_REPARSE_TAG_MOUNT_POINT = 0xA0000003 } < 2945 enum : uint { IO_REPARSE_TAG_HSM = 0xC0000004 } < 2946 enum : uint { IO_REPARSE_TAG_SIS = 0x80000007 } < 2947 enum : uint { IO_REPARSE_TAG_FILTER_MANAGER = 0x8000000B } < 2948 enum : uint { IO_COMPLETION_MODIFY_STATE = 0x0002 } < 2949 enum : uint { IO_COMPLETION_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE|0x < 2950 enum : uint { DUPLICATE_CLOSE_SOURCE = 0x00000001 } < 2951 enum : uint { DUPLICATE_SAME_ACCESS = 0x00000002 } < > 2836 align(4) struct IMAGE_NT_HEADERS64 { > 2837 DWORD Signature; > 2838 IMAGE_FILE_HEADER FileHeader; > 2839 IMAGE_OPTIONAL_HEADER OptionalHeader; 2952 | 2840 } 2953 alias int _SYSTEM_POWER_STATE; < 2954 enum { < 2955 PowerSystemUnspecified = 0, < 2956 PowerSystemWorking = 1, < 2957 PowerSystemSleeping1 = 2, < 2958 PowerSystemSleeping2 = 3, < 2959 PowerSystemSleeping3 = 4, < 2960 PowerSystemHibernate = 5, < 2961 PowerSystemShutdown = 6, < 2962 PowerSystemMaximum = 7, < > 2841 alias IMAGE_NT_HEADERS64* PIMAGE_NT_HEADERS64; 2963 } | 2842 2964 alias _SYSTEM_POWER_STATE SYSTEM_POWER_STATE; < 2965 alias _SYSTEM_POWER_STATE* PSYSTEM_POWER_STATE; < > 2843 struct IMAGE_ROM_HEADERS { > 2844 IMAGE_FILE_HEADER FileHeader; > 2845 IMAGE_ROM_OPTIONAL_HEADER OptionalHeader; 2966 | 2846 } 2967 enum : uint { POWER_SYSTEM_MAXIMUM = 7 } < > 2847 alias IMAGE_ROM_HEADERS* PIMAGE_ROM_HEADERS; 2968 | 2848 2969 enum _4 { < 2970 PowerActionNone = 0, < 2971 PowerActionReserved, < 2972 PowerActionSleep, < 2973 PowerActionHibernate, < 2974 PowerActionShutdown, < 2975 PowerActionShutdownReset, < 2976 PowerActionShutdownOff, < 2977 PowerActionWarmEject, | 2849 struct IMAGE_SECTION_HEADER { 2978 } < > 2850 BYTE[IMAGE_SIZEOF_SHORT_NAME] Name; 2979 alias _4 POWER_ACTION; | 2851 union _Misc { 2980 alias _4* PPOWER_ACTION; | 2852 DWORD PhysicalAddress; > 2853 DWORD VirtualSize; 2981 | 2854 } 2982 alias int _DEVICE_POWER_STATE; < 2983 enum { | 2855 _Misc Misc; 2984 PowerDeviceUnspecified = 0, | 2856 DWORD VirtualAddress; 2985 PowerDeviceD0, | 2857 DWORD SizeOfRawData; 2986 PowerDeviceD1, | 2858 DWORD PointerToRawData; 2987 PowerDeviceD2, | 2859 DWORD PointerToRelocations; 2988 PowerDeviceD3, | 2860 DWORD PointerToLinenumbers; 2989 PowerDeviceMaximum, | 2861 WORD NumberOfRelocations; > 2862 WORD NumberOfLinenumbers; > 2863 DWORD Characteristics; 2990 } | 2864 } 2991 alias _DEVICE_POWER_STATE DEVICE_POWER_STATE; < 2992 alias _DEVICE_POWER_STATE* PDEVICE_POWER_STATE; < > 2865 alias IMAGE_SECTION_HEADER* PIMAGE_SECTION_HEADER; 2993 | 2866 2994 enum : DWORD { ES_SYSTEM_REQUIRED = 0x00000001 } < 2995 enum : DWORD { ES_DISPLAY_REQUIRED = 0x00000002 } | 2867 struct IMAGE_SYMBOL { 2996 enum : DWORD { ES_USER_PRESENT = 0x00000004 } | 2868 union _N { 2997 enum : DWORD { ES_CONTINUOUS = 0x80000000 } | 2869 BYTE[8] ShortName; 2998 < 2999 alias DWORD EXECUTION_STATE; < 3000 < 3001 enum _5 { < 3002 LT_DONT_CARE, < 3003 LT_LOWEST_LATENCY, < 3004 } < 3005 alias _5 LATENCY_TIME; < 3006 < 3007 enum : uint { PDCAP_D0_SUPPORTED = 0x00000001 } < 3008 enum : uint { PDCAP_D1_SUPPORTED = 0x00000002 } < 3009 enum : uint { PDCAP_D2_SUPPORTED = 0x00000004 } < 3010 enum : uint { PDCAP_D3_SUPPORTED = 0x00000008 } < 3011 enum : uint { PDCAP_WAKE_FROM_D0_SUPPORTED = 0x00000010 } < 3012 enum : uint { PDCAP_WAKE_FROM_D1_SUPPORTED = 0x00000020 } < 3013 enum : uint { PDCAP_WAKE_FROM_D2_SUPPORTED = 0x00000040 } < 3014 enum : uint { PDCAP_WAKE_FROM_D3_SUPPORTED = 0x00000080 } < 3015 enum : uint { PDCAP_WARM_EJECT_SUPPORTED = 0x00000100 } < 3016 < 3017 struct CM_Power_Data_s { | 2870 struct Name { 3018 DWORD PD_Size; | 2871 DWORD Short; 3019 DEVICE_POWER_STATE PD_MostRecentPowerState; < 3020 DWORD PD_Capabilities; < 3021 DWORD PD_D1Latency; | 2872 DWORD Long; 3022 DWORD PD_D2Latency; < 3023 DWORD PD_D3Latency; < 3024 DEVICE_POWER_STATE PD_PowerStateMapping[POWER_SYSTEM_MAXIMUM]; < 3025 SYSTEM_POWER_STATE PD_DeepestSystemWake; < 3026 } | 2873 } 3027 alias CM_Power_Data_s CM_POWER_DATA; < 3028 alias CM_Power_Data_s* PCM_POWER_DATA; < > 2874 PBYTE[2] LongName; 3029 | 2875 } 3030 enum _6 { < 3031 SystemPowerPolicyAc, < 3032 SystemPowerPolicyDc, < 3033 VerifySystemPolicyAc, < 3034 VerifySystemPolicyDc, < 3035 SystemPowerCapabilities, < 3036 SystemBatteryState, < 3037 SystemPowerStateHandler, < 3038 ProcessorStateHandler, < 3039 SystemPowerPolicyCurrent, < 3040 AdministratorPowerPolicy, < 3041 SystemReserveHiberFile, < 3042 ProcessorInformation, < 3043 SystemPowerInformation, < 3044 ProcessorStateHandler2, < 3045 LastWakeTime, < 3046 LastSleepTime, < 3047 SystemExecutionState, < 3048 SystemPowerStateNotifyHandler, < 3049 ProcessorPowerPolicyAc, < 3050 ProcessorPowerPolicyDc, < 3051 VerifyProcessorPowerPolicyAc, < 3052 VerifyProcessorPowerPolicyDc, < 3053 ProcessorPowerPolicyCurrent, < 3054 } < 3055 alias _6 POWER_INFORMATION_LEVEL; < 3056 < 3057 struct _7 { < > 2876 _N N; 3058 DWORD Granularity; | 2877 DWORD Value; > 2878 SHORT SectionNumber; 3059 DWORD Capacity; | 2879 WORD Type; > 2880 BYTE StorageClass; > 2881 BYTE NumberOfAuxSymbols; 3060 } | 2882 } 3061 alias _7 BATTERY_REPORTING_SCALE; < 3062 alias _7* PBATTERY_REPORTING_SCALE; < > 2883 alias IMAGE_SYMBOL* PIMAGE_SYMBOL; 3063 | 2884 > 2885 union IMAGE_AUX_SYMBOL { 3064 struct _8 { | 2886 struct _Sym { 3065 POWER_ACTION Action; < > 2887 DWORD TagIndex; > 2888 union _Misc { > 2889 struct _LnSz { > 2890 WORD Linenumber; 3066 DWORD Flags; | 2891 WORD Size; 3067 DWORD EventCode; < 3068 } | 2892 } 3069 alias _8 POWER_ACTION_POLICY; < 3070 alias _8* PPOWER_ACTION_POLICY; < > 2893 _LnSz LnSz; > 2894 DWORD TotalSize; 3071 | 2895 } 3072 enum : uint { POWER_ACTION_QUERY_ALLOWED = 0x00000001 } < 3073 enum : uint { POWER_ACTION_UI_ALLOWED = 0x00000002 } < 3074 enum : uint { POWER_ACTION_OVERRIDE_APPS = 0x00000004 } < 3075 enum : uint { POWER_ACTION_LIGHTEST_FIRST = 0x10000000 } < 3076 enum : uint { POWER_ACTION_LOCK_CONSOLE = 0x20000000 } < 3077 enum : uint { POWER_ACTION_DISABLE_WAKES = 0x40000000 } < 3078 enum : uint { POWER_ACTION_CRITICAL = 0x80000000 } < > 2896 _Misc Misc; > 2897 union _FcnAry { > 2898 struct _Function { > 2899 DWORD PointerToLinenumber; > 2900 DWORD PointerToNextFunction; 3079 | 2901 } 3080 enum : uint { POWER_LEVEL_USER_NOTIFY_TEXT = 0x00000001 } < 3081 enum : uint { POWER_LEVEL_USER_NOTIFY_SOUND = 0x00000002 } < 3082 enum : uint { POWER_LEVEL_USER_NOTIFY_EXEC = 0x00000004 } < 3083 enum : uint { POWER_USER_NOTIFY_BUTTON = 0x00000008 } < 3084 enum : uint { POWER_USER_NOTIFY_SHUTDOWN = 0x00000010 } < 3085 enum : uint { POWER_FORCE_TRIGGER_RESET = 0x80000000 } < 3086 < > 2902 _Function Function; 3087 struct _9 { | 2903 struct _Array { 3088 BOOLEAN Enable; < 3089 BYTE Spare[3]; < 3090 DWORD BatteryLevel; < 3091 POWER_ACTION_POLICY PowerPolicy; < 3092 SYSTEM_POWER_STATE MinSystemState; < > 2904 WORD[4] Dimension; 3093 } | 2905 } 3094 alias _9 SYSTEM_POWER_LEVEL; < 3095 alias _9* PSYSTEM_POWER_LEVEL; < > 2906 _Array Array; 3096 | 2907 } 3097 enum : uint { NUM_DISCHARGE_POLICIES = 4 } < 3098 enum : uint { DISCHARGE_POLICY_CRITICAL = 0 } < 3099 enum : uint { DISCHARGE_POLICY_LOW = 1 } < > 2908 _FcnAry FcnAry; > 2909 WORD TvIndex; 3100 | 2910 } 3101 enum : uint { PO_THROTTLE_NONE = 0 } < 3102 enum : uint { PO_THROTTLE_CONSTANT = 1 } < 3103 enum : uint { PO_THROTTLE_DEGRADE = 2 } < 3104 enum : uint { PO_THROTTLE_ADAPTIVE = 3 } < 3105 enum : uint { PO_THROTTLE_MAXIMUM = 4 } < 3106 < > 2911 _Sym Sym; 3107 struct _SYSTEM_POWER_POLICY { | 2912 struct _File { 3108 DWORD Revision; < > 2913 BYTE[IMAGE_SIZEOF_SYMBOL] Name; 3109 | 2914 } 3110 POWER_ACTION_POLICY PowerButton; < 3111 POWER_ACTION_POLICY SleepButton; < 3112 POWER_ACTION_POLICY LidClose; < 3113 SYSTEM_POWER_STATE LidOpenWake; < 3114 DWORD Reserved; < 3115 POWER_ACTION_POLICY Idle; < 3116 DWORD IdleTimeout; < 3117 BYTE IdleSensitivity; < 3118 < 3119 BYTE DynamicThrottle; < 3120 BYTE Spare2[2]; < 3121 SYSTEM_POWER_STATE MinSleep; < 3122 SYSTEM_POWER_STATE MaxSleep; < 3123 SYSTEM_POWER_STATE ReducedLatencySleep; < 3124 DWORD WinLogonFlags; < 3125 DWORD Spare3; < 3126 DWORD DozeS4Timeout; < 3127 DWORD BroadcastCapacityResolution; < 3128 SYSTEM_POWER_LEVEL DischargePolicy[NUM_DISCHARGE_POLICIES]; < 3129 DWORD VideoTimeout; < 3130 BOOLEAN VideoDimDisplay; < 3131 DWORD VideoReserved[3]; < 3132 DWORD SpindownTimeout; < 3133 BOOLEAN OptimizeForPower; < 3134 BYTE FanThrottleTolerance; < 3135 BYTE ForcedThrottle; < 3136 BYTE MinThrottle; < 3137 POWER_ACTION_POLICY OverThrottled; < 3138 } < 3139 alias _SYSTEM_POWER_POLICY SYSTEM_POWER_POLICY; < 3140 alias _SYSTEM_POWER_POLICY* PSYSTEM_POWER_POLICY; < 3141 < 3142 struct _PROCESSOR_POWER_POLICY_INFO { < 3143 < 3144 DWORD TimeCheck; < 3145 DWORD DemoteLimit; < 3146 DWORD PromoteLimit; < 3147 < 3148 BYTE DemotePercent; < 3149 BYTE PromotePercent; < 3150 BYTE Spare[2]; < 3151 // DWORD AllowDemotion:1; | 2915 _File File; > 2916 struct _Section { 3152 // DWORD AllowPromotion:1; | 2917 DWORD Length; > 2918 WORD NumberOfRelocations; > 2919 WORD NumberOfLinenumbers; 3153 // DWORD Reserved:30; | 2920 DWORD CheckSum; > 2921 SHORT Number; > 2922 BYTE Selection; 3154 | 2923 } > 2924 _Section Section; 3155 } | 2925 } 3156 alias _PROCESSOR_POWER_POLICY_INFO PROCESSOR_POWER_POLICY_INFO; < 3157 alias _PROCESSOR_POWER_POLICY_INFO* PPROCESSOR_POWER_POLICY_INFO; < > 2926 alias IMAGE_AUX_SYMBOL* PIMAGE_AUX_SYMBOL; 3158 | 2927 3159 struct _PROCESSOR_POWER_POLICY { < > 2928 struct IMAGE_COFF_SYMBOLS_HEADER { > 2929 DWORD NumberOfSymbols; > 2930 DWORD LvaToFirstSymbol; > 2931 DWORD NumberOfLinenumbers; > 2932 DWORD LvaToFirstLinenumber; > 2933 DWORD RvaToFirstByteOfCode; 3160 DWORD Revision; | 2934 DWORD RvaToLastByteOfCode; > 2935 DWORD RvaToFirstByteOfData; > 2936 DWORD RvaToLastByteOfData; 3161 | 2937 } 3162 BYTE DynamicThrottle; < 3163 BYTE Spare[3]; < 3164 DWORD Reserved; < > 2938 alias IMAGE_COFF_SYMBOLS_HEADER* PIMAGE_COFF_SYMBOLS_HEADER; 3165 | 2939 > 2940 struct IMAGE_RELOCATION { > 2941 union { > 2942 DWORD VirtualAddress; 3166 DWORD PolicyCount; | 2943 DWORD RelocCount; 3167 PROCESSOR_POWER_POLICY_INFO Policy[3]; < 3168 } | 2944 } 3169 alias _PROCESSOR_POWER_POLICY PROCESSOR_POWER_POLICY; < 3170 alias _PROCESSOR_POWER_POLICY* PPROCESSOR_POWER_POLICY; < > 2945 DWORD SymbolTableIndex; > 2946 WORD Type; 3171 | 2947 } 3172 struct _ADMINISTRATOR_POWER_POLICY { < > 2948 alias IMAGE_RELOCATION* PIMAGE_RELOCATION; 3173 | 2949 3174 SYSTEM_POWER_STATE MinSleep; < 3175 SYSTEM_POWER_STATE MaxSleep; < 3176 DWORD MinVideoTimeout; < 3177 DWORD MaxVideoTimeout; < 3178 DWORD MinSpindownTimeout; < 3179 DWORD MaxSpindownTimeout; < > 2950 align(4) struct IMAGE_BASE_RELOCATION { > 2951 DWORD VirtualAddress; > 2952 DWORD SizeOfBlock; 3180 } | 2953 } 3181 alias _ADMINISTRATOR_POWER_POLICY ADMINISTRATOR_POWER_POLICY; < 3182 alias _ADMINISTRATOR_POWER_POLICY* PADMINISTRATOR_POWER_POLICY; < > 2954 alias IMAGE_BASE_RELOCATION* PIMAGE_BASE_RELOCATION; 3183 | 2955 3184 struct _10 { < 3185 < 3186 BOOLEAN PowerButtonPresent; < 3187 BOOLEAN SleepButtonPresent; < 3188 BOOLEAN LidPresent; < 3189 BOOLEAN SystemS1; < 3190 BOOLEAN SystemS2; < 3191 BOOLEAN SystemS3; < 3192 BOOLEAN SystemS4; < 3193 BOOLEAN SystemS5; < 3194 BOOLEAN HiberFilePresent; < 3195 BOOLEAN FullWake; < 3196 BOOLEAN VideoDimPresent; < 3197 BOOLEAN ApmPresent; < 3198 BOOLEAN UpsPresent; < 3199 BOOLEAN ThermalControl; < 3200 BOOLEAN ProcessorThrottle; < 3201 BYTE ProcessorMinThrottle; < 3202 BYTE ProcessorMaxThrottle; < 3203 BYTE spare2[4]; < 3204 BOOLEAN DiskSpinDown; < 3205 BYTE spare3[8]; < 3206 BOOLEAN SystemBatteriesPresent; < 3207 BOOLEAN BatteriesAreShortTerm; < 3208 BATTERY_REPORTING_SCALE BatteryScale[3]; < 3209 SYSTEM_POWER_STATE AcOnLineWake; < 3210 SYSTEM_POWER_STATE SoftLidWake; < 3211 SYSTEM_POWER_STATE RtcWake; < 3212 SYSTEM_POWER_STATE MinDeviceWakeState; < 3213 SYSTEM_POWER_STATE DefaultLowLatencyWake; < 3214 } < 3215 alias _10 SYSTEM_POWER_CAPABILITIES; < 3216 alias _10* PSYSTEM_POWER_CAPABILITIES; < 3217 < 3218 struct _11 { < 3219 BOOLEAN AcOnLine; < 3220 BOOLEAN BatteryPresent; < 3221 BOOLEAN Charging; < 3222 BOOLEAN Discharging; < 3223 BOOLEAN Spare1[4]; < 3224 DWORD MaxCapacity; < 3225 DWORD RemainingCapacity; < > 2956 align(2) struct IMAGE_LINENUMBER { > 2957 union _Type { > 2958 DWORD SymbolTableIndex; 3226 DWORD Rate; | 2959 DWORD VirtualAddress; 3227 DWORD EstimatedTime; < 3228 DWORD DefaultAlert1; < 3229 DWORD DefaultAlert2; < 3230 } | 2960 } 3231 alias _11 SYSTEM_BATTERY_STATE; < 3232 alias _11* PSYSTEM_BATTERY_STATE; < > 2961 _Type Type; > 2962 WORD Linenumber; 3233 | 2963 } 3234 // #ifndef _MAC < > 2964 alias IMAGE_LINENUMBER* PIMAGE_LINENUMBER; 3235 2965 3236 align(4): 2966 align(4): > 2967 struct IMAGE_ARCHIVE_MEMBER_HEADER { > 2968 BYTE[16] Name; > 2969 BYTE[12] Date; > 2970 BYTE[6] UserID; > 2971 BYTE[6] GroupID; > 2972 BYTE[8] Mode; > 2973 BYTE[10] Size; > 2974 BYTE[2] EndHeader; 3237 | 2975 } 3238 enum : uint { IMAGE_DOS_SIGNATURE = 0x5A4D } < 3239 enum : uint { IMAGE_OS2_SIGNATURE = 0x454E } < 3240 enum : uint { IMAGE_OS2_SIGNATURE_LE = 0x454C } < 3241 enum : uint { IMAGE_VXD_SIGNATURE = 0x454C } < 3242 enum : uint { IMAGE_NT_SIGNATURE = 0x00004550 } < > 2976 alias IMAGE_ARCHIVE_MEMBER_HEADER* PIMAGE_ARCHIVE_MEMBER_HEADER; 3243 | 2977 3244 align(2): < > 2978 struct IMAGE_EXPORT_DIRECTORY { > 2979 DWORD Characteristics; > 2980 DWORD TimeDateStamp; > 2981 WORD MajorVersion; > 2982 WORD MinorVersion; > 2983 DWORD Name; > 2984 DWORD Base; > 2985 DWORD NumberOfFunctions; > 2986 DWORD NumberOfNames; > 2987 DWORD AddressOfFunctions; > 2988 DWORD AddressOfNames; > 2989 DWORD AddressOfNameOrdinals; 3245 | 2990 } 3246 // #else < > 2991 alias IMAGE_EXPORT_DIRECTORY* PIMAGE_EXPORT_DIRECTORY; 3247 | 2992 3248 // #... < > 2993 struct IMAGE_IMPORT_BY_NAME { > 2994 WORD Hint; > 2995 BYTE _Name; 3249 | 2996 3250 // #... < 3251 // #... < 3252 // #... < 3253 // #... < 3254 // #endif < > 2997 BYTE* Name() { > 2998 return &_Name; 3255 | 2999 } 3256 struct _IMAGE_DOS_HEADER { < 3257 WORD e_magic; < 3258 WORD e_cblp; < > 3000 } > 3001 alias IMAGE_IMPORT_BY_NAME* PIMAGE_IMPORT_BY_NAME; > 3002 > 3003 struct IMAGE_THUNK_DATA32 { > 3004 union _u1 { > 3005 DWORD ForwarderString; 3259 WORD e_cp; | 3006 DWORD Function; 3260 WORD e_crlc; < 3261 WORD e_cparhdr; < 3262 WORD e_minalloc; < 3263 WORD e_maxalloc; < 3264 WORD e_ss; | 3007 DWORD Ordinal; 3265 WORD e_sp; < 3266 WORD e_csum; < 3267 WORD e_ip; < 3268 WORD e_cs; < 3269 WORD e_lfarlc; < 3270 WORD e_ovno; < 3271 WORD e_res[4]; < 3272 WORD e_oemid; < 3273 WORD e_oeminfo; < 3274 WORD e_res2[10]; < 3275 LONG e_lfanew; < > 3008 DWORD AddressOfData; 3276 } | 3009 } 3277 alias _IMAGE_DOS_HEADER IMAGE_DOS_HEADER; < 3278 alias _IMAGE_DOS_HEADER* PIMAGE_DOS_HEADER; < > 3010 _u1 u1; 3279 | 3011 } 3280 struct _IMAGE_OS2_HEADER { < 3281 WORD ne_magic; < 3282 CHAR ne_ver; | 3012 alias IMAGE_THUNK_DATA32* PIMAGE_THUNK_DATA32; 3283 CHAR ne_rev; < > 3013 3284 WORD ne_enttab; | 3014 struct IMAGE_THUNK_DATA64 { 3285 WORD ne_cbenttab; | 3015 union _u1 { 3286 LONG ne_crc; | 3016 ULONGLONG ForwarderString; 3287 WORD ne_flags; | 3017 ULONGLONG Function; 3288 WORD ne_autodata; | 3018 ULONGLONG Ordinal; 3289 WORD ne_heap; | 3019 ULONGLONG AddressOfData; 3290 WORD ne_stack; < > 3020 } 3291 LONG ne_csip; | 3021 _u1 u1; 3292 LONG ne_sssp; < > 3022 } 3293 WORD ne_cseg; | 3023 alias IMAGE_THUNK_DATA64* PIMAGE_THUNK_DATA64; 3294 WORD ne_cmod; < > 3024 3295 WORD ne_cbnrestab; | 3025 struct IMAGE_IMPORT_DESCRIPTOR { 3296 WORD ne_segtab; | 3026 union { 3297 WORD ne_rsrctab; | 3027 DWORD Characteristics; 3298 WORD ne_restab; | 3028 DWORD OriginalFirstThunk; 3299 WORD ne_modtab; < > 3029 } 3300 WORD ne_imptab; | 3030 DWORD TimeDateStamp; 3301 LONG ne_nrestab; | 3031 DWORD ForwarderChain; 3302 WORD ne_cmovent; | 3032 DWORD Name; 3303 WORD ne_align; | 3033 DWORD FirstThunk; 3304 WORD ne_cres; < > 3034 } 3305 BYTE ne_exetyp; | 3035 alias IMAGE_IMPORT_DESCRIPTOR* PIMAGE_IMPORT_DESCRIPTOR; 3306 BYTE ne_flagsothers; < > 3036 3307 WORD ne_pretthunks; | 3037 struct IMAGE_BOUND_IMPORT_DESCRIPTOR { 3308 WORD ne_psegrefbytes; | 3038 DWORD TimeDateStamp; 3309 WORD ne_swaparea; | 3039 WORD OffsetModuleName; 3310 WORD ne_expver; | 3040 WORD NumberOfModuleForwarderRefs; 3311 } | 3041 } 3312 alias _IMAGE_OS2_HEADER IMAGE_OS2_HEADER; | 3042 alias IMAGE_BOUND_IMPORT_DESCRIPTOR* PIMAGE_BOUND_IMPORT_DESCRIPTOR; 3313 alias _IMAGE_OS2_HEADER* PIMAGE_OS2_HEADER; < 3314 | 3043 > 3044 struct IMAGE_BOUND_FORWARDER_REF { 3315 struct _IMAGE_VXD_HEADER { | 3045 DWORD TimeDateStamp; 3316 WORD e32_magic; | 3046 WORD OffsetModuleName; 3317 BYTE e32_border; < 3318 BYTE e32_worder; < 3319 DWORD e32_level; < 3320 WORD e32_cpu; | 3047 WORD Reserved; > 3048 } > 3049 alias IMAGE_BOUND_FORWARDER_REF* PIMAGE_BOUND_FORWARDER_REF; > 3050 3321 WORD e32_os; | 3051 struct IMAGE_TLS_DIRECTORY32 { 3322 DWORD e32_ver; | 3052 DWORD StartAddressOfRawData; 3323 DWORD e32_mflags; | 3053 DWORD EndAddressOfRawData; 3324 DWORD e32_mpages; | 3054 DWORD AddressOfIndex; 3325 DWORD e32_startobj; | 3055 DWORD AddressOfCallBacks; 3326 DWORD e32_eip; | 3056 DWORD SizeOfZeroFill; 3327 DWORD e32_stackobj; | 3057 DWORD Characteristics; 3328 DWORD e32_esp; < > 3058 } 3329 DWORD e32_pagesize; | 3059 alias IMAGE_TLS_DIRECTORY32* PIMAGE_TLS_DIRECTORY32; 3330 DWORD e32_lastpagesize; < > 3060 3331 DWORD e32_fixupsize; | 3061 struct IMAGE_TLS_DIRECTORY64 { 3332 DWORD e32_fixupsum; | 3062 ULONGLONG StartAddressOfRawData; 3333 DWORD e32_ldrsize; | 3063 ULONGLONG EndAddressOfRawData; 3334 DWORD e32_ldrsum; | 3064 ULONGLONG AddressOfIndex; 3335 DWORD e32_objtab; | 3065 ULONGLONG AddressOfCallBacks; 3336 DWORD e32_objcnt; | 3066 DWORD SizeOfZeroFill; 3337 DWORD e32_objmap; | 3067 DWORD Characteristics; 3338 DWORD e32_itermap; < > 3068 } 3339 DWORD e32_rsrctab; | 3069 alias IMAGE_TLS_DIRECTORY64* PIMAGE_TLS_DIRECTORY64; 3340 DWORD e32_rsrccnt; < > 3070 3341 DWORD e32_restab; | 3071 struct IMAGE_RESOURCE_DIRECTORY { 3342 DWORD e32_enttab; | 3072 DWORD Characteristics; 3343 DWORD e32_dirtab; | 3073 DWORD TimeDateStamp; 3344 DWORD e32_dircnt; | 3074 WORD MajorVersion; 3345 DWORD e32_fpagetab; | 3075 WORD MinorVersion; 3346 DWORD e32_frectab; | 3076 WORD NumberOfNamedEntries; 3347 DWORD e32_impmod; | 3077 WORD NumberOfIdEntries; 3348 DWORD e32_impmodcnt; < > 3078 } 3349 DWORD e32_impproc; | 3079 alias IMAGE_RESOURCE_DIRECTORY* PIMAGE_RESOURCE_DIRECTORY; 3350 DWORD e32_pagesum; < > 3080 3351 DWORD e32_datapage; | 3081 struct IMAGE_RESOURCE_DIRECTORY_ENTRY { 3352 DWORD e32_preload; | 3082 union { 3353 DWORD e32_nrestab; | 3083 /+struct { 3354 DWORD e32_cbnrestab; | 3084 DWORD NameOffset:31; 3355 DWORD e32_nressum; | 3085 DWORD NameIsString:1; > 3086 }+/ 3356 DWORD e32_autodata; | 3087 DWORD Name; 3357 DWORD e32_debuginfo; < 3358 DWORD e32_debuglen; | 3088 WORD Id; > 3089 } > 3090 DWORD OffsetToData; > 3091 /+struct { > 3092 DWORD OffsetToDirectory:31; > 3093 DWORD DataIsDirectory:1; > 3094 }+/ > 3095 > 3096 uint NameOffset() { return Name & 0x7FFFFFFF; } > 3097 bool NameIsString() { return cast(bool)(Name & 0x80000000); } > 3098 uint OffsetToDirectory() { return OffsetToData & 0x7FFFFFFF; } > 3099 bool DataIsDirectory() { return cast(bool)(OffsetToData & 0x80000000); > 3100 > 3101 uint NameOffset(uint n) { > 3102 Name = (Name & 0x80000000) | (n & 0x7FFFFFFF); > 3103 return n & 0x7FFFFFFF; > 3104 } > 3105 > 3106 bool NameIsString(bool n) { > 3107 Name = (Name & 0x7FFFFFFF) | (n << 31); return n; > 3108 } > 3109 > 3110 uint OffsetToDirectory(uint o) { > 3111 OffsetToData = (OffsetToData & 0x80000000) | (o & 0x7FFFFFFF); > 3112 return o & 0x7FFFFFFF; > 3113 } > 3114 > 3115 bool DataIsDirectory(bool d) { > 3116 OffsetToData = (OffsetToData & 0x7FFFFFFF) | (d << 31); return d > 3117 } > 3118 } > 3119 alias IMAGE_RESOURCE_DIRECTORY_ENTRY* PIMAGE_RESOURCE_DIRECTORY_ENTRY; > 3120 > 3121 struct IMAGE_RESOURCE_DIRECTORY_STRING { > 3122 WORD Length; > 3123 CHAR _NameString; > 3124 > 3125 CHAR* NameString() { return &_NameString; } > 3126 } > 3127 alias IMAGE_RESOURCE_DIRECTORY_STRING* PIMAGE_RESOURCE_DIRECTORY_STRING; > 3128 > 3129 struct IMAGE_RESOURCE_DIR_STRING_U { > 3130 WORD Length; > 3131 WCHAR _NameString; > 3132 > 3133 WCHAR* NameString() { return &_NameString; } > 3134 } > 3135 alias IMAGE_RESOURCE_DIR_STRING_U* PIMAGE_RESOURCE_DIR_STRING_U; > 3136 > 3137 struct IMAGE_RESOURCE_DATA_ENTRY { > 3138 DWORD OffsetToData; 3359 DWORD e32_instpreload; | 3139 DWORD Size; 3360 DWORD e32_instdemand; < 3361 DWORD e32_heapsize; | 3140 DWORD CodePage; 3362 BYTE e32_res3[12]; < 3363 DWORD e32_winresoff; | 3141 DWORD Reserved; > 3142 } > 3143 alias IMAGE_RESOURCE_DATA_ENTRY* PIMAGE_RESOURCE_DATA_ENTRY; > 3144 > 3145 struct IMAGE_LOAD_CONFIG_DIRECTORY { > 3146 DWORD Characteristics; > 3147 DWORD TimeDateStamp; > 3148 WORD MajorVersion; > 3149 WORD MinorVersion; > 3150 DWORD GlobalFlagsClear; > 3151 DWORD GlobalFlagsSet; > 3152 DWORD CriticalSectionDefaultTimeout; > 3153 DWORD DeCommitFreeBlockThreshold; > 3154 DWORD DeCommitTotalFreeThreshold; > 3155 PVOID LockPrefixTable; > 3156 DWORD MaximumAllocationSize; > 3157 DWORD VirtualMemoryThreshold; > 3158 DWORD ProcessHeapFlags; > 3159 DWORD[4] Reserved; > 3160 } > 3161 alias IMAGE_LOAD_CONFIG_DIRECTORY* PIMAGE_LOAD_CONFIG_DIRECTORY; > 3162 > 3163 struct IMAGE_LOAD_CONFIG_DIRECTORY64 { > 3164 DWORD Characteristics; > 3165 DWORD TimeDateStamp; > 3166 WORD MajorVersion; > 3167 WORD MinorVersion; > 3168 DWORD GlobalFlagsClear; > 3169 DWORD GlobalFlagsSet; > 3170 DWORD CriticalSectionDefaultTimeout; > 3171 ULONGLONG DeCommitFreeBlockThreshold; > 3172 ULONGLONG DeCommitTotalFreeThreshold; > 3173 ULONGLONG LockPrefixTable; > 3174 ULONGLONG MaximumAllocationSize; > 3175 ULONGLONG VirtualMemoryThreshold; > 3176 ULONGLONG ProcessAffinityMask; > 3177 DWORD ProcessHeapFlags; > 3178 WORD CSDFlags; > 3179 WORD Reserved1; > 3180 ULONGLONG EditList; > 3181 DWORD[2] Reserved; > 3182 } > 3183 alias IMAGE_LOAD_CONFIG_DIRECTORY64* PIMAGE_LOAD_CONFIG_DIRECTORY64; > 3184 > 3185 struct IMAGE_RUNTIME_FUNCTION_ENTRY { > 3186 DWORD BeginAddress; > 3187 DWORD EndAddress; > 3188 PVOID ExceptionHandler; > 3189 PVOID HandlerData; > 3190 DWORD PrologEndAddress; > 3191 } > 3192 alias IMAGE_RUNTIME_FUNCTION_ENTRY* PIMAGE_RUNTIME_FUNCTION_ENTRY; > 3193 > 3194 struct IMAGE_CE_RUNTIME_FUNCTION_ENTRY { > 3195 uint FuncStart; > 3196 union { > 3197 ubyte PrologLen; > 3198 uint _bf; > 3199 } > 3200 /+ > 3201 unsigned int FuncLen:22; > 3202 unsigned int ThirtyTwoBit:1; > 3203 unsigned int ExceptionFlag:1; > 3204 +/ > 3205 uint FuncLen() { return (_bf >> 8) & 0x3FFFFF; } > 3206 bool ThirtyTwoBit() { return cast(bool)(_bf & 0x40000000); } > 3207 bool ExceptionFlag() { return cast(bool)(_bf & 0x80000000); } > 3208 > 3209 uint FuncLen(uint f) { > 3210 _bf = (_bf & ~0x3FFFFF00) | ((f & 0x3FFFFF) << 8); return f & 0x > 3211 } > 3212 > 3213 bool ThirtyTwoBit(bool t) { > 3214 _bf = (_bf & ~0x40000000) | (t << 30); return t; > 3215 } > 3216 > 3217 bool ExceptionFlag(bool e) { > 3218 _bf = (_bf & ~0x80000000) | (e << 31); return e; > 3219 } > 3220 } > 3221 alias IMAGE_CE_RUNTIME_FUNCTION_ENTRY* PIMAGE_CE_RUNTIME_FUNCTION_ENTRY; > 3222 > 3223 struct IMAGE_DEBUG_DIRECTORY { > 3224 DWORD Characteristics; > 3225 DWORD TimeDateStamp; > 3226 WORD MajorVersion; > 3227 WORD MinorVersion; 3364 DWORD e32_winreslen; | 3228 DWORD Type; > 3229 DWORD SizeOfData; > 3230 DWORD AddressOfRawData; > 3231 DWORD PointerToRawData; > 3232 } > 3233 alias IMAGE_DEBUG_DIRECTORY* PIMAGE_DEBUG_DIRECTORY; > 3234 > 3235 struct FPO_DATA { > 3236 DWORD ulOffStart; > 3237 DWORD cbProcSize; > 3238 DWORD cdwLocals; > 3239 WORD cdwParams; > 3240 ubyte cbProlog; > 3241 ubyte _bf; > 3242 /+ 3365 WORD e32_devid; | 3243 WORD cbRegs:3; 3366 WORD e32_ddkver; < > 3244 WORD fHasSEH:1; > 3245 WORD fUseBP:1; > 3246 WORD reserved:1; > 3247 WORD cbFrame:2; > 3248 +/ > 3249 ubyte cbRegs() { return cast(ubyte)(_bf & 0x07); } > 3250 bool fHasSEH() { return cast(bool)(_bf & 0x08); } > 3251 bool fUseBP() { return cast(bool)(_bf & 0x10); } > 3252 bool reserved() { return cast(bool)(_bf & 0x20); } > 3253 ubyte cbFrame() { return cast(ubyte)(_bf >> 6); } 3367 } | 3254 3368 alias _IMAGE_VXD_HEADER IMAGE_VXD_HEADER; < 3369 alias _IMAGE_VXD_HEADER* PIMAGE_VXD_HEADER; < > 3255 ubyte cbRegs(ubyte c) { > 3256 _bf = cast(ubyte) ((_bf & ~0x07) | (c & 0x07)); > 3257 return cast(ubyte)(c & 0x07); 3370 | 3258 } 3371 // #ifndef _MAC < > 3259 > 3260 bool fHasSEH(bool f) { _bf = cast(ubyte)((_bf & ~0x08) | (f << 3)); ret > 3261 bool fUseBP(bool f) { _bf = cast(ubyte)((_bf & ~0x10) | (f << 4)); ret > 3262 bool reserved(bool r) { _bf = cast(ubyte)((_bf & ~0x20) | (r << 5)); ret > 3263 > 3264 ubyte cbFrame(ubyte c) { > 3265 _bf = cast(ubyte) ((_bf & ~0xC0) | ((c & 0x03) << 6)); > 3266 return cast(ubyte)(c & 0x03); > 3267 } > 3268 } > 3269 alias FPO_DATA* PFPO_DATA; > 3270 > 3271 struct IMAGE_DEBUG_MISC { > 3272 DWORD DataType; > 3273 DWORD Length; > 3274 BOOLEAN Unicode; > 3275 BYTE[3] Reserved; > 3276 BYTE _Data; > 3277 > 3278 BYTE* Data() { return &_Data; } > 3279 } > 3280 alias IMAGE_DEBUG_MISC* PIMAGE_DEBUG_MISC; > 3281 > 3282 struct IMAGE_FUNCTION_ENTRY { > 3283 DWORD StartingAddress; > 3284 DWORD EndingAddress; > 3285 DWORD EndOfPrologue; > 3286 } > 3287 alias IMAGE_FUNCTION_ENTRY* PIMAGE_FUNCTION_ENTRY; > 3288 > 3289 struct IMAGE_FUNCTION_ENTRY64 { > 3290 ULONGLONG StartingAddress; > 3291 ULONGLONG EndingAddress; > 3292 union { > 3293 ULONGLONG EndOfPrologue; > 3294 ULONGLONG UnwindInfoAddress; > 3295 } > 3296 } > 3297 alias IMAGE_FUNCTION_ENTRY64* PIMAGE_FUNCTION_ENTRY64; > 3298 > 3299 struct IMAGE_SEPARATE_DEBUG_HEADER { > 3300 WORD Signature; > 3301 WORD Flags; > 3302 WORD Machine; > 3303 WORD Characteristics; > 3304 DWORD TimeDateStamp; > 3305 DWORD CheckSum; > 3306 DWORD ImageBase; > 3307 DWORD SizeOfImage; > 3308 DWORD NumberOfSections; > 3309 DWORD ExportedNamesSize; > 3310 DWORD DebugDirectorySize; > 3311 DWORD SectionAlignment; > 3312 DWORD[2] Reserved; > 3313 } > 3314 alias IMAGE_SEPARATE_DEBUG_HEADER* PIMAGE_SEPARATE_DEBUG_HEADER; > 3315 > 3316 enum SERVICE_NODE_TYPE { > 3317 DriverType = SERVICE_KERNEL_DRIVER, > 3318 FileSystemType = SERVICE_FILE_SYSTEM_DRIVER, > 3319 Win32ServiceOwnProcess = SERVICE_WIN32_OWN_PROCESS, > 3320 Win32ServiceShareProcess = SERVICE_WIN32_SHARE_PROCESS, > 3321 AdapterType = SERVICE_ADAPTER, > 3322 RecognizerType = SERVICE_RECOGNIZER_DRIVER > 3323 } > 3324 > 3325 enum SERVICE_LOAD_TYPE { > 3326 BootLoad = SERVICE_BOOT_START, > 3327 SystemLoad = SERVICE_SYSTEM_START, > 3328 AutoLoad = SERVICE_AUTO_START, > 3329 DemandLoad = SERVICE_DEMAND_START, > 3330 DisableLoad = SERVICE_DISABLED > 3331 } > 3332 > 3333 enum SERVICE_ERROR_TYPE { > 3334 IgnoreError = SERVICE_ERROR_IGNORE, > 3335 NormalError = SERVICE_ERROR_NORMAL, > 3336 SevereError = SERVICE_ERROR_SEVERE, > 3337 CriticalError = SERVICE_ERROR_CRITICAL > 3338 } > 3339 alias SERVICE_ERROR_TYPE _CM_ERROR_CONTROL_TYPE; > 3340 > 3341 //DAC: According to MSJ, 'UnderTheHood', May 1996, this > 3342 // structure is not documented in any official Microsoft header file. > 3343 alias void EXCEPTION_REGISTRATION_RECORD; > 3344 3372 align: 3345 align: 3373 // #endif | 3346 struct NT_TIB { > 3347 EXCEPTION_REGISTRATION_RECORD *ExceptionList; > 3348 PVOID StackBase; > 3349 PVOID StackLimit; > 3350 PVOID SubSystemTib; > 3351 union { > 3352 PVOID FiberData; > 3353 DWORD Version; 3374 | 3354 } 3375 struct _IMAGE_FILE_HEADER { < > 3355 PVOID ArbitraryUserPointer; > 3356 NT_TIB *Self; > 3357 } > 3358 alias NT_TIB* PNT_TIB; > 3359 > 3360 struct REPARSE_DATA_BUFFER { > 3361 DWORD ReparseTag; > 3362 WORD ReparseDataLength; > 3363 WORD Reserved; > 3364 union { > 3365 struct _GenericReparseBuffer { > 3366 BYTE _DataBuffer; > 3367 > 3368 BYTE* DataBuffer() { return &_DataBuffer; } > 3369 } > 3370 _GenericReparseBuffer GenericReparseBuffer; > 3371 struct _SymbolicLinkReparseBuffer { > 3372 WORD SubstituteNameOffset; > 3373 WORD SubstituteNameLength; > 3374 WORD PrintNameOffset; > 3375 WORD PrintNameLength; > 3376 // ??? This is in MinGW, but absent in MSDN docs > 3377 ULONG Flags; > 3378 WCHAR _PathBuffer; > 3379 > 3380 WCHAR* PathBuffer() { return &_PathBuffer; } > 3381 } > 3382 _SymbolicLinkReparseBuffer SymbolicLinkReparseBuffer; > 3383 struct _MountPointReparseBuffer { > 3384 WORD SubstituteNameOffset; > 3385 WORD SubstituteNameLength; > 3386 WORD PrintNameOffset; > 3387 WORD PrintNameLength; > 3388 WCHAR _PathBuffer; > 3389 > 3390 WCHAR* PathBuffer() { return &_PathBuffer; } > 3391 } > 3392 _MountPointReparseBuffer MountPointReparseBuffer; > 3393 } > 3394 } > 3395 alias REPARSE_DATA_BUFFER *PREPARSE_DATA_BUFFER; > 3396 > 3397 struct REPARSE_GUID_DATA_BUFFER { > 3398 DWORD ReparseTag; > 3399 WORD ReparseDataLength; > 3400 WORD Reserved; > 3401 GUID ReparseGuid; > 3402 struct _GenericReparseBuffer { > 3403 BYTE _DataBuffer; > 3404 > 3405 BYTE* DataBuffer() { return &_DataBuffer; } > 3406 } > 3407 _GenericReparseBuffer GenericReparseBuffer; > 3408 } > 3409 alias REPARSE_GUID_DATA_BUFFER* PREPARSE_GUID_DATA_BUFFER; > 3410 > 3411 const size_t > 3412 REPARSE_DATA_BUFFER_HEADER_SIZE = REPARSE_DATA_BUFFER.GenericReparseBuff > 3413 REPARSE_GUID_DATA_BUFFER_HEADER_SIZE = REPARSE_GUID_DATA_BUFFER.GenericR > 3414 MAXIMUM_REPARSE_DATA_BUFFER_SIZE = 16384; > 3415 > 3416 > 3417 struct REPARSE_POINT_INFORMATION { > 3418 WORD ReparseDataLength; > 3419 WORD UnparsedNameLength; > 3420 } > 3421 alias REPARSE_POINT_INFORMATION* PREPARSE_POINT_INFORMATION; > 3422 > 3423 union FILE_SEGMENT_ELEMENT { > 3424 PVOID64 Buffer; > 3425 ULONGLONG Alignment; > 3426 } > 3427 alias FILE_SEGMENT_ELEMENT* PFILE_SEGMENT_ELEMENT; > 3428 > 3429 // JOBOBJECT_BASIC_LIMIT_INFORMATION.LimitFlags constants > 3430 const DWORD > 3431 JOB_OBJECT_LIMIT_WORKINGSET = 0x0001, > 3432 JOB_OBJECT_LIMIT_PROCESS_TIME = 0x0002, > 3433 JOB_OBJECT_LIMIT_JOB_TIME = 0x0004, > 3434 JOB_OBJECT_LIMIT_ACTIVE_PROCESS = 0x0008, > 3435 JOB_OBJECT_LIMIT_AFFINITY = 0x0010, > 3436 JOB_OBJECT_LIMIT_PRIORITY_CLASS = 0x0020, > 3437 JOB_OBJECT_LIMIT_PRESERVE_JOB_TIME = 0x0040, > 3438 JOB_OBJECT_LIMIT_SCHEDULING_CLASS = 0x0080, > 3439 JOB_OBJECT_LIMIT_PROCESS_MEMORY = 0x0100, > 3440 JOB_OBJECT_LIMIT_JOB_MEMORY = 0x0200, > 3441 JOB_OBJECT_LIMIT_DIE_ON_UNHANDLED_EXCEPTION = 0x0400, > 3442 JOB_OBJECT_BREAKAWAY_OK = 0x0800, > 3443 JOB_OBJECT_SILENT_BREAKAWAY = 0x1000; > 3444 > 3445 // JOBOBJECT_BASIC_UI_RESTRICTIONS.UIRestrictionsClass constants > 3446 const DWORD > 3447 JOB_OBJECT_UILIMIT_HANDLES = 0x0001, > 3448 JOB_OBJECT_UILIMIT_READCLIPBOARD = 0x0002, > 3449 JOB_OBJECT_UILIMIT_WRITECLIPBOARD = 0x0004, > 3450 JOB_OBJECT_UILIMIT_SYSTEMPARAMETERS = 0x0008, > 3451 JOB_OBJECT_UILIMIT_DISPLAYSETTINGS = 0x0010, > 3452 JOB_OBJECT_UILIMIT_GLOBALATOMS = 0x0020, > 3453 JOB_OBJECT_UILIMIT_DESKTOP = 0x0040, > 3454 JOB_OBJECT_UILIMIT_EXITWINDOWS = 0x0080; > 3455 > 3456 // JOBOBJECT_SECURITY_LIMIT_INFORMATION.SecurityLimitFlags constants > 3457 const DWORD > 3458 JOB_OBJECT_SECURITY_NO_ADMIN = 0x0001, > 3459 JOB_OBJECT_SECURITY_RESTRICTED_TOKEN = 0x0002, > 3460 JOB_OBJECT_SECURITY_ONLY_TOKEN = 0x0004, > 3461 JOB_OBJECT_SECURITY_FILTER_TOKENS = 0x0008; > 3462 > 3463 // JOBOBJECT_END_OF_JOB_TIME_INFORMATION.EndOfJobTimeAction constants > 3464 enum : DWORD { > 3465 JOB_OBJECT_TERMINATE_AT_END_OF_JOB, > 3466 JOB_OBJECT_POST_AT_END_OF_JOB > 3467 } > 3468 > 3469 enum : DWORD { > 3470 JOB_OBJECT_MSG_END_OF_JOB_TIME = 1, > 3471 JOB_OBJECT_MSG_END_OF_PROCESS_TIME, > 3472 JOB_OBJECT_MSG_ACTIVE_PROCESS_LIMIT, > 3473 JOB_OBJECT_MSG_ACTIVE_PROCESS_ZERO, > 3474 JOB_OBJECT_MSG_NEW_PROCESS, > 3475 JOB_OBJECT_MSG_EXIT_PROCESS, > 3476 JOB_OBJECT_MSG_ABNORMAL_EXIT_PROCESS, > 3477 JOB_OBJECT_MSG_PROCESS_MEMORY_LIMIT, > 3478 JOB_OBJECT_MSG_JOB_MEMORY_LIMIT > 3479 } > 3480 > 3481 enum JOBOBJECTINFOCLASS { > 3482 JobObjectBasicAccountingInformation = 1, > 3483 JobObjectBasicLimitInformation, > 3484 JobObjectBasicProcessIdList, > 3485 JobObjectBasicUIRestrictions, > 3486 JobObjectSecurityLimitInformation, > 3487 JobObjectEndOfJobTimeInformation, > 3488 JobObjectAssociateCompletionPortInformation, > 3489 JobObjectBasicAndIoAccountingInformation, > 3490 JobObjectExtendedLimitInformation, > 3491 JobObjectJobSetInformation, > 3492 MaxJobObjectInfoClass > 3493 } > 3494 > 3495 struct JOBOBJECT_BASIC_ACCOUNTING_INFORMATION { > 3496 LARGE_INTEGER TotalUserTime; > 3497 LARGE_INTEGER TotalKernelTime; > 3498 LARGE_INTEGER ThisPeriodTotalUserTime; > 3499 LARGE_INTEGER ThisPeriodTotalKernelTime; > 3500 DWORD TotalPageFaultCount; > 3501 DWORD TotalProcesses; > 3502 DWORD ActiveProcesses; > 3503 DWORD TotalTerminatedProcesses; > 3504 } > 3505 alias JOBOBJECT_BASIC_ACCOUNTING_INFORMATION* PJOBOBJECT_BASIC_ACCOUNTING_INFORM > 3506 > 3507 struct JOBOBJECT_BASIC_LIMIT_INFORMATION { > 3508 LARGE_INTEGER PerProcessUserTimeLimit; > 3509 LARGE_INTEGER PerJobUserTimeLimit; > 3510 DWORD LimitFlags; > 3511 SIZE_T MinimumWorkingSetSize; > 3512 SIZE_T MaximumWorkingSetSize; > 3513 DWORD ActiveProcessLimit; > 3514 ULONG_PTR Affinity; > 3515 DWORD PriorityClass; > 3516 DWORD SchedulingClass; > 3517 } > 3518 alias JOBOBJECT_BASIC_LIMIT_INFORMATION* PJOBOBJECT_BASIC_LIMIT_INFORMATION; > 3519 > 3520 struct JOBOBJECT_BASIC_PROCESS_ID_LIST { > 3521 DWORD NumberOfAssignedProcesses; > 3522 DWORD NumberOfProcessIdsInList; > 3523 ULONG_PTR _ProcessIdList; > 3524 > 3525 ULONG_PTR* ProcessIdList() { return &_ProcessIdList; } > 3526 } > 3527 alias JOBOBJECT_BASIC_PROCESS_ID_LIST* PJOBOBJECT_BASIC_PROCESS_ID_LIST; > 3528 > 3529 struct JOBOBJECT_BASIC_UI_RESTRICTIONS { > 3530 DWORD UIRestrictionsClass; > 3531 } > 3532 alias JOBOBJECT_BASIC_UI_RESTRICTIONS* PJOBOBJECT_BASIC_UI_RESTRICTIONS; > 3533 > 3534 struct JOBOBJECT_SECURITY_LIMIT_INFORMATION { > 3535 DWORD SecurityLimitFlags; > 3536 HANDLE JobToken; > 3537 PTOKEN_GROUPS SidsToDisable; > 3538 PTOKEN_PRIVILEGES PrivilegesToDelete; > 3539 PTOKEN_GROUPS RestrictedSids; > 3540 } > 3541 alias JOBOBJECT_SECURITY_LIMIT_INFORMATION* PJOBOBJECT_SECURITY_LIMIT_INFORMATIO > 3542 > 3543 struct JOBOBJECT_END_OF_JOB_TIME_INFORMATION { > 3544 DWORD EndOfJobTimeAction; > 3545 } > 3546 alias JOBOBJECT_END_OF_JOB_TIME_INFORMATION* PJOBOBJECT_END_OF_JOB_TIME_INFORMAT > 3547 > 3548 struct JOBOBJECT_ASSOCIATE_COMPLETION_PORT { > 3549 PVOID CompletionKey; > 3550 HANDLE CompletionPort; > 3551 } > 3552 alias JOBOBJECT_ASSOCIATE_COMPLETION_PORT* PJOBOBJECT_ASSOCIATE_COMPLETION_PORT; > 3553 > 3554 struct JOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION { > 3555 JOBOBJECT_BASIC_ACCOUNTING_INFORMATION BasicInfo; > 3556 IO_COUNTERS IoInfo; > 3557 } > 3558 alias JOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION *PJOBOBJECT_BASIC_AND_IO_ACC > 3559 > 3560 struct JOBOBJECT_EXTENDED_LIMIT_INFORMATION { > 3561 JOBOBJECT_BASIC_LIMIT_INFORMATION BasicLimitInformation; > 3562 IO_COUNTERS IoInfo; > 3563 SIZE_T ProcessMemoryLimit; > 3564 SIZE_T JobMemoryLimit; > 3565 SIZE_T PeakProcessMemoryUsed; > 3566 SIZE_T PeakJobMemoryUsed; > 3567 } > 3568 alias JOBOBJECT_EXTENDED_LIMIT_INFORMATION* PJOBOBJECT_EXTENDED_LIMIT_INFORMATIO > 3569 > 3570 struct JOBOBJECT_JOBSET_INFORMATION { 3376 WORD Machine; | 3571 DWORD MemberLevel; 3377 WORD NumberOfSections; < > 3572 } > 3573 alias JOBOBJECT_JOBSET_INFORMATION* PJOBOBJECT_JOBSET_INFORMATION; > 3574 > 3575 // MinGW: Making these defines conditional on WINVER will break ddk includes > 3576 //static if (WINVER >= 0x0500) { > 3577 > 3578 const DWORD > 3579 ES_SYSTEM_REQUIRED = 0x00000001, > 3580 ES_DISPLAY_REQUIRED = 0x00000002, > 3581 ES_USER_PRESENT = 0x00000004, > 3582 ES_CONTINUOUS = 0x80000000; > 3583 > 3584 enum LATENCY_TIME { > 3585 LT_DONT_CARE, > 3586 LT_LOWEST_LATENCY > 3587 } > 3588 alias LATENCY_TIME* PLATENCY_TIME; > 3589 > 3590 enum SYSTEM_POWER_STATE { > 3591 PowerSystemUnspecified, > 3592 PowerSystemWorking, > 3593 PowerSystemSleeping1, > 3594 PowerSystemSleeping2, > 3595 PowerSystemSleeping3, > 3596 PowerSystemHibernate, > 3597 PowerSystemShutdown, > 3598 PowerSystemMaximum > 3599 } > 3600 alias SYSTEM_POWER_STATE* PSYSTEM_POWER_STATE; > 3601 > 3602 const POWER_SYSTEM_MAXIMUM = SYSTEM_POWER_STATE.PowerSystemMaximum; > 3603 > 3604 enum POWER_ACTION { > 3605 PowerActionNone, > 3606 PowerActionReserved, > 3607 PowerActionSleep, > 3608 PowerActionHibernate, > 3609 PowerActionShutdown, > 3610 PowerActionShutdownReset, > 3611 PowerActionShutdownOff, > 3612 PowerActionWarmEject > 3613 } > 3614 alias POWER_ACTION* PPOWER_ACTION; > 3615 > 3616 static if (WINVER >= 0x600) { > 3617 enum SYSTEM_POWER_CONDITION { > 3618 PoAc, > 3619 PoDc, > 3620 PoHot, > 3621 PoConditionMaximum > 3622 } > 3623 alias SYSTEM_POWER_CONDITION* PSYSTEM_POWER_CONDITION; > 3624 } > 3625 > 3626 enum DEVICE_POWER_STATE { > 3627 PowerDeviceUnspecified, > 3628 PowerDeviceD0, > 3629 PowerDeviceD1, > 3630 PowerDeviceD2, > 3631 PowerDeviceD3, > 3632 PowerDeviceMaximum > 3633 } > 3634 alias DEVICE_POWER_STATE* PDEVICE_POWER_STATE; > 3635 > 3636 align(4): > 3637 struct BATTERY_REPORTING_SCALE { > 3638 DWORD Granularity; 3378 DWORD TimeDateStamp; | 3639 DWORD Capacity; 3379 DWORD PointerToSymbolTable; < 3380 DWORD NumberOfSymbols; < 3381 WORD SizeOfOptionalHeader; < 3382 WORD Characteristics; < > 3640 } > 3641 alias BATTERY_REPORTING_SCALE* PBATTERY_REPORTING_SCALE; > 3642 > 3643 struct POWER_ACTION_POLICY { > 3644 POWER_ACTION Action; > 3645 ULONG Flags; > 3646 ULONG EventCode; > 3647 } > 3648 alias POWER_ACTION_POLICY* PPOWER_ACTION_POLICY; > 3649 > 3650 // POWER_ACTION_POLICY.Flags constants > 3651 const ULONG > 3652 POWER_ACTION_QUERY_ALLOWED = 0x00000001, > 3653 POWER_ACTION_UI_ALLOWED = 0x00000002, > 3654 POWER_ACTION_OVERRIDE_APPS = 0x00000004, > 3655 POWER_ACTION_LIGHTEST_FIRST = 0x10000000, > 3656 POWER_ACTION_LOCK_CONSOLE = 0x20000000, > 3657 POWER_ACTION_DISABLE_WAKES = 0x40000000, > 3658 POWER_ACTION_CRITICAL = 0x80000000; > 3659 > 3660 // POWER_ACTION_POLICY.EventCode constants > 3661 const ULONG > 3662 POWER_LEVEL_USER_NOTIFY_TEXT = 0x00000001, > 3663 POWER_LEVEL_USER_NOTIFY_SOUND = 0x00000002, > 3664 POWER_LEVEL_USER_NOTIFY_EXEC = 0x00000004, > 3665 POWER_USER_NOTIFY_BUTTON = 0x00000008, > 3666 POWER_USER_NOTIFY_SHUTDOWN = 0x00000010, > 3667 POWER_FORCE_TRIGGER_RESET = 0x80000000; > 3668 > 3669 const size_t > 3670 DISCHARGE_POLICY_CRITICAL = 0, > 3671 DISCHARGE_POLICY_LOW = 1, > 3672 NUM_DISCHARGE_POLICIES = 4; > 3673 > 3674 enum : BYTE { > 3675 PO_THROTTLE_NONE, > 3676 PO_THROTTLE_CONSTANT, > 3677 PO_THROTTLE_DEGRADE, > 3678 PO_THROTTLE_ADAPTIVE, > 3679 PO_THROTTLE_MAXIMUM > 3680 } > 3681 > 3682 struct SYSTEM_POWER_LEVEL { > 3683 BOOLEAN Enable; > 3684 UCHAR[3] Spare; > 3685 ULONG BatteryLevel; > 3686 POWER_ACTION_POLICY PowerPolicy; > 3687 SYSTEM_POWER_STATE MinSystemState; > 3688 } > 3689 alias SYSTEM_POWER_LEVEL* PSYSTEM_POWER_LEVEL; > 3690 > 3691 struct SYSTEM_POWER_POLICY { > 3692 ULONG Revision; > 3693 POWER_ACTION_POLICY PowerButton; > 3694 POWER_ACTION_POLICY SleepButton; > 3695 POWER_ACTION_POLICY LidClose; > 3696 SYSTEM_POWER_STATE LidOpenWake; > 3697 ULONG Reserved; > 3698 POWER_ACTION_POLICY Idle; > 3699 ULONG IdleTimeout; > 3700 UCHAR IdleSensitivity; > 3701 UCHAR DynamicThrottle; > 3702 UCHAR[2] Spare2; > 3703 SYSTEM_POWER_STATE MinSleep; > 3704 SYSTEM_POWER_STATE MaxSleep; > 3705 SYSTEM_POWER_STATE ReducedLatencySleep; > 3706 ULONG WinLogonFlags; > 3707 ULONG Spare3; > 3708 ULONG DozeS4Timeout; > 3709 ULONG BroadcastCapacityResolution; > 3710 SYSTEM_POWER_LEVEL[NUM_DISCHARGE_POLICIES] DischargePolicy; > 3711 ULONG VideoTimeout; > 3712 BOOLEAN VideoDimDisplay; > 3713 ULONG[3] VideoReserved; > 3714 ULONG SpindownTimeout; > 3715 BOOLEAN OptimizeForPower; > 3716 UCHAR FanThrottleTolerance; > 3717 UCHAR ForcedThrottle; > 3718 UCHAR MinThrottle; > 3719 POWER_ACTION_POLICY OverThrottled; > 3720 } > 3721 alias SYSTEM_POWER_POLICY* PSYSTEM_POWER_POLICY; > 3722 > 3723 struct SYSTEM_POWER_CAPABILITIES { > 3724 BOOLEAN PowerButtonPresent; > 3725 BOOLEAN SleepButtonPresent; > 3726 BOOLEAN LidPresent; > 3727 BOOLEAN SystemS1; > 3728 BOOLEAN SystemS2; > 3729 BOOLEAN SystemS3; > 3730 BOOLEAN SystemS4; > 3731 BOOLEAN SystemS5; > 3732 BOOLEAN HiberFilePresent; > 3733 BOOLEAN FullWake; > 3734 BOOLEAN VideoDimPresent; > 3735 BOOLEAN ApmPresent; > 3736 BOOLEAN UpsPresent; > 3737 BOOLEAN ThermalControl; > 3738 BOOLEAN ProcessorThrottle; > 3739 UCHAR ProcessorMinThrottle; > 3740 UCHAR ProcessorMaxThrottle; > 3741 UCHAR[4] spare2; > 3742 BOOLEAN DiskSpinDown; > 3743 UCHAR[8] spare3; > 3744 BOOLEAN SystemBatteriesPresent; > 3745 BOOLEAN BatteriesAreShortTerm; > 3746 BATTERY_REPORTING_SCALE[3] BatteryScale; > 3747 SYSTEM_POWER_STATE AcOnLineWake; > 3748 SYSTEM_POWER_STATE SoftLidWake; > 3749 SYSTEM_POWER_STATE RtcWake; > 3750 SYSTEM_POWER_STATE MinDeviceWakeState; > 3751 SYSTEM_POWER_STATE DefaultLowLatencyWake; > 3752 } > 3753 alias SYSTEM_POWER_CAPABILITIES* PSYSTEM_POWER_CAPABILITIES; > 3754 > 3755 struct SYSTEM_BATTERY_STATE { > 3756 BOOLEAN AcOnLine; > 3757 BOOLEAN BatteryPresent; > 3758 BOOLEAN Charging; > 3759 BOOLEAN Discharging; > 3760 BOOLEAN[4] Spare1; > 3761 ULONG MaxCapacity; > 3762 ULONG RemainingCapacity; > 3763 ULONG Rate; > 3764 ULONG EstimatedTime; > 3765 ULONG DefaultAlert1; > 3766 ULONG DefaultAlert2; > 3767 } > 3768 alias SYSTEM_BATTERY_STATE* PSYSTEM_BATTERY_STATE; > 3769 > 3770 enum POWER_INFORMATION_LEVEL { > 3771 SystemPowerPolicyAc, > 3772 SystemPowerPolicyDc, > 3773 VerifySystemPolicyAc, > 3774 VerifySystemPolicyDc, > 3775 SystemPowerCapabilities, > 3776 SystemBatteryState, > 3777 SystemPowerStateHandler, > 3778 ProcessorStateHandler, > 3779 SystemPowerPolicyCurrent, > 3780 AdministratorPowerPolicy, > 3781 SystemReserveHiberFile, > 3782 ProcessorInformation, > 3783 SystemPowerInformation, > 3784 ProcessorStateHandler2, > 3785 LastWakeTime, > 3786 LastSleepTime, > 3787 SystemExecutionState, > 3788 SystemPowerStateNotifyHandler, > 3789 ProcessorPowerPolicyAc, > 3790 ProcessorPowerPolicyDc, > 3791 VerifyProcessorPowerPolicyAc, > 3792 VerifyProcessorPowerPolicyDc, > 3793 ProcessorPowerPolicyCurrent > 3794 } > 3795 > 3796 //#if 1 /* (WIN32_WINNT >= 0x0500) */ > 3797 struct SYSTEM_POWER_INFORMATION { > 3798 ULONG MaxIdlenessAllowed; > 3799 ULONG Idleness; > 3800 ULONG TimeRemaining; > 3801 UCHAR CoolingMode; > 3802 } > 3803 alias SYSTEM_POWER_INFORMATION* PSYSTEM_POWER_INFORMATION; > 3804 //#endif > 3805 > 3806 struct PROCESSOR_POWER_POLICY_INFO { > 3807 ULONG TimeCheck; > 3808 ULONG DemoteLimit; > 3809 ULONG PromoteLimit; > 3810 UCHAR DemotePercent; > 3811 UCHAR PromotePercent; > 3812 UCHAR[2] Spare; > 3813 uint _bf; > 3814 > 3815 bool AllowDemotion() { return cast(bool)(_bf & 1); } > 3816 bool AllowPromotion() { return cast(bool)(_bf & 2); } > 3817 > 3818 bool AllowDemotion(bool a) { _bf = (_bf & ~1) | a; return a; } > 3819 bool AllowPromotion(bool a) { _bf = (_bf & ~2) | (a << 1); return a; } > 3820 /+ > 3821 ULONG AllowDemotion : 1; > 3822 ULONG AllowPromotion : 1; > 3823 ULONG Reserved : 30; > 3824 +/ > 3825 } > 3826 alias PROCESSOR_POWER_POLICY_INFO* PPROCESSOR_POWER_POLICY_INFO; > 3827 > 3828 struct PROCESSOR_POWER_POLICY { > 3829 ULONG Revision; > 3830 UCHAR DynamicThrottle; > 3831 UCHAR[3] Spare; > 3832 ULONG Reserved; > 3833 ULONG PolicyCount; > 3834 PROCESSOR_POWER_POLICY_INFO[3] Policy; > 3835 } > 3836 alias PROCESSOR_POWER_POLICY* PPROCESSOR_POWER_POLICY; > 3837 > 3838 struct ADMINISTRATOR_POWER_POLICY { > 3839 SYSTEM_POWER_STATE MinSleep; > 3840 SYSTEM_POWER_STATE MaxSleep; > 3841 ULONG MinVideoTimeout; > 3842 ULONG MaxVideoTimeout; > 3843 ULONG MinSpindownTimeout; > 3844 ULONG MaxSpindownTimeout; 3383 } 3845 } 3384 alias _IMAGE_FILE_HEADER IMAGE_FILE_HEADER; | 3846 alias ADMINISTRATOR_POWER_POLICY* PADMINISTRATOR_POWER_POLICY; 3385 alias _IMAGE_FILE_HEADER* PIMAGE_FILE_HEADER; < 3386 | 3847 3387 enum : uint { IMAGE_SIZEOF_FILE_HEADER = 20 } < > 3848 //}//#endif /* WINVER >= 0x0500 */ 3388 | 3849 > 3850 extern (Windows) { 3389 enum : uint { IMAGE_FILE_RELOCS_STRIPPED = 0x0001 } | 3851 alias void function(PVOID, DWORD, PVOID) PIMAGE_TLS_CALLBACK; 3390 enum : uint { IMAGE_FILE_EXECUTABLE_IMAGE = 0x0002 } < 3391 enum : uint { IMAGE_FILE_LINE_NUMS_STRIPPED = 0x0004 } < 3392 enum : uint { IMAGE_FILE_LOCAL_SYMS_STRIPPED = 0x0008 } < 3393 enum : uint { IMAGE_FILE_AGGRESIVE_WS_TRIM = 0x0010 } < 3394 enum : uint { IMAGE_FILE_LARGE_ADDRESS_AWARE = 0x0020 } < 3395 enum : uint { IMAGE_FILE_BYTES_REVERSED_LO = 0x0080 } < 3396 enum : uint { IMAGE_FILE_32BIT_MACHINE = 0x0100 } < 3397 enum : uint { IMAGE_FILE_DEBUG_STRIPPED = 0x0200 } < 3398 enum : uint { IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP = 0x0400 } < 3399 enum : uint { IMAGE_FILE_NET_RUN_FROM_SWAP = 0x0800 } < 3400 enum : uint { IMAGE_FILE_SYSTEM = 0x1000 } < 3401 enum : uint { IMAGE_FILE_DLL = 0x2000 } < 3402 enum : uint { IMAGE_FILE_UP_SYSTEM_ONLY = 0x4000 } < 3403 enum : uint { IMAGE_FILE_BYTES_REVERSED_HI = 0x8000 } < 3404 | 3852 3405 enum : uint { IMAGE_FILE_MACHINE_UNKNOWN = 0 } < 3406 enum : uint { IMAGE_FILE_MACHINE_I386 = 0x014c } < 3407 enum : uint { IMAGE_FILE_MACHINE_R3000 = 0x0162 } < 3408 enum : uint { IMAGE_FILE_MACHINE_R4000 = 0x0166 } < 3409 enum : uint { IMAGE_FILE_MACHINE_R10000 = 0x0168 } < 3410 enum : uint { IMAGE_FILE_MACHINE_WCEMIPSV2 = 0x0169 } < 3411 enum : uint { IMAGE_FILE_MACHINE_ALPHA = 0x0184 } < 3412 enum : uint { IMAGE_FILE_MACHINE_SH3 = 0x01a2 } < 3413 enum : uint { IMAGE_FILE_MACHINE_SH3DSP = 0x01a3 } < 3414 enum : uint { IMAGE_FILE_MACHINE_SH3E = 0x01a4 } < 3415 enum : uint { IMAGE_FILE_MACHINE_SH4 = 0x01a6 } < 3416 enum : uint { IMAGE_FILE_MACHINE_SH5 = 0x01a8 } < 3417 enum : uint { IMAGE_FILE_MACHINE_ARM = 0x01c0 } < 3418 enum : uint { IMAGE_FILE_MACHINE_THUMB = 0x01c2 } < 3419 enum : uint { IMAGE_FILE_MACHINE_AM33 = 0x01d3 } < 3420 enum : uint { IMAGE_FILE_MACHINE_POWERPC = 0x01F0 } < 3421 enum : uint { IMAGE_FILE_MACHINE_POWERPCFP = 0x01f1 } < 3422 enum : uint { IMAGE_FILE_MACHINE_IA64 = 0x0200 } < 3423 enum : uint { IMAGE_FILE_MACHINE_MIPS16 = 0x0266 } < 3424 enum : uint { IMAGE_FILE_MACHINE_ALPHA64 = 0x0284 } < 3425 enum : uint { IMAGE_FILE_MACHINE_MIPSFPU = 0x0366 } < 3426 enum : uint { IMAGE_FILE_MACHINE_MIPSFPU16 = 0x0466 } < 3427 alias IMAGE_FILE_MACHINE_ALPHA64 IMAGE_FILE_MACHINE_AXP64; < 3428 enum : uint { IMAGE_FILE_MACHINE_TRICORE = 0x0520 } < 3429 enum : uint { IMAGE_FILE_MACHINE_CEF = 0x0CEF } < 3430 enum : uint { IMAGE_FILE_MACHINE_EBC = 0x0EBC } < 3431 enum : uint { IMAGE_FILE_MACHINE_AMD64 = 0x8664 } < 3432 enum : uint { IMAGE_FILE_MACHINE_M32R = 0x9041 } < 3433 enum : uint { IMAGE_FILE_MACHINE_CEE = 0xC0EE } < > 3853 static if (_WIN32_WINNT_ONLY && _WIN32_WINNT >= 0x500) { > 3854 alias LONG function(PEXCEPTION_POINTERS) PVECTORED_EXCEPTION_HAN > 3855 alias void function(PVOID, BOOLEAN) WAITORTIMERCALLBACKFUNC; 3434 | 3856 } 3435 struct _IMAGE_DATA_DIRECTORY { < 3436 DWORD VirtualAddress; < 3437 DWORD Size; < 3438 } 3857 } 3439 alias _IMAGE_DATA_DIRECTORY IMAGE_DATA_DIRECTORY; < 3440 alias _IMAGE_DATA_DIRECTORY* PIMAGE_DATA_DIRECTORY; < 3441 3858 3442 enum : uint { IMAGE_NUMBEROF_DIRECTORY_ENTRIES = 16 } | 3859 static if (WINVER >= 0x501) { > 3860 enum HEAP_INFORMATION_CLASS { > 3861 HeapCompatibilityInformation > 3862 } > 3863 > 3864 enum ACTIVATION_CONTEXT_INFO_CLASS { > 3865 ActivationContextBasicInformation = 1, > 3866 ActivationContextDetailedInformation, > 3867 AssemblyDetailedInformationInActivationContext, > 3868 FileInformationInAssemblyOfAssemblyInActivationContext > 3869 } > 3870 > 3871 struct ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION { > 3872 DWORD ulFlags; > 3873 DWORD ulEncodedAssemblyIdentityLength; > 3874 DWORD ulManifestPathType; > 3875 DWORD ulManifestPathLength; > 3876 LARGE_INTEGER liManifestLastWriteTime; > 3877 DWORD ulPolicyPathType; > 3878 DWORD ulPolicyPathLength; > 3879 LARGE_INTEGER liPolicyLastWriteTime; > 3880 DWORD ulMetadataSatelliteRosterIndex; > 3881 DWORD ulManifestVersionMajor; > 3882 DWORD ulManifestVersionMinor; > 3883 DWORD ulPolicyVersionMajor; > 3884 DWORD ulPolicyVersionMinor; > 3885 DWORD ulAssemblyDirectoryNameLength; > 3886 PCWSTR lpAssemblyEncodedAssemblyIdentity; > 3887 PCWSTR lpAssemblyManifestPath; > 3888 PCWSTR lpAssemblyPolicyPath; > 3889 PCWSTR lpAssemblyDirectoryName; > 3890 } > 3891 alias ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION* > 3892 PACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION; > 3893 alias CPtr!(ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION) > 3894 PCACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION; 3443 3895 3444 struct _IMAGE_OPTIONAL_HEADER { | 3896 struct ACTIVATION_CONTEXT_DETAILED_INFORMATION { > 3897 DWORD dwFlags; > 3898 DWORD ulFormatVersion; > 3899 DWORD ulAssemblyCount; > 3900 DWORD ulRootManifestPathType; > 3901 DWORD ulRootManifestPathChars; > 3902 DWORD ulRootConfigurationPathType; > 3903 DWORD ulRootConfigurationPathChars; > 3904 DWORD ulAppDirPathType; > 3905 DWORD ulAppDirPathChars; > 3906 PCWSTR lpRootManifestPath; > 3907 PCWSTR lpRootConfigurationPath; > 3908 PCWSTR lpAppDirPath; > 3909 } > 3910 alias ACTIVATION_CONTEXT_DETAILED_INFORMATION* > 3911 PACTIVATION_CONTEXT_DETAILED_INFORMATION; > 3912 alias CPtr!(ACTIVATION_CONTEXT_DETAILED_INFORMATION) > 3913 PCACTIVATION_CONTEXT_DETAILED_INFORMATION; 3445 3914 3446 WORD Magic; | 3915 struct ACTIVATION_CONTEXT_QUERY_INDEX { 3447 BYTE MajorLinkerVersion; | 3916 ULONG ulAssemblyIndex; 3448 BYTE MinorLinkerVersion; | 3917 ULONG ulFileIndexInAssembly; 3449 DWORD SizeOfCode; < > 3918 } 3450 DWORD SizeOfInitializedData; | 3919 alias ACTIVATION_CONTEXT_QUERY_INDEX* PACTIVATION_CONTEXT_QUERY_IN 3451 DWORD SizeOfUninitializedData; | 3920 alias CPtr!(ACTIVATION_CONTEXT_QUERY_INDEX) PCACTIVATION_CONTEXT_QUERY_I 3452 DWORD AddressOfEntryPoint; < 3453 DWORD BaseOfCode; < 3454 DWORD BaseOfData; < 3455 3921 > 3922 struct ASSEMBLY_FILE_DETAILED_INFORMATION { 3456 DWORD ImageBase; | 3923 DWORD ulFlags; 3457 DWORD SectionAlignment; < 3458 DWORD FileAlignment; | 3924 DWORD ulFilenameLength; 3459 WORD MajorOperatingSystemVersion; | 3925 DWORD ulPathLength; 3460 WORD MinorOperatingSystemVersion; | 3926 PCWSTR lpFileName; 3461 WORD MajorImageVersion; | 3927 PCWSTR lpFilePath; 3462 WORD MinorImageVersion; < > 3928 } 3463 WORD MajorSubsystemVersion; | 3929 alias ASSEMBLY_FILE_DETAILED_INFORMATION* 3464 WORD MinorSubsystemVersion; | 3930 PASSEMBLY_FILE_DETAILED_INFORMATION; 3465 DWORD Win32VersionValue; | 3931 alias CPtr!(ASSEMBLY_FILE_DETAILED_INFORMATION) 3466 DWORD SizeOfImage; | 3932 PCASSEMBLY_FILE_DETAILED_INFORMATION; 3467 DWORD SizeOfHeaders; < 3468 DWORD CheckSum; < 3469 WORD Subsystem; < 3470 WORD DllCharacteristics; < 3471 DWORD SizeOfStackReserve; < 3472 DWORD SizeOfStackCommit; < 3473 DWORD SizeOfHeapReserve; < 3474 DWORD SizeOfHeapCommit; < 3475 DWORD LoaderFlags; < 3476 DWORD NumberOfRvaAndSizes; < 3477 IMAGE_DATA_DIRECTORY DataDirectory[IMAGE_NUMBEROF_DIRECTORY_ENTRIES]; < 3478 } 3933 } 3479 alias _IMAGE_OPTIONAL_HEADER IMAGE_OPTIONAL_HEADER32; < 3480 alias _IMAGE_OPTIONAL_HEADER* PIMAGE_OPTIONAL_HEADER32; < 3481 < 3482 struct _IMAGE_ROM_OPTIONAL_HEADER { < 3483 WORD Magic; < 3484 BYTE MajorLinkerVersion; < 3485 BYTE MinorLinkerVersion; < 3486 DWORD SizeOfCode; < 3487 DWORD SizeOfInitializedData; < 3488 DWORD SizeOfUninitializedData; < 3489 DWORD AddressOfEntryPoint; < 3490 DWORD BaseOfCode; < 3491 DWORD BaseOfData; < 3492 DWORD BaseOfBss; < 3493 DWORD GprMask; < 3494 DWORD CprMask[4]; < 3495 DWORD GpValue; < 3496 } < 3497 alias _IMAGE_ROM_OPTIONAL_HEADER IMAGE_ROM_OPTIONAL_HEADER; < 3498 alias _IMAGE_ROM_OPTIONAL_HEADER* PIMAGE_ROM_OPTIONAL_HEADER; < 3499 3934 3500 struct _IMAGE_OPTIONAL_HEADER64 { | 3935 version (Unicode) { 3501 WORD Magic; | 3936 alias OSVERSIONINFOW OSVERSIONINFO; 3502 BYTE MajorLinkerVersion; | 3937 alias OSVERSIONINFOEXW OSVERSIONINFOEX; 3503 BYTE MinorLinkerVersion; | 3938 } else { 3504 DWORD SizeOfCode; | 3939 alias OSVERSIONINFOA OSVERSIONINFO; 3505 DWORD SizeOfInitializedData; | 3940 alias OSVERSIONINFOEXA OSVERSIONINFOEX; 3506 DWORD SizeOfUninitializedData; < 3507 DWORD AddressOfEntryPoint; < 3508 DWORD BaseOfCode; < 3509 ULONGLONG ImageBase; < 3510 DWORD SectionAlignment; < 3511 DWORD FileAlignment; < 3512 WORD MajorOperatingSystemVersion; < 3513 WORD MinorOperatingSystemVersion; < 3514 WORD MajorImageVersion; < 3515 WORD MinorImageVersion; < 3516 WORD MajorSubsystemVersion; < 3517 WORD MinorSubsystemVersion; < 3518 DWORD Win32VersionValue; < 3519 DWORD SizeOfImage; < 3520 DWORD SizeOfHeaders; < 3521 DWORD CheckSum; < 3522 WORD Subsystem; < 3523 WORD DllCharacteristics; < 3524 ULONGLONG SizeOfStackReserve; < 3525 ULONGLONG SizeOfStackCommit; < 3526 ULONGLONG SizeOfHeapReserve; < 3527 ULONGLONG SizeOfHeapCommit; < 3528 DWORD LoaderFlags; < 3529 DWORD NumberOfRvaAndSizes; < 3530 IMAGE_DATA_DIRECTORY DataDirectory[IMAGE_NUMBEROF_DIRECTORY_ENTRIES]; < 3531 } 3941 } 3532 alias _IMAGE_OPTIONAL_HEADER64 IMAGE_OPTIONAL_HEADER64; < 3533 alias _IMAGE_OPTIONAL_HEADER64* PIMAGE_OPTIONAL_HEADER64; < 3534 3942 3535 enum : uint { IMAGE_SIZEOF_ROM_OPTIONAL_HEADER = 56 } | 3943 alias OSVERSIONINFO* POSVERSIONINFO, LPOSVERSIONINFO; 3536 enum : uint { IMAGE_SIZEOF_STD_OPTIONAL_HEADER = 28 } | 3944 alias OSVERSIONINFOEX* POSVERSIONINFOEX, LPOSVERSIONINFOEX; 3537 enum : uint { IMAGE_SIZEOF_NT_OPTIONAL32_HEADER = 224 } < 3538 enum : uint { IMAGE_SIZEOF_NT_OPTIONAL64_HEADER = 240 } < > 3945 3539 3946 3540 enum : uint { IMAGE_NT_OPTIONAL_HDR32_MAGIC = 0x10b } | 3947 static if (_WIN32_WINNT_ONLY && _WIN32_WINNT >= 0x500) { 3541 enum : uint { IMAGE_NT_OPTIONAL_HDR64_MAGIC = 0x20b } | 3948 extern (Windows) ULONGLONG VerSetConditionMask(ULONGLONG, DWORD, BYTE); 3542 enum : uint { IMAGE_ROM_OPTIONAL_HDR_MAGIC = 0x107 } < 3543 < 3544 // #ifdef _WIN64 < 3545 // ... < 3546 // #... < 3547 // #... < 3548 // #else < 3549 alias IMAGE_OPTIONAL_HEADER32 IMAGE_OPTIONAL_HEADER; < 3550 alias PIMAGE_OPTIONAL_HEADER32 PIMAGE_OPTIONAL_HEADER; < 3551 alias IMAGE_SIZEOF_NT_OPTIONAL32_HEADER IMAGE_SIZEOF_NT_OPTIONAL_HEADER; < 3552 alias IMAGE_NT_OPTIONAL_HDR32_MAGIC IMAGE_NT_OPTIONAL_HDR_MAGIC; < 3553 // #endif < 3554 < 3555 struct _IMAGE_NT_HEADERS64 { < 3556 DWORD Signature; < 3557 IMAGE_FILE_HEADER FileHeader; < 3558 IMAGE_OPTIONAL_HEADER64 OptionalHeader; < 3559 } < 3560 alias _IMAGE_NT_HEADERS64 IMAGE_NT_HEADERS64; < 3561 alias _IMAGE_NT_HEADERS64* PIMAGE_NT_HEADERS64; < 3562 < 3563 struct _IMAGE_NT_HEADERS { < 3564 DWORD Signature; < 3565 IMAGE_FILE_HEADER FileHeader; < 3566 IMAGE_OPTIONAL_HEADER32 OptionalHeader; < 3567 } < 3568 alias _IMAGE_NT_HEADERS IMAGE_NT_HEADERS32; < 3569 alias _IMAGE_NT_HEADERS* PIMAGE_NT_HEADERS32; < 3570 < 3571 struct _IMAGE_ROM_HEADERS { < 3572 IMAGE_FILE_HEADER FileHeader; < 3573 IMAGE_ROM_OPTIONAL_HEADER OptionalHeader; < 3574 } < 3575 alias _IMAGE_ROM_HEADERS IMAGE_ROM_HEADERS; < 3576 alias _IMAGE_ROM_HEADERS* PIMAGE_ROM_HEADERS; < 3577 < 3578 // #ifdef _WIN64 < 3579 // ... < 3580 // #else < 3581 alias IMAGE_NT_HEADERS32 IMAGE_NT_HEADERS; < 3582 alias PIMAGE_NT_HEADERS32 PIMAGE_NT_HEADERS; < 3583 // #endif < 3584 < 3585 // #define IMAGE_FIRST_SECTION( ntheader ) ((PIMAGE_SECTION_HEADER) ((ULONG_PTR) < 3586 < 3587 enum : uint { IMAGE_SUBSYSTEM_UNKNOWN = 0 } < 3588 enum : uint { IMAGE_SUBSYSTEM_NATIVE = 1 } < 3589 enum : uint { IMAGE_SUBSYSTEM_WINDOWS_GUI = 2 } < 3590 enum : uint { IMAGE_SUBSYSTEM_WINDOWS_CUI = 3 } < 3591 enum : uint { IMAGE_SUBSYSTEM_OS2_CUI = 5 } < 3592 enum : uint { IMAGE_SUBSYSTEM_POSIX_CUI = 7 } < 3593 enum : uint { IMAGE_SUBSYSTEM_NATIVE_WINDOWS = 8 } < 3594 enum : uint { IMAGE_SUBSYSTEM_WINDOWS_CE_GUI = 9 } < 3595 enum : uint { IMAGE_SUBSYSTEM_EFI_APPLICATION = 10 } < 3596 enum : uint { IMAGE_SUBSYSTEM_EFI_BOOT_SERVICE_DRIVER = 11 } < 3597 enum : uint { IMAGE_SUBSYSTEM_EFI_RUNTIME_DRIVER = 12 } < 3598 enum : uint { IMAGE_SUBSYSTEM_EFI_ROM = 13 } < 3599 enum : uint { IMAGE_SUBSYSTEM_XBOX = 14 } < 3600 < 3601 enum : uint { IMAGE_DLLCHARACTERISTICS_NO_BIND = 0x0800 } < 3602 < 3603 enum : uint { IMAGE_DLLCHARACTERISTICS_WDM_DRIVER = 0x2000 } < 3604 < 3605 enum : uint { IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE = 0x8000 } < 3606 < 3607 enum : uint { IMAGE_DIRECTORY_ENTRY_EXPORT = 0 } < 3608 enum : uint { IMAGE_DIRECTORY_ENTRY_IMPORT = 1 } < 3609 enum : uint { IMAGE_DIRECTORY_ENTRY_RESOURCE = 2 } < 3610 enum : uint { IMAGE_DIRECTORY_ENTRY_EXCEPTION = 3 } < 3611 enum : uint { IMAGE_DIRECTORY_ENTRY_SECURITY = 4 } < 3612 enum : uint { IMAGE_DIRECTORY_ENTRY_BASERELOC = 5 } < 3613 enum : uint { IMAGE_DIRECTORY_ENTRY_DEBUG = 6 } < 3614 < 3615 enum : uint { IMAGE_DIRECTORY_ENTRY_ARCHITECTURE = 7 } < 3616 enum : uint { IMAGE_DIRECTORY_ENTRY_GLOBALPTR = 8 } < 3617 enum : uint { IMAGE_DIRECTORY_ENTRY_TLS = 9 } < 3618 enum : uint { IMAGE_DIRECTORY_ENTRY_LOAD_CONFIG = 10 } < 3619 enum : uint { IMAGE_DIRECTORY_ENTRY_BOUND_IMPORT = 11 } < 3620 enum : uint { IMAGE_DIRECTORY_ENTRY_IAT = 12 } < 3621 enum : uint { IMAGE_DIRECTORY_ENTRY_DELAY_IMPORT = 13 } < 3622 enum : uint { IMAGE_DIRECTORY_ENTRY_COM_DESCRIPTOR = 14 } < 3623 < 3624 struct ANON_OBJECT_HEADER { < 3625 WORD Sig1; < 3626 WORD Sig2; < 3627 WORD Version; < 3628 WORD Machine; < 3629 DWORD TimeDateStamp; < 3630 CLSID ClassID; < 3631 DWORD SizeOfData; < 3632 } 3949 } 3633 3950 3634 enum : uint { IMAGE_SIZEOF_SHORT_NAME = 8 } | 3951 version (Win64) { 3635 < 3636 struct _IMAGE_SECTION_HEADER { < 3637 BYTE Name[IMAGE_SIZEOF_SHORT_NAME]; < 3638 union { < 3639 DWORD PhysicalAddress; < 3640 DWORD VirtualSize; < 3641 } < 3642 < 3643 DWORD VirtualAddress; < 3644 DWORD SizeOfRawData; < 3645 DWORD PointerToRawData; < 3646 DWORD PointerToRelocations; < 3647 DWORD PointerToLinenumbers; < 3648 WORD NumberOfRelocations; < 3649 WORD NumberOfLinenumbers; < 3650 DWORD Characteristics; < 3651 } < 3652 alias _IMAGE_SECTION_HEADER IMAGE_SECTION_HEADER; < 3653 alias _IMAGE_SECTION_HEADER* PIMAGE_SECTION_HEADER; < > 3952 const WORD IMAGE_NT_OPTIONAL_HDR_MAGIC = IMAGE_NT_OPTIONAL_HDR64_MAGIC; 3654 3953 3655 enum : uint { IMAGE_SIZEOF_SECTION_HEADER = 40 } | 3954 alias IMAGE_ORDINAL_FLAG64 IMAGE_ORDINAL_FLAG; 3656 < > 3955 alias IMAGE_SNAP_BY_ORDINAL64 IMAGE_SNAP_BY_ORDINAL; 3657 enum : uint { IMAGE_SCN_TYPE_NO_PAD = 0x00000008 } | 3956 alias IMAGE_ORDINAL64 IMAGE_ORDINAL; 3658 < > 3957 alias IMAGE_OPTIONAL_HEADER64 IMAGE_OPTIONAL_HEADER; 3659 enum : uint { IMAGE_SCN_CNT_CODE = 0x00000020 } | 3958 alias IMAGE_NT_HEADERS64 IMAGE_NT_HEADERS; 3660 enum : uint { IMAGE_SCN_CNT_INITIALIZED_DATA = 0x00000040 } | 3959 alias IMAGE_THUNK_DATA64 IMAGE_THUNK_DATA; 3661 enum : uint { IMAGE_SCN_CNT_UNINITIALIZED_DATA = 0x00000080 } | 3960 alias IMAGE_TLS_DIRECTORY64 IMAGE_TLS_DIRECTORY; 3662 < > 3961 } else { 3663 enum : uint { IMAGE_SCN_LNK_OTHER = 0x00000100 } | 3962 const WORD IMAGE_NT_OPTIONAL_HDR_MAGIC = IMAGE_NT_OPTIONAL_HDR32_MAGIC; 3664 enum : uint { IMAGE_SCN_LNK_INFO = 0x00000200 } < 3665 < 3666 enum : uint { IMAGE_SCN_LNK_REMOVE = 0x00000800 } < 3667 enum : uint { IMAGE_SCN_LNK_COMDAT = 0x00001000 } < 3668 < 3669 enum : uint { IMAGE_SCN_NO_DEFER_SPEC_EXC = 0x00004000 } < 3670 enum : uint { IMAGE_SCN_GPREL = 0x00008000 } < 3671 enum : uint { IMAGE_SCN_MEM_FARDATA = 0x00008000 } < 3672 < 3673 enum : uint { IMAGE_SCN_MEM_PURGEABLE = 0x00020000 } < 3674 enum : uint { IMAGE_SCN_MEM_16BIT = 0x00020000 } < 3675 enum : uint { IMAGE_SCN_MEM_LOCKED = 0x00040000 } < 3676 enum : uint { IMAGE_SCN_MEM_PRELOAD = 0x00080000 } < 3677 < 3678 enum : uint { IMAGE_SCN_ALIGN_1BYTES = 0x00100000 } < 3679 enum : uint { IMAGE_SCN_ALIGN_2BYTES = 0x00200000 } < 3680 enum : uint { IMAGE_SCN_ALIGN_4BYTES = 0x00300000 } < 3681 enum : uint { IMAGE_SCN_ALIGN_8BYTES = 0x00400000 } < 3682 enum : uint { IMAGE_SCN_ALIGN_16BYTES = 0x00500000 } < 3683 enum : uint { IMAGE_SCN_ALIGN_32BYTES = 0x00600000 } < 3684 enum : uint { IMAGE_SCN_ALIGN_64BYTES = 0x00700000 } < 3685 enum : uint { IMAGE_SCN_ALIGN_128BYTES = 0x00800000 } < 3686 enum : uint { IMAGE_SCN_ALIGN_256BYTES = 0x00900000 } < 3687 enum : uint { IMAGE_SCN_ALIGN_512BYTES = 0x00A00000 } < 3688 enum : uint { IMAGE_SCN_ALIGN_1024BYTES = 0x00B00000 } < 3689 enum : uint { IMAGE_SCN_ALIGN_2048BYTES = 0x00C00000 } < 3690 enum : uint { IMAGE_SCN_ALIGN_4096BYTES = 0x00D00000 } < 3691 enum : uint { IMAGE_SCN_ALIGN_8192BYTES = 0x00E00000 } < 3692 < 3693 enum : uint { IMAGE_SCN_ALIGN_MASK = 0x00F00000 } < 3694 < 3695 enum : uint { IMAGE_SCN_LNK_NRELOC_OVFL = 0x01000000 } < 3696 enum : uint { IMAGE_SCN_MEM_DISCARDABLE = 0x02000000 } < 3697 enum : uint { IMAGE_SCN_MEM_NOT_CACHED = 0x04000000 } < 3698 enum : uint { IMAGE_SCN_MEM_NOT_PAGED = 0x08000000 } < 3699 enum : uint { IMAGE_SCN_MEM_SHARED = 0x10000000 } < 3700 enum : uint { IMAGE_SCN_MEM_EXECUTE = 0x20000000 } < 3701 enum : uint { IMAGE_SCN_MEM_READ = 0x40000000 } < 3702 enum : uint { IMAGE_SCN_MEM_WRITE = 0x80000000 } < 3703 < 3704 enum : uint { IMAGE_SCN_SCALE_INDEX = 0x00000001 } < 3705 < 3706 // #ifndef _MAC < 3707 align(2): < 3708 // #endif < 3709 < 3710 struct _IMAGE_SYMBOL { < 3711 union { < 3712 BYTE ShortName[8]; < 3713 struct { < 3714 DWORD Short; < 3715 DWORD Long; < 3716 } < 3717 < 3718 DWORD LongName[2]; < 3719 } < 3720 < 3721 DWORD Value; < 3722 SHORT SectionNumber; < 3723 WORD Type; < 3724 BYTE StorageClass; < 3725 BYTE NumberOfAuxSymbols; < 3726 } < 3727 alias _IMAGE_SYMBOL IMAGE_SYMBOL; < 3728 < 3729 alias IMAGE_SYMBOL* PIMAGE_SYMBOL; < 3730 < 3731 enum : uint { IMAGE_SIZEOF_SYMBOL = 18 } < 3732 3963 3733 enum : SHORT { IMAGE_SYM_UNDEFINED = 0 } | 3964 alias IMAGE_ORDINAL_FLAG32 IMAGE_ORDINAL_FLAG; 3734 enum : SHORT { IMAGE_SYM_ABSOLUTE = -1 } | 3965 alias IMAGE_ORDINAL32 IMAGE_ORDINAL; 3735 enum : SHORT { IMAGE_SYM_DEBUG = -2 } | 3966 alias IMAGE_SNAP_BY_ORDINAL32 IMAGE_SNAP_BY_ORDINAL; 3736 enum : uint { IMAGE_SYM_SECTION_MAX = 0xFEFF } | 3967 alias IMAGE_OPTIONAL_HEADER32 IMAGE_OPTIONAL_HEADER; 3737 < > 3968 alias IMAGE_NT_HEADERS32 IMAGE_NT_HEADERS; 3738 enum : uint { IMAGE_SYM_TYPE_NULL = 0x0000 } | 3969 alias IMAGE_THUNK_DATA32 IMAGE_THUNK_DATA; 3739 enum : uint { IMAGE_SYM_TYPE_VOID = 0x0001 } | 3970 alias IMAGE_TLS_DIRECTORY32 IMAGE_TLS_DIRECTORY; 3740 enum : uint { IMAGE_SYM_TYPE_CHAR = 0x0002 } < 3741 enum : uint { IMAGE_SYM_TYPE_SHORT = 0x0003 } < 3742 enum : uint { IMAGE_SYM_TYPE_INT = 0x0004 } < 3743 enum : uint { IMAGE_SYM_TYPE_LONG = 0x0005 } < 3744 enum : uint { IMAGE_SYM_TYPE_FLOAT = 0x0006 } < 3745 enum : uint { IMAGE_SYM_TYPE_DOUBLE = 0x0007 } < 3746 enum : uint { IMAGE_SYM_TYPE_STRUCT = 0x0008 } < 3747 enum : uint { IMAGE_SYM_TYPE_UNION = 0x0009 } < 3748 enum : uint { IMAGE_SYM_TYPE_ENUM = 0x000A } < 3749 enum : uint { IMAGE_SYM_TYPE_MOE = 0x000B } < 3750 enum : uint { IMAGE_SYM_TYPE_BYTE = 0x000C } < 3751 enum : uint { IMAGE_SYM_TYPE_WORD = 0x000D } < 3752 enum : uint { IMAGE_SYM_TYPE_UINT = 0x000E } < 3753 enum : uint { IMAGE_SYM_TYPE_DWORD = 0x000F } < 3754 enum : uint { IMAGE_SYM_TYPE_PCODE = 0x8000 } < 3755 < 3756 enum : uint { IMAGE_SYM_DTYPE_NULL = 0 } < 3757 enum : uint { IMAGE_SYM_DTYPE_POINTER = 1 } < 3758 enum : uint { IMAGE_SYM_DTYPE_FUNCTION = 2 } < 3759 enum : uint { IMAGE_SYM_DTYPE_ARRAY = 3 } < 3760 < 3761 enum : BYTE { IMAGE_SYM_CLASS_END_OF_FUNCTION = cast(BYTE)-1 } < 3762 enum : uint { IMAGE_SYM_CLASS_NULL = 0x0000 } < 3763 enum : uint { IMAGE_SYM_CLASS_AUTOMATIC = 0x0001 } < 3764 enum : uint { IMAGE_SYM_CLASS_EXTERNAL = 0x0002 } < 3765 enum : uint { IMAGE_SYM_CLASS_STATIC = 0x0003 } < 3766 enum : uint { IMAGE_SYM_CLASS_REGISTER = 0x0004 } < 3767 enum : uint { IMAGE_SYM_CLASS_EXTERNAL_DEF = 0x0005 } < 3768 enum : uint { IMAGE_SYM_CLASS_LABEL = 0x0006 } < 3769 enum : uint { IMAGE_SYM_CLASS_UNDEFINED_LABEL = 0x0007 } < 3770 enum : uint { IMAGE_SYM_CLASS_MEMBER_OF_STRUCT = 0x0008 } < 3771 enum : uint { IMAGE_SYM_CLASS_ARGUMENT = 0x0009 } < 3772 enum : uint { IMAGE_SYM_CLASS_STRUCT_TAG = 0x000A } < 3773 enum : uint { IMAGE_SYM_CLASS_MEMBER_OF_UNION = 0x000B } < 3774 enum : uint { IMAGE_SYM_CLASS_UNION_TAG = 0x000C } < 3775 enum : uint { IMAGE_SYM_CLASS_TYPE_DEFINITION = 0x000D } < 3776 enum : uint { IMAGE_SYM_CLASS_UNDEFINED_STATIC = 0x000E } < 3777 enum : uint { IMAGE_SYM_CLASS_ENUM_TAG = 0x000F } < 3778 enum : uint { IMAGE_SYM_CLASS_MEMBER_OF_ENUM = 0x0010 } < 3779 enum : uint { IMAGE_SYM_CLASS_REGISTER_PARAM = 0x0011 } < 3780 enum : uint { IMAGE_SYM_CLASS_BIT_FIELD = 0x0012 } < 3781 < 3782 enum : uint { IMAGE_SYM_CLASS_FAR_EXTERNAL = 0x0044 } < 3783 < 3784 enum : uint { IMAGE_SYM_CLASS_BLOCK = 0x0064 } < 3785 enum : uint { IMAGE_SYM_CLASS_FUNCTION = 0x0065 } < 3786 enum : uint { IMAGE_SYM_CLASS_END_OF_STRUCT = 0x0066 } < 3787 enum : uint { IMAGE_SYM_CLASS_FILE = 0x0067 } < 3788 < 3789 enum : uint { IMAGE_SYM_CLASS_SECTION = 0x0068 } < 3790 enum : uint { IMAGE_SYM_CLASS_WEAK_EXTERNAL = 0x0069 } < 3791 < 3792 enum : uint { IMAGE_SYM_CLASS_CLR_TOKEN = 0x006B } < 3793 < 3794 enum : uint { N_BTMASK = 0x000F } < 3795 enum : uint { N_TMASK = 0x0030 } < 3796 enum : uint { N_TMASK1 = 0x00C0 } < 3797 enum : uint { N_TMASK2 = 0x00F0 } < 3798 enum : uint { N_BTSHFT = 4 } < 3799 enum : uint { N_TSHIFT = 2 } < 3800 < 3801 BYTE BTYPE(BYTE x){ return x & N_BTMASK; } < 3802 < 3803 // #ifndef ISPTR < 3804 bit ISPTR(uint x){ return (x & N_TMASK) == (IMAGE_SYM_DTYPE_POINTER << N_BTSHFT) < 3805 // #endif < 3806 < 3807 // #ifndef ISFCN < 3808 bit ISFCN(uint x){ return (x & N_TMASK) == (IMAGE_SYM_DTYPE_FUNCTION << N_BTSHFT < 3809 // #endif < 3810 < 3811 // #ifndef ISARY < 3812 bit ISARY(uint x){ return (x & N_TMASK) == (IMAGE_SYM_DTYPE_ARRAY << N_BTSHFT); < 3813 // #endif < 3814 < 3815 // #ifndef ISTAG < 3816 bit ISTAG(uint x){ return x == IMAGE_SYM_CLASS_STRUCT_TAG || x == IMAGE_SYM_CLAS < 3817 // #endif < 3818 < 3819 // #ifndef INCREF < 3820 uint INCREF(uint x){ return ((x&~N_BTMASK)<<N_TSHIFT)|(IMAGE_SYM_DTYPE_POINTER<< < 3821 // #endif < 3822 // #ifndef DECREF < 3823 uint DECREF(uint x){ return ((x >>> N_TSHIFT) & ~N_BTMASK)|(x & N_BTMASK); } < 3824 // #endif < 3825 < 3826 union _IMAGE_AUX_SYMBOL { < 3827 struct { < 3828 DWORD TagIndex; < 3829 union { < 3830 struct { < 3831 WORD Linenumber; < 3832 WORD Size; < 3833 } 3971 } 3834 3972 3835 DWORD TotalSize; | 3973 alias IMAGE_OPTIONAL_HEADER* PIMAGE_OPTIONAL_HEADER; 3836 } < 3837 < > 3974 alias IMAGE_NT_HEADERS* PIMAGE_NT_HEADERS; > 3975 alias IMAGE_THUNK_DATA* PIMAGE_THUNK_DATA; 3838 union { | 3976 alias IMAGE_TLS_DIRECTORY* PIMAGE_TLS_DIRECTORY; 3839 struct { < 3840 DWORD PointerToLinenumber; < 3841 DWORD PointerToNextFunction; < 3842 } < 3843 < 3844 struct { < 3845 WORD Dimension[4]; < 3846 } < 3847 < 3848 } < 3849 < 3850 WORD TvIndex; < 3851 } < 3852 < 3853 struct { < 3854 BYTE Name[IMAGE_SIZEOF_SYMBOL]; < 3855 } < 3856 < 3857 struct { < 3858 DWORD Length; < 3859 WORD NumberOfRelocations; < 3860 WORD NumberOfLinenumbers; < 3861 DWORD CheckSum; < 3862 SHORT Number; < 3863 BYTE Selection; < 3864 } < 3865 < 3866 } < 3867 alias _IMAGE_AUX_SYMBOL IMAGE_AUX_SYMBOL; < 3868 < 3869 alias IMAGE_AUX_SYMBOL* PIMAGE_AUX_SYMBOL; < 3870 < 3871 enum : uint { IMAGE_SIZEOF_AUX_SYMBOL = 18 } < 3872 < 3873 alias int IMAGE_AUX_SYMBOL_TYPE; < 3874 enum { < 3875 IMAGE_AUX_SYMBOL_TYPE_TOKEN_DEF = 1, < 3876 } < 3877 < 3878 align(2): < 3879 < 3880 struct IMAGE_AUX_SYMBOL_TOKEN_DEF { < 3881 BYTE bAuxType; < 3882 BYTE bReserved; < 3883 DWORD SymbolTableIndex; < 3884 BYTE rgbReserved[12]; < 3885 } < 3886 < 3887 alias IMAGE_AUX_SYMBOL_TOKEN_DEF* PIMAGE_AUX_SYMBOL_TOKEN_DEF; < 3888 < 3889 align: < 3890 < 3891 enum : uint { IMAGE_COMDAT_SELECT_NODUPLICATES = 1 } < 3892 enum : uint { IMAGE_COMDAT_SELECT_ANY = 2 } < 3893 enum : uint { IMAGE_COMDAT_SELECT_SAME_SIZE = 3 } < 3894 enum : uint { IMAGE_COMDAT_SELECT_EXACT_MATCH = 4 } < 3895 enum : uint { IMAGE_COMDAT_SELECT_ASSOCIATIVE = 5 } < 3896 enum : uint { IMAGE_COMDAT_SELECT_LARGEST = 6 } < 3897 enum : uint { IMAGE_COMDAT_SELECT_NEWEST = 7 } < 3898 < 3899 enum : uint { IMAGE_WEAK_EXTERN_SEARCH_NOLIBRARY = 1 } < 3900 enum : uint { IMAGE_WEAK_EXTERN_SEARCH_LIBRARY = 2 } < 3901 enum : uint { IMAGE_WEAK_EXTERN_SEARCH_ALIAS = 3 } < 3902 < 3903 struct _IMAGE_RELOCATION { < 3904 union { < 3905 DWORD VirtualAddress; < 3906 DWORD RelocCount; < 3907 } < 3908 < 3909 DWORD SymbolTableIndex; < 3910 WORD Type; < 3911 } < 3912 alias _IMAGE_RELOCATION IMAGE_RELOCATION; < 3913 < 3914 alias IMAGE_RELOCATION* PIMAGE_RELOCATION; < 3915 < 3916 enum : uint { IMAGE_SIZEOF_RELOCATION = 10 } < 3917 < 3918 enum : uint { IMAGE_REL_I386_ABSOLUTE = 0x0000 } < 3919 enum : uint { IMAGE_REL_I386_DIR16 = 0x0001 } < 3920 enum : uint { IMAGE_REL_I386_REL16 = 0x0002 } < 3921 enum : uint { IMAGE_REL_I386_DIR32 = 0x0006 } < 3922 enum : uint { IMAGE_REL_I386_DIR32NB = 0x0007 } < 3923 enum : uint { IMAGE_REL_I386_SEG12 = 0x0009 } < 3924 enum : uint { IMAGE_REL_I386_SECTION = 0x000A } < 3925 enum : uint { IMAGE_REL_I386_SECREL = 0x000B } < 3926 enum : uint { IMAGE_REL_I386_TOKEN = 0x000C } < 3927 enum : uint { IMAGE_REL_I386_SECREL7 = 0x000D } < 3928 enum : uint { IMAGE_REL_I386_REL32 = 0x0014 } < 3929 < 3930 enum : uint { IMAGE_REL_MIPS_ABSOLUTE = 0x0000 } < 3931 enum : uint { IMAGE_REL_MIPS_REFHALF = 0x0001 } < 3932 enum : uint { IMAGE_REL_MIPS_REFWORD = 0x0002 } < 3933 enum : uint { IMAGE_REL_MIPS_JMPADDR = 0x0003 } < 3934 enum : uint { IMAGE_REL_MIPS_REFHI = 0x0004 } < 3935 enum : uint { IMAGE_REL_MIPS_REFLO = 0x0005 } < 3936 enum : uint { IMAGE_REL_MIPS_GPREL = 0x0006 } < 3937 enum : uint { IMAGE_REL_MIPS_LITERAL = 0x0007 } < 3938 enum : uint { IMAGE_REL_MIPS_SECTION = 0x000A } < 3939 enum : uint { IMAGE_REL_MIPS_SECREL = 0x000B } < 3940 enum : uint { IMAGE_REL_MIPS_SECRELLO = 0x000C } < 3941 enum : uint { IMAGE_REL_MIPS_SECRELHI = 0x000D } < 3942 enum : uint { IMAGE_REL_MIPS_TOKEN = 0x000E } < 3943 enum : uint { IMAGE_REL_MIPS_JMPADDR16 = 0x0010 } < 3944 enum : uint { IMAGE_REL_MIPS_REFWORDNB = 0x0022 } < 3945 enum : uint { IMAGE_REL_MIPS_PAIR = 0x0025 } < 3946 < 3947 enum : uint { IMAGE_REL_ALPHA_ABSOLUTE = 0x0000 } < 3948 enum : uint { IMAGE_REL_ALPHA_REFLONG = 0x0001 } < 3949 enum : uint { IMAGE_REL_ALPHA_REFQUAD = 0x0002 } < 3950 enum : uint { IMAGE_REL_ALPHA_GPREL32 = 0x0003 } < 3951 enum : uint { IMAGE_REL_ALPHA_LITERAL = 0x0004 } < 3952 enum : uint { IMAGE_REL_ALPHA_LITUSE = 0x0005 } < 3953 enum : uint { IMAGE_REL_ALPHA_GPDISP = 0x0006 } < 3954 enum : uint { IMAGE_REL_ALPHA_BRADDR = 0x0007 } < 3955 enum : uint { IMAGE_REL_ALPHA_HINT = 0x0008 } < 3956 enum : uint { IMAGE_REL_ALPHA_INLINE_REFLONG = 0x0009 } < 3957 enum : uint { IMAGE_REL_ALPHA_REFHI = 0x000A } < 3958 enum : uint { IMAGE_REL_ALPHA_REFLO = 0x000B } < 3959 enum : uint { IMAGE_REL_ALPHA_PAIR = 0x000C } < 3960 enum : uint { IMAGE_REL_ALPHA_MATCH = 0x000D } < 3961 enum : uint { IMAGE_REL_ALPHA_SECTION = 0x000E } < 3962 enum : uint { IMAGE_REL_ALPHA_SECREL = 0x000F } < 3963 enum : uint { IMAGE_REL_ALPHA_REFLONGNB = 0x0010 } < 3964 enum : uint { IMAGE_REL_ALPHA_SECRELLO = 0x0011 } < 3965 enum : uint { IMAGE_REL_ALPHA_SECRELHI = 0x0012 } < 3966 enum : uint { IMAGE_REL_ALPHA_REFQ3 = 0x0013 } < 3967 enum : uint { IMAGE_REL_ALPHA_REFQ2 = 0x0014 } < 3968 enum : uint { IMAGE_REL_ALPHA_REFQ1 = 0x0015 } < 3969 enum : uint { IMAGE_REL_ALPHA_GPRELLO = 0x0016 } < 3970 enum : uint { IMAGE_REL_ALPHA_GPRELHI = 0x0017 } < 3971 < 3972 enum : uint { IMAGE_REL_PPC_ABSOLUTE = 0x0000 } < 3973 enum : uint { IMAGE_REL_PPC_ADDR64 = 0x0001 } < 3974 enum : uint { IMAGE_REL_PPC_ADDR32 = 0x0002 } < 3975 enum : uint { IMAGE_REL_PPC_ADDR24 = 0x0003 } < 3976 enum : uint { IMAGE_REL_PPC_ADDR16 = 0x0004 } < 3977 enum : uint { IMAGE_REL_PPC_ADDR14 = 0x0005 } < 3978 enum : uint { IMAGE_REL_PPC_REL24 = 0x0006 } < 3979 enum : uint { IMAGE_REL_PPC_REL14 = 0x0007 } < 3980 enum : uint { IMAGE_REL_PPC_TOCREL16 = 0x0008 } < 3981 enum : uint { IMAGE_REL_PPC_TOCREL14 = 0x0009 } < 3982 < 3983 enum : uint { IMAGE_REL_PPC_ADDR32NB = 0x000A } < 3984 enum : uint { IMAGE_REL_PPC_SECREL = 0x000B } < 3985 enum : uint { IMAGE_REL_PPC_SECTION = 0x000C } < 3986 enum : uint { IMAGE_REL_PPC_IFGLUE = 0x000D } < 3987 enum : uint { IMAGE_REL_PPC_IMGLUE = 0x000E } < 3988 enum : uint { IMAGE_REL_PPC_SECREL16 = 0x000F } < 3989 enum : uint { IMAGE_REL_PPC_REFHI = 0x0010 } < 3990 enum : uint { IMAGE_REL_PPC_REFLO = 0x0011 } < 3991 enum : uint { IMAGE_REL_PPC_PAIR = 0x0012 } < 3992 enum : uint { IMAGE_REL_PPC_SECRELLO = 0x0013 } < 3993 enum : uint { IMAGE_REL_PPC_SECRELHI = 0x0014 } < 3994 enum : uint { IMAGE_REL_PPC_GPREL = 0x0015 } < 3995 enum : uint { IMAGE_REL_PPC_TOKEN = 0x0016 } < 3996 < 3997 enum : uint { IMAGE_REL_PPC_TYPEMASK = 0x00FF } < 3998 < 3999 enum : uint { IMAGE_REL_PPC_NEG = 0x0100 } < 4000 enum : uint { IMAGE_REL_PPC_BRTAKEN = 0x0200 } < 4001 enum : uint { IMAGE_REL_PPC_BRNTAKEN = 0x0400 } < 4002 enum : uint { IMAGE_REL_PPC_TOCDEFN = 0x0800 } < 4003 < 4004 enum : uint { IMAGE_REL_SH3_ABSOLUTE = 0x0000 } < 4005 enum : uint { IMAGE_REL_SH3_DIRECT16 = 0x0001 } < 4006 enum : uint { IMAGE_REL_SH3_DIRECT32 = 0x0002 } < 4007 enum : uint { IMAGE_REL_SH3_DIRECT8 = 0x0003 } < 4008 enum : uint { IMAGE_REL_SH3_DIRECT8_WORD = 0x0004 } < 4009 enum : uint { IMAGE_REL_SH3_DIRECT8_LONG = 0x0005 } < 4010 enum : uint { IMAGE_REL_SH3_DIRECT4 = 0x0006 } < 4011 enum : uint { IMAGE_REL_SH3_DIRECT4_WORD = 0x0007 } < 4012 enum : uint { IMAGE_REL_SH3_DIRECT4_LONG = 0x0008 } < 4013 enum : uint { IMAGE_REL_SH3_PCREL8_WORD = 0x0009 } < 4014 enum : uint { IMAGE_REL_SH3_PCREL8_LONG = 0x000A } < 4015 enum : uint { IMAGE_REL_SH3_PCREL12_WORD = 0x000B } < 4016 enum : uint { IMAGE_REL_SH3_STARTOF_SECTION = 0x000C } < 4017 enum : uint { IMAGE_REL_SH3_SIZEOF_SECTION = 0x000D } < 4018 enum : uint { IMAGE_REL_SH3_SECTION = 0x000E } < 4019 enum : uint { IMAGE_REL_SH3_SECREL = 0x000F } < 4020 enum : uint { IMAGE_REL_SH3_DIRECT32_NB = 0x0010 } < 4021 enum : uint { IMAGE_REL_SH3_GPREL4_LONG = 0x0011 } < 4022 enum : uint { IMAGE_REL_SH3_TOKEN = 0x0012 } < 4023 < 4024 enum : uint { IMAGE_REL_ARM_ABSOLUTE = 0x0000 } < 4025 enum : uint { IMAGE_REL_ARM_ADDR32 = 0x0001 } < 4026 enum : uint { IMAGE_REL_ARM_ADDR32NB = 0x0002 } < 4027 enum : uint { IMAGE_REL_ARM_BRANCH24 = 0x0003 } < 4028 enum : uint { IMAGE_REL_ARM_BRANCH11 = 0x0004 } < 4029 enum : uint { IMAGE_REL_ARM_TOKEN = 0x0005 } < 4030 enum : uint { IMAGE_REL_ARM_GPREL12 = 0x0006 } < 4031 enum : uint { IMAGE_REL_ARM_GPREL7 = 0x0007 } < 4032 enum : uint { IMAGE_REL_ARM_BLX24 = 0x0008 } < 4033 enum : uint { IMAGE_REL_ARM_BLX11 = 0x0009 } < 4034 enum : uint { IMAGE_REL_ARM_SECTION = 0x000E } < 4035 enum : uint { IMAGE_REL_ARM_SECREL = 0x000F } < 4036 < 4037 enum : uint { IMAGE_REL_AM_ABSOLUTE = 0x0000 } < 4038 enum : uint { IMAGE_REL_AM_ADDR32 = 0x0001 } < 4039 enum : uint { IMAGE_REL_AM_ADDR32NB = 0x0002 } < 4040 enum : uint { IMAGE_REL_AM_CALL32 = 0x0003 } < 4041 enum : uint { IMAGE_REL_AM_FUNCINFO = 0x0004 } < 4042 enum : uint { IMAGE_REL_AM_REL32_1 = 0x0005 } < 4043 enum : uint { IMAGE_REL_AM_REL32_2 = 0x0006 } < 4044 enum : uint { IMAGE_REL_AM_SECREL = 0x0007 } < 4045 enum : uint { IMAGE_REL_AM_SECTION = 0x0008 } < 4046 enum : uint { IMAGE_REL_AM_TOKEN = 0x0009 } < 4047 < 4048 enum : uint { IMAGE_REL_AMD64_ABSOLUTE = 0x0000 } < 4049 enum : uint { IMAGE_REL_AMD64_ADDR64 = 0x0001 } < 4050 enum : uint { IMAGE_REL_AMD64_ADDR32 = 0x0002 } < 4051 enum : uint { IMAGE_REL_AMD64_ADDR32NB = 0x0003 } < 4052 enum : uint { IMAGE_REL_AMD64_REL32 = 0x0004 } < 4053 enum : uint { IMAGE_REL_AMD64_REL32_1 = 0x0005 } < 4054 enum : uint { IMAGE_REL_AMD64_REL32_2 = 0x0006 } < 4055 enum : uint { IMAGE_REL_AMD64_REL32_3 = 0x0007 } < 4056 enum : uint { IMAGE_REL_AMD64_REL32_4 = 0x0008 } < 4057 enum : uint { IMAGE_REL_AMD64_REL32_5 = 0x0009 } < 4058 enum : uint { IMAGE_REL_AMD64_SECTION = 0x000A } < 4059 enum : uint { IMAGE_REL_AMD64_SECREL = 0x000B } < 4060 enum : uint { IMAGE_REL_AMD64_SECREL7 = 0x000C } < 4061 enum : uint { IMAGE_REL_AMD64_TOKEN = 0x000D } < 4062 < 4063 enum : uint { IMAGE_REL_IA64_ABSOLUTE = 0x0000 } < 4064 enum : uint { IMAGE_REL_IA64_IMM14 = 0x0001 } < 4065 enum : uint { IMAGE_REL_IA64_IMM22 = 0x0002 } < 4066 enum : uint { IMAGE_REL_IA64_IMM64 = 0x0003 } < 4067 enum : uint { IMAGE_REL_IA64_DIR32 = 0x0004 } < 4068 enum : uint { IMAGE_REL_IA64_DIR64 = 0x0005 } < 4069 enum : uint { IMAGE_REL_IA64_PCREL21B = 0x0006 } < 4070 enum : uint { IMAGE_REL_IA64_PCREL21M = 0x0007 } < 4071 enum : uint { IMAGE_REL_IA64_PCREL21F = 0x0008 } < 4072 enum : uint { IMAGE_REL_IA64_GPREL22 = 0x0009 } < 4073 enum : uint { IMAGE_REL_IA64_LTOFF22 = 0x000A } < 4074 enum : uint { IMAGE_REL_IA64_SECTION = 0x000B } < 4075 enum : uint { IMAGE_REL_IA64_SECREL22 = 0x000C } < 4076 enum : uint { IMAGE_REL_IA64_SECREL64I = 0x000D } < 4077 enum : uint { IMAGE_REL_IA64_SECREL32 = 0x000E } < 4078 < 4079 enum : uint { IMAGE_REL_IA64_DIR32NB = 0x0010 } < 4080 enum : uint { IMAGE_REL_IA64_SREL14 = 0x0011 } < 4081 enum : uint { IMAGE_REL_IA64_SREL22 = 0x0012 } < 4082 enum : uint { IMAGE_REL_IA64_SREL32 = 0x0013 } < 4083 enum : uint { IMAGE_REL_IA64_UREL32 = 0x0014 } < 4084 enum : uint { IMAGE_REL_IA64_PCREL60X = 0x0015 } < 4085 enum : uint { IMAGE_REL_IA64_PCREL60B = 0x0016 } < 4086 enum : uint { IMAGE_REL_IA64_PCREL60F = 0x0017 } < 4087 enum : uint { IMAGE_REL_IA64_PCREL60I = 0x0018 } < 4088 enum : uint { IMAGE_REL_IA64_PCREL60M = 0x0019 } < 4089 enum : uint { IMAGE_REL_IA64_IMMGPREL64 = 0x001A } < 4090 enum : uint { IMAGE_REL_IA64_TOKEN = 0x001B } < 4091 enum : uint { IMAGE_REL_IA64_GPREL32 = 0x001C } < 4092 enum : uint { IMAGE_REL_IA64_ADDEND = 0x001F } < 4093 < 4094 enum : uint { IMAGE_REL_CEF_ABSOLUTE = 0x0000 } < 4095 enum : uint { IMAGE_REL_CEF_ADDR32 = 0x0001 } < 4096 enum : uint { IMAGE_REL_CEF_ADDR64 = 0x0002 } < 4097 enum : uint { IMAGE_REL_CEF_ADDR32NB = 0x0003 } < 4098 enum : uint { IMAGE_REL_CEF_SECTION = 0x0004 } < 4099 enum : uint { IMAGE_REL_CEF_SECREL = 0x0005 } < 4100 enum : uint { IMAGE_REL_CEF_TOKEN = 0x0006 } < 4101 < 4102 enum : uint { IMAGE_REL_CEE_ABSOLUTE = 0x0000 } < 4103 enum : uint { IMAGE_REL_CEE_ADDR32 = 0x0001 } < 4104 enum : uint { IMAGE_REL_CEE_ADDR64 = 0x0002 } < 4105 enum : uint { IMAGE_REL_CEE_ADDR32NB = 0x0003 } < 4106 enum : uint { IMAGE_REL_CEE_SECTION = 0x0004 } < 4107 enum : uint { IMAGE_REL_CEE_SECREL = 0x0005 } < 4108 enum : uint { IMAGE_REL_CEE_TOKEN = 0x0006 } < 4109 < 4110 enum : uint { IMAGE_REL_M32R_ABSOLUTE = 0x0000 } < 4111 enum : uint { IMAGE_REL_M32R_ADDR32 = 0x0001 } < 4112 enum : uint { IMAGE_REL_M32R_ADDR32NB = 0x0002 } < 4113 enum : uint { IMAGE_REL_M32R_ADDR24 = 0x0003 } < 4114 enum : uint { IMAGE_REL_M32R_GPREL16 = 0x0004 } < 4115 enum : uint { IMAGE_REL_M32R_PCREL24 = 0x0005 } < 4116 enum : uint { IMAGE_REL_M32R_PCREL16 = 0x0006 } < 4117 enum : uint { IMAGE_REL_M32R_PCREL8 = 0x0007 } < 4118 enum : uint { IMAGE_REL_M32R_REFHALF = 0x0008 } < 4119 enum : uint { IMAGE_REL_M32R_REFHI = 0x0009 } < 4120 enum : uint { IMAGE_REL_M32R_REFLO = 0x000A } < 4121 enum : uint { IMAGE_REL_M32R_PAIR = 0x000B } < 4122 enum : uint { IMAGE_REL_M32R_SECTION = 0x000C } < 4123 enum : uint { IMAGE_REL_M32R_SECREL32 = 0x000D } < 4124 enum : uint { IMAGE_REL_M32R_TOKEN = 0x000E } < 4125 3977 4126 // #define EXT_IMM64(Value, Address, Size, InstPos, ValPos) Value |= (((ULONGLON | 3978 // TODO: MinGW implements these in assembly. How to translate? 4127 < > 3979 PVOID GetCurrentFiber(); 4128 // #define INS_IMM64(Value, Address, Size, InstPos, ValPos) *(PDWORD)Address = ( | 3980 PVOID GetFiberData(); 4129 < 4130 enum : uint { EMARCH_ENC_I17_IMM7B_INST_WORD_X = 3 } < 4131 enum : uint { EMARCH_ENC_I17_IMM7B_SIZE_X = 7 } < 4132 enum : uint { EMARCH_ENC_I17_IMM7B_INST_WORD_POS_X = 4 } < 4133 enum : uint { EMARCH_ENC_I17_IMM7B_VAL_POS_X = 0 } < 4134 < 4135 enum : uint { EMARCH_ENC_I17_IMM9D_INST_WORD_X = 3 } < 4136 enum : uint { EMARCH_ENC_I17_IMM9D_SIZE_X = 9 } < 4137 enum : uint { EMARCH_ENC_I17_IMM9D_INST_WORD_POS_X = 18 } < 4138 enum : uint { EMARCH_ENC_I17_IMM9D_VAL_POS_X = 7 } < 4139 < 4140 enum : uint { EMARCH_ENC_I17_IMM5C_INST_WORD_X = 3 } < 4141 enum : uint { EMARCH_ENC_I17_IMM5C_SIZE_X = 5 } < 4142 enum : uint { EMARCH_ENC_I17_IMM5C_INST_WORD_POS_X = 13 } < 4143 enum : uint { EMARCH_ENC_I17_IMM5C_VAL_POS_X = 16 } < 4144 < 4145 enum : uint { EMARCH_ENC_I17_IC_INST_WORD_X = 3 } < 4146 enum : uint { EMARCH_ENC_I17_IC_SIZE_X = 1 } < 4147 enum : uint { EMARCH_ENC_I17_IC_INST_WORD_POS_X = 12 } < 4148 enum : uint { EMARCH_ENC_I17_IC_VAL_POS_X = 21 } < 4149 < 4150 enum : uint { EMARCH_ENC_I17_IMM41a_INST_WORD_X = 1 } < 4151 enum : uint { EMARCH_ENC_I17_IMM41a_SIZE_X = 10 } < 4152 enum : uint { EMARCH_ENC_I17_IMM41a_INST_WORD_POS_X = 14 } < 4153 enum : uint { EMARCH_ENC_I17_IMM41a_VAL_POS_X = 22 } < 4154 < 4155 enum : uint { EMARCH_ENC_I17_IMM41b_INST_WORD_X = 1 } < 4156 enum : uint { EMARCH_ENC_I17_IMM41b_SIZE_X = 8 } < 4157 enum : uint { EMARCH_ENC_I17_IMM41b_INST_WORD_POS_X = 24 } < 4158 enum : uint { EMARCH_ENC_I17_IMM41b_VAL_POS_X = 32 } < 4159 < 4160 enum : uint { EMARCH_ENC_I17_IMM41c_INST_WORD_X = 2 } < 4161 enum : uint { EMARCH_ENC_I17_IMM41c_SIZE_X = 23 } < 4162 enum : uint { EMARCH_ENC_I17_IMM41c_INST_WORD_POS_X = 0 } < 4163 enum : uint { EMARCH_ENC_I17_IMM41c_VAL_POS_X = 40 } < 4164 < 4165 enum : uint { EMARCH_ENC_I17_SIGN_INST_WORD_X = 3 } < 4166 enum : uint { EMARCH_ENC_I17_SIGN_SIZE_X = 1 } < 4167 enum : uint { EMARCH_ENC_I17_SIGN_INST_WORD_POS_X = 27 } < 4168 enum : uint { EMARCH_ENC_I17_SIGN_VAL_POS_X = 63 } < 4169 < 4170 struct _IMAGE_LINENUMBER { < 4171 union { < 4172 DWORD SymbolTableIndex; < 4173 DWORD VirtualAddress; < 4174 } < 4175 < 4176 WORD Linenumber; < 4177 } < 4178 alias _IMAGE_LINENUMBER IMAGE_LINENUMBER; < 4179 < 4180 alias IMAGE_LINENUMBER* PIMAGE_LINENUMBER; < 4181 < 4182 enum : uint { IMAGE_SIZEOF_LINENUMBER = 6 } < 4183 < 4184 // #ifndef _MAC < 4185 align: < 4186 // #endif < 4187 < 4188 struct _IMAGE_BASE_RELOCATION { < 4189 DWORD VirtualAddress; < 4190 DWORD SizeOfBlock; < 4191 } < 4192 alias _IMAGE_BASE_RELOCATION IMAGE_BASE_RELOCATION; < 4193 < 4194 alias IMAGE_BASE_RELOCATION* PIMAGE_BASE_RELOCATION; < 4195 < 4196 enum : uint { IMAGE_SIZEOF_BASE_RELOCATION = 8 } < 4197 < 4198 enum : uint { IMAGE_REL_BASED_ABSOLUTE = 0 } < 4199 enum : uint { IMAGE_REL_BASED_HIGH = 1 } < 4200 enum : uint { IMAGE_REL_BASED_LOW = 2 } < 4201 enum : uint { IMAGE_REL_BASED_HIGHLOW = 3 } < 4202 enum : uint { IMAGE_REL_BASED_HIGHADJ = 4 } < 4203 enum : uint { IMAGE_REL_BASED_MIPS_JMPADDR = 5 } < 4204 enum : uint { IMAGE_REL_BASED_MIPS_JMPADDR16 = 9 } < 4205 enum : uint { IMAGE_REL_BASED_IA64_IMM64 = 9 } < 4206 enum : uint { IMAGE_REL_BASED_DIR64 = 10 } < 4207 < 4208 enum : uint { IMAGE_ARCHIVE_START_SIZE = 8 } < 4209 const char[] IMAGE_ARCHIVE_START = "!<arch>\n"; < 4210 const char[] IMAGE_ARCHIVE_END = "`\n"; < 4211 const char[] IMAGE_ARCHIVE_PAD = "\n"; < 4212 const char[] IMAGE_ARCHIVE_LINKER_MEMBER = "/ "; < 4213 const char[] IMAGE_ARCHIVE_LONGNAMES_MEMBER = "// "; < 4214 < 4215 struct _IMAGE_ARCHIVE_MEMBER_HEADER { < 4216 BYTE Name[16]; < 4217 BYTE Date[12]; < 4218 BYTE UserID[6]; < 4219 BYTE GroupID[6]; < 4220 BYTE Mode[8]; < 4221 BYTE Size[10]; < 4222 BYTE EndHeader[2]; < 4223 } < 4224 alias _IMAGE_ARCHIVE_MEMBER_HEADER IMAGE_ARCHIVE_MEMBER_HEADER; < 4225 alias _IMAGE_ARCHIVE_MEMBER_HEADER* PIMAGE_ARCHIVE_MEMBER_HEADER; < 4226 < 4227 enum : uint { IMAGE_SIZEOF_ARCHIVE_MEMBER_HDR = 60 } < 4228 < 4229 struct _IMAGE_EXPORT_DIRECTORY { < 4230 DWORD Characteristics; < 4231 DWORD TimeDateStamp; < 4232 WORD MajorVersion; < 4233 WORD MinorVersion; < 4234 DWORD Name; < 4235 DWORD Base; < 4236 DWORD NumberOfFunctions; < 4237 DWORD NumberOfNames; < 4238 DWORD AddressOfFunctions; < 4239 DWORD AddressOfNames; < 4240 DWORD AddressOfNameOrdinals; < 4241 } < 4242 alias _IMAGE_EXPORT_DIRECTORY IMAGE_EXPORT_DIRECTORY; < 4243 alias _IMAGE_EXPORT_DIRECTORY* PIMAGE_EXPORT_DIRECTORY; < 4244 < 4245 struct _IMAGE_IMPORT_BY_NAME { < 4246 WORD Hint; < 4247 BYTE Name[1]; < 4248 } < 4249 alias _IMAGE_IMPORT_BY_NAME IMAGE_IMPORT_BY_NAME; < 4250 alias _IMAGE_IMPORT_BY_NAME* PIMAGE_IMPORT_BY_NAME; < 4251 < 4252 align(8): < 4253 < 4254 struct _IMAGE_THUNK_DATA64 { < 4255 union { < 4256 ULONGLONG ForwarderString; < 4257 ULONGLONG Function; < 4258 ULONGLONG Ordinal; < 4259 ULONGLONG AddressOfData; < 4260 } < 4261 < 4262 } < 4263 alias _IMAGE_THUNK_DATA64 IMAGE_THUNK_DATA64; < 4264 < 4265 alias IMAGE_THUNK_DATA64* PIMAGE_THUNK_DATA64; < 4266 < 4267 align: < 4268 < 4269 struct _IMAGE_THUNK_DATA32 { < 4270 union { < 4271 DWORD ForwarderString; < 4272 DWORD Function; < 4273 DWORD Ordinal; < 4274 DWORD AddressOfData; < 4275 } < 4276 < 4277 } < 4278 alias _IMAGE_THUNK_DATA32 IMAGE_THUNK_DATA32; < 4279 < 4280 alias IMAGE_THUNK_DATA32* PIMAGE_THUNK_DATA32; < 4281 < 4282 const ulong IMAGE_ORDINAL_FLAG64 = 0x8000000000000000; < 4283 enum : uint { IMAGE_ORDINAL_FLAG32 = 0x80000000 } < 4284 ulong IMAGE_ORDINAL64(ulong Ordinal){ return Ordinal & 0xffff; } < 4285 uint IMAGE_ORDINAL32(uint Ordinal){ return Ordinal & 0xffff; } < 4286 bit IMAGE_SNAP_BY_ORDINAL64(ulong Ordinal){ return (Ordinal & IMAGE_ORDINAL_FLAG < 4287 bit IMAGE_SNAP_BY_ORDINAL32(uint Ordinal){ return (Ordinal & IMAGE_ORDINAL_FLAG3 < 4288 < 4289 extern(Windows) alias VOID function( PVOID DllHandle, DWORD Reason, PVOID Reserv < 4290 < 4291 struct _IMAGE_TLS_DIRECTORY64 { < 4292 ULONGLONG StartAddressOfRawData; < 4293 ULONGLONG EndAddressOfRawData; < 4294 ULONGLONG AddressOfIndex; < 4295 ULONGLONG AddressOfCallBacks; < 4296 DWORD SizeOfZeroFill; < 4297 DWORD Characteristics; < 4298 } < 4299 alias _IMAGE_TLS_DIRECTORY64 IMAGE_TLS_DIRECTORY64; < 4300 < 4301 alias IMAGE_TLS_DIRECTORY64* PIMAGE_TLS_DIRECTORY64; < 4302 < 4303 struct _IMAGE_TLS_DIRECTORY32 { < 4304 DWORD StartAddressOfRawData; < 4305 DWORD EndAddressOfRawData; < 4306 DWORD AddressOfIndex; < 4307 DWORD AddressOfCallBacks; < 4308 DWORD SizeOfZeroFill; < 4309 DWORD Characteristics; < 4310 } < 4311 alias _IMAGE_TLS_DIRECTORY32 IMAGE_TLS_DIRECTORY32; < 4312 < 4313 alias IMAGE_TLS_DIRECTORY32* PIMAGE_TLS_DIRECTORY32; < 4314 < 4315 // #ifdef _WIN64 < 4316 // #... < 4317 // #... < 4318 // ... < 4319 // #... < 4320 // ... < 4321 // #else < 4322 alias IMAGE_ORDINAL_FLAG32 IMAGE_ORDINAL_FLAG; < 4323 alias IMAGE_ORDINAL32 IMAGE_ORDINAL; < 4324 alias IMAGE_THUNK_DATA32 IMAGE_THUNK_DATA; < 4325 alias PIMAGE_THUNK_DATA32 PIMAGE_THUNK_DATA; < 4326 alias IMAGE_SNAP_BY_ORDINAL32 IMAGE_SNAP_BY_ORDINAL; < 4327 alias IMAGE_TLS_DIRECTORY32 IMAGE_TLS_DIRECTORY; < 4328 alias PIMAGE_TLS_DIRECTORY32 PIMAGE_TLS_DIRECTORY; < 4329 // #endif < 4330 < 4331 struct _IMAGE_IMPORT_DESCRIPTOR { < 4332 union { < 4333 DWORD Characteristics; < 4334 DWORD OriginalFirstThunk; < 4335 } < 4336 < 4337 DWORD TimeDateStamp; < 4338 < 4339 DWORD ForwarderChain; < 4340 DWORD Name; < 4341 DWORD FirstThunk; < 4342 } < 4343 alias _IMAGE_IMPORT_DESCRIPTOR IMAGE_IMPORT_DESCRIPTOR; < 4344 < 4345 alias IMAGE_IMPORT_DESCRIPTOR* PIMAGE_IMPORT_DESCRIPTOR; < 4346 < 4347 struct _IMAGE_BOUND_IMPORT_DESCRIPTOR { < 4348 DWORD TimeDateStamp; < 4349 WORD OffsetModuleName; < 4350 WORD NumberOfModuleForwarderRefs; < 4351 } < 4352 alias _IMAGE_BOUND_IMPORT_DESCRIPTOR IMAGE_BOUND_IMPORT_DESCRIPTOR; < 4353 alias _IMAGE_BOUND_IMPORT_DESCRIPTOR* PIMAGE_BOUND_IMPORT_DESCRIPTOR; < 4354 < 4355 struct _IMAGE_BOUND_FORWARDER_REF { < 4356 DWORD TimeDateStamp; < 4357 WORD OffsetModuleName; < 4358 WORD Reserved; < 4359 } < 4360 alias _IMAGE_BOUND_FORWARDER_REF IMAGE_BOUND_FORWARDER_REF; < 4361 alias _IMAGE_BOUND_FORWARDER_REF* PIMAGE_BOUND_FORWARDER_REF; < 4362 < 4363 struct _IMAGE_RESOURCE_DIRECTORY { < 4364 DWORD Characteristics; < 4365 DWORD TimeDateStamp; < 4366 WORD MajorVersion; < 4367 WORD MinorVersion; < 4368 WORD NumberOfNamedEntries; < 4369 WORD NumberOfIdEntries; < 4370 } < 4371 alias _IMAGE_RESOURCE_DIRECTORY IMAGE_RESOURCE_DIRECTORY; < 4372 alias _IMAGE_RESOURCE_DIRECTORY* PIMAGE_RESOURCE_DIRECTORY; < 4373 < 4374 enum : uint { IMAGE_RESOURCE_NAME_IS_STRING = 0x80000000 } < 4375 enum : uint { IMAGE_RESOURCE_DATA_IS_DIRECTORY = 0x80000000 } < 4376 < 4377 struct _IMAGE_RESOURCE_DIRECTORY_ENTRY { < 4378 union { < 4379 struct { < 4380 // DWORD NameOffset:31; < 4381 // DWORD NameIsString:1; < 4382 } < 4383 < 4384 DWORD Name; < 4385 WORD Id; < 4386 } < 4387 < 4388 union { < 4389 DWORD OffsetToData; < 4390 struct { < 4391 // DWORD OffsetToDirectory:31; < 4392 // DWORD DataIsDirectory:1; < 4393 } < 4394 < 4395 } < 4396 < 4397 } < 4398 alias _IMAGE_RESOURCE_DIRECTORY_ENTRY IMAGE_RESOURCE_DIRECTORY_ENTRY; < 4399 alias _IMAGE_RESOURCE_DIRECTORY_ENTRY* PIMAGE_RESOURCE_DIRECTORY_ENTRY; < 4400 < 4401 struct _IMAGE_RESOURCE_DIRECTORY_STRING { < 4402 WORD Length; < 4403 CHAR NameString[ 1 ]; < 4404 } < 4405 alias _IMAGE_RESOURCE_DIRECTORY_STRING IMAGE_RESOURCE_DIRECTORY_STRING; < 4406 alias _IMAGE_RESOURCE_DIRECTORY_STRING* PIMAGE_RESOURCE_DIRECTORY_STRING; < 4407 < 4408 struct _IMAGE_RESOURCE_DIR_STRING_U { < 4409 WORD Length; < 4410 WCHAR NameString[ 1 ]; < 4411 } < 4412 alias _IMAGE_RESOURCE_DIR_STRING_U IMAGE_RESOURCE_DIR_STRING_U; < 4413 alias _IMAGE_RESOURCE_DIR_STRING_U* PIMAGE_RESOURCE_DIR_STRING_U; < 4414 < 4415 struct _IMAGE_RESOURCE_DATA_ENTRY { < 4416 DWORD OffsetToData; < 4417 DWORD Size; < 4418 DWORD CodePage; < 4419 DWORD Reserved; < 4420 } < 4421 alias _IMAGE_RESOURCE_DATA_ENTRY IMAGE_RESOURCE_DATA_ENTRY; < 4422 alias _IMAGE_RESOURCE_DATA_ENTRY* PIMAGE_RESOURCE_DATA_ENTRY; < 4423 < 4424 struct _12 { < 4425 DWORD Characteristics; < 4426 DWORD TimeDateStamp; < 4427 WORD MajorVersion; < 4428 WORD MinorVersion; < 4429 DWORD GlobalFlagsClear; < 4430 DWORD GlobalFlagsSet; < 4431 DWORD CriticalSectionDefaultTimeout; < 4432 DWORD DeCommitFreeBlockThreshold; < 4433 DWORD DeCommitTotalFreeThreshold; < 4434 DWORD LockPrefixTable; < 4435 DWORD MaximumAllocationSize; < 4436 DWORD VirtualMemoryThreshold; < 4437 DWORD ProcessHeapFlags; < 4438 DWORD ProcessAffinityMask; < 4439 WORD CSDVersion; < 4440 WORD Reserved1; < 4441 DWORD EditList; < 4442 DWORD Reserved[ 1 ]; < 4443 } < 4444 alias _12 IMAGE_LOAD_CONFIG_DIRECTORY32; < 4445 alias _12* PIMAGE_LOAD_CONFIG_DIRECTORY32; < 4446 < 4447 struct _13 { < 4448 DWORD Characteristics; < 4449 DWORD TimeDateStamp; < 4450 WORD MajorVersion; < 4451 WORD MinorVersion; < 4452 DWORD GlobalFlagsClear; < 4453 DWORD GlobalFlagsSet; < 4454 DWORD CriticalSectionDefaultTimeout; < 4455 ULONGLONG DeCommitFreeBlockThreshold; < 4456 ULONGLONG DeCommitTotalFreeThreshold; < 4457 ULONGLONG LockPrefixTable; < 4458 ULONGLONG MaximumAllocationSize; < 4459 ULONGLONG VirtualMemoryThreshold; < 4460 ULONGLONG ProcessAffinityMask; < 4461 DWORD ProcessHeapFlags; < 4462 WORD CSDVersion; < 4463 WORD Reserved1; < 4464 ULONGLONG EditList; < 4465 DWORD Reserved[ 2 ]; < 4466 } < 4467 alias _13 IMAGE_LOAD_CONFIG_DIRECTORY64; < 4468 alias _13* PIMAGE_LOAD_CONFIG_DIRECTORY64; < 4469 < 4470 // #ifdef _WIN64 < 4471 // ... < 4472 // #else < 4473 alias IMAGE_LOAD_CONFIG_DIRECTORY32 IMAGE_LOAD_CONFIG_DIRECTORY; < 4474 alias PIMAGE_LOAD_CONFIG_DIRECTORY32 PIMAGE_LOAD_CONFIG_DIRECTORY; < 4475 // #endif < 4476 < 4477 struct _IMAGE_CE_RUNTIME_FUNCTION_ENTRY { < 4478 DWORD FuncStart; < 4479 // DWORD PrologLen : 8; < 4480 // DWORD FuncLen : 22; < 4481 // DWORD ThirtyTwoBit : 1; < 4482 // DWORD ExceptionFlag : 1; < 4483 } < 4484 alias _IMAGE_CE_RUNTIME_FUNCTION_ENTRY IMAGE_CE_RUNTIME_FUNCTION_ENTRY; < 4485 alias _IMAGE_CE_RUNTIME_FUNCTION_ENTRY* PIMAGE_CE_RUNTIME_FUNCTION_ENTRY; < 4486 < 4487 struct _IMAGE_ALPHA64_RUNTIME_FUNCTION_ENTRY { < 4488 ULONGLONG BeginAddress; < 4489 ULONGLONG EndAddress; < 4490 ULONGLONG ExceptionHandler; < 4491 ULONGLONG HandlerData; < 4492 ULONGLONG PrologEndAddress; < 4493 } < 4494 alias _IMAGE_ALPHA64_RUNTIME_FUNCTION_ENTRY IMAGE_ALPHA64_RUNTIME_FUNCTION_ENTRY < 4495 alias _IMAGE_ALPHA64_RUNTIME_FUNCTION_ENTRY* PIMAGE_ALPHA64_RUNTIME_FUNCTION_ENT < 4496 < 4497 struct _IMAGE_ALPHA_RUNTIME_FUNCTION_ENTRY { < 4498 DWORD BeginAddress; < 4499 DWORD EndAddress; < 4500 DWORD ExceptionHandler; < 4501 DWORD HandlerData; < 4502 DWORD PrologEndAddress; < 4503 } < 4504 alias _IMAGE_ALPHA_RUNTIME_FUNCTION_ENTRY IMAGE_ALPHA_RUNTIME_FUNCTION_ENTRY; < 4505 alias _IMAGE_ALPHA_RUNTIME_FUNCTION_ENTRY* PIMAGE_ALPHA_RUNTIME_FUNCTION_ENTRY; < 4506 < 4507 struct _IMAGE_RUNTIME_FUNCTION_ENTRY { < 4508 DWORD BeginAddress; < 4509 DWORD EndAddress; < 4510 DWORD UnwindInfoAddress; < 4511 } < 4512 alias _IMAGE_RUNTIME_FUNCTION_ENTRY* _PIMAGE_RUNTIME_FUNCTION_ENTRY; < 4513 < 4514 alias _IMAGE_RUNTIME_FUNCTION_ENTRY IMAGE_IA64_RUNTIME_FUNCTION_ENTRY; < 4515 alias _PIMAGE_RUNTIME_FUNCTION_ENTRY PIMAGE_IA64_RUNTIME_FUNCTION_ENTRY; < 4516 < 4517 // #if defined(_AXP64_) < 4518 < 4519 // ... < 4520 < 4521 // #elif defined(_ALPHA_) < 4522 < 4523 // ... < 4524 < 4525 // #else < 4526 < 4527 alias _IMAGE_RUNTIME_FUNCTION_ENTRY IMAGE_RUNTIME_FUNCTION_ENTRY; < 4528 alias _PIMAGE_RUNTIME_FUNCTION_ENTRY PIMAGE_RUNTIME_FUNCTION_ENTRY; < 4529 < 4530 // #endif < 4531 < 4532 struct _IMAGE_DEBUG_DIRECTORY { < 4533 DWORD Characteristics; < 4534 DWORD TimeDateStamp; < 4535 WORD MajorVersion; < 4536 WORD MinorVersion; < 4537 DWORD Type; < 4538 DWORD SizeOfData; < 4539 DWORD AddressOfRawData; < 4540 DWORD PointerToRawData; < 4541 } < 4542 alias _IMAGE_DEBUG_DIRECTORY IMAGE_DEBUG_DIRECTORY; < 4543 alias _IMAGE_DEBUG_DIRECTORY* PIMAGE_DEBUG_DIRECTORY; < 4544 < 4545 enum : uint { IMAGE_DEBUG_TYPE_UNKNOWN = 0 } < 4546 enum : uint { IMAGE_DEBUG_TYPE_COFF = 1 } < 4547 enum : uint { IMAGE_DEBUG_TYPE_CODEVIEW = 2 } < 4548 enum : uint { IMAGE_DEBUG_TYPE_FPO = 3 } < 4549 enum : uint { IMAGE_DEBUG_TYPE_MISC = 4 } < 4550 enum : uint { IMAGE_DEBUG_TYPE_EXCEPTION = 5 } < 4551 enum : uint { IMAGE_DEBUG_TYPE_FIXUP = 6 } < 4552 enum : uint { IMAGE_DEBUG_TYPE_OMAP_TO_SRC = 7 } < 4553 enum : uint { IMAGE_DEBUG_TYPE_OMAP_FROM_SRC = 8 } < 4554 enum : uint { IMAGE_DEBUG_TYPE_BORLAND = 9 } < 4555 enum : uint { IMAGE_DEBUG_TYPE_RESERVED10 = 10 } < 4556 enum : uint { IMAGE_DEBUG_TYPE_CLSID = 11 } < 4557 < 4558 struct _IMAGE_COFF_SYMBOLS_HEADER { < 4559 DWORD NumberOfSymbols; < 4560 DWORD LvaToFirstSymbol; < 4561 DWORD NumberOfLinenumbers; < 4562 DWORD LvaToFirstLinenumber; < 4563 DWORD RvaToFirstByteOfCode; < 4564 DWORD RvaToLastByteOfCode; < 4565 DWORD RvaToFirstByteOfData; < 4566 DWORD RvaToLastByteOfData; < 4567 } < 4568 alias _IMAGE_COFF_SYMBOLS_HEADER IMAGE_COFF_SYMBOLS_HEADER; < 4569 alias _IMAGE_COFF_SYMBOLS_HEADER* PIMAGE_COFF_SYMBOLS_HEADER; < 4570 < 4571 enum : uint { FRAME_FPO = 0 } < 4572 enum : uint { FRAME_TRAP = 1 } < 4573 enum : uint { FRAME_TSS = 2 } < 4574 enum : uint { FRAME_NONFPO = 3 } < 4575 < 4576 struct _FPO_DATA { < 4577 DWORD ulOffStart; < 4578 DWORD cbProcSize; < 4579 DWORD cdwLocals; < 4580 WORD cdwParams; < 4581 // WORD cbProlog : 8; < 4582 // WORD cbRegs : 3; < 4583 // WORD fHasSEH : 1; < 4584 // WORD fUseBP : 1; < 4585 // WORD reserved : 1; < 4586 // WORD cbFrame : 2; < 4587 } < 4588 alias _FPO_DATA FPO_DATA; < 4589 alias _FPO_DATA* PFPO_DATA; < 4590 < 4591 enum : uint { SIZEOF_RFPO_DATA = 16 } < 4592 < 4593 enum : uint { IMAGE_DEBUG_MISC_EXENAME = 1 } < 4594 < 4595 struct _IMAGE_DEBUG_MISC { < 4596 DWORD DataType; < 4597 DWORD Length; < 4598 < 4599 BOOLEAN Unicode; < 4600 BYTE Reserved[ 3 ]; < 4601 BYTE Data[ 1 ]; < 4602 } < 4603 alias _IMAGE_DEBUG_MISC IMAGE_DEBUG_MISC; < 4604 alias _IMAGE_DEBUG_MISC* PIMAGE_DEBUG_MISC; < 4605 < 4606 struct _IMAGE_FUNCTION_ENTRY { < 4607 DWORD StartingAddress; < 4608 DWORD EndingAddress; < 4609 DWORD EndOfPrologue; < 4610 } < 4611 alias _IMAGE_FUNCTION_ENTRY IMAGE_FUNCTION_ENTRY; < 4612 alias _IMAGE_FUNCTION_ENTRY* PIMAGE_FUNCTION_ENTRY; < 4613 < 4614 struct _IMAGE_FUNCTION_ENTRY64 { < 4615 ULONGLONG StartingAddress; < 4616 ULONGLONG EndingAddress; < 4617 union { < 4618 ULONGLONG EndOfPrologue; < 4619 ULONGLONG UnwindInfoAddress; < 4620 } < 4621 < 4622 } < 4623 alias _IMAGE_FUNCTION_ENTRY64 IMAGE_FUNCTION_ENTRY64; < 4624 alias _IMAGE_FUNCTION_ENTRY64* PIMAGE_FUNCTION_ENTRY64; < 4625 < 4626 struct _IMAGE_SEPARATE_DEBUG_HEADER { < 4627 WORD Signature; < 4628 WORD Flags; < 4629 WORD Machine; < 4630 WORD Characteristics; < 4631 DWORD TimeDateStamp; < 4632 DWORD CheckSum; < 4633 DWORD ImageBase; < 4634 DWORD SizeOfImage; < 4635 DWORD NumberOfSections; < 4636 DWORD ExportedNamesSize; < 4637 DWORD DebugDirectorySize; < 4638 DWORD SectionAlignment; < 4639 DWORD Reserved[2]; < 4640 } < 4641 alias _IMAGE_SEPARATE_DEBUG_HEADER IMAGE_SEPARATE_DEBUG_HEADER; < 4642 alias _IMAGE_SEPARATE_DEBUG_HEADER* PIMAGE_SEPARATE_DEBUG_HEADER; < 4643 < 4644 struct _NON_PAGED_DEBUG_INFO { < 4645 WORD Signature; < 4646 WORD Flags; < 4647 DWORD Size; < 4648 WORD Machine; < 4649 WORD Characteristics; < 4650 DWORD TimeDateStamp; < 4651 DWORD CheckSum; < 4652 DWORD SizeOfImage; < 4653 ULONGLONG ImageBase; < 4654 < 4655 } < 4656 alias _NON_PAGED_DEBUG_INFO NON_PAGED_DEBUG_INFO; < 4657 alias _NON_PAGED_DEBUG_INFO* PNON_PAGED_DEBUG_INFO; < 4658 < 4659 // #ifndef _MAC < 4660 enum : uint { IMAGE_SEPARATE_DEBUG_SIGNATURE = 0x4944 } < 4661 enum : uint { NON_PAGED_DEBUG_SIGNATURE = 0x494E } < 4662 // #else < 4663 // #... < 4664 // #... < 4665 // #endif < 4666 < 4667 enum : uint { IMAGE_SEPARATE_DEBUG_FLAGS_MASK = 0x8000 } < 4668 enum : uint { IMAGE_SEPARATE_DEBUG_MISMATCH = 0x8000 } < 4669 < 4670 struct _ImageArchitectureHeader { < 4671 // unsigned int AmaskValue: 1; < 4672 < 4673 // int :7; < 4674 // unsigned int AmaskShift: 8; < 4675 // int :16; < 4676 DWORD FirstEntryRVA; < 4677 } < 4678 alias _ImageArchitectureHeader IMAGE_ARCHITECTURE_HEADER; < 4679 alias _ImageArchitectureHeader* PIMAGE_ARCHITECTURE_HEADER; < 4680 < 4681 struct _ImageArchitectureEntry { < 4682 DWORD FixupInstRVA; < 4683 DWORD NewInst; < 4684 } < 4685 alias _ImageArchitectureEntry IMAGE_ARCHITECTURE_ENTRY; < 4686 alias _ImageArchitectureEntry* PIMAGE_ARCHITECTURE_ENTRY; < 4687 < 4688 align: < 4689 < 4690 enum : uint { IMPORT_OBJECT_HDR_SIG2 = 0xffff } < 4691 < 4692 struct IMPORT_OBJECT_HEADER { < 4693 WORD Sig1; < 4694 WORD Sig2; < 4695 WORD Version; < 4696 WORD Machine; < 4697 DWORD TimeDateStamp; < 4698 DWORD SizeOfData; < 4699 < 4700 union { < 4701 WORD Ordinal; < 4702 WORD Hint; < 4703 } < 4704 < 4705 // WORD Type : 2; < 4706 // WORD NameType : 3; < 4707 // WORD Reserved : 11; < 4708 } < 4709 < 4710 alias int IMPORT_OBJECT_TYPE; < 4711 enum { < 4712 IMPORT_OBJECT_CODE = 0, < 4713 IMPORT_OBJECT_DATA = 1, < 4714 IMPORT_OBJECT_CONST = 2, < 4715 } < 4716 < 4717 alias int IMPORT_OBJECT_NAME_TYPE; < 4718 enum { < 4719 IMPORT_OBJECT_ORDINAL = 0, < 4720 IMPORT_OBJECT_NAME = 1, < 4721 IMPORT_OBJECT_NAME_NO_PREFIX = 2, < 4722 IMPORT_OBJECT_NAME_UNDECORATE = 3, < 4723 < 4724 } < 4725 < 4726 // #ifndef __IMAGE_COR20_HEADER_DEFINED__ < 4727 // #define __IMAGE_COR20_HEADER_DEFINED__ < 4728 < 4729 alias int ReplacesCorHdrNumericDefines; < 4730 enum { < 4731 < 4732 COMIMAGE_FLAGS_ILONLY = 0x00000001, < 4733 COMIMAGE_FLAGS_32BITREQUIRED = 0x00000002, < 4734 COMIMAGE_FLAGS_IL_LIBRARY = 0x00000004, < 4735 COMIMAGE_FLAGS_TRACKDEBUGDATA = 0x00010000, < 4736 < 4737 COR_VERSION_MAJOR_V2 = 2, < 4738 COR_VERSION_MAJOR = COR_VERSION_MAJOR_V2, < 4739 COR_VERSION_MINOR = 0, < 4740 COR_DELETED_NAME_LENGTH = 8, < 4741 COR_VTABLEGAP_NAME_LENGTH = 8, < 4742 < 4743 NATIVE_TYPE_MAX_CB = 1, < 4744 COR_ILMETHOD_SECT_SMALL_MAX_DATASIZE = 0xFF, < 4745 < 4746 IMAGE_COR_MIH_METHODRVA = 0x01, < 4747 IMAGE_COR_MIH_EHRVA = 0x02, < 4748 IMAGE_COR_MIH_BASICBLOCK = 0x08, < 4749 < 4750 COR_VTABLE_32BIT = 0x01, < 4751 COR_VTABLE_64BIT = 0x02, < 4752 COR_VTABLE_FROM_UNMANAGED = 0x04, < 4753 COR_VTABLE_CALL_MOST_DERIVED = 0x10, < 4754 < 4755 IMAGE_COR_EATJ_THUNK_SIZE = 32, < 4756 < 4757 MAX_CLASS_NAME = 1024, < 4758 MAX_PACKAGE_NAME = 1024, < 4759 } < 4760 < 4761 struct IMAGE_COR20_HEADER { < 4762 < 4763 DWORD cb; < 4764 WORD MajorRuntimeVersion; < 4765 WORD MinorRuntimeVersion; < 4766 IMAGE_DATA_DIRECTORY MetaData; < 4767 DWORD Flags; < 4768 DWORD EntryPointToken; < 4769 IMAGE_DATA_DIRECTORY Resources; < 4770 IMAGE_DATA_DIRECTORY StrongNameSignature; < 4771 IMAGE_DATA_DIRECTORY CodeManagerTable; < 4772 IMAGE_DATA_DIRECTORY VTableFixups; < 4773 IMAGE_DATA_DIRECTORY ExportAddressTableJumps; < 4774 IMAGE_DATA_DIRECTORY ManagedNativeHeader; < 4775 } < 4776 alias IMAGE_COR20_HEADER* PIMAGE_COR20_HEADER; < 4777 < 4778 // #endif // __IMAGE_COR20_HEADER_DEFINED__ < 4779 < 4780 // #ifdef _MAC < 4781 // #ifndef _INC_STRING < 4782 // #... < 4783 // #endif /* _INC_STRING */ < 4784 // #else < 4785 // #include <string.h> < 4786 // #endif // _MAC < 4787 < 4788 // #ifndef _SLIST_HEADER_ < 4789 // #define _SLIST_HEADER_ < 4790 < 4791 alias SINGLE_LIST_ENTRY SLIST_ENTRY; < 4792 alias _SINGLE_LIST_ENTRY _SLIST_ENTRY; < 4793 alias PSINGLE_LIST_ENTRY PSLIST_ENTRY; < 4794 < 4795 // #if defined(_WIN64) < 4796 < 4797 // ... < 4798 < 4799 // ... < 4800 < 4801 // #else < 4802 < 4803 union _SLIST_HEADER { < 4804 ULONGLONG Alignment; < 4805 struct { < 4806 SLIST_ENTRY Next; < 4807 WORD Depth; < 4808 WORD Sequence; < 4809 } < 4810 < 4811 } < 4812 alias _SLIST_HEADER SLIST_HEADER; < 4813 alias _SLIST_HEADER* PSLIST_HEADER; < 4814 < 4815 // #endif < 4816 < 4817 // #endif < 4818 < 4819 extern(Windows) export VOID RtlInitializeSListHead( < 4820 PSLIST_HEADER ListHead); < 4821 < 4822 extern(Windows) export PSLIST_ENTRY RtlFirstEntrySList( < 4823 SLIST_HEADER *ListHead); < 4824 < 4825 extern(Windows) export PSLIST_ENTRY RtlInterlockedPopEntrySList( < 4826 PSLIST_HEADER ListHead); < 4827 < 4828 extern(Windows) export PSLIST_ENTRY RtlInterlockedPushEntrySList( < 4829 PSLIST_HEADER ListHead, < 4830 PSLIST_ENTRY ListEntry); < 4831 < 4832 extern(Windows) export PSLIST_ENTRY RtlInterlockedFlushSList( < 4833 PSLIST_HEADER ListHead); < 4834 < 4835 extern(Windows) export WORD RtlQueryDepthSList( < 4836 PSLIST_HEADER ListHead); < 4837 < 4838 enum : uint { HEAP_NO_SERIALIZE = 0x00000001 } < 4839 enum : uint { HEAP_GROWABLE = 0x00000002 } < 4840 enum : uint { HEAP_GENERATE_EXCEPTIONS = 0x00000004 } < 4841 enum : uint { HEAP_ZERO_MEMORY = 0x00000008 } < 4842 enum : uint { HEAP_REALLOC_IN_PLACE_ONLY = 0x00000010 } < 4843 enum : uint { HEAP_TAIL_CHECKING_ENABLED = 0x00000020 } < 4844 enum : uint { HEAP_FREE_CHECKING_ENABLED = 0x00000040 } < 4845 enum : uint { HEAP_DISABLE_COALESCE_ON_FREE = 0x00000080 } < 4846 enum : uint { HEAP_CREATE_ALIGN_16 = 0x00010000 } < 4847 enum : uint { HEAP_CREATE_ENABLE_TRACING = 0x00020000 } < 4848 enum : uint { HEAP_MAXIMUM_TAG = 0x0FFF } < 4849 enum : uint { HEAP_PSEUDO_TAG_FLAG = 0x8000 } < 4850 enum : uint { HEAP_TAG_SHIFT = 18 } < 4851 uint HEAP_MAKE_TAG_FLAGS(uint b, uint o){ return b + (o << 18); } < 4852 < 4853 enum : uint { IS_TEXT_UNICODE_ASCII16 = 0x0001 } < 4854 enum : uint { IS_TEXT_UNICODE_REVERSE_ASCII16 = 0x0010 } < 4855 < 4856 enum : uint { IS_TEXT_UNICODE_STATISTICS = 0x0002 } < 4857 enum : uint { IS_TEXT_UNICODE_REVERSE_STATISTICS = 0x0020 } < 4858 < 4859 enum : uint { IS_TEXT_UNICODE_CONTROLS = 0x0004 } < 4860 enum : uint { IS_TEXT_UNICODE_REVERSE_CONTROLS = 0x0040 } < 4861 < 4862 enum : uint { IS_TEXT_UNICODE_SIGNATURE = 0x0008 } < 4863 enum : uint { IS_TEXT_UNICODE_REVERSE_SIGNATURE = 0x0080 } < 4864 < 4865 enum : uint { IS_TEXT_UNICODE_ILLEGAL_CHARS = 0x0100 } < 4866 enum : uint { IS_TEXT_UNICODE_ODD_LENGTH = 0x0200 } < 4867 enum : uint { IS_TEXT_UNICODE_DBCS_LEADBYTE = 0x0400 } < 4868 enum : uint { IS_TEXT_UNICODE_NULL_BYTES = 0x1000 } < 4869 < 4870 enum : uint { IS_TEXT_UNICODE_UNICODE_MASK = 0x000F } < 4871 enum : uint { IS_TEXT_UNICODE_REVERSE_MASK = 0x00F0 } < 4872 enum : uint { IS_TEXT_UNICODE_NOT_UNICODE_MASK = 0x0F00 } < 4873 enum : uint { IS_TEXT_UNICODE_NOT_ASCII_MASK = 0xF000 } < 4874 < 4875 enum : uint { COMPRESSION_FORMAT_NONE = 0x0000 } < 4876 enum : uint { COMPRESSION_FORMAT_DEFAULT = 0x0001 } < 4877 enum : uint { COMPRESSION_FORMAT_LZNT1 = 0x0002 } < 4878 enum : uint { COMPRESSION_ENGINE_STANDARD = 0x0000 } < 4879 enum : uint { COMPRESSION_ENGINE_MAXIMUM = 0x0100 } < 4880 enum : uint { COMPRESSION_ENGINE_HIBER = 0x0200 } < 4881 < 4882 extern(Windows) export SIZE_T RtlCompareMemory( < 4883 VOID *Source1, < 4884 VOID *Source2, < 4885 SIZE_T Length); < 4886 < 4887 // #if defined(_M_AMD64) || defined(_M_IA64) < 4888 < 4889 // #... < 4890 // ... < 4891 < 4892 // ... < 4893 < 4894 // #if !defined(_M_AMD64) < 4895 < 4896 // ... < 4897 < 4898 // #endif < 4899 < 4900 // ... < 4901 < 4902 // ... < 4903 < 4904 // ... < 4905 < 4906 // #else < 4907 < 4908 bit RtlEqualMemory(void* x, void* y, uint len){ return memcmp(x, y, len) == 0; } < 4909 void RtlMoveMemory(void* d, void* s, uint len){ memmove(d, s, len); } < 4910 void RtlCopyMemory(void* d, void* s, uint len){ memcpy(d, s, len); } < 4911 void RtlFillMemory(void* d, uint len, ubyte f){ memset(d, f, len); } < 4912 void RtlZeroMemory(void* d, uint len){ memset(d, 0, len); } < 4913 < 4914 // #endif < 4915 < 4916 struct _MESSAGE_RESOURCE_ENTRY { < 4917 WORD Length; < 4918 WORD Flags; < 4919 BYTE Text[ 1 ]; < 4920 } < 4921 alias _MESSAGE_RESOURCE_ENTRY MESSAGE_RESOURCE_ENTRY; < 4922 alias _MESSAGE_RESOURCE_ENTRY* PMESSAGE_RESOURCE_ENTRY; < 4923 < 4924 enum : uint { MESSAGE_RESOURCE_UNICODE = 0x0001 } < 4925 < 4926 struct _MESSAGE_RESOURCE_BLOCK { < 4927 DWORD LowId; < 4928 DWORD HighId; < 4929 DWORD OffsetToEntries; < 4930 } < 4931 alias _MESSAGE_RESOURCE_BLOCK MESSAGE_RESOURCE_BLOCK; < 4932 alias _MESSAGE_RESOURCE_BLOCK* PMESSAGE_RESOURCE_BLOCK; < 4933 < 4934 struct _MESSAGE_RESOURCE_DATA { < 4935 DWORD NumberOfBlocks; < 4936 MESSAGE_RESOURCE_BLOCK Blocks[ 1 ]; < 4937 } < 4938 alias _MESSAGE_RESOURCE_DATA MESSAGE_RESOURCE_DATA; < 4939 alias _MESSAGE_RESOURCE_DATA* PMESSAGE_RESOURCE_DATA; < 4940 < 4941 struct _OSVERSIONINFOA { < 4942 DWORD dwOSVersionInfoSize; < 4943 DWORD dwMajorVersion; < 4944 DWORD dwMinorVersion; < 4945 DWORD dwBuildNumber; < 4946 DWORD dwPlatformId; < 4947 CHAR szCSDVersion[ 128 ]; < 4948 } < 4949 alias _OSVERSIONINFOA OSVERSIONINFOA; < 4950 alias _OSVERSIONINFOA* POSVERSIONINFOA; < 4951 alias _OSVERSIONINFOA* LPOSVERSIONINFOA; < 4952 < 4953 struct _OSVERSIONINFOW { < 4954 DWORD dwOSVersionInfoSize; < 4955 DWORD dwMajorVersion; < 4956 DWORD dwMinorVersion; < 4957 DWORD dwBuildNumber; < 4958 DWORD dwPlatformId; < 4959 WCHAR szCSDVersion[ 128 ]; < 4960 } < 4961 alias _OSVERSIONINFOW OSVERSIONINFOW; < 4962 alias _OSVERSIONINFOW* POSVERSIONINFOW; < 4963 alias _OSVERSIONINFOW* LPOSVERSIONINFOW; < 4964 alias _OSVERSIONINFOW RTL_OSVERSIONINFOW; < 4965 alias _OSVERSIONINFOW* PRTL_OSVERSIONINFOW; < 4966 < 4967 // #ifdef UNICODE < 4968 alias OSVERSIONINFOW OSVERSIONINFO; < 4969 alias POSVERSIONINFOW POSVERSIONINFO; < 4970 alias LPOSVERSIONINFOW LPOSVERSIONINFO; < 4971 // #else < 4972 // ... < 4973 // #endif // UNICODE < 4974 < 4975 struct _OSVERSIONINFOEXA { < 4976 DWORD dwOSVersionInfoSize; < 4977 DWORD dwMajorVersion; < 4978 DWORD dwMinorVersion; < 4979 DWORD dwBuildNumber; < 4980 DWORD dwPlatformId; < 4981 CHAR szCSDVersion[ 128 ]; < 4982 WORD wServicePackMajor; < 4983 WORD wServicePackMinor; < 4984 WORD wSuiteMask; < 4985 BYTE wProductType; < 4986 BYTE wReserved; < 4987 } < 4988 alias _OSVERSIONINFOEXA OSVERSIONINFOEXA; < 4989 alias _OSVERSIONINFOEXA* POSVERSIONINFOEXA; < 4990 alias _OSVERSIONINFOEXA* LPOSVERSIONINFOEXA; < 4991 < 4992 struct _OSVERSIONINFOEXW { < 4993 DWORD dwOSVersionInfoSize; < 4994 DWORD dwMajorVersion; < 4995 DWORD dwMinorVersion; < 4996 DWORD dwBuildNumber; < 4997 DWORD dwPlatformId; < 4998 WCHAR szCSDVersion[ 128 ]; < 4999 WORD wServicePackMajor; < 5000 WORD wServicePackMinor; < 5001 WORD wSuiteMask; < 5002 BYTE wProductType; < 5003 BYTE wReserved; < 5004 } < 5005 alias _OSVERSIONINFOEXW OSVERSIONINFOEXW; < 5006 alias _OSVERSIONINFOEXW* POSVERSIONINFOEXW; < 5007 alias _OSVERSIONINFOEXW* LPOSVERSIONINFOEXW; < 5008 alias _OSVERSIONINFOEXW RTL_OSVERSIONINFOEXW; < 5009 alias _OSVERSIONINFOEXW* PRTL_OSVERSIONINFOEXW; < 5010 < 5011 // #ifdef UNICODE < 5012 alias OSVERSIONINFOEXW OSVERSIONINFOEX; < 5013 alias POSVERSIONINFOEXW POSVERSIONINFOEX; < 5014 alias LPOSVERSIONINFOEXW LPOSVERSIONINFOEX; < 5015 // #else < 5016 // ... < 5017 // #endif // UNICODE < 5018 < 5019 enum : uint { VER_EQUAL = 1 } < 5020 enum : uint { VER_GREATER = 2 } < 5021 enum : uint { VER_GREATER_EQUAL = 3 } < 5022 enum : uint { VER_LESS = 4 } < 5023 enum : uint { VER_LESS_EQUAL = 5 } < 5024 enum : uint { VER_AND = 6 } < 5025 enum : uint { VER_OR = 7 } < 5026 < 5027 enum : uint { VER_CONDITION_MASK = 7 } < 5028 enum : uint { VER_NUM_BITS_PER_CONDITION_MASK = 3 } < 5029 < 5030 enum : uint { VER_MINORVERSION = 0x0000001 } < 5031 enum : uint { VER_MAJORVERSION = 0x0000002 } < 5032 enum : uint { VER_BUILDNUMBER = 0x0000004 } < 5033 enum : uint { VER_PLATFORMID = 0x0000008 } < 5034 enum : uint { VER_SERVICEPACKMINOR = 0x0000010 } < 5035 enum : uint { VER_SERVICEPACKMAJOR = 0x0000020 } < 5036 enum : uint { VER_SUITENAME = 0x0000040 } < 5037 enum : uint { VER_PRODUCT_TYPE = 0x0000080 } < 5038 < 5039 enum : uint { VER_NT_WORKSTATION = 0x0000001 } < 5040 enum : uint { VER_NT_DOMAIN_CONTROLLER = 0x0000002 } < 5041 enum : uint { VER_NT_SERVER = 0x0000003 } < 5042 < 5043 enum : uint { VER_PLATFORM_WIN32s = 0 } < 5044 enum : uint { VER_PLATFORM_WIN32_WINDOWS = 1 } < 5045 enum : uint { VER_PLATFORM_WIN32_NT = 2 } < 5046 < 5047 // #define VER_SET_CONDITION(_m_,_t_,_c_) ((_m_)=VerSetConditionMask((_m_),(_t_) < 5048 < 5049 extern(Windows) export ULONGLONG VerSetConditionMask( < 5050 ULONGLONG ConditionMask, < 5051 DWORD TypeMask, < 5052 BYTE Condition); < 5053 < 5054 struct _RTL_CRITICAL_SECTION_DEBUG { < 5055 WORD Type; < 5056 WORD CreatorBackTraceIndex; < 5057 _RTL_CRITICAL_SECTION *CriticalSection; < 5058 LIST_ENTRY ProcessLocksList; < 5059 DWORD EntryCount; < 5060 DWORD ContentionCount; < 5061 DWORD Spare[ 2 ]; < 5062 } < 5063 alias _RTL_CRITICAL_SECTION_DEBUG RTL_CRITICAL_SECTION_DEBUG; < 5064 alias _RTL_CRITICAL_SECTION_DEBUG* PRTL_CRITICAL_SECTION_DEBUG; < 5065 alias _RTL_CRITICAL_SECTION_DEBUG RTL_RESOURCE_DEBUG; < 5066 alias _RTL_CRITICAL_SECTION_DEBUG* PRTL_RESOURCE_DEBUG; < 5067 < 5068 enum : uint { RTL_CRITSECT_TYPE = 0 } < 5069 enum : uint { RTL_RESOURCE_TYPE = 1 } < 5070 < 5071 struct _RTL_CRITICAL_SECTION { < 5072 PRTL_CRITICAL_SECTION_DEBUG DebugInfo; < 5073 < 5074 LONG LockCount; < 5075 LONG RecursionCount; < 5076 HANDLE OwningThread; < 5077 HANDLE LockSemaphore; < 5078 ULONG_PTR SpinCount; < 5079 } < 5080 alias _RTL_CRITICAL_SECTION RTL_CRITICAL_SECTION; < 5081 alias _RTL_CRITICAL_SECTION* PRTL_CRITICAL_SECTION; < 5082 < 5083 extern(Windows) alias VOID function( PWSTR DllName, PVOID DllBase, SIZE_T DllSiz < 5084 < 5085 extern(Windows) alias VOID function( PWSTR DllName, PVOID DllBase, SIZE_T DllSiz < 5086 < 5087 struct _RTL_VERIFIER_THUNK_DESCRIPTOR { < 5088 < 5089 PCHAR ThunkName; < 5090 PVOID ThunkOldAddress; < 5091 PVOID ThunkNewAddress; < 5092 } < 5093 alias _RTL_VERIFIER_THUNK_DESCRIPTOR RTL_VERIFIER_THUNK_DESCRIPTOR; < 5094 alias _RTL_VERIFIER_THUNK_DESCRIPTOR* PRTL_VERIFIER_THUNK_DESCRIPTOR; < 5095 < 5096 struct _RTL_VERIFIER_DLL_DESCRIPTOR { < 5097 < 5098 PWCHAR DllName; < 5099 DWORD DllFlags; < 5100 PVOID DllAddress; < 5101 PRTL_VERIFIER_THUNK_DESCRIPTOR DllThunks; < 5102 } < 5103 alias _RTL_VERIFIER_DLL_DESCRIPTOR RTL_VERIFIER_DLL_DESCRIPTOR; < 5104 alias _RTL_VERIFIER_DLL_DESCRIPTOR* PRTL_VERIFIER_DLL_DESCRIPTOR; < 5105 < 5106 struct _RTL_VERIFIER_PROVIDER_DESCRIPTOR { < 5107 < 5108 DWORD Length; < 5109 PRTL_VERIFIER_DLL_DESCRIPTOR ProviderDlls; < 5110 RTL_VERIFIER_DLL_LOAD_CALLBACK ProviderDllLoadCallback; < 5111 RTL_VERIFIER_DLL_UNLOAD_CALLBACK ProviderDllUnloadCallback; < 5112 < 5113 PWSTR VerifierImage; < 5114 DWORD VerifierFlags; < 5115 DWORD VerifierDebug; < 5116 } < 5117 alias _RTL_VERIFIER_PROVIDER_DESCRIPTOR RTL_VERIFIER_PROVIDER_DESCRIPTOR; < 5118 alias _RTL_VERIFIER_PROVIDER_DESCRIPTOR* PRTL_VERIFIER_PROVIDER_DESCRIPTOR; < 5119 < 5120 enum : uint { RTL_VRF_FLG_FULL_PAGE_HEAP = 0x0001 } < 5121 enum : uint { RTL_VRF_FLG_LOCK_CHECKS = 0x0002 } < 5122 enum : uint { RTL_VRF_FLG_HANDLE_CHECKS = 0x0004 } < 5123 enum : uint { RTL_VRF_FLG_STACK_CHECKS = 0x0008 } < 5124 enum : uint { RTL_VRF_FLG_APPCOMPAT_CHECKS = 0x0010 } < 5125 < 5126 enum : uint { APPLICATION_VERIFIER_INTERNAL_ERROR = 0x80000000 } < 5127 enum : uint { APPLICATION_VERIFIER_INTERNAL_WARNING = 0x40000000 } < 5128 enum : uint { APPLICATION_VERIFIER_NO_BREAK = 0x20000000 } < 5129 enum : uint { APPLICATION_VERIFIER_RESERVED_BIT_28 = 0x10000000 } < 5130 < 5131 enum : uint { APPLICATION_VERIFIER_UNKNOWN_ERROR = 0x0001 } < 5132 enum : uint { APPLICATION_VERIFIER_ACCESS_VIOLATION = 0x0002 } < 5133 enum : uint { APPLICATION_VERIFIER_UNSYNCHRONIZED_ACCESS = 0x0003 } < 5134 enum : uint { APPLICATION_VERIFIER_EXTREME_SIZE_REQUEST = 0x0004 } < 5135 enum : uint { APPLICATION_VERIFIER_BAD_HEAP_HANDLE = 0x0005 } < 5136 enum : uint { APPLICATION_VERIFIER_SWITCHED_HEAP_HANDLE = 0x0006 } < 5137 enum : uint { APPLICATION_VERIFIER_DOUBLE_FREE = 0x0007 } < 5138 enum : uint { APPLICATION_VERIFIER_CORRUPTED_HEAP_BLOCK = 0x0008 } < 5139 enum : uint { APPLICATION_VERIFIER_DESTROY_PROCESS_HEAP = 0x0009 } < 5140 enum : uint { APPLICATION_VERIFIER_UNEXPECTED_EXCEPTION = 0x000A } < 5141 enum : uint { APPLICATION_VERIFIER_STACK_OVERFLOW = 0x000B } < 5142 < 5143 enum : uint { APPLICATION_VERIFIER_TERMINATE_THREAD_CALL = 0x0100 } < 5144 < 5145 enum : uint { APPLICATION_VERIFIER_EXIT_THREAD_OWNS_LOCK = 0x0200 } < 5146 enum : uint { APPLICATION_VERIFIER_LOCK_IN_UNLOADED_DLL = 0x0201 } < 5147 enum : uint { APPLICATION_VERIFIER_LOCK_IN_FREED_HEAP = 0x0202 } < 5148 enum : uint { APPLICATION_VERIFIER_LOCK_DOUBLE_INITIALIZE = 0x0203 } < 5149 enum : uint { APPLICATION_VERIFIER_LOCK_IN_FREED_MEMORY = 0x0204 } < 5150 enum : uint { APPLICATION_VERIFIER_LOCK_CORRUPTED = 0x0205 } < 5151 enum : uint { APPLICATION_VERIFIER_LOCK_INVALID_OWNER = 0x0206 } < 5152 enum : uint { APPLICATION_VERIFIER_LOCK_INVALID_RECURSION_COUNT = 0x0207 } < 5153 enum : uint { APPLICATION_VERIFIER_LOCK_INVALID_LOCK_COUNT = 0x0208 } < 5154 enum : uint { APPLICATION_VERIFIER_LOCK_OVER_RELEASED = 0x0209 } < 5155 enum : uint { APPLICATION_VERIFIER_LOCK_NOT_INITIALIZED = 0x0210 } < 5156 < 5157 enum : uint { APPLICATION_VERIFIER_INVALID_HANDLE = 0x0300 } < 5158 < 5159 // #define VERIFIER_STOP(Code, Msg, P1, S1, P2, S2, P3, S3, P4, S4) { RtlApplica < 5160 < 5161 extern(Windows) export VOID RtlApplicationVerifierStop( < 5162 ULONG_PTR Code, < 5163 PCHAR Message, < 5164 ULONG_PTR Param1, PCHAR Description1, < 5165 ULONG_PTR Param2, PCHAR Description2, < 5166 ULONG_PTR Param3, PCHAR Description3, < 5167 ULONG_PTR Param4, PCHAR Description4); < 5168 < 5169 extern(Windows) alias LONG function( _EXCEPTION_POINTERS *ExceptionInfo ) PVECT < 5170 enum : uint { SEF_DACL_AUTO_INHERIT = 0x01 } < 5171 enum : uint { SEF_SACL_AUTO_INHERIT = 0x02 } < 5172 enum : uint { SEF_DEFAULT_DESCRIPTOR_FOR_OBJECT = 0x04 } < 5173 enum : uint { SEF_AVOID_PRIVILEGE_CHECK = 0x08 } < 5174 enum : uint { SEF_AVOID_OWNER_CHECK = 0x10 } < 5175 enum : uint { SEF_DEFAULT_OWNER_FROM_PARENT = 0x20 } < 5176 enum : uint { SEF_DEFAULT_GROUP_FROM_PARENT = 0x40 } < 5177 < 5178 alias int _HEAP_INFORMATION_CLASS; < 5179 enum { < 5180 < 5181 HeapCompatibilityInformation, < 5182 < 5183 } < 5184 alias _HEAP_INFORMATION_CLASS HEAP_INFORMATION_CLASS; < 5185 < 5186 extern(Windows) export DWORD RtlSetHeapInformation( < 5187 PVOID HeapHandle, < 5188 HEAP_INFORMATION_CLASS HeapInformationClass, < 5189 PVOID HeapInformation , < 5190 SIZE_T HeapInformationLength ); < 5191 < 5192 extern(Windows) export DWORD RtlQueryHeapInformation( < 5193 PVOID HeapHandle, < 5194 HEAP_INFORMATION_CLASS HeapInformationClass, < 5195 PVOID HeapInformation , < 5196 SIZE_T HeapInformationLength , < 5197 PSIZE_T ReturnLength ); < 5198 < 5199 enum : uint { WT_EXECUTEDEFAULT = 0x00000000 } < 5200 enum : uint { WT_EXECUTEINIOTHREAD = 0x00000001 } < 5201 enum : uint { WT_EXECUTEINUITHREAD = 0x00000002 } < 5202 enum : uint { WT_EXECUTEINWAITTHREAD = 0x00000004 } < 5203 enum : uint { WT_EXECUTEONLYONCE = 0x00000008 } < 5204 enum : uint { WT_EXECUTEINTIMERTHREAD = 0x00000020 } < 5205 enum : uint { WT_EXECUTELONGFUNCTION = 0x00000010 } < 5206 enum : uint { WT_EXECUTEINPERSISTENTIOTHREAD = 0x00000040 } < 5207 enum : uint { WT_EXECUTEINPERSISTENTTHREAD = 0x00000080 } < 5208 // #define WT_SET_MAX_THREADPOOL_THREADS(Flags, Limit) ((Flags) |= (Limit)<<16) < 5209 extern(Windows) alias VOID function(PVOID, BOOLEAN ) WAITORTIMERCALLBACKFUNC; < 5210 extern(Windows) alias VOID function(PVOID ) WORKERCALLBACKFUNC; < 5211 extern(Windows) alias VOID function(DWORD , PVOID, PVOID) APC_CALLBACK_FUNCTION; < 5212 enum : uint { WT_EXECUTEINLONGTHREAD = 0x00000010 } < 5213 enum : uint { WT_EXECUTEDELETEWAIT = 0x00000008 } < 5214 < 5215 alias int _ACTIVATION_CONTEXT_INFO_CLASS; < 5216 enum { < 5217 ActivationContextBasicInformation = 1, < 5218 ActivationContextDetailedInformation = 2, < 5219 AssemblyDetailedInformationInActivationContext = 3, < 5220 FileInformationInAssemblyOfAssemblyInActivationContext = 4, < 5221 MaxActivationContextInfoClass, < 5222 < 5223 AssemblyDetailedInformationInActivationContxt = 3, < 5224 FileInformationInAssemblyOfAssemblyInActivationContxt = 4, < 5225 } < 5226 alias _ACTIVATION_CONTEXT_INFO_CLASS ACTIVATION_CONTEXT_INFO_CLASS; < 5227 < 5228 alias ACTIVATION_CONTEXT_INFO_CLASS ACTIVATIONCONTEXTINFOCLASS; < 5229 < 5230 struct _ACTIVATION_CONTEXT_QUERY_INDEX { < 5231 DWORD ulAssemblyIndex; < 5232 DWORD ulFileIndexInAssembly; < 5233 } < 5234 alias _ACTIVATION_CONTEXT_QUERY_INDEX ACTIVATION_CONTEXT_QUERY_INDEX; < 5235 alias _ACTIVATION_CONTEXT_QUERY_INDEX* PACTIVATION_CONTEXT_QUERY_INDEX; < 5236 < 5237 alias _ACTIVATION_CONTEXT_QUERY_INDEX* PCACTIVATION_CONTEXT_QUERY_INDEX; < 5238 < 5239 enum : uint { ACTIVATION_CONTEXT_PATH_TYPE_NONE = 1 } < 5240 enum : uint { ACTIVATION_CONTEXT_PATH_TYPE_WIN32_FILE = 2 } < 5241 enum : uint { ACTIVATION_CONTEXT_PATH_TYPE_URL = 3 } < 5242 enum : uint { ACTIVATION_CONTEXT_PATH_TYPE_ASSEMBLYREF = 4 } < 5243 < 5244 struct _ASSEMBLY_FILE_DETAILED_INFORMATION { < 5245 DWORD ulFlags; < 5246 DWORD ulFilenameLength; < 5247 DWORD ulPathLength; < 5248 PCWSTR lpFileName; < 5249 PCWSTR lpFilePath; < 5250 } < 5251 alias _ASSEMBLY_FILE_DETAILED_INFORMATION ASSEMBLY_FILE_DETAILED_INFORMATION; < 5252 alias _ASSEMBLY_FILE_DETAILED_INFORMATION* PASSEMBLY_FILE_DETAILED_INFORMATION; < 5253 < 5254 alias ASSEMBLY_FILE_DETAILED_INFORMATION* PCASSEMBLY_FILE_DETAILED_INFORMATION; < 5255 < 5256 alias _ASSEMBLY_FILE_DETAILED_INFORMATION _ASSEMBLY_DLL_REDIRECTION_DETAILED_INF < 5257 alias ASSEMBLY_FILE_DETAILED_INFORMATION ASSEMBLY_DLL_REDIRECTION_DETAILED_INFOR < 5258 alias PASSEMBLY_FILE_DETAILED_INFORMATION PASSEMBLY_DLL_REDIRECTION_DETAILED_INF < 5259 alias PCASSEMBLY_FILE_DETAILED_INFORMATION PCASSEMBLY_DLL_REDIRECTION_DETAILED_I < 5260 < 5261 struct _ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION { < 5262 DWORD ulFlags; < 5263 DWORD ulEncodedAssemblyIdentityLength; < 5264 DWORD ulManifestPathType; < 5265 DWORD ulManifestPathLength; < 5266 LARGE_INTEGER liManifestLastWriteTime; < 5267 DWORD ulPolicyPathType; < 5268 DWORD ulPolicyPathLength; < 5269 LARGE_INTEGER liPolicyLastWriteTime; < 5270 DWORD ulMetadataSatelliteRosterIndex; < 5271 DWORD ulManifestVersionMajor; < 5272 DWORD ulManifestVersionMinor; < 5273 DWORD ulPolicyVersionMajor; < 5274 DWORD ulPolicyVersionMinor; < 5275 DWORD ulAssemblyDirectoryNameLength; < 5276 < 5277 PCWSTR lpAssemblyEncodedAssemblyIdentity; < 5278 PCWSTR lpAssemblyManifestPath; < 5279 PCWSTR lpAssemblyPolicyPath; < 5280 PCWSTR lpAssemblyDirectoryName; < 5281 DWORD ulFileCount; < 5282 } < 5283 alias _ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION ACTIVATION_CONTEXT_ASSEM < 5284 alias _ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION* PACTIVATION_CONTEXT_ASS < 5285 < 5286 alias _ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION* PCACTIVATION_CONTEXT_AS < 5287 < 5288 struct _ACTIVATION_CONTEXT_DETAILED_INFORMATION { < 5289 DWORD dwFlags; < 5290 DWORD ulFormatVersion; < 5291 DWORD ulAssemblyCount; < 5292 DWORD ulRootManifestPathType; < 5293 DWORD ulRootManifestPathChars; < 5294 DWORD ulRootConfigurationPathType; < 5295 DWORD ulRootConfigurationPathChars; < 5296 DWORD ulAppDirPathType; < 5297 DWORD ulAppDirPathChars; < 5298 PCWSTR lpRootManifestPath; < 5299 PCWSTR lpRootConfigurationPath; < 5300 PCWSTR lpAppDirPath; < 5301 } < 5302 alias _ACTIVATION_CONTEXT_DETAILED_INFORMATION ACTIVATION_CONTEXT_DETAILED_INFOR < 5303 alias _ACTIVATION_CONTEXT_DETAILED_INFORMATION* PACTIVATION_CONTEXT_DETAILED_INF < 5304 < 5305 alias _ACTIVATION_CONTEXT_DETAILED_INFORMATION* PCACTIVATION_CONTEXT_DETAILED_IN < 5306 < 5307 enum : uint { DLL_PROCESS_ATTACH = 1 } < 5308 enum : uint { DLL_THREAD_ATTACH = 2 } < 5309 enum : uint { DLL_THREAD_DETACH = 3 } < 5310 enum : uint { DLL_PROCESS_DETACH = 0 } < 5311 enum : uint { DLL_PROCESS_VERIFIER = 4 } < 5312 < 5313 enum : uint { EVENTLOG_SEQUENTIAL_READ = 0x0001 } < 5314 enum : uint { EVENTLOG_SEEK_READ = 0x0002 } < 5315 enum : uint { EVENTLOG_FORWARDS_READ = 0x0004 } < 5316 enum : uint { EVENTLOG_BACKWARDS_READ = 0x0008 } < 5317 < 5318 enum : uint { EVENTLOG_SUCCESS = 0x0000 } < 5319 enum : uint { EVENTLOG_ERROR_TYPE = 0x0001 } < 5320 enum : uint { EVENTLOG_WARNING_TYPE = 0x0002 } < 5321 enum : uint { EVENTLOG_INFORMATION_TYPE = 0x0004 } < 5322 enum : uint { EVENTLOG_AUDIT_SUCCESS = 0x0008 } < 5323 enum : uint { EVENTLOG_AUDIT_FAILURE = 0x0010 } < 5324 < 5325 enum : uint { EVENTLOG_START_PAIRED_EVENT = 0x0001 } < 5326 enum : uint { EVENTLOG_END_PAIRED_EVENT = 0x0002 } < 5327 enum : uint { EVENTLOG_END_ALL_PAIRED_EVENTS = 0x0004 } < 5328 enum : uint { EVENTLOG_PAIRED_EVENT_ACTIVE = 0x0008 } < 5329 enum : uint { EVENTLOG_PAIRED_EVENT_INACTIVE = 0x0010 } < 5330 < 5331 struct _EVENTLOGRECORD { < 5332 DWORD Length; < 5333 DWORD Reserved; < 5334 DWORD RecordNumber; < 5335 DWORD TimeGenerated; < 5336 DWORD TimeWritten; < 5337 DWORD EventID; < 5338 WORD EventType; < 5339 WORD NumStrings; < 5340 WORD EventCategory; < 5341 WORD ReservedFlags; < 5342 DWORD ClosingRecordNumber; < 5343 DWORD StringOffset; < 5344 DWORD UserSidLength; < 5345 DWORD UserSidOffset; < 5346 DWORD DataLength; < 5347 DWORD DataOffset; < 5348 < 5349 } < 5350 alias _EVENTLOGRECORD EVENTLOGRECORD; < 5351 alias _EVENTLOGRECORD* PEVENTLOGRECORD; < 5352 < 5353 enum : uint { MAXLOGICALLOGNAMESIZE = 256 } < 5354 < 5355 // #if _MSC_VER >= 1200 < 5356 // #pragma warning(push) < 5357 // #endif < 5358 // #pragma warning(disable : 4200) < 5359 struct _EVENTSFORLOGFILE { < 5360 DWORD ulSize; < 5361 WCHAR szLogicalLogFile[MAXLOGICALLOGNAMESIZE]; < 5362 DWORD ulNumRecords; < 5363 EVENTLOGRECORD pEventLogRecords[]; < 5364 } < 5365 alias _EVENTSFORLOGFILE EVENTSFORLOGFILE; < 5366 alias _EVENTSFORLOGFILE* PEVENTSFORLOGFILE; < 5367 < 5368 struct _PACKEDEVENTINFO { < 5369 DWORD ulSize; < 5370 DWORD ulNumEventsForLogFile; < 5371 DWORD ulOffsets[]; < 5372 } < 5373 alias _PACKEDEVENTINFO PACKEDEVENTINFO; < 5374 alias _PACKEDEVENTINFO* PPACKEDEVENTINFO; < 5375 < 5376 // #if _MSC_VER >= 1200 < 5377 // #pragma warning(pop) < 5378 // #else < 5379 // #... < 5380 // #endif < 5381 < 5382 enum : uint { KEY_QUERY_VALUE = 0x0001 } < 5383 enum : uint { KEY_SET_VALUE = 0x0002 } < 5384 enum : uint { KEY_CREATE_SUB_KEY = 0x0004 } < 5385 enum : uint { KEY_ENUMERATE_SUB_KEYS = 0x0008 } < 5386 enum : uint { KEY_NOTIFY = 0x0010 } < 5387 enum : uint { KEY_CREATE_LINK = 0x0020 } < 5388 enum : uint { KEY_WOW64_32KEY = 0x0200 } < 5389 enum : uint { KEY_WOW64_64KEY = 0x0100 } < 5390 enum : uint { KEY_WOW64_RES = 0x0300 } < 5391 < 5392 enum : uint { KEY_READ = (STANDARD_RIGHTS_READ | KEY_QUERY_VALUE | KEY_ENUMERATE < 5393 < 5394 enum : uint { KEY_WRITE = (STANDARD_RIGHTS_WRITE | KEY_SET_VALUE | KEY_CREATE_SU < 5395 < 5396 enum : uint { KEY_EXECUTE = KEY_READ & ~SYNCHRONIZE } < 5397 < 5398 enum : uint { KEY_ALL_ACCESS = (STANDARD_RIGHTS_ALL | KEY_QUERY_VALUE | KEY_SET_ < 5399 < 5400 enum : uint { REG_OPTION_RESERVED = 0x00000000 } < 5401 < 5402 enum : uint { REG_OPTION_NON_VOLATILE = 0x00000000 } < 5403 < 5404 enum : uint { REG_OPTION_VOLATILE = 0x00000001 } < 5405 < 5406 enum : uint { REG_OPTION_CREATE_LINK = 0x00000002 } < 5407 < 5408 enum : uint { REG_OPTION_BACKUP_RESTORE = 0x00000004 } < 5409 < 5410 enum : uint { REG_OPTION_OPEN_LINK = 0x00000008 } < 5411 < 5412 enum : uint { REG_LEGAL_OPTION = REG_OPTION_RESERVED | REG_OPTION_NON_VOLATILE | < 5413 < 5414 enum : uint { REG_CREATED_NEW_KEY = 0x00000001 } < 5415 enum : uint { REG_OPENED_EXISTING_KEY = 0x00000002 } < 5416 < 5417 enum : uint { REG_STANDARD_FORMAT = 1 } < 5418 enum : uint { REG_LATEST_FORMAT = 2 } < 5419 enum : uint { REG_NO_COMPRESSION = 4 } < 5420 < 5421 enum : uint { REG_WHOLE_HIVE_VOLATILE = 0x00000001 } < 5422 enum : uint { REG_REFRESH_HIVE = 0x00000002 } < 5423 enum : uint { REG_NO_LAZY_FLUSH = 0x00000004 } < 5424 enum : uint { REG_FORCE_RESTORE = 0x00000008 } < 5425 < 5426 enum : uint { REG_NOTIFY_CHANGE_NAME = 0x00000001 } < 5427 enum : uint { REG_NOTIFY_CHANGE_ATTRIBUTES = 0x00000002 } < 5428 enum : uint { REG_NOTIFY_CHANGE_LAST_SET = 0x00000004 } < 5429 enum : uint { REG_NOTIFY_CHANGE_SECURITY = 0x00000008 } < 5430 < 5431 enum : uint { REG_LEGAL_CHANGE_FILTER = REG_NOTIFY_CHANGE_NAME | REG_NOTIFY_CHAN < 5432 < 5433 enum : uint { REG_NONE = 0 } < 5434 enum : uint { REG_SZ = 1 } < 5435 enum : uint { REG_EXPAND_SZ = 2 } < 5436 < 5437 enum : uint { REG_BINARY = 3 } < 5438 enum : uint { REG_DWORD = 4 } < 5439 enum : uint { REG_DWORD_LITTLE_ENDIAN = 4 } < 5440 enum : uint { REG_DWORD_BIG_ENDIAN = 5 } < 5441 enum : uint { REG_LINK = 6 } < 5442 enum : uint { REG_MULTI_SZ = 7 } < 5443 enum : uint { REG_RESOURCE_LIST = 8 } < 5444 enum : uint { REG_FULL_RESOURCE_DESCRIPTOR = 9 } < 5445 enum : uint { REG_RESOURCE_REQUIREMENTS_LIST = 10 } < 5446 enum : uint { REG_QWORD = 11 } < 5447 enum : uint { REG_QWORD_LITTLE_ENDIAN = 11 } < 5448 < 5449 enum : uint { SERVICE_KERNEL_DRIVER = 0x00000001 } < 5450 enum : uint { SERVICE_FILE_SYSTEM_DRIVER = 0x00000002 } < 5451 enum : uint { SERVICE_ADAPTER = 0x00000004 } < 5452 enum : uint { SERVICE_RECOGNIZER_DRIVER = 0x00000008 } < 5453 < 5454 enum : uint { SERVICE_DRIVER = SERVICE_KERNEL_DRIVER | SERVICE_FILE_SYSTEM_DRIVE < 5455 < 5456 enum : uint { SERVICE_WIN32_OWN_PROCESS = 0x00000010 } < 5457 enum : uint { SERVICE_WIN32_SHARE_PROCESS = 0x00000020 } < 5458 enum : uint { SERVICE_WIN32 = SERVICE_WIN32_OWN_PROCESS | SERVICE_WIN32_SHARE_PR < 5459 < 5460 enum : uint { SERVICE_INTERACTIVE_PROCESS = 0x00000100 } < 5461 < 5462 enum : uint { SERVICE_TYPE_ALL = SERVICE_WIN32 | SERVICE_ADAPTER | SERVICE_DRIVE < 5463 < 5464 enum : uint { SERVICE_BOOT_START = 0x00000000 } < 5465 enum : uint { SERVICE_SYSTEM_START = 0x00000001 } < 5466 enum : uint { SERVICE_AUTO_START = 0x00000002 } < 5467 enum : uint { SERVICE_DEMAND_START = 0x00000003 } < 5468 enum : uint { SERVICE_DISABLED = 0x00000004 } < 5469 < 5470 enum : uint { SERVICE_ERROR_IGNORE = 0x00000000 } < 5471 enum : uint { SERVICE_ERROR_NORMAL = 0x00000001 } < 5472 enum : uint { SERVICE_ERROR_SEVERE = 0x00000002 } < 5473 enum : uint { SERVICE_ERROR_CRITICAL = 0x00000003 } < 5474 < 5475 alias int _CM_SERVICE_NODE_TYPE; < 5476 enum { < 5477 DriverType = SERVICE_KERNEL_DRIVER, < 5478 FileSystemType = SERVICE_FILE_SYSTEM_DRIVER, < 5479 Win32ServiceOwnProcess = SERVICE_WIN32_OWN_PROCESS, < 5480 Win32ServiceShareProcess = SERVICE_WIN32_SHARE_PROCESS, < 5481 AdapterType = SERVICE_ADAPTER, < 5482 RecognizerType = SERVICE_RECOGNIZER_DRIVER, < 5483 } < 5484 alias _CM_SERVICE_NODE_TYPE SERVICE_NODE_TYPE; < 5485 < 5486 alias int _CM_SERVICE_LOAD_TYPE; < 5487 enum { < 5488 BootLoad = SERVICE_BOOT_START, < 5489 SystemLoad = SERVICE_SYSTEM_START, < 5490 AutoLoad = SERVICE_AUTO_START, < 5491 DemandLoad = SERVICE_DEMAND_START, < 5492 DisableLoad = SERVICE_DISABLED, < 5493 } < 5494 alias _CM_SERVICE_LOAD_TYPE SERVICE_LOAD_TYPE; < 5495 < 5496 alias int _CM_ERROR_CONTROL_TYPE; < 5497 enum { < 5498 IgnoreError = SERVICE_ERROR_IGNORE, < 5499 NormalError = SERVICE_ERROR_NORMAL, < 5500 SevereError = SERVICE_ERROR_SEVERE, < 5501 CriticalError = SERVICE_ERROR_CRITICAL, < 5502 } < 5503 alias _CM_ERROR_CONTROL_TYPE SERVICE_ERROR_TYPE; < 5504 < 5505 enum : uint { TAPE_ERASE_SHORT = 0 } < 5506 enum : uint { TAPE_ERASE_LONG = 1 } < 5507 < 5508 struct _TAPE_ERASE { < 5509 DWORD Type; < 5510 BOOLEAN Immediate; < 5511 } < 5512 alias _TAPE_ERASE TAPE_ERASE; < 5513 alias _TAPE_ERASE* PTAPE_ERASE; < 5514 < 5515 enum : uint { TAPE_LOAD = 0 } < 5516 enum : uint { TAPE_UNLOAD = 1 } < 5517 enum : uint { TAPE_TENSION = 2 } < 5518 enum : uint { TAPE_LOCK = 3 } < 5519 enum : uint { TAPE_UNLOCK = 4 } < 5520 enum : uint { TAPE_FORMAT = 5 } < 5521 < 5522 struct _TAPE_PREPARE { < 5523 DWORD Operation; < 5524 BOOLEAN Immediate; < 5525 } < 5526 alias _TAPE_PREPARE TAPE_PREPARE; < 5527 alias _TAPE_PREPARE* PTAPE_PREPARE; < 5528 < 5529 enum : uint { TAPE_SETMARKS = 0 } < 5530 enum : uint { TAPE_FILEMARKS = 1 } < 5531 enum : uint { TAPE_SHORT_FILEMARKS = 2 } < 5532 enum : uint { TAPE_LONG_FILEMARKS = 3 } < 5533 < 5534 struct _TAPE_WRITE_MARKS { < 5535 DWORD Type; < 5536 DWORD Count; < 5537 BOOLEAN Immediate; < 5538 } < 5539 alias _TAPE_WRITE_MARKS TAPE_WRITE_MARKS; < 5540 alias _TAPE_WRITE_MARKS* PTAPE_WRITE_MARKS; < 5541 < 5542 enum : uint { TAPE_ABSOLUTE_POSITION = 0 } < 5543 enum : uint { TAPE_LOGICAL_POSITION = 1 } < 5544 enum : uint { TAPE_PSEUDO_LOGICAL_POSITION = 2 } < 5545 < 5546 struct _TAPE_GET_POSITION { < 5547 DWORD Type; < 5548 DWORD Partition; < 5549 LARGE_INTEGER Offset; < 5550 } < 5551 alias _TAPE_GET_POSITION TAPE_GET_POSITION; < 5552 alias _TAPE_GET_POSITION* PTAPE_GET_POSITION; < 5553 < 5554 enum : uint { TAPE_REWIND = 0 } < 5555 enum : uint { TAPE_ABSOLUTE_BLOCK = 1 } < 5556 enum : uint { TAPE_LOGICAL_BLOCK = 2 } < 5557 enum : uint { TAPE_PSEUDO_LOGICAL_BLOCK = 3 } < 5558 enum : uint { TAPE_SPACE_END_OF_DATA = 4 } < 5559 enum : uint { TAPE_SPACE_RELATIVE_BLOCKS = 5 } < 5560 enum : uint { TAPE_SPACE_FILEMARKS = 6 } < 5561 enum : uint { TAPE_SPACE_SEQUENTIAL_FMKS = 7 } < 5562 enum : uint { TAPE_SPACE_SETMARKS = 8 } < 5563 enum : uint { TAPE_SPACE_SEQUENTIAL_SMKS = 9 } < 5564 < 5565 struct _TAPE_SET_POSITION { < 5566 DWORD Method; < 5567 DWORD Partition; < 5568 LARGE_INTEGER Offset; < 5569 BOOLEAN Immediate; < 5570 } < 5571 alias _TAPE_SET_POSITION TAPE_SET_POSITION; < 5572 alias _TAPE_SET_POSITION* PTAPE_SET_POSITION; < 5573 < 5574 enum : uint { TAPE_DRIVE_FIXED = 0x00000001 } < 5575 enum : uint { TAPE_DRIVE_SELECT = 0x00000002 } < 5576 enum : uint { TAPE_DRIVE_INITIATOR = 0x00000004 } < 5577 < 5578 enum : uint { TAPE_DRIVE_ERASE_SHORT = 0x00000010 } < 5579 enum : uint { TAPE_DRIVE_ERASE_LONG = 0x00000020 } < 5580 enum : uint { TAPE_DRIVE_ERASE_BOP_ONLY = 0x00000040 } < 5581 enum : uint { TAPE_DRIVE_ERASE_IMMEDIATE = 0x00000080 } < 5582 < 5583 enum : uint { TAPE_DRIVE_TAPE_CAPACITY = 0x00000100 } < 5584 enum : uint { TAPE_DRIVE_TAPE_REMAINING = 0x00000200 } < 5585 enum : uint { TAPE_DRIVE_FIXED_BLOCK = 0x00000400 } < 5586 enum : uint { TAPE_DRIVE_VARIABLE_BLOCK = 0x00000800 } < 5587 < 5588 enum : uint { TAPE_DRIVE_WRITE_PROTECT = 0x00001000 } < 5589 enum : uint { TAPE_DRIVE_EOT_WZ_SIZE = 0x00002000 } < 5590 < 5591 enum : uint { TAPE_DRIVE_ECC = 0x00010000 } < 5592 enum : uint { TAPE_DRIVE_COMPRESSION = 0x00020000 } < 5593 enum : uint { TAPE_DRIVE_PADDING = 0x00040000 } < 5594 enum : uint { TAPE_DRIVE_REPORT_SMKS = 0x00080000 } < 5595 < 5596 enum : uint { TAPE_DRIVE_GET_ABSOLUTE_BLK = 0x00100000 } < 5597 enum : uint { TAPE_DRIVE_GET_LOGICAL_BLK = 0x00200000 } < 5598 enum : uint { TAPE_DRIVE_SET_EOT_WZ_SIZE = 0x00400000 } < 5599 < 5600 enum : uint { TAPE_DRIVE_EJECT_MEDIA = 0x01000000 } < 5601 enum : uint { TAPE_DRIVE_CLEAN_REQUESTS = 0x02000000 } < 5602 enum : uint { TAPE_DRIVE_SET_CMP_BOP_ONLY = 0x04000000 } < 5603 < 5604 enum : uint { TAPE_DRIVE_RESERVED_BIT = 0x80000000 } < 5605 < 5606 enum : uint { TAPE_DRIVE_LOAD_UNLOAD = 0x80000001 } < 5607 enum : uint { TAPE_DRIVE_TENSION = 0x80000002 } < 5608 enum : uint { TAPE_DRIVE_LOCK_UNLOCK = 0x80000004 } < 5609 enum : uint { TAPE_DRIVE_REWIND_IMMEDIATE = 0x80000008 } < 5610 < 5611 enum : uint { TAPE_DRIVE_SET_BLOCK_SIZE = 0x80000010 } < 5612 enum : uint { TAPE_DRIVE_LOAD_UNLD_IMMED = 0x80000020 } < 5613 enum : uint { TAPE_DRIVE_TENSION_IMMED = 0x80000040 } < 5614 enum : uint { TAPE_DRIVE_LOCK_UNLK_IMMED = 0x80000080 } < 5615 < 5616 enum : uint { TAPE_DRIVE_SET_ECC = 0x80000100 } < 5617 enum : uint { TAPE_DRIVE_SET_COMPRESSION = 0x80000200 } < 5618 enum : uint { TAPE_DRIVE_SET_PADDING = 0x80000400 } < 5619 enum : uint { TAPE_DRIVE_SET_REPORT_SMKS = 0x80000800 } < 5620 < 5621 enum : uint { TAPE_DRIVE_ABSOLUTE_BLK = 0x80001000 } < 5622 enum : uint { TAPE_DRIVE_ABS_BLK_IMMED = 0x80002000 } < 5623 enum : uint { TAPE_DRIVE_LOGICAL_BLK = 0x80004000 } < 5624 enum : uint { TAPE_DRIVE_LOG_BLK_IMMED = 0x80008000 } < 5625 < 5626 enum : uint { TAPE_DRIVE_END_OF_DATA = 0x80010000 } < 5627 enum : uint { TAPE_DRIVE_RELATIVE_BLKS = 0x80020000 } < 5628 enum : uint { TAPE_DRIVE_FILEMARKS = 0x80040000 } < 5629 enum : uint { TAPE_DRIVE_SEQUENTIAL_FMKS = 0x80080000 } < 5630 < 5631 enum : uint { TAPE_DRIVE_SETMARKS = 0x80100000 } < 5632 enum : uint { TAPE_DRIVE_SEQUENTIAL_SMKS = 0x80200000 } < 5633 enum : uint { TAPE_DRIVE_REVERSE_POSITION = 0x80400000 } < 5634 enum : uint { TAPE_DRIVE_SPACE_IMMEDIATE = 0x80800000 } < 5635 < 5636 enum : uint { TAPE_DRIVE_WRITE_SETMARKS = 0x81000000 } < 5637 enum : uint { TAPE_DRIVE_WRITE_FILEMARKS = 0x82000000 } < 5638 enum : uint { TAPE_DRIVE_WRITE_SHORT_FMKS = 0x84000000 } < 5639 enum : uint { TAPE_DRIVE_WRITE_LONG_FMKS = 0x88000000 } < 5640 < 5641 enum : uint { TAPE_DRIVE_WRITE_MARK_IMMED = 0x90000000 } < 5642 enum : uint { TAPE_DRIVE_FORMAT = 0xA0000000 } < 5643 enum : uint { TAPE_DRIVE_FORMAT_IMMEDIATE = 0xC0000000 } < 5644 enum : uint { TAPE_DRIVE_HIGH_FEATURES = 0x80000000 } < 5645 < 5646 struct _TAPE_GET_DRIVE_PARAMETERS { < 5647 BOOLEAN ECC; < 5648 BOOLEAN Compression; < 5649 BOOLEAN DataPadding; < 5650 BOOLEAN ReportSetmarks; < 5651 DWORD DefaultBlockSize; < 5652 DWORD MaximumBlockSize; < 5653 DWORD MinimumBlockSize; < 5654 DWORD MaximumPartitionCount; < 5655 DWORD FeaturesLow; < 5656 DWORD FeaturesHigh; < 5657 DWORD EOTWarningZoneSize; < 5658 } < 5659 alias _TAPE_GET_DRIVE_PARAMETERS TAPE_GET_DRIVE_PARAMETERS; < 5660 alias _TAPE_GET_DRIVE_PARAMETERS* PTAPE_GET_DRIVE_PARAMETERS; < 5661 < 5662 struct _TAPE_SET_DRIVE_PARAMETERS { < 5663 BOOLEAN ECC; < 5664 BOOLEAN Compression; < 5665 BOOLEAN DataPadding; < 5666 BOOLEAN ReportSetmarks; < 5667 DWORD EOTWarningZoneSize; < 5668 } < 5669 alias _TAPE_SET_DRIVE_PARAMETERS TAPE_SET_DRIVE_PARAMETERS; < 5670 alias _TAPE_SET_DRIVE_PARAMETERS* PTAPE_SET_DRIVE_PARAMETERS; < 5671 < 5672 struct _TAPE_GET_MEDIA_PARAMETERS { < 5673 LARGE_INTEGER Capacity; < 5674 LARGE_INTEGER Remaining; < 5675 DWORD BlockSize; < 5676 DWORD PartitionCount; < 5677 BOOLEAN WriteProtected; < 5678 } < 5679 alias _TAPE_GET_MEDIA_PARAMETERS TAPE_GET_MEDIA_PARAMETERS; < 5680 alias _TAPE_GET_MEDIA_PARAMETERS* PTAPE_GET_MEDIA_PARAMETERS; < 5681 < 5682 struct _TAPE_SET_MEDIA_PARAMETERS { < 5683 DWORD BlockSize; < 5684 } < 5685 alias _TAPE_SET_MEDIA_PARAMETERS TAPE_SET_MEDIA_PARAMETERS; < 5686 alias _TAPE_SET_MEDIA_PARAMETERS* PTAPE_SET_MEDIA_PARAMETERS; < 5687 < 5688 enum : uint { TAPE_FIXED_PARTITIONS = 0 } < 5689 enum : uint { TAPE_SELECT_PARTITIONS = 1 } < 5690 enum : uint { TAPE_INITIATOR_PARTITIONS = 2 } < 5691 < 5692 struct _TAPE_CREATE_PARTITION { < 5693 DWORD Method; < 5694 DWORD Count; < 5695 DWORD Size; < 5696 } < 5697 alias _TAPE_CREATE_PARTITION TAPE_CREATE_PARTITION; < 5698 alias _TAPE_CREATE_PARTITION* PTAPE_CREATE_PARTITION; < 5699 < 5700 enum : uint { TAPE_QUERY_DRIVE_PARAMETERS = 0 } < 5701 enum : uint { TAPE_QUERY_MEDIA_CAPACITY = 1 } < 5702 enum : uint { TAPE_CHECK_FOR_DRIVE_PROBLEM = 2 } < 5703 enum : uint { TAPE_QUERY_IO_ERROR_DATA = 3 } < 5704 enum : uint { TAPE_QUERY_DEVICE_ERROR_DATA = 4 } < 5705 < 5706 struct _TAPE_WMI_OPERATIONS { < 5707 DWORD Method; < 5708 DWORD DataBufferSize; < 5709 PVOID DataBuffer; < 5710 } < 5711 alias _TAPE_WMI_OPERATIONS TAPE_WMI_OPERATIONS; < 5712 alias _TAPE_WMI_OPERATIONS* PTAPE_WMI_OPERATIONS; < 5713 < 5714 alias int _TAPE_DRIVE_PROBLEM_TYPE; < 5715 enum { < 5716 TapeDriveProblemNone, < 5717 TapeDriveReadWriteWarning, < 5718 TapeDriveReadWriteError, < 5719 TapeDriveReadWarning, < 5720 TapeDriveWriteWarning, < 5721 TapeDriveReadError, < 5722 TapeDriveWriteError, < 5723 TapeDriveHardwareError, < 5724 TapeDriveUnsupportedMedia, < 5725 TapeDriveScsiConnectionError, < 5726 TapeDriveTimetoClean, < 5727 TapeDriveCleanDriveNow, < 5728 TapeDriveMediaLifeExpired, < 5729 TapeDriveSnappedTape, < 5730 } < 5731 alias _TAPE_DRIVE_PROBLEM_TYPE TAPE_DRIVE_PROBLEM_TYPE; < 5732 < 5733 // #if defined(_M_AMD64) && !defined(__midl) < 5734 < 5735 // ... < 5736 < 5737 // ... < 5738 < 5739 // ... < 5740 < 5741 // ... < 5742 < 5743 // ... < 5744 < 5745 // ... < 5746 < 5747 // #endif // _M_AMD64 && !defined(__midl) < 5748 < 5749 // #if (_WIN32_WINNT > 0x0500) || (_WIN32_FUSION >= 0x0100) || ISOLATION_AWARE_E < 5750 enum : uint { ACTIVATION_CONTEXT_SECTION_ASSEMBLY_INFORMATION = 1 } < 5751 enum : uint { ACTIVATION_CONTEXT_SECTION_DLL_REDIRECTION = 2 } < 5752 enum : uint { ACTIVATION_CONTEXT_SECTION_WINDOW_CLASS_REDIRECTION = 3 } < 5753 enum : uint { ACTIVATION_CONTEXT_SECTION_COM_SERVER_REDIRECTION = 4 } < 5754 enum : uint { ACTIVATION_CONTEXT_SECTION_COM_INTERFACE_REDIRECTION = 5 } < 5755 enum : uint { ACTIVATION_CONTEXT_SECTION_COM_TYPE_LIBRARY_REDIRECTION = 6 } < 5756 enum : uint { ACTIVATION_CONTEXT_SECTION_COM_PROGID_REDIRECTION = 7 } < 5757 enum : uint { ACTIVATION_CONTEXT_SECTION_GLOBAL_OBJECT_RENAME_TABLE = 8 } < 5758 // #endif // winnt_only < 5759 < 5760 // #ifdef __cplusplus < 5761 // } < 5762 // #endif < 5763 < 5764 // #endif /* _WINNT_ */ < 5765 <