813 lines
20 KiB
Plaintext
813 lines
20 KiB
Plaintext
|
|
; KERNEL32.DLL structures and constants
|
|
|
|
struct SYSTEM_INFO
|
|
wProcessorArchitecture dw ?
|
|
wReserved dw ?
|
|
dwPageSize dd ?
|
|
lpMinimumApplicationAddress dd ?
|
|
lpMaximumApplicationAddress dd ?
|
|
dwActiveProcessorMask dd ?
|
|
dwNumberOfProcessors dd ?
|
|
dwProcessorType dd ?
|
|
dwAllocationGranularity dd ?
|
|
wProcessorLevel dw ?
|
|
wProcessorRevision dw ?
|
|
ends
|
|
|
|
struct OSVERSIONINFO
|
|
dwOSVersionInfoSize dd ?
|
|
dwMajorVersion dd ?
|
|
dwMinorVersion dd ?
|
|
dwBuildNumber dd ?
|
|
dwPlatformId dd ?
|
|
szCSDVersion TCHAR 128 dup (?)
|
|
ends
|
|
|
|
struct OSVERSIONINFOA
|
|
dwOSVersionInfoSize dd ?
|
|
dwMajorVersion dd ?
|
|
dwMinorVersion dd ?
|
|
dwBuildNumber dd ?
|
|
dwPlatformId dd ?
|
|
szCSDVersion db 128 dup (?)
|
|
ends
|
|
|
|
struct OSVERSIONINFOW
|
|
dwOSVersionInfoSize dd ?
|
|
dwMajorVersion dd ?
|
|
dwMinorVersion dd ?
|
|
dwBuildNumber dd ?
|
|
dwPlatformId dd ?
|
|
szCSDVersion du 128 dup (?)
|
|
ends
|
|
|
|
struct MEMORYSTATUS
|
|
dwLength dd ?
|
|
dwMemoryLoad dd ?
|
|
dwTotalPhys dd ?
|
|
dwAvailPhys dd ?
|
|
dwTotalPageFile dd ?
|
|
dwAvailPageFile dd ?
|
|
dwTotalVirtual dd ?
|
|
dwAvailVirtual dd ?
|
|
ends
|
|
|
|
struct STARTUPINFO
|
|
cb dd ?
|
|
lpReserved dd ?
|
|
lpDesktop dd ?
|
|
lpTitle dd ?
|
|
dwX dd ?
|
|
dwY dd ?
|
|
dwXSize dd ?
|
|
dwYSize dd ?
|
|
dwXCountChars dd ?
|
|
dwYCountChars dd ?
|
|
dwFillAttribute dd ?
|
|
dwFlags dd ?
|
|
wShowWindow dw ?
|
|
cbReserved2 dw ?
|
|
lpReserved2 dd ?
|
|
hStdInput dd ?
|
|
hStdOutput dd ?
|
|
hStdError dd ?
|
|
ends
|
|
|
|
struct PROCESS_INFORMATION
|
|
hProcess dd ?
|
|
hThread dd ?
|
|
dwProcessId dd ?
|
|
dwThreadId dd ?
|
|
ends
|
|
|
|
struct FILETIME
|
|
dwLowDateTime dd ?
|
|
dwHighDateTime dd ?
|
|
ends
|
|
|
|
struct SYSTEMTIME
|
|
wYear dw ?
|
|
wMonth dw ?
|
|
wDayOfWeek dw ?
|
|
wDay dw ?
|
|
wHour dw ?
|
|
wMinute dw ?
|
|
wSecond dw ?
|
|
wMilliseconds dw ?
|
|
ends
|
|
|
|
struct BY_HANDLE_FILE_INFORMATION
|
|
dwFileAttributes dd ?
|
|
ftCreationTime FILETIME
|
|
ftLastAccessTime FILETIME
|
|
ftLastWriteTime FILETIME
|
|
dwVolumeSerialNumber dd ?
|
|
nFileSizeHigh dd ?
|
|
nFileSizeLow dd ?
|
|
nNumberOfLinks dd ?
|
|
nFileIndexHigh dd ?
|
|
nFileIndexLow dd ?
|
|
ends
|
|
|
|
struct WIN32_FIND_DATA
|
|
dwFileAttributes dd ?
|
|
ftCreationTime FILETIME
|
|
ftLastAccessTime FILETIME
|
|
ftLastWriteTime FILETIME
|
|
nFileSizeHigh dd ?
|
|
nFileSizeLow dd ?
|
|
dwReserved0 dd ?
|
|
dwReserved1 dd ?
|
|
cFileName TCHAR MAX_PATH dup (?)
|
|
cAlternateFileName TCHAR 14 dup (?)
|
|
ends
|
|
|
|
struct WIN32_FIND_DATAA
|
|
dwFileAttributes dd ?
|
|
ftCreationTime FILETIME
|
|
ftLastAccessTime FILETIME
|
|
ftLastWriteTime FILETIME
|
|
nFileSizeHigh dd ?
|
|
nFileSizeLow dd ?
|
|
dwReserved0 dd ?
|
|
dwReserved1 dd ?
|
|
cFileName db MAX_PATH dup (?)
|
|
cAlternateFileName db 14 dup (?)
|
|
ends
|
|
|
|
struct WIN32_FIND_DATAW
|
|
dwFileAttributes dd ?
|
|
ftCreationTime FILETIME
|
|
ftLastAccessTime FILETIME
|
|
ftLastWriteTime FILETIME
|
|
nFileSizeHigh dd ?
|
|
nFileSizeLow dd ?
|
|
dwReserved0 dd ?
|
|
dwReserved1 dd ?
|
|
cFileName du MAX_PATH dup (?)
|
|
cAlternateFileName du 14 dup (?)
|
|
ends
|
|
|
|
; General constants
|
|
|
|
NULL = 0
|
|
TRUE = 1
|
|
FALSE = 0
|
|
|
|
; Maximum path length in characters
|
|
|
|
MAX_PATH = 260
|
|
|
|
; Access rights
|
|
|
|
DELETE_RIGHT = 00010000h
|
|
READ_CONTROL = 00020000h
|
|
WRITE_DAC = 00040000h
|
|
WRITE_OWNER = 00080000h
|
|
SYNCHRONIZE = 00100000h
|
|
STANDARD_RIGHTS_READ = READ_CONTROL
|
|
STANDARD_RIGHTS_WRITE = READ_CONTROL
|
|
STANDARD_RIGHTS_EXECUTE = READ_CONTROL
|
|
STANDARD_RIGHTS_REQUIRED = 000F0000h
|
|
STANDARD_RIGHTS_ALL = 001F0000h
|
|
SPECIFIC_RIGHTS_ALL = 0000FFFFh
|
|
ACCESS_SYSTEM_SECURITY = 01000000h
|
|
MAXIMUM_ALLOWED = 02000000h
|
|
GENERIC_READ = 80000000h
|
|
GENERIC_WRITE = 40000000h
|
|
GENERIC_EXECUTE = 20000000h
|
|
GENERIC_ALL = 10000000h
|
|
PROCESS_TERMINATE = 00000001h
|
|
PROCESS_CREATE_THREAD = 00000002h
|
|
PROCESS_VM_OPERATION = 00000008h
|
|
PROCESS_VM_READ = 00000010h
|
|
PROCESS_VM_WRITE = 00000020h
|
|
PROCESS_DUP_HANDLE = 00000040h
|
|
PROCESS_CREATE_PROCESS = 00000080h
|
|
PROCESS_SET_QUOTA = 00000100h
|
|
PROCESS_SET_INFORMATION = 00000200h
|
|
PROCESS_QUERY_INFORMATION = 00000400h
|
|
PROCESS_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED or SYNCHRONIZE or 0FFFh
|
|
FILE_SHARE_READ = 00000001h
|
|
FILE_SHARE_WRITE = 00000002h
|
|
FILE_SHARE_DELETE = 00000004h
|
|
|
|
; CreateFile actions
|
|
|
|
CREATE_NEW = 1
|
|
CREATE_ALWAYS = 2
|
|
OPEN_EXISTING = 3
|
|
OPEN_ALWAYS = 4
|
|
TRUNCATE_EXISTING = 5
|
|
|
|
; OpenFile modes
|
|
|
|
OF_READ = 0000h
|
|
OF_WRITE = 0001h
|
|
OF_READWRITE = 0002h
|
|
OF_SHARE_COMPAT = 0000h
|
|
OF_SHARE_EXCLUSIVE = 0010h
|
|
OF_SHARE_DENY_WRITE = 0020h
|
|
OF_SHARE_DENY_READ = 0030h
|
|
OF_SHARE_DENY_NONE = 0040h
|
|
OF_PARSE = 0100h
|
|
OF_DELETE = 0200h
|
|
OF_VERIFY = 0400h
|
|
OF_CANCEL = 0800h
|
|
OF_CREATE = 1000h
|
|
OF_PROMPT = 2000h
|
|
OF_EXIST = 4000h
|
|
OF_REOPEN = 8000h
|
|
|
|
; SetFilePointer methods
|
|
|
|
FILE_BEGIN = 0
|
|
FILE_CURRENT = 1
|
|
FILE_END = 2
|
|
|
|
; File attributes
|
|
|
|
FILE_ATTRIBUTE_READONLY = 001h
|
|
FILE_ATTRIBUTE_HIDDEN = 002h
|
|
FILE_ATTRIBUTE_SYSTEM = 004h
|
|
FILE_ATTRIBUTE_DIRECTORY = 010h
|
|
FILE_ATTRIBUTE_ARCHIVE = 020h
|
|
FILE_ATTRIBUTE_NORMAL = 080h
|
|
FILE_ATTRIBUTE_TEMPORARY = 100h
|
|
FILE_ATTRIBUTE_COMPRESSED = 800h
|
|
|
|
; File flags
|
|
|
|
FILE_FLAG_WRITE_THROUGH = 80000000h
|
|
FILE_FLAG_OVERLAPPED = 40000000h
|
|
FILE_FLAG_NO_BUFFERING = 20000000h
|
|
FILE_FLAG_RANDOM_ACCESS = 10000000h
|
|
FILE_FLAG_SEQUENTIAL_SCAN = 08000000h
|
|
FILE_FLAG_DELETE_ON_CLOSE = 04000000h
|
|
FILE_FLAG_BACKUP_SEMANTICS = 02000000h
|
|
FILE_FLAG_POSIX_SEMANTICS = 01000000h
|
|
|
|
; Notify filters
|
|
|
|
FILE_NOTIFY_CHANGE_FILE_NAME = 001h
|
|
FILE_NOTIFY_CHANGE_DIR_NAME = 002h
|
|
FILE_NOTIFY_CHANGE_ATTRIBUTES = 004h
|
|
FILE_NOTIFY_CHANGE_SIZE = 008h
|
|
FILE_NOTIFY_CHANGE_LAST_WRITE = 010h
|
|
FILE_NOTIFY_CHANGE_SECURITY = 100h
|
|
|
|
; File types
|
|
|
|
FILE_TYPE_UNKNOWN = 0
|
|
FILE_TYPE_DISK = 1
|
|
FILE_TYPE_CHAR = 2
|
|
FILE_TYPE_PIPE = 3
|
|
FILE_TYPE_REMOTE = 8000h
|
|
|
|
; LockFileEx flags
|
|
|
|
LOCKFILE_FAIL_IMMEDIATELY = 1
|
|
LOCKFILE_EXCLUSIVE_LOCK = 2
|
|
|
|
; MoveFileEx flags
|
|
|
|
MOVEFILE_REPLACE_EXISTING = 1
|
|
MOVEFILE_COPY_ALLOWED = 2
|
|
MOVEFILE_DELAY_UNTIL_REBOOT = 4
|
|
MOVEFILE_WRITE_THROUGH = 8
|
|
|
|
; FindFirstFileEx flags
|
|
|
|
FIND_FIRST_EX_CASE_SENSITIVE = 1
|
|
|
|
; Device handles
|
|
|
|
INVALID_HANDLE_VALUE = -1
|
|
STD_INPUT_HANDLE = -10
|
|
STD_OUTPUT_HANDLE = -11
|
|
STD_ERROR_HANDLE = -12
|
|
|
|
; DuplicateHandle options
|
|
|
|
DUPLICATE_CLOSE_SOURCE = 1
|
|
DUPLICATE_SAME_ACCESS = 2
|
|
|
|
; File mapping acccess rights
|
|
|
|
SECTION_QUERY = 01h
|
|
SECTION_MAP_WRITE = 02h
|
|
SECTION_MAP_READ = 04h
|
|
SECTION_MAP_EXECUTE = 08h
|
|
SECTION_EXTEND_SIZE = 10h
|
|
SECTION_ALL_ACCESS = STANDARD_RIGHTS_REQUIRED or SECTION_QUERY or SECTION_MAP_WRITE or SECTION_MAP_READ or SECTION_MAP_EXECUTE or SECTION_EXTEND_SIZE
|
|
FILE_MAP_COPY = SECTION_QUERY
|
|
FILE_MAP_WRITE = SECTION_MAP_WRITE
|
|
FILE_MAP_READ = SECTION_MAP_READ
|
|
FILE_MAP_ALL_ACCESS = SECTION_ALL_ACCESS
|
|
|
|
; File system flags
|
|
|
|
FILE_CASE_SENSITIVE_SEARCH = 0001h
|
|
FILE_CASE_PRESERVED_NAMES = 0002h
|
|
FILE_UNICODE_ON_DISK = 0004h
|
|
FILE_PERSISTENT_ACLS = 0008h
|
|
FILE_FILE_COMPRESSION = 0010h
|
|
FILE_VOLUME_IS_COMPRESSED = 8000h
|
|
FS_CASE_IS_PRESERVED = FILE_CASE_PRESERVED_NAMES
|
|
FS_CASE_SENSITIVE = FILE_CASE_SENSITIVE_SEARCH
|
|
FS_UNICODE_STORED_ON_DISK = FILE_UNICODE_ON_DISK
|
|
FS_PERSISTENT_ACLS = FILE_PERSISTENT_ACLS
|
|
|
|
; Drive types
|
|
|
|
DRIVE_UNKNOWN = 0
|
|
DRIVE_NO_ROOT_DIR = 1
|
|
DRIVE_REMOVABLE = 2
|
|
DRIVE_FIXED = 3
|
|
DRIVE_REMOTE = 4
|
|
DRIVE_CDROM = 5
|
|
DRIVE_RAMDISK = 6
|
|
|
|
; Pipe modes
|
|
|
|
PIPE_ACCESS_INBOUND = 1
|
|
PIPE_ACCESS_OUTBOUND = 2
|
|
PIPE_ACCESS_DUPLEX = 3
|
|
PIPE_CLIENT_END = 0
|
|
PIPE_SERVER_END = 1
|
|
PIPE_WAIT = 0
|
|
PIPE_NOWAIT = 1
|
|
PIPE_READMODE_BYTE = 0
|
|
PIPE_READMODE_MESSAGE = 2
|
|
PIPE_TYPE_BYTE = 0
|
|
PIPE_TYPE_MESSAGE = 4
|
|
PIPE_UNLIMITED_INSTANCES = 255
|
|
|
|
; Global memory flags
|
|
|
|
GMEM_FIXED = 0000h
|
|
GMEM_MOVEABLE = 0002h
|
|
GMEM_NOCOMPACT = 0010h
|
|
GMEM_NODISCARD = 0020h
|
|
GMEM_ZEROINIT = 0040h
|
|
GMEM_MODIFY = 0080h
|
|
GMEM_DISCARDABLE = 0100h
|
|
GMEM_NOT_BANKED = 1000h
|
|
GMEM_SHARE = 2000h
|
|
GMEM_DDESHARE = 2000h
|
|
GMEM_NOTIFY = 4000h
|
|
GMEM_LOWER = GMEM_NOT_BANKED
|
|
GMEM_VALID_FLAGS = 7F72h
|
|
GMEM_INVALID_HANDLE = 8000h
|
|
GMEM_DISCARDED = 4000h
|
|
GMEM_LOCKCOUNT = 0FFh
|
|
GHND = GMEM_MOVEABLE + GMEM_ZEROINIT
|
|
GPTR = GMEM_FIXED + GMEM_ZEROINIT
|
|
|
|
; Local memory flags
|
|
|
|
LMEM_FIXED = 0000h
|
|
LMEM_MOVEABLE = 0002h
|
|
LMEM_NOCOMPACT = 0010h
|
|
LMEM_NODISCARD = 0020h
|
|
LMEM_ZEROINIT = 0040h
|
|
LMEM_MODIFY = 0080h
|
|
LMEM_DISCARDABLE = 0F00h
|
|
LMEM_VALID_FLAGS = 0F72h
|
|
LMEM_INVALID_HANDLE = 8000h
|
|
LHND = LMEM_MOVEABLE + LMEM_ZEROINIT
|
|
LPTR = LMEM_FIXED + LMEM_ZEROINIT
|
|
LMEM_DISCARDED = 4000h
|
|
LMEM_LOCKCOUNT = 00FFh
|
|
|
|
; Page access flags
|
|
|
|
PAGE_NOACCESS = 001h
|
|
PAGE_READONLY = 002h
|
|
PAGE_READWRITE = 004h
|
|
PAGE_WRITECOPY = 008h
|
|
PAGE_EXECUTE = 010h
|
|
PAGE_EXECUTE_READ = 020h
|
|
PAGE_EXECUTE_READWRITE = 040h
|
|
PAGE_EXECUTE_WRITECOPY = 080h
|
|
PAGE_GUARD = 100h
|
|
PAGE_NOCACHE = 200h
|
|
|
|
; Memory allocation flags
|
|
|
|
MEM_COMMIT = 001000h
|
|
MEM_RESERVE = 002000h
|
|
MEM_DECOMMIT = 004000h
|
|
MEM_RELEASE = 008000h
|
|
MEM_FREE = 010000h
|
|
MEM_PRIVATE = 020000h
|
|
MEM_MAPPED = 040000h
|
|
MEM_RESET = 080000h
|
|
MEM_TOP_DOWN = 100000h
|
|
|
|
; Heap allocation flags
|
|
|
|
HEAP_NO_SERIALIZE = 1
|
|
HEAP_GENERATE_EXCEPTIONS = 4
|
|
HEAP_ZERO_MEMORY = 8
|
|
|
|
; Platform identifiers
|
|
|
|
VER_PLATFORM_WIN32s = 0
|
|
VER_PLATFORM_WIN32_WINDOWS = 1
|
|
VER_PLATFORM_WIN32_NT = 2
|
|
|
|
; GetBinaryType return values
|
|
|
|
SCS_32BIT_BINARY = 0
|
|
SCS_DOS_BINARY = 1
|
|
SCS_WOW_BINARY = 2
|
|
SCS_PIF_BINARY = 3
|
|
SCS_POSIX_BINARY = 4
|
|
SCS_OS216_BINARY = 5
|
|
|
|
; CreateProcess flags
|
|
|
|
DEBUG_PROCESS = 001h
|
|
DEBUG_ONLY_THIS_PROCESS = 002h
|
|
CREATE_SUSPENDED = 004h
|
|
DETACHED_PROCESS = 008h
|
|
CREATE_NEW_CONSOLE = 010h
|
|
NORMAL_PRIORITY_CLASS = 020h
|
|
IDLE_PRIORITY_CLASS = 040h
|
|
HIGH_PRIORITY_CLASS = 080h
|
|
REALTIME_PRIORITY_CLASS = 100h
|
|
CREATE_NEW_PROCESS_GROUP = 200h
|
|
CREATE_SEPARATE_WOW_VDM = 800h
|
|
|
|
; Thread priority values
|
|
|
|
THREAD_BASE_PRIORITY_MIN = -2
|
|
THREAD_BASE_PRIORITY_MAX = 2
|
|
THREAD_BASE_PRIORITY_LOWRT = 15
|
|
THREAD_BASE_PRIORITY_IDLE = -15
|
|
THREAD_PRIORITY_LOWEST = THREAD_BASE_PRIORITY_MIN
|
|
THREAD_PRIORITY_BELOW_NORMAL = THREAD_PRIORITY_LOWEST + 1
|
|
THREAD_PRIORITY_NORMAL = 0
|
|
THREAD_PRIORITY_HIGHEST = THREAD_BASE_PRIORITY_MAX
|
|
THREAD_PRIORITY_ABOVE_NORMAL = THREAD_PRIORITY_HIGHEST - 1
|
|
THREAD_PRIORITY_ERROR_RETURN = 7FFFFFFFh
|
|
THREAD_PRIORITY_TIME_CRITICAL = THREAD_BASE_PRIORITY_LOWRT
|
|
THREAD_PRIORITY_IDLE = THREAD_BASE_PRIORITY_IDLE
|
|
|
|
; Startup flags
|
|
|
|
STARTF_USESHOWWINDOW = 001h
|
|
STARTF_USESIZE = 002h
|
|
STARTF_USEPOSITION = 004h
|
|
STARTF_USECOUNTCHARS = 008h
|
|
STARTF_USEFILLATTRIBUTE = 010h
|
|
STARTF_RUNFULLSCREEN = 020h
|
|
STARTF_FORCEONFEEDBACK = 040h
|
|
STARTF_FORCEOFFFEEDBACK = 080h
|
|
STARTF_USESTDHANDLES = 100h
|
|
|
|
; Shutdown flags
|
|
|
|
SHUTDOWN_NORETRY = 1h
|
|
|
|
; LoadLibraryEx flags
|
|
|
|
DONT_RESOLVE_DLL_REFERENCES = 1
|
|
LOAD_LIBRARY_AS_DATAFILE = 2
|
|
LOAD_WITH_ALTERED_SEARCH_PATH = 8
|
|
|
|
; DLL entry-point calls
|
|
|
|
DLL_PROCESS_DETACH = 0
|
|
DLL_PROCESS_ATTACH = 1
|
|
DLL_THREAD_ATTACH = 2
|
|
DLL_THREAD_DETACH = 3
|
|
|
|
; Status codes
|
|
|
|
STATUS_WAIT_0 = 000000000h
|
|
STATUS_ABANDONED_WAIT_0 = 000000080h
|
|
STATUS_USER_APC = 0000000C0h
|
|
STATUS_TIMEOUT = 000000102h
|
|
STATUS_PENDING = 000000103h
|
|
STATUS_DATATYPE_MISALIGNMENT = 080000002h
|
|
STATUS_BREAKPOINT = 080000003h
|
|
STATUS_SINGLE_STEP = 080000004h
|
|
STATUS_ACCESS_VIOLATION = 0C0000005h
|
|
STATUS_IN_PAGE_ERROR = 0C0000006h
|
|
STATUS_NO_MEMORY = 0C0000017h
|
|
STATUS_ILLEGAL_INSTRUCTION = 0C000001Dh
|
|
STATUS_NONCONTINUABLE_EXCEPTION = 0C0000025h
|
|
STATUS_INVALID_DISPOSITION = 0C0000026h
|
|
STATUS_ARRAY_BOUNDS_EXCEEDED = 0C000008Ch
|
|
STATUS_FLOAT_DENORMAL_OPERAND = 0C000008Dh
|
|
STATUS_FLOAT_DIVIDE_BY_ZERO = 0C000008Eh
|
|
STATUS_FLOAT_INEXACT_RESULT = 0C000008Fh
|
|
STATUS_FLOAT_INVALID_OPERATION = 0C0000090h
|
|
STATUS_FLOAT_OVERFLOW = 0C0000091h
|
|
STATUS_FLOAT_STACK_CHECK = 0C0000092h
|
|
STATUS_FLOAT_UNDERFLOW = 0C0000093h
|
|
STATUS_INTEGER_DIVIDE_BY_ZERO = 0C0000094h
|
|
STATUS_INTEGER_OVERFLOW = 0C0000095h
|
|
STATUS_PRIVILEGED_INSTRUCTION = 0C0000096h
|
|
STATUS_STACK_OVERFLOW = 0C00000FDh
|
|
STATUS_CONTROL_C_EXIT = 0C000013Ah
|
|
WAIT_FAILED = -1
|
|
WAIT_OBJECT_0 = STATUS_WAIT_0
|
|
WAIT_ABANDONED = STATUS_ABANDONED_WAIT_0
|
|
WAIT_ABANDONED_0 = STATUS_ABANDONED_WAIT_0
|
|
WAIT_TIMEOUT = STATUS_TIMEOUT
|
|
WAIT_IO_COMPLETION = STATUS_USER_APC
|
|
STILL_ACTIVE = STATUS_PENDING
|
|
|
|
; Exception codes
|
|
|
|
EXCEPTION_CONTINUABLE = 0
|
|
EXCEPTION_NONCONTINUABLE = 1
|
|
EXCEPTION_ACCESS_VIOLATION = STATUS_ACCESS_VIOLATION
|
|
EXCEPTION_DATATYPE_MISALIGNMENT = STATUS_DATATYPE_MISALIGNMENT
|
|
EXCEPTION_BREAKPOINT = STATUS_BREAKPOINT
|
|
EXCEPTION_SINGLE_STEP = STATUS_SINGLE_STEP
|
|
EXCEPTION_ARRAY_BOUNDS_EXCEEDED = STATUS_ARRAY_BOUNDS_EXCEEDED
|
|
EXCEPTION_FLT_DENORMAL_OPERAND = STATUS_FLOAT_DENORMAL_OPERAND
|
|
EXCEPTION_FLT_DIVIDE_BY_ZERO = STATUS_FLOAT_DIVIDE_BY_ZERO
|
|
EXCEPTION_FLT_INEXACT_RESULT = STATUS_FLOAT_INEXACT_RESULT
|
|
EXCEPTION_FLT_INVALID_OPERATION = STATUS_FLOAT_INVALID_OPERATION
|
|
EXCEPTION_FLT_OVERFLOW = STATUS_FLOAT_OVERFLOW
|
|
EXCEPTION_FLT_STACK_CHECK = STATUS_FLOAT_STACK_CHECK
|
|
EXCEPTION_FLT_UNDERFLOW = STATUS_FLOAT_UNDERFLOW
|
|
EXCEPTION_INT_DIVIDE_BY_ZERO = STATUS_INTEGER_DIVIDE_BY_ZERO
|
|
EXCEPTION_INT_OVERFLOW = STATUS_INTEGER_OVERFLOW
|
|
EXCEPTION_ILLEGAL_INSTRUCTION = STATUS_ILLEGAL_INSTRUCTION
|
|
EXCEPTION_PRIV_INSTRUCTION = STATUS_PRIVILEGED_INSTRUCTION
|
|
EXCEPTION_IN_PAGE_ERROR = STATUS_IN_PAGE_ERROR
|
|
|
|
; Registry options
|
|
|
|
REG_OPTION_RESERVED = 0
|
|
REG_OPTION_NON_VOLATILE = 0
|
|
REG_OPTION_VOLATILE = 1
|
|
REG_OPTION_CREATE_LINK = 2
|
|
REG_OPTION_BACKUP_RESTORE = 4
|
|
REG_CREATED_NEW_KEY = 1
|
|
REG_OPENED_EXISTING_KEY = 2
|
|
REG_WHOLE_HIVE_VOLATILE = 1
|
|
REG_REFRESH_HIVE = 2
|
|
REG_NOTIFY_CHANGE_NAME = 1
|
|
REG_NOTIFY_CHANGE_ATTRIBUTES = 2
|
|
REG_NOTIFY_CHANGE_LAST_SET = 4
|
|
REG_NOTIFY_CHANGE_SECURITY = 8
|
|
REG_LEGAL_CHANGE_FILTER = REG_NOTIFY_CHANGE_NAME or REG_NOTIFY_CHANGE_ATTRIBUTES or REG_NOTIFY_CHANGE_LAST_SET or REG_NOTIFY_CHANGE_SECURITY
|
|
REG_LEGAL_OPTION = REG_OPTION_RESERVED or REG_OPTION_NON_VOLATILE or REG_OPTION_VOLATILE or REG_OPTION_CREATE_LINK or REG_OPTION_BACKUP_RESTORE
|
|
REG_NONE = 0
|
|
REG_SZ = 1
|
|
REG_EXPAND_SZ = 2
|
|
REG_BINARY = 3
|
|
REG_DWORD = 4
|
|
REG_DWORD_LITTLE_ENDIAN = 4
|
|
REG_DWORD_BIG_ENDIAN = 5
|
|
REG_LINK = 6
|
|
REG_MULTI_SZ = 7
|
|
REG_RESOURCE_LIST = 8
|
|
REG_FULL_RESOURCE_DESCRIPTOR = 9
|
|
REG_RESOURCE_REQUIREMENTS_LIST = 10
|
|
|
|
; Registry access modes
|
|
|
|
KEY_QUERY_VALUE = 1
|
|
KEY_SET_VALUE = 2
|
|
KEY_CREATE_SUB_KEY = 4
|
|
KEY_ENUMERATE_SUB_KEYS = 8
|
|
KEY_NOTIFY = 10h
|
|
KEY_CREATE_LINK = 20h
|
|
KEY_READ = STANDARD_RIGHTS_READ or KEY_QUERY_VALUE or KEY_ENUMERATE_SUB_KEYS or KEY_NOTIFY and not SYNCHRONIZE
|
|
KEY_WRITE = STANDARD_RIGHTS_WRITE or KEY_SET_VALUE or KEY_CREATE_SUB_KEY and not SYNCHRONIZE
|
|
KEY_EXECUTE = KEY_READ
|
|
KEY_ALL_ACCESS = STANDARD_RIGHTS_ALL or KEY_QUERY_VALUE or KEY_SET_VALUE or KEY_CREATE_SUB_KEY or KEY_ENUMERATE_SUB_KEYS or KEY_NOTIFY or KEY_CREATE_LINK and not SYNCHRONIZE
|
|
|
|
; Predefined registry keys
|
|
|
|
HKEY_CLASSES_ROOT = 80000000h
|
|
HKEY_CURRENT_USER = 80000001h
|
|
HKEY_LOCAL_MACHINE = 80000002h
|
|
HKEY_USERS = 80000003h
|
|
HKEY_PERFORMANCE_DATA = 80000004h
|
|
HKEY_CURRENT_CONFIG = 80000005h
|
|
HKEY_DYN_DATA = 80000006h
|
|
|
|
; FormatMessage flags
|
|
|
|
FORMAT_MESSAGE_ALLOCATE_BUFFER = 0100h
|
|
FORMAT_MESSAGE_IGNORE_INSERTS = 0200h
|
|
FORMAT_MESSAGE_FROM_STRING = 0400h
|
|
FORMAT_MESSAGE_FROM_HMODULE = 0800h
|
|
FORMAT_MESSAGE_FROM_SYSTEM = 1000h
|
|
FORMAT_MESSAGE_ARGUMENT_ARRAY = 2000h
|
|
FORMAT_MESSAGE_MAX_WIDTH_MASK = 00FFh
|
|
|
|
; Language identifiers
|
|
|
|
LANG_NEUTRAL = 00h
|
|
LANG_BULGARIAN = 02h
|
|
LANG_CHINESE = 04h
|
|
LANG_CROATIAN = 1Ah
|
|
LANG_CZECH = 05h
|
|
LANG_DANISH = 06h
|
|
LANG_DUTCH = 13h
|
|
LANG_ENGLISH = 09h
|
|
LANG_FINNISH = 0Bh
|
|
LANG_FRENCH = 0Ch
|
|
LANG_GERMAN = 07h
|
|
LANG_GREEK = 08h
|
|
LANG_HUNGARIAN = 0Eh
|
|
LANG_ICELANDIC = 0Fh
|
|
LANG_ITALIAN = 10h
|
|
LANG_JAPANESE = 11h
|
|
LANG_KOREAN = 12h
|
|
LANG_NORWEGIAN = 14h
|
|
LANG_POLISH = 15h
|
|
LANG_PORTUGUESE = 16h
|
|
LANG_ROMANIAN = 18h
|
|
LANG_RUSSIAN = 19h
|
|
LANG_SLOVAK = 1Bh
|
|
LANG_SLOVENIAN = 24h
|
|
LANG_SPANISH = 0Ah
|
|
LANG_SWEDISH = 1Dh
|
|
LANG_THAI = 1Eh
|
|
LANG_TURKISH = 1Fh
|
|
|
|
; Sublanguage identifiers
|
|
|
|
SUBLANG_NEUTRAL = 00h shl 10
|
|
SUBLANG_DEFAULT = 01h shl 10
|
|
SUBLANG_SYS_DEFAULT = 02h shl 10
|
|
SUBLANG_CHINESE_TRADITIONAL = 01h shl 10
|
|
SUBLANG_CHINESE_SIMPLIFIED = 02h shl 10
|
|
SUBLANG_CHINESE_HONGKONG = 03h shl 10
|
|
SUBLANG_CHINESE_SINGAPORE = 04h shl 10
|
|
SUBLANG_DUTCH = 01h shl 10
|
|
SUBLANG_DUTCH_BELGIAN = 02h shl 10
|
|
SUBLANG_ENGLISH_US = 01h shl 10
|
|
SUBLANG_ENGLISH_UK = 02h shl 10
|
|
SUBLANG_ENGLISH_AUS = 03h shl 10
|
|
SUBLANG_ENGLISH_CAN = 04h shl 10
|
|
SUBLANG_ENGLISH_NZ = 05h shl 10
|
|
SUBLANG_ENGLISH_EIRE = 06h shl 10
|
|
SUBLANG_FRENCH = 01h shl 10
|
|
SUBLANG_FRENCH_BELGIAN = 02h shl 10
|
|
SUBLANG_FRENCH_CANADIAN = 03h shl 10
|
|
SUBLANG_FRENCH_SWISS = 04h shl 10
|
|
SUBLANG_GERMAN = 01h shl 10
|
|
SUBLANG_GERMAN_SWISS = 02h shl 10
|
|
SUBLANG_GERMAN_AUSTRIAN = 03h shl 10
|
|
SUBLANG_ITALIAN = 01h shl 10
|
|
SUBLANG_ITALIAN_SWISS = 02h shl 10
|
|
SUBLANG_NORWEGIAN_BOKMAL = 01h shl 10
|
|
SUBLANG_NORWEGIAN_NYNORSK = 02h shl 10
|
|
SUBLANG_PORTUGUESE = 02h shl 10
|
|
SUBLANG_PORTUGUESE_BRAZILIAN = 01h shl 10
|
|
SUBLANG_SPANISH = 01h shl 10
|
|
SUBLANG_SPANISH_MEXICAN = 02h shl 10
|
|
SUBLANG_SPANISH_MODERN = 03h shl 10
|
|
|
|
; Sorting identifiers
|
|
|
|
SORT_DEFAULT = 0 shl 16
|
|
SORT_JAPANESE_XJIS = 0 shl 16
|
|
SORT_JAPANESE_UNICODE = 1 shl 16
|
|
SORT_CHINESE_BIG5 = 0 shl 16
|
|
SORT_CHINESE_PRCP = 0 shl 16
|
|
SORT_CHINESE_UNICODE = 1 shl 16
|
|
SORT_CHINESE_PRC = 2 shl 16
|
|
SORT_CHINESE_BOPOMOFO = 3 shl 16
|
|
SORT_KOREAN_KSC = 0 shl 16
|
|
SORT_KOREAN_UNICODE = 1 shl 16
|
|
SORT_GERMAN_PHONE_BOOK = 1 shl 16
|
|
SORT_HUNGARIAN_DEFAULT = 0 shl 16
|
|
SORT_HUNGARIAN_TECHNICAL = 1 shl 16
|
|
|
|
; Code pages
|
|
|
|
CP_ACP = 0 ; default to ANSI code page
|
|
CP_OEMCP = 1 ; default to OEM code page
|
|
CP_MACCP = 2 ; default to MAC code page
|
|
CP_THREAD_ACP = 3 ; current thread's ANSI code page
|
|
CP_SYMBOL = 42 ; SYMBOL translations
|
|
CP_UTF7 = 65000 ; UTF-7 translation
|
|
CP_UTF8 = 65001 ; UTF-8 translation
|
|
|
|
; Resource types
|
|
|
|
RT_CURSOR = 1
|
|
RT_BITMAP = 2
|
|
RT_ICON = 3
|
|
RT_MENU = 4
|
|
RT_DIALOG = 5
|
|
RT_STRING = 6
|
|
RT_FONTDIR = 7
|
|
RT_FONT = 8
|
|
RT_ACCELERATOR = 9
|
|
RT_RCDATA = 10
|
|
RT_MESSAGETABLE = 11
|
|
RT_GROUP_CURSOR = 12
|
|
RT_GROUP_ICON = 14
|
|
RT_VERSION = 16
|
|
RT_DLGINCLUDE = 17
|
|
RT_PLUGPLAY = 19
|
|
RT_VXD = 20
|
|
RT_ANICURSOR = 21
|
|
RT_ANIICON = 22
|
|
RT_HTML = 23
|
|
RT_MANIFEST = 24
|
|
|
|
; Clipboard formats
|
|
|
|
CF_TEXT = 001h
|
|
CF_BITMAP = 002h
|
|
CF_METAFILEPICT = 003h
|
|
CF_SYLK = 004h
|
|
CF_DIF = 005h
|
|
CF_TIFF = 006h
|
|
CF_OEMTEXT = 007h
|
|
CF_DIB = 008h
|
|
CF_PALETTE = 009h
|
|
CF_PENDATA = 00Ah
|
|
CF_RIFF = 00Bh
|
|
CF_WAVE = 00Ch
|
|
CF_UNICODETEXT = 00Dh
|
|
CF_ENHMETAFILE = 00Eh
|
|
CF_HDROP = 00Fh
|
|
CF_LOCALE = 010h
|
|
CF_OWNERDISPLAY = 080h
|
|
CF_DSPTEXT = 081h
|
|
CF_DSPBITMAP = 082h
|
|
CF_DSPMETAFILEPICT = 083h
|
|
CF_DSPENHMETAFILE = 08Eh
|
|
CF_PRIVATEFIRST = 200h
|
|
CF_PRIVATELAST = 2FFh
|
|
CF_GDIOBJFIRST = 300h
|
|
CF_GDIOBJLAST = 3FFh
|
|
|
|
; OS types for version info
|
|
|
|
VOS_UNKNOWN = 00000000h
|
|
VOS_DOS = 00010000h
|
|
VOS_OS216 = 00020000h
|
|
VOS_OS232 = 00030000h
|
|
VOS_NT = 00040000h
|
|
VOS__BASE = 00000000h
|
|
VOS__WINDOWS16 = 00000001h
|
|
VOS__PM16 = 00000002h
|
|
VOS__PM32 = 00000003h
|
|
VOS__WINDOWS32 = 00000004h
|
|
VOS_DOS_WINDOWS16 = 00010001h
|
|
VOS_DOS_WINDOWS32 = 00010004h
|
|
VOS_OS216_PM16 = 00020002h
|
|
VOS_OS232_PM32 = 00030003h
|
|
VOS_NT_WINDOWS32 = 00040004h
|
|
|
|
; File types for version info
|
|
|
|
VFT_UNKNOWN = 00000000h
|
|
VFT_APP = 00000001h
|
|
VFT_DLL = 00000002h
|
|
VFT_DRV = 00000003h
|
|
VFT_FONT = 00000004h
|
|
VFT_VXD = 00000005h
|
|
VFT_STATIC_LIB = 00000007h
|
|
|
|
; File subtypes for version info
|
|
|
|
VFT2_UNKNOWN = 00000000h
|
|
VFT2_DRV_PRINTER = 00000001h
|
|
VFT2_DRV_KEYBOARD = 00000002h
|
|
VFT2_DRV_LANGUAGE = 00000003h
|
|
VFT2_DRV_DISPLAY = 00000004h
|
|
VFT2_DRV_MOUSE = 00000005h
|
|
VFT2_DRV_NETWORK = 00000006h
|
|
VFT2_DRV_SYSTEM = 00000007h
|
|
VFT2_DRV_INSTALLABLE = 00000008h
|
|
VFT2_DRV_SOUND = 00000009h
|
|
VFT2_DRV_COMM = 0000000Ah
|
|
VFT2_DRV_INPUTMETHOD = 0000000Bh
|
|
VFT2_DRV_VERSIONED_PRINTER = 0000000Ch
|
|
VFT2_FONT_RASTER = 00000001h
|
|
VFT2_FONT_VECTOR = 00000002h
|
|
VFT2_FONT_TRUETYPE = 00000003h
|
|
|
|
; Console control signals
|
|
|
|
CTRL_C_EVENT = 0
|
|
CTRL_BREAK_EVENT = 1
|
|
CTRL_CLOSE_EVENT = 2
|
|
CTRL_LOGOFF_EVENT = 5
|
|
CTRL_SHUTDOWN_EVENT = 6
|
|
|
|
; Standard file handles
|
|
|
|
STD_INPUT_HANDLE = 0FFFFFFF6h
|
|
STD_OUTPUT_HANDLE = 0FFFFFFF5h
|
|
STD_ERROR_HANDLE = 0FFFFFFF4h
|