⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 halmps.h

📁 一个 windows 内核级别的调试器
💻 H
字号:
struct LIST_ENTRY64 {
	DWORD Flink;
	DWORD Blink;
};

struct LIST_ENTRY64 {
	DWORD Flink;
	DWORD Blink;
};

struct LIST_ENTRY32 {
	DWORD Flink;
	DWORD Blink;
};

struct LIST_ENTRY32 {
	DWORD Flink;
	DWORD Blink;
};

struct _LIST_ENTRY {
	_LIST_ENTRY* Flink;
	_LIST_ENTRY* Blink;
};

struct _LIST_ENTRY {
	_LIST_ENTRY* Flink;
	_LIST_ENTRY* Blink;
};

struct _LARGE_INTEGER {
	DWORD LowPart;
	int HighPart;
	__unnamed u;
	int QuadPart;
};

struct __unnamed {
	DWORD LowPart;
	int HighPart;
};

struct _LARGE_INTEGER {
	DWORD LowPart;
	int HighPart;
	__unnamed u;
	int QuadPart;
};

struct _ULARGE_INTEGER {
	DWORD LowPart;
	DWORD HighPart;
	__unnamed u;
	DWORD QuadPart;
};

struct __unnamed {
	DWORD LowPart;
	DWORD HighPart;
};

struct _ULARGE_INTEGER {
	DWORD LowPart;
	DWORD HighPart;
	__unnamed u;
	DWORD QuadPart;
};

struct _SLIST_HEADER {
	DWORD Alignment;
	_SINGLE_LIST_ENTRY Next;
	DWORD Depth;
	DWORD Sequence;
};

struct _SINGLE_LIST_ENTRY {
	_SINGLE_LIST_ENTRY* Next;
};

struct _SLIST_HEADER {
	DWORD Alignment;
	_SINGLE_LIST_ENTRY Next;
	DWORD Depth;
	DWORD Sequence;
};

struct _NPAGED_LOOKASIDE_LIST {
	_GENERAL_LOOKASIDE L;
	DWORD Lock__ObsoleteButDoNotDelete;
};

struct _GENERAL_LOOKASIDE {
	_SLIST_HEADER ListHead;
	DWORD Depth;
	DWORD MaximumDepth;
	DWORD TotalAllocates;
	DWORD AllocateMisses;
	DWORD AllocateHits;
	DWORD TotalFrees;
	DWORD FreeMisses;
	DWORD FreeHits;
	enum _POOL_TYPE Type;
	DWORD Tag;
	DWORD Size;
	void* (*Allocate)(enum _POOL_TYPE, DWORD, DWORD);
	void (*Free)(void*);
	_LIST_ENTRY ListEntry;
	DWORD LastTotalAllocates;
	DWORD LastAllocateMisses;
	DWORD LastAllocateHits;
	DWORD Future[2];
};

struct _NPAGED_LOOKASIDE_LIST {
	_GENERAL_LOOKASIDE L;
	DWORD Lock__ObsoleteButDoNotDelete;
};

struct _PAGED_LOOKASIDE_LIST {
	_GENERAL_LOOKASIDE L;
	_FAST_MUTEX Lock__ObsoleteButDoNotDelete;
};

struct _FAST_MUTEX {
	int Count;
	_KTHREAD* Owner;
	DWORD Contention;
	_KEVENT Event;
	DWORD OldIrql;
};

struct _PAGED_LOOKASIDE_LIST {
	_GENERAL_LOOKASIDE L;
	_FAST_MUTEX Lock__ObsoleteButDoNotDelete;
};

struct _OBJECT_ATTRIBUTES {
	DWORD Length;
	void* RootDirectory;
	_UNICODE_STRING* ObjectName;
	DWORD Attributes;
	void* SecurityDescriptor;
	void* SecurityQualityOfService;
};

struct _UNICODE_STRING {
	DWORD Length;
	DWORD MaximumLength;
	DWORD* Buffer;
};

struct _OBJECT_ATTRIBUTES {
	DWORD Length;
	void* RootDirectory;
	_UNICODE_STRING* ObjectName;
	DWORD Attributes;
	void* SecurityDescriptor;
	void* SecurityQualityOfService;
};

struct _OBJECT_TYPE {
};

struct _FADT {
	_DESCRIPTION_HEADER Header;
	DWORD facs;
	DWORD dsdt;
	DWORD int_model;
	DWORD pm_profile;
	DWORD sci_int_vector;
	DWORD smi_cmd_io_port;
	DWORD acpi_on_value;
	DWORD acpi_off_value;
	DWORD s4bios_req;
	DWORD pstate_control;
	DWORD pm1a_evt_blk_io_port;
	DWORD pm1b_evt_blk_io_port;
	DWORD pm1a_ctrl_blk_io_port;
	DWORD pm1b_ctrl_blk_io_port;
	DWORD pm2_ctrl_blk_io_port;
	DWORD pm_tmr_blk_io_port;
	DWORD gp0_blk_io_port;
	DWORD gp1_blk_io_port;
	DWORD pm1_evt_len;
	DWORD pm1_ctrl_len;
	DWORD pm2_ctrl_len;
	DWORD pm_tmr_len;
	DWORD gp0_blk_len;
	DWORD gp1_blk_len;
	DWORD gp1_base;
	DWORD cstate_control;
	DWORD lvl2_latency;
	DWORD lvl3_latency;
	DWORD flush_size;
	DWORD flush_stride;
	DWORD duty_offset;
	DWORD duty_width;
	DWORD day_alarm_index;
	DWORD month_alarm_index;
	DWORD century_alarm_index;
	DWORD boot_arch;
	DWORD reserved3[1];
	DWORD flags;
	_GEN_ADDR reset_reg;
	DWORD reset_val;
	DWORD reserved4[3];
	_LARGE_INTEGER x_firmware_ctrl;
	_LARGE_INTEGER x_dsdt;
	_GEN_ADDR x_pm1a_evt_blk;
	_GEN_ADDR x_pm1b_evt_blk;
	_GEN_ADDR x_pm1a_ctrl_blk;
	_GEN_ADDR x_pm1b_ctrl_blk;
	_GEN_ADDR x_pm2_ctrl_blk;
	_GEN_ADDR x_pm_tmr_blk;
	_GEN_ADDR x_gp0_blk;
	_GEN_ADDR x_gp1_blk;
};

struct _DESCRIPTION_HEADER {
	DWORD Signature;
	DWORD Length;
	DWORD Revision;
	DWORD Checksum;
	DWORD OEMID[6];
	DWORD OEMTableID[8];
	DWORD OEMRevision;
	DWORD CreatorID[4];
	DWORD CreatorRev;
};

struct _GEN_ADDR {
	DWORD AddressSpaceID;
	DWORD BitWidth;
	DWORD BitOffset;
	DWORD Reserved;
	_LARGE_INTEGER Address;
};

struct _FADT {
	_DESCRIPTION_HEADER Header;
	DWORD facs;
	DWORD dsdt;
	DWORD int_model;
	DWORD pm_profile;
	DWORD sci_int_vector;
	DWORD smi_cmd_io_port;
	DWORD acpi_on_value;
	DWORD acpi_off_value;
	DWORD s4bios_req;
	DWORD pstate_control;
	DWORD pm1a_evt_blk_io_port;
	DWORD pm1b_evt_blk_io_port;
	DWORD pm1a_ctrl_blk_io_port;
	DWORD pm1b_ctrl_blk_io_port;
	DWORD pm2_ctrl_blk_io_port;
	DWORD pm_tmr_blk_io_port;
	DWORD gp0_blk_io_port;
	DWORD gp1_blk_io_port;
	DWORD pm1_evt_len;
	DWORD pm1_ctrl_len;
	DWORD pm2_ctrl_len;
	DWORD pm_tmr_len;
	DWORD gp0_blk_len;
	DWORD gp1_blk_len;
	DWORD gp1_base;
	DWORD cstate_control;
	DWORD lvl2_latency;
	DWORD lvl3_latency;
	DWORD flush_size;
	DWORD flush_stride;
	DWORD duty_offset;
	DWORD duty_width;
	DWORD day_alarm_index;
	DWORD month_alarm_index;
	DWORD century_alarm_index;
	DWORD boot_arch;
	DWORD reserved3[1];
	DWORD flags;
	_GEN_ADDR reset_reg;
	DWORD reset_val;
	DWORD reserved4[3];
	_LARGE_INTEGER x_firmware_ctrl;
	_LARGE_INTEGER x_dsdt;
	_GEN_ADDR x_pm1a_evt_blk;
	_GEN_ADDR x_pm1b_evt_blk;
	_GEN_ADDR x_pm1a_ctrl_blk;
	_GEN_ADDR x_pm1b_ctrl_blk;
	_GEN_ADDR x_pm2_ctrl_blk;
	_GEN_ADDR x_pm_tmr_blk;
	_GEN_ADDR x_gp0_blk;
	_GEN_ADDR x_gp1_blk;
};

struct _DESCRIPTION_HEADER {
	DWORD Signature;
	DWORD Length;
	DWORD Revision;
	DWORD Checksum;
	DWORD OEMID[6];
	DWORD OEMTableID[8];
	DWORD OEMRevision;
	DWORD CreatorID[4];
	DWORD CreatorRev;
};

struct _RSDT_32 {
	_DESCRIPTION_HEADER Header;
	DWORD Tables[1];
};

struct _RSDT_32 {
	_DESCRIPTION_HEADER Header;
	DWORD Tables[1];
};

struct _KTHREAD {
};

struct _KEVENT {
	_DISPATCHER_HEADER Header;
};

struct _FAST_MUTEX {
	int Count;
	_KTHREAD* Owner;
	DWORD Contention;
	_KEVENT Event;
	DWORD OldIrql;
};

enum _POOL_TYPE {
	NonPagedPool,
	PagedPool,
	NonPagedPoolMustSucceed,
	DontUseThisType,
	NonPagedPoolCacheAligned,
	PagedPoolCacheAligned,
	NonPagedPoolCacheAlignedMustS,
	MaxPoolType,
	NonPagedPoolSession,
	PagedPoolSession,
	NonPagedPoolMustSucceedSession,
	DontUseThisTypeSession,
	NonPagedPoolCacheAlignedSession,
	PagedPoolCacheAlignedSession,
	NonPagedPoolCacheAlignedMustSSession,
};

struct _GENERAL_LOOKASIDE {
	_SLIST_HEADER ListHead;
	DWORD Depth;
	DWORD MaximumDepth;
	DWORD TotalAllocates;
	DWORD AllocateMisses;
	DWORD AllocateHits;
	DWORD TotalFrees;
	DWORD FreeMisses;
	DWORD FreeHits;
	enum _POOL_TYPE Type;
	DWORD Tag;
	DWORD Size;
	void* (*Allocate)(enum _POOL_TYPE, DWORD, DWORD);
	void (*Free)(void*);
	_LIST_ENTRY ListEntry;
	DWORD LastTotalAllocates;
	DWORD LastAllocateMisses;
	DWORD LastAllocateHits;
	DWORD Future[2];
};

struct HalpMpInfo {
	DWORD ApicVersion;
	DWORD ProcessorCount;
	DWORD NtProcessors;
	DWORD BusCount;
	DWORD IOApicCount;
	DWORD IntiCount;
	DWORD LintiCount;
	DWORD IMCRPresent;
	DWORD LocalApicBase;
	DWORD* IoApicBase[64];
	DWORD IoApicPhys[64];
	_PcMpProcessorEntry* ProcessorEntryPtr;
	_PcMpBusEntry* BusEntryPtr;
	_PcMpIoApicEntry* IoApicEntryPtr;
	_PcMpApicIntiEntry* IntiEntryPtr;
	_PcMpLintiEntry* LintiEntryPtr;
	MPS_EXTENTRY* ExtensionTable;
	MPS_EXTENTRY* EndOfExtensionTable;
};

struct _PcMpProcessorEntry {
	DWORD EntryType;
	DWORD LocalApicId;
	DWORD LocalApicVersion;
	DWORD CpuFlags;
	_CPUIDENTIFIER CpuIdentification;
	DWORD FeatureFlags;
	DWORD Reserved[8];
};

struct _PcMpBusEntry {
	DWORD EntryType;
	DWORD BusId;
	char BusType[6];
};

struct _PcMpIoApicEntry {
	DWORD EntryType;
	DWORD IoApicId;
	DWORD IoApicVersion;
	DWORD IoApicFlag;
	void* IoApicAddress;
};

struct _PcMpApicIntiEntry {
	DWORD EntryType;
	DWORD IntType;
	_PolarityAndLevel Signal;
	DWORD SourceBusId;
	DWORD SourceBusIrq;
	DWORD IoApicId;
	DWORD IoApicInti;
};

struct _PcMpLintiEntry {
	DWORD EntryType;
	DWORD IntType;
	_PolarityAndLevel Signal;
	DWORD SourceBusId;
	DWORD SourceBusIrq;
	DWORD DestLocalApicId;
	DWORD DestLocalApicInti;
};

struct MPS_EXTENTRY {
	DWORD Type;
	DWORD Length;
	__unnamed u;
};

struct HalpMpInfo {
	DWORD ApicVersion;
	DWORD ProcessorCount;
	DWORD NtProcessors;
	DWORD BusCount;
	DWORD IOApicCount;
	DWORD IntiCount;
	DWORD LintiCount;
	DWORD IMCRPresent;
	DWORD LocalApicBase;
	DWORD* IoApicBase[64];
	DWORD IoApicPhys[64];
	_PcMpProcessorEntry* ProcessorEntryPtr;
	_PcMpBusEntry* BusEntryPtr;
	_PcMpIoApicEntry* IoApicEntryPtr;
	_PcMpApicIntiEntry* IntiEntryPtr;
	_PcMpLintiEntry* LintiEntryPtr;
	MPS_EXTENTRY* ExtensionTable;
	MPS_EXTENTRY* EndOfExtensionTable;
};

struct _PolarityAndLevel {
	DWORD Polarity:2; 	// bit offset: 00, len=2
	DWORD Level:2; 	// bit offset: 02, len=2
	DWORD Reserved:12; 	// bit offset: 04, len=12
};

struct _PcMpLintiEntry {
	DWORD EntryType;
	DWORD IntType;
	_PolarityAndLevel Signal;
	DWORD SourceBusId;
	DWORD SourceBusIrq;
	DWORD DestLocalApicId;
	DWORD DestLocalApicInti;
};

struct _SINGLE_LIST_ENTRY {
	_SINGLE_LIST_ENTRY* Next;
};

struct _LOCAL_NMISOURCE {
	DWORD Type;
	DWORD Length;
	DWORD ProcessorID;
	DWORD Flags;
	DWORD LINTIN;
};

struct _LOCAL_NMISOURCE {
	DWORD Type;
	DWORD Length;
	DWORD ProcessorID;
	DWORD Flags;
	DWORD LINTIN;
};

struct _PcMpApicIntiEntry {
	DWORD EntryType;
	DWORD IntType;
	_PolarityAndLevel Signal;
	DWORD SourceBusId;
	DWORD SourceBusIrq;
	DWORD IoApicId;
	DWORD IoApicInti;
};

struct _CPUIDENTIFIER {
	DWORD Stepping:4; 	// bit offset: 00, len=4
	DWORD Model:4; 	// bit offset: 04, len=4
	DWORD Family:4; 	// bit offset: 08, len=4
	DWORD Reserved:20; 	// bit offset: 0C, len=20
};

struct _PcMpProcessorEntry {
	DWORD EntryType;
	DWORD LocalApicId;
	DWORD LocalApicVersion;
	DWORD CpuFlags;
	_CPUIDENTIFIER CpuIdentification;
	DWORD FeatureFlags;
	DWORD Reserved[8];
};

struct __unnamed {
	DWORD BusId;
	DWORD Type;
	int Base;
	int Length;
};

struct __unnamed {
	DWORD BusId;
	DWORD SubtractiveDecode:1; 	// bit offset: 01, len=1
	DWORD ParentBusId;
};

struct __unnamed {
	int Address;
	int Length;
};

struct __unnamed {
	DWORD BusId;
	DWORD Modifier:1; 	// bit offset: 01, len=1
	DWORD Reserved:7; 	// bit offset: 01, len=7
	DWORD List;
};

struct __unnamed {
	__unnamed AddressMap;
	__unnamed BusHierarchy;
	__unnamed PersistentStore;
	__unnamed CompatibleMap;
};

struct MPS_EXTENTRY {
	DWORD Type;
	DWORD Length;
	__unnamed u;
};

struct _IOSAPIC {
	DWORD Type;
	DWORD Length;
	DWORD Reserved;
	DWORD SystemVectorBase;
	DWORD IOSAPICAddress;
};

struct _IOSAPIC {
	DWORD Type;
	DWORD Length;
	DWORD Reserved;
	DWORD SystemVectorBase;
	DWORD IOSAPICAddress;
};

struct _PROCLOCALSAPIC {
	DWORD Type;
	DWORD Length;
	DWORD ACPIProcessorID;
	DWORD APICID;
	DWORD APICEID;
	DWORD Reserved[3];
	DWORD Flags;
};

struct _PROCLOCALSAPIC {
	DWORD Type;
	DWORD Length;
	DWORD ACPIProcessorID;
	DWORD APICID;
	DWORD APICEID;
	DWORD Reserved[3];
	DWORD Flags;
};

struct _GEN_ADDR {
	DWORD AddressSpaceID;
	DWORD BitWidth;
	DWORD BitOffset;
	DWORD Reserved;
	_LARGE_INTEGER Address;
};

enum _MEMORY_CACHING_TYPE_ORIG {
	MmFrameBufferCached,
};

struct _MAPIC {
	_DESCRIPTION_HEADER Header;
	DWORD LocalAPICAddress;
	DWORD Flags;
	DWORD APICTables[1];
};

struct _MAPIC {
	_DESCRIPTION_HEADER Header;
	DWORD LocalAPICAddress;
	DWORD Flags;
	DWORD APICTables[1];
};

struct _RSDP {
	DWORD Signature;
	DWORD Checksum;
	DWORD OEMID[6];
	DWORD Revision;
	DWORD RsdtAddress;
	DWORD Length;
	_LARGE_INTEGER XsdtAddress;
	DWORD XChecksum;
	DWORD Reserved[3];
};

struct _RSDP {
	DWORD Signature;
	DWORD Checksum;
	DWORD OEMID[6];
	DWORD Revision;
	DWORD RsdtAddress;
	DWORD Length;
	_LARGE_INTEGER XsdtAddress;
	DWORD XChecksum;
	DWORD Reserved[3];
};

struct _ISA_VECTOR {
	DWORD Type;
	DWORD Length;
	DWORD Bus;
	DWORD Source;
	DWORD GlobalSystemInterruptVector;
	DWORD Flags;
};

struct _ISA_VECTOR {
	DWORD Type;
	DWORD Length;
	DWORD Bus;
	DWORD Source;
	DWORD GlobalSystemInterruptVector;
	DWORD Flags;
};

struct _PolarityAndLevel {
	DWORD Polarity:2; 	// bit offset: 00, len=2
	DWORD Level:2; 	// bit offset: 02, len=2
	DWORD Reserved:12; 	// bit offset: 04, len=12
};

struct _CPUIDENTIFIER {
	DWORD Stepping:4; 	// bit offset: 00, len=4
	DWORD Model:4; 	// bit offset: 04, len=4
	DWORD Family:4; 	// bit offset: 08, len=4
	DWORD Reserved:20; 	// bit offset: 0C, len=20
};

struct _PcMpIoApicEntry {
	DWORD EntryType;
	DWORD IoApicId;
	DWORD IoApicVersion;
	DWORD IoApicFlag;
	void* IoApicAddress;
};

enum _MEMORY_TYPE {
	MemoryExceptionBlock,
	MemorySystemBlock,
	MemoryFree,
	MemoryBad,
	MemoryLoadedProgram,
	MemoryFirmwareTemporary,
	MemoryFirmwarePermanent,
	MemoryFreeContiguous,
	MemorySpecialMemory,
	MemoryMaximum,
};

struct _PLATFORM_INTERRUPT {
	DWORD Type;
	DWORD Length;
	DWORD Flags;
	DWORD InterruptType;
	DWORD APICID;
	DWORD ACPIEID;
	DWORD IOSAPICVector;
	DWORD GlobalVector;
	DWORD Reserved;
};

struct _PLATFORM_INTERRUPT {
	DWORD Type;
	DWORD Length;
	DWORD Flags;
	DWORD InterruptType;
	DWORD APICID;
	DWORD ACPIEID;
	DWORD IOSAPICVector;
	DWORD GlobalVector;
	DWORD Reserved;
};

struct _IOAPIC {
	DWORD Type;
	DWORD Length;
	DWORD IOAPICID;
	DWORD Reserved;
	DWORD IOAPICAddress;
	DWORD SystemVectorBase;
};

struct _IOAPIC {
	DWORD Type;
	DWORD Length;
	DWORD IOAPICID;
	DWORD Reserved;
	DWORD IOAPICAddress;
	DWORD SystemVectorBase;
};

struct _PROCLOCALAPIC {
	DWORD Type;
	DWORD Length;
	DWORD ACPIProcessorID;
	DWORD APICID;
	DWORD Flags;
};

struct _PROCLOCALAPIC {
	DWORD Type;
	DWORD Length;
	DWORD ACPIProcessorID;
	DWORD APICID;
	DWORD Flags;
};

struct _IO_NMISOURCE {
	DWORD Type;
	DWORD Length;
	DWORD Flags;
	DWORD GlobalSystemInterruptVector;
};

struct _IO_NMISOURCE {
	DWORD Type;
	DWORD Length;
	DWORD Flags;
	DWORD GlobalSystemInterruptVector;
};

struct _UNICODE_STRING {
	DWORD Length;
	DWORD MaximumLength;
	DWORD* Buffer;
};

struct _DISPATCHER_HEADER {
	DWORD Type;
	DWORD Absolute;
	DWORD Size;
	DWORD Inserted;
	int SignalState;
	_LIST_ENTRY WaitListHead;
};

struct _KEVENT {
	_DISPATCHER_HEADER Header;
};

struct _FACS {
	DWORD Signature;
	DWORD Length;
	DWORD HardwareSignature;
	DWORD pFirmwareWakingVector;
	DWORD GlobalLock;
	DWORD Flags;
	_LARGE_INTEGER x_FirmwareWakingVector;
	DWORD version;
	DWORD Reserved[31];
};

struct _FACS {
	DWORD Signature;
	DWORD Length;
	DWORD HardwareSignature;
	DWORD pFirmwareWakingVector;
	DWORD GlobalLock;
	DWORD Flags;
	_LARGE_INTEGER x_FirmwareWakingVector;
	DWORD version;
	DWORD Reserved[31];
};

struct _PcMpBusEntry {
	DWORD EntryType;
	DWORD BusId;
	char BusType[6];
};

struct _DISPATCHER_HEADER {
	DWORD Type;
	DWORD Absolute;
	DWORD Size;
	DWORD Inserted;
	int SignalState;
	_LIST_ENTRY WaitListHead;
};

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -