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

📄 ntoskrnl.h

📁 一个 windows 内核级别的调试器
💻 H
📖 第 1 页 / 共 5 页
字号:
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 _IMAGE_NT_HEADERS {
	DWORD Signature;
	_IMAGE_FILE_HEADER FileHeader;
	_IMAGE_OPTIONAL_HEADER OptionalHeader;
};

struct _IMAGE_FILE_HEADER {
	DWORD Machine;
	DWORD NumberOfSections;
	DWORD TimeDateStamp;
	DWORD PointerToSymbolTable;
	DWORD NumberOfSymbols;
	DWORD SizeOfOptionalHeader;
	DWORD Characteristics;
};

struct _IMAGE_OPTIONAL_HEADER {
	DWORD Magic;
	DWORD MajorLinkerVersion;
	DWORD MinorLinkerVersion;
	DWORD SizeOfCode;
	DWORD SizeOfInitializedData;
	DWORD SizeOfUninitializedData;
	DWORD AddressOfEntryPoint;
	DWORD BaseOfCode;
	DWORD BaseOfData;
	DWORD ImageBase;
	DWORD SectionAlignment;
	DWORD FileAlignment;
	DWORD MajorOperatingSystemVersion;
	DWORD MinorOperatingSystemVersion;
	DWORD MajorImageVersion;
	DWORD MinorImageVersion;
	DWORD MajorSubsystemVersion;
	DWORD MinorSubsystemVersion;
	DWORD Win32VersionValue;
	DWORD SizeOfImage;
	DWORD SizeOfHeaders;
	DWORD CheckSum;
	DWORD Subsystem;
	DWORD DllCharacteristics;
	DWORD SizeOfStackReserve;
	DWORD SizeOfStackCommit;
	DWORD SizeOfHeapReserve;
	DWORD SizeOfHeapCommit;
	DWORD LoaderFlags;
	DWORD NumberOfRvaAndSizes;
	_IMAGE_DATA_DIRECTORY DataDirectory[16];
};

struct _IMAGE_NT_HEADERS {
	DWORD Signature;
	_IMAGE_FILE_HEADER FileHeader;
	_IMAGE_OPTIONAL_HEADER OptionalHeader;
};

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 _KAPC {
	int Type;
	int Size;
	DWORD Spare0;
	_KTHREAD* Thread;
	_LIST_ENTRY ApcListEntry;
	void (*KernelRoutine)(_KAPC*, void (*)(void*, void*, void*)*, void**, void**, void**);
	void (*RundownRoutine)(_KAPC*);
	void (*NormalRoutine)(void*, void*, void*);
	void* NormalContext;
	void* SystemArgument1;
	void* SystemArgument2;
	char ApcStateIndex;
	char ApcMode;
	DWORD Inserted;
};

struct _KTHREAD {
	_DISPATCHER_HEADER Header;
	_LIST_ENTRY MutantListHead;
	void* InitialStack;
	void* StackLimit;
	void* Teb;
	void* TlsArray;
	void* KernelStack;
	DWORD DebugActive;
	DWORD State;
	DWORD Alerted[2];
	DWORD Iopl;
	DWORD NpxState;
	char Saturation;
	char Priority;
	_KAPC_STATE ApcState;
	DWORD ContextSwitches;
	DWORD IdleSwapBlock;
	DWORD Spare0[3];
	int WaitStatus;
	DWORD WaitIrql;
	char WaitMode;
	DWORD WaitNext;
	DWORD WaitReason;
	_KWAIT_BLOCK* WaitBlockList;
	_LIST_ENTRY WaitListEntry;
	_SINGLE_LIST_ENTRY SwapListEntry;
	DWORD WaitTime;
	char BasePriority;
	DWORD DecrementCount;
	char PriorityDecrement;
	char Quantum;
	_KWAIT_BLOCK WaitBlock[4];
	void* LegoData;
	DWORD KernelApcDisable;
	DWORD UserAffinity;
	DWORD SystemAffinityActive;
	DWORD PowerState;
	DWORD NpxIrql;
	DWORD InitialNode;
	void* ServiceTable;
	_KQUEUE* Queue;
	DWORD ApcQueueLock;
	_KTIMER Timer;
	_LIST_ENTRY QueueListEntry;
	DWORD SoftAffinity;
	DWORD Affinity;
	DWORD Preempted;
	DWORD ProcessReadyQueue;
	DWORD KernelStackResident;
	DWORD NextProcessor;
	void* CallbackStack;
	void* Win32Thread;
	_KTRAP_FRAME* TrapFrame;
	_KAPC_STATE* ApcStatePointer[2];
	char PreviousMode;
	DWORD EnableStackSwap;
	DWORD LargeStack;
	DWORD ResourceIndex;
	DWORD KernelTime;
	DWORD UserTime;
	_KAPC_STATE SavedApcState;
	DWORD Alertable;
	DWORD ApcStateIndex;
	DWORD ApcQueueable;
	DWORD AutoAlignment;
	void* StackBase;
	_KAPC SuspendApc;
	_KSEMAPHORE SuspendSemaphore;
	_LIST_ENTRY ThreadListEntry;
	char FreezeCount;
	char SuspendCount;
	DWORD IdealProcessor;
	DWORD DisableBoost;
};

struct _KAPC {
	int Type;
	int Size;
	DWORD Spare0;
	_KTHREAD* Thread;
	_LIST_ENTRY ApcListEntry;
	void (*KernelRoutine)(_KAPC*, void (*)(void*, void*, void*)*, void**, void**, void**);
	void (*RundownRoutine)(_KAPC*);
	void (*NormalRoutine)(void*, void*, void*);
	void* NormalContext;
	void* SystemArgument1;
	void* SystemArgument2;
	char ApcStateIndex;
	char ApcMode;
	DWORD Inserted;
};

struct _SINGLE_LIST_ENTRY {
	_SINGLE_LIST_ENTRY* Next;
};

struct _SINGLE_LIST_ENTRY {
	_SINGLE_LIST_ENTRY* Next;
};

struct _HARDWARE_PTE_X86 {
	DWORD Valid:1; 	// bit offset: 00, len=1
	DWORD Write:1; 	// bit offset: 01, len=1
	DWORD Owner:1; 	// bit offset: 02, len=1
	DWORD WriteThrough:1; 	// bit offset: 03, len=1
	DWORD CacheDisable:1; 	// bit offset: 04, len=1
	DWORD Accessed:1; 	// bit offset: 05, len=1
	DWORD Dirty:1; 	// bit offset: 06, len=1
	DWORD LargePage:1; 	// bit offset: 07, len=1
	DWORD Global:1; 	// bit offset: 08, len=1
	DWORD CopyOnWrite:1; 	// bit offset: 09, len=1
	DWORD Prototype:1; 	// bit offset: 0A, len=1
	DWORD reserved:1; 	// bit offset: 0B, len=1
	DWORD PageFrameNumber:20; 	// bit offset: 0C, len=20
};

struct _HARDWARE_PTE_X86 {
	DWORD Valid:1; 	// bit offset: 00, len=1
	DWORD Write:1; 	// bit offset: 01, len=1
	DWORD Owner:1; 	// bit offset: 02, len=1
	DWORD WriteThrough:1; 	// bit offset: 03, len=1
	DWORD CacheDisable:1; 	// bit offset: 04, len=1
	DWORD Accessed:1; 	// bit offset: 05, len=1
	DWORD Dirty:1; 	// bit offset: 06, len=1
	DWORD LargePage:1; 	// bit offset: 07, len=1
	DWORD Global:1; 	// bit offset: 08, len=1
	DWORD CopyOnWrite:1; 	// bit offset: 09, len=1
	DWORD Prototype:1; 	// bit offset: 0A, len=1
	DWORD reserved:1; 	// bit offset: 0B, len=1
	DWORD PageFrameNumber:20; 	// bit offset: 0C, len=20
};

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

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;
};

enum _PP_NPAGED_LOOKASIDE_NUMBER {
	LookasideSmallIrpList,
	LookasideLargeIrpList,
	LookasideMdlList,
	LookasideCreateInfoList,
	LookasideNameBufferList,
	LookasideTwilightList,
	LookasideCompletionList,
	LookasideMaximumList,
};

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 _KPRCB {
	DWORD MinorVersion;
	DWORD MajorVersion;
	_KTHREAD* CurrentThread;
	_KTHREAD* NextThread;
	_KTHREAD* IdleThread;
	char Number;
	char Reserved;
	DWORD BuildType;
	DWORD SetMember;
	char CpuType;
	char CpuID;
	DWORD CpuStep;
	_KPROCESSOR_STATE ProcessorState;
	DWORD KernelReserved[16];
	DWORD HalReserved[16];
	DWORD PrcbPad0[92];
	_KSPIN_LOCK_QUEUE LockQueue[16];
	DWORD PrcbPad1[8];
	_KTHREAD* NpxThread;
	DWORD InterruptCount;
	DWORD KernelTime;
	DWORD UserTime;
	DWORD DpcTime;
	DWORD DebugDpcTime;
	DWORD InterruptTime;
	DWORD AdjustDpcThreshold;
	DWORD PageColor;
	DWORD SkipTick;
	DWORD MultiThreadSetBusy;
	DWORD Spare2[3];
	_KNODE* ParentNode;
	DWORD MultiThreadProcessorSet;
	_KPRCB* MultiThreadSetMaster;
	DWORD ThreadStartCount[2];
	DWORD CcFastReadNoWait;
	DWORD CcFastReadWait;
	DWORD CcFastReadNotPossible;
	DWORD CcCopyReadNoWait;
	DWORD CcCopyReadWait;
	DWORD CcCopyReadNoWaitMiss;
	DWORD KeAlignmentFixupCount;
	DWORD KeContextSwitches;
	DWORD KeDcacheFlushCount;
	DWORD KeExceptionDispatchCount;
	DWORD KeFirstLevelTbFills;
	DWORD KeFloatingEmulationCount;
	DWORD KeIcacheFlushCount;
	DWORD KeSecondLevelTbFills;
	DWORD KeSystemCalls;
	DWORD SpareCounter0[1];
	_PP_LOOKASIDE_LIST PPLookasideList[16];
	_PP_LOOKASIDE_LIST PPNPagedLookasideList[32];
	_PP_LOOKASIDE_LIST PPPagedLookasideList[32];
	DWORD PacketBarrier;
	DWORD ReverseStall;
	void* IpiFrame;
	DWORD PrcbPad2[52];
	void* CurrentPacket[3];
	DWORD TargetSet;
	void (*WorkerRoutine)(void*, void*, void*, void*);
	DWORD IpiFrozen;
	DWORD PrcbPad3[40];
	DWORD RequestSummary;
	_KPRCB* SignalDone;
	DWORD PrcbPad4[56];
	_LIST_ENTRY DpcListHead;
	void* DpcStack;
	DWORD DpcCount;
	DWORD DpcQueueDepth;
	DWORD DpcRoutineActive;
	DWORD DpcInterruptRequested;
	DWORD DpcLastCount;
	DWORD DpcRequestRate;
	DWORD MaximumDpcQueueDepth;
	DWORD MinimumDpcRate;
	DWORD QuantumEnd;
	DWORD PrcbPad5[16];
	DWORD DpcLock;
	DWORD PrcbPad6[60];
	void* ChainedInterruptList;
	int LookasideIrpFloat;
	DWORD SpareFields0[6];
	DWORD VendorString[13];
	DWORD InitialApicId;
	DWORD LogicalProcessorsPerPhysicalProcessor;
	DWORD MHz;
	DWORD FeatureBits;
	_LARGE_INTEGER UpdateSignature;
	_FX_SAVE_AREA NpxSaveArea;
	_PROCESSOR_POWER_STATE PowerState;
};

struct _KPROCESSOR_STATE {
	_CONTEXT ContextFrame;
	_KSPECIAL_REGISTERS SpecialRegisters;
};

struct _KSPIN_LOCK_QUEUE {
	_KSPIN_LOCK_QUEUE* Next;
	DWORD* Lock;
};

struct _KNODE {
	DWORD ProcessorMask;
	DWORD Color;
	DWORD MmShiftedColor;
	DWORD FreeCount[2];
	_SLIST_HEADER DeadStackList;
	_SLIST_HEADER PfnDereferenceSListHead;
	_SINGLE_LIST_ENTRY* PfnDeferredList;
	DWORD Seed;
	_flags Flags;
};

struct _PP_LOOKASIDE_LIST {
	_GENERAL_LOOKASIDE* P;
	_GENERAL_LOOKASIDE* L;
};

struct _KPRCB {
	DWORD MinorVersion;
	DWORD MajorVersion;
	_KTHREAD* CurrentThread;
	_KTHREAD* NextThread;
	_KTHREAD* IdleThread;
	char Number;
	char Reserved;
	DWORD BuildType;
	DWORD SetMember;
	char CpuType;
	char CpuID;
	DWORD CpuStep;
	_KPROCESSOR_STATE ProcessorState;
	DWORD KernelReserved[16];
	DWORD HalReserved[16];
	DWORD PrcbPad0[92];
	_KSPIN_LOCK_QUEUE LockQueue[16];
	DWORD PrcbPad1[8];
	_KTHREAD* NpxThread;
	DWORD InterruptCount;
	DWORD KernelTime;
	DWORD UserTime;
	DWORD DpcTime;
	DWORD DebugDpcTime;
	DWORD InterruptTime;
	DWORD AdjustDpcThreshold;
	DWORD PageColor;
	DWORD SkipTick;
	DWORD MultiThreadSetBusy;
	DWORD Spare2[3];
	_KNODE* ParentNode;
	DWORD MultiThreadProcessorSet;
	_KPRCB* MultiThreadSetMaster;
	DWORD ThreadStartCount[2];
	DWORD CcFastReadNoWait;
	DWORD CcFastReadWait;
	DWORD CcFastReadNotPossible;
	DWORD CcCopyReadNoWait;
	DWORD CcCopyReadWait;
	DWORD CcCopyReadNoWaitMiss;
	DWORD KeAlignmentFixupCount;
	DWORD KeContextSwitches;

⌨️ 快捷键说明

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