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

📄 win32k.h

📁 一个 windows 内核级别的调试器
💻 H
📖 第 1 页 / 共 4 页
字号:
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 _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 _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;
	_LARGE_INTEGER::__unnamed u;
	int QuadPart;
};

struct _LARGE_INTEGER::__unnamed {
	DWORD LowPart;
	int HighPart;
};

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

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

struct _ULARGE_INTEGER::__unnamed {
	DWORD LowPart;
	DWORD HighPart;
};

struct _ULARGE_INTEGER {
	DWORD LowPart;
	DWORD HighPart;
	_ULARGE_INTEGER::__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 _EX_RUNDOWN_REF {
	DWORD Count;
	void* Ptr;
};

struct _EX_RUNDOWN_REF {
	DWORD Count;
	void* Ptr;
};

struct _ETHREAD {
};

struct _EPROCESS {
};

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 {
	_ERESOURCE Mutex;
	_LIST_ENTRY TypeList;
	_UNICODE_STRING Name;
	void* DefaultObject;
	DWORD Index;
	DWORD TotalNumberOfObjects;
	DWORD TotalNumberOfHandles;
	DWORD HighWaterNumberOfObjects;
	DWORD HighWaterNumberOfHandles;
	_OBJECT_TYPE_INITIALIZER TypeInfo;
	DWORD Key;
	_ERESOURCE ObjectLocks[4];
};

struct _ERESOURCE {
	_LIST_ENTRY SystemResourcesList;
	_OWNER_ENTRY* OwnerTable;
	int ActiveCount;
	DWORD Flag;
	_KSEMAPHORE* SharedWaiters;
	_KEVENT* ExclusiveWaiters;
	_OWNER_ENTRY OwnerThreads[2];
	DWORD ContentionCount;
	DWORD NumberOfSharedWaiters;
	DWORD NumberOfExclusiveWaiters;
	void* Address;
	DWORD CreatorBackTraceIndex;
	DWORD SpinLock;
};

struct _OBJECT_TYPE_INITIALIZER {
	DWORD Length;
	DWORD UseDefaultObject;
	DWORD CaseInsensitive;
	DWORD InvalidAttributes;
	_GENERIC_MAPPING GenericMapping;
	DWORD ValidAccessMask;
	DWORD SecurityRequired;
	DWORD MaintainHandleCount;
	DWORD MaintainTypeList;
	enum _POOL_TYPE PoolType;
	DWORD DefaultPagedPoolCharge;
	DWORD DefaultNonPagedPoolCharge;
	void (*DumpProcedure)(void*, _OBJECT_DUMP_CONTROL*);
	int (*OpenProcedure)(enum _OB_OPEN_REASON, _EPROCESS*, void*, DWORD, DWORD);
	void (*CloseProcedure)(_EPROCESS*, void*, DWORD, DWORD, DWORD);
	void (*DeleteProcedure)(void*);
	int (*ParseProcedure)(void*, void*, _ACCESS_STATE*, char, DWORD, _UNICODE_STRING*, _UNICODE_STRING*, void*, _SECURITY_QUALITY_OF_SERVICE*, void**);
	int (*SecurityProcedure)(void*, enum _SECURITY_OPERATION_CODE, DWORD*, void*, DWORD*, void**, enum _POOL_TYPE, _GENERIC_MAPPING*);
	int (*QueryNameProcedure)(void*, DWORD, _OBJECT_NAME_INFORMATION*, DWORD, DWORD*);
	DWORD (*OkayToCloseProcedure)(_EPROCESS*, void*, void*, char);
};

struct _OBJECT_TYPE {
	_ERESOURCE Mutex;
	_LIST_ENTRY TypeList;
	_UNICODE_STRING Name;
	void* DefaultObject;
	DWORD Index;
	DWORD TotalNumberOfObjects;
	DWORD TotalNumberOfHandles;
	DWORD HighWaterNumberOfObjects;
	DWORD HighWaterNumberOfHandles;
	_OBJECT_TYPE_INITIALIZER TypeInfo;
	DWORD Key;
	_ERESOURCE ObjectLocks[4];
};

struct _OBJECT_HANDLE_INFORMATION {
	DWORD HandleAttributes;
	DWORD GrantedAccess;
};

struct _OBJECT_HANDLE_INFORMATION {
	DWORD HandleAttributes;
	DWORD GrantedAccess;
};

struct _TL {
	_TL* next;
	void* pobj;
	void (*pfnFree)(void*);
};

struct _TL {
	_TL* next;
	void* pobj;
	void (*pfnFree)(void*);
};

struct _W32THREAD {
	_ETHREAD* pEThread;
	DWORD RefCount;
	_TL* ptlW32;
	void* pgdiDcattr;
	void* pgdiBrushAttr;
	void* pUMPDObjs;
	void* pUMPDHeap;
	DWORD dwEngAcquireCount;
	void* pSemTable;
	void* pUMPDObj;
};

struct _W32THREAD {
	_ETHREAD* pEThread;
	DWORD RefCount;
	_TL* ptlW32;
	void* pgdiDcattr;
	void* pgdiBrushAttr;
	void* pUMPDObjs;
	void* pUMPDHeap;
	DWORD dwEngAcquireCount;
	void* pSemTable;
	void* pUMPDObj;
};

struct _FILE_OBJECT {
	int Type;
	int Size;
	_DEVICE_OBJECT* DeviceObject;
	_VPB* Vpb;
	void* FsContext;
	void* FsContext2;
	_SECTION_OBJECT_POINTERS* SectionObjectPointer;
	void* PrivateCacheMap;
	int FinalStatus;
	_FILE_OBJECT* RelatedFileObject;
	DWORD LockOperation;
	DWORD DeletePending;
	DWORD ReadAccess;
	DWORD WriteAccess;
	DWORD DeleteAccess;
	DWORD SharedRead;
	DWORD SharedWrite;
	DWORD SharedDelete;
	DWORD Flags;
	_UNICODE_STRING FileName;
	_LARGE_INTEGER CurrentByteOffset;
	DWORD Waiters;
	DWORD Busy;
	void* LastLock;
	_KEVENT Lock;
	_KEVENT Event;
	_IO_COMPLETION_CONTEXT* CompletionContext;
};

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;
	_DEVICE_OBJECT::__unnamed Queue;
	DWORD AlignmentRequirement;
	_KDEVICE_QUEUE DeviceQueue;
	_KDPC Dpc;
	DWORD ActiveThreadCount;
	void* SecurityDescriptor;
	_KEVENT DeviceLock;
	DWORD SectorSize;
	DWORD Spare1;
	_DEVOBJ_EXTENSION* DeviceObjectExtension;
	void* Reserved;
};

struct _VPB {
	int Type;
	int Size;
	DWORD Flags;
	DWORD VolumeLabelLength;
	_DEVICE_OBJECT* DeviceObject;
	_DEVICE_OBJECT* RealDevice;
	DWORD SerialNumber;
	DWORD ReferenceCount;
	DWORD VolumeLabel[32];
};

struct _SECTION_OBJECT_POINTERS {
	void* DataSectionObject;
	void* SharedCacheMap;
	void* ImageSectionObject;
};

struct _KEVENT {
	_DISPATCHER_HEADER Header;
};

struct _IO_COMPLETION_CONTEXT {
	void* Port;
	void* Key;
};

struct _FILE_OBJECT {
	int Type;
	int Size;
	_DEVICE_OBJECT* DeviceObject;
	_VPB* Vpb;
	void* FsContext;
	void* FsContext2;
	_SECTION_OBJECT_POINTERS* SectionObjectPointer;
	void* PrivateCacheMap;
	int FinalStatus;
	_FILE_OBJECT* RelatedFileObject;
	DWORD LockOperation;
	DWORD DeletePending;
	DWORD ReadAccess;
	DWORD WriteAccess;
	DWORD DeleteAccess;
	DWORD SharedRead;
	DWORD SharedWrite;
	DWORD SharedDelete;
	DWORD Flags;
	_UNICODE_STRING FileName;
	_LARGE_INTEGER CurrentByteOffset;
	DWORD Waiters;
	DWORD Busy;
	void* LastLock;
	_KEVENT Lock;
	_KEVENT Event;
	_IO_COMPLETION_CONTEXT* CompletionContext;
};

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

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

struct _KTHREAD {
};

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

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

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 _GENERAL_LOOKASIDE::__unnamed {
	DWORD AllocateMisses;
	DWORD AllocateHits;
};

struct _GENERAL_LOOKASIDE::__unnamed {
	DWORD FreeMisses;
	DWORD FreeHits;
};

struct _GENERAL_LOOKASIDE::__unnamed {
	DWORD LastAllocateMisses;
	DWORD LastAllocateHits;
};

struct _IO_COMPLETION_CONTEXT {

⌨️ 快捷键说明

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