4e2933c620 2015-04-21 kinaba: /***********************************************************************\ 4e2933c620 2015-04-21 kinaba: * winnt.d * 4e2933c620 2015-04-21 kinaba: * * 4e2933c620 2015-04-21 kinaba: * Windows API header module * 4e2933c620 2015-04-21 kinaba: * * 4e2933c620 2015-04-21 kinaba: * Translated from MinGW API for MS-Windows 3.12 * 4e2933c620 2015-04-21 kinaba: * * 4e2933c620 2015-04-21 kinaba: * Placed into public domain * 4e2933c620 2015-04-21 kinaba: \***********************************************************************/ c2b7a98c21 2011-02-23 kinaba: module win32.winnt; c2b7a98c21 2011-02-23 kinaba: 4e2933c620 2015-04-21 kinaba: public import win32.basetsd, win32.windef, win32.winerror; 4e2933c620 2015-04-21 kinaba: private import win32.w32api; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: /* Translation Notes: 4e2933c620 2015-04-21 kinaba: The following macros are unneeded for D: 4e2933c620 2015-04-21 kinaba: FIELD_OFFSET(t,f), CONTAINING_RECORD(address, type, field) 4e2933c620 2015-04-21 kinaba: */ 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: alias void VOID; 4e2933c620 2015-04-21 kinaba: alias char CHAR, CCHAR; 4e2933c620 2015-04-21 kinaba: alias wchar WCHAR; 4e2933c620 2015-04-21 kinaba: alias bool BOOLEAN; 4e2933c620 2015-04-21 kinaba: alias byte FCHAR; 4e2933c620 2015-04-21 kinaba: alias ubyte UCHAR; 4e2933c620 2015-04-21 kinaba: alias short SHORT; 4e2933c620 2015-04-21 kinaba: alias ushort LANGID, FSHORT; 4e2933c620 2015-04-21 kinaba: alias uint LCID, FLONG, ACCESS_MASK; 4e2933c620 2015-04-21 kinaba: alias long LONGLONG, USN; 4e2933c620 2015-04-21 kinaba: alias ulong DWORDLONG, ULONGLONG; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: alias void* PVOID, LPVOID; 4e2933c620 2015-04-21 kinaba: alias char* PSZ, PCHAR, PCCHAR, LPCH, PCH, LPSTR, PSTR; 4e2933c620 2015-04-21 kinaba: alias wchar* PWCHAR, LPWCH, PWCH, LPWSTR, PWSTR; 4e2933c620 2015-04-21 kinaba: alias bool* PBOOLEAN; 4e2933c620 2015-04-21 kinaba: alias ubyte* PUCHAR; 4e2933c620 2015-04-21 kinaba: alias short* PSHORT; 4e2933c620 2015-04-21 kinaba: alias int* PLONG; 4e2933c620 2015-04-21 kinaba: alias uint* PLCID, PACCESS_MASK; 4e2933c620 2015-04-21 kinaba: alias long* PLONGLONG; 4e2933c620 2015-04-21 kinaba: alias ulong* PDWORDLONG, PULONGLONG; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: // FIXME(MinGW) for __WIN64 4e2933c620 2015-04-21 kinaba: alias void* PVOID64; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: // const versions 4e2933c620 2015-04-21 kinaba: alias CPtr!(char) LPCCH, PCSTR, LPCSTR; 4e2933c620 2015-04-21 kinaba: alias CPtr!(wchar) LPCWCH, PCWCH, LPCWSTR, PCWSTR; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: version (Unicode) { 4e2933c620 2015-04-21 kinaba: alias WCHAR TCHAR, _TCHAR; 4e2933c620 2015-04-21 kinaba: } else { 4e2933c620 2015-04-21 kinaba: alias CHAR TCHAR, _TCHAR; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: alias TCHAR TBYTE; 4e2933c620 2015-04-21 kinaba: alias TCHAR* PTCH, PTBYTE, LPTCH, PTSTR, LPTSTR, LP, PTCHAR; 4e2933c620 2015-04-21 kinaba: alias CPtr!(TCHAR) LPCTSTR; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: const char ANSI_NULL = '\0'; 4e2933c620 2015-04-21 kinaba: const wchar UNICODE_NULL = '\0'; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: const APPLICATION_ERROR_MASK = 0x20000000; 4e2933c620 2015-04-21 kinaba: const ERROR_SEVERITY_SUCCESS = 0x00000000; 4e2933c620 2015-04-21 kinaba: const ERROR_SEVERITY_INFORMATIONAL = 0x40000000; 4e2933c620 2015-04-21 kinaba: const ERROR_SEVERITY_WARNING = 0x80000000; 4e2933c620 2015-04-21 kinaba: const ERROR_SEVERITY_ERROR = 0xC0000000; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: // MinGW: also in ddk/ntifs.h 4e2933c620 2015-04-21 kinaba: enum : USHORT { 4e2933c620 2015-04-21 kinaba: COMPRESSION_FORMAT_NONE = 0x0000, 4e2933c620 2015-04-21 kinaba: COMPRESSION_FORMAT_DEFAULT = 0x0001, 4e2933c620 2015-04-21 kinaba: COMPRESSION_FORMAT_LZNT1 = 0x0002, 4e2933c620 2015-04-21 kinaba: COMPRESSION_ENGINE_STANDARD = 0x0000, 4e2933c620 2015-04-21 kinaba: COMPRESSION_ENGINE_MAXIMUM = 0x0100, 4e2933c620 2015-04-21 kinaba: COMPRESSION_ENGINE_HIBER = 0x0200 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: // ACCESS_DENIED_OBJECT_ACE, etc 4e2933c620 2015-04-21 kinaba: const DWORD 4e2933c620 2015-04-21 kinaba: ACE_OBJECT_TYPE_PRESENT = 0x00000001, 4e2933c620 2015-04-21 kinaba: ACE_INHERITED_OBJECT_TYPE_PRESENT = 0x00000002; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: // ACE_HEADER.AceType 4e2933c620 2015-04-21 kinaba: // also in ddk/ntifs.h 4e2933c620 2015-04-21 kinaba: enum : BYTE { 4e2933c620 2015-04-21 kinaba: ACCESS_ALLOWED_ACE_TYPE, 4e2933c620 2015-04-21 kinaba: ACCESS_DENIED_ACE_TYPE, 4e2933c620 2015-04-21 kinaba: SYSTEM_AUDIT_ACE_TYPE, 4e2933c620 2015-04-21 kinaba: SYSTEM_ALARM_ACE_TYPE 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: // ACE_HEADER.AceFlags 4e2933c620 2015-04-21 kinaba: const BYTE 4e2933c620 2015-04-21 kinaba: OBJECT_INHERIT_ACE = 0x01, 4e2933c620 2015-04-21 kinaba: CONTAINER_INHERIT_ACE = 0x02, 4e2933c620 2015-04-21 kinaba: NO_PROPAGATE_INHERIT_ACE = 0x04, 4e2933c620 2015-04-21 kinaba: INHERIT_ONLY_ACE = 0x08, 4e2933c620 2015-04-21 kinaba: INHERITED_ACE = 0x10, 4e2933c620 2015-04-21 kinaba: VALID_INHERIT_FLAGS = 0x1F, 4e2933c620 2015-04-21 kinaba: SUCCESSFUL_ACCESS_ACE_FLAG = 0x40, 4e2933c620 2015-04-21 kinaba: FAILED_ACCESS_ACE_FLAG = 0x80; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: // Access Mask Format 4e2933c620 2015-04-21 kinaba: const ACCESS_MASK 4e2933c620 2015-04-21 kinaba: DELETE = 0x00010000, 4e2933c620 2015-04-21 kinaba: READ_CONTROL = 0x00020000, 4e2933c620 2015-04-21 kinaba: WRITE_DAC = 0x00040000, 4e2933c620 2015-04-21 kinaba: WRITE_OWNER = 0x00080000, 4e2933c620 2015-04-21 kinaba: SYNCHRONIZE = 0x00100000, 4e2933c620 2015-04-21 kinaba: ACCESS_SYSTEM_SECURITY = 0x01000000, 4e2933c620 2015-04-21 kinaba: MAXIMUM_ALLOWED = 0x02000000, 4e2933c620 2015-04-21 kinaba: GENERIC_READ = 0x80000000, 4e2933c620 2015-04-21 kinaba: GENERIC_WRITE = 0x40000000, 4e2933c620 2015-04-21 kinaba: GENERIC_EXECUTE = 0x20000000, 4e2933c620 2015-04-21 kinaba: GENERIC_ALL = 0x10000000, 4e2933c620 2015-04-21 kinaba: STANDARD_RIGHTS_REQUIRED = 0x000F0000, 4e2933c620 2015-04-21 kinaba: STANDARD_RIGHTS_READ = 0x00020000, 4e2933c620 2015-04-21 kinaba: STANDARD_RIGHTS_WRITE = 0x00020000, 4e2933c620 2015-04-21 kinaba: STANDARD_RIGHTS_EXECUTE = 0x00020000, 4e2933c620 2015-04-21 kinaba: STANDARD_RIGHTS_ALL = 0x001F0000, 4e2933c620 2015-04-21 kinaba: SPECIFIC_RIGHTS_ALL = 0x0000FFFF; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: const DWORD INVALID_FILE_ATTRIBUTES = -1; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: // MinGW: Also in ddk/winddk.h 4e2933c620 2015-04-21 kinaba: const DWORD 4e2933c620 2015-04-21 kinaba: FILE_LIST_DIRECTORY = 0x00000001, 4e2933c620 2015-04-21 kinaba: FILE_READ_DATA = 0x00000001, 4e2933c620 2015-04-21 kinaba: FILE_ADD_FILE = 0x00000002, 4e2933c620 2015-04-21 kinaba: FILE_WRITE_DATA = 0x00000002, 4e2933c620 2015-04-21 kinaba: FILE_ADD_SUBDIRECTORY = 0x00000004, 4e2933c620 2015-04-21 kinaba: FILE_APPEND_DATA = 0x00000004, 4e2933c620 2015-04-21 kinaba: FILE_CREATE_PIPE_INSTANCE = 0x00000004, 4e2933c620 2015-04-21 kinaba: FILE_READ_EA = 0x00000008, 4e2933c620 2015-04-21 kinaba: FILE_READ_PROPERTIES = 0x00000008, 4e2933c620 2015-04-21 kinaba: FILE_WRITE_EA = 0x00000010, 4e2933c620 2015-04-21 kinaba: FILE_WRITE_PROPERTIES = 0x00000010, 4e2933c620 2015-04-21 kinaba: FILE_EXECUTE = 0x00000020, 4e2933c620 2015-04-21 kinaba: FILE_TRAVERSE = 0x00000020, 4e2933c620 2015-04-21 kinaba: FILE_DELETE_CHILD = 0x00000040, 4e2933c620 2015-04-21 kinaba: FILE_READ_ATTRIBUTES = 0x00000080, 4e2933c620 2015-04-21 kinaba: FILE_WRITE_ATTRIBUTES = 0x00000100; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: const DWORD 4e2933c620 2015-04-21 kinaba: FILE_SHARE_READ = 0x00000001, 4e2933c620 2015-04-21 kinaba: FILE_SHARE_WRITE = 0x00000002, 4e2933c620 2015-04-21 kinaba: FILE_SHARE_DELETE = 0x00000004, 4e2933c620 2015-04-21 kinaba: FILE_SHARE_VALID_FLAGS = 0x00000007; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: const DWORD 4e2933c620 2015-04-21 kinaba: FILE_ATTRIBUTE_READONLY = 0x00000001, 4e2933c620 2015-04-21 kinaba: FILE_ATTRIBUTE_HIDDEN = 0x00000002, 4e2933c620 2015-04-21 kinaba: FILE_ATTRIBUTE_SYSTEM = 0x00000004, 4e2933c620 2015-04-21 kinaba: FILE_ATTRIBUTE_DIRECTORY = 0x00000010, 4e2933c620 2015-04-21 kinaba: FILE_ATTRIBUTE_ARCHIVE = 0x00000020, 4e2933c620 2015-04-21 kinaba: FILE_ATTRIBUTE_DEVICE = 0x00000040, 4e2933c620 2015-04-21 kinaba: FILE_ATTRIBUTE_NORMAL = 0x00000080, 4e2933c620 2015-04-21 kinaba: FILE_ATTRIBUTE_TEMPORARY = 0x00000100, 4e2933c620 2015-04-21 kinaba: FILE_ATTRIBUTE_SPARSE_FILE = 0x00000200, 4e2933c620 2015-04-21 kinaba: FILE_ATTRIBUTE_REPARSE_POINT = 0x00000400, 4e2933c620 2015-04-21 kinaba: FILE_ATTRIBUTE_COMPRESSED = 0x00000800, 4e2933c620 2015-04-21 kinaba: FILE_ATTRIBUTE_OFFLINE = 0x00001000, 4e2933c620 2015-04-21 kinaba: FILE_ATTRIBUTE_NOT_CONTENT_INDEXED = 0x00002000, 4e2933c620 2015-04-21 kinaba: FILE_ATTRIBUTE_ENCRYPTED = 0x00004000, 4e2933c620 2015-04-21 kinaba: FILE_ATTRIBUTE_VALID_FLAGS = 0x00007fb7, 4e2933c620 2015-04-21 kinaba: FILE_ATTRIBUTE_VALID_SET_FLAGS = 0x000031a7; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: // These are not documented on MSDN 4e2933c620 2015-04-21 kinaba: const FILE_COPY_STRUCTURED_STORAGE = 0x00000041; 4e2933c620 2015-04-21 kinaba: const FILE_STRUCTURED_STORAGE = 0x00000441; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: // Nor are these 4e2933c620 2015-04-21 kinaba: const FILE_VALID_OPTION_FLAGS = 0x00ffffff; 4e2933c620 2015-04-21 kinaba: const FILE_VALID_PIPE_OPTION_FLAGS = 0x00000032; 4e2933c620 2015-04-21 kinaba: const FILE_VALID_MAILSLOT_OPTION_FLAGS = 0x00000032; 4e2933c620 2015-04-21 kinaba: const FILE_VALID_SET_FLAGS = 0x00000036; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: const ULONG 4e2933c620 2015-04-21 kinaba: FILE_SUPERSEDE = 0x00000000, 4e2933c620 2015-04-21 kinaba: FILE_OPEN = 0x00000001, 4e2933c620 2015-04-21 kinaba: FILE_CREATE = 0x00000002, 4e2933c620 2015-04-21 kinaba: FILE_OPEN_IF = 0x00000003, 4e2933c620 2015-04-21 kinaba: FILE_OVERWRITE = 0x00000004, 4e2933c620 2015-04-21 kinaba: FILE_OVERWRITE_IF = 0x00000005, 4e2933c620 2015-04-21 kinaba: FILE_MAXIMUM_DISPOSITION = 0x00000005; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: const ULONG 4e2933c620 2015-04-21 kinaba: FILE_DIRECTORY_FILE = 0x00000001, 4e2933c620 2015-04-21 kinaba: FILE_WRITE_THROUGH = 0x00000002, 4e2933c620 2015-04-21 kinaba: FILE_SEQUENTIAL_ONLY = 0x00000004, 4e2933c620 2015-04-21 kinaba: FILE_NO_INTERMEDIATE_BUFFERING = 0x00000008, 4e2933c620 2015-04-21 kinaba: FILE_SYNCHRONOUS_IO_ALERT = 0x00000010, 4e2933c620 2015-04-21 kinaba: FILE_SYNCHRONOUS_IO_NONALERT = 0x00000020, 4e2933c620 2015-04-21 kinaba: FILE_NON_DIRECTORY_FILE = 0x00000040, 4e2933c620 2015-04-21 kinaba: FILE_CREATE_TREE_CONNECTION = 0x00000080, 4e2933c620 2015-04-21 kinaba: FILE_COMPLETE_IF_OPLOCKED = 0x00000100, 4e2933c620 2015-04-21 kinaba: FILE_NO_EA_KNOWLEDGE = 0x00000200, 4e2933c620 2015-04-21 kinaba: FILE_OPEN_FOR_RECOVERY = 0x00000400, 4e2933c620 2015-04-21 kinaba: FILE_RANDOM_ACCESS = 0x00000800, 4e2933c620 2015-04-21 kinaba: FILE_DELETE_ON_CLOSE = 0x00001000, 4e2933c620 2015-04-21 kinaba: FILE_OPEN_BY_FILE_ID = 0x00002000, 4e2933c620 2015-04-21 kinaba: FILE_OPEN_FOR_BACKUP_INTENT = 0x00004000, 4e2933c620 2015-04-21 kinaba: FILE_NO_COMPRESSION = 0x00008000, 4e2933c620 2015-04-21 kinaba: FILE_RESERVE_OPFILTER = 0x00100000, 4e2933c620 2015-04-21 kinaba: FILE_OPEN_REPARSE_POINT = 0x00200000, 4e2933c620 2015-04-21 kinaba: FILE_OPEN_NO_RECALL = 0x00400000, 4e2933c620 2015-04-21 kinaba: FILE_OPEN_FOR_FREE_SPACE_QUERY = 0x00800000; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: const ACCESS_MASK 4e2933c620 2015-04-21 kinaba: FILE_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0x01FF, 4e2933c620 2015-04-21 kinaba: FILE_GENERIC_EXECUTE = STANDARD_RIGHTS_EXECUTE | FILE_READ_ATTRIBUTES 4e2933c620 2015-04-21 kinaba: | FILE_EXECUTE | SYNCHRONIZE, 4e2933c620 2015-04-21 kinaba: FILE_GENERIC_READ = STANDARD_RIGHTS_READ | FILE_READ_DATA 4e2933c620 2015-04-21 kinaba: | FILE_READ_ATTRIBUTES | FILE_READ_EA | SYNCHRONIZE, 4e2933c620 2015-04-21 kinaba: FILE_GENERIC_WRITE = STANDARD_RIGHTS_WRITE | FILE_WRITE_DATA 4e2933c620 2015-04-21 kinaba: | FILE_WRITE_ATTRIBUTES | FILE_WRITE_EA | FILE_APPEND_DATA 4e2933c620 2015-04-21 kinaba: | SYNCHRONIZE; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: // MinGW: end winddk.h 4e2933c620 2015-04-21 kinaba: // MinGW: also in ddk/ntifs.h 4e2933c620 2015-04-21 kinaba: const DWORD 4e2933c620 2015-04-21 kinaba: FILE_NOTIFY_CHANGE_FILE_NAME = 0x00000001, 4e2933c620 2015-04-21 kinaba: FILE_NOTIFY_CHANGE_DIR_NAME = 0x00000002, 4e2933c620 2015-04-21 kinaba: FILE_NOTIFY_CHANGE_NAME = 0x00000003, 4e2933c620 2015-04-21 kinaba: FILE_NOTIFY_CHANGE_ATTRIBUTES = 0x00000004, 4e2933c620 2015-04-21 kinaba: FILE_NOTIFY_CHANGE_SIZE = 0x00000008, 4e2933c620 2015-04-21 kinaba: FILE_NOTIFY_CHANGE_LAST_WRITE = 0x00000010, 4e2933c620 2015-04-21 kinaba: FILE_NOTIFY_CHANGE_LAST_ACCESS = 0x00000020, 4e2933c620 2015-04-21 kinaba: FILE_NOTIFY_CHANGE_CREATION = 0x00000040, 4e2933c620 2015-04-21 kinaba: FILE_NOTIFY_CHANGE_EA = 0x00000080, 4e2933c620 2015-04-21 kinaba: FILE_NOTIFY_CHANGE_SECURITY = 0x00000100, 4e2933c620 2015-04-21 kinaba: FILE_NOTIFY_CHANGE_STREAM_NAME = 0x00000200, 4e2933c620 2015-04-21 kinaba: FILE_NOTIFY_CHANGE_STREAM_SIZE = 0x00000400, 4e2933c620 2015-04-21 kinaba: FILE_NOTIFY_CHANGE_STREAM_WRITE = 0x00000800, 4e2933c620 2015-04-21 kinaba: FILE_NOTIFY_VALID_MASK = 0x00000fff; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: const DWORD 4e2933c620 2015-04-21 kinaba: FILE_CASE_SENSITIVE_SEARCH = 0x00000001, 4e2933c620 2015-04-21 kinaba: FILE_CASE_PRESERVED_NAMES = 0x00000002, 4e2933c620 2015-04-21 kinaba: FILE_UNICODE_ON_DISK = 0x00000004, 4e2933c620 2015-04-21 kinaba: FILE_PERSISTENT_ACLS = 0x00000008, 4e2933c620 2015-04-21 kinaba: FILE_FILE_COMPRESSION = 0x00000010, 4e2933c620 2015-04-21 kinaba: FILE_VOLUME_QUOTAS = 0x00000020, 4e2933c620 2015-04-21 kinaba: FILE_SUPPORTS_SPARSE_FILES = 0x00000040, 4e2933c620 2015-04-21 kinaba: FILE_SUPPORTS_REPARSE_POINTS = 0x00000080, 4e2933c620 2015-04-21 kinaba: FILE_SUPPORTS_REMOTE_STORAGE = 0x00000100, 4e2933c620 2015-04-21 kinaba: FS_LFN_APIS = 0x00004000, 4e2933c620 2015-04-21 kinaba: FILE_VOLUME_IS_COMPRESSED = 0x00008000, 4e2933c620 2015-04-21 kinaba: FILE_SUPPORTS_OBJECT_IDS = 0x00010000, 4e2933c620 2015-04-21 kinaba: FILE_SUPPORTS_ENCRYPTION = 0x00020000, 4e2933c620 2015-04-21 kinaba: FILE_NAMED_STREAMS = 0x00040000, 4e2933c620 2015-04-21 kinaba: FILE_READ_ONLY_VOLUME = 0x00080000, 4e2933c620 2015-04-21 kinaba: FILE_SEQUENTIAL_WRITE_ONCE = 0x00100000, 4e2933c620 2015-04-21 kinaba: FILE_SUPPORTS_TRANSACTIONS = 0x00200000; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: // These are not documented on MSDN 4e2933c620 2015-04-21 kinaba: const ACCESS_MASK 4e2933c620 2015-04-21 kinaba: IO_COMPLETION_QUERY_STATE = 1, 4e2933c620 2015-04-21 kinaba: IO_COMPLETION_MODIFY_STATE = 2, 4e2933c620 2015-04-21 kinaba: IO_COMPLETION_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 3; 4e2933c620 2015-04-21 kinaba: // MinGW: end ntifs.h 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: // MinGW: also in ddk/winddk.h 4e2933c620 2015-04-21 kinaba: const DWORD 4e2933c620 2015-04-21 kinaba: DUPLICATE_CLOSE_SOURCE = 1, 4e2933c620 2015-04-21 kinaba: DUPLICATE_SAME_ACCESS = 2, 4e2933c620 2015-04-21 kinaba: DUPLICATE_SAME_ATTRIBUTES = 4; 4e2933c620 2015-04-21 kinaba: // MinGW: end winddk.k 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: const DWORD 4e2933c620 2015-04-21 kinaba: MAILSLOT_NO_MESSAGE = -1, 4e2933c620 2015-04-21 kinaba: MAILSLOT_WAIT_FOREVER = -1; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: const ACCESS_MASK 4e2933c620 2015-04-21 kinaba: PROCESS_TERMINATE = 0x0001, 4e2933c620 2015-04-21 kinaba: PROCESS_CREATE_THREAD = 0x0002, 4e2933c620 2015-04-21 kinaba: PROCESS_SET_SESSIONID = 0x0004, 4e2933c620 2015-04-21 kinaba: PROCESS_VM_OPERATION = 0x0008, 4e2933c620 2015-04-21 kinaba: PROCESS_VM_READ = 0x0010, 4e2933c620 2015-04-21 kinaba: PROCESS_VM_WRITE = 0x0020, 4e2933c620 2015-04-21 kinaba: PROCESS_DUP_HANDLE = 0x0040, 4e2933c620 2015-04-21 kinaba: PROCESS_CREATE_PROCESS = 0x0080, 4e2933c620 2015-04-21 kinaba: PROCESS_SET_QUOTA = 0x0100, 4e2933c620 2015-04-21 kinaba: PROCESS_SET_INFORMATION = 0x0200, 4e2933c620 2015-04-21 kinaba: PROCESS_QUERY_INFORMATION = 0x0400, 4e2933c620 2015-04-21 kinaba: PROCESS_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0x0FFF; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: const ACCESS_MASK 4e2933c620 2015-04-21 kinaba: THREAD_TERMINATE = 0x0001, 4e2933c620 2015-04-21 kinaba: THREAD_SUSPEND_RESUME = 0x0002, 4e2933c620 2015-04-21 kinaba: THREAD_GET_CONTEXT = 0x0008, 4e2933c620 2015-04-21 kinaba: THREAD_SET_CONTEXT = 0x0010, 4e2933c620 2015-04-21 kinaba: THREAD_SET_INFORMATION = 0x0020, 4e2933c620 2015-04-21 kinaba: THREAD_QUERY_INFORMATION = 0x0040, 4e2933c620 2015-04-21 kinaba: THREAD_SET_THREAD_TOKEN = 0x0080, 4e2933c620 2015-04-21 kinaba: THREAD_IMPERSONATE = 0x0100, 4e2933c620 2015-04-21 kinaba: THREAD_DIRECT_IMPERSONATION = 0x0200, 4e2933c620 2015-04-21 kinaba: THREAD_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE|0x3FF; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: // These are not documented on MSDN 4e2933c620 2015-04-21 kinaba: const THREAD_BASE_PRIORITY_LOWRT = 15; 4e2933c620 2015-04-21 kinaba: const THREAD_BASE_PRIORITY_MAX = 2; 4e2933c620 2015-04-21 kinaba: const THREAD_BASE_PRIORITY_MIN = -2; 4e2933c620 2015-04-21 kinaba: const THREAD_BASE_PRIORITY_IDLE = -15; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: const DWORD EXCEPTION_NONCONTINUABLE = 1; 4e2933c620 2015-04-21 kinaba: const size_t EXCEPTION_MAXIMUM_PARAMETERS = 15; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: // These are not documented on MSDN 4e2933c620 2015-04-21 kinaba: const ACCESS_MASK 4e2933c620 2015-04-21 kinaba: MUTANT_QUERY_STATE = 1, 4e2933c620 2015-04-21 kinaba: MUTANT_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | MUTANT_QUERY_STATE; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: const ACCESS_MASK 4e2933c620 2015-04-21 kinaba: TIMER_QUERY_STATE = 1, 4e2933c620 2015-04-21 kinaba: TIMER_MODIFY_STATE = 2, 4e2933c620 2015-04-21 kinaba: TIMER_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | TIMER_QUERY_STATE 4e2933c620 2015-04-21 kinaba: | TIMER_MODIFY_STATE; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: const SID_IDENTIFIER_AUTHORITY 4e2933c620 2015-04-21 kinaba: SECURITY_NULL_SID_AUTHORITY = {[5: 0]}, 4e2933c620 2015-04-21 kinaba: SECURITY_WORLD_SID_AUTHORITY = {[5: 1]}, 4e2933c620 2015-04-21 kinaba: SECURITY_LOCAL_SID_AUTHORITY = {[5: 2]}, 4e2933c620 2015-04-21 kinaba: SECURITY_CREATOR_SID_AUTHORITY = {[5: 3]}, 4e2933c620 2015-04-21 kinaba: SECURITY_NON_UNIQUE_AUTHORITY = {[5: 4]}, 4e2933c620 2015-04-21 kinaba: SECURITY_NT_AUTHORITY = {[5: 5]}, 4e2933c620 2015-04-21 kinaba: SECURITY_MANDATORY_LABEL_AUTHORITY = {[5: 6]}; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: const DWORD 4e2933c620 2015-04-21 kinaba: SECURITY_NULL_RID = 0, 4e2933c620 2015-04-21 kinaba: SECURITY_WORLD_RID = 0, 4e2933c620 2015-04-21 kinaba: SECURITY_LOCAL_RID = 0, 4e2933c620 2015-04-21 kinaba: SECURITY_CREATOR_OWNER_RID = 0, 4e2933c620 2015-04-21 kinaba: SECURITY_CREATOR_GROUP_RID = 1, 4e2933c620 2015-04-21 kinaba: SECURITY_DIALUP_RID = 1, 4e2933c620 2015-04-21 kinaba: SECURITY_NETWORK_RID = 2, 4e2933c620 2015-04-21 kinaba: SECURITY_BATCH_RID = 3, 4e2933c620 2015-04-21 kinaba: SECURITY_INTERACTIVE_RID = 4, 4e2933c620 2015-04-21 kinaba: SECURITY_LOGON_IDS_RID = 5, 4e2933c620 2015-04-21 kinaba: SECURITY_SERVICE_RID = 6, 4e2933c620 2015-04-21 kinaba: SECURITY_LOCAL_SYSTEM_RID = 18, 4e2933c620 2015-04-21 kinaba: SECURITY_BUILTIN_DOMAIN_RID = 32, 4e2933c620 2015-04-21 kinaba: SECURITY_PRINCIPAL_SELF_RID = 10, 4e2933c620 2015-04-21 kinaba: SECURITY_CREATOR_OWNER_SERVER_RID = 2, 4e2933c620 2015-04-21 kinaba: SECURITY_CREATOR_GROUP_SERVER_RID = 3, 4e2933c620 2015-04-21 kinaba: SECURITY_LOGON_IDS_RID_COUNT = 3, 4e2933c620 2015-04-21 kinaba: SECURITY_ANONYMOUS_LOGON_RID = 7, 4e2933c620 2015-04-21 kinaba: SECURITY_PROXY_RID = 8, 4e2933c620 2015-04-21 kinaba: SECURITY_ENTERPRISE_CONTROLLERS_RID = 9, 4e2933c620 2015-04-21 kinaba: SECURITY_SERVER_LOGON_RID = SECURITY_ENTERPRISE_CONTROLLERS_RID, 4e2933c620 2015-04-21 kinaba: SECURITY_AUTHENTICATED_USER_RID = 11, 4e2933c620 2015-04-21 kinaba: SECURITY_RESTRICTED_CODE_RID = 12, 4e2933c620 2015-04-21 kinaba: SECURITY_NT_NON_UNIQUE_RID = 21, 4e2933c620 2015-04-21 kinaba: SID_REVISION = 1; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: enum : DWORD { 4e2933c620 2015-04-21 kinaba: DOMAIN_USER_RID_ADMIN = 0x01F4, 4e2933c620 2015-04-21 kinaba: DOMAIN_USER_RID_GUEST = 0x01F5, 4e2933c620 2015-04-21 kinaba: DOMAIN_GROUP_RID_ADMINS = 0x0200, 4e2933c620 2015-04-21 kinaba: DOMAIN_GROUP_RID_USERS = 0x0201, 4e2933c620 2015-04-21 kinaba: DOMAIN_ALIAS_RID_ADMINS = 0x0220, 4e2933c620 2015-04-21 kinaba: DOMAIN_ALIAS_RID_USERS = 0x0221, 4e2933c620 2015-04-21 kinaba: DOMAIN_ALIAS_RID_GUESTS = 0x0222, 4e2933c620 2015-04-21 kinaba: DOMAIN_ALIAS_RID_POWER_USERS = 0x0223, 4e2933c620 2015-04-21 kinaba: DOMAIN_ALIAS_RID_ACCOUNT_OPS = 0x0224, 4e2933c620 2015-04-21 kinaba: DOMAIN_ALIAS_RID_SYSTEM_OPS = 0x0225, 4e2933c620 2015-04-21 kinaba: DOMAIN_ALIAS_RID_PRINT_OPS = 0x0226, 4e2933c620 2015-04-21 kinaba: DOMAIN_ALIAS_RID_BACKUP_OPS = 0x0227, 4e2933c620 2015-04-21 kinaba: DOMAIN_ALIAS_RID_REPLICATOR = 0x0228 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: enum : WORD { 4e2933c620 2015-04-21 kinaba: SECURITY_MANDATORY_UNTRUSTED_RID = 0, 4e2933c620 2015-04-21 kinaba: SECURITY_MANDATORY_LOW_RID = 0x1000, 4e2933c620 2015-04-21 kinaba: SECURITY_MANDATORY_MEDIUM_RID = 0x2000, 4e2933c620 2015-04-21 kinaba: SECURITY_MANDATORY_HIGH_RID = 0x3000, 4e2933c620 2015-04-21 kinaba: SECURITY_MANDATORY_SYSTEM_RID = 0x4000, 4e2933c620 2015-04-21 kinaba: SECURITY_MANDATORY_PROTECTED_PROCESS_RID = 0x5000, 4e2933c620 2015-04-21 kinaba: SECURITY_MANDATORY_MAXIMUM_USER_RID = SECURITY_MANDATORY_SYSTEM_RID 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: const TCHAR[] 4e2933c620 2015-04-21 kinaba: SE_CREATE_TOKEN_NAME = "SeCreateTokenPrivilege", 4e2933c620 2015-04-21 kinaba: SE_ASSIGNPRIMARYTOKEN_NAME = "SeAssignPrimaryTokenPrivilege", 4e2933c620 2015-04-21 kinaba: SE_LOCK_MEMORY_NAME = "SeLockMemoryPrivilege", 4e2933c620 2015-04-21 kinaba: SE_INCREASE_QUOTA_NAME = "SeIncreaseQuotaPrivilege", 4e2933c620 2015-04-21 kinaba: SE_UNSOLICITED_INPUT_NAME = "SeUnsolicitedInputPrivilege", 4e2933c620 2015-04-21 kinaba: SE_MACHINE_ACCOUNT_NAME = "SeMachineAccountPrivilege", 4e2933c620 2015-04-21 kinaba: SE_TCB_NAME = "SeTcbPrivilege", 4e2933c620 2015-04-21 kinaba: SE_SECURITY_NAME = "SeSecurityPrivilege", 4e2933c620 2015-04-21 kinaba: SE_TAKE_OWNERSHIP_NAME = "SeTakeOwnershipPrivilege", 4e2933c620 2015-04-21 kinaba: SE_LOAD_DRIVER_NAME = "SeLoadDriverPrivilege", 4e2933c620 2015-04-21 kinaba: SE_SYSTEM_PROFILE_NAME = "SeSystemProfilePrivilege", 4e2933c620 2015-04-21 kinaba: SE_SYSTEMTIME_NAME = "SeSystemtimePrivilege", 4e2933c620 2015-04-21 kinaba: SE_PROF_SINGLE_PROCESS_NAME = "SeProfileSingleProcessPrivilege", 4e2933c620 2015-04-21 kinaba: SE_INC_BASE_PRIORITY_NAME = "SeIncreaseBasePriorityPrivilege", 4e2933c620 2015-04-21 kinaba: SE_CREATE_PAGEFILE_NAME = "SeCreatePagefilePrivilege", 4e2933c620 2015-04-21 kinaba: SE_CREATE_PERMANENT_NAME = "SeCreatePermanentPrivilege", 4e2933c620 2015-04-21 kinaba: SE_BACKUP_NAME = "SeBackupPrivilege", 4e2933c620 2015-04-21 kinaba: SE_RESTORE_NAME = "SeRestorePrivilege", 4e2933c620 2015-04-21 kinaba: SE_SHUTDOWN_NAME = "SeShutdownPrivilege", 4e2933c620 2015-04-21 kinaba: SE_DEBUG_NAME = "SeDebugPrivilege", 4e2933c620 2015-04-21 kinaba: SE_AUDIT_NAME = "SeAuditPrivilege", 4e2933c620 2015-04-21 kinaba: SE_SYSTEM_ENVIRONMENT_NAME = "SeSystemEnvironmentPrivilege", 4e2933c620 2015-04-21 kinaba: SE_CHANGE_NOTIFY_NAME = "SeChangeNotifyPrivilege", 4e2933c620 2015-04-21 kinaba: SE_REMOTE_SHUTDOWN_NAME = "SeRemoteShutdownPrivilege", 4e2933c620 2015-04-21 kinaba: SE_CREATE_GLOBAL_NAME = "SeCreateGlobalPrivilege", 4e2933c620 2015-04-21 kinaba: SE_UNDOCK_NAME = "SeUndockPrivilege", 4e2933c620 2015-04-21 kinaba: SE_MANAGE_VOLUME_NAME = "SeManageVolumePrivilege", 4e2933c620 2015-04-21 kinaba: SE_IMPERSONATE_NAME = "SeImpersonatePrivilege", 4e2933c620 2015-04-21 kinaba: SE_ENABLE_DELEGATION_NAME = "SeEnableDelegationPrivilege", 4e2933c620 2015-04-21 kinaba: SE_SYNC_AGENT_NAME = "SeSyncAgentPrivilege", 4e2933c620 2015-04-21 kinaba: SE_TRUSTED_CREDMAN_ACCESS_NAME = "SeTrustedCredManAccessPrivilege", 4e2933c620 2015-04-21 kinaba: SE_RELABEL_NAME = "SeRelabelPrivilege", 4e2933c620 2015-04-21 kinaba: SE_INCREASE_WORKING_SET_NAME = "SeIncreaseWorkingSetPrivilege", 4e2933c620 2015-04-21 kinaba: SE_TIME_ZONE_NAME = "SeTimeZonePrivilege", 4e2933c620 2015-04-21 kinaba: SE_CREATE_SYMBOLIC_LINK_NAME = "SeCreateSymbolicLinkPrivilege"; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: const DWORD 4e2933c620 2015-04-21 kinaba: SE_GROUP_MANDATORY = 0x00000001, 4e2933c620 2015-04-21 kinaba: SE_GROUP_ENABLED_BY_DEFAULT = 0x00000002, 4e2933c620 2015-04-21 kinaba: SE_GROUP_ENABLED = 0x00000004, 4e2933c620 2015-04-21 kinaba: SE_GROUP_OWNER = 0x00000008, 4e2933c620 2015-04-21 kinaba: SE_GROUP_USE_FOR_DENY_ONLY = 0x00000010, 4e2933c620 2015-04-21 kinaba: SE_GROUP_INTEGRITY = 0x00000020, 4e2933c620 2015-04-21 kinaba: SE_GROUP_INTEGRITY_ENABLED = 0x00000040, 4e2933c620 2015-04-21 kinaba: SE_GROUP_RESOURCE = 0x20000000, 4e2933c620 2015-04-21 kinaba: SE_GROUP_LOGON_ID = 0xC0000000; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: // Primary language identifiers 4e2933c620 2015-04-21 kinaba: enum : USHORT { 4e2933c620 2015-04-21 kinaba: LANG_NEUTRAL, 4e2933c620 2015-04-21 kinaba: LANG_ARABIC, 4e2933c620 2015-04-21 kinaba: LANG_BULGARIAN, 4e2933c620 2015-04-21 kinaba: LANG_CATALAN, 4e2933c620 2015-04-21 kinaba: LANG_CHINESE, 4e2933c620 2015-04-21 kinaba: LANG_CZECH, 4e2933c620 2015-04-21 kinaba: LANG_DANISH, 4e2933c620 2015-04-21 kinaba: LANG_GERMAN, 4e2933c620 2015-04-21 kinaba: LANG_GREEK, 4e2933c620 2015-04-21 kinaba: LANG_ENGLISH, 4e2933c620 2015-04-21 kinaba: LANG_SPANISH, 4e2933c620 2015-04-21 kinaba: LANG_FINNISH, 4e2933c620 2015-04-21 kinaba: LANG_FRENCH, 4e2933c620 2015-04-21 kinaba: LANG_HEBREW, 4e2933c620 2015-04-21 kinaba: LANG_HUNGARIAN, 4e2933c620 2015-04-21 kinaba: LANG_ICELANDIC, 4e2933c620 2015-04-21 kinaba: LANG_ITALIAN, 4e2933c620 2015-04-21 kinaba: LANG_JAPANESE, 4e2933c620 2015-04-21 kinaba: LANG_KOREAN, 4e2933c620 2015-04-21 kinaba: LANG_DUTCH, 4e2933c620 2015-04-21 kinaba: LANG_NORWEGIAN, 4e2933c620 2015-04-21 kinaba: LANG_POLISH, 4e2933c620 2015-04-21 kinaba: LANG_PORTUGUESE, // = 0x16 4e2933c620 2015-04-21 kinaba: LANG_ROMANIAN = 0x18, 4e2933c620 2015-04-21 kinaba: LANG_RUSSIAN, 4e2933c620 2015-04-21 kinaba: LANG_CROATIAN, // = 0x1A 4e2933c620 2015-04-21 kinaba: LANG_SERBIAN = 0x1A, 4e2933c620 2015-04-21 kinaba: LANG_BOSNIAN = 0x1A, 4e2933c620 2015-04-21 kinaba: LANG_SLOVAK, 4e2933c620 2015-04-21 kinaba: LANG_ALBANIAN, 4e2933c620 2015-04-21 kinaba: LANG_SWEDISH, 4e2933c620 2015-04-21 kinaba: LANG_THAI, 4e2933c620 2015-04-21 kinaba: LANG_TURKISH, 4e2933c620 2015-04-21 kinaba: LANG_URDU, 4e2933c620 2015-04-21 kinaba: LANG_INDONESIAN, 4e2933c620 2015-04-21 kinaba: LANG_UKRAINIAN, 4e2933c620 2015-04-21 kinaba: LANG_BELARUSIAN, 4e2933c620 2015-04-21 kinaba: LANG_SLOVENIAN, 4e2933c620 2015-04-21 kinaba: LANG_ESTONIAN, 4e2933c620 2015-04-21 kinaba: LANG_LATVIAN, 4e2933c620 2015-04-21 kinaba: LANG_LITHUANIAN, // = 0x27 4e2933c620 2015-04-21 kinaba: LANG_FARSI = 0x29, 4e2933c620 2015-04-21 kinaba: LANG_PERSIAN = 0x29, 4e2933c620 2015-04-21 kinaba: LANG_VIETNAMESE, 4e2933c620 2015-04-21 kinaba: LANG_ARMENIAN, 4e2933c620 2015-04-21 kinaba: LANG_AZERI, 4e2933c620 2015-04-21 kinaba: LANG_BASQUE, 4e2933c620 2015-04-21 kinaba: LANG_LOWER_SORBIAN, // = 0x2E 4e2933c620 2015-04-21 kinaba: LANG_UPPER_SORBIAN = 0x2E, 4e2933c620 2015-04-21 kinaba: LANG_MACEDONIAN, // = 0x2F 4e2933c620 2015-04-21 kinaba: LANG_TSWANA = 0x32, 4e2933c620 2015-04-21 kinaba: LANG_XHOSA = 0x34, 4e2933c620 2015-04-21 kinaba: LANG_ZULU, 4e2933c620 2015-04-21 kinaba: LANG_AFRIKAANS, 4e2933c620 2015-04-21 kinaba: LANG_GEORGIAN, 4e2933c620 2015-04-21 kinaba: LANG_FAEROESE, 4e2933c620 2015-04-21 kinaba: LANG_HINDI, 4e2933c620 2015-04-21 kinaba: LANG_MALTESE, 4e2933c620 2015-04-21 kinaba: LANG_SAMI, 4e2933c620 2015-04-21 kinaba: LANG_IRISH, // = 0x3C 4e2933c620 2015-04-21 kinaba: LANG_MALAY = 0x3E, 4e2933c620 2015-04-21 kinaba: LANG_KAZAK, 4e2933c620 2015-04-21 kinaba: LANG_KYRGYZ, 4e2933c620 2015-04-21 kinaba: LANG_SWAHILI, // = 0x41 4e2933c620 2015-04-21 kinaba: LANG_UZBEK = 0x43, 4e2933c620 2015-04-21 kinaba: LANG_TATAR, 4e2933c620 2015-04-21 kinaba: LANG_BENGALI, 4e2933c620 2015-04-21 kinaba: LANG_PUNJABI, 4e2933c620 2015-04-21 kinaba: LANG_GUJARATI, 4e2933c620 2015-04-21 kinaba: LANG_ORIYA, 4e2933c620 2015-04-21 kinaba: LANG_TAMIL, 4e2933c620 2015-04-21 kinaba: LANG_TELUGU, 4e2933c620 2015-04-21 kinaba: LANG_KANNADA, 4e2933c620 2015-04-21 kinaba: LANG_MALAYALAM, 4e2933c620 2015-04-21 kinaba: LANG_ASSAMESE, 4e2933c620 2015-04-21 kinaba: LANG_MARATHI, 4e2933c620 2015-04-21 kinaba: LANG_SANSKRIT, 4e2933c620 2015-04-21 kinaba: LANG_MONGOLIAN, 4e2933c620 2015-04-21 kinaba: LANG_TIBETAN, 4e2933c620 2015-04-21 kinaba: LANG_WELSH, 4e2933c620 2015-04-21 kinaba: LANG_KHMER, 4e2933c620 2015-04-21 kinaba: LANG_LAO, // = 0x54 4e2933c620 2015-04-21 kinaba: LANG_GALICIAN = 0x56, 4e2933c620 2015-04-21 kinaba: LANG_KONKANI, 4e2933c620 2015-04-21 kinaba: LANG_MANIPURI, 4e2933c620 2015-04-21 kinaba: LANG_SINDHI, 4e2933c620 2015-04-21 kinaba: LANG_SYRIAC, 4e2933c620 2015-04-21 kinaba: LANG_SINHALESE, // = 0x5B 4e2933c620 2015-04-21 kinaba: LANG_INUKTITUT = 0x5D, 4e2933c620 2015-04-21 kinaba: LANG_AMHARIC, 4e2933c620 2015-04-21 kinaba: LANG_TAMAZIGHT, 4e2933c620 2015-04-21 kinaba: LANG_KASHMIRI, 4e2933c620 2015-04-21 kinaba: LANG_NEPALI, 4e2933c620 2015-04-21 kinaba: LANG_FRISIAN, 4e2933c620 2015-04-21 kinaba: LANG_PASHTO, 4e2933c620 2015-04-21 kinaba: LANG_FILIPINO, 4e2933c620 2015-04-21 kinaba: LANG_DIVEHI, // = 0x65 4e2933c620 2015-04-21 kinaba: LANG_HAUSA = 0x68, 4e2933c620 2015-04-21 kinaba: LANG_YORUBA = 0x6A, 4e2933c620 2015-04-21 kinaba: LANG_QUECHUA, 4e2933c620 2015-04-21 kinaba: LANG_SOTHO, 4e2933c620 2015-04-21 kinaba: LANG_BASHKIR, 4e2933c620 2015-04-21 kinaba: LANG_LUXEMBOURGISH, 4e2933c620 2015-04-21 kinaba: LANG_GREENLANDIC, 4e2933c620 2015-04-21 kinaba: LANG_IGBO, // = 0x70 4e2933c620 2015-04-21 kinaba: LANG_TIGRIGNA = 0x73, 4e2933c620 2015-04-21 kinaba: LANG_YI = 0x78, 4e2933c620 2015-04-21 kinaba: LANG_MAPUDUNGUN = 0x7A, 4e2933c620 2015-04-21 kinaba: LANG_MOHAWK = 0x7C, 4e2933c620 2015-04-21 kinaba: LANG_BRETON = 0x7E, 4e2933c620 2015-04-21 kinaba: LANG_UIGHUR = 0x80, 4e2933c620 2015-04-21 kinaba: LANG_MAORI, 4e2933c620 2015-04-21 kinaba: LANG_OCCITAN, 4e2933c620 2015-04-21 kinaba: LANG_CORSICAN, 4e2933c620 2015-04-21 kinaba: LANG_ALSATIAN, 4e2933c620 2015-04-21 kinaba: LANG_YAKUT, 4e2933c620 2015-04-21 kinaba: LANG_KICHE, 4e2933c620 2015-04-21 kinaba: LANG_KINYARWANDA, 4e2933c620 2015-04-21 kinaba: LANG_WOLOF, // = 0x88 4e2933c620 2015-04-21 kinaba: LANG_DARI = 0x8C, 4e2933c620 2015-04-21 kinaba: LANG_MALAGASY, // = 0x8D 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: LANG_SERBIAN_NEUTRAL = 0x7C1A, 4e2933c620 2015-04-21 kinaba: LANG_BOSNIAN_NEUTRAL = 0x781A, 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: LANG_INVARIANT = 0x7F 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: // Sublanguage identifiers 4e2933c620 2015-04-21 kinaba: enum : USHORT { 4e2933c620 2015-04-21 kinaba: SUBLANG_NEUTRAL, 4e2933c620 2015-04-21 kinaba: SUBLANG_DEFAULT, 4e2933c620 2015-04-21 kinaba: SUBLANG_SYS_DEFAULT, 4e2933c620 2015-04-21 kinaba: SUBLANG_CUSTOM_DEFAULT, // = 3 4e2933c620 2015-04-21 kinaba: SUBLANG_UI_CUSTOM_DEFAULT = 3, 4e2933c620 2015-04-21 kinaba: SUBLANG_CUSTOM_UNSPECIFIED, // = 4 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: SUBLANG_AFRIKAANS_SOUTH_AFRICA = 1, 4e2933c620 2015-04-21 kinaba: SUBLANG_ALBANIAN_ALBANIA = 1, 4e2933c620 2015-04-21 kinaba: SUBLANG_ALSATIAN_FRANCE = 1, 4e2933c620 2015-04-21 kinaba: SUBLANG_AMHARIC_ETHIOPIA = 1, 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: SUBLANG_ARABIC_SAUDI_ARABIA = 1, 4e2933c620 2015-04-21 kinaba: SUBLANG_ARABIC_IRAQ, 4e2933c620 2015-04-21 kinaba: SUBLANG_ARABIC_EGYPT, 4e2933c620 2015-04-21 kinaba: SUBLANG_ARABIC_LIBYA, 4e2933c620 2015-04-21 kinaba: SUBLANG_ARABIC_ALGERIA, 4e2933c620 2015-04-21 kinaba: SUBLANG_ARABIC_MOROCCO, 4e2933c620 2015-04-21 kinaba: SUBLANG_ARABIC_TUNISIA, 4e2933c620 2015-04-21 kinaba: SUBLANG_ARABIC_OMAN, 4e2933c620 2015-04-21 kinaba: SUBLANG_ARABIC_YEMEN, 4e2933c620 2015-04-21 kinaba: SUBLANG_ARABIC_SYRIA, 4e2933c620 2015-04-21 kinaba: SUBLANG_ARABIC_JORDAN, 4e2933c620 2015-04-21 kinaba: SUBLANG_ARABIC_LEBANON, 4e2933c620 2015-04-21 kinaba: SUBLANG_ARABIC_KUWAIT, 4e2933c620 2015-04-21 kinaba: SUBLANG_ARABIC_UAE, 4e2933c620 2015-04-21 kinaba: SUBLANG_ARABIC_BAHRAIN, 4e2933c620 2015-04-21 kinaba: SUBLANG_ARABIC_QATAR, // = 16 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: SUBLANG_ARMENIAN_ARMENIA = 1, 4e2933c620 2015-04-21 kinaba: SUBLANG_ASSAMESE_INDIA = 1, 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: SUBLANG_AZERI_LATIN = 1, 4e2933c620 2015-04-21 kinaba: SUBLANG_AZERI_CYRILLIC, // = 2 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: SUBLANG_BASHKIR_RUSSIA = 1, 4e2933c620 2015-04-21 kinaba: SUBLANG_BASQUE_BASQUE = 1, 4e2933c620 2015-04-21 kinaba: SUBLANG_BELARUSIAN_BELARUS = 1, 4e2933c620 2015-04-21 kinaba: SUBLANG_BENGALI_INDIA = 1, 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN = 5, 4e2933c620 2015-04-21 kinaba: SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC = 8, 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: SUBLANG_BRETON_FRANCE = 1, 4e2933c620 2015-04-21 kinaba: SUBLANG_BULGARIAN_BULGARIA = 1, 4e2933c620 2015-04-21 kinaba: SUBLANG_CATALAN_CATALAN = 1, 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: SUBLANG_CHINESE_TRADITIONAL = 1, 4e2933c620 2015-04-21 kinaba: SUBLANG_CHINESE_SIMPLIFIED, 4e2933c620 2015-04-21 kinaba: SUBLANG_CHINESE_HONGKONG, 4e2933c620 2015-04-21 kinaba: SUBLANG_CHINESE_SINGAPORE, 4e2933c620 2015-04-21 kinaba: SUBLANG_CHINESE_MACAU, // = 5 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: SUBLANG_CORSICAN_FRANCE = 1, 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: SUBLANG_CROATIAN_CROATIA = 1, 4e2933c620 2015-04-21 kinaba: SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN = 4, 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: SUBLANG_CZECH_CZECH_REPUBLIC = 1, 4e2933c620 2015-04-21 kinaba: SUBLANG_DANISH_DENMARK = 1, 4e2933c620 2015-04-21 kinaba: SUBLANG_DIVEHI_MALDIVES = 1, 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: SUBLANG_DUTCH = 1, 4e2933c620 2015-04-21 kinaba: SUBLANG_DUTCH_BELGIAN, // = 2 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: SUBLANG_ENGLISH_US = 1, 4e2933c620 2015-04-21 kinaba: SUBLANG_ENGLISH_UK, 4e2933c620 2015-04-21 kinaba: SUBLANG_ENGLISH_AUS, 4e2933c620 2015-04-21 kinaba: SUBLANG_ENGLISH_CAN, 4e2933c620 2015-04-21 kinaba: SUBLANG_ENGLISH_NZ, 4e2933c620 2015-04-21 kinaba: SUBLANG_ENGLISH_EIRE, // = 6 4e2933c620 2015-04-21 kinaba: SUBLANG_ENGLISH_IRELAND = 6, 4e2933c620 2015-04-21 kinaba: SUBLANG_ENGLISH_SOUTH_AFRICA, 4e2933c620 2015-04-21 kinaba: SUBLANG_ENGLISH_JAMAICA, 4e2933c620 2015-04-21 kinaba: SUBLANG_ENGLISH_CARIBBEAN, 4e2933c620 2015-04-21 kinaba: SUBLANG_ENGLISH_BELIZE, 4e2933c620 2015-04-21 kinaba: SUBLANG_ENGLISH_TRINIDAD, 4e2933c620 2015-04-21 kinaba: SUBLANG_ENGLISH_ZIMBABWE, 4e2933c620 2015-04-21 kinaba: SUBLANG_ENGLISH_PHILIPPINES, // = 13 4e2933c620 2015-04-21 kinaba: SUBLANG_ENGLISH_INDIA = 16, 4e2933c620 2015-04-21 kinaba: SUBLANG_ENGLISH_MALAYSIA, 4e2933c620 2015-04-21 kinaba: SUBLANG_ENGLISH_SINGAPORE, // = 18 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: SUBLANG_ESTONIAN_ESTONIA = 1, 4e2933c620 2015-04-21 kinaba: SUBLANG_FAEROESE_FAROE_ISLANDS = 1, 4e2933c620 2015-04-21 kinaba: SUBLANG_FILIPINO_PHILIPPINES = 1, 4e2933c620 2015-04-21 kinaba: SUBLANG_FINNISH_FINLAND = 1, 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: SUBLANG_FRENCH = 1, 4e2933c620 2015-04-21 kinaba: SUBLANG_FRENCH_BELGIAN, 4e2933c620 2015-04-21 kinaba: SUBLANG_FRENCH_CANADIAN, 4e2933c620 2015-04-21 kinaba: SUBLANG_FRENCH_SWISS, 4e2933c620 2015-04-21 kinaba: SUBLANG_FRENCH_LUXEMBOURG, 4e2933c620 2015-04-21 kinaba: SUBLANG_FRENCH_MONACO, // = 6 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: SUBLANG_FRISIAN_NETHERLANDS = 1, 4e2933c620 2015-04-21 kinaba: SUBLANG_GALICIAN_GALICIAN = 1, 4e2933c620 2015-04-21 kinaba: SUBLANG_GEORGIAN_GEORGIA = 1, 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: SUBLANG_GERMAN = 1, 4e2933c620 2015-04-21 kinaba: SUBLANG_GERMAN_SWISS, 4e2933c620 2015-04-21 kinaba: SUBLANG_GERMAN_AUSTRIAN, 4e2933c620 2015-04-21 kinaba: SUBLANG_GERMAN_LUXEMBOURG, 4e2933c620 2015-04-21 kinaba: SUBLANG_GERMAN_LIECHTENSTEIN, // = 5 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: SUBLANG_GREEK_GREECE = 1, 4e2933c620 2015-04-21 kinaba: SUBLANG_GREENLANDIC_GREENLAND = 1, 4e2933c620 2015-04-21 kinaba: SUBLANG_GUJARATI_INDIA = 1, 4e2933c620 2015-04-21 kinaba: SUBLANG_HAUSA_NIGERIA = 1, 4e2933c620 2015-04-21 kinaba: SUBLANG_HEBREW_ISRAEL = 1, 4e2933c620 2015-04-21 kinaba: SUBLANG_HINDI_INDIA = 1, 4e2933c620 2015-04-21 kinaba: SUBLANG_HUNGARIAN_HUNGARY = 1, 4e2933c620 2015-04-21 kinaba: SUBLANG_ICELANDIC_ICELAND = 1, 4e2933c620 2015-04-21 kinaba: SUBLANG_IGBO_NIGERIA = 1, 4e2933c620 2015-04-21 kinaba: SUBLANG_INDONESIAN_INDONESIA = 1, 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: SUBLANG_INUKTITUT_CANADA = 1, 4e2933c620 2015-04-21 kinaba: SUBLANG_INUKTITUT_CANADA_LATIN = 1, 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: SUBLANG_IRISH_IRELAND = 1, 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: SUBLANG_ITALIAN = 1, 4e2933c620 2015-04-21 kinaba: SUBLANG_ITALIAN_SWISS, // = 2 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: SUBLANG_JAPANESE_JAPAN = 1, 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: SUBLANG_KASHMIRI_INDIA = 2, 4e2933c620 2015-04-21 kinaba: SUBLANG_KASHMIRI_SASIA = 2, 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: SUBLANG_KAZAK_KAZAKHSTAN = 1, 4e2933c620 2015-04-21 kinaba: SUBLANG_KHMER_CAMBODIA = 1, 4e2933c620 2015-04-21 kinaba: SUBLANG_KICHE_GUATEMALA = 1, 4e2933c620 2015-04-21 kinaba: SUBLANG_KINYARWANDA_RWANDA = 1, 4e2933c620 2015-04-21 kinaba: SUBLANG_KONKANI_INDIA = 1, 4e2933c620 2015-04-21 kinaba: SUBLANG_KOREAN = 1, 4e2933c620 2015-04-21 kinaba: SUBLANG_KYRGYZ_KYRGYZSTAN = 1, 4e2933c620 2015-04-21 kinaba: SUBLANG_LAO_LAO_PDR = 1, 4e2933c620 2015-04-21 kinaba: SUBLANG_LATVIAN_LATVIA = 1, 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: SUBLANG_LITHUANIAN = 1, 4e2933c620 2015-04-21 kinaba: SUBLANG_LITHUANIAN_LITHUANIA = 1, 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: SUBLANG_LOWER_SORBIAN_GERMANY = 1, 4e2933c620 2015-04-21 kinaba: SUBLANG_LUXEMBOURGISH_LUXEMBOURG = 1, 4e2933c620 2015-04-21 kinaba: SUBLANG_MACEDONIAN_MACEDONIA = 1, 4e2933c620 2015-04-21 kinaba: SUBLANG_MALAYALAM_INDIA = 1, 4e2933c620 2015-04-21 kinaba: SUBLANG_MALTESE_MALTA = 1, 4e2933c620 2015-04-21 kinaba: SUBLANG_MAORI_NEW_ZEALAND = 1, 4e2933c620 2015-04-21 kinaba: SUBLANG_MAPUDUNGUN_CHILE = 1, 4e2933c620 2015-04-21 kinaba: SUBLANG_MARATHI_INDIA = 1, 4e2933c620 2015-04-21 kinaba: SUBLANG_MOHAWK_MOHAWK = 1, 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA = 1, 4e2933c620 2015-04-21 kinaba: SUBLANG_MONGOLIAN_PRC, // = 2 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: SUBLANG_MALAY_MALAYSIA = 1, 4e2933c620 2015-04-21 kinaba: SUBLANG_MALAY_BRUNEI_DARUSSALAM, // = 2 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: SUBLANG_NEPALI_NEPAL = 1, 4e2933c620 2015-04-21 kinaba: SUBLANG_NEPALI_INDIA, // = 2 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: SUBLANG_NORWEGIAN_BOKMAL = 1, 4e2933c620 2015-04-21 kinaba: SUBLANG_NORWEGIAN_NYNORSK, // = 2 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: SUBLANG_OCCITAN_FRANCE = 1, 4e2933c620 2015-04-21 kinaba: SUBLANG_ORIYA_INDIA = 1, 4e2933c620 2015-04-21 kinaba: SUBLANG_PASHTO_AFGHANISTAN = 1, 4e2933c620 2015-04-21 kinaba: SUBLANG_PERSIAN_IRAN = 1, 4e2933c620 2015-04-21 kinaba: SUBLANG_POLISH_POLAND = 1, 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: SUBLANG_PORTUGUESE_BRAZILIAN = 1, 4e2933c620 2015-04-21 kinaba: SUBLANG_PORTUGUESE = 2, 4e2933c620 2015-04-21 kinaba: SUBLANG_PORTUGUESE_PORTUGAL, // = 2 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: SUBLANG_PUNJABI_INDIA = 1, 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: SUBLANG_QUECHUA_BOLIVIA = 1, 4e2933c620 2015-04-21 kinaba: SUBLANG_QUECHUA_ECUADOR, 4e2933c620 2015-04-21 kinaba: SUBLANG_QUECHUA_PERU, // = 3 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: SUBLANG_ROMANIAN_ROMANIA = 1, 4e2933c620 2015-04-21 kinaba: SUBLANG_ROMANSH_SWITZERLAND = 1, 4e2933c620 2015-04-21 kinaba: SUBLANG_RUSSIAN_RUSSIA = 1, 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: SUBLANG_SAMI_NORTHERN_NORWAY = 1, 4e2933c620 2015-04-21 kinaba: SUBLANG_SAMI_NORTHERN_SWEDEN, 4e2933c620 2015-04-21 kinaba: SUBLANG_SAMI_NORTHERN_FINLAND, // = 3 4e2933c620 2015-04-21 kinaba: SUBLANG_SAMI_SKOLT_FINLAND = 3, 4e2933c620 2015-04-21 kinaba: SUBLANG_SAMI_INARI_FINLAND = 3, 4e2933c620 2015-04-21 kinaba: SUBLANG_SAMI_LULE_NORWAY, 4e2933c620 2015-04-21 kinaba: SUBLANG_SAMI_LULE_SWEDEN, 4e2933c620 2015-04-21 kinaba: SUBLANG_SAMI_SOUTHERN_NORWAY, 4e2933c620 2015-04-21 kinaba: SUBLANG_SAMI_SOUTHERN_SWEDEN, // = 7 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: SUBLANG_SANSKRIT_INDIA = 1, 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: SUBLANG_SERBIAN_LATIN = 2, 4e2933c620 2015-04-21 kinaba: SUBLANG_SERBIAN_CYRILLIC, // = 3 4e2933c620 2015-04-21 kinaba: SUBLANG_SERBIAN_BOSNIA_HERZEGOVINA_LATIN = 6, 4e2933c620 2015-04-21 kinaba: SUBLANG_SERBIAN_BOSNIA_HERZEGOVINA_CYRILLIC = 7, 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: SUBLANG_SINDHI_AFGHANISTAN = 2, 4e2933c620 2015-04-21 kinaba: SUBLANG_SINHALESE_SRI_LANKA = 1, 4e2933c620 2015-04-21 kinaba: SUBLANG_SOTHO_NORTHERN_SOUTH_AFRICA = 1, 4e2933c620 2015-04-21 kinaba: SUBLANG_SLOVAK_SLOVAKIA = 1, 4e2933c620 2015-04-21 kinaba: SUBLANG_SLOVENIAN_SLOVENIA = 1, 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: SUBLANG_SPANISH = 1, 4e2933c620 2015-04-21 kinaba: SUBLANG_SPANISH_MEXICAN, 4e2933c620 2015-04-21 kinaba: SUBLANG_SPANISH_MODERN, 4e2933c620 2015-04-21 kinaba: SUBLANG_SPANISH_GUATEMALA, 4e2933c620 2015-04-21 kinaba: SUBLANG_SPANISH_COSTA_RICA, 4e2933c620 2015-04-21 kinaba: SUBLANG_SPANISH_PANAMA, 4e2933c620 2015-04-21 kinaba: SUBLANG_SPANISH_DOMINICAN_REPUBLIC, 4e2933c620 2015-04-21 kinaba: SUBLANG_SPANISH_VENEZUELA, 4e2933c620 2015-04-21 kinaba: SUBLANG_SPANISH_COLOMBIA, 4e2933c620 2015-04-21 kinaba: SUBLANG_SPANISH_PERU, 4e2933c620 2015-04-21 kinaba: SUBLANG_SPANISH_ARGENTINA, 4e2933c620 2015-04-21 kinaba: SUBLANG_SPANISH_ECUADOR, 4e2933c620 2015-04-21 kinaba: SUBLANG_SPANISH_CHILE, 4e2933c620 2015-04-21 kinaba: SUBLANG_SPANISH_URUGUAY, 4e2933c620 2015-04-21 kinaba: SUBLANG_SPANISH_PARAGUAY, 4e2933c620 2015-04-21 kinaba: SUBLANG_SPANISH_BOLIVIA, 4e2933c620 2015-04-21 kinaba: SUBLANG_SPANISH_EL_SALVADOR, 4e2933c620 2015-04-21 kinaba: SUBLANG_SPANISH_HONDURAS, 4e2933c620 2015-04-21 kinaba: SUBLANG_SPANISH_NICARAGUA, 4e2933c620 2015-04-21 kinaba: SUBLANG_SPANISH_PUERTO_RICO, 4e2933c620 2015-04-21 kinaba: SUBLANG_SPANISH_US, // = 21 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: SUBLANG_SWEDISH = 1, 4e2933c620 2015-04-21 kinaba: SUBLANG_SWEDISH_SWEDEN = 1, 4e2933c620 2015-04-21 kinaba: SUBLANG_SWEDISH_FINLAND, // = 2 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: SUBLANG_SYRIAC = 1, 4e2933c620 2015-04-21 kinaba: SUBLANG_TAJIK_TAJIKISTAN = 1, 4e2933c620 2015-04-21 kinaba: SUBLANG_TAMAZIGHT_ALGERIA_LATIN = 2, 4e2933c620 2015-04-21 kinaba: SUBLANG_TAMIL_INDIA = 1, 4e2933c620 2015-04-21 kinaba: SUBLANG_TATAR_RUSSIA = 1, 4e2933c620 2015-04-21 kinaba: SUBLANG_TELUGU_INDIA = 1, 4e2933c620 2015-04-21 kinaba: SUBLANG_THAI_THAILAND = 1, 4e2933c620 2015-04-21 kinaba: SUBLANG_TIBETAN_PRC = 1, 4e2933c620 2015-04-21 kinaba: SUBLANG_TIBETAN_BHUTAN = 2, 4e2933c620 2015-04-21 kinaba: SUBLANG_TIGRIGNA_ERITREA = 1, 4e2933c620 2015-04-21 kinaba: SUBLANG_TSWANA_SOUTH_AFRICA = 1, 4e2933c620 2015-04-21 kinaba: SUBLANG_TURKISH_TURKEY = 1, 4e2933c620 2015-04-21 kinaba: SUBLANG_TURKMEN_TURKMENISTAN = 1, 4e2933c620 2015-04-21 kinaba: SUBLANG_UIGHUR_PRC = 1, 4e2933c620 2015-04-21 kinaba: SUBLANG_UKRAINIAN_UKRAINE = 1, 4e2933c620 2015-04-21 kinaba: SUBLANG_UPPER_SORBIAN_GERMANY = 1, 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: SUBLANG_URDU_PAKISTAN = 1, 4e2933c620 2015-04-21 kinaba: SUBLANG_URDU_INDIA, // = 2 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: SUBLANG_UZBEK_LATIN = 1, 4e2933c620 2015-04-21 kinaba: SUBLANG_UZBEK_CYRILLIC, // = 2 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: SUBLANG_VIETNAMESE_VIETNAM = 1, 4e2933c620 2015-04-21 kinaba: SUBLANG_WELSH_UNITED_KINGDOM = 1, 4e2933c620 2015-04-21 kinaba: SUBLANG_WOLOF_SENEGAL = 1, 4e2933c620 2015-04-21 kinaba: SUBLANG_YORUBA_NIGERIA = 1, 4e2933c620 2015-04-21 kinaba: SUBLANG_XHOSA_SOUTH_AFRICA = 1, 4e2933c620 2015-04-21 kinaba: SUBLANG_YAKUT_RUSSIA = 1, 4e2933c620 2015-04-21 kinaba: SUBLANG_YI_PRC = 1, 4e2933c620 2015-04-21 kinaba: SUBLANG_ZULU_SOUTH_AFRICA = 1 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: // This is not documented on MSDN 4e2933c620 2015-04-21 kinaba: const NLS_VALID_LOCALE_MASK = 1048575; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: // Sorting identifiers 4e2933c620 2015-04-21 kinaba: enum : WORD { 4e2933c620 2015-04-21 kinaba: SORT_DEFAULT = 0, 4e2933c620 2015-04-21 kinaba: SORT_JAPANESE_XJIS = 0, 4e2933c620 2015-04-21 kinaba: SORT_JAPANESE_UNICODE = 1, 4e2933c620 2015-04-21 kinaba: SORT_CHINESE_BIG5 = 0, 4e2933c620 2015-04-21 kinaba: SORT_CHINESE_PRCP = 0, 4e2933c620 2015-04-21 kinaba: SORT_CHINESE_UNICODE = 1, 4e2933c620 2015-04-21 kinaba: SORT_CHINESE_PRC = 2, 4e2933c620 2015-04-21 kinaba: SORT_CHINESE_BOPOMOFO = 3, 4e2933c620 2015-04-21 kinaba: SORT_KOREAN_KSC = 0, 4e2933c620 2015-04-21 kinaba: SORT_KOREAN_UNICODE = 1, 4e2933c620 2015-04-21 kinaba: SORT_GERMAN_PHONE_BOOK = 1, 4e2933c620 2015-04-21 kinaba: SORT_HUNGARIAN_DEFAULT = 0, 4e2933c620 2015-04-21 kinaba: SORT_HUNGARIAN_TECHNICAL = 1, 4e2933c620 2015-04-21 kinaba: SORT_GEORGIAN_TRADITIONAL = 0, 4e2933c620 2015-04-21 kinaba: SORT_GEORGIAN_MODERN = 1 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: WORD MAKELANGID(USHORT p, USHORT s) { return cast(WORD)((s << 10) | p); } 4e2933c620 2015-04-21 kinaba: WORD PRIMARYLANGID(WORD lgid) { return cast(WORD)(lgid & 0x3FF); } 4e2933c620 2015-04-21 kinaba: WORD SUBLANGID(WORD lgid) { return cast(WORD)(lgid >>> 10); } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: DWORD MAKELCID(WORD lgid, WORD srtid) { return (cast(DWORD) srtid << 16) | cast(DWORD) lgid; } 4e2933c620 2015-04-21 kinaba: // ??? 4e2933c620 2015-04-21 kinaba: //DWORD MAKESORTLCID(WORD lgid, WORD srtid, WORD ver) { return (MAKELCID(lgid, srtid)) | ((cast(DWORD)ver) << 20); } 4e2933c620 2015-04-21 kinaba: WORD LANGIDFROMLCID(LCID lcid) { return cast(WORD) lcid; } 4e2933c620 2015-04-21 kinaba: WORD SORTIDFROMLCID(LCID lcid) { return cast(WORD) ((lcid >>> 16) & 0x0F); } 4e2933c620 2015-04-21 kinaba: WORD SORTVERSIONFROMLCID(LCID lcid) { return cast(WORD) ((lcid >>> 20) & 0x0F); } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: const WORD LANG_SYSTEM_DEFAULT = (SUBLANG_SYS_DEFAULT << 10) | LANG_NEUTRAL; 4e2933c620 2015-04-21 kinaba: const WORD LANG_USER_DEFAULT = (SUBLANG_DEFAULT << 10) | LANG_NEUTRAL; 4e2933c620 2015-04-21 kinaba: const DWORD LOCALE_NEUTRAL = (SORT_DEFAULT << 16) 4e2933c620 2015-04-21 kinaba: | (SUBLANG_NEUTRAL << 10) | LANG_NEUTRAL; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: // --- 4e2933c620 2015-04-21 kinaba: enum : BYTE { 4e2933c620 2015-04-21 kinaba: ACL_REVISION = 2, 4e2933c620 2015-04-21 kinaba: ACL_REVISION_DS = 4 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: // These are not documented on MSDN 4e2933c620 2015-04-21 kinaba: enum : BYTE { 4e2933c620 2015-04-21 kinaba: ACL_REVISION1 = 1, 4e2933c620 2015-04-21 kinaba: ACL_REVISION2, 4e2933c620 2015-04-21 kinaba: ACL_REVISION3, 4e2933c620 2015-04-21 kinaba: ACL_REVISION4 // = 4 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: const BYTE 4e2933c620 2015-04-21 kinaba: MIN_ACL_REVISION = 2, 4e2933c620 2015-04-21 kinaba: MAX_ACL_REVISION = 4; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: /+ 4e2933c620 2015-04-21 kinaba: // These aren't necessary for D. 4e2933c620 2015-04-21 kinaba: const MINCHAR=0x80; 4e2933c620 2015-04-21 kinaba: const MAXCHAR=0x7f; 4e2933c620 2015-04-21 kinaba: const MINSHORT=0x8000; 4e2933c620 2015-04-21 kinaba: const MAXSHORT=0x7fff; 4e2933c620 2015-04-21 kinaba: const MINLONG=0x80000000; 4e2933c620 2015-04-21 kinaba: const MAXLONG=0x7fffffff; 4e2933c620 2015-04-21 kinaba: const MAXBYTE=0xff; 4e2933c620 2015-04-21 kinaba: const MAXWORD=0xffff; 4e2933c620 2015-04-21 kinaba: const MAXDWORD=0xffffffff; 4e2933c620 2015-04-21 kinaba: +/ 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: // SYSTEM_INFO.dwProcessorType 4e2933c620 2015-04-21 kinaba: enum : DWORD { 4e2933c620 2015-04-21 kinaba: PROCESSOR_INTEL_386 = 386, 4e2933c620 2015-04-21 kinaba: PROCESSOR_INTEL_486 = 486, 4e2933c620 2015-04-21 kinaba: PROCESSOR_INTEL_PENTIUM = 586, 4e2933c620 2015-04-21 kinaba: PROCESSOR_MIPS_R4000 = 4000, 4e2933c620 2015-04-21 kinaba: PROCESSOR_ALPHA_21064 = 21064, 4e2933c620 2015-04-21 kinaba: PROCESSOR_INTEL_IA64 = 2200 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: // SYSTEM_INFO.wProcessorArchitecture 4e2933c620 2015-04-21 kinaba: enum : WORD { 4e2933c620 2015-04-21 kinaba: PROCESSOR_ARCHITECTURE_INTEL, 4e2933c620 2015-04-21 kinaba: PROCESSOR_ARCHITECTURE_MIPS, 4e2933c620 2015-04-21 kinaba: PROCESSOR_ARCHITECTURE_ALPHA, 4e2933c620 2015-04-21 kinaba: PROCESSOR_ARCHITECTURE_PPC, 4e2933c620 2015-04-21 kinaba: PROCESSOR_ARCHITECTURE_SHX, 4e2933c620 2015-04-21 kinaba: PROCESSOR_ARCHITECTURE_ARM, 4e2933c620 2015-04-21 kinaba: PROCESSOR_ARCHITECTURE_IA64, 4e2933c620 2015-04-21 kinaba: PROCESSOR_ARCHITECTURE_ALPHA64, 4e2933c620 2015-04-21 kinaba: PROCESSOR_ARCHITECTURE_MSIL, 4e2933c620 2015-04-21 kinaba: PROCESSOR_ARCHITECTURE_AMD64, 4e2933c620 2015-04-21 kinaba: PROCESSOR_ARCHITECTURE_IA32_ON_WIN64, // = 10 4e2933c620 2015-04-21 kinaba: PROCESSOR_ARCHITECTURE_UNKNOWN = 0xFFFF 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: // IsProcessorFeaturePresent() 4e2933c620 2015-04-21 kinaba: enum : DWORD { 4e2933c620 2015-04-21 kinaba: PF_FLOATING_POINT_PRECISION_ERRATA, 4e2933c620 2015-04-21 kinaba: PF_FLOATING_POINT_EMULATED, 4e2933c620 2015-04-21 kinaba: PF_COMPARE_EXCHANGE_DOUBLE, 4e2933c620 2015-04-21 kinaba: PF_MMX_INSTRUCTIONS_AVAILABLE, 4e2933c620 2015-04-21 kinaba: PF_PPC_MOVEMEM_64BIT_OK, 4e2933c620 2015-04-21 kinaba: PF_ALPHA_BYTE_INSTRUCTIONS, 4e2933c620 2015-04-21 kinaba: PF_XMMI_INSTRUCTIONS_AVAILABLE, 4e2933c620 2015-04-21 kinaba: PF_3DNOW_INSTRUCTIONS_AVAILABLE, 4e2933c620 2015-04-21 kinaba: PF_RDTSC_INSTRUCTION_AVAILABLE, 4e2933c620 2015-04-21 kinaba: PF_PAE_ENABLED, 4e2933c620 2015-04-21 kinaba: PF_XMMI64_INSTRUCTIONS_AVAILABLE 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: // MinGW: also in ddk/ntifs.h 4e2933c620 2015-04-21 kinaba: enum : DWORD { 4e2933c620 2015-04-21 kinaba: FILE_ACTION_ADDED = 1, 4e2933c620 2015-04-21 kinaba: FILE_ACTION_REMOVED, 4e2933c620 2015-04-21 kinaba: FILE_ACTION_MODIFIED, 4e2933c620 2015-04-21 kinaba: FILE_ACTION_RENAMED_OLD_NAME, 4e2933c620 2015-04-21 kinaba: FILE_ACTION_RENAMED_NEW_NAME, 4e2933c620 2015-04-21 kinaba: FILE_ACTION_ADDED_STREAM, 4e2933c620 2015-04-21 kinaba: FILE_ACTION_REMOVED_STREAM, 4e2933c620 2015-04-21 kinaba: FILE_ACTION_MODIFIED_STREAM, 4e2933c620 2015-04-21 kinaba: FILE_ACTION_REMOVED_BY_DELETE, 4e2933c620 2015-04-21 kinaba: FILE_ACTION_ID_NOT_TUNNELLED, 4e2933c620 2015-04-21 kinaba: FILE_ACTION_TUNNELLED_ID_COLLISION // = 11 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: // MinGW: end ntifs.h 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: const DWORD 4e2933c620 2015-04-21 kinaba: HEAP_NO_SERIALIZE = 0x01, 4e2933c620 2015-04-21 kinaba: HEAP_GROWABLE = 0x02, 4e2933c620 2015-04-21 kinaba: HEAP_GENERATE_EXCEPTIONS = 0x04, 4e2933c620 2015-04-21 kinaba: HEAP_ZERO_MEMORY = 0x08, 4e2933c620 2015-04-21 kinaba: HEAP_REALLOC_IN_PLACE_ONLY = 0x10, 4e2933c620 2015-04-21 kinaba: HEAP_TAIL_CHECKING_ENABLED = 0x20, 4e2933c620 2015-04-21 kinaba: HEAP_FREE_CHECKING_ENABLED = 0x40, 4e2933c620 2015-04-21 kinaba: HEAP_DISABLE_COALESCE_ON_FREE = 0x80; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: // These are not documented on MSDN 4e2933c620 2015-04-21 kinaba: const HEAP_CREATE_ALIGN_16 = 0; 4e2933c620 2015-04-21 kinaba: const HEAP_CREATE_ENABLE_TRACING = 0x020000; 4e2933c620 2015-04-21 kinaba: const HEAP_MAXIMUM_TAG = 0x000FFF; 4e2933c620 2015-04-21 kinaba: const HEAP_PSEUDO_TAG_FLAG = 0x008000; 4e2933c620 2015-04-21 kinaba: const HEAP_TAG_SHIFT = 16; 4e2933c620 2015-04-21 kinaba: // ??? 4e2933c620 2015-04-21 kinaba: //MACRO #define HEAP_MAKE_TAG_FLAGS(b,o) ((DWORD)((b)+(o)<<16))) 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: const ACCESS_MASK 4e2933c620 2015-04-21 kinaba: KEY_QUERY_VALUE = 0x000001, 4e2933c620 2015-04-21 kinaba: KEY_SET_VALUE = 0x000002, 4e2933c620 2015-04-21 kinaba: KEY_CREATE_SUB_KEY = 0x000004, 4e2933c620 2015-04-21 kinaba: KEY_ENUMERATE_SUB_KEYS = 0x000008, 4e2933c620 2015-04-21 kinaba: KEY_NOTIFY = 0x000010, 4e2933c620 2015-04-21 kinaba: KEY_CREATE_LINK = 0x000020, 4e2933c620 2015-04-21 kinaba: KEY_WRITE = 0x020006, 4e2933c620 2015-04-21 kinaba: KEY_EXECUTE = 0x020019, 4e2933c620 2015-04-21 kinaba: KEY_READ = 0x020019, 4e2933c620 2015-04-21 kinaba: KEY_ALL_ACCESS = 0x0F003F; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: static if (WINVER >= 0x502) { 4e2933c620 2015-04-21 kinaba: const ACCESS_MASK 4e2933c620 2015-04-21 kinaba: KEY_WOW64_64KEY = 0x000100, 4e2933c620 2015-04-21 kinaba: KEY_WOW64_32KEY = 0x000200; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: const DWORD 4e2933c620 2015-04-21 kinaba: REG_WHOLE_HIVE_VOLATILE = 1, 4e2933c620 2015-04-21 kinaba: REG_REFRESH_HIVE = 2, 4e2933c620 2015-04-21 kinaba: REG_NO_LAZY_FLUSH = 4; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: const DWORD 4e2933c620 2015-04-21 kinaba: REG_OPTION_RESERVED = 0, 4e2933c620 2015-04-21 kinaba: REG_OPTION_NON_VOLATILE = 0, 4e2933c620 2015-04-21 kinaba: REG_OPTION_VOLATILE = 1, 4e2933c620 2015-04-21 kinaba: REG_OPTION_CREATE_LINK = 2, 4e2933c620 2015-04-21 kinaba: REG_OPTION_BACKUP_RESTORE = 4, 4e2933c620 2015-04-21 kinaba: REG_OPTION_OPEN_LINK = 8, 4e2933c620 2015-04-21 kinaba: REG_LEGAL_OPTION = 15; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: const SECURITY_INFORMATION 4e2933c620 2015-04-21 kinaba: OWNER_SECURITY_INFORMATION = 0x00000001, 4e2933c620 2015-04-21 kinaba: GROUP_SECURITY_INFORMATION = 0x00000002, 4e2933c620 2015-04-21 kinaba: DACL_SECURITY_INFORMATION = 0x00000004, 4e2933c620 2015-04-21 kinaba: SACL_SECURITY_INFORMATION = 0x00000008, 4e2933c620 2015-04-21 kinaba: LABEL_SECURITY_INFORMATION = 0x00000010, 4e2933c620 2015-04-21 kinaba: UNPROTECTED_SACL_SECURITY_INFORMATION = 0x10000000, 4e2933c620 2015-04-21 kinaba: UNPROTECTED_DACL_SECURITY_INFORMATION = 0x20000000, 4e2933c620 2015-04-21 kinaba: PROTECTED_SACL_SECURITY_INFORMATION = 0x40000000, 4e2933c620 2015-04-21 kinaba: PROTECTED_DACL_SECURITY_INFORMATION = 0x80000000; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: const DWORD MAXIMUM_PROCESSORS = 32; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: // VirtualAlloc(), etc 4e2933c620 2015-04-21 kinaba: // ------------------- 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: enum : DWORD { 4e2933c620 2015-04-21 kinaba: PAGE_NOACCESS = 0x0001, 4e2933c620 2015-04-21 kinaba: PAGE_READONLY = 0x0002, 4e2933c620 2015-04-21 kinaba: PAGE_READWRITE = 0x0004, 4e2933c620 2015-04-21 kinaba: PAGE_WRITECOPY = 0x0008, 4e2933c620 2015-04-21 kinaba: PAGE_EXECUTE = 0x0010, 4e2933c620 2015-04-21 kinaba: PAGE_EXECUTE_READ = 0x0020, 4e2933c620 2015-04-21 kinaba: PAGE_EXECUTE_READWRITE = 0x0040, 4e2933c620 2015-04-21 kinaba: PAGE_EXECUTE_WRITECOPY = 0x0080, 4e2933c620 2015-04-21 kinaba: PAGE_GUARD = 0x0100, 4e2933c620 2015-04-21 kinaba: PAGE_NOCACHE = 0x0200 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: enum : DWORD { 4e2933c620 2015-04-21 kinaba: MEM_COMMIT = 0x00001000, 4e2933c620 2015-04-21 kinaba: MEM_RESERVE = 0x00002000, 4e2933c620 2015-04-21 kinaba: MEM_DECOMMIT = 0x00004000, 4e2933c620 2015-04-21 kinaba: MEM_RELEASE = 0x00008000, 4e2933c620 2015-04-21 kinaba: MEM_FREE = 0x00010000, 4e2933c620 2015-04-21 kinaba: MEM_PRIVATE = 0x00020000, 4e2933c620 2015-04-21 kinaba: MEM_MAPPED = 0x00040000, 4e2933c620 2015-04-21 kinaba: MEM_RESET = 0x00080000, 4e2933c620 2015-04-21 kinaba: MEM_TOP_DOWN = 0x00100000, 4e2933c620 2015-04-21 kinaba: MEM_WRITE_WATCH = 0x00200000, // MinGW (???): 98/Me 4e2933c620 2015-04-21 kinaba: MEM_PHYSICAL = 0x00400000, 4e2933c620 2015-04-21 kinaba: MEM_4MB_PAGES = 0x80000000 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: // MinGW: also in ddk/ntifs.h 4e2933c620 2015-04-21 kinaba: // CreateFileMapping() 4e2933c620 2015-04-21 kinaba: const DWORD 4e2933c620 2015-04-21 kinaba: SEC_BASED = 0x00200000, 4e2933c620 2015-04-21 kinaba: SEC_NO_CHANGE = 0x00400000, 4e2933c620 2015-04-21 kinaba: SEC_FILE = 0x00800000, 4e2933c620 2015-04-21 kinaba: SEC_IMAGE = 0x01000000, 4e2933c620 2015-04-21 kinaba: SEC_VLM = 0x02000000, 4e2933c620 2015-04-21 kinaba: SEC_RESERVE = 0x04000000, 4e2933c620 2015-04-21 kinaba: SEC_COMMIT = 0x08000000, 4e2933c620 2015-04-21 kinaba: SEC_NOCACHE = 0x10000000, 4e2933c620 2015-04-21 kinaba: MEM_IMAGE = SEC_IMAGE; 4e2933c620 2015-04-21 kinaba: // MinGW: end ntifs.h 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: // ??? 4e2933c620 2015-04-21 kinaba: const ACCESS_MASK 4e2933c620 2015-04-21 kinaba: SECTION_QUERY = 0x000001, 4e2933c620 2015-04-21 kinaba: SECTION_MAP_WRITE = 0x000002, 4e2933c620 2015-04-21 kinaba: SECTION_MAP_READ = 0x000004, 4e2933c620 2015-04-21 kinaba: SECTION_MAP_EXECUTE = 0x000008, 4e2933c620 2015-04-21 kinaba: SECTION_EXTEND_SIZE = 0x000010, 4e2933c620 2015-04-21 kinaba: SECTION_ALL_ACCESS = 0x0F001F; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: // These are not documented on MSDN 4e2933c620 2015-04-21 kinaba: const MESSAGE_RESOURCE_UNICODE = 1; 4e2933c620 2015-04-21 kinaba: const RTL_CRITSECT_TYPE = 0; 4e2933c620 2015-04-21 kinaba: const RTL_RESOURCE_TYPE = 1; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: // COFF file format 4e2933c620 2015-04-21 kinaba: // ---------------- 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: // IMAGE_FILE_HEADER.Characteristics 4e2933c620 2015-04-21 kinaba: const WORD 4e2933c620 2015-04-21 kinaba: IMAGE_FILE_RELOCS_STRIPPED = 0x0001, 4e2933c620 2015-04-21 kinaba: IMAGE_FILE_EXECUTABLE_IMAGE = 0x0002, 4e2933c620 2015-04-21 kinaba: IMAGE_FILE_LINE_NUMS_STRIPPED = 0x0004, 4e2933c620 2015-04-21 kinaba: IMAGE_FILE_LOCAL_SYMS_STRIPPED = 0x0008, 4e2933c620 2015-04-21 kinaba: IMAGE_FILE_AGGRESIVE_WS_TRIM = 0x0010, 4e2933c620 2015-04-21 kinaba: IMAGE_FILE_LARGE_ADDRESS_AWARE = 0x0020, 4e2933c620 2015-04-21 kinaba: IMAGE_FILE_BYTES_REVERSED_LO = 0x0080, 4e2933c620 2015-04-21 kinaba: IMAGE_FILE_32BIT_MACHINE = 0x0100, 4e2933c620 2015-04-21 kinaba: IMAGE_FILE_DEBUG_STRIPPED = 0x0200, 4e2933c620 2015-04-21 kinaba: IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP = 0x0400, 4e2933c620 2015-04-21 kinaba: IMAGE_FILE_NET_RUN_FROM_SWAP = 0x0800, 4e2933c620 2015-04-21 kinaba: IMAGE_FILE_SYSTEM = 0x1000, 4e2933c620 2015-04-21 kinaba: IMAGE_FILE_DLL = 0x2000, 4e2933c620 2015-04-21 kinaba: IMAGE_FILE_UP_SYSTEM_ONLY = 0x4000, 4e2933c620 2015-04-21 kinaba: IMAGE_FILE_BYTES_REVERSED_HI = 0x8000; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: // IMAGE_FILE_HEADER.Machine 4e2933c620 2015-04-21 kinaba: enum : WORD { 4e2933c620 2015-04-21 kinaba: IMAGE_FILE_MACHINE_UNKNOWN = 0x0000, 4e2933c620 2015-04-21 kinaba: IMAGE_FILE_MACHINE_I386 = 0x014C, 4e2933c620 2015-04-21 kinaba: IMAGE_FILE_MACHINE_R3000 = 0x0162, 4e2933c620 2015-04-21 kinaba: IMAGE_FILE_MACHINE_R4000 = 0x0166, 4e2933c620 2015-04-21 kinaba: IMAGE_FILE_MACHINE_R10000 = 0x0168, 4e2933c620 2015-04-21 kinaba: IMAGE_FILE_MACHINE_WCEMIPSV2 = 0x0169, 4e2933c620 2015-04-21 kinaba: IMAGE_FILE_MACHINE_ALPHA = 0x0184, 4e2933c620 2015-04-21 kinaba: IMAGE_FILE_MACHINE_SH3 = 0x01A2, 4e2933c620 2015-04-21 kinaba: IMAGE_FILE_MACHINE_SH3DSP = 0x01A3, 4e2933c620 2015-04-21 kinaba: IMAGE_FILE_MACHINE_SH4 = 0x01A6, 4e2933c620 2015-04-21 kinaba: IMAGE_FILE_MACHINE_SH5 = 0x01A8, 4e2933c620 2015-04-21 kinaba: IMAGE_FILE_MACHINE_ARM = 0x01C0, 4e2933c620 2015-04-21 kinaba: IMAGE_FILE_MACHINE_THUMB = 0x01C2, 4e2933c620 2015-04-21 kinaba: IMAGE_FILE_MACHINE_AM33 = 0x01D3, 4e2933c620 2015-04-21 kinaba: IMAGE_FILE_MACHINE_POWERPC = 0x01F0, 4e2933c620 2015-04-21 kinaba: IMAGE_FILE_MACHINE_POWERPCFP = 0x01F1, 4e2933c620 2015-04-21 kinaba: IMAGE_FILE_MACHINE_IA64 = 0x0200, 4e2933c620 2015-04-21 kinaba: IMAGE_FILE_MACHINE_MIPS16 = 0x0266, 4e2933c620 2015-04-21 kinaba: IMAGE_FILE_MACHINE_MIPSFPU = 0x0366, 4e2933c620 2015-04-21 kinaba: IMAGE_FILE_MACHINE_MIPSFPU16 = 0x0466, 4e2933c620 2015-04-21 kinaba: IMAGE_FILE_MACHINE_EBC = 0x0EBC, 4e2933c620 2015-04-21 kinaba: IMAGE_FILE_MACHINE_AMD64 = 0x8664, 4e2933c620 2015-04-21 kinaba: IMAGE_FILE_MACHINE_M32R = 0x9041 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: // ??? 4e2933c620 2015-04-21 kinaba: enum { 4e2933c620 2015-04-21 kinaba: IMAGE_DOS_SIGNATURE = 0x5A4D, 4e2933c620 2015-04-21 kinaba: IMAGE_OS2_SIGNATURE = 0x454E, 4e2933c620 2015-04-21 kinaba: IMAGE_OS2_SIGNATURE_LE = 0x454C, 4e2933c620 2015-04-21 kinaba: IMAGE_VXD_SIGNATURE = 0x454C, 4e2933c620 2015-04-21 kinaba: IMAGE_NT_SIGNATURE = 0x4550 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: // IMAGE_OPTIONAL_HEADER.Magic 4e2933c620 2015-04-21 kinaba: enum : WORD { 4e2933c620 2015-04-21 kinaba: IMAGE_NT_OPTIONAL_HDR32_MAGIC = 0x010B, 4e2933c620 2015-04-21 kinaba: IMAGE_ROM_OPTIONAL_HDR_MAGIC = 0x0107, 4e2933c620 2015-04-21 kinaba: IMAGE_NT_OPTIONAL_HDR64_MAGIC = 0x020B 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: // IMAGE_OPTIONAL_HEADER.Subsystem 4e2933c620 2015-04-21 kinaba: enum : WORD { 4e2933c620 2015-04-21 kinaba: IMAGE_SUBSYSTEM_UNKNOWN = 0, 4e2933c620 2015-04-21 kinaba: IMAGE_SUBSYSTEM_NATIVE, 4e2933c620 2015-04-21 kinaba: IMAGE_SUBSYSTEM_WINDOWS_GUI, 4e2933c620 2015-04-21 kinaba: IMAGE_SUBSYSTEM_WINDOWS_CUI, // = 3 4e2933c620 2015-04-21 kinaba: IMAGE_SUBSYSTEM_OS2_CUI = 5, 4e2933c620 2015-04-21 kinaba: IMAGE_SUBSYSTEM_POSIX_CUI = 7, 4e2933c620 2015-04-21 kinaba: IMAGE_SUBSYSTEM_NATIVE_WINDOWS, 4e2933c620 2015-04-21 kinaba: IMAGE_SUBSYSTEM_WINDOWS_CE_GUI, 4e2933c620 2015-04-21 kinaba: IMAGE_SUBSYSTEM_EFI_APPLICATION, 4e2933c620 2015-04-21 kinaba: IMAGE_SUBSYSTEM_EFI_BOOT_SERVICE_DRIVER, 4e2933c620 2015-04-21 kinaba: IMAGE_SUBSYSTEM_EFI_RUNTIME_DRIVER, 4e2933c620 2015-04-21 kinaba: IMAGE_SUBSYSTEM_EFI_ROM, 4e2933c620 2015-04-21 kinaba: IMAGE_SUBSYSTEM_XBOX, // = 14 4e2933c620 2015-04-21 kinaba: IMAGE_SUBSYSTEM_WINDOWS_BOOT_APPLICATION = 16 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: // IMAGE_OPTIONAL_HEADER.DllCharacteristics 4e2933c620 2015-04-21 kinaba: const WORD 4e2933c620 2015-04-21 kinaba: IMAGE_DLL_CHARACTERISTICS_DYNAMIC_BASE = 0x0040, 4e2933c620 2015-04-21 kinaba: IMAGE_DLL_CHARACTERISTICS_FORCE_INTEGRITY = 0x0080, 4e2933c620 2015-04-21 kinaba: IMAGE_DLL_CHARACTERISTICS_NX_COMPAT = 0x0100, 4e2933c620 2015-04-21 kinaba: IMAGE_DLLCHARACTERISTICS_NO_ISOLATION = 0x0200, 4e2933c620 2015-04-21 kinaba: IMAGE_DLLCHARACTERISTICS_NO_SEH = 0x0400, 4e2933c620 2015-04-21 kinaba: IMAGE_DLLCHARACTERISTICS_NO_BIND = 0x0800, 4e2933c620 2015-04-21 kinaba: IMAGE_DLLCHARACTERISTICS_WDM_DRIVER = 0x2000, 4e2933c620 2015-04-21 kinaba: IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE = 0x8000; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: // ??? 4e2933c620 2015-04-21 kinaba: const IMAGE_SEPARATE_DEBUG_SIGNATURE = 0x4944; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: const size_t 4e2933c620 2015-04-21 kinaba: IMAGE_NUMBEROF_DIRECTORY_ENTRIES = 16, 4e2933c620 2015-04-21 kinaba: IMAGE_SIZEOF_ROM_OPTIONAL_HEADER = 56, 4e2933c620 2015-04-21 kinaba: IMAGE_SIZEOF_STD_OPTIONAL_HEADER = 28, 4e2933c620 2015-04-21 kinaba: IMAGE_SIZEOF_NT_OPTIONAL_HEADER = 224, 4e2933c620 2015-04-21 kinaba: IMAGE_SIZEOF_SHORT_NAME = 8, 4e2933c620 2015-04-21 kinaba: IMAGE_SIZEOF_SECTION_HEADER = 40, 4e2933c620 2015-04-21 kinaba: IMAGE_SIZEOF_SYMBOL = 18, 4e2933c620 2015-04-21 kinaba: IMAGE_SIZEOF_AUX_SYMBOL = 18, 4e2933c620 2015-04-21 kinaba: IMAGE_SIZEOF_RELOCATION = 10, 4e2933c620 2015-04-21 kinaba: IMAGE_SIZEOF_BASE_RELOCATION = 8, 4e2933c620 2015-04-21 kinaba: IMAGE_SIZEOF_LINENUMBER = 6, 4e2933c620 2015-04-21 kinaba: IMAGE_SIZEOF_ARCHIVE_MEMBER_HDR = 60, 4e2933c620 2015-04-21 kinaba: SIZEOF_RFPO_DATA = 16; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: PIMAGE_SECTION_HEADER IMAGE_FIRST_SECTION(PIMAGE_NT_HEADERS h) { 4e2933c620 2015-04-21 kinaba: return cast(PIMAGE_SECTION_HEADER) 4e2933c620 2015-04-21 kinaba: (&h.OptionalHeader + h.FileHeader.SizeOfOptionalHeader); 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: // ImageDirectoryEntryToDataEx() 4e2933c620 2015-04-21 kinaba: enum : USHORT { 4e2933c620 2015-04-21 kinaba: IMAGE_DIRECTORY_ENTRY_EXPORT = 0, 4e2933c620 2015-04-21 kinaba: IMAGE_DIRECTORY_ENTRY_IMPORT, 4e2933c620 2015-04-21 kinaba: IMAGE_DIRECTORY_ENTRY_RESOURCE, 4e2933c620 2015-04-21 kinaba: IMAGE_DIRECTORY_ENTRY_EXCEPTION, 4e2933c620 2015-04-21 kinaba: IMAGE_DIRECTORY_ENTRY_SECURITY, 4e2933c620 2015-04-21 kinaba: IMAGE_DIRECTORY_ENTRY_BASERELOC, 4e2933c620 2015-04-21 kinaba: IMAGE_DIRECTORY_ENTRY_DEBUG, 4e2933c620 2015-04-21 kinaba: IMAGE_DIRECTORY_ENTRY_COPYRIGHT, // = 7 4e2933c620 2015-04-21 kinaba: IMAGE_DIRECTORY_ENTRY_ARCHITECTURE = 7, 4e2933c620 2015-04-21 kinaba: IMAGE_DIRECTORY_ENTRY_GLOBALPTR, 4e2933c620 2015-04-21 kinaba: IMAGE_DIRECTORY_ENTRY_TLS, 4e2933c620 2015-04-21 kinaba: IMAGE_DIRECTORY_ENTRY_LOAD_CONFIG, 4e2933c620 2015-04-21 kinaba: IMAGE_DIRECTORY_ENTRY_BOUND_IMPORT, 4e2933c620 2015-04-21 kinaba: IMAGE_DIRECTORY_ENTRY_IAT, 4e2933c620 2015-04-21 kinaba: IMAGE_DIRECTORY_ENTRY_DELAY_IMPORT, 4e2933c620 2015-04-21 kinaba: IMAGE_DIRECTORY_ENTRY_COM_DESCRIPTOR, // = 14 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: // IMAGE_SECTION_HEADER.Characteristics 4e2933c620 2015-04-21 kinaba: const DWORD 4e2933c620 2015-04-21 kinaba: IMAGE_SCN_TYPE_REG = 0x00000000, 4e2933c620 2015-04-21 kinaba: IMAGE_SCN_TYPE_DSECT = 0x00000001, 4e2933c620 2015-04-21 kinaba: IMAGE_SCN_TYPE_NOLOAD = 0x00000002, 4e2933c620 2015-04-21 kinaba: IMAGE_SCN_TYPE_GROUP = 0x00000004, 4e2933c620 2015-04-21 kinaba: IMAGE_SCN_TYPE_NO_PAD = 0x00000008, 4e2933c620 2015-04-21 kinaba: IMAGE_SCN_TYPE_COPY = 0x00000010, 4e2933c620 2015-04-21 kinaba: IMAGE_SCN_CNT_CODE = 0x00000020, 4e2933c620 2015-04-21 kinaba: IMAGE_SCN_CNT_INITIALIZED_DATA = 0x00000040, 4e2933c620 2015-04-21 kinaba: IMAGE_SCN_CNT_UNINITIALIZED_DATA = 0x00000080, 4e2933c620 2015-04-21 kinaba: IMAGE_SCN_LNK_OTHER = 0x00000100, 4e2933c620 2015-04-21 kinaba: IMAGE_SCN_LNK_INFO = 0x00000200, 4e2933c620 2015-04-21 kinaba: IMAGE_SCN_TYPE_OVER = 0x00000400, 4e2933c620 2015-04-21 kinaba: IMAGE_SCN_LNK_REMOVE = 0x00000800, 4e2933c620 2015-04-21 kinaba: IMAGE_SCN_LNK_COMDAT = 0x00001000, 4e2933c620 2015-04-21 kinaba: IMAGE_SCN_MEM_FARDATA = 0x00008000, 4e2933c620 2015-04-21 kinaba: IMAGE_SCN_GPREL = 0x00008000, 4e2933c620 2015-04-21 kinaba: IMAGE_SCN_MEM_PURGEABLE = 0x00020000, 4e2933c620 2015-04-21 kinaba: IMAGE_SCN_MEM_16BIT = 0x00020000, 4e2933c620 2015-04-21 kinaba: IMAGE_SCN_MEM_LOCKED = 0x00040000, 4e2933c620 2015-04-21 kinaba: IMAGE_SCN_MEM_PRELOAD = 0x00080000, 4e2933c620 2015-04-21 kinaba: IMAGE_SCN_ALIGN_1BYTES = 0x00100000, 4e2933c620 2015-04-21 kinaba: IMAGE_SCN_ALIGN_2BYTES = 0x00200000, 4e2933c620 2015-04-21 kinaba: IMAGE_SCN_ALIGN_4BYTES = 0x00300000, 4e2933c620 2015-04-21 kinaba: IMAGE_SCN_ALIGN_8BYTES = 0x00400000, 4e2933c620 2015-04-21 kinaba: IMAGE_SCN_ALIGN_16BYTES = 0x00500000, 4e2933c620 2015-04-21 kinaba: IMAGE_SCN_ALIGN_32BYTES = 0x00600000, 4e2933c620 2015-04-21 kinaba: IMAGE_SCN_ALIGN_64BYTES = 0x00700000, 4e2933c620 2015-04-21 kinaba: IMAGE_SCN_ALIGN_128BYTES = 0x00800000, 4e2933c620 2015-04-21 kinaba: IMAGE_SCN_ALIGN_256BYTES = 0x00900000, 4e2933c620 2015-04-21 kinaba: IMAGE_SCN_ALIGN_512BYTES = 0x00A00000, 4e2933c620 2015-04-21 kinaba: IMAGE_SCN_ALIGN_1024BYTES = 0x00B00000, 4e2933c620 2015-04-21 kinaba: IMAGE_SCN_ALIGN_2048BYTES = 0x00C00000, 4e2933c620 2015-04-21 kinaba: IMAGE_SCN_ALIGN_4096BYTES = 0x00D00000, 4e2933c620 2015-04-21 kinaba: IMAGE_SCN_ALIGN_8192BYTES = 0x00E00000, 4e2933c620 2015-04-21 kinaba: IMAGE_SCN_LNK_NRELOC_OVFL = 0x01000000, 4e2933c620 2015-04-21 kinaba: IMAGE_SCN_MEM_DISCARDABLE = 0x02000000, 4e2933c620 2015-04-21 kinaba: IMAGE_SCN_MEM_NOT_CACHED = 0x04000000, 4e2933c620 2015-04-21 kinaba: IMAGE_SCN_MEM_NOT_PAGED = 0x08000000, 4e2933c620 2015-04-21 kinaba: IMAGE_SCN_MEM_SHARED = 0x10000000, 4e2933c620 2015-04-21 kinaba: IMAGE_SCN_MEM_EXECUTE = 0x20000000, 4e2933c620 2015-04-21 kinaba: IMAGE_SCN_MEM_READ = 0x40000000, 4e2933c620 2015-04-21 kinaba: IMAGE_SCN_MEM_WRITE = 0x80000000; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: /* The following constants are mostlydocumented at 4e2933c620 2015-04-21 kinaba: * http://download.microsoft.com/download/1/6/1/161ba512-40e2-4cc9-843a-923143f3456c/pecoff.doc 4e2933c620 2015-04-21 kinaba: * but don't seem to be defined in the HTML docs. 4e2933c620 2015-04-21 kinaba: */ 4e2933c620 2015-04-21 kinaba: enum : SHORT { 4e2933c620 2015-04-21 kinaba: IMAGE_SYM_UNDEFINED = 0, 4e2933c620 2015-04-21 kinaba: IMAGE_SYM_ABSOLUTE = -1, 4e2933c620 2015-04-21 kinaba: IMAGE_SYM_DEBUG = -2 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: enum : ubyte { 4e2933c620 2015-04-21 kinaba: IMAGE_SYM_TYPE_NULL, 4e2933c620 2015-04-21 kinaba: IMAGE_SYM_TYPE_VOID, 4e2933c620 2015-04-21 kinaba: IMAGE_SYM_TYPE_CHAR, 4e2933c620 2015-04-21 kinaba: IMAGE_SYM_TYPE_SHORT, 4e2933c620 2015-04-21 kinaba: IMAGE_SYM_TYPE_INT, 4e2933c620 2015-04-21 kinaba: IMAGE_SYM_TYPE_LONG, 4e2933c620 2015-04-21 kinaba: IMAGE_SYM_TYPE_FLOAT, 4e2933c620 2015-04-21 kinaba: IMAGE_SYM_TYPE_DOUBLE, 4e2933c620 2015-04-21 kinaba: IMAGE_SYM_TYPE_STRUCT, 4e2933c620 2015-04-21 kinaba: IMAGE_SYM_TYPE_UNION, 4e2933c620 2015-04-21 kinaba: IMAGE_SYM_TYPE_ENUM, 4e2933c620 2015-04-21 kinaba: IMAGE_SYM_TYPE_MOE, 4e2933c620 2015-04-21 kinaba: IMAGE_SYM_TYPE_BYTE, 4e2933c620 2015-04-21 kinaba: IMAGE_SYM_TYPE_WORD, 4e2933c620 2015-04-21 kinaba: IMAGE_SYM_TYPE_UINT, 4e2933c620 2015-04-21 kinaba: IMAGE_SYM_TYPE_DWORD // = 15 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: const IMAGE_SYM_TYPE_PCODE = 32768; // ??? 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: enum : ubyte { 4e2933c620 2015-04-21 kinaba: IMAGE_SYM_DTYPE_NULL, 4e2933c620 2015-04-21 kinaba: IMAGE_SYM_DTYPE_POINTER, 4e2933c620 2015-04-21 kinaba: IMAGE_SYM_DTYPE_FUNCTION, 4e2933c620 2015-04-21 kinaba: IMAGE_SYM_DTYPE_ARRAY 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: enum : BYTE { 4e2933c620 2015-04-21 kinaba: IMAGE_SYM_CLASS_END_OF_FUNCTION = 0xFF, 4e2933c620 2015-04-21 kinaba: IMAGE_SYM_CLASS_NULL = 0, 4e2933c620 2015-04-21 kinaba: IMAGE_SYM_CLASS_AUTOMATIC, 4e2933c620 2015-04-21 kinaba: IMAGE_SYM_CLASS_EXTERNAL, 4e2933c620 2015-04-21 kinaba: IMAGE_SYM_CLASS_STATIC, 4e2933c620 2015-04-21 kinaba: IMAGE_SYM_CLASS_REGISTER, 4e2933c620 2015-04-21 kinaba: IMAGE_SYM_CLASS_EXTERNAL_DEF, 4e2933c620 2015-04-21 kinaba: IMAGE_SYM_CLASS_LABEL, 4e2933c620 2015-04-21 kinaba: IMAGE_SYM_CLASS_UNDEFINED_LABEL, 4e2933c620 2015-04-21 kinaba: IMAGE_SYM_CLASS_MEMBER_OF_STRUCT, 4e2933c620 2015-04-21 kinaba: IMAGE_SYM_CLASS_ARGUMENT, 4e2933c620 2015-04-21 kinaba: IMAGE_SYM_CLASS_STRUCT_TAG, 4e2933c620 2015-04-21 kinaba: IMAGE_SYM_CLASS_MEMBER_OF_UNION, 4e2933c620 2015-04-21 kinaba: IMAGE_SYM_CLASS_UNION_TAG, 4e2933c620 2015-04-21 kinaba: IMAGE_SYM_CLASS_TYPE_DEFINITION, 4e2933c620 2015-04-21 kinaba: IMAGE_SYM_CLASS_UNDEFINED_STATIC, 4e2933c620 2015-04-21 kinaba: IMAGE_SYM_CLASS_ENUM_TAG, 4e2933c620 2015-04-21 kinaba: IMAGE_SYM_CLASS_MEMBER_OF_ENUM, 4e2933c620 2015-04-21 kinaba: IMAGE_SYM_CLASS_REGISTER_PARAM, 4e2933c620 2015-04-21 kinaba: IMAGE_SYM_CLASS_BIT_FIELD, // = 18 4e2933c620 2015-04-21 kinaba: IMAGE_SYM_CLASS_FAR_EXTERNAL = 68, 4e2933c620 2015-04-21 kinaba: IMAGE_SYM_CLASS_BLOCK = 100, 4e2933c620 2015-04-21 kinaba: IMAGE_SYM_CLASS_FUNCTION, 4e2933c620 2015-04-21 kinaba: IMAGE_SYM_CLASS_END_OF_STRUCT, 4e2933c620 2015-04-21 kinaba: IMAGE_SYM_CLASS_FILE, 4e2933c620 2015-04-21 kinaba: IMAGE_SYM_CLASS_SECTION, 4e2933c620 2015-04-21 kinaba: IMAGE_SYM_CLASS_WEAK_EXTERNAL,// = 105 4e2933c620 2015-04-21 kinaba: IMAGE_SYM_CLASS_CLR_TOKEN = 107 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: enum : BYTE { 4e2933c620 2015-04-21 kinaba: IMAGE_COMDAT_SELECT_NODUPLICATES = 1, 4e2933c620 2015-04-21 kinaba: IMAGE_COMDAT_SELECT_ANY, 4e2933c620 2015-04-21 kinaba: IMAGE_COMDAT_SELECT_SAME_SIZE, 4e2933c620 2015-04-21 kinaba: IMAGE_COMDAT_SELECT_EXACT_MATCH, 4e2933c620 2015-04-21 kinaba: IMAGE_COMDAT_SELECT_ASSOCIATIVE, 4e2933c620 2015-04-21 kinaba: IMAGE_COMDAT_SELECT_LARGEST, 4e2933c620 2015-04-21 kinaba: IMAGE_COMDAT_SELECT_NEWEST // = 7 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: enum : DWORD { 4e2933c620 2015-04-21 kinaba: IMAGE_WEAK_EXTERN_SEARCH_NOLIBRARY = 1, 4e2933c620 2015-04-21 kinaba: IMAGE_WEAK_EXTERN_SEARCH_LIBRARY, 4e2933c620 2015-04-21 kinaba: IMAGE_WEAK_EXTERN_SEARCH_ALIAS 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: enum : WORD { 4e2933c620 2015-04-21 kinaba: IMAGE_REL_I386_ABSOLUTE = 0x0000, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_I386_DIR16 = 0x0001, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_I386_REL16 = 0x0002, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_I386_DIR32 = 0x0006, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_I386_DIR32NB = 0x0007, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_I386_SEG12 = 0x0009, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_I386_SECTION = 0x000A, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_I386_SECREL = 0x000B, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_I386_TOKEN = 0x000C, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_I386_SECREL7 = 0x000D, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_I386_REL32 = 0x0014 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: enum : WORD { 4e2933c620 2015-04-21 kinaba: IMAGE_REL_AMD64_ABSOLUTE = 0x0000, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_AMD64_ADDR64 = 0x0001, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_AMD64_ADDR32 = 0x0002, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_AMD64_ADDR32NB = 0x0003, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_AMD64_REL32 = 0x0004, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_AMD64_REL32_1 = 0x0005, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_AMD64_REL32_2 = 0x0006, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_AMD64_REL32_3 = 0x0007, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_AMD64_REL32_4 = 0x0008, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_AMD64_REL32_5 = 0x0009, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_AMD64_SECTION = 0x000A, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_AMD64_SECREL = 0x000B, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_AMD64_SECREL7 = 0x000C, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_AMD64_TOKEN = 0x000D, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_AMD64_SREL32 = 0x000E, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_AMD64_PAIR = 0x000F, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_AMD64_SSPAN32 = 0x0010 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: enum : WORD { 4e2933c620 2015-04-21 kinaba: IMAGE_REL_IA64_ABSOLUTE = 0x0000, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_IA64_IMM14 = 0x0001, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_IA64_IMM22 = 0x0002, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_IA64_IMM64 = 0x0003, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_IA64_DIR32 = 0x0004, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_IA64_DIR64 = 0x0005, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_IA64_PCREL21B = 0x0006, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_IA64_PCREL21M = 0x0007, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_IA64_PCREL21F = 0x0008, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_IA64_GPREL22 = 0x0009, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_IA64_LTOFF22 = 0x000A, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_IA64_SECTION = 0x000B, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_IA64_SECREL22 = 0x000C, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_IA64_SECREL64I = 0x000D, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_IA64_SECREL32 = 0x000E, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_IA64_DIR32NB = 0x0010, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_IA64_SREL14 = 0x0011, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_IA64_SREL22 = 0x0012, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_IA64_SREL32 = 0x0013, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_IA64_UREL32 = 0x0014, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_IA64_PCREL60X = 0x0015, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_IA64_PCREL60B = 0x0016, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_IA64_PCREL60F = 0x0017, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_IA64_PCREL60I = 0x0018, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_IA64_PCREL60M = 0x0019, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_IA64_IMMGPREL64 = 0x001A, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_IA64_TOKEN = 0x001B, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_IA64_GPREL32 = 0x001C, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_IA64_ADDEND = 0x001F 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: enum : WORD { 4e2933c620 2015-04-21 kinaba: IMAGE_REL_SH3_ABSOLUTE = 0x0000, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_SH3_DIRECT16 = 0x0001, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_SH3_DIRECT32 = 0x0002, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_SH3_DIRECT8 = 0x0003, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_SH3_DIRECT8_WORD = 0x0004, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_SH3_DIRECT8_LONG = 0x0005, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_SH3_DIRECT4 = 0x0006, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_SH3_DIRECT4_WORD = 0x0007, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_SH3_DIRECT4_LONG = 0x0008, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_SH3_PCREL8_WORD = 0x0009, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_SH3_PCREL8_LONG = 0x000A, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_SH3_PCREL12_WORD = 0x000B, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_SH3_STARTOF_SECTION = 0x000C, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_SH3_SIZEOF_SECTION = 0x000D, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_SH3_SECTION = 0x000E, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_SH3_SECREL = 0x000F, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_SH3_DIRECT32_NB = 0x0010, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_SH3_GPREL4_LONG = 0x0011, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_SH3_TOKEN = 0x0012, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_SHM_PCRELPT = 0x0013, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_SHM_REFLO = 0x0014, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_SHM_REFHALF = 0x0015, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_SHM_RELLO = 0x0016, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_SHM_RELHALF = 0x0017, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_SHM_PAIR = 0x0018, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_SHM_NOMODE = 0x8000 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: enum : WORD { 4e2933c620 2015-04-21 kinaba: IMAGE_REL_M32R_ABSOLUTE = 0x0000, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_M32R_ADDR32 = 0x0001, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_M32R_ADDR32NB = 0x0002, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_M32R_ADDR24 = 0x0003, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_M32R_GPREL16 = 0x0004, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_M32R_PCREL24 = 0x0005, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_M32R_PCREL16 = 0x0006, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_M32R_PCREL8 = 0x0007, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_M32R_REFHALF = 0x0008, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_M32R_REFHI = 0x0009, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_M32R_REFLO = 0x000A, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_M32R_PAIR = 0x000B, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_M32R_SECTION = 0x000C, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_M32R_SECREL = 0x000D, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_M32R_TOKEN = 0x000E 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: enum : WORD { 4e2933c620 2015-04-21 kinaba: IMAGE_REL_MIPS_ABSOLUTE = 0x0000, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_MIPS_REFHALF = 0x0001, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_MIPS_REFWORD = 0x0002, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_MIPS_JMPADDR = 0x0003, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_MIPS_REFHI = 0x0004, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_MIPS_REFLO = 0x0005, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_MIPS_GPREL = 0x0006, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_MIPS_LITERAL = 0x0007, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_MIPS_SECTION = 0x000A, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_MIPS_SECREL = 0x000B, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_MIPS_SECRELLO = 0x000C, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_MIPS_SECRELHI = 0x000D, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_MIPS_JMPADDR16 = 0x0010, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_MIPS_REFWORDNB = 0x0022, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_MIPS_PAIR = 0x0025 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: enum : WORD { 4e2933c620 2015-04-21 kinaba: IMAGE_REL_ALPHA_ABSOLUTE, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_ALPHA_REFLONG, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_ALPHA_REFQUAD, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_ALPHA_GPREL32, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_ALPHA_LITERAL, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_ALPHA_LITUSE, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_ALPHA_GPDISP, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_ALPHA_BRADDR, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_ALPHA_HINT, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_ALPHA_INLINE_REFLONG, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_ALPHA_REFHI, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_ALPHA_REFLO, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_ALPHA_PAIR, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_ALPHA_MATCH, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_ALPHA_SECTION, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_ALPHA_SECREL, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_ALPHA_REFLONGNB, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_ALPHA_SECRELLO, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_ALPHA_SECRELHI // = 18 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: enum : WORD { 4e2933c620 2015-04-21 kinaba: IMAGE_REL_PPC_ABSOLUTE, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_PPC_ADDR64, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_PPC_ADDR32, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_PPC_ADDR24, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_PPC_ADDR16, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_PPC_ADDR14, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_PPC_REL24, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_PPC_REL14, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_PPC_TOCREL16, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_PPC_TOCREL14, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_PPC_ADDR32NB, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_PPC_SECREL, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_PPC_SECTION, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_PPC_IFGLUE, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_PPC_IMGLUE, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_PPC_SECREL16, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_PPC_REFHI, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_PPC_REFLO, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_PPC_PAIR // = 18 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: // ??? 4e2933c620 2015-04-21 kinaba: const IMAGE_REL_PPC_TYPEMASK = 0x00FF; 4e2933c620 2015-04-21 kinaba: const IMAGE_REL_PPC_NEG = 0x0100; 4e2933c620 2015-04-21 kinaba: const IMAGE_REL_PPC_BRTAKEN = 0x0200; 4e2933c620 2015-04-21 kinaba: const IMAGE_REL_PPC_BRNTAKEN = 0x0400; 4e2933c620 2015-04-21 kinaba: const IMAGE_REL_PPC_TOCDEFN = 0x0800; 4e2933c620 2015-04-21 kinaba: c2b7a98c21 2011-02-23 kinaba: enum { 4e2933c620 2015-04-21 kinaba: IMAGE_REL_BASED_ABSOLUTE, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_BASED_HIGH, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_BASED_LOW, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_BASED_HIGHLOW, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_BASED_HIGHADJ, 4e2933c620 2015-04-21 kinaba: IMAGE_REL_BASED_MIPS_JMPADDR 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: // End of constants documented in pecoff.doc 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: const size_t IMAGE_ARCHIVE_START_SIZE = 8; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: const TCHAR[] 4e2933c620 2015-04-21 kinaba: IMAGE_ARCHIVE_START = "!<arch>\n", 4e2933c620 2015-04-21 kinaba: IMAGE_ARCHIVE_END = "`\n", 4e2933c620 2015-04-21 kinaba: IMAGE_ARCHIVE_PAD = "\n", 4e2933c620 2015-04-21 kinaba: IMAGE_ARCHIVE_LINKER_MEMBER = "/ ", 4e2933c620 2015-04-21 kinaba: IMAGE_ARCHIVE_LONGNAMES_MEMBER = "// "; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: const IMAGE_ORDINAL_FLAG32 = 0x80000000; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: ulong IMAGE_ORDINAL64(ulong Ordinal) { return Ordinal & 0xFFFF; } 4e2933c620 2015-04-21 kinaba: uint IMAGE_ORDINAL32(uint Ordinal) { return Ordinal & 0xFFFF; } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: bool IMAGE_SNAP_BY_ORDINAL32(uint Ordinal) { 4e2933c620 2015-04-21 kinaba: return (Ordinal & IMAGE_ORDINAL_FLAG32) != 0; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: const ulong IMAGE_ORDINAL_FLAG64 = 0x8000000000000000; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: bool IMAGE_SNAP_BY_ORDINAL64(ulong Ordinal) { 4e2933c620 2015-04-21 kinaba: return (Ordinal & IMAGE_ORDINAL_FLAG64) != 0; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: // ??? 4e2933c620 2015-04-21 kinaba: const IMAGE_RESOURCE_NAME_IS_STRING = 0x80000000; 4e2933c620 2015-04-21 kinaba: const IMAGE_RESOURCE_DATA_IS_DIRECTORY = 0x80000000; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: enum : DWORD { 4e2933c620 2015-04-21 kinaba: IMAGE_DEBUG_TYPE_UNKNOWN, 4e2933c620 2015-04-21 kinaba: IMAGE_DEBUG_TYPE_COFF, 4e2933c620 2015-04-21 kinaba: IMAGE_DEBUG_TYPE_CODEVIEW, 4e2933c620 2015-04-21 kinaba: IMAGE_DEBUG_TYPE_FPO, 4e2933c620 2015-04-21 kinaba: IMAGE_DEBUG_TYPE_MISC, 4e2933c620 2015-04-21 kinaba: IMAGE_DEBUG_TYPE_EXCEPTION, 4e2933c620 2015-04-21 kinaba: IMAGE_DEBUG_TYPE_FIXUP, 4e2933c620 2015-04-21 kinaba: IMAGE_DEBUG_TYPE_OMAP_TO_SRC, 4e2933c620 2015-04-21 kinaba: IMAGE_DEBUG_TYPE_OMAP_FROM_SRC, 4e2933c620 2015-04-21 kinaba: IMAGE_DEBUG_TYPE_BORLAND // = 9 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: enum : ubyte { 4e2933c620 2015-04-21 kinaba: FRAME_FPO, 4e2933c620 2015-04-21 kinaba: FRAME_TRAP, 4e2933c620 2015-04-21 kinaba: FRAME_TSS, 4e2933c620 2015-04-21 kinaba: FRAME_NONFPO 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: // ??? 4e2933c620 2015-04-21 kinaba: const IMAGE_DEBUG_MISC_EXENAME = 1; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: // ??? 4e2933c620 2015-04-21 kinaba: const N_BTMASK = 0x000F; 4e2933c620 2015-04-21 kinaba: const N_TMASK = 0x0030; 4e2933c620 2015-04-21 kinaba: const N_TMASK1 = 0x00C0; 4e2933c620 2015-04-21 kinaba: const N_TMASK2 = 0x00F0; 4e2933c620 2015-04-21 kinaba: const N_BTSHFT = 4; 4e2933c620 2015-04-21 kinaba: const N_TSHIFT = 2; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: const int 4e2933c620 2015-04-21 kinaba: IS_TEXT_UNICODE_ASCII16 = 0x0001, 4e2933c620 2015-04-21 kinaba: IS_TEXT_UNICODE_STATISTICS = 0x0002, 4e2933c620 2015-04-21 kinaba: IS_TEXT_UNICODE_CONTROLS = 0x0004, 4e2933c620 2015-04-21 kinaba: IS_TEXT_UNICODE_SIGNATURE = 0x0008, 4e2933c620 2015-04-21 kinaba: IS_TEXT_UNICODE_REVERSE_ASCII16 = 0x0010, 4e2933c620 2015-04-21 kinaba: IS_TEXT_UNICODE_REVERSE_STATISTICS = 0x0020, 4e2933c620 2015-04-21 kinaba: IS_TEXT_UNICODE_REVERSE_CONTROLS = 0x0040, 4e2933c620 2015-04-21 kinaba: IS_TEXT_UNICODE_REVERSE_SIGNATURE = 0x0080, 4e2933c620 2015-04-21 kinaba: IS_TEXT_UNICODE_ILLEGAL_CHARS = 0x0100, 4e2933c620 2015-04-21 kinaba: IS_TEXT_UNICODE_ODD_LENGTH = 0x0200, 4e2933c620 2015-04-21 kinaba: IS_TEXT_UNICODE_NULL_BYTES = 0x1000, 4e2933c620 2015-04-21 kinaba: IS_TEXT_UNICODE_UNICODE_MASK = 0x000F, 4e2933c620 2015-04-21 kinaba: IS_TEXT_UNICODE_REVERSE_MASK = 0x00F0, 4e2933c620 2015-04-21 kinaba: IS_TEXT_UNICODE_NOT_UNICODE_MASK = 0x0F00, 4e2933c620 2015-04-21 kinaba: IS_TEXT_UNICODE_NOT_ASCII_MASK = 0xF000; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: const DWORD 4e2933c620 2015-04-21 kinaba: SERVICE_KERNEL_DRIVER = 0x0001, 4e2933c620 2015-04-21 kinaba: SERVICE_FILE_SYSTEM_DRIVER = 0x0002, 4e2933c620 2015-04-21 kinaba: SERVICE_ADAPTER = 0x0004, 4e2933c620 2015-04-21 kinaba: SERVICE_RECOGNIZER_DRIVER = 0x0008, 4e2933c620 2015-04-21 kinaba: SERVICE_WIN32_OWN_PROCESS = 0x0010, 4e2933c620 2015-04-21 kinaba: SERVICE_WIN32_SHARE_PROCESS = 0x0020, 4e2933c620 2015-04-21 kinaba: SERVICE_INTERACTIVE_PROCESS = 0x0100, 4e2933c620 2015-04-21 kinaba: SERVICE_DRIVER = 0x000B, 4e2933c620 2015-04-21 kinaba: SERVICE_WIN32 = 0x0030, 4e2933c620 2015-04-21 kinaba: SERVICE_TYPE_ALL = 0x013F; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: enum : DWORD { 4e2933c620 2015-04-21 kinaba: SERVICE_BOOT_START = 0, 4e2933c620 2015-04-21 kinaba: SERVICE_SYSTEM_START = 1, 4e2933c620 2015-04-21 kinaba: SERVICE_AUTO_START = 2, 4e2933c620 2015-04-21 kinaba: SERVICE_DEMAND_START = 3, 4e2933c620 2015-04-21 kinaba: SERVICE_DISABLED = 4 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: enum : DWORD { 4e2933c620 2015-04-21 kinaba: SERVICE_ERROR_IGNORE = 0, 4e2933c620 2015-04-21 kinaba: SERVICE_ERROR_NORMAL = 1, 4e2933c620 2015-04-21 kinaba: SERVICE_ERROR_SEVERE = 2, 4e2933c620 2015-04-21 kinaba: SERVICE_ERROR_CRITICAL = 3 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: const uint 4e2933c620 2015-04-21 kinaba: SE_OWNER_DEFAULTED = 0x0001, 4e2933c620 2015-04-21 kinaba: SE_GROUP_DEFAULTED = 0x0002, 4e2933c620 2015-04-21 kinaba: SE_DACL_PRESENT = 0x0004, 4e2933c620 2015-04-21 kinaba: SE_DACL_DEFAULTED = 0x0008, 4e2933c620 2015-04-21 kinaba: SE_SACL_PRESENT = 0x0010, 4e2933c620 2015-04-21 kinaba: SE_SACL_DEFAULTED = 0x0020, 4e2933c620 2015-04-21 kinaba: SE_DACL_AUTO_INHERIT_REQ = 0x0100, 4e2933c620 2015-04-21 kinaba: SE_SACL_AUTO_INHERIT_REQ = 0x0200, 4e2933c620 2015-04-21 kinaba: SE_DACL_AUTO_INHERITED = 0x0400, 4e2933c620 2015-04-21 kinaba: SE_SACL_AUTO_INHERITED = 0x0800, 4e2933c620 2015-04-21 kinaba: SE_DACL_PROTECTED = 0x1000, 4e2933c620 2015-04-21 kinaba: SE_SACL_PROTECTED = 0x2000, 4e2933c620 2015-04-21 kinaba: SE_SELF_RELATIVE = 0x8000; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: enum SECURITY_IMPERSONATION_LEVEL { 4e2933c620 2015-04-21 kinaba: SecurityAnonymous, 4e2933c620 2015-04-21 kinaba: SecurityIdentification, 4e2933c620 2015-04-21 kinaba: SecurityImpersonation, 4e2933c620 2015-04-21 kinaba: SecurityDelegation 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias SECURITY_IMPERSONATION_LEVEL* PSECURITY_IMPERSONATION_LEVEL; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: alias BOOLEAN SECURITY_CONTEXT_TRACKING_MODE; 4e2933c620 2015-04-21 kinaba: alias BOOLEAN* PSECURITY_CONTEXT_TRACKING_MODE; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: const size_t SECURITY_DESCRIPTOR_MIN_LENGTH = 20; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: const DWORD 4e2933c620 2015-04-21 kinaba: SECURITY_DESCRIPTOR_REVISION = 1, 4e2933c620 2015-04-21 kinaba: SECURITY_DESCRIPTOR_REVISION1 = 1; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: const DWORD 4e2933c620 2015-04-21 kinaba: SE_PRIVILEGE_ENABLED_BY_DEFAULT = 0x00000001, 4e2933c620 2015-04-21 kinaba: SE_PRIVILEGE_ENABLED = 0x00000002, 4e2933c620 2015-04-21 kinaba: SE_PRIVILEGE_USED_FOR_ACCESS = 0x80000000; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: const DWORD PRIVILEGE_SET_ALL_NECESSARY = 1; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: const SECURITY_IMPERSONATION_LEVEL 4e2933c620 2015-04-21 kinaba: SECURITY_MAX_IMPERSONATION_LEVEL = SECURITY_IMPERSONATION_LEVEL.SecurityDelegation, 4e2933c620 2015-04-21 kinaba: DEFAULT_IMPERSONATION_LEVEL = SECURITY_IMPERSONATION_LEVEL.SecurityImpersonation; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: const BOOLEAN 4e2933c620 2015-04-21 kinaba: SECURITY_DYNAMIC_TRACKING = true, 4e2933c620 2015-04-21 kinaba: SECURITY_STATIC_TRACKING = false; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: // also in ddk/ntifs.h 4e2933c620 2015-04-21 kinaba: const DWORD 4e2933c620 2015-04-21 kinaba: TOKEN_ASSIGN_PRIMARY = 0x0001, 4e2933c620 2015-04-21 kinaba: TOKEN_DUPLICATE = 0x0002, 4e2933c620 2015-04-21 kinaba: TOKEN_IMPERSONATE = 0x0004, 4e2933c620 2015-04-21 kinaba: TOKEN_QUERY = 0x0008, 4e2933c620 2015-04-21 kinaba: TOKEN_QUERY_SOURCE = 0x0010, 4e2933c620 2015-04-21 kinaba: TOKEN_ADJUST_PRIVILEGES = 0x0020, 4e2933c620 2015-04-21 kinaba: TOKEN_ADJUST_GROUPS = 0x0040, 4e2933c620 2015-04-21 kinaba: TOKEN_ADJUST_DEFAULT = 0x0080, 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: TOKEN_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED 4e2933c620 2015-04-21 kinaba: | TOKEN_ASSIGN_PRIMARY 4e2933c620 2015-04-21 kinaba: | TOKEN_DUPLICATE 4e2933c620 2015-04-21 kinaba: | TOKEN_IMPERSONATE 4e2933c620 2015-04-21 kinaba: | TOKEN_QUERY 4e2933c620 2015-04-21 kinaba: | TOKEN_QUERY_SOURCE 4e2933c620 2015-04-21 kinaba: | TOKEN_ADJUST_PRIVILEGES 4e2933c620 2015-04-21 kinaba: | TOKEN_ADJUST_GROUPS 4e2933c620 2015-04-21 kinaba: | TOKEN_ADJUST_DEFAULT, 4e2933c620 2015-04-21 kinaba: TOKEN_READ = STANDARD_RIGHTS_READ | TOKEN_QUERY, 4e2933c620 2015-04-21 kinaba: TOKEN_WRITE = STANDARD_RIGHTS_WRITE 4e2933c620 2015-04-21 kinaba: | TOKEN_ADJUST_PRIVILEGES 4e2933c620 2015-04-21 kinaba: | TOKEN_ADJUST_GROUPS 4e2933c620 2015-04-21 kinaba: | TOKEN_ADJUST_DEFAULT, 4e2933c620 2015-04-21 kinaba: TOKEN_EXECUTE = STANDARD_RIGHTS_EXECUTE; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: const size_t TOKEN_SOURCE_LENGTH = 8; 4e2933c620 2015-04-21 kinaba: // end ddk/ntifs.h 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: enum : DWORD { 4e2933c620 2015-04-21 kinaba: DLL_PROCESS_DETACH, 4e2933c620 2015-04-21 kinaba: DLL_PROCESS_ATTACH, 4e2933c620 2015-04-21 kinaba: DLL_THREAD_ATTACH, 4e2933c620 2015-04-21 kinaba: DLL_THREAD_DETACH 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: enum : DWORD { 4e2933c620 2015-04-21 kinaba: DBG_CONTINUE = 0x00010002, 4e2933c620 2015-04-21 kinaba: DBG_TERMINATE_THREAD = 0x40010003, 4e2933c620 2015-04-21 kinaba: DBG_TERMINATE_PROCESS = 0x40010004, 4e2933c620 2015-04-21 kinaba: DBG_CONTROL_C = 0x40010005, 4e2933c620 2015-04-21 kinaba: DBG_CONTROL_BREAK = 0x40010008, 4e2933c620 2015-04-21 kinaba: DBG_EXCEPTION_NOT_HANDLED = 0x80010001 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: enum : DWORD { 4e2933c620 2015-04-21 kinaba: TAPE_ABSOLUTE_POSITION, 4e2933c620 2015-04-21 kinaba: TAPE_LOGICAL_POSITION, 4e2933c620 2015-04-21 kinaba: TAPE_PSEUDO_LOGICAL_POSITION 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: enum : DWORD { 4e2933c620 2015-04-21 kinaba: TAPE_REWIND, 4e2933c620 2015-04-21 kinaba: TAPE_ABSOLUTE_BLOCK, 4e2933c620 2015-04-21 kinaba: TAPE_LOGICAL_BLOCK, 4e2933c620 2015-04-21 kinaba: TAPE_PSEUDO_LOGICAL_BLOCK, 4e2933c620 2015-04-21 kinaba: TAPE_SPACE_END_OF_DATA, 4e2933c620 2015-04-21 kinaba: TAPE_SPACE_RELATIVE_BLOCKS, 4e2933c620 2015-04-21 kinaba: TAPE_SPACE_FILEMARKS, 4e2933c620 2015-04-21 kinaba: TAPE_SPACE_SEQUENTIAL_FMKS, 4e2933c620 2015-04-21 kinaba: TAPE_SPACE_SETMARKS, 4e2933c620 2015-04-21 kinaba: TAPE_SPACE_SEQUENTIAL_SMKS 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: const DWORD 4e2933c620 2015-04-21 kinaba: TAPE_DRIVE_FIXED = 0x00000001, 4e2933c620 2015-04-21 kinaba: TAPE_DRIVE_SELECT = 0x00000002, 4e2933c620 2015-04-21 kinaba: TAPE_DRIVE_INITIATOR = 0x00000004, 4e2933c620 2015-04-21 kinaba: TAPE_DRIVE_ERASE_SHORT = 0x00000010, 4e2933c620 2015-04-21 kinaba: TAPE_DRIVE_ERASE_LONG = 0x00000020, 4e2933c620 2015-04-21 kinaba: TAPE_DRIVE_ERASE_BOP_ONLY = 0x00000040, 4e2933c620 2015-04-21 kinaba: TAPE_DRIVE_ERASE_IMMEDIATE = 0x00000080, 4e2933c620 2015-04-21 kinaba: TAPE_DRIVE_TAPE_CAPACITY = 0x00000100, 4e2933c620 2015-04-21 kinaba: TAPE_DRIVE_TAPE_REMAINING = 0x00000200, 4e2933c620 2015-04-21 kinaba: TAPE_DRIVE_FIXED_BLOCK = 0x00000400, 4e2933c620 2015-04-21 kinaba: TAPE_DRIVE_VARIABLE_BLOCK = 0x00000800, 4e2933c620 2015-04-21 kinaba: TAPE_DRIVE_WRITE_PROTECT = 0x00001000, 4e2933c620 2015-04-21 kinaba: TAPE_DRIVE_EOT_WZ_SIZE = 0x00002000, 4e2933c620 2015-04-21 kinaba: TAPE_DRIVE_ECC = 0x00010000, 4e2933c620 2015-04-21 kinaba: TAPE_DRIVE_COMPRESSION = 0x00020000, 4e2933c620 2015-04-21 kinaba: TAPE_DRIVE_PADDING = 0x00040000, 4e2933c620 2015-04-21 kinaba: TAPE_DRIVE_REPORT_SMKS = 0x00080000, 4e2933c620 2015-04-21 kinaba: TAPE_DRIVE_GET_ABSOLUTE_BLK = 0x00100000, 4e2933c620 2015-04-21 kinaba: TAPE_DRIVE_GET_LOGICAL_BLK = 0x00200000, 4e2933c620 2015-04-21 kinaba: TAPE_DRIVE_SET_EOT_WZ_SIZE = 0x00400000, 4e2933c620 2015-04-21 kinaba: TAPE_DRIVE_EJECT_MEDIA = 0x01000000, 4e2933c620 2015-04-21 kinaba: TAPE_DRIVE_CLEAN_REQUESTS = 0x02000000, 4e2933c620 2015-04-21 kinaba: TAPE_DRIVE_SET_CMP_BOP_ONLY = 0x04000000, 4e2933c620 2015-04-21 kinaba: TAPE_DRIVE_RESERVED_BIT = 0x80000000; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: const DWORD 4e2933c620 2015-04-21 kinaba: TAPE_DRIVE_LOAD_UNLOAD = 0x80000001, 4e2933c620 2015-04-21 kinaba: TAPE_DRIVE_TENSION = 0x80000002, 4e2933c620 2015-04-21 kinaba: TAPE_DRIVE_LOCK_UNLOCK = 0x80000004, 4e2933c620 2015-04-21 kinaba: TAPE_DRIVE_REWIND_IMMEDIATE = 0x80000008, 4e2933c620 2015-04-21 kinaba: TAPE_DRIVE_SET_BLOCK_SIZE = 0x80000010, 4e2933c620 2015-04-21 kinaba: TAPE_DRIVE_LOAD_UNLD_IMMED = 0x80000020, 4e2933c620 2015-04-21 kinaba: TAPE_DRIVE_TENSION_IMMED = 0x80000040, 4e2933c620 2015-04-21 kinaba: TAPE_DRIVE_LOCK_UNLK_IMMED = 0x80000080, 4e2933c620 2015-04-21 kinaba: TAPE_DRIVE_SET_ECC = 0x80000100, 4e2933c620 2015-04-21 kinaba: TAPE_DRIVE_SET_COMPRESSION = 0x80000200, 4e2933c620 2015-04-21 kinaba: TAPE_DRIVE_SET_PADDING = 0x80000400, 4e2933c620 2015-04-21 kinaba: TAPE_DRIVE_SET_REPORT_SMKS = 0x80000800, 4e2933c620 2015-04-21 kinaba: TAPE_DRIVE_ABSOLUTE_BLK = 0x80001000, 4e2933c620 2015-04-21 kinaba: TAPE_DRIVE_ABS_BLK_IMMED = 0x80002000, 4e2933c620 2015-04-21 kinaba: TAPE_DRIVE_LOGICAL_BLK = 0x80004000, 4e2933c620 2015-04-21 kinaba: TAPE_DRIVE_LOG_BLK_IMMED = 0x80008000, 4e2933c620 2015-04-21 kinaba: TAPE_DRIVE_END_OF_DATA = 0x80010000, 4e2933c620 2015-04-21 kinaba: TAPE_DRIVE_RELATIVE_BLKS = 0x80020000, 4e2933c620 2015-04-21 kinaba: TAPE_DRIVE_FILEMARKS = 0x80040000, 4e2933c620 2015-04-21 kinaba: TAPE_DRIVE_SEQUENTIAL_FMKS = 0x80080000, 4e2933c620 2015-04-21 kinaba: TAPE_DRIVE_SETMARKS = 0x80100000, 4e2933c620 2015-04-21 kinaba: TAPE_DRIVE_SEQUENTIAL_SMKS = 0x80200000, 4e2933c620 2015-04-21 kinaba: TAPE_DRIVE_REVERSE_POSITION = 0x80400000, 4e2933c620 2015-04-21 kinaba: TAPE_DRIVE_SPACE_IMMEDIATE = 0x80800000, 4e2933c620 2015-04-21 kinaba: TAPE_DRIVE_WRITE_SETMARKS = 0x81000000, 4e2933c620 2015-04-21 kinaba: TAPE_DRIVE_WRITE_FILEMARKS = 0x82000000, 4e2933c620 2015-04-21 kinaba: TAPE_DRIVE_WRITE_SHORT_FMKS = 0x84000000, 4e2933c620 2015-04-21 kinaba: TAPE_DRIVE_WRITE_LONG_FMKS = 0x88000000, 4e2933c620 2015-04-21 kinaba: TAPE_DRIVE_WRITE_MARK_IMMED = 0x90000000, 4e2933c620 2015-04-21 kinaba: TAPE_DRIVE_FORMAT = 0xA0000000, 4e2933c620 2015-04-21 kinaba: TAPE_DRIVE_FORMAT_IMMEDIATE = 0xC0000000, 4e2933c620 2015-04-21 kinaba: TAPE_DRIVE_HIGH_FEATURES = 0x80000000; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: enum : DWORD { 4e2933c620 2015-04-21 kinaba: TAPE_FIXED_PARTITIONS = 0, 4e2933c620 2015-04-21 kinaba: TAPE_SELECT_PARTITIONS = 1, 4e2933c620 2015-04-21 kinaba: TAPE_INITIATOR_PARTITIONS = 2 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: enum : DWORD { 4e2933c620 2015-04-21 kinaba: TAPE_SETMARKS, 4e2933c620 2015-04-21 kinaba: TAPE_FILEMARKS, 4e2933c620 2015-04-21 kinaba: TAPE_SHORT_FILEMARKS, 4e2933c620 2015-04-21 kinaba: TAPE_LONG_FILEMARKS 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: enum : DWORD { 4e2933c620 2015-04-21 kinaba: TAPE_ERASE_SHORT, 4e2933c620 2015-04-21 kinaba: TAPE_ERASE_LONG 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: enum : DWORD { 4e2933c620 2015-04-21 kinaba: TAPE_LOAD, 4e2933c620 2015-04-21 kinaba: TAPE_UNLOAD, 4e2933c620 2015-04-21 kinaba: TAPE_TENSION, 4e2933c620 2015-04-21 kinaba: TAPE_LOCK, 4e2933c620 2015-04-21 kinaba: TAPE_UNLOCK, 4e2933c620 2015-04-21 kinaba: TAPE_FORMAT 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: enum : ULONG32 { 4e2933c620 2015-04-21 kinaba: VER_PLATFORM_WIN32s, 4e2933c620 2015-04-21 kinaba: VER_PLATFORM_WIN32_WINDOWS, 4e2933c620 2015-04-21 kinaba: VER_PLATFORM_WIN32_NT 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: enum : UCHAR { 4e2933c620 2015-04-21 kinaba: VER_NT_WORKSTATION = 1, 4e2933c620 2015-04-21 kinaba: VER_NT_DOMAIN_CONTROLLER, 4e2933c620 2015-04-21 kinaba: VER_NT_SERVER 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: const USHORT 4e2933c620 2015-04-21 kinaba: VER_SUITE_SMALLBUSINESS = 0x0001, 4e2933c620 2015-04-21 kinaba: VER_SUITE_ENTERPRISE = 0x0002, 4e2933c620 2015-04-21 kinaba: VER_SUITE_BACKOFFICE = 0x0004, 4e2933c620 2015-04-21 kinaba: VER_SUITE_TERMINAL = 0x0010, 4e2933c620 2015-04-21 kinaba: VER_SUITE_SMALLBUSINESS_RESTRICTED = 0x0020, 4e2933c620 2015-04-21 kinaba: VER_SUITE_EMBEDDEDNT = 0x0040, 4e2933c620 2015-04-21 kinaba: VER_SUITE_DATACENTER = 0x0080, 4e2933c620 2015-04-21 kinaba: VER_SUITE_SINGLEUSERTS = 0x0100, 4e2933c620 2015-04-21 kinaba: VER_SUITE_PERSONAL = 0x0200, 4e2933c620 2015-04-21 kinaba: VER_SUITE_BLADE = 0x0400, 4e2933c620 2015-04-21 kinaba: VER_SUITE_STORAGE_SERVER = 0x2000, 4e2933c620 2015-04-21 kinaba: VER_SUITE_COMPUTE_SERVER = 0x4000; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: const ULONG 4e2933c620 2015-04-21 kinaba: WT_EXECUTEDEFAULT = 0x00000000, 4e2933c620 2015-04-21 kinaba: WT_EXECUTEINIOTHREAD = 0x00000001, 4e2933c620 2015-04-21 kinaba: WT_EXECUTEINWAITTHREAD = 0x00000004, 4e2933c620 2015-04-21 kinaba: WT_EXECUTEONLYONCE = 0x00000008, 4e2933c620 2015-04-21 kinaba: WT_EXECUTELONGFUNCTION = 0x00000010, 4e2933c620 2015-04-21 kinaba: WT_EXECUTEINTIMERTHREAD = 0x00000020, 4e2933c620 2015-04-21 kinaba: WT_EXECUTEINPERSISTENTTHREAD = 0x00000080, 4e2933c620 2015-04-21 kinaba: WT_TRANSFER_IMPERSONATION = 0x00000100; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: static if (_WIN32_WINNT_ONLY) { 4e2933c620 2015-04-21 kinaba: static if (_WIN32_WINNT >= 0x500) { 4e2933c620 2015-04-21 kinaba: const DWORD 4e2933c620 2015-04-21 kinaba: VER_MINORVERSION = 0x01, 4e2933c620 2015-04-21 kinaba: VER_MAJORVERSION = 0x02, 4e2933c620 2015-04-21 kinaba: VER_BUILDNUMBER = 0x04, 4e2933c620 2015-04-21 kinaba: VER_PLATFORMID = 0x08, 4e2933c620 2015-04-21 kinaba: VER_SERVICEPACKMINOR = 0x10, 4e2933c620 2015-04-21 kinaba: VER_SERVICEPACKMAJOR = 0x20, 4e2933c620 2015-04-21 kinaba: VER_SUITENAME = 0x40, 4e2933c620 2015-04-21 kinaba: VER_PRODUCT_TYPE = 0x80; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: enum : DWORD { 4e2933c620 2015-04-21 kinaba: VER_EQUAL = 1, 4e2933c620 2015-04-21 kinaba: VER_GREATER, 4e2933c620 2015-04-21 kinaba: VER_GREATER_EQUAL, 4e2933c620 2015-04-21 kinaba: VER_LESS, 4e2933c620 2015-04-21 kinaba: VER_LESS_EQUAL, 4e2933c620 2015-04-21 kinaba: VER_AND, 4e2933c620 2015-04-21 kinaba: VER_OR // = 7 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: static if (_WIN32_WINNT >= 0x501) { 4e2933c620 2015-04-21 kinaba: enum : ULONG { 4e2933c620 2015-04-21 kinaba: ACTIVATION_CONTEXT_SECTION_ASSEMBLY_INFORMATION = 1, 4e2933c620 2015-04-21 kinaba: ACTIVATION_CONTEXT_SECTION_DLL_REDIRECTION, 4e2933c620 2015-04-21 kinaba: ACTIVATION_CONTEXT_SECTION_WINDOW_CLASS_REDIRECTION, 4e2933c620 2015-04-21 kinaba: ACTIVATION_CONTEXT_SECTION_COM_SERVER_REDIRECTION, 4e2933c620 2015-04-21 kinaba: ACTIVATION_CONTEXT_SECTION_COM_INTERFACE_REDIRECTION, 4e2933c620 2015-04-21 kinaba: ACTIVATION_CONTEXT_SECTION_COM_TYPE_LIBRARY_REDIRECTION, 4e2933c620 2015-04-21 kinaba: ACTIVATION_CONTEXT_SECTION_COM_PROGID_REDIRECTION, // = 7 4e2933c620 2015-04-21 kinaba: ACTIVATION_CONTEXT_SECTION_CLR_SURROGATES = 9 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: // Macros 4e2933c620 2015-04-21 kinaba: BYTE BTYPE(BYTE x) { return cast(BYTE) (x & N_BTMASK); } 4e2933c620 2015-04-21 kinaba: bool ISPTR(uint x) { return (x & N_TMASK) == (IMAGE_SYM_DTYPE_POINTER << N_BTSHFT); } 4e2933c620 2015-04-21 kinaba: bool ISFCN(uint x) { return (x & N_TMASK) == (IMAGE_SYM_DTYPE_FUNCTION << N_BTSHFT); } 4e2933c620 2015-04-21 kinaba: bool ISARY(uint x) { return (x & N_TMASK) == (IMAGE_SYM_DTYPE_ARRAY << N_BTSHFT); } 4e2933c620 2015-04-21 kinaba: bool ISTAG(uint x) { 4e2933c620 2015-04-21 kinaba: return x == IMAGE_SYM_CLASS_STRUCT_TAG 4e2933c620 2015-04-21 kinaba: || x == IMAGE_SYM_CLASS_UNION_TAG 4e2933c620 2015-04-21 kinaba: || x == IMAGE_SYM_CLASS_ENUM_TAG; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: uint INCREF(uint x) { 4e2933c620 2015-04-21 kinaba: return ((x & ~N_BTMASK) << N_TSHIFT) | (IMAGE_SYM_DTYPE_POINTER << N_BTSHFT) 4e2933c620 2015-04-21 kinaba: | (x & N_BTMASK); 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: uint DECREF(uint x) { return ((x >>> N_TSHIFT) & ~N_BTMASK) | (x & N_BTMASK); } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: const DWORD TLS_MINIMUM_AVAILABLE = 64; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: const ULONG 4e2933c620 2015-04-21 kinaba: IO_REPARSE_TAG_RESERVED_ZERO = 0, 4e2933c620 2015-04-21 kinaba: IO_REPARSE_TAG_RESERVED_ONE = 1, 4e2933c620 2015-04-21 kinaba: IO_REPARSE_TAG_RESERVED_RANGE = IO_REPARSE_TAG_RESERVED_ONE, 4e2933c620 2015-04-21 kinaba: IO_REPARSE_TAG_SYMBOLIC_LINK = IO_REPARSE_TAG_RESERVED_ZERO, 4e2933c620 2015-04-21 kinaba: IO_REPARSE_TAG_MOUNT_POINT = 0xA0000003, 4e2933c620 2015-04-21 kinaba: IO_REPARSE_TAG_SYMLINK = 0xA000000C, 4e2933c620 2015-04-21 kinaba: IO_REPARSE_TAG_VALID_VALUES = 0xE000FFFF; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: /* Although these are semantically boolean, they are documented and 4e2933c620 2015-04-21 kinaba: * implemented to return ULONG; this behaviour is preserved for compatibility 4e2933c620 2015-04-21 kinaba: */ 4e2933c620 2015-04-21 kinaba: ULONG IsReparseTagMicrosoft(ULONG x) { return x & 0x80000000; } 4e2933c620 2015-04-21 kinaba: ULONG IsReparseTagHighLatency(ULONG x) { return x & 0x40000000; } 4e2933c620 2015-04-21 kinaba: ULONG IsReparseTagNameSurrogate(ULONG x) { return x & 0x20000000; } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: bool IsReparseTagValid(ULONG x) { 4e2933c620 2015-04-21 kinaba: return !(x & ~IO_REPARSE_TAG_VALID_VALUES) && (x > IO_REPARSE_TAG_RESERVED_RANGE); 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: // Doesn't seem to make sense, but anyway.... 4e2933c620 2015-04-21 kinaba: ULONG WT_SET_MAX_THREADPOOL_THREADS(ref ULONG Flags, ushort Limit) { 4e2933c620 2015-04-21 kinaba: return Flags |= Limit << 16; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: import win32.basetyps; 4e2933c620 2015-04-21 kinaba: /* also in win32.basetyps 4e2933c620 2015-04-21 kinaba: struct GUID { 4e2933c620 2015-04-21 kinaba: uint Data1; 4e2933c620 2015-04-21 kinaba: ushort Data2; 4e2933c620 2015-04-21 kinaba: ushort Data3; 4e2933c620 2015-04-21 kinaba: ubyte Data4[8]; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias GUID* REFGUID, LPGUID; 4e2933c620 2015-04-21 kinaba: */ 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct GENERIC_MAPPING { 4e2933c620 2015-04-21 kinaba: ACCESS_MASK GenericRead; 4e2933c620 2015-04-21 kinaba: ACCESS_MASK GenericWrite; 4e2933c620 2015-04-21 kinaba: ACCESS_MASK GenericExecute; 4e2933c620 2015-04-21 kinaba: ACCESS_MASK GenericAll; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias GENERIC_MAPPING* PGENERIC_MAPPING; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct ACE_HEADER { 4e2933c620 2015-04-21 kinaba: BYTE AceType; 4e2933c620 2015-04-21 kinaba: BYTE AceFlags; 4e2933c620 2015-04-21 kinaba: WORD AceSize; 4e2933c620 2015-04-21 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias ACE_HEADER* PACE_HEADER; c2b7a98c21 2011-02-23 kinaba: 4e2933c620 2015-04-21 kinaba: struct ACCESS_ALLOWED_ACE { 4e2933c620 2015-04-21 kinaba: ACE_HEADER Header; 4e2933c620 2015-04-21 kinaba: ACCESS_MASK Mask; 4e2933c620 2015-04-21 kinaba: DWORD SidStart; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias ACCESS_ALLOWED_ACE* PACCESS_ALLOWED_ACE; c2b7a98c21 2011-02-23 kinaba: 4e2933c620 2015-04-21 kinaba: struct ACCESS_DENIED_ACE { 4e2933c620 2015-04-21 kinaba: ACE_HEADER Header; 4e2933c620 2015-04-21 kinaba: ACCESS_MASK Mask; 4e2933c620 2015-04-21 kinaba: DWORD SidStart; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias ACCESS_DENIED_ACE* PACCESS_DENIED_ACE; c2b7a98c21 2011-02-23 kinaba: 4e2933c620 2015-04-21 kinaba: struct SYSTEM_AUDIT_ACE { 4e2933c620 2015-04-21 kinaba: ACE_HEADER Header; 4e2933c620 2015-04-21 kinaba: ACCESS_MASK Mask; 4e2933c620 2015-04-21 kinaba: DWORD SidStart; c2b7a98c21 2011-02-23 kinaba: } 4e2933c620 2015-04-21 kinaba: alias SYSTEM_AUDIT_ACE *PSYSTEM_AUDIT_ACE; c2b7a98c21 2011-02-23 kinaba: 4e2933c620 2015-04-21 kinaba: struct SYSTEM_ALARM_ACE { 4e2933c620 2015-04-21 kinaba: ACE_HEADER Header; 4e2933c620 2015-04-21 kinaba: ACCESS_MASK Mask; 4e2933c620 2015-04-21 kinaba: DWORD SidStart; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias SYSTEM_ALARM_ACE* PSYSTEM_ALARM_ACE; c2b7a98c21 2011-02-23 kinaba: 4e2933c620 2015-04-21 kinaba: struct ACCESS_ALLOWED_OBJECT_ACE { 4e2933c620 2015-04-21 kinaba: ACE_HEADER Header; 4e2933c620 2015-04-21 kinaba: ACCESS_MASK Mask; 4e2933c620 2015-04-21 kinaba: DWORD Flags; 4e2933c620 2015-04-21 kinaba: GUID ObjectType; 4e2933c620 2015-04-21 kinaba: GUID InheritedObjectType; 4e2933c620 2015-04-21 kinaba: DWORD SidStart; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias ACCESS_ALLOWED_OBJECT_ACE* PACCESS_ALLOWED_OBJECT_ACE; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct ACCESS_DENIED_OBJECT_ACE { 4e2933c620 2015-04-21 kinaba: ACE_HEADER Header; 4e2933c620 2015-04-21 kinaba: ACCESS_MASK Mask; 4e2933c620 2015-04-21 kinaba: DWORD Flags; 4e2933c620 2015-04-21 kinaba: GUID ObjectType; 4e2933c620 2015-04-21 kinaba: GUID InheritedObjectType; 4e2933c620 2015-04-21 kinaba: DWORD SidStart; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias ACCESS_DENIED_OBJECT_ACE* PACCESS_DENIED_OBJECT_ACE; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct SYSTEM_AUDIT_OBJECT_ACE { 4e2933c620 2015-04-21 kinaba: ACE_HEADER Header; 4e2933c620 2015-04-21 kinaba: ACCESS_MASK Mask; 4e2933c620 2015-04-21 kinaba: DWORD Flags; 4e2933c620 2015-04-21 kinaba: GUID ObjectType; 4e2933c620 2015-04-21 kinaba: GUID InheritedObjectType; 4e2933c620 2015-04-21 kinaba: DWORD SidStart; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias SYSTEM_AUDIT_OBJECT_ACE* PSYSTEM_AUDIT_OBJECT_ACE; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct SYSTEM_ALARM_OBJECT_ACE { 4e2933c620 2015-04-21 kinaba: ACE_HEADER Header; 4e2933c620 2015-04-21 kinaba: ACCESS_MASK Mask; 4e2933c620 2015-04-21 kinaba: DWORD Flags; 4e2933c620 2015-04-21 kinaba: GUID ObjectType; 4e2933c620 2015-04-21 kinaba: GUID InheritedObjectType; 4e2933c620 2015-04-21 kinaba: DWORD SidStart; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias SYSTEM_ALARM_OBJECT_ACE* PSYSTEM_ALARM_OBJECT_ACE; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct ACL { 4e2933c620 2015-04-21 kinaba: BYTE AclRevision; 4e2933c620 2015-04-21 kinaba: BYTE Sbz1; 4e2933c620 2015-04-21 kinaba: WORD AclSize; 4e2933c620 2015-04-21 kinaba: WORD AceCount; 4e2933c620 2015-04-21 kinaba: WORD Sbz2; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias ACL* PACL; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct ACL_REVISION_INFORMATION { 4e2933c620 2015-04-21 kinaba: DWORD AclRevision; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct ACL_SIZE_INFORMATION { 4e2933c620 2015-04-21 kinaba: DWORD AceCount; 4e2933c620 2015-04-21 kinaba: DWORD AclBytesInUse; 4e2933c620 2015-04-21 kinaba: DWORD AclBytesFree; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: version (X86) { 4e2933c620 2015-04-21 kinaba: // ??? 4e2933c620 2015-04-21 kinaba: const SIZE_OF_80387_REGISTERS = 80; 4e2933c620 2015-04-21 kinaba: const CONTEXT_i386 = 0x010000; 4e2933c620 2015-04-21 kinaba: const CONTEXT_i486 = 0x010000; 4e2933c620 2015-04-21 kinaba: const CONTEXT_CONTROL = CONTEXT_i386 | 0x01; 4e2933c620 2015-04-21 kinaba: const CONTEXT_INTEGER = CONTEXT_i386 | 0x02; 4e2933c620 2015-04-21 kinaba: const CONTEXT_SEGMENTS = CONTEXT_i386 | 0x04; 4e2933c620 2015-04-21 kinaba: const CONTEXT_FLOATING_POINT = CONTEXT_i386 | 0x08; 4e2933c620 2015-04-21 kinaba: const CONTEXT_DEBUG_REGISTERS = CONTEXT_i386 | 0x10; 4e2933c620 2015-04-21 kinaba: const CONTEXT_EXTENDED_REGISTERS = CONTEXT_i386 | 0x20; 4e2933c620 2015-04-21 kinaba: const CONTEXT_FULL = CONTEXT_CONTROL | CONTEXT_INTEGER | CONTEXT_SEGMENTS; 4e2933c620 2015-04-21 kinaba: const MAXIMUM_SUPPORTED_EXTENSION = 512; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct FLOATING_SAVE_AREA { 4e2933c620 2015-04-21 kinaba: DWORD ControlWord; 4e2933c620 2015-04-21 kinaba: DWORD StatusWord; 4e2933c620 2015-04-21 kinaba: DWORD TagWord; 4e2933c620 2015-04-21 kinaba: DWORD ErrorOffset; 4e2933c620 2015-04-21 kinaba: DWORD ErrorSelector; 4e2933c620 2015-04-21 kinaba: DWORD DataOffset; 4e2933c620 2015-04-21 kinaba: DWORD DataSelector; 4e2933c620 2015-04-21 kinaba: BYTE[80] RegisterArea; 4e2933c620 2015-04-21 kinaba: DWORD Cr0NpxState; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct CONTEXT { 4e2933c620 2015-04-21 kinaba: DWORD ContextFlags; 4e2933c620 2015-04-21 kinaba: DWORD Dr0; 4e2933c620 2015-04-21 kinaba: DWORD Dr1; 4e2933c620 2015-04-21 kinaba: DWORD Dr2; 4e2933c620 2015-04-21 kinaba: DWORD Dr3; 4e2933c620 2015-04-21 kinaba: DWORD Dr6; 4e2933c620 2015-04-21 kinaba: DWORD Dr7; 4e2933c620 2015-04-21 kinaba: FLOATING_SAVE_AREA FloatSave; 4e2933c620 2015-04-21 kinaba: DWORD SegGs; 4e2933c620 2015-04-21 kinaba: DWORD SegFs; 4e2933c620 2015-04-21 kinaba: DWORD SegEs; 4e2933c620 2015-04-21 kinaba: DWORD SegDs; 4e2933c620 2015-04-21 kinaba: DWORD Edi; 4e2933c620 2015-04-21 kinaba: DWORD Esi; 4e2933c620 2015-04-21 kinaba: DWORD Ebx; 4e2933c620 2015-04-21 kinaba: DWORD Edx; 4e2933c620 2015-04-21 kinaba: DWORD Ecx; 4e2933c620 2015-04-21 kinaba: DWORD Eax; 4e2933c620 2015-04-21 kinaba: DWORD Ebp; 4e2933c620 2015-04-21 kinaba: DWORD Eip; 4e2933c620 2015-04-21 kinaba: DWORD SegCs; 4e2933c620 2015-04-21 kinaba: DWORD EFlags; 4e2933c620 2015-04-21 kinaba: DWORD Esp; 4e2933c620 2015-04-21 kinaba: DWORD SegSs; 4e2933c620 2015-04-21 kinaba: BYTE[MAXIMUM_SUPPORTED_EXTENSION] ExtendedRegisters; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: } else { 4e2933c620 2015-04-21 kinaba: static assert(false, "Unsupported CPU"); 4e2933c620 2015-04-21 kinaba: // Versions for PowerPC, Alpha, SHX, and MIPS removed. 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: alias CONTEXT* PCONTEXT, LPCONTEXT; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct EXCEPTION_RECORD { 4e2933c620 2015-04-21 kinaba: DWORD ExceptionCode; 4e2933c620 2015-04-21 kinaba: DWORD ExceptionFlags; 4e2933c620 2015-04-21 kinaba: EXCEPTION_RECORD* ExceptionRecord; 4e2933c620 2015-04-21 kinaba: PVOID ExceptionAddress; 4e2933c620 2015-04-21 kinaba: DWORD NumberParameters; 4e2933c620 2015-04-21 kinaba: DWORD[EXCEPTION_MAXIMUM_PARAMETERS] ExceptionInformation; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias EXCEPTION_RECORD* PEXCEPTION_RECORD, LPEXCEPTION_RECORD; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct EXCEPTION_POINTERS { 4e2933c620 2015-04-21 kinaba: PEXCEPTION_RECORD ExceptionRecord; 4e2933c620 2015-04-21 kinaba: PCONTEXT ContextRecord; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias EXCEPTION_POINTERS* PEXCEPTION_POINTERS, LPEXCEPTION_POINTERS; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: union LARGE_INTEGER { 4e2933c620 2015-04-21 kinaba: struct { 4e2933c620 2015-04-21 kinaba: uint LowPart; 4e2933c620 2015-04-21 kinaba: int HighPart; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: long QuadPart; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias LARGE_INTEGER* PLARGE_INTEGER; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: union ULARGE_INTEGER { 4e2933c620 2015-04-21 kinaba: struct { 4e2933c620 2015-04-21 kinaba: uint LowPart; 4e2933c620 2015-04-21 kinaba: uint HighPart; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: ulong QuadPart; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias ULARGE_INTEGER* PULARGE_INTEGER; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: alias LARGE_INTEGER LUID; 4e2933c620 2015-04-21 kinaba: alias LUID* PLUID; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: const LUID SYSTEM_LUID = { QuadPart:999 }; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: align(4) struct LUID_AND_ATTRIBUTES { 4e2933c620 2015-04-21 kinaba: LUID Luid; 4e2933c620 2015-04-21 kinaba: DWORD Attributes; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias LUID_AND_ATTRIBUTES* PLUID_AND_ATTRIBUTES; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct PRIVILEGE_SET { 4e2933c620 2015-04-21 kinaba: DWORD PrivilegeCount; 4e2933c620 2015-04-21 kinaba: DWORD Control; 4e2933c620 2015-04-21 kinaba: LUID_AND_ATTRIBUTES _Privilege; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: LUID_AND_ATTRIBUTES* Privilege() { return &_Privilege; } 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias PRIVILEGE_SET* PPRIVILEGE_SET; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct SECURITY_ATTRIBUTES { 4e2933c620 2015-04-21 kinaba: DWORD nLength; 4e2933c620 2015-04-21 kinaba: LPVOID lpSecurityDescriptor; 4e2933c620 2015-04-21 kinaba: BOOL bInheritHandle; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias SECURITY_ATTRIBUTES* PSECURITY_ATTRIBUTES, LPSECURITY_ATTRIBUTES; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct SECURITY_QUALITY_OF_SERVICE { 4e2933c620 2015-04-21 kinaba: DWORD Length; 4e2933c620 2015-04-21 kinaba: SECURITY_IMPERSONATION_LEVEL ImpersonationLevel; 4e2933c620 2015-04-21 kinaba: SECURITY_CONTEXT_TRACKING_MODE ContextTrackingMode; 4e2933c620 2015-04-21 kinaba: BOOLEAN EffectiveOnly; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias SECURITY_QUALITY_OF_SERVICE* PSECURITY_QUALITY_OF_SERVICE; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: alias PVOID PACCESS_TOKEN; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct SE_IMPERSONATION_STATE { 4e2933c620 2015-04-21 kinaba: PACCESS_TOKEN Token; 4e2933c620 2015-04-21 kinaba: BOOLEAN CopyOnOpen; 4e2933c620 2015-04-21 kinaba: BOOLEAN EffectiveOnly; 4e2933c620 2015-04-21 kinaba: SECURITY_IMPERSONATION_LEVEL Level; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias SE_IMPERSONATION_STATE* PSE_IMPERSONATION_STATE; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct SID_IDENTIFIER_AUTHORITY { 4e2933c620 2015-04-21 kinaba: BYTE[6] Value; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias SID_IDENTIFIER_AUTHORITY* PSID_IDENTIFIER_AUTHORITY, LPSID_IDENTIFIER_AUTHORITY; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: alias PVOID PSID; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct SID { 4e2933c620 2015-04-21 kinaba: BYTE Revision; 4e2933c620 2015-04-21 kinaba: BYTE SubAuthorityCount; 4e2933c620 2015-04-21 kinaba: SID_IDENTIFIER_AUTHORITY IdentifierAuthority; 4e2933c620 2015-04-21 kinaba: DWORD _SubAuthority; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: DWORD* SubAuthority() { return &_SubAuthority; } 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias SID* PISID; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct SID_AND_ATTRIBUTES { 4e2933c620 2015-04-21 kinaba: PSID Sid; 4e2933c620 2015-04-21 kinaba: DWORD Attributes; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias SID_AND_ATTRIBUTES* PSID_AND_ATTRIBUTES; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct TOKEN_SOURCE { 4e2933c620 2015-04-21 kinaba: CHAR[TOKEN_SOURCE_LENGTH] SourceName; 4e2933c620 2015-04-21 kinaba: LUID SourceIdentifier; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias TOKEN_SOURCE* PTOKEN_SOURCE; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct TOKEN_CONTROL { 4e2933c620 2015-04-21 kinaba: LUID TokenId; 4e2933c620 2015-04-21 kinaba: LUID AuthenticationId; 4e2933c620 2015-04-21 kinaba: LUID ModifiedId; 4e2933c620 2015-04-21 kinaba: TOKEN_SOURCE TokenSource; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias TOKEN_CONTROL* PTOKEN_CONTROL; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct TOKEN_DEFAULT_DACL { 4e2933c620 2015-04-21 kinaba: PACL DefaultDacl; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias TOKEN_DEFAULT_DACL* PTOKEN_DEFAULT_DACL; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct TOKEN_GROUPS { 4e2933c620 2015-04-21 kinaba: DWORD GroupCount; 4e2933c620 2015-04-21 kinaba: SID_AND_ATTRIBUTES _Groups; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: SID_AND_ATTRIBUTES* Groups() { return &_Groups; } 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias TOKEN_GROUPS* PTOKEN_GROUPS, LPTOKEN_GROUPS; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct TOKEN_OWNER { 4e2933c620 2015-04-21 kinaba: PSID Owner; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias TOKEN_OWNER* PTOKEN_OWNER; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct TOKEN_PRIMARY_GROUP { 4e2933c620 2015-04-21 kinaba: PSID PrimaryGroup; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias TOKEN_PRIMARY_GROUP* PTOKEN_PRIMARY_GROUP; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct TOKEN_PRIVILEGES { 4e2933c620 2015-04-21 kinaba: DWORD PrivilegeCount; 4e2933c620 2015-04-21 kinaba: LUID_AND_ATTRIBUTES _Privileges; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: LUID_AND_ATTRIBUTES* Privileges() { return &_Privileges; } 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias TOKEN_PRIVILEGES* PTOKEN_PRIVILEGES, LPTOKEN_PRIVILEGES; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: enum TOKEN_TYPE { 4e2933c620 2015-04-21 kinaba: TokenPrimary = 1, 4e2933c620 2015-04-21 kinaba: TokenImpersonation 4e2933c620 2015-04-21 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias TOKEN_TYPE* PTOKEN_TYPE; c2b7a98c21 2011-02-23 kinaba: 4e2933c620 2015-04-21 kinaba: struct TOKEN_STATISTICS { 4e2933c620 2015-04-21 kinaba: LUID TokenId; 4e2933c620 2015-04-21 kinaba: LUID AuthenticationId; 4e2933c620 2015-04-21 kinaba: LARGE_INTEGER ExpirationTime; 4e2933c620 2015-04-21 kinaba: TOKEN_TYPE TokenType; 4e2933c620 2015-04-21 kinaba: SECURITY_IMPERSONATION_LEVEL ImpersonationLevel; 4e2933c620 2015-04-21 kinaba: DWORD DynamicCharged; 4e2933c620 2015-04-21 kinaba: DWORD DynamicAvailable; 4e2933c620 2015-04-21 kinaba: DWORD GroupCount; 4e2933c620 2015-04-21 kinaba: DWORD PrivilegeCount; 4e2933c620 2015-04-21 kinaba: LUID ModifiedId; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias TOKEN_STATISTICS* PTOKEN_STATISTICS; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct TOKEN_USER { 4e2933c620 2015-04-21 kinaba: SID_AND_ATTRIBUTES User; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias TOKEN_USER* PTOKEN_USER; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: alias DWORD SECURITY_INFORMATION; 4e2933c620 2015-04-21 kinaba: alias SECURITY_INFORMATION* PSECURITY_INFORMATION; 4e2933c620 2015-04-21 kinaba: alias WORD SECURITY_DESCRIPTOR_CONTROL; 4e2933c620 2015-04-21 kinaba: alias SECURITY_DESCRIPTOR_CONTROL* PSECURITY_DESCRIPTOR_CONTROL; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct SECURITY_DESCRIPTOR { 4e2933c620 2015-04-21 kinaba: BYTE Revision; 4e2933c620 2015-04-21 kinaba: BYTE Sbz1; 4e2933c620 2015-04-21 kinaba: SECURITY_DESCRIPTOR_CONTROL Control; 4e2933c620 2015-04-21 kinaba: PSID Owner; 4e2933c620 2015-04-21 kinaba: PSID Group; 4e2933c620 2015-04-21 kinaba: PACL Sacl; 4e2933c620 2015-04-21 kinaba: PACL Dacl; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias SECURITY_DESCRIPTOR* PSECURITY_DESCRIPTOR, PISECURITY_DESCRIPTOR; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: enum TOKEN_INFORMATION_CLASS { 4e2933c620 2015-04-21 kinaba: TokenUser = 1, 4e2933c620 2015-04-21 kinaba: TokenGroups, 4e2933c620 2015-04-21 kinaba: TokenPrivileges, 4e2933c620 2015-04-21 kinaba: TokenOwner, 4e2933c620 2015-04-21 kinaba: TokenPrimaryGroup, 4e2933c620 2015-04-21 kinaba: TokenDefaultDacl, 4e2933c620 2015-04-21 kinaba: TokenSource, 4e2933c620 2015-04-21 kinaba: TokenType, 4e2933c620 2015-04-21 kinaba: TokenImpersonationLevel, 4e2933c620 2015-04-21 kinaba: TokenStatistics, 4e2933c620 2015-04-21 kinaba: TokenRestrictedSids, 4e2933c620 2015-04-21 kinaba: TokenSessionId, 4e2933c620 2015-04-21 kinaba: TokenGroupsAndPrivileges, 4e2933c620 2015-04-21 kinaba: TokenSessionReference, 4e2933c620 2015-04-21 kinaba: TokenSandBoxInert, 4e2933c620 2015-04-21 kinaba: TokenAuditPolicy, 4e2933c620 2015-04-21 kinaba: TokenOrigin 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: enum SID_NAME_USE { 4e2933c620 2015-04-21 kinaba: SidTypeUser = 1, 4e2933c620 2015-04-21 kinaba: SidTypeGroup, 4e2933c620 2015-04-21 kinaba: SidTypeDomain, 4e2933c620 2015-04-21 kinaba: SidTypeAlias, 4e2933c620 2015-04-21 kinaba: SidTypeWellKnownGroup, 4e2933c620 2015-04-21 kinaba: SidTypeDeletedAccount, 4e2933c620 2015-04-21 kinaba: SidTypeInvalid, 4e2933c620 2015-04-21 kinaba: SidTypeUnknown, 4e2933c620 2015-04-21 kinaba: SidTypeComputer 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias SID_NAME_USE* PSID_NAME_USE; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct QUOTA_LIMITS { 4e2933c620 2015-04-21 kinaba: SIZE_T PagedPoolLimit; 4e2933c620 2015-04-21 kinaba: SIZE_T NonPagedPoolLimit; 4e2933c620 2015-04-21 kinaba: SIZE_T MinimumWorkingSetSize; 4e2933c620 2015-04-21 kinaba: SIZE_T MaximumWorkingSetSize; 4e2933c620 2015-04-21 kinaba: SIZE_T PagefileLimit; 4e2933c620 2015-04-21 kinaba: LARGE_INTEGER TimeLimit; 4e2933c620 2015-04-21 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias QUOTA_LIMITS* PQUOTA_LIMITS; c2b7a98c21 2011-02-23 kinaba: 4e2933c620 2015-04-21 kinaba: struct IO_COUNTERS { 4e2933c620 2015-04-21 kinaba: ULONGLONG ReadOperationCount; 4e2933c620 2015-04-21 kinaba: ULONGLONG WriteOperationCount; 4e2933c620 2015-04-21 kinaba: ULONGLONG OtherOperationCount; 4e2933c620 2015-04-21 kinaba: ULONGLONG ReadTransferCount; 4e2933c620 2015-04-21 kinaba: ULONGLONG WriteTransferCount; 4e2933c620 2015-04-21 kinaba: ULONGLONG OtherTransferCount; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias IO_COUNTERS* PIO_COUNTERS; c2b7a98c21 2011-02-23 kinaba: 4e2933c620 2015-04-21 kinaba: struct FILE_NOTIFY_INFORMATION { 4e2933c620 2015-04-21 kinaba: DWORD NextEntryOffset; 4e2933c620 2015-04-21 kinaba: DWORD Action; 4e2933c620 2015-04-21 kinaba: DWORD FileNameLength; 4e2933c620 2015-04-21 kinaba: WCHAR _FileName; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: WCHAR* FileName() { return &_FileName; } 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias FILE_NOTIFY_INFORMATION* PFILE_NOTIFY_INFORMATION; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct TAPE_ERASE { 4e2933c620 2015-04-21 kinaba: DWORD Type; 4e2933c620 2015-04-21 kinaba: BOOLEAN Immediate; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias TAPE_ERASE* PTAPE_ERASE; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct TAPE_GET_DRIVE_PARAMETERS { 4e2933c620 2015-04-21 kinaba: BOOLEAN ECC; 4e2933c620 2015-04-21 kinaba: BOOLEAN Compression; 4e2933c620 2015-04-21 kinaba: BOOLEAN DataPadding; 4e2933c620 2015-04-21 kinaba: BOOLEAN ReportSetmarks; 4e2933c620 2015-04-21 kinaba: DWORD DefaultBlockSize; 4e2933c620 2015-04-21 kinaba: DWORD MaximumBlockSize; 4e2933c620 2015-04-21 kinaba: DWORD MinimumBlockSize; 4e2933c620 2015-04-21 kinaba: DWORD MaximumPartitionCount; 4e2933c620 2015-04-21 kinaba: DWORD FeaturesLow; 4e2933c620 2015-04-21 kinaba: DWORD FeaturesHigh; 4e2933c620 2015-04-21 kinaba: DWORD EOTWarningZoneSize; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias TAPE_GET_DRIVE_PARAMETERS* PTAPE_GET_DRIVE_PARAMETERS; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct TAPE_GET_MEDIA_PARAMETERS { 4e2933c620 2015-04-21 kinaba: LARGE_INTEGER Capacity; 4e2933c620 2015-04-21 kinaba: LARGE_INTEGER Remaining; 4e2933c620 2015-04-21 kinaba: DWORD BlockSize; 4e2933c620 2015-04-21 kinaba: DWORD PartitionCount; 4e2933c620 2015-04-21 kinaba: BOOLEAN WriteProtected; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias TAPE_GET_MEDIA_PARAMETERS* PTAPE_GET_MEDIA_PARAMETERS; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct TAPE_GET_POSITION { 4e2933c620 2015-04-21 kinaba: ULONG Type; 4e2933c620 2015-04-21 kinaba: ULONG Partition; 4e2933c620 2015-04-21 kinaba: ULONG OffsetLow; 4e2933c620 2015-04-21 kinaba: ULONG OffsetHigh; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias TAPE_GET_POSITION* PTAPE_GET_POSITION; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct TAPE_PREPARE { 4e2933c620 2015-04-21 kinaba: DWORD Operation; 4e2933c620 2015-04-21 kinaba: BOOLEAN Immediate; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias TAPE_PREPARE* PTAPE_PREPARE; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct TAPE_SET_DRIVE_PARAMETERS { 4e2933c620 2015-04-21 kinaba: BOOLEAN ECC; 4e2933c620 2015-04-21 kinaba: BOOLEAN Compression; 4e2933c620 2015-04-21 kinaba: BOOLEAN DataPadding; 4e2933c620 2015-04-21 kinaba: BOOLEAN ReportSetmarks; 4e2933c620 2015-04-21 kinaba: ULONG EOTWarningZoneSize; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias TAPE_SET_DRIVE_PARAMETERS* PTAPE_SET_DRIVE_PARAMETERS; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct TAPE_SET_MEDIA_PARAMETERS { 4e2933c620 2015-04-21 kinaba: ULONG BlockSize; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias TAPE_SET_MEDIA_PARAMETERS* PTAPE_SET_MEDIA_PARAMETERS; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct TAPE_SET_POSITION { 4e2933c620 2015-04-21 kinaba: DWORD Method; 4e2933c620 2015-04-21 kinaba: DWORD Partition; 4e2933c620 2015-04-21 kinaba: LARGE_INTEGER Offset; 4e2933c620 2015-04-21 kinaba: BOOLEAN Immediate; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias TAPE_SET_POSITION* PTAPE_SET_POSITION; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct TAPE_WRITE_MARKS { 4e2933c620 2015-04-21 kinaba: DWORD Type; 4e2933c620 2015-04-21 kinaba: DWORD Count; 4e2933c620 2015-04-21 kinaba: BOOLEAN Immediate; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias TAPE_WRITE_MARKS* PTAPE_WRITE_MARKS; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct TAPE_CREATE_PARTITION { 4e2933c620 2015-04-21 kinaba: DWORD Method; 4e2933c620 2015-04-21 kinaba: DWORD Count; 4e2933c620 2015-04-21 kinaba: DWORD Size; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias TAPE_CREATE_PARTITION* PTAPE_CREATE_PARTITION; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct MEMORY_BASIC_INFORMATION { 4e2933c620 2015-04-21 kinaba: PVOID BaseAddress; 4e2933c620 2015-04-21 kinaba: PVOID AllocationBase; 4e2933c620 2015-04-21 kinaba: DWORD AllocationProtect; 4e2933c620 2015-04-21 kinaba: DWORD RegionSize; 4e2933c620 2015-04-21 kinaba: DWORD State; 4e2933c620 2015-04-21 kinaba: DWORD Protect; 4e2933c620 2015-04-21 kinaba: DWORD Type; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias MEMORY_BASIC_INFORMATION* PMEMORY_BASIC_INFORMATION; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct MESSAGE_RESOURCE_ENTRY { 4e2933c620 2015-04-21 kinaba: WORD Length; 4e2933c620 2015-04-21 kinaba: WORD Flags; 4e2933c620 2015-04-21 kinaba: BYTE _Text; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: BYTE* Text() { return &_Text; } 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias MESSAGE_RESOURCE_ENTRY* PMESSAGE_RESOURCE_ENTRY; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct MESSAGE_RESOURCE_BLOCK { 4e2933c620 2015-04-21 kinaba: DWORD LowId; 4e2933c620 2015-04-21 kinaba: DWORD HighId; 4e2933c620 2015-04-21 kinaba: DWORD OffsetToEntries; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias MESSAGE_RESOURCE_BLOCK* PMESSAGE_RESOURCE_BLOCK; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct MESSAGE_RESOURCE_DATA { 4e2933c620 2015-04-21 kinaba: DWORD NumberOfBlocks; 4e2933c620 2015-04-21 kinaba: MESSAGE_RESOURCE_BLOCK _Blocks; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: MESSAGE_RESOURCE_BLOCK* Blocks() { return &_Blocks; } 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias MESSAGE_RESOURCE_DATA* PMESSAGE_RESOURCE_DATA; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct LIST_ENTRY { 4e2933c620 2015-04-21 kinaba: LIST_ENTRY* Flink; 4e2933c620 2015-04-21 kinaba: LIST_ENTRY* Blink; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias LIST_ENTRY* PLIST_ENTRY; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct SINGLE_LIST_ENTRY { 4e2933c620 2015-04-21 kinaba: SINGLE_LIST_ENTRY* Next; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias SINGLE_LIST_ENTRY SLIST_ENTRY; 4e2933c620 2015-04-21 kinaba: alias SINGLE_LIST_ENTRY* PSINGLE_LIST_ENTRY, PSLIST_ENTRY; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: union SLIST_HEADER { 4e2933c620 2015-04-21 kinaba: ULONGLONG Alignment; 4e2933c620 2015-04-21 kinaba: struct { 4e2933c620 2015-04-21 kinaba: SLIST_ENTRY Next; 4e2933c620 2015-04-21 kinaba: WORD Depth; 4e2933c620 2015-04-21 kinaba: WORD Sequence; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias SLIST_HEADER* PSLIST_HEADER; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct RTL_CRITICAL_SECTION_DEBUG { 4e2933c620 2015-04-21 kinaba: WORD Type; 4e2933c620 2015-04-21 kinaba: WORD CreatorBackTraceIndex; 4e2933c620 2015-04-21 kinaba: RTL_CRITICAL_SECTION* CriticalSection; 4e2933c620 2015-04-21 kinaba: LIST_ENTRY ProcessLocksList; 4e2933c620 2015-04-21 kinaba: DWORD EntryCount; 4e2933c620 2015-04-21 kinaba: DWORD ContentionCount; 4e2933c620 2015-04-21 kinaba: DWORD[2] Spare; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias RTL_CRITICAL_SECTION_DEBUG* PRTL_CRITICAL_SECTION_DEBUG; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct RTL_CRITICAL_SECTION { 4e2933c620 2015-04-21 kinaba: PRTL_CRITICAL_SECTION_DEBUG DebugInfo; 4e2933c620 2015-04-21 kinaba: LONG LockCount; 4e2933c620 2015-04-21 kinaba: LONG RecursionCount; 4e2933c620 2015-04-21 kinaba: HANDLE OwningThread; 4e2933c620 2015-04-21 kinaba: HANDLE LockSemaphore; 4e2933c620 2015-04-21 kinaba: DWORD Reserved; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias RTL_CRITICAL_SECTION* PRTL_CRITICAL_SECTION; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct EVENTLOGRECORD { 4e2933c620 2015-04-21 kinaba: DWORD Length; 4e2933c620 2015-04-21 kinaba: DWORD Reserved; 4e2933c620 2015-04-21 kinaba: DWORD RecordNumber; 4e2933c620 2015-04-21 kinaba: DWORD TimeGenerated; 4e2933c620 2015-04-21 kinaba: DWORD TimeWritten; 4e2933c620 2015-04-21 kinaba: DWORD EventID; 4e2933c620 2015-04-21 kinaba: WORD EventType; 4e2933c620 2015-04-21 kinaba: WORD NumStrings; 4e2933c620 2015-04-21 kinaba: WORD EventCategory; 4e2933c620 2015-04-21 kinaba: WORD ReservedFlags; 4e2933c620 2015-04-21 kinaba: DWORD ClosingRecordNumber; 4e2933c620 2015-04-21 kinaba: DWORD StringOffset; 4e2933c620 2015-04-21 kinaba: DWORD UserSidLength; 4e2933c620 2015-04-21 kinaba: DWORD UserSidOffset; 4e2933c620 2015-04-21 kinaba: DWORD DataLength; 4e2933c620 2015-04-21 kinaba: DWORD DataOffset; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias EVENTLOGRECORD* PEVENTLOGRECORD; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct OSVERSIONINFOA { 4e2933c620 2015-04-21 kinaba: DWORD dwOSVersionInfoSize; 4e2933c620 2015-04-21 kinaba: DWORD dwMajorVersion; 4e2933c620 2015-04-21 kinaba: DWORD dwMinorVersion; 4e2933c620 2015-04-21 kinaba: DWORD dwBuildNumber; 4e2933c620 2015-04-21 kinaba: DWORD dwPlatformId; 4e2933c620 2015-04-21 kinaba: CHAR[128] szCSDVersion; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias OSVERSIONINFOA* POSVERSIONINFOA, LPOSVERSIONINFOA; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct OSVERSIONINFOW { 4e2933c620 2015-04-21 kinaba: DWORD dwOSVersionInfoSize; 4e2933c620 2015-04-21 kinaba: DWORD dwMajorVersion; 4e2933c620 2015-04-21 kinaba: DWORD dwMinorVersion; 4e2933c620 2015-04-21 kinaba: DWORD dwBuildNumber; 4e2933c620 2015-04-21 kinaba: DWORD dwPlatformId; 4e2933c620 2015-04-21 kinaba: WCHAR[128] szCSDVersion; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias OSVERSIONINFOW* POSVERSIONINFOW, LPOSVERSIONINFOW; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct OSVERSIONINFOEXA { 4e2933c620 2015-04-21 kinaba: DWORD dwOSVersionInfoSize; 4e2933c620 2015-04-21 kinaba: DWORD dwMajorVersion; 4e2933c620 2015-04-21 kinaba: DWORD dwMinorVersion; 4e2933c620 2015-04-21 kinaba: DWORD dwBuildNumber; 4e2933c620 2015-04-21 kinaba: DWORD dwPlatformId; 4e2933c620 2015-04-21 kinaba: CHAR[128] szCSDVersion; 4e2933c620 2015-04-21 kinaba: WORD wServicePackMajor; 4e2933c620 2015-04-21 kinaba: WORD wServicePackMinor; 4e2933c620 2015-04-21 kinaba: WORD wSuiteMask; 4e2933c620 2015-04-21 kinaba: BYTE wProductType; 4e2933c620 2015-04-21 kinaba: BYTE wReserved; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias OSVERSIONINFOEXA* POSVERSIONINFOEXA, LPOSVERSIONINFOEXA; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct OSVERSIONINFOEXW { 4e2933c620 2015-04-21 kinaba: DWORD dwOSVersionInfoSize; 4e2933c620 2015-04-21 kinaba: DWORD dwMajorVersion; 4e2933c620 2015-04-21 kinaba: DWORD dwMinorVersion; 4e2933c620 2015-04-21 kinaba: DWORD dwBuildNumber; 4e2933c620 2015-04-21 kinaba: DWORD dwPlatformId; 4e2933c620 2015-04-21 kinaba: WCHAR[128] szCSDVersion; 4e2933c620 2015-04-21 kinaba: WORD wServicePackMajor; 4e2933c620 2015-04-21 kinaba: WORD wServicePackMinor; 4e2933c620 2015-04-21 kinaba: WORD wSuiteMask; 4e2933c620 2015-04-21 kinaba: BYTE wProductType; 4e2933c620 2015-04-21 kinaba: BYTE wReserved; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias OSVERSIONINFOEXW* POSVERSIONINFOEXW, LPOSVERSIONINFOEXW; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: align(2) struct IMAGE_VXD_HEADER { 4e2933c620 2015-04-21 kinaba: WORD e32_magic; 4e2933c620 2015-04-21 kinaba: BYTE e32_border; 4e2933c620 2015-04-21 kinaba: BYTE e32_worder; 4e2933c620 2015-04-21 kinaba: DWORD e32_level; 4e2933c620 2015-04-21 kinaba: WORD e32_cpu; 4e2933c620 2015-04-21 kinaba: WORD e32_os; 4e2933c620 2015-04-21 kinaba: DWORD e32_ver; 4e2933c620 2015-04-21 kinaba: DWORD e32_mflags; 4e2933c620 2015-04-21 kinaba: DWORD e32_mpages; 4e2933c620 2015-04-21 kinaba: DWORD e32_startobj; 4e2933c620 2015-04-21 kinaba: DWORD e32_eip; 4e2933c620 2015-04-21 kinaba: DWORD e32_stackobj; 4e2933c620 2015-04-21 kinaba: DWORD e32_esp; 4e2933c620 2015-04-21 kinaba: DWORD e32_pagesize; 4e2933c620 2015-04-21 kinaba: DWORD e32_lastpagesize; 4e2933c620 2015-04-21 kinaba: DWORD e32_fixupsize; 4e2933c620 2015-04-21 kinaba: DWORD e32_fixupsum; 4e2933c620 2015-04-21 kinaba: DWORD e32_ldrsize; 4e2933c620 2015-04-21 kinaba: DWORD e32_ldrsum; 4e2933c620 2015-04-21 kinaba: DWORD e32_objtab; 4e2933c620 2015-04-21 kinaba: DWORD e32_objcnt; 4e2933c620 2015-04-21 kinaba: DWORD e32_objmap; 4e2933c620 2015-04-21 kinaba: DWORD e32_itermap; 4e2933c620 2015-04-21 kinaba: DWORD e32_rsrctab; 4e2933c620 2015-04-21 kinaba: DWORD e32_rsrccnt; 4e2933c620 2015-04-21 kinaba: DWORD e32_restab; 4e2933c620 2015-04-21 kinaba: DWORD e32_enttab; 4e2933c620 2015-04-21 kinaba: DWORD e32_dirtab; 4e2933c620 2015-04-21 kinaba: DWORD e32_dircnt; 4e2933c620 2015-04-21 kinaba: DWORD e32_fpagetab; 4e2933c620 2015-04-21 kinaba: DWORD e32_frectab; 4e2933c620 2015-04-21 kinaba: DWORD e32_impmod; 4e2933c620 2015-04-21 kinaba: DWORD e32_impmodcnt; 4e2933c620 2015-04-21 kinaba: DWORD e32_impproc; 4e2933c620 2015-04-21 kinaba: DWORD e32_pagesum; 4e2933c620 2015-04-21 kinaba: DWORD e32_datapage; 4e2933c620 2015-04-21 kinaba: DWORD e32_preload; 4e2933c620 2015-04-21 kinaba: DWORD e32_nrestab; 4e2933c620 2015-04-21 kinaba: DWORD e32_cbnrestab; 4e2933c620 2015-04-21 kinaba: DWORD e32_nressum; 4e2933c620 2015-04-21 kinaba: DWORD e32_autodata; 4e2933c620 2015-04-21 kinaba: DWORD e32_debuginfo; 4e2933c620 2015-04-21 kinaba: DWORD e32_debuglen; 4e2933c620 2015-04-21 kinaba: DWORD e32_instpreload; 4e2933c620 2015-04-21 kinaba: DWORD e32_instdemand; 4e2933c620 2015-04-21 kinaba: DWORD e32_heapsize; 4e2933c620 2015-04-21 kinaba: BYTE[12] e32_res3; 4e2933c620 2015-04-21 kinaba: DWORD e32_winresoff; 4e2933c620 2015-04-21 kinaba: DWORD e32_winreslen; 4e2933c620 2015-04-21 kinaba: WORD e32_devid; 4e2933c620 2015-04-21 kinaba: WORD e32_ddkver; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias IMAGE_VXD_HEADER* PIMAGE_VXD_HEADER; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: align(4): 4e2933c620 2015-04-21 kinaba: struct IMAGE_FILE_HEADER { 4e2933c620 2015-04-21 kinaba: WORD Machine; 4e2933c620 2015-04-21 kinaba: WORD NumberOfSections; 4e2933c620 2015-04-21 kinaba: DWORD TimeDateStamp; 4e2933c620 2015-04-21 kinaba: DWORD PointerToSymbolTable; 4e2933c620 2015-04-21 kinaba: DWORD NumberOfSymbols; 4e2933c620 2015-04-21 kinaba: WORD SizeOfOptionalHeader; 4e2933c620 2015-04-21 kinaba: WORD Characteristics; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias IMAGE_FILE_HEADER* PIMAGE_FILE_HEADER; 4e2933c620 2015-04-21 kinaba: // const IMAGE_SIZEOF_FILE_HEADER = IMAGE_FILE_HEADER.sizeof; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct IMAGE_DATA_DIRECTORY { 4e2933c620 2015-04-21 kinaba: DWORD VirtualAddress; 4e2933c620 2015-04-21 kinaba: DWORD Size; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias IMAGE_DATA_DIRECTORY* PIMAGE_DATA_DIRECTORY; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct IMAGE_OPTIONAL_HEADER32 { 4e2933c620 2015-04-21 kinaba: WORD Magic; 4e2933c620 2015-04-21 kinaba: BYTE MajorLinkerVersion; 4e2933c620 2015-04-21 kinaba: BYTE MinorLinkerVersion; 4e2933c620 2015-04-21 kinaba: DWORD SizeOfCode; 4e2933c620 2015-04-21 kinaba: DWORD SizeOfInitializedData; 4e2933c620 2015-04-21 kinaba: DWORD SizeOfUninitializedData; 4e2933c620 2015-04-21 kinaba: DWORD AddressOfEntryPoint; 4e2933c620 2015-04-21 kinaba: DWORD BaseOfCode; 4e2933c620 2015-04-21 kinaba: DWORD BaseOfData; 4e2933c620 2015-04-21 kinaba: DWORD ImageBase; 4e2933c620 2015-04-21 kinaba: DWORD SectionAlignment; 4e2933c620 2015-04-21 kinaba: DWORD FileAlignment; 4e2933c620 2015-04-21 kinaba: WORD MajorOperatingSystemVersion; 4e2933c620 2015-04-21 kinaba: WORD MinorOperatingSystemVersion; 4e2933c620 2015-04-21 kinaba: WORD MajorImageVersion; 4e2933c620 2015-04-21 kinaba: WORD MinorImageVersion; 4e2933c620 2015-04-21 kinaba: WORD MajorSubsystemVersion; 4e2933c620 2015-04-21 kinaba: WORD MinorSubsystemVersion; 4e2933c620 2015-04-21 kinaba: DWORD Win32VersionValue; 4e2933c620 2015-04-21 kinaba: DWORD SizeOfImage; 4e2933c620 2015-04-21 kinaba: DWORD SizeOfHeaders; 4e2933c620 2015-04-21 kinaba: DWORD CheckSum; 4e2933c620 2015-04-21 kinaba: WORD Subsystem; 4e2933c620 2015-04-21 kinaba: WORD DllCharacteristics; 4e2933c620 2015-04-21 kinaba: DWORD SizeOfStackReserve; 4e2933c620 2015-04-21 kinaba: DWORD SizeOfStackCommit; 4e2933c620 2015-04-21 kinaba: DWORD SizeOfHeapReserve; 4e2933c620 2015-04-21 kinaba: DWORD SizeOfHeapCommit; 4e2933c620 2015-04-21 kinaba: DWORD LoaderFlags; 4e2933c620 2015-04-21 kinaba: DWORD NumberOfRvaAndSizes; 4e2933c620 2015-04-21 kinaba: IMAGE_DATA_DIRECTORY[IMAGE_NUMBEROF_DIRECTORY_ENTRIES] DataDirectory; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias IMAGE_OPTIONAL_HEADER32* PIMAGE_OPTIONAL_HEADER32; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct IMAGE_OPTIONAL_HEADER64 { 4e2933c620 2015-04-21 kinaba: WORD Magic; 4e2933c620 2015-04-21 kinaba: BYTE MajorLinkerVersion; 4e2933c620 2015-04-21 kinaba: BYTE MinorLinkerVersion; 4e2933c620 2015-04-21 kinaba: DWORD SizeOfCode; 4e2933c620 2015-04-21 kinaba: DWORD SizeOfInitializedData; 4e2933c620 2015-04-21 kinaba: DWORD SizeOfUninitializedData; 4e2933c620 2015-04-21 kinaba: DWORD AddressOfEntryPoint; 4e2933c620 2015-04-21 kinaba: DWORD BaseOfCode; 4e2933c620 2015-04-21 kinaba: ULONGLONG ImageBase; 4e2933c620 2015-04-21 kinaba: DWORD SectionAlignment; 4e2933c620 2015-04-21 kinaba: DWORD FileAlignment; 4e2933c620 2015-04-21 kinaba: WORD MajorOperatingSystemVersion; 4e2933c620 2015-04-21 kinaba: WORD MinorOperatingSystemVersion; 4e2933c620 2015-04-21 kinaba: WORD MajorImageVersion; 4e2933c620 2015-04-21 kinaba: WORD MinorImageVersion; 4e2933c620 2015-04-21 kinaba: WORD MajorSubsystemVersion; 4e2933c620 2015-04-21 kinaba: WORD MinorSubsystemVersion; 4e2933c620 2015-04-21 kinaba: DWORD Win32VersionValue; 4e2933c620 2015-04-21 kinaba: DWORD SizeOfImage; 4e2933c620 2015-04-21 kinaba: DWORD SizeOfHeaders; 4e2933c620 2015-04-21 kinaba: DWORD CheckSum; 4e2933c620 2015-04-21 kinaba: WORD Subsystem; 4e2933c620 2015-04-21 kinaba: WORD DllCharacteristics; 4e2933c620 2015-04-21 kinaba: ULONGLONG SizeOfStackReserve; 4e2933c620 2015-04-21 kinaba: ULONGLONG SizeOfStackCommit; 4e2933c620 2015-04-21 kinaba: ULONGLONG SizeOfHeapReserve; 4e2933c620 2015-04-21 kinaba: ULONGLONG SizeOfHeapCommit; 4e2933c620 2015-04-21 kinaba: DWORD LoaderFlags; 4e2933c620 2015-04-21 kinaba: DWORD NumberOfRvaAndSizes; 4e2933c620 2015-04-21 kinaba: IMAGE_DATA_DIRECTORY[IMAGE_NUMBEROF_DIRECTORY_ENTRIES] DataDirectory; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias IMAGE_OPTIONAL_HEADER64* PIMAGE_OPTIONAL_HEADER64; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct IMAGE_ROM_OPTIONAL_HEADER { 4e2933c620 2015-04-21 kinaba: WORD Magic; 4e2933c620 2015-04-21 kinaba: BYTE MajorLinkerVersion; 4e2933c620 2015-04-21 kinaba: BYTE MinorLinkerVersion; 4e2933c620 2015-04-21 kinaba: DWORD SizeOfCode; 4e2933c620 2015-04-21 kinaba: DWORD SizeOfInitializedData; 4e2933c620 2015-04-21 kinaba: DWORD SizeOfUninitializedData; 4e2933c620 2015-04-21 kinaba: DWORD AddressOfEntryPoint; 4e2933c620 2015-04-21 kinaba: DWORD BaseOfCode; 4e2933c620 2015-04-21 kinaba: DWORD BaseOfData; 4e2933c620 2015-04-21 kinaba: DWORD BaseOfBss; 4e2933c620 2015-04-21 kinaba: DWORD GprMask; 4e2933c620 2015-04-21 kinaba: DWORD[4] CprMask; 4e2933c620 2015-04-21 kinaba: DWORD GpValue; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias IMAGE_ROM_OPTIONAL_HEADER* PIMAGE_ROM_OPTIONAL_HEADER; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: align(2): 4e2933c620 2015-04-21 kinaba: struct IMAGE_DOS_HEADER { 4e2933c620 2015-04-21 kinaba: WORD e_magic; 4e2933c620 2015-04-21 kinaba: WORD e_cblp; 4e2933c620 2015-04-21 kinaba: WORD e_cp; 4e2933c620 2015-04-21 kinaba: WORD e_crlc; 4e2933c620 2015-04-21 kinaba: WORD e_cparhdr; 4e2933c620 2015-04-21 kinaba: WORD e_minalloc; 4e2933c620 2015-04-21 kinaba: WORD e_maxalloc; 4e2933c620 2015-04-21 kinaba: WORD e_ss; 4e2933c620 2015-04-21 kinaba: WORD e_sp; 4e2933c620 2015-04-21 kinaba: WORD e_csum; 4e2933c620 2015-04-21 kinaba: WORD e_ip; 4e2933c620 2015-04-21 kinaba: WORD e_cs; 4e2933c620 2015-04-21 kinaba: WORD e_lfarlc; 4e2933c620 2015-04-21 kinaba: WORD e_ovno; 4e2933c620 2015-04-21 kinaba: WORD[4] e_res; 4e2933c620 2015-04-21 kinaba: WORD e_oemid; 4e2933c620 2015-04-21 kinaba: WORD e_oeminfo; 4e2933c620 2015-04-21 kinaba: WORD[10] e_res2; 4e2933c620 2015-04-21 kinaba: LONG e_lfanew; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias IMAGE_DOS_HEADER* PIMAGE_DOS_HEADER; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct IMAGE_OS2_HEADER { 4e2933c620 2015-04-21 kinaba: WORD ne_magic; 4e2933c620 2015-04-21 kinaba: CHAR ne_ver; 4e2933c620 2015-04-21 kinaba: CHAR ne_rev; 4e2933c620 2015-04-21 kinaba: WORD ne_enttab; 4e2933c620 2015-04-21 kinaba: WORD ne_cbenttab; 4e2933c620 2015-04-21 kinaba: LONG ne_crc; 4e2933c620 2015-04-21 kinaba: WORD ne_flags; 4e2933c620 2015-04-21 kinaba: WORD ne_autodata; 4e2933c620 2015-04-21 kinaba: WORD ne_heap; 4e2933c620 2015-04-21 kinaba: WORD ne_stack; 4e2933c620 2015-04-21 kinaba: LONG ne_csip; 4e2933c620 2015-04-21 kinaba: LONG ne_sssp; 4e2933c620 2015-04-21 kinaba: WORD ne_cseg; 4e2933c620 2015-04-21 kinaba: WORD ne_cmod; 4e2933c620 2015-04-21 kinaba: WORD ne_cbnrestab; 4e2933c620 2015-04-21 kinaba: WORD ne_segtab; 4e2933c620 2015-04-21 kinaba: WORD ne_rsrctab; 4e2933c620 2015-04-21 kinaba: WORD ne_restab; 4e2933c620 2015-04-21 kinaba: WORD ne_modtab; 4e2933c620 2015-04-21 kinaba: WORD ne_imptab; 4e2933c620 2015-04-21 kinaba: LONG ne_nrestab; 4e2933c620 2015-04-21 kinaba: WORD ne_cmovent; 4e2933c620 2015-04-21 kinaba: WORD ne_align; 4e2933c620 2015-04-21 kinaba: WORD ne_cres; 4e2933c620 2015-04-21 kinaba: BYTE ne_exetyp; 4e2933c620 2015-04-21 kinaba: BYTE ne_flagsothers; 4e2933c620 2015-04-21 kinaba: WORD ne_pretthunks; 4e2933c620 2015-04-21 kinaba: WORD ne_psegrefbytes; 4e2933c620 2015-04-21 kinaba: WORD ne_swaparea; 4e2933c620 2015-04-21 kinaba: WORD ne_expver; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias IMAGE_OS2_HEADER* PIMAGE_OS2_HEADER; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: align(4) struct IMAGE_NT_HEADERS32 { 4e2933c620 2015-04-21 kinaba: DWORD Signature; 4e2933c620 2015-04-21 kinaba: IMAGE_FILE_HEADER FileHeader; 4e2933c620 2015-04-21 kinaba: IMAGE_OPTIONAL_HEADER OptionalHeader; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias IMAGE_NT_HEADERS32* PIMAGE_NT_HEADERS32; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: align(4) struct IMAGE_NT_HEADERS64 { 4e2933c620 2015-04-21 kinaba: DWORD Signature; 4e2933c620 2015-04-21 kinaba: IMAGE_FILE_HEADER FileHeader; 4e2933c620 2015-04-21 kinaba: IMAGE_OPTIONAL_HEADER OptionalHeader; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias IMAGE_NT_HEADERS64* PIMAGE_NT_HEADERS64; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct IMAGE_ROM_HEADERS { 4e2933c620 2015-04-21 kinaba: IMAGE_FILE_HEADER FileHeader; 4e2933c620 2015-04-21 kinaba: IMAGE_ROM_OPTIONAL_HEADER OptionalHeader; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias IMAGE_ROM_HEADERS* PIMAGE_ROM_HEADERS; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct IMAGE_SECTION_HEADER { 4e2933c620 2015-04-21 kinaba: BYTE[IMAGE_SIZEOF_SHORT_NAME] Name; 4e2933c620 2015-04-21 kinaba: union _Misc { 4e2933c620 2015-04-21 kinaba: DWORD PhysicalAddress; 4e2933c620 2015-04-21 kinaba: DWORD VirtualSize; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: _Misc Misc; 4e2933c620 2015-04-21 kinaba: DWORD VirtualAddress; 4e2933c620 2015-04-21 kinaba: DWORD SizeOfRawData; 4e2933c620 2015-04-21 kinaba: DWORD PointerToRawData; 4e2933c620 2015-04-21 kinaba: DWORD PointerToRelocations; 4e2933c620 2015-04-21 kinaba: DWORD PointerToLinenumbers; 4e2933c620 2015-04-21 kinaba: WORD NumberOfRelocations; 4e2933c620 2015-04-21 kinaba: WORD NumberOfLinenumbers; 4e2933c620 2015-04-21 kinaba: DWORD Characteristics; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias IMAGE_SECTION_HEADER* PIMAGE_SECTION_HEADER; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct IMAGE_SYMBOL { 4e2933c620 2015-04-21 kinaba: union _N { 4e2933c620 2015-04-21 kinaba: BYTE[8] ShortName; 4e2933c620 2015-04-21 kinaba: struct Name { 4e2933c620 2015-04-21 kinaba: DWORD Short; 4e2933c620 2015-04-21 kinaba: DWORD Long; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: PBYTE[2] LongName; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: _N N; 4e2933c620 2015-04-21 kinaba: DWORD Value; 4e2933c620 2015-04-21 kinaba: SHORT SectionNumber; 4e2933c620 2015-04-21 kinaba: WORD Type; 4e2933c620 2015-04-21 kinaba: BYTE StorageClass; 4e2933c620 2015-04-21 kinaba: BYTE NumberOfAuxSymbols; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias IMAGE_SYMBOL* PIMAGE_SYMBOL; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: union IMAGE_AUX_SYMBOL { 4e2933c620 2015-04-21 kinaba: struct _Sym { 4e2933c620 2015-04-21 kinaba: DWORD TagIndex; 4e2933c620 2015-04-21 kinaba: union _Misc { 4e2933c620 2015-04-21 kinaba: struct _LnSz { 4e2933c620 2015-04-21 kinaba: WORD Linenumber; 4e2933c620 2015-04-21 kinaba: WORD Size; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: _LnSz LnSz; 4e2933c620 2015-04-21 kinaba: DWORD TotalSize; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: _Misc Misc; 4e2933c620 2015-04-21 kinaba: union _FcnAry { 4e2933c620 2015-04-21 kinaba: struct _Function { 4e2933c620 2015-04-21 kinaba: DWORD PointerToLinenumber; 4e2933c620 2015-04-21 kinaba: DWORD PointerToNextFunction; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: _Function Function; 4e2933c620 2015-04-21 kinaba: struct _Array { 4e2933c620 2015-04-21 kinaba: WORD[4] Dimension; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: _Array Array; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: _FcnAry FcnAry; 4e2933c620 2015-04-21 kinaba: WORD TvIndex; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: _Sym Sym; 4e2933c620 2015-04-21 kinaba: struct _File { 4e2933c620 2015-04-21 kinaba: BYTE[IMAGE_SIZEOF_SYMBOL] Name; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: _File File; 4e2933c620 2015-04-21 kinaba: struct _Section { 4e2933c620 2015-04-21 kinaba: DWORD Length; 4e2933c620 2015-04-21 kinaba: WORD NumberOfRelocations; 4e2933c620 2015-04-21 kinaba: WORD NumberOfLinenumbers; 4e2933c620 2015-04-21 kinaba: DWORD CheckSum; 4e2933c620 2015-04-21 kinaba: SHORT Number; 4e2933c620 2015-04-21 kinaba: BYTE Selection; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: _Section Section; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias IMAGE_AUX_SYMBOL* PIMAGE_AUX_SYMBOL; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct IMAGE_COFF_SYMBOLS_HEADER { 4e2933c620 2015-04-21 kinaba: DWORD NumberOfSymbols; 4e2933c620 2015-04-21 kinaba: DWORD LvaToFirstSymbol; 4e2933c620 2015-04-21 kinaba: DWORD NumberOfLinenumbers; 4e2933c620 2015-04-21 kinaba: DWORD LvaToFirstLinenumber; 4e2933c620 2015-04-21 kinaba: DWORD RvaToFirstByteOfCode; 4e2933c620 2015-04-21 kinaba: DWORD RvaToLastByteOfCode; 4e2933c620 2015-04-21 kinaba: DWORD RvaToFirstByteOfData; 4e2933c620 2015-04-21 kinaba: DWORD RvaToLastByteOfData; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias IMAGE_COFF_SYMBOLS_HEADER* PIMAGE_COFF_SYMBOLS_HEADER; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct IMAGE_RELOCATION { 4e2933c620 2015-04-21 kinaba: union { 4e2933c620 2015-04-21 kinaba: DWORD VirtualAddress; 4e2933c620 2015-04-21 kinaba: DWORD RelocCount; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: DWORD SymbolTableIndex; 4e2933c620 2015-04-21 kinaba: WORD Type; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias IMAGE_RELOCATION* PIMAGE_RELOCATION; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: align(4) struct IMAGE_BASE_RELOCATION { 4e2933c620 2015-04-21 kinaba: DWORD VirtualAddress; 4e2933c620 2015-04-21 kinaba: DWORD SizeOfBlock; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias IMAGE_BASE_RELOCATION* PIMAGE_BASE_RELOCATION; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: align(2) struct IMAGE_LINENUMBER { 4e2933c620 2015-04-21 kinaba: union _Type { 4e2933c620 2015-04-21 kinaba: DWORD SymbolTableIndex; 4e2933c620 2015-04-21 kinaba: DWORD VirtualAddress; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: _Type Type; 4e2933c620 2015-04-21 kinaba: WORD Linenumber; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias IMAGE_LINENUMBER* PIMAGE_LINENUMBER; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: align(4): 4e2933c620 2015-04-21 kinaba: struct IMAGE_ARCHIVE_MEMBER_HEADER { 4e2933c620 2015-04-21 kinaba: BYTE[16] Name; 4e2933c620 2015-04-21 kinaba: BYTE[12] Date; 4e2933c620 2015-04-21 kinaba: BYTE[6] UserID; 4e2933c620 2015-04-21 kinaba: BYTE[6] GroupID; 4e2933c620 2015-04-21 kinaba: BYTE[8] Mode; 4e2933c620 2015-04-21 kinaba: BYTE[10] Size; 4e2933c620 2015-04-21 kinaba: BYTE[2] EndHeader; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias IMAGE_ARCHIVE_MEMBER_HEADER* PIMAGE_ARCHIVE_MEMBER_HEADER; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct IMAGE_EXPORT_DIRECTORY { 4e2933c620 2015-04-21 kinaba: DWORD Characteristics; 4e2933c620 2015-04-21 kinaba: DWORD TimeDateStamp; 4e2933c620 2015-04-21 kinaba: WORD MajorVersion; 4e2933c620 2015-04-21 kinaba: WORD MinorVersion; 4e2933c620 2015-04-21 kinaba: DWORD Name; 4e2933c620 2015-04-21 kinaba: DWORD Base; 4e2933c620 2015-04-21 kinaba: DWORD NumberOfFunctions; 4e2933c620 2015-04-21 kinaba: DWORD NumberOfNames; 4e2933c620 2015-04-21 kinaba: DWORD AddressOfFunctions; 4e2933c620 2015-04-21 kinaba: DWORD AddressOfNames; 4e2933c620 2015-04-21 kinaba: DWORD AddressOfNameOrdinals; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias IMAGE_EXPORT_DIRECTORY* PIMAGE_EXPORT_DIRECTORY; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct IMAGE_IMPORT_BY_NAME { 4e2933c620 2015-04-21 kinaba: WORD Hint; 4e2933c620 2015-04-21 kinaba: BYTE _Name; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: BYTE* Name() { 4e2933c620 2015-04-21 kinaba: return &_Name; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias IMAGE_IMPORT_BY_NAME* PIMAGE_IMPORT_BY_NAME; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct IMAGE_THUNK_DATA32 { 4e2933c620 2015-04-21 kinaba: union _u1 { 4e2933c620 2015-04-21 kinaba: DWORD ForwarderString; 4e2933c620 2015-04-21 kinaba: DWORD Function; 4e2933c620 2015-04-21 kinaba: DWORD Ordinal; 4e2933c620 2015-04-21 kinaba: DWORD AddressOfData; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: _u1 u1; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias IMAGE_THUNK_DATA32* PIMAGE_THUNK_DATA32; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct IMAGE_THUNK_DATA64 { 4e2933c620 2015-04-21 kinaba: union _u1 { 4e2933c620 2015-04-21 kinaba: ULONGLONG ForwarderString; 4e2933c620 2015-04-21 kinaba: ULONGLONG Function; 4e2933c620 2015-04-21 kinaba: ULONGLONG Ordinal; 4e2933c620 2015-04-21 kinaba: ULONGLONG AddressOfData; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: _u1 u1; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias IMAGE_THUNK_DATA64* PIMAGE_THUNK_DATA64; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct IMAGE_IMPORT_DESCRIPTOR { 4e2933c620 2015-04-21 kinaba: union { 4e2933c620 2015-04-21 kinaba: DWORD Characteristics; 4e2933c620 2015-04-21 kinaba: DWORD OriginalFirstThunk; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: DWORD TimeDateStamp; 4e2933c620 2015-04-21 kinaba: DWORD ForwarderChain; 4e2933c620 2015-04-21 kinaba: DWORD Name; 4e2933c620 2015-04-21 kinaba: DWORD FirstThunk; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias IMAGE_IMPORT_DESCRIPTOR* PIMAGE_IMPORT_DESCRIPTOR; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct IMAGE_BOUND_IMPORT_DESCRIPTOR { 4e2933c620 2015-04-21 kinaba: DWORD TimeDateStamp; 4e2933c620 2015-04-21 kinaba: WORD OffsetModuleName; 4e2933c620 2015-04-21 kinaba: WORD NumberOfModuleForwarderRefs; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias IMAGE_BOUND_IMPORT_DESCRIPTOR* PIMAGE_BOUND_IMPORT_DESCRIPTOR; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct IMAGE_BOUND_FORWARDER_REF { 4e2933c620 2015-04-21 kinaba: DWORD TimeDateStamp; 4e2933c620 2015-04-21 kinaba: WORD OffsetModuleName; 4e2933c620 2015-04-21 kinaba: WORD Reserved; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias IMAGE_BOUND_FORWARDER_REF* PIMAGE_BOUND_FORWARDER_REF; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct IMAGE_TLS_DIRECTORY32 { 4e2933c620 2015-04-21 kinaba: DWORD StartAddressOfRawData; 4e2933c620 2015-04-21 kinaba: DWORD EndAddressOfRawData; 4e2933c620 2015-04-21 kinaba: DWORD AddressOfIndex; 4e2933c620 2015-04-21 kinaba: DWORD AddressOfCallBacks; 4e2933c620 2015-04-21 kinaba: DWORD SizeOfZeroFill; 4e2933c620 2015-04-21 kinaba: DWORD Characteristics; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias IMAGE_TLS_DIRECTORY32* PIMAGE_TLS_DIRECTORY32; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct IMAGE_TLS_DIRECTORY64 { 4e2933c620 2015-04-21 kinaba: ULONGLONG StartAddressOfRawData; 4e2933c620 2015-04-21 kinaba: ULONGLONG EndAddressOfRawData; 4e2933c620 2015-04-21 kinaba: ULONGLONG AddressOfIndex; 4e2933c620 2015-04-21 kinaba: ULONGLONG AddressOfCallBacks; 4e2933c620 2015-04-21 kinaba: DWORD SizeOfZeroFill; 4e2933c620 2015-04-21 kinaba: DWORD Characteristics; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias IMAGE_TLS_DIRECTORY64* PIMAGE_TLS_DIRECTORY64; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct IMAGE_RESOURCE_DIRECTORY { 4e2933c620 2015-04-21 kinaba: DWORD Characteristics; 4e2933c620 2015-04-21 kinaba: DWORD TimeDateStamp; 4e2933c620 2015-04-21 kinaba: WORD MajorVersion; 4e2933c620 2015-04-21 kinaba: WORD MinorVersion; 4e2933c620 2015-04-21 kinaba: WORD NumberOfNamedEntries; 4e2933c620 2015-04-21 kinaba: WORD NumberOfIdEntries; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias IMAGE_RESOURCE_DIRECTORY* PIMAGE_RESOURCE_DIRECTORY; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct IMAGE_RESOURCE_DIRECTORY_ENTRY { 4e2933c620 2015-04-21 kinaba: union { 4e2933c620 2015-04-21 kinaba: /+struct { 4e2933c620 2015-04-21 kinaba: DWORD NameOffset:31; 4e2933c620 2015-04-21 kinaba: DWORD NameIsString:1; 4e2933c620 2015-04-21 kinaba: }+/ 4e2933c620 2015-04-21 kinaba: DWORD Name; 4e2933c620 2015-04-21 kinaba: WORD Id; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: DWORD OffsetToData; 4e2933c620 2015-04-21 kinaba: /+struct { 4e2933c620 2015-04-21 kinaba: DWORD OffsetToDirectory:31; 4e2933c620 2015-04-21 kinaba: DWORD DataIsDirectory:1; 4e2933c620 2015-04-21 kinaba: }+/ 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: uint NameOffset() { return Name & 0x7FFFFFFF; } 4e2933c620 2015-04-21 kinaba: bool NameIsString() { return cast(bool)(Name & 0x80000000); } 4e2933c620 2015-04-21 kinaba: uint OffsetToDirectory() { return OffsetToData & 0x7FFFFFFF; } 4e2933c620 2015-04-21 kinaba: bool DataIsDirectory() { return cast(bool)(OffsetToData & 0x80000000); } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: uint NameOffset(uint n) { 4e2933c620 2015-04-21 kinaba: Name = (Name & 0x80000000) | (n & 0x7FFFFFFF); 4e2933c620 2015-04-21 kinaba: return n & 0x7FFFFFFF; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: bool NameIsString(bool n) { 4e2933c620 2015-04-21 kinaba: Name = (Name & 0x7FFFFFFF) | (n << 31); return n; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: uint OffsetToDirectory(uint o) { 4e2933c620 2015-04-21 kinaba: OffsetToData = (OffsetToData & 0x80000000) | (o & 0x7FFFFFFF); 4e2933c620 2015-04-21 kinaba: return o & 0x7FFFFFFF; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: bool DataIsDirectory(bool d) { 4e2933c620 2015-04-21 kinaba: OffsetToData = (OffsetToData & 0x7FFFFFFF) | (d << 31); return d; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias IMAGE_RESOURCE_DIRECTORY_ENTRY* PIMAGE_RESOURCE_DIRECTORY_ENTRY; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct IMAGE_RESOURCE_DIRECTORY_STRING { 4e2933c620 2015-04-21 kinaba: WORD Length; 4e2933c620 2015-04-21 kinaba: CHAR _NameString; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: CHAR* NameString() { return &_NameString; } 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias IMAGE_RESOURCE_DIRECTORY_STRING* PIMAGE_RESOURCE_DIRECTORY_STRING; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct IMAGE_RESOURCE_DIR_STRING_U { 4e2933c620 2015-04-21 kinaba: WORD Length; 4e2933c620 2015-04-21 kinaba: WCHAR _NameString; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: WCHAR* NameString() { return &_NameString; } 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias IMAGE_RESOURCE_DIR_STRING_U* PIMAGE_RESOURCE_DIR_STRING_U; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct IMAGE_RESOURCE_DATA_ENTRY { 4e2933c620 2015-04-21 kinaba: DWORD OffsetToData; 4e2933c620 2015-04-21 kinaba: DWORD Size; 4e2933c620 2015-04-21 kinaba: DWORD CodePage; 4e2933c620 2015-04-21 kinaba: DWORD Reserved; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias IMAGE_RESOURCE_DATA_ENTRY* PIMAGE_RESOURCE_DATA_ENTRY; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct IMAGE_LOAD_CONFIG_DIRECTORY { 4e2933c620 2015-04-21 kinaba: DWORD Characteristics; 4e2933c620 2015-04-21 kinaba: DWORD TimeDateStamp; 4e2933c620 2015-04-21 kinaba: WORD MajorVersion; 4e2933c620 2015-04-21 kinaba: WORD MinorVersion; 4e2933c620 2015-04-21 kinaba: DWORD GlobalFlagsClear; 4e2933c620 2015-04-21 kinaba: DWORD GlobalFlagsSet; 4e2933c620 2015-04-21 kinaba: DWORD CriticalSectionDefaultTimeout; 4e2933c620 2015-04-21 kinaba: DWORD DeCommitFreeBlockThreshold; 4e2933c620 2015-04-21 kinaba: DWORD DeCommitTotalFreeThreshold; 4e2933c620 2015-04-21 kinaba: PVOID LockPrefixTable; 4e2933c620 2015-04-21 kinaba: DWORD MaximumAllocationSize; 4e2933c620 2015-04-21 kinaba: DWORD VirtualMemoryThreshold; 4e2933c620 2015-04-21 kinaba: DWORD ProcessHeapFlags; 4e2933c620 2015-04-21 kinaba: DWORD[4] Reserved; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias IMAGE_LOAD_CONFIG_DIRECTORY* PIMAGE_LOAD_CONFIG_DIRECTORY; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct IMAGE_LOAD_CONFIG_DIRECTORY64 { 4e2933c620 2015-04-21 kinaba: DWORD Characteristics; 4e2933c620 2015-04-21 kinaba: DWORD TimeDateStamp; 4e2933c620 2015-04-21 kinaba: WORD MajorVersion; 4e2933c620 2015-04-21 kinaba: WORD MinorVersion; 4e2933c620 2015-04-21 kinaba: DWORD GlobalFlagsClear; 4e2933c620 2015-04-21 kinaba: DWORD GlobalFlagsSet; 4e2933c620 2015-04-21 kinaba: DWORD CriticalSectionDefaultTimeout; 4e2933c620 2015-04-21 kinaba: ULONGLONG DeCommitFreeBlockThreshold; 4e2933c620 2015-04-21 kinaba: ULONGLONG DeCommitTotalFreeThreshold; 4e2933c620 2015-04-21 kinaba: ULONGLONG LockPrefixTable; 4e2933c620 2015-04-21 kinaba: ULONGLONG MaximumAllocationSize; 4e2933c620 2015-04-21 kinaba: ULONGLONG VirtualMemoryThreshold; 4e2933c620 2015-04-21 kinaba: ULONGLONG ProcessAffinityMask; 4e2933c620 2015-04-21 kinaba: DWORD ProcessHeapFlags; 4e2933c620 2015-04-21 kinaba: WORD CSDFlags; 4e2933c620 2015-04-21 kinaba: WORD Reserved1; 4e2933c620 2015-04-21 kinaba: ULONGLONG EditList; 4e2933c620 2015-04-21 kinaba: DWORD[2] Reserved; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias IMAGE_LOAD_CONFIG_DIRECTORY64* PIMAGE_LOAD_CONFIG_DIRECTORY64; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct IMAGE_RUNTIME_FUNCTION_ENTRY { 4e2933c620 2015-04-21 kinaba: DWORD BeginAddress; 4e2933c620 2015-04-21 kinaba: DWORD EndAddress; 4e2933c620 2015-04-21 kinaba: PVOID ExceptionHandler; 4e2933c620 2015-04-21 kinaba: PVOID HandlerData; 4e2933c620 2015-04-21 kinaba: DWORD PrologEndAddress; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias IMAGE_RUNTIME_FUNCTION_ENTRY* PIMAGE_RUNTIME_FUNCTION_ENTRY; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct IMAGE_CE_RUNTIME_FUNCTION_ENTRY { 4e2933c620 2015-04-21 kinaba: uint FuncStart; 4e2933c620 2015-04-21 kinaba: union { 4e2933c620 2015-04-21 kinaba: ubyte PrologLen; 4e2933c620 2015-04-21 kinaba: uint _bf; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: /+ 4e2933c620 2015-04-21 kinaba: unsigned int FuncLen:22; 4e2933c620 2015-04-21 kinaba: unsigned int ThirtyTwoBit:1; 4e2933c620 2015-04-21 kinaba: unsigned int ExceptionFlag:1; 4e2933c620 2015-04-21 kinaba: +/ 4e2933c620 2015-04-21 kinaba: uint FuncLen() { return (_bf >> 8) & 0x3FFFFF; } 4e2933c620 2015-04-21 kinaba: bool ThirtyTwoBit() { return cast(bool)(_bf & 0x40000000); } 4e2933c620 2015-04-21 kinaba: bool ExceptionFlag() { return cast(bool)(_bf & 0x80000000); } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: uint FuncLen(uint f) { 4e2933c620 2015-04-21 kinaba: _bf = (_bf & ~0x3FFFFF00) | ((f & 0x3FFFFF) << 8); return f & 0x3FFFFF; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: bool ThirtyTwoBit(bool t) { 4e2933c620 2015-04-21 kinaba: _bf = (_bf & ~0x40000000) | (t << 30); return t; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: bool ExceptionFlag(bool e) { 4e2933c620 2015-04-21 kinaba: _bf = (_bf & ~0x80000000) | (e << 31); return e; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias IMAGE_CE_RUNTIME_FUNCTION_ENTRY* PIMAGE_CE_RUNTIME_FUNCTION_ENTRY; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct IMAGE_DEBUG_DIRECTORY { 4e2933c620 2015-04-21 kinaba: DWORD Characteristics; 4e2933c620 2015-04-21 kinaba: DWORD TimeDateStamp; 4e2933c620 2015-04-21 kinaba: WORD MajorVersion; 4e2933c620 2015-04-21 kinaba: WORD MinorVersion; 4e2933c620 2015-04-21 kinaba: DWORD Type; 4e2933c620 2015-04-21 kinaba: DWORD SizeOfData; 4e2933c620 2015-04-21 kinaba: DWORD AddressOfRawData; 4e2933c620 2015-04-21 kinaba: DWORD PointerToRawData; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias IMAGE_DEBUG_DIRECTORY* PIMAGE_DEBUG_DIRECTORY; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct FPO_DATA { 4e2933c620 2015-04-21 kinaba: DWORD ulOffStart; 4e2933c620 2015-04-21 kinaba: DWORD cbProcSize; 4e2933c620 2015-04-21 kinaba: DWORD cdwLocals; 4e2933c620 2015-04-21 kinaba: WORD cdwParams; 4e2933c620 2015-04-21 kinaba: ubyte cbProlog; 4e2933c620 2015-04-21 kinaba: ubyte _bf; 4e2933c620 2015-04-21 kinaba: /+ 4e2933c620 2015-04-21 kinaba: WORD cbRegs:3; 4e2933c620 2015-04-21 kinaba: WORD fHasSEH:1; 4e2933c620 2015-04-21 kinaba: WORD fUseBP:1; 4e2933c620 2015-04-21 kinaba: WORD reserved:1; 4e2933c620 2015-04-21 kinaba: WORD cbFrame:2; 4e2933c620 2015-04-21 kinaba: +/ 4e2933c620 2015-04-21 kinaba: ubyte cbRegs() { return cast(ubyte)(_bf & 0x07); } 4e2933c620 2015-04-21 kinaba: bool fHasSEH() { return cast(bool)(_bf & 0x08); } 4e2933c620 2015-04-21 kinaba: bool fUseBP() { return cast(bool)(_bf & 0x10); } 4e2933c620 2015-04-21 kinaba: bool reserved() { return cast(bool)(_bf & 0x20); } 4e2933c620 2015-04-21 kinaba: ubyte cbFrame() { return cast(ubyte)(_bf >> 6); } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: ubyte cbRegs(ubyte c) { 4e2933c620 2015-04-21 kinaba: _bf = cast(ubyte) ((_bf & ~0x07) | (c & 0x07)); 4e2933c620 2015-04-21 kinaba: return cast(ubyte)(c & 0x07); 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: bool fHasSEH(bool f) { _bf = cast(ubyte)((_bf & ~0x08) | (f << 3)); return f; } 4e2933c620 2015-04-21 kinaba: bool fUseBP(bool f) { _bf = cast(ubyte)((_bf & ~0x10) | (f << 4)); return f; } 4e2933c620 2015-04-21 kinaba: bool reserved(bool r) { _bf = cast(ubyte)((_bf & ~0x20) | (r << 5)); return r; } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: ubyte cbFrame(ubyte c) { 4e2933c620 2015-04-21 kinaba: _bf = cast(ubyte) ((_bf & ~0xC0) | ((c & 0x03) << 6)); 4e2933c620 2015-04-21 kinaba: return cast(ubyte)(c & 0x03); 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias FPO_DATA* PFPO_DATA; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct IMAGE_DEBUG_MISC { 4e2933c620 2015-04-21 kinaba: DWORD DataType; 4e2933c620 2015-04-21 kinaba: DWORD Length; 4e2933c620 2015-04-21 kinaba: BOOLEAN Unicode; 4e2933c620 2015-04-21 kinaba: BYTE[3] Reserved; 4e2933c620 2015-04-21 kinaba: BYTE _Data; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: BYTE* Data() { return &_Data; } 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias IMAGE_DEBUG_MISC* PIMAGE_DEBUG_MISC; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct IMAGE_FUNCTION_ENTRY { 4e2933c620 2015-04-21 kinaba: DWORD StartingAddress; 4e2933c620 2015-04-21 kinaba: DWORD EndingAddress; 4e2933c620 2015-04-21 kinaba: DWORD EndOfPrologue; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias IMAGE_FUNCTION_ENTRY* PIMAGE_FUNCTION_ENTRY; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct IMAGE_FUNCTION_ENTRY64 { 4e2933c620 2015-04-21 kinaba: ULONGLONG StartingAddress; 4e2933c620 2015-04-21 kinaba: ULONGLONG EndingAddress; 4e2933c620 2015-04-21 kinaba: union { 4e2933c620 2015-04-21 kinaba: ULONGLONG EndOfPrologue; 4e2933c620 2015-04-21 kinaba: ULONGLONG UnwindInfoAddress; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias IMAGE_FUNCTION_ENTRY64* PIMAGE_FUNCTION_ENTRY64; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct IMAGE_SEPARATE_DEBUG_HEADER { 4e2933c620 2015-04-21 kinaba: WORD Signature; 4e2933c620 2015-04-21 kinaba: WORD Flags; 4e2933c620 2015-04-21 kinaba: WORD Machine; 4e2933c620 2015-04-21 kinaba: WORD Characteristics; 4e2933c620 2015-04-21 kinaba: DWORD TimeDateStamp; 4e2933c620 2015-04-21 kinaba: DWORD CheckSum; 4e2933c620 2015-04-21 kinaba: DWORD ImageBase; 4e2933c620 2015-04-21 kinaba: DWORD SizeOfImage; 4e2933c620 2015-04-21 kinaba: DWORD NumberOfSections; 4e2933c620 2015-04-21 kinaba: DWORD ExportedNamesSize; 4e2933c620 2015-04-21 kinaba: DWORD DebugDirectorySize; 4e2933c620 2015-04-21 kinaba: DWORD SectionAlignment; 4e2933c620 2015-04-21 kinaba: DWORD[2] Reserved; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias IMAGE_SEPARATE_DEBUG_HEADER* PIMAGE_SEPARATE_DEBUG_HEADER; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: enum SERVICE_NODE_TYPE { 4e2933c620 2015-04-21 kinaba: DriverType = SERVICE_KERNEL_DRIVER, 4e2933c620 2015-04-21 kinaba: FileSystemType = SERVICE_FILE_SYSTEM_DRIVER, 4e2933c620 2015-04-21 kinaba: Win32ServiceOwnProcess = SERVICE_WIN32_OWN_PROCESS, 4e2933c620 2015-04-21 kinaba: Win32ServiceShareProcess = SERVICE_WIN32_SHARE_PROCESS, 4e2933c620 2015-04-21 kinaba: AdapterType = SERVICE_ADAPTER, 4e2933c620 2015-04-21 kinaba: RecognizerType = SERVICE_RECOGNIZER_DRIVER 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: enum SERVICE_LOAD_TYPE { 4e2933c620 2015-04-21 kinaba: BootLoad = SERVICE_BOOT_START, 4e2933c620 2015-04-21 kinaba: SystemLoad = SERVICE_SYSTEM_START, 4e2933c620 2015-04-21 kinaba: AutoLoad = SERVICE_AUTO_START, 4e2933c620 2015-04-21 kinaba: DemandLoad = SERVICE_DEMAND_START, 4e2933c620 2015-04-21 kinaba: DisableLoad = SERVICE_DISABLED 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: enum SERVICE_ERROR_TYPE { 4e2933c620 2015-04-21 kinaba: IgnoreError = SERVICE_ERROR_IGNORE, 4e2933c620 2015-04-21 kinaba: NormalError = SERVICE_ERROR_NORMAL, 4e2933c620 2015-04-21 kinaba: SevereError = SERVICE_ERROR_SEVERE, 4e2933c620 2015-04-21 kinaba: CriticalError = SERVICE_ERROR_CRITICAL 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias SERVICE_ERROR_TYPE _CM_ERROR_CONTROL_TYPE; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: //DAC: According to MSJ, 'UnderTheHood', May 1996, this 4e2933c620 2015-04-21 kinaba: // structure is not documented in any official Microsoft header file. 4e2933c620 2015-04-21 kinaba: alias void EXCEPTION_REGISTRATION_RECORD; 4e2933c620 2015-04-21 kinaba: c2b7a98c21 2011-02-23 kinaba: align: 4e2933c620 2015-04-21 kinaba: struct NT_TIB { 4e2933c620 2015-04-21 kinaba: EXCEPTION_REGISTRATION_RECORD *ExceptionList; 4e2933c620 2015-04-21 kinaba: PVOID StackBase; 4e2933c620 2015-04-21 kinaba: PVOID StackLimit; 4e2933c620 2015-04-21 kinaba: PVOID SubSystemTib; 4e2933c620 2015-04-21 kinaba: union { 4e2933c620 2015-04-21 kinaba: PVOID FiberData; 4e2933c620 2015-04-21 kinaba: DWORD Version; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: PVOID ArbitraryUserPointer; 4e2933c620 2015-04-21 kinaba: NT_TIB *Self; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias NT_TIB* PNT_TIB; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct REPARSE_DATA_BUFFER { 4e2933c620 2015-04-21 kinaba: DWORD ReparseTag; 4e2933c620 2015-04-21 kinaba: WORD ReparseDataLength; 4e2933c620 2015-04-21 kinaba: WORD Reserved; 4e2933c620 2015-04-21 kinaba: union { 4e2933c620 2015-04-21 kinaba: struct _GenericReparseBuffer { 4e2933c620 2015-04-21 kinaba: BYTE _DataBuffer; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: BYTE* DataBuffer() { return &_DataBuffer; } 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: _GenericReparseBuffer GenericReparseBuffer; 4e2933c620 2015-04-21 kinaba: struct _SymbolicLinkReparseBuffer { 4e2933c620 2015-04-21 kinaba: WORD SubstituteNameOffset; 4e2933c620 2015-04-21 kinaba: WORD SubstituteNameLength; 4e2933c620 2015-04-21 kinaba: WORD PrintNameOffset; 4e2933c620 2015-04-21 kinaba: WORD PrintNameLength; 4e2933c620 2015-04-21 kinaba: // ??? This is in MinGW, but absent in MSDN docs 4e2933c620 2015-04-21 kinaba: ULONG Flags; 4e2933c620 2015-04-21 kinaba: WCHAR _PathBuffer; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: WCHAR* PathBuffer() { return &_PathBuffer; } 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: _SymbolicLinkReparseBuffer SymbolicLinkReparseBuffer; 4e2933c620 2015-04-21 kinaba: struct _MountPointReparseBuffer { 4e2933c620 2015-04-21 kinaba: WORD SubstituteNameOffset; 4e2933c620 2015-04-21 kinaba: WORD SubstituteNameLength; 4e2933c620 2015-04-21 kinaba: WORD PrintNameOffset; 4e2933c620 2015-04-21 kinaba: WORD PrintNameLength; 4e2933c620 2015-04-21 kinaba: WCHAR _PathBuffer; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: WCHAR* PathBuffer() { return &_PathBuffer; } 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: _MountPointReparseBuffer MountPointReparseBuffer; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias REPARSE_DATA_BUFFER *PREPARSE_DATA_BUFFER; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct REPARSE_GUID_DATA_BUFFER { 4e2933c620 2015-04-21 kinaba: DWORD ReparseTag; 4e2933c620 2015-04-21 kinaba: WORD ReparseDataLength; 4e2933c620 2015-04-21 kinaba: WORD Reserved; 4e2933c620 2015-04-21 kinaba: GUID ReparseGuid; 4e2933c620 2015-04-21 kinaba: struct _GenericReparseBuffer { 4e2933c620 2015-04-21 kinaba: BYTE _DataBuffer; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: BYTE* DataBuffer() { return &_DataBuffer; } 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: _GenericReparseBuffer GenericReparseBuffer; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias REPARSE_GUID_DATA_BUFFER* PREPARSE_GUID_DATA_BUFFER; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: const size_t 4e2933c620 2015-04-21 kinaba: REPARSE_DATA_BUFFER_HEADER_SIZE = REPARSE_DATA_BUFFER.GenericReparseBuffer.offsetof, 4e2933c620 2015-04-21 kinaba: REPARSE_GUID_DATA_BUFFER_HEADER_SIZE = REPARSE_GUID_DATA_BUFFER.GenericReparseBuffer.offsetof, 4e2933c620 2015-04-21 kinaba: MAXIMUM_REPARSE_DATA_BUFFER_SIZE = 16384; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct REPARSE_POINT_INFORMATION { 4e2933c620 2015-04-21 kinaba: WORD ReparseDataLength; 4e2933c620 2015-04-21 kinaba: WORD UnparsedNameLength; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias REPARSE_POINT_INFORMATION* PREPARSE_POINT_INFORMATION; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: union FILE_SEGMENT_ELEMENT { 4e2933c620 2015-04-21 kinaba: PVOID64 Buffer; 4e2933c620 2015-04-21 kinaba: ULONGLONG Alignment; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias FILE_SEGMENT_ELEMENT* PFILE_SEGMENT_ELEMENT; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: // JOBOBJECT_BASIC_LIMIT_INFORMATION.LimitFlags constants 4e2933c620 2015-04-21 kinaba: const DWORD 4e2933c620 2015-04-21 kinaba: JOB_OBJECT_LIMIT_WORKINGSET = 0x0001, 4e2933c620 2015-04-21 kinaba: JOB_OBJECT_LIMIT_PROCESS_TIME = 0x0002, 4e2933c620 2015-04-21 kinaba: JOB_OBJECT_LIMIT_JOB_TIME = 0x0004, 4e2933c620 2015-04-21 kinaba: JOB_OBJECT_LIMIT_ACTIVE_PROCESS = 0x0008, 4e2933c620 2015-04-21 kinaba: JOB_OBJECT_LIMIT_AFFINITY = 0x0010, 4e2933c620 2015-04-21 kinaba: JOB_OBJECT_LIMIT_PRIORITY_CLASS = 0x0020, 4e2933c620 2015-04-21 kinaba: JOB_OBJECT_LIMIT_PRESERVE_JOB_TIME = 0x0040, 4e2933c620 2015-04-21 kinaba: JOB_OBJECT_LIMIT_SCHEDULING_CLASS = 0x0080, 4e2933c620 2015-04-21 kinaba: JOB_OBJECT_LIMIT_PROCESS_MEMORY = 0x0100, 4e2933c620 2015-04-21 kinaba: JOB_OBJECT_LIMIT_JOB_MEMORY = 0x0200, 4e2933c620 2015-04-21 kinaba: JOB_OBJECT_LIMIT_DIE_ON_UNHANDLED_EXCEPTION = 0x0400, 4e2933c620 2015-04-21 kinaba: JOB_OBJECT_BREAKAWAY_OK = 0x0800, 4e2933c620 2015-04-21 kinaba: JOB_OBJECT_SILENT_BREAKAWAY = 0x1000; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: // JOBOBJECT_BASIC_UI_RESTRICTIONS.UIRestrictionsClass constants 4e2933c620 2015-04-21 kinaba: const DWORD 4e2933c620 2015-04-21 kinaba: JOB_OBJECT_UILIMIT_HANDLES = 0x0001, 4e2933c620 2015-04-21 kinaba: JOB_OBJECT_UILIMIT_READCLIPBOARD = 0x0002, 4e2933c620 2015-04-21 kinaba: JOB_OBJECT_UILIMIT_WRITECLIPBOARD = 0x0004, 4e2933c620 2015-04-21 kinaba: JOB_OBJECT_UILIMIT_SYSTEMPARAMETERS = 0x0008, 4e2933c620 2015-04-21 kinaba: JOB_OBJECT_UILIMIT_DISPLAYSETTINGS = 0x0010, 4e2933c620 2015-04-21 kinaba: JOB_OBJECT_UILIMIT_GLOBALATOMS = 0x0020, 4e2933c620 2015-04-21 kinaba: JOB_OBJECT_UILIMIT_DESKTOP = 0x0040, 4e2933c620 2015-04-21 kinaba: JOB_OBJECT_UILIMIT_EXITWINDOWS = 0x0080; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: // JOBOBJECT_SECURITY_LIMIT_INFORMATION.SecurityLimitFlags constants 4e2933c620 2015-04-21 kinaba: const DWORD 4e2933c620 2015-04-21 kinaba: JOB_OBJECT_SECURITY_NO_ADMIN = 0x0001, 4e2933c620 2015-04-21 kinaba: JOB_OBJECT_SECURITY_RESTRICTED_TOKEN = 0x0002, 4e2933c620 2015-04-21 kinaba: JOB_OBJECT_SECURITY_ONLY_TOKEN = 0x0004, 4e2933c620 2015-04-21 kinaba: JOB_OBJECT_SECURITY_FILTER_TOKENS = 0x0008; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: // JOBOBJECT_END_OF_JOB_TIME_INFORMATION.EndOfJobTimeAction constants 4e2933c620 2015-04-21 kinaba: enum : DWORD { 4e2933c620 2015-04-21 kinaba: JOB_OBJECT_TERMINATE_AT_END_OF_JOB, 4e2933c620 2015-04-21 kinaba: JOB_OBJECT_POST_AT_END_OF_JOB 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: enum : DWORD { 4e2933c620 2015-04-21 kinaba: JOB_OBJECT_MSG_END_OF_JOB_TIME = 1, 4e2933c620 2015-04-21 kinaba: JOB_OBJECT_MSG_END_OF_PROCESS_TIME, 4e2933c620 2015-04-21 kinaba: JOB_OBJECT_MSG_ACTIVE_PROCESS_LIMIT, 4e2933c620 2015-04-21 kinaba: JOB_OBJECT_MSG_ACTIVE_PROCESS_ZERO, 4e2933c620 2015-04-21 kinaba: JOB_OBJECT_MSG_NEW_PROCESS, 4e2933c620 2015-04-21 kinaba: JOB_OBJECT_MSG_EXIT_PROCESS, 4e2933c620 2015-04-21 kinaba: JOB_OBJECT_MSG_ABNORMAL_EXIT_PROCESS, 4e2933c620 2015-04-21 kinaba: JOB_OBJECT_MSG_PROCESS_MEMORY_LIMIT, 4e2933c620 2015-04-21 kinaba: JOB_OBJECT_MSG_JOB_MEMORY_LIMIT 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: enum JOBOBJECTINFOCLASS { 4e2933c620 2015-04-21 kinaba: JobObjectBasicAccountingInformation = 1, 4e2933c620 2015-04-21 kinaba: JobObjectBasicLimitInformation, 4e2933c620 2015-04-21 kinaba: JobObjectBasicProcessIdList, 4e2933c620 2015-04-21 kinaba: JobObjectBasicUIRestrictions, 4e2933c620 2015-04-21 kinaba: JobObjectSecurityLimitInformation, 4e2933c620 2015-04-21 kinaba: JobObjectEndOfJobTimeInformation, 4e2933c620 2015-04-21 kinaba: JobObjectAssociateCompletionPortInformation, 4e2933c620 2015-04-21 kinaba: JobObjectBasicAndIoAccountingInformation, 4e2933c620 2015-04-21 kinaba: JobObjectExtendedLimitInformation, 4e2933c620 2015-04-21 kinaba: JobObjectJobSetInformation, 4e2933c620 2015-04-21 kinaba: MaxJobObjectInfoClass 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct JOBOBJECT_BASIC_ACCOUNTING_INFORMATION { 4e2933c620 2015-04-21 kinaba: LARGE_INTEGER TotalUserTime; 4e2933c620 2015-04-21 kinaba: LARGE_INTEGER TotalKernelTime; 4e2933c620 2015-04-21 kinaba: LARGE_INTEGER ThisPeriodTotalUserTime; 4e2933c620 2015-04-21 kinaba: LARGE_INTEGER ThisPeriodTotalKernelTime; 4e2933c620 2015-04-21 kinaba: DWORD TotalPageFaultCount; 4e2933c620 2015-04-21 kinaba: DWORD TotalProcesses; 4e2933c620 2015-04-21 kinaba: DWORD ActiveProcesses; 4e2933c620 2015-04-21 kinaba: DWORD TotalTerminatedProcesses; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias JOBOBJECT_BASIC_ACCOUNTING_INFORMATION* PJOBOBJECT_BASIC_ACCOUNTING_INFORMATION; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct JOBOBJECT_BASIC_LIMIT_INFORMATION { 4e2933c620 2015-04-21 kinaba: LARGE_INTEGER PerProcessUserTimeLimit; 4e2933c620 2015-04-21 kinaba: LARGE_INTEGER PerJobUserTimeLimit; 4e2933c620 2015-04-21 kinaba: DWORD LimitFlags; 4e2933c620 2015-04-21 kinaba: SIZE_T MinimumWorkingSetSize; 4e2933c620 2015-04-21 kinaba: SIZE_T MaximumWorkingSetSize; 4e2933c620 2015-04-21 kinaba: DWORD ActiveProcessLimit; 4e2933c620 2015-04-21 kinaba: ULONG_PTR Affinity; 4e2933c620 2015-04-21 kinaba: DWORD PriorityClass; 4e2933c620 2015-04-21 kinaba: DWORD SchedulingClass; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias JOBOBJECT_BASIC_LIMIT_INFORMATION* PJOBOBJECT_BASIC_LIMIT_INFORMATION; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct JOBOBJECT_BASIC_PROCESS_ID_LIST { 4e2933c620 2015-04-21 kinaba: DWORD NumberOfAssignedProcesses; 4e2933c620 2015-04-21 kinaba: DWORD NumberOfProcessIdsInList; 4e2933c620 2015-04-21 kinaba: ULONG_PTR _ProcessIdList; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: ULONG_PTR* ProcessIdList() { return &_ProcessIdList; } 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias JOBOBJECT_BASIC_PROCESS_ID_LIST* PJOBOBJECT_BASIC_PROCESS_ID_LIST; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct JOBOBJECT_BASIC_UI_RESTRICTIONS { 4e2933c620 2015-04-21 kinaba: DWORD UIRestrictionsClass; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias JOBOBJECT_BASIC_UI_RESTRICTIONS* PJOBOBJECT_BASIC_UI_RESTRICTIONS; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct JOBOBJECT_SECURITY_LIMIT_INFORMATION { 4e2933c620 2015-04-21 kinaba: DWORD SecurityLimitFlags; 4e2933c620 2015-04-21 kinaba: HANDLE JobToken; 4e2933c620 2015-04-21 kinaba: PTOKEN_GROUPS SidsToDisable; 4e2933c620 2015-04-21 kinaba: PTOKEN_PRIVILEGES PrivilegesToDelete; 4e2933c620 2015-04-21 kinaba: PTOKEN_GROUPS RestrictedSids; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias JOBOBJECT_SECURITY_LIMIT_INFORMATION* PJOBOBJECT_SECURITY_LIMIT_INFORMATION; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct JOBOBJECT_END_OF_JOB_TIME_INFORMATION { 4e2933c620 2015-04-21 kinaba: DWORD EndOfJobTimeAction; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias JOBOBJECT_END_OF_JOB_TIME_INFORMATION* PJOBOBJECT_END_OF_JOB_TIME_INFORMATION; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct JOBOBJECT_ASSOCIATE_COMPLETION_PORT { 4e2933c620 2015-04-21 kinaba: PVOID CompletionKey; 4e2933c620 2015-04-21 kinaba: HANDLE CompletionPort; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias JOBOBJECT_ASSOCIATE_COMPLETION_PORT* PJOBOBJECT_ASSOCIATE_COMPLETION_PORT; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct JOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION { 4e2933c620 2015-04-21 kinaba: JOBOBJECT_BASIC_ACCOUNTING_INFORMATION BasicInfo; 4e2933c620 2015-04-21 kinaba: IO_COUNTERS IoInfo; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias JOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION *PJOBOBJECT_BASIC_AND_IO_ACCOUNTING_INFORMATION; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct JOBOBJECT_EXTENDED_LIMIT_INFORMATION { 4e2933c620 2015-04-21 kinaba: JOBOBJECT_BASIC_LIMIT_INFORMATION BasicLimitInformation; 4e2933c620 2015-04-21 kinaba: IO_COUNTERS IoInfo; 4e2933c620 2015-04-21 kinaba: SIZE_T ProcessMemoryLimit; 4e2933c620 2015-04-21 kinaba: SIZE_T JobMemoryLimit; 4e2933c620 2015-04-21 kinaba: SIZE_T PeakProcessMemoryUsed; 4e2933c620 2015-04-21 kinaba: SIZE_T PeakJobMemoryUsed; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias JOBOBJECT_EXTENDED_LIMIT_INFORMATION* PJOBOBJECT_EXTENDED_LIMIT_INFORMATION; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct JOBOBJECT_JOBSET_INFORMATION { 4e2933c620 2015-04-21 kinaba: DWORD MemberLevel; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias JOBOBJECT_JOBSET_INFORMATION* PJOBOBJECT_JOBSET_INFORMATION; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: // MinGW: Making these defines conditional on WINVER will break ddk includes 4e2933c620 2015-04-21 kinaba: //static if (WINVER >= 0x0500) { 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: const DWORD 4e2933c620 2015-04-21 kinaba: ES_SYSTEM_REQUIRED = 0x00000001, 4e2933c620 2015-04-21 kinaba: ES_DISPLAY_REQUIRED = 0x00000002, 4e2933c620 2015-04-21 kinaba: ES_USER_PRESENT = 0x00000004, 4e2933c620 2015-04-21 kinaba: ES_CONTINUOUS = 0x80000000; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: enum LATENCY_TIME { 4e2933c620 2015-04-21 kinaba: LT_DONT_CARE, 4e2933c620 2015-04-21 kinaba: LT_LOWEST_LATENCY 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias LATENCY_TIME* PLATENCY_TIME; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: enum SYSTEM_POWER_STATE { 4e2933c620 2015-04-21 kinaba: PowerSystemUnspecified, 4e2933c620 2015-04-21 kinaba: PowerSystemWorking, 4e2933c620 2015-04-21 kinaba: PowerSystemSleeping1, 4e2933c620 2015-04-21 kinaba: PowerSystemSleeping2, 4e2933c620 2015-04-21 kinaba: PowerSystemSleeping3, 4e2933c620 2015-04-21 kinaba: PowerSystemHibernate, 4e2933c620 2015-04-21 kinaba: PowerSystemShutdown, 4e2933c620 2015-04-21 kinaba: PowerSystemMaximum 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias SYSTEM_POWER_STATE* PSYSTEM_POWER_STATE; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: const POWER_SYSTEM_MAXIMUM = SYSTEM_POWER_STATE.PowerSystemMaximum; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: enum POWER_ACTION { 4e2933c620 2015-04-21 kinaba: PowerActionNone, 4e2933c620 2015-04-21 kinaba: PowerActionReserved, 4e2933c620 2015-04-21 kinaba: PowerActionSleep, 4e2933c620 2015-04-21 kinaba: PowerActionHibernate, 4e2933c620 2015-04-21 kinaba: PowerActionShutdown, 4e2933c620 2015-04-21 kinaba: PowerActionShutdownReset, 4e2933c620 2015-04-21 kinaba: PowerActionShutdownOff, 4e2933c620 2015-04-21 kinaba: PowerActionWarmEject 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias POWER_ACTION* PPOWER_ACTION; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: static if (WINVER >= 0x600) { 4e2933c620 2015-04-21 kinaba: enum SYSTEM_POWER_CONDITION { 4e2933c620 2015-04-21 kinaba: PoAc, 4e2933c620 2015-04-21 kinaba: PoDc, 4e2933c620 2015-04-21 kinaba: PoHot, 4e2933c620 2015-04-21 kinaba: PoConditionMaximum 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias SYSTEM_POWER_CONDITION* PSYSTEM_POWER_CONDITION; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: enum DEVICE_POWER_STATE { 4e2933c620 2015-04-21 kinaba: PowerDeviceUnspecified, 4e2933c620 2015-04-21 kinaba: PowerDeviceD0, 4e2933c620 2015-04-21 kinaba: PowerDeviceD1, 4e2933c620 2015-04-21 kinaba: PowerDeviceD2, 4e2933c620 2015-04-21 kinaba: PowerDeviceD3, 4e2933c620 2015-04-21 kinaba: PowerDeviceMaximum 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias DEVICE_POWER_STATE* PDEVICE_POWER_STATE; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: align(4): 4e2933c620 2015-04-21 kinaba: struct BATTERY_REPORTING_SCALE { 4e2933c620 2015-04-21 kinaba: DWORD Granularity; 4e2933c620 2015-04-21 kinaba: DWORD Capacity; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias BATTERY_REPORTING_SCALE* PBATTERY_REPORTING_SCALE; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct POWER_ACTION_POLICY { 4e2933c620 2015-04-21 kinaba: POWER_ACTION Action; 4e2933c620 2015-04-21 kinaba: ULONG Flags; 4e2933c620 2015-04-21 kinaba: ULONG EventCode; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias POWER_ACTION_POLICY* PPOWER_ACTION_POLICY; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: // POWER_ACTION_POLICY.Flags constants 4e2933c620 2015-04-21 kinaba: const ULONG 4e2933c620 2015-04-21 kinaba: POWER_ACTION_QUERY_ALLOWED = 0x00000001, 4e2933c620 2015-04-21 kinaba: POWER_ACTION_UI_ALLOWED = 0x00000002, 4e2933c620 2015-04-21 kinaba: POWER_ACTION_OVERRIDE_APPS = 0x00000004, 4e2933c620 2015-04-21 kinaba: POWER_ACTION_LIGHTEST_FIRST = 0x10000000, 4e2933c620 2015-04-21 kinaba: POWER_ACTION_LOCK_CONSOLE = 0x20000000, 4e2933c620 2015-04-21 kinaba: POWER_ACTION_DISABLE_WAKES = 0x40000000, 4e2933c620 2015-04-21 kinaba: POWER_ACTION_CRITICAL = 0x80000000; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: // POWER_ACTION_POLICY.EventCode constants 4e2933c620 2015-04-21 kinaba: const ULONG 4e2933c620 2015-04-21 kinaba: POWER_LEVEL_USER_NOTIFY_TEXT = 0x00000001, 4e2933c620 2015-04-21 kinaba: POWER_LEVEL_USER_NOTIFY_SOUND = 0x00000002, 4e2933c620 2015-04-21 kinaba: POWER_LEVEL_USER_NOTIFY_EXEC = 0x00000004, 4e2933c620 2015-04-21 kinaba: POWER_USER_NOTIFY_BUTTON = 0x00000008, 4e2933c620 2015-04-21 kinaba: POWER_USER_NOTIFY_SHUTDOWN = 0x00000010, 4e2933c620 2015-04-21 kinaba: POWER_FORCE_TRIGGER_RESET = 0x80000000; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: const size_t 4e2933c620 2015-04-21 kinaba: DISCHARGE_POLICY_CRITICAL = 0, 4e2933c620 2015-04-21 kinaba: DISCHARGE_POLICY_LOW = 1, 4e2933c620 2015-04-21 kinaba: NUM_DISCHARGE_POLICIES = 4; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: enum : BYTE { 4e2933c620 2015-04-21 kinaba: PO_THROTTLE_NONE, 4e2933c620 2015-04-21 kinaba: PO_THROTTLE_CONSTANT, 4e2933c620 2015-04-21 kinaba: PO_THROTTLE_DEGRADE, 4e2933c620 2015-04-21 kinaba: PO_THROTTLE_ADAPTIVE, 4e2933c620 2015-04-21 kinaba: PO_THROTTLE_MAXIMUM 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct SYSTEM_POWER_LEVEL { 4e2933c620 2015-04-21 kinaba: BOOLEAN Enable; 4e2933c620 2015-04-21 kinaba: UCHAR[3] Spare; 4e2933c620 2015-04-21 kinaba: ULONG BatteryLevel; 4e2933c620 2015-04-21 kinaba: POWER_ACTION_POLICY PowerPolicy; 4e2933c620 2015-04-21 kinaba: SYSTEM_POWER_STATE MinSystemState; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias SYSTEM_POWER_LEVEL* PSYSTEM_POWER_LEVEL; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct SYSTEM_POWER_POLICY { 4e2933c620 2015-04-21 kinaba: ULONG Revision; 4e2933c620 2015-04-21 kinaba: POWER_ACTION_POLICY PowerButton; 4e2933c620 2015-04-21 kinaba: POWER_ACTION_POLICY SleepButton; 4e2933c620 2015-04-21 kinaba: POWER_ACTION_POLICY LidClose; 4e2933c620 2015-04-21 kinaba: SYSTEM_POWER_STATE LidOpenWake; 4e2933c620 2015-04-21 kinaba: ULONG Reserved; 4e2933c620 2015-04-21 kinaba: POWER_ACTION_POLICY Idle; 4e2933c620 2015-04-21 kinaba: ULONG IdleTimeout; 4e2933c620 2015-04-21 kinaba: UCHAR IdleSensitivity; 4e2933c620 2015-04-21 kinaba: UCHAR DynamicThrottle; 4e2933c620 2015-04-21 kinaba: UCHAR[2] Spare2; 4e2933c620 2015-04-21 kinaba: SYSTEM_POWER_STATE MinSleep; 4e2933c620 2015-04-21 kinaba: SYSTEM_POWER_STATE MaxSleep; 4e2933c620 2015-04-21 kinaba: SYSTEM_POWER_STATE ReducedLatencySleep; 4e2933c620 2015-04-21 kinaba: ULONG WinLogonFlags; 4e2933c620 2015-04-21 kinaba: ULONG Spare3; 4e2933c620 2015-04-21 kinaba: ULONG DozeS4Timeout; 4e2933c620 2015-04-21 kinaba: ULONG BroadcastCapacityResolution; 4e2933c620 2015-04-21 kinaba: SYSTEM_POWER_LEVEL[NUM_DISCHARGE_POLICIES] DischargePolicy; 4e2933c620 2015-04-21 kinaba: ULONG VideoTimeout; 4e2933c620 2015-04-21 kinaba: BOOLEAN VideoDimDisplay; 4e2933c620 2015-04-21 kinaba: ULONG[3] VideoReserved; 4e2933c620 2015-04-21 kinaba: ULONG SpindownTimeout; 4e2933c620 2015-04-21 kinaba: BOOLEAN OptimizeForPower; 4e2933c620 2015-04-21 kinaba: UCHAR FanThrottleTolerance; 4e2933c620 2015-04-21 kinaba: UCHAR ForcedThrottle; 4e2933c620 2015-04-21 kinaba: UCHAR MinThrottle; 4e2933c620 2015-04-21 kinaba: POWER_ACTION_POLICY OverThrottled; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias SYSTEM_POWER_POLICY* PSYSTEM_POWER_POLICY; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct SYSTEM_POWER_CAPABILITIES { 4e2933c620 2015-04-21 kinaba: BOOLEAN PowerButtonPresent; 4e2933c620 2015-04-21 kinaba: BOOLEAN SleepButtonPresent; 4e2933c620 2015-04-21 kinaba: BOOLEAN LidPresent; 4e2933c620 2015-04-21 kinaba: BOOLEAN SystemS1; 4e2933c620 2015-04-21 kinaba: BOOLEAN SystemS2; 4e2933c620 2015-04-21 kinaba: BOOLEAN SystemS3; 4e2933c620 2015-04-21 kinaba: BOOLEAN SystemS4; 4e2933c620 2015-04-21 kinaba: BOOLEAN SystemS5; 4e2933c620 2015-04-21 kinaba: BOOLEAN HiberFilePresent; 4e2933c620 2015-04-21 kinaba: BOOLEAN FullWake; 4e2933c620 2015-04-21 kinaba: BOOLEAN VideoDimPresent; 4e2933c620 2015-04-21 kinaba: BOOLEAN ApmPresent; 4e2933c620 2015-04-21 kinaba: BOOLEAN UpsPresent; 4e2933c620 2015-04-21 kinaba: BOOLEAN ThermalControl; 4e2933c620 2015-04-21 kinaba: BOOLEAN ProcessorThrottle; 4e2933c620 2015-04-21 kinaba: UCHAR ProcessorMinThrottle; 4e2933c620 2015-04-21 kinaba: UCHAR ProcessorMaxThrottle; 4e2933c620 2015-04-21 kinaba: UCHAR[4] spare2; 4e2933c620 2015-04-21 kinaba: BOOLEAN DiskSpinDown; 4e2933c620 2015-04-21 kinaba: UCHAR[8] spare3; 4e2933c620 2015-04-21 kinaba: BOOLEAN SystemBatteriesPresent; 4e2933c620 2015-04-21 kinaba: BOOLEAN BatteriesAreShortTerm; 4e2933c620 2015-04-21 kinaba: BATTERY_REPORTING_SCALE[3] BatteryScale; 4e2933c620 2015-04-21 kinaba: SYSTEM_POWER_STATE AcOnLineWake; 4e2933c620 2015-04-21 kinaba: SYSTEM_POWER_STATE SoftLidWake; 4e2933c620 2015-04-21 kinaba: SYSTEM_POWER_STATE RtcWake; 4e2933c620 2015-04-21 kinaba: SYSTEM_POWER_STATE MinDeviceWakeState; 4e2933c620 2015-04-21 kinaba: SYSTEM_POWER_STATE DefaultLowLatencyWake; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias SYSTEM_POWER_CAPABILITIES* PSYSTEM_POWER_CAPABILITIES; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct SYSTEM_BATTERY_STATE { 4e2933c620 2015-04-21 kinaba: BOOLEAN AcOnLine; 4e2933c620 2015-04-21 kinaba: BOOLEAN BatteryPresent; 4e2933c620 2015-04-21 kinaba: BOOLEAN Charging; 4e2933c620 2015-04-21 kinaba: BOOLEAN Discharging; 4e2933c620 2015-04-21 kinaba: BOOLEAN[4] Spare1; 4e2933c620 2015-04-21 kinaba: ULONG MaxCapacity; 4e2933c620 2015-04-21 kinaba: ULONG RemainingCapacity; 4e2933c620 2015-04-21 kinaba: ULONG Rate; 4e2933c620 2015-04-21 kinaba: ULONG EstimatedTime; 4e2933c620 2015-04-21 kinaba: ULONG DefaultAlert1; 4e2933c620 2015-04-21 kinaba: ULONG DefaultAlert2; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias SYSTEM_BATTERY_STATE* PSYSTEM_BATTERY_STATE; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: enum POWER_INFORMATION_LEVEL { 4e2933c620 2015-04-21 kinaba: SystemPowerPolicyAc, 4e2933c620 2015-04-21 kinaba: SystemPowerPolicyDc, 4e2933c620 2015-04-21 kinaba: VerifySystemPolicyAc, 4e2933c620 2015-04-21 kinaba: VerifySystemPolicyDc, 4e2933c620 2015-04-21 kinaba: SystemPowerCapabilities, 4e2933c620 2015-04-21 kinaba: SystemBatteryState, 4e2933c620 2015-04-21 kinaba: SystemPowerStateHandler, 4e2933c620 2015-04-21 kinaba: ProcessorStateHandler, 4e2933c620 2015-04-21 kinaba: SystemPowerPolicyCurrent, 4e2933c620 2015-04-21 kinaba: AdministratorPowerPolicy, 4e2933c620 2015-04-21 kinaba: SystemReserveHiberFile, 4e2933c620 2015-04-21 kinaba: ProcessorInformation, 4e2933c620 2015-04-21 kinaba: SystemPowerInformation, 4e2933c620 2015-04-21 kinaba: ProcessorStateHandler2, 4e2933c620 2015-04-21 kinaba: LastWakeTime, 4e2933c620 2015-04-21 kinaba: LastSleepTime, 4e2933c620 2015-04-21 kinaba: SystemExecutionState, 4e2933c620 2015-04-21 kinaba: SystemPowerStateNotifyHandler, 4e2933c620 2015-04-21 kinaba: ProcessorPowerPolicyAc, 4e2933c620 2015-04-21 kinaba: ProcessorPowerPolicyDc, 4e2933c620 2015-04-21 kinaba: VerifyProcessorPowerPolicyAc, 4e2933c620 2015-04-21 kinaba: VerifyProcessorPowerPolicyDc, 4e2933c620 2015-04-21 kinaba: ProcessorPowerPolicyCurrent 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: //#if 1 /* (WIN32_WINNT >= 0x0500) */ 4e2933c620 2015-04-21 kinaba: struct SYSTEM_POWER_INFORMATION { 4e2933c620 2015-04-21 kinaba: ULONG MaxIdlenessAllowed; 4e2933c620 2015-04-21 kinaba: ULONG Idleness; 4e2933c620 2015-04-21 kinaba: ULONG TimeRemaining; 4e2933c620 2015-04-21 kinaba: UCHAR CoolingMode; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias SYSTEM_POWER_INFORMATION* PSYSTEM_POWER_INFORMATION; 4e2933c620 2015-04-21 kinaba: //#endif 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct PROCESSOR_POWER_POLICY_INFO { 4e2933c620 2015-04-21 kinaba: ULONG TimeCheck; 4e2933c620 2015-04-21 kinaba: ULONG DemoteLimit; 4e2933c620 2015-04-21 kinaba: ULONG PromoteLimit; 4e2933c620 2015-04-21 kinaba: UCHAR DemotePercent; 4e2933c620 2015-04-21 kinaba: UCHAR PromotePercent; 4e2933c620 2015-04-21 kinaba: UCHAR[2] Spare; 4e2933c620 2015-04-21 kinaba: uint _bf; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: bool AllowDemotion() { return cast(bool)(_bf & 1); } 4e2933c620 2015-04-21 kinaba: bool AllowPromotion() { return cast(bool)(_bf & 2); } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: bool AllowDemotion(bool a) { _bf = (_bf & ~1) | a; return a; } 4e2933c620 2015-04-21 kinaba: bool AllowPromotion(bool a) { _bf = (_bf & ~2) | (a << 1); return a; } 4e2933c620 2015-04-21 kinaba: /+ 4e2933c620 2015-04-21 kinaba: ULONG AllowDemotion : 1; 4e2933c620 2015-04-21 kinaba: ULONG AllowPromotion : 1; 4e2933c620 2015-04-21 kinaba: ULONG Reserved : 30; 4e2933c620 2015-04-21 kinaba: +/ 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias PROCESSOR_POWER_POLICY_INFO* PPROCESSOR_POWER_POLICY_INFO; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct PROCESSOR_POWER_POLICY { 4e2933c620 2015-04-21 kinaba: ULONG Revision; 4e2933c620 2015-04-21 kinaba: UCHAR DynamicThrottle; 4e2933c620 2015-04-21 kinaba: UCHAR[3] Spare; 4e2933c620 2015-04-21 kinaba: ULONG Reserved; 4e2933c620 2015-04-21 kinaba: ULONG PolicyCount; 4e2933c620 2015-04-21 kinaba: PROCESSOR_POWER_POLICY_INFO[3] Policy; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias PROCESSOR_POWER_POLICY* PPROCESSOR_POWER_POLICY; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct ADMINISTRATOR_POWER_POLICY { 4e2933c620 2015-04-21 kinaba: SYSTEM_POWER_STATE MinSleep; 4e2933c620 2015-04-21 kinaba: SYSTEM_POWER_STATE MaxSleep; 4e2933c620 2015-04-21 kinaba: ULONG MinVideoTimeout; 4e2933c620 2015-04-21 kinaba: ULONG MaxVideoTimeout; 4e2933c620 2015-04-21 kinaba: ULONG MinSpindownTimeout; 4e2933c620 2015-04-21 kinaba: ULONG MaxSpindownTimeout; c2b7a98c21 2011-02-23 kinaba: } 4e2933c620 2015-04-21 kinaba: alias ADMINISTRATOR_POWER_POLICY* PADMINISTRATOR_POWER_POLICY; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: //}//#endif /* WINVER >= 0x0500 */ 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: extern (Windows) { 4e2933c620 2015-04-21 kinaba: alias void function(PVOID, DWORD, PVOID) PIMAGE_TLS_CALLBACK; 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: static if (_WIN32_WINNT_ONLY && _WIN32_WINNT >= 0x500) { 4e2933c620 2015-04-21 kinaba: alias LONG function(PEXCEPTION_POINTERS) PVECTORED_EXCEPTION_HANDLER; 4e2933c620 2015-04-21 kinaba: alias void function(PVOID, BOOLEAN) WAITORTIMERCALLBACKFUNC; 4e2933c620 2015-04-21 kinaba: } c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: 4e2933c620 2015-04-21 kinaba: static if (WINVER >= 0x501) { 4e2933c620 2015-04-21 kinaba: enum HEAP_INFORMATION_CLASS { 4e2933c620 2015-04-21 kinaba: HeapCompatibilityInformation 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: enum ACTIVATION_CONTEXT_INFO_CLASS { 4e2933c620 2015-04-21 kinaba: ActivationContextBasicInformation = 1, 4e2933c620 2015-04-21 kinaba: ActivationContextDetailedInformation, 4e2933c620 2015-04-21 kinaba: AssemblyDetailedInformationInActivationContext, 4e2933c620 2015-04-21 kinaba: FileInformationInAssemblyOfAssemblyInActivationContext 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: 4e2933c620 2015-04-21 kinaba: struct ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION { 4e2933c620 2015-04-21 kinaba: DWORD ulFlags; 4e2933c620 2015-04-21 kinaba: DWORD ulEncodedAssemblyIdentityLength; 4e2933c620 2015-04-21 kinaba: DWORD ulManifestPathType; 4e2933c620 2015-04-21 kinaba: DWORD ulManifestPathLength; 4e2933c620 2015-04-21 kinaba: LARGE_INTEGER liManifestLastWriteTime; 4e2933c620 2015-04-21 kinaba: DWORD ulPolicyPathType; 4e2933c620 2015-04-21 kinaba: DWORD ulPolicyPathLength; 4e2933c620 2015-04-21 kinaba: LARGE_INTEGER liPolicyLastWriteTime; 4e2933c620 2015-04-21 kinaba: DWORD ulMetadataSatelliteRosterIndex; 4e2933c620 2015-04-21 kinaba: DWORD ulManifestVersionMajor; 4e2933c620 2015-04-21 kinaba: DWORD ulManifestVersionMinor; 4e2933c620 2015-04-21 kinaba: DWORD ulPolicyVersionMajor; 4e2933c620 2015-04-21 kinaba: DWORD ulPolicyVersionMinor; 4e2933c620 2015-04-21 kinaba: DWORD ulAssemblyDirectoryNameLength; 4e2933c620 2015-04-21 kinaba: PCWSTR lpAssemblyEncodedAssemblyIdentity; 4e2933c620 2015-04-21 kinaba: PCWSTR lpAssemblyManifestPath; 4e2933c620 2015-04-21 kinaba: PCWSTR lpAssemblyPolicyPath; 4e2933c620 2015-04-21 kinaba: PCWSTR lpAssemblyDirectoryName; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION* 4e2933c620 2015-04-21 kinaba: PACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION; 4e2933c620 2015-04-21 kinaba: alias CPtr!(ACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION) 4e2933c620 2015-04-21 kinaba: PCACTIVATION_CONTEXT_ASSEMBLY_DETAILED_INFORMATION; c2b7a98c21 2011-02-23 kinaba: 4e2933c620 2015-04-21 kinaba: struct ACTIVATION_CONTEXT_DETAILED_INFORMATION { 4e2933c620 2015-04-21 kinaba: DWORD dwFlags; 4e2933c620 2015-04-21 kinaba: DWORD ulFormatVersion; 4e2933c620 2015-04-21 kinaba: DWORD ulAssemblyCount; 4e2933c620 2015-04-21 kinaba: DWORD ulRootManifestPathType; 4e2933c620 2015-04-21 kinaba: DWORD ulRootManifestPathChars; 4e2933c620 2015-04-21 kinaba: DWORD ulRootConfigurationPathType; 4e2933c620 2015-04-21 kinaba: DWORD ulRootConfigurationPathChars; 4e2933c620 2015-04-21 kinaba: DWORD ulAppDirPathType; 4e2933c620 2015-04-21 kinaba: DWORD ulAppDirPathChars; 4e2933c620 2015-04-21 kinaba: PCWSTR lpRootManifestPath; 4e2933c620 2015-04-21 kinaba: PCWSTR lpRootConfigurationPath; 4e2933c620 2015-04-21 kinaba: PCWSTR lpAppDirPath; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias ACTIVATION_CONTEXT_DETAILED_INFORMATION* 4e2933c620 2015-04-21 kinaba: PACTIVATION_CONTEXT_DETAILED_INFORMATION; 4e2933c620 2015-04-21 kinaba: alias CPtr!(ACTIVATION_CONTEXT_DETAILED_INFORMATION) 4e2933c620 2015-04-21 kinaba: PCACTIVATION_CONTEXT_DETAILED_INFORMATION; c2b7a98c21 2011-02-23 kinaba: 4e2933c620 2015-04-21 kinaba: struct ACTIVATION_CONTEXT_QUERY_INDEX { 4e2933c620 2015-04-21 kinaba: ULONG ulAssemblyIndex; 4e2933c620 2015-04-21 kinaba: ULONG ulFileIndexInAssembly; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias ACTIVATION_CONTEXT_QUERY_INDEX* PACTIVATION_CONTEXT_QUERY_INDEX; 4e2933c620 2015-04-21 kinaba: alias CPtr!(ACTIVATION_CONTEXT_QUERY_INDEX) PCACTIVATION_CONTEXT_QUERY_INDEX; c2b7a98c21 2011-02-23 kinaba: 4e2933c620 2015-04-21 kinaba: struct ASSEMBLY_FILE_DETAILED_INFORMATION { 4e2933c620 2015-04-21 kinaba: DWORD ulFlags; 4e2933c620 2015-04-21 kinaba: DWORD ulFilenameLength; 4e2933c620 2015-04-21 kinaba: DWORD ulPathLength; 4e2933c620 2015-04-21 kinaba: PCWSTR lpFileName; 4e2933c620 2015-04-21 kinaba: PCWSTR lpFilePath; 4e2933c620 2015-04-21 kinaba: } 4e2933c620 2015-04-21 kinaba: alias ASSEMBLY_FILE_DETAILED_INFORMATION* 4e2933c620 2015-04-21 kinaba: PASSEMBLY_FILE_DETAILED_INFORMATION; 4e2933c620 2015-04-21 kinaba: alias CPtr!(ASSEMBLY_FILE_DETAILED_INFORMATION) 4e2933c620 2015-04-21 kinaba: PCASSEMBLY_FILE_DETAILED_INFORMATION; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: 4e2933c620 2015-04-21 kinaba: version (Unicode) { 4e2933c620 2015-04-21 kinaba: alias OSVERSIONINFOW OSVERSIONINFO; 4e2933c620 2015-04-21 kinaba: alias OSVERSIONINFOEXW OSVERSIONINFOEX; 4e2933c620 2015-04-21 kinaba: } else { 4e2933c620 2015-04-21 kinaba: alias OSVERSIONINFOA OSVERSIONINFO; 4e2933c620 2015-04-21 kinaba: alias OSVERSIONINFOEXA OSVERSIONINFOEX; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: 4e2933c620 2015-04-21 kinaba: alias OSVERSIONINFO* POSVERSIONINFO, LPOSVERSIONINFO; 4e2933c620 2015-04-21 kinaba: alias OSVERSIONINFOEX* POSVERSIONINFOEX, LPOSVERSIONINFOEX; 4e2933c620 2015-04-21 kinaba: c2b7a98c21 2011-02-23 kinaba: 4e2933c620 2015-04-21 kinaba: static if (_WIN32_WINNT_ONLY && _WIN32_WINNT >= 0x500) { 4e2933c620 2015-04-21 kinaba: extern (Windows) ULONGLONG VerSetConditionMask(ULONGLONG, DWORD, BYTE); c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: 4e2933c620 2015-04-21 kinaba: version (Win64) { 4e2933c620 2015-04-21 kinaba: const WORD IMAGE_NT_OPTIONAL_HDR_MAGIC = IMAGE_NT_OPTIONAL_HDR64_MAGIC; c2b7a98c21 2011-02-23 kinaba: 4e2933c620 2015-04-21 kinaba: alias IMAGE_ORDINAL_FLAG64 IMAGE_ORDINAL_FLAG; 4e2933c620 2015-04-21 kinaba: alias IMAGE_SNAP_BY_ORDINAL64 IMAGE_SNAP_BY_ORDINAL; 4e2933c620 2015-04-21 kinaba: alias IMAGE_ORDINAL64 IMAGE_ORDINAL; 4e2933c620 2015-04-21 kinaba: alias IMAGE_OPTIONAL_HEADER64 IMAGE_OPTIONAL_HEADER; 4e2933c620 2015-04-21 kinaba: alias IMAGE_NT_HEADERS64 IMAGE_NT_HEADERS; 4e2933c620 2015-04-21 kinaba: alias IMAGE_THUNK_DATA64 IMAGE_THUNK_DATA; 4e2933c620 2015-04-21 kinaba: alias IMAGE_TLS_DIRECTORY64 IMAGE_TLS_DIRECTORY; 4e2933c620 2015-04-21 kinaba: } else { 4e2933c620 2015-04-21 kinaba: const WORD IMAGE_NT_OPTIONAL_HDR_MAGIC = IMAGE_NT_OPTIONAL_HDR32_MAGIC; c2b7a98c21 2011-02-23 kinaba: 4e2933c620 2015-04-21 kinaba: alias IMAGE_ORDINAL_FLAG32 IMAGE_ORDINAL_FLAG; 4e2933c620 2015-04-21 kinaba: alias IMAGE_ORDINAL32 IMAGE_ORDINAL; 4e2933c620 2015-04-21 kinaba: alias IMAGE_SNAP_BY_ORDINAL32 IMAGE_SNAP_BY_ORDINAL; 4e2933c620 2015-04-21 kinaba: alias IMAGE_OPTIONAL_HEADER32 IMAGE_OPTIONAL_HEADER; 4e2933c620 2015-04-21 kinaba: alias IMAGE_NT_HEADERS32 IMAGE_NT_HEADERS; 4e2933c620 2015-04-21 kinaba: alias IMAGE_THUNK_DATA32 IMAGE_THUNK_DATA; 4e2933c620 2015-04-21 kinaba: alias IMAGE_TLS_DIRECTORY32 IMAGE_TLS_DIRECTORY; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: 4e2933c620 2015-04-21 kinaba: alias IMAGE_OPTIONAL_HEADER* PIMAGE_OPTIONAL_HEADER; 4e2933c620 2015-04-21 kinaba: alias IMAGE_NT_HEADERS* PIMAGE_NT_HEADERS; 4e2933c620 2015-04-21 kinaba: alias IMAGE_THUNK_DATA* PIMAGE_THUNK_DATA; 4e2933c620 2015-04-21 kinaba: alias IMAGE_TLS_DIRECTORY* PIMAGE_TLS_DIRECTORY; c2b7a98c21 2011-02-23 kinaba: 4e2933c620 2015-04-21 kinaba: // TODO: MinGW implements these in assembly. How to translate? 4e2933c620 2015-04-21 kinaba: PVOID GetCurrentFiber(); 4e2933c620 2015-04-21 kinaba: PVOID GetFiberData();