📄 winnt.int
字号:
IMAGE_SUBSYSTEM_WINDOWS_CE_GUI = 9; // Image runs in the Windows CE subsystem.
{$EXTERNALSYM IMAGE_SUBSYSTEM_WINDOWS_CE_GUI}
IMAGE_SUBSYSTEM_EFI_APPLICATION = 10;
{$EXTERNALSYM IMAGE_SUBSYSTEM_EFI_APPLICATION}
IMAGE_SUBSYSTEM_EFI_BOOT_SERVICE_DRIVER = 11;
{$EXTERNALSYM IMAGE_SUBSYSTEM_EFI_BOOT_SERVICE_DRIVER}
IMAGE_SUBSYSTEM_EFI_RUNTIME_DRIVER = 12;
{$EXTERNALSYM IMAGE_SUBSYSTEM_EFI_RUNTIME_DRIVER}
IMAGE_SUBSYSTEM_EFI_ROM = 13;
{$EXTERNALSYM IMAGE_SUBSYSTEM_EFI_ROM}
IMAGE_SUBSYSTEM_XBOX = 14;
{$EXTERNALSYM IMAGE_SUBSYSTEM_XBOX}
// DllCharacteristics Entries
// IMAGE_LIBRARY_PROCESS_INIT 0x0001 // Reserved.
// IMAGE_LIBRARY_PROCESS_TERM 0x0002 // Reserved.
// IMAGE_LIBRARY_THREAD_INIT 0x0004 // Reserved.
// IMAGE_LIBRARY_THREAD_TERM 0x0008 // Reserved.
IMAGE_DLLCHARACTERISTICS_NO_ISOLATION = $0200; // Image understands isolation and doesn't want it
{$EXTERNALSYM IMAGE_DLLCHARACTERISTICS_NO_ISOLATION}
IMAGE_DLLCHARACTERISTICS_NO_SEH = $0400; // Image does not use SEH. No SE handler may reside in this image
{$EXTERNALSYM IMAGE_DLLCHARACTERISTICS_NO_SEH}
IMAGE_DLLCHARACTERISTICS_NO_BIND = $0800; // Do not bind this image.
{$EXTERNALSYM IMAGE_DLLCHARACTERISTICS_NO_BIND}
// 0x1000 // Reserved.
IMAGE_DLLCHARACTERISTICS_WDM_DRIVER = $2000; // Driver uses WDM model
{$EXTERNALSYM IMAGE_DLLCHARACTERISTICS_WDM_DRIVER}
// 0x4000 // Reserved.
IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE = $8000;
{$EXTERNALSYM IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE}
// Directory Entries
IMAGE_DIRECTORY_ENTRY_EXPORT = 0; // Export Directory
{$EXTERNALSYM IMAGE_DIRECTORY_ENTRY_EXPORT}
IMAGE_DIRECTORY_ENTRY_IMPORT = 1; // Import Directory
{$EXTERNALSYM IMAGE_DIRECTORY_ENTRY_IMPORT}
IMAGE_DIRECTORY_ENTRY_RESOURCE = 2; // Resource Directory
{$EXTERNALSYM IMAGE_DIRECTORY_ENTRY_RESOURCE}
IMAGE_DIRECTORY_ENTRY_EXCEPTION = 3; // Exception Directory
{$EXTERNALSYM IMAGE_DIRECTORY_ENTRY_EXCEPTION}
IMAGE_DIRECTORY_ENTRY_SECURITY = 4; // Security Directory
{$EXTERNALSYM IMAGE_DIRECTORY_ENTRY_SECURITY}
IMAGE_DIRECTORY_ENTRY_BASERELOC = 5; // Base Relocation Table
{$EXTERNALSYM IMAGE_DIRECTORY_ENTRY_BASERELOC}
IMAGE_DIRECTORY_ENTRY_DEBUG = 6; // Debug Directory
{$EXTERNALSYM IMAGE_DIRECTORY_ENTRY_DEBUG}
// IMAGE_DIRECTORY_ENTRY_COPYRIGHT 7 // (X86 usage)
IMAGE_DIRECTORY_ENTRY_ARCHITECTURE = 7; // Architecture Specific Data
{$EXTERNALSYM IMAGE_DIRECTORY_ENTRY_ARCHITECTURE}
IMAGE_DIRECTORY_ENTRY_GLOBALPTR = 8; // RVA of GP
{$EXTERNALSYM IMAGE_DIRECTORY_ENTRY_GLOBALPTR}
IMAGE_DIRECTORY_ENTRY_TLS = 9; // TLS Directory
{$EXTERNALSYM IMAGE_DIRECTORY_ENTRY_TLS}
IMAGE_DIRECTORY_ENTRY_LOAD_CONFIG = 10; // Load Configuration Directory
{$EXTERNALSYM IMAGE_DIRECTORY_ENTRY_LOAD_CONFIG}
IMAGE_DIRECTORY_ENTRY_BOUND_IMPORT = 11; // Bound Import Directory in headers
{$EXTERNALSYM IMAGE_DIRECTORY_ENTRY_BOUND_IMPORT}
IMAGE_DIRECTORY_ENTRY_IAT = 12; // Import Address Table
{$EXTERNALSYM IMAGE_DIRECTORY_ENTRY_IAT}
IMAGE_DIRECTORY_ENTRY_DELAY_IMPORT = 13; // Delay Load Import Descriptors
{$EXTERNALSYM IMAGE_DIRECTORY_ENTRY_DELAY_IMPORT}
IMAGE_DIRECTORY_ENTRY_COM_DESCRIPTOR = 14; // COM Runtime descriptor
{$EXTERNALSYM IMAGE_DIRECTORY_ENTRY_COM_DESCRIPTOR}
//
// Non-COFF Object file header
//
type
PAnonObjectHeader = ^ANON_OBJECT_HEADER;
ANON_OBJECT_HEADER = record
Sig1: Word; // Must be IMAGE_FILE_MACHINE_UNKNOWN
Sig2: Word; // Must be 0xffff
Version: Word; // >= 1 (implies the CLSID field is present)
Machine: Word;
TimeDateStamp: DWORD;
ClassID: TCLSID; // Used to invoke CoCreateInstance
SizeOfData: DWORD; // Size of data that follows the header
end;
{$EXTERNALSYM ANON_OBJECT_HEADER}
TAnonObjectHeader = ANON_OBJECT_HEADER;
//
// Section header format.
//
const
IMAGE_SIZEOF_SHORT_NAME = 8;
{$EXTERNALSYM IMAGE_SIZEOF_SHORT_NAME}
type
{$IFDEF FPC}
TImgSecHdrMisc = record
case Integer of
0: (PhysicalAddress: DWORD);
1: (VirtualSize: DWORD);
end;
PIMAGE_SECTION_HEADER = ^IMAGE_SECTION_HEADER;
{$EXTERNALSYM PIMAGE_SECTION_HEADER}
_IMAGE_SECTION_HEADER = record
Name: array [0..IMAGE_SIZEOF_SHORT_NAME - 1] of BYTE;
Misc: TImgSecHdrMisc;
VirtualAddress: DWORD;
SizeOfRawData: DWORD;
PointerToRawData: DWORD;
PointerToRelocations: DWORD;
PointerToLinenumbers: DWORD;
NumberOfRelocations: WORD;
NumberOfLinenumbers: WORD;
Characteristics: DWORD;
end;
{$EXTERNALSYM _IMAGE_SECTION_HEADER}
IMAGE_SECTION_HEADER = _IMAGE_SECTION_HEADER;
{$EXTERNALSYM IMAGE_SECTION_HEADER}
TImageSectionHeader = IMAGE_SECTION_HEADER;
PImageSectionHeader = PIMAGE_SECTION_HEADER;
{$ENDIF FPC}
PPImageSectionHeader = ^PImageSectionHeader;
// IMAGE_FIRST_SECTION doesn't need 32/64 versions since the file header is the same either way.
function IMAGE_FIRST_SECTION(NtHeader: PImageNtHeaders): PImageSectionHeader;
{$EXTERNALSYM IMAGE_FIRST_SECTION}
const
IMAGE_SIZEOF_SECTION_HEADER = 40;
{$EXTERNALSYM IMAGE_SIZEOF_SECTION_HEADER}
//
// Section characteristics.
//
// IMAGE_SCN_TYPE_REG 0x00000000 // Reserved.
// IMAGE_SCN_TYPE_DSECT 0x00000001 // Reserved.
// IMAGE_SCN_TYPE_NOLOAD 0x00000002 // Reserved.
// IMAGE_SCN_TYPE_GROUP 0x00000004 // Reserved.
IMAGE_SCN_TYPE_NO_PAD = $00000008; // Reserved.
{$EXTERNALSYM IMAGE_SCN_TYPE_NO_PAD}
// IMAGE_SCN_TYPE_COPY 0x00000010 // Reserved.
IMAGE_SCN_CNT_CODE = $00000020; // Section contains code.
{$EXTERNALSYM IMAGE_SCN_CNT_CODE}
IMAGE_SCN_CNT_INITIALIZED_DATA = $00000040; // Section contains initialized data.
{$EXTERNALSYM IMAGE_SCN_CNT_INITIALIZED_DATA}
IMAGE_SCN_CNT_UNINITIALIZED_DATA = $00000080; // Section contains uninitialized data.
{$EXTERNALSYM IMAGE_SCN_CNT_UNINITIALIZED_DATA}
IMAGE_SCN_LNK_OTHER = $00000100; // Reserved.
{$EXTERNALSYM IMAGE_SCN_LNK_OTHER}
IMAGE_SCN_LNK_INFO = $00000200; // Section contains comments or some other type of information.
{$EXTERNALSYM IMAGE_SCN_LNK_INFO}
// IMAGE_SCN_TYPE_OVER 0x00000400 // Reserved.
IMAGE_SCN_LNK_REMOVE = $00000800; // Section contents will not become part of image.
{$EXTERNALSYM IMAGE_SCN_LNK_REMOVE}
IMAGE_SCN_LNK_COMDAT = $00001000; // Section contents comdat.
{$EXTERNALSYM IMAGE_SCN_LNK_COMDAT}
// 0x00002000 // Reserved.
// IMAGE_SCN_MEM_PROTECTED - Obsolete 0x00004000
IMAGE_SCN_NO_DEFER_SPEC_EXC = $00004000; // Reset speculative exceptions handling bits in the TLB entries for this section.
{$EXTERNALSYM IMAGE_SCN_NO_DEFER_SPEC_EXC}
IMAGE_SCN_GPREL = $00008000; // Section content can be accessed relative to GP
{$EXTERNALSYM IMAGE_SCN_GPREL}
IMAGE_SCN_MEM_FARDATA = $00008000;
{$EXTERNALSYM IMAGE_SCN_MEM_FARDATA}
// IMAGE_SCN_MEM_SYSHEAP - Obsolete 0x00010000
IMAGE_SCN_MEM_PURGEABLE = $00020000;
{$EXTERNALSYM IMAGE_SCN_MEM_PURGEABLE}
IMAGE_SCN_MEM_16BIT = $00020000;
{$EXTERNALSYM IMAGE_SCN_MEM_16BIT}
IMAGE_SCN_MEM_LOCKED = $00040000;
{$EXTERNALSYM IMAGE_SCN_MEM_LOCKED}
IMAGE_SCN_MEM_PRELOAD = $00080000;
{$EXTERNALSYM IMAGE_SCN_MEM_PRELOAD}
IMAGE_SCN_ALIGN_1BYTES = $00100000;
{$EXTERNALSYM IMAGE_SCN_ALIGN_1BYTES}
IMAGE_SCN_ALIGN_2BYTES = $00200000;
{$EXTERNALSYM IMAGE_SCN_ALIGN_2BYTES}
IMAGE_SCN_ALIGN_4BYTES = $00300000;
{$EXTERNALSYM IMAGE_SCN_ALIGN_4BYTES}
IMAGE_SCN_ALIGN_8BYTES = $00400000;
{$EXTERNALSYM IMAGE_SCN_ALIGN_8BYTES}
IMAGE_SCN_ALIGN_16BYTES = $00500000; // Default alignment if no others are specified.
{$EXTERNALSYM IMAGE_SCN_ALIGN_16BYTES}
IMAGE_SCN_ALIGN_32BYTES = $00600000;
{$EXTERNALSYM IMAGE_SCN_ALIGN_32BYTES}
IMAGE_SCN_ALIGN_64BYTES = $00700000;
{$EXTERNALSYM IMAGE_SCN_ALIGN_64BYTES}
IMAGE_SCN_ALIGN_128BYTES = $00800000;
{$EXTERNALSYM IMAGE_SCN_ALIGN_128BYTES}
IMAGE_SCN_ALIGN_256BYTES = $00900000;
{$EXTERNALSYM IMAGE_SCN_ALIGN_256BYTES}
IMAGE_SCN_ALIGN_512BYTES = $00A00000;
{$EXTERNALSYM IMAGE_SCN_ALIGN_512BYTES}
IMAGE_SCN_ALIGN_1024BYTES = $00B00000;
{$EXTERNALSYM IMAGE_SCN_ALIGN_1024BYTES}
IMAGE_SCN_ALIGN_2048BYTES = $00C00000;
{$EXTERNALSYM IMAGE_SCN_ALIGN_2048BYTES}
IMAGE_SCN_ALIGN_4096BYTES = $00D00000;
{$EXTERNALSYM IMAGE_SCN_ALIGN_4096BYTES}
IMAGE_SCN_ALIGN_8192BYTES = $00E00000;
{$EXTERNALSYM IMAGE_SCN_ALIGN_8192BYTES}
// Unused 0x00F00000
IMAGE_SCN_ALIGN_MASK = $00F00000;
{$EXTERNALSYM IMAGE_SCN_ALIGN_MASK}
IMAGE_SCN_LNK_NRELOC_OVFL = $01000000; // Section contains extended relocations.
{$EXTERNALSYM IMAGE_SCN_LNK_NRELOC_OVFL}
IMAGE_SCN_MEM_DISCARDABLE = $02000000; // Section can be discarded.
{$EXTERNALSYM IMAGE_SCN_MEM_DISCARDABLE}
IMAGE_SCN_MEM_NOT_CACHED = $04000000; // Section is not cachable.
{$EXTERNALSYM IMAGE_SCN_MEM_NOT_CACHED}
IMAGE_SCN_MEM_NOT_PAGED = $08000000; // Section is not pageable.
{$EXTERNALSYM IMAGE_SCN_MEM_NOT_PAGED}
IMAGE_SCN_MEM_SHARED = $10000000; // Section is shareable.
{$EXTERNALSYM IMAGE_SCN_MEM_SHARED}
IMAGE_SCN_MEM_EXECUTE = $20000000; // Section is executable.
{$EXTERNALSYM IMAGE_SCN_MEM_EXECUTE}
IMAGE_SCN_MEM_READ = $40000000; // Section is readable.
{$EXTERNALSYM IMAGE_SCN_MEM_READ}
IMAGE_SCN_MEM_WRITE = DWORD($80000000); // Section is writeable.
{$EXTERNALSYM IMAGE_SCN_MEM_WRITE}
// line 6232
//
// Line number format.
//
type
TImgLineNoType = record
case Integer of
0: (SymbolTableIndex: DWORD); // Symbol table index of function name if Linenumber is 0.
1: (VirtualAddress: DWORD); // Virtual address of line number.
end;
PIMAGE_LINENUMBER = ^IMAGE_LINENUMBER;
{$EXTERNALSYM PIMAGE_LINENUMBER}
_IMAGE_LINENUMBER = record
Type_: TImgLineNoType;
Linenumber: WORD; // Line number.
end;
{$EXTERNALSYM _IMAGE_LINENUMBER}
IMAGE_LINENUMBER = _IMAGE_LINENUMBER;
{$EXTERNALSYM IMAGE_LINENUMBER}
TImageLineNumber = IMAGE_LINENUMBER;
PImageLineNumber = PIMAGE_LINENUMBER;
const
IMAGE_SIZEOF_LINENUMBER = 6;
{$EXTERNALSYM IMAGE_SIZEOF_LINENUMBER}
// #include "poppack.h" // Back to 4 byte packing
//
// Based relocation format.
//
type
PIMAGE_BASE_RELOCATION = ^IMAGE_BASE_RELOCATION;
{$EXTERNALSYM PIMAGE_BASE_RELOCATION}
_IMAGE_BASE_RELOCATION = record
VirtualAddress: DWORD;
SizeOfBlock: DWORD;
// WORD TypeOffset[1];
end;
{$EXTERNALSYM _IMAGE_BASE_RELOCATION}
IMAGE_BASE_RELOCATION = _IMAGE_BASE_RELOCATION;
{$EXTERNALSYM IMAGE_BASE_RELOCATION}
TImageBaseRelocation = IMAGE_BASE_RELOCATION;
PImageBaseRelocation = PIMAGE_BASE_RELOCATION;
const
IMAGE_SIZEOF_BASE_RELOCATION = 8;
{$EXTERNALSYM IMAGE_SIZEOF_BASE_RELOCATION}
//
// Based relocation types.
//
IMAGE_REL_BASED_ABSOLUTE = 0;
{$EXTERNALSYM IMAGE_REL_BASED_ABSOLUTE}
IMAGE_REL_BASED_HIGH = 1;
{$EXTERNALSYM IMAGE_REL_BASED_HIGH}
IMAGE_REL_BASED_LOW = 2;
{$EXTERNALSYM IMAGE_REL_BASED_LOW}
IMAGE_REL_BASED_HIGHLOW = 3;
{$EXTERNALSYM IMAGE_REL_BASED_HIGHLOW}
IMAGE_REL_BASED_HIGHADJ = 4;
{$EXTERNALSYM IMAGE_REL_BASED_HIGHADJ}
IMAGE_REL_BASED_MIPS_JMPADDR = 5;
{$EXTERNALSYM IMAGE_REL_BASED_MIPS_JMPADDR}
IMAGE_REL_BASED_MIPS_JMPADDR16 = 9;
{$EXTERNALSYM IMAGE_REL_BASED_MIPS_JMPADDR16}
IMAGE_REL_BASED_IA64_IMM64 = 9;
{$EXTERNALSYM IMAGE_REL_BASED_IA64_IMM64}
IMAGE_REL_BASED_DIR64 = 10;
{$EXTERNALSYM IMAGE_REL_BASED_DIR64}
//
// Archive format.
//
IMAGE_ARCHIVE_START_SIZE = 8;
{$EXTERNALSYM IMAGE_ARCHIVE_START_SIZE}
IMAGE_ARCHIVE_START = '!<arch>'#10;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -