📄 halmps.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 + -