📄 kernel32.inc
字号:
; 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
dwiLength 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 FINDDATA
dwFileAttributes dd ?
ftCreationTime FILETIME
ftLastAccessTime FILETIME
ftLastWriteTime FILETIME
nFileSizeHigh dd ?
nFileSizeLow dd ?
dwReserved0 dd ?
dwReserved1 dd ?
cFileName TCHAR 260 dup (?)
cAlternateFileName TCHAR 14 dup (?)
ends
struct FINDDATAA
dwFileAttributes dd ?
ftCreationTime FILETIME
ftLastAccessTime FILETIME
ftLastWriteTime FILETIME
nFileSizeHigh dd ?
nFileSizeLow dd ?
dwReserved0 dd ?
dwReserved1 dd ?
cFileName db 260 dup (?)
cAlternateFileName db 14 dup (?)
ends
struct FINDDATAW
dwFileAttributes dd ?
ftCreationTime FILETIME
ftLastAccessTime FILETIME
ftLastWriteTime FILETIME
nFileSizeHigh dd ?
nFileSizeLow dd ?
dwReserved0 dd ?
dwReserved1 dd ?
cFileName du 260 dup (?)
cAlternateFileName du 14 dup (?)
ends
; General constants
NULL = 0
TRUE = 1
FALSE = 0
; 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
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -