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

📄 processr.h

📁 一个 windows 内核级别的调试器
💻 H
📖 第 1 页 / 共 3 页
字号:
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 _LUID {
	DWORD LowPart;
	int HighPart;
};

struct _LUID {
	DWORD LowPart;
	int HighPart;
};

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 _GUID {
	DWORD Data1;
	DWORD Data2;
	DWORD Data3;
	DWORD Data4[8];
};

struct _GUID {
	DWORD Data1;
	DWORD Data2;
	DWORD Data3;
	DWORD Data4[8];
};

struct _GUID {
	DWORD Data1;
	DWORD Data2;
	DWORD Data3;
	DWORD Data4[8];
};

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 _SINGLE_LIST_ENTRY {
	_SINGLE_LIST_ENTRY* Next;
};

enum _MEMORY_CACHING_TYPE_ORIG {
	MmFrameBufferCached,
};

struct _FDO_DATA {
	_DEVICE_OBJECT* Self;
	_DEVICE_OBJECT* UnderlyingPDO;
	_DEVICE_OBJECT* NextLowerDriver;
	enum _DEVICE_PNP_STATE DevicePnPState;
	enum _DEVICE_PNP_STATE PreviousPnPState;
	enum _QUEUE_STATE QueueState;
	_LIST_ENTRY NewRequestsQueue;
	DWORD QueueLock;
	_KEVENT RemoveEvent;
	_KEVENT StopEvent;
	DWORD OutstandingIO;
	enum _SYSTEM_POWER_STATE SystemPowerState;
	enum _DEVICE_POWER_STATE DevicePowerState;
	_UNICODE_STRING InterfaceName;
	_DEVICE_CAPABILITIES DeviceCaps;
	_WMILIB_CONTEXT WmiLibInfo;
	_KEVENT PerfStateLock;
	_IO_WORKITEM* PerfStateWorkItem;
	_EVENT_LOG_CONTEXT EventLogContext;
	PROCESSOR_PERFORMANCE_STATES* PerfStates;
	PROCESSOR_IDLE_STATES* CStates;
	PROCESSOR_OBJECT_INFO ProcObjInfo;
	ACPI_PSS_PACKAGE* PssPackage;
	ACPI_PCT_PACKAGE PctPackage;
	DWORD PpcResult;
	DWORD LowestPerfState;
	DWORD LegacyInterface;
	DWORD CstPresent;
	DWORD CurrentPerfState;
	DWORD ThrottleValue;
	DWORD LastRequestedThrottle;
	DWORD LastTransitionResult;
	DWORD SavedState;
	_ACPI_INTERFACE_STANDARD* AcpiInterfaces;
	DWORD CurrentPssState;
};

struct _DEVICE_OBJECT {
	int Type;
	DWORD Size;
	int ReferenceCount;
	_DRIVER_OBJECT* DriverObject;
	_DEVICE_OBJECT* NextDevice;
	_DEVICE_OBJECT* AttachedDevice;
	_IRP* CurrentIrp;
	_IO_TIMER* Timer;
	DWORD Flags;
	DWORD Characteristics;
	_VPB* Vpb;
	void* DeviceExtension;
	DWORD DeviceType;
	char StackSize;
	__unnamed Queue;
	DWORD AlignmentRequirement;
	_KDEVICE_QUEUE DeviceQueue;
	_KDPC Dpc;
	DWORD ActiveThreadCount;
	void* SecurityDescriptor;
	_KEVENT DeviceLock;
	DWORD SectorSize;
	DWORD Spare1;
	_DEVOBJ_EXTENSION* DeviceObjectExtension;
	void* Reserved;
};

enum _DEVICE_PNP_STATE {
	NotStarted,
	Started,
	StopPending,
	Stopped,
	RemovePending,
	SurpriseRemovePending,
	Deleted,
};

enum _QUEUE_STATE {
	HoldRequests,
	AllowRequests,
	FailRequests,
};

enum _SYSTEM_POWER_STATE {
	PowerSystemUnspecified,
	PowerSystemWorking,
	PowerSystemSleeping1,
	PowerSystemSleeping2,
	PowerSystemSleeping3,
	PowerSystemHibernate,
	PowerSystemShutdown,
	PowerSystemMaximum,
};

enum _DEVICE_POWER_STATE {
	PowerDeviceUnspecified,
	PowerDeviceD0,
	PowerDeviceD1,
	PowerDeviceD2,
	PowerDeviceD3,
	PowerDeviceMaximum,
};

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

struct _DEVICE_CAPABILITIES {
	DWORD Size;
	DWORD Version;
	DWORD DeviceD1:1; 	// bit offset: 04, len=1
	DWORD DeviceD2:1; 	// bit offset: 04, len=1
	DWORD LockSupported:1; 	// bit offset: 04, len=1
	DWORD EjectSupported:1; 	// bit offset: 04, len=1
	DWORD Removable:1; 	// bit offset: 04, len=1
	DWORD DockDevice:1; 	// bit offset: 04, len=1
	DWORD UniqueID:1; 	// bit offset: 04, len=1
	DWORD SilentInstall:1; 	// bit offset: 04, len=1
	DWORD RawDeviceOK:1; 	// bit offset: 04, len=1
	DWORD SurpriseRemovalOK:1; 	// bit offset: 04, len=1
	DWORD WakeFromD0:1; 	// bit offset: 04, len=1
	DWORD WakeFromD1:1; 	// bit offset: 04, len=1
	DWORD WakeFromD2:1; 	// bit offset: 04, len=1
	DWORD WakeFromD3:1; 	// bit offset: 04, len=1
	DWORD HardwareDisabled:1; 	// bit offset: 04, len=1
	DWORD NonDynamic:1; 	// bit offset: 04, len=1
	DWORD WarmEjectSupported:1; 	// bit offset: 04, len=1
	DWORD NoDisplayInUI:1; 	// bit offset: 04, len=1
	DWORD Reserved:14; 	// bit offset: 04, len=14
	DWORD Address;
	DWORD UINumber;
	enum _DEVICE_POWER_STATE DeviceState[7];
	enum _SYSTEM_POWER_STATE SystemWake;
	enum _DEVICE_POWER_STATE DeviceWake;
	DWORD D1Latency;
	DWORD D2Latency;
	DWORD D3Latency;
};

struct _WMILIB_CONTEXT {
	DWORD GuidCount;
	WMIGUIDREGINFO* GuidList;
	int (*QueryWmiRegInfo)(_DEVICE_OBJECT*, DWORD*, _UNICODE_STRING*, _UNICODE_STRING**, _UNICODE_STRING*, _DEVICE_OBJECT**);
	int (*QueryWmiDataBlock)(_DEVICE_OBJECT*, _IRP*, DWORD, DWORD, DWORD, DWORD*, DWORD, DWORD*);
	int (*SetWmiDataBlock)(_DEVICE_OBJECT*, _IRP*, DWORD, DWORD, DWORD, DWORD*);
	int (*SetWmiDataItem)(_DEVICE_OBJECT*, _IRP*, DWORD, DWORD, DWORD, DWORD, DWORD*);
	int (*ExecuteWmiMethod)(_DEVICE_OBJECT*, _IRP*, DWORD, DWORD, DWORD, DWORD, DWORD, DWORD*);
	int (*WmiFunctionControl)(_DEVICE_OBJECT*, _IRP*, DWORD, enum WMIENABLEDISABLECONTROL, DWORD);
};

struct _IO_WORKITEM {
};

struct _EVENT_LOG_CONTEXT {
	DWORD EventErrorCode;
	DWORD EventValue;
	DWORD BufferSize;
	DWORD* Buffer;
};

struct PROCESSOR_PERFORMANCE_STATES {
	int (*TransitionFunction)(DWORD);
	DWORD TransitionLatency;
	DWORD Current;
	DWORD Count;
	PROCESSOR_PERFORMANCE_STATE State[1];
};

struct PROCESSOR_IDLE_STATES {
	DWORD Count;
	PROCESSOR_IDLE_STATE State[1];
};

struct PROCESSOR_OBJECT_INFO {
	DWORD PhysicalID;
	DWORD PBlkAddress;
	DWORD PBlkLength;
};

struct ACPI_PSS_PACKAGE {
	DWORD NumPStates;
	ACPI_PSS_DESCRIPTOR State[1];
};

struct ACPI_PCT_PACKAGE {
	_GEN_ADDR Control;
	_GEN_ADDR Status;
};

struct _ACPI_INTERFACE_STANDARD {
	DWORD Size;
	DWORD Version;
	void* Context;
	void (*InterfaceReference)(void*);
	void (*InterfaceDereference)(void*);
	int (*GpeConnectVector)(_DEVICE_OBJECT*, DWORD, enum _KINTERRUPT_MODE, DWORD, DWORD (*)(void*, void*), void*, void*);
	int (*GpeDisconnectVector)(void*);
	int (*GpeEnableEvent)(_DEVICE_OBJECT*, void*);
	int (*GpeDisableEvent)(_DEVICE_OBJECT*, void*);
	int (*GpeClearStatus)(_DEVICE_OBJECT*, void*);
	int (*RegisterForDeviceNotifications)(_DEVICE_OBJECT*, void (*)(void*, DWORD), void*);
	void (*UnregisterForDeviceNotifications)(_DEVICE_OBJECT*, void (*)(void*, DWORD));
};

struct _FDO_DATA {
	_DEVICE_OBJECT* Self;
	_DEVICE_OBJECT* UnderlyingPDO;
	_DEVICE_OBJECT* NextLowerDriver;
	enum _DEVICE_PNP_STATE DevicePnPState;
	enum _DEVICE_PNP_STATE PreviousPnPState;
	enum _QUEUE_STATE QueueState;
	_LIST_ENTRY NewRequestsQueue;
	DWORD QueueLock;
	_KEVENT RemoveEvent;
	_KEVENT StopEvent;
	DWORD OutstandingIO;
	enum _SYSTEM_POWER_STATE SystemPowerState;
	enum _DEVICE_POWER_STATE DevicePowerState;
	_UNICODE_STRING InterfaceName;
	_DEVICE_CAPABILITIES DeviceCaps;
	_WMILIB_CONTEXT WmiLibInfo;
	_KEVENT PerfStateLock;
	_IO_WORKITEM* PerfStateWorkItem;
	_EVENT_LOG_CONTEXT EventLogContext;
	PROCESSOR_PERFORMANCE_STATES* PerfStates;
	PROCESSOR_IDLE_STATES* CStates;
	PROCESSOR_OBJECT_INFO ProcObjInfo;
	ACPI_PSS_PACKAGE* PssPackage;
	ACPI_PCT_PACKAGE PctPackage;
	DWORD PpcResult;
	DWORD LowestPerfState;
	DWORD LegacyInterface;
	DWORD CstPresent;
	DWORD CurrentPerfState;
	DWORD ThrottleValue;
	DWORD LastRequestedThrottle;
	DWORD LastTransitionResult;
	DWORD SavedState;
	_ACPI_INTERFACE_STANDARD* AcpiInterfaces;
	DWORD CurrentPssState;
};

enum _KINTERRUPT_MODE {
	LevelSensitive,
	Latched,
};

struct _ACPI_INTERFACE_STANDARD {
	DWORD Size;
	DWORD Version;
	void* Context;
	void (*InterfaceReference)(void*);
	void (*InterfaceDereference)(void*);
	int (*GpeConnectVector)(_DEVICE_OBJECT*, DWORD, enum _KINTERRUPT_MODE, DWORD, DWORD (*)(void*, void*), void*, void*);
	int (*GpeDisconnectVector)(void*);
	int (*GpeEnableEvent)(_DEVICE_OBJECT*, void*);
	int (*GpeDisableEvent)(_DEVICE_OBJECT*, void*);
	int (*GpeClearStatus)(_DEVICE_OBJECT*, void*);
	int (*RegisterForDeviceNotifications)(_DEVICE_OBJECT*, void (*)(void*, DWORD), void*);
	void (*UnregisterForDeviceNotifications)(_DEVICE_OBJECT*, void (*)(void*, DWORD));
};

struct _EVENT_LOG_CONTEXT {
	DWORD EventErrorCode;
	DWORD EventValue;
	DWORD BufferSize;
	DWORD* Buffer;
};

struct PROCESSOR_OBJECT_INFO {
	DWORD PhysicalID;
	DWORD PBlkAddress;
	DWORD PBlkLength;
};

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

struct _KEVENT {
	_DISPATCHER_HEADER Header;
};

struct WMIGUIDREGINFO {
	_GUID* Guid;
	DWORD InstanceCount;
	DWORD Flags;
};

struct _IRP {
	int Type;
	DWORD Size;
	_MDL* MdlAddress;
	DWORD Flags;
	__unnamed AssociatedIrp;
	_LIST_ENTRY ThreadListEntry;
	_IO_STATUS_BLOCK IoStatus;
	char RequestorMode;
	DWORD PendingReturned;
	char StackCount;
	char CurrentLocation;
	DWORD Cancel;
	DWORD CancelIrql;
	char ApcEnvironment;
	DWORD AllocationFlags;
	_IO_STATUS_BLOCK* UserIosb;
	_KEVENT* UserEvent;
	__unnamed Overlay;
	void (*CancelRoutine)(_DEVICE_OBJECT*, _IRP*);
	void* UserBuffer;
	__unnamed Tail;
};

enum WMIENABLEDISABLECONTROL {
	WmiEventControl,
	WmiDataBlockControl,
};

struct _WMILIB_CONTEXT {
	DWORD GuidCount;
	WMIGUIDREGINFO* GuidList;
	int (*QueryWmiRegInfo)(_DEVICE_OBJECT*, DWORD*, _UNICODE_STRING*, _UNICODE_STRING**, _UNICODE_STRING*, _DEVICE_OBJECT**);
	int (*QueryWmiDataBlock)(_DEVICE_OBJECT*, _IRP*, DWORD, DWORD, DWORD, DWORD*, DWORD, DWORD*);
	int (*SetWmiDataBlock)(_DEVICE_OBJECT*, _IRP*, DWORD, DWORD, DWORD, DWORD*);
	int (*SetWmiDataItem)(_DEVICE_OBJECT*, _IRP*, DWORD, DWORD, DWORD, DWORD, DWORD*);
	int (*ExecuteWmiMethod)(_DEVICE_OBJECT*, _IRP*, DWORD, DWORD, DWORD, DWORD, DWORD, DWORD*);
	int (*WmiFunctionControl)(_DEVICE_OBJECT*, _IRP*, DWORD, enum WMIENABLEDISABLECONTROL, DWORD);
};

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

struct PROCESSOR_IDLE_STATE {
	DWORD StateType;
	DWORD Latency;
	_GEN_ADDR Register;
	DWORD (*IdleHandler)(PROCESSOR_IDLE_TIMES*);
};

struct PROCESSOR_IDLE_STATES {
	DWORD Count;
	PROCESSOR_IDLE_STATE State[1];
};

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

struct PROCESSOR_IDLE_TIMES {
	DWORD StartTime;
	DWORD EndTime;
	DWORD IdleHandlerReserved[4];
};

struct PROCESSOR_IDLE_STATE {
	DWORD StateType;
	DWORD Latency;
	_GEN_ADDR Register;
	DWORD (*IdleHandler)(PROCESSOR_IDLE_TIMES*);
};

struct PROCESSOR_PERFORMANCE_STATE {
	DWORD Frequency;
	DWORD Flags;
	DWORD PercentFrequency;
};

struct PROCESSOR_PERFORMANCE_STATES {
	int (*TransitionFunction)(DWORD);
	DWORD TransitionLatency;
	DWORD Current;
	DWORD Count;
	PROCESSOR_PERFORMANCE_STATE State[1];
};

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

struct ACPI_PSS_DESCRIPTOR {
	DWORD CoreFrequency;
	DWORD Power;
	DWORD Latency;
	DWORD BmLatency;
	DWORD Control;
	DWORD Status;
};

struct ACPI_PSS_PACKAGE {
	DWORD NumPStates;
	ACPI_PSS_DESCRIPTOR State[1];
};

struct ACPI_PSS_DESCRIPTOR {
	DWORD CoreFrequency;
	DWORD Power;
	DWORD Latency;
	DWORD BmLatency;
	DWORD Control;
	DWORD Status;
};

struct ACPI_PCT_PACKAGE {
	_GEN_ADDR Control;
	_GEN_ADDR Status;
};

struct PROCESSOR_PERFORMANCE_STATE {
	DWORD Frequency;

⌨️ 快捷键说明

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