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

📄 processr.h

📁 一个 windows 内核级别的调试器
💻 H
📖 第 1 页 / 共 3 页
字号:
	void (*InterfaceDereference)(void*);
};

struct __unnamed {
	_GUID* InterfaceType;
	DWORD Size;
	DWORD Version;
	_INTERFACE* Interface;
	void* InterfaceSpecificData;
};

struct __unnamed {
	_DEVICE_CAPABILITIES* Capabilities;
};

struct _IO_RESOURCE_REQUIREMENTS_LIST {
	DWORD ListSize;
	enum _INTERFACE_TYPE InterfaceType;
	DWORD BusNumber;
	DWORD SlotNumber;
	DWORD Reserved[3];
	DWORD AlternativeLists;
	_IO_RESOURCE_LIST List[1];
};

struct __unnamed {
	_IO_RESOURCE_REQUIREMENTS_LIST* IoResourceRequirementList;
};

struct __unnamed {
	DWORD WhichSpace;
	void* Buffer;
	DWORD Offset;
	DWORD Length;
};

struct __unnamed {
	DWORD Lock;
};

enum BUS_QUERY_ID_TYPE {
	BusQueryDeviceID,
	BusQueryHardwareIDs,
	BusQueryCompatibleIDs,
	BusQueryInstanceID,
	BusQueryDeviceSerialNumber,
};

struct __unnamed {
	enum BUS_QUERY_ID_TYPE IdType;
};

enum DEVICE_TEXT_TYPE {
	DeviceTextDescription,
	DeviceTextLocationInformation,
};

struct __unnamed {
	enum DEVICE_TEXT_TYPE DeviceTextType;
	DWORD LocaleId;
};

enum _DEVICE_USAGE_NOTIFICATION_TYPE {
	DeviceUsageTypeUndefined,
	DeviceUsageTypePaging,
	DeviceUsageTypeHibernation,
	DeviceUsageTypeDumpFile,
};

struct __unnamed {
	DWORD InPath;
	DWORD Reserved[3];
	enum _DEVICE_USAGE_NOTIFICATION_TYPE Type;
};

struct __unnamed {
	enum _SYSTEM_POWER_STATE PowerState;
};

struct _POWER_SEQUENCE {
	DWORD SequenceD1;
	DWORD SequenceD2;
	DWORD SequenceD3;
};

struct __unnamed {
	_POWER_SEQUENCE* PowerSequence;
};

enum _POWER_STATE_TYPE {
	SystemPowerState,
	DevicePowerState,
};

struct _POWER_STATE {
	enum _SYSTEM_POWER_STATE SystemState;
	enum _DEVICE_POWER_STATE DeviceState;
};

enum POWER_ACTION {
	PowerActionNone,
	PowerActionReserved,
	PowerActionSleep,
	PowerActionHibernate,
	PowerActionShutdown,
	PowerActionShutdownReset,
	PowerActionShutdownOff,
	PowerActionWarmEject,
};

struct __unnamed {
	DWORD SystemContext;
	enum _POWER_STATE_TYPE Type;
	_POWER_STATE State;
	enum POWER_ACTION ShutdownType;
};

struct _CM_RESOURCE_LIST {
	DWORD Count;
	_CM_FULL_RESOURCE_DESCRIPTOR List[1];
};

struct __unnamed {
	_CM_RESOURCE_LIST* AllocatedResources;
	_CM_RESOURCE_LIST* AllocatedResourcesTranslated;
};

struct __unnamed {
	DWORD ProviderId;
	void* DataPath;
	DWORD BufferSize;
	void* Buffer;
};

struct __unnamed {
	void* Argument1;
	void* Argument2;
	void* Argument3;
	void* Argument4;
};

struct __unnamed {
	__unnamed Create;
	__unnamed Read;
	__unnamed Write;
	__unnamed QueryFile;
	__unnamed SetFile;
	__unnamed QueryVolume;
	__unnamed DeviceIoControl;
	__unnamed QuerySecurity;
	__unnamed SetSecurity;
	__unnamed MountVolume;
	__unnamed VerifyVolume;
	__unnamed Scsi;
	__unnamed QueryDeviceRelations;
	__unnamed QueryInterface;
	__unnamed DeviceCapabilities;
	__unnamed FilterResourceRequirements;
	__unnamed ReadWriteConfig;
	__unnamed SetLock;
	__unnamed QueryId;
	__unnamed QueryDeviceText;
	__unnamed UsageNotification;
	__unnamed WaitWake;
	__unnamed PowerSequence;
	__unnamed Power;
	__unnamed StartDevice;
	__unnamed WMI;
	__unnamed Others;
};

struct _IO_STACK_LOCATION {
	DWORD MajorFunction;
	DWORD MinorFunction;
	DWORD Flags;
	DWORD Control;
	__unnamed Parameters;
	_DEVICE_OBJECT* DeviceObject;
	_FILE_OBJECT* FileObject;
	int (*CompletionRoutine)(_DEVICE_OBJECT*, _IRP*, void*);
	void* Context;
};

struct _INTERFACE {
	DWORD Size;
	DWORD Version;
	void* Context;
	void (*InterfaceReference)(void*);
	void (*InterfaceDereference)(void*);
};

struct _POWER_STATE {
	enum _SYSTEM_POWER_STATE SystemState;
	enum _DEVICE_POWER_STATE DeviceState;
};

enum _INTERFACE_TYPE {
	InterfaceTypeUndefined,
	Internal,
	Isa,
	Eisa,
	MicroChannel,
	TurboChannel,
	PCIBus,
	VMEBus,
	NuBus,
	PCMCIABus,
	CBus,
	MPIBus,
	MPSABus,
	ProcessorInternal,
	InternalPowerBus,
	PNPISABus,
	PNPBus,
	MaximumInterfaceType,
};

struct _IO_RESOURCE_LIST {
	DWORD Version;
	DWORD Revision;
	DWORD Count;
	_IO_RESOURCE_DESCRIPTOR Descriptors[1];
};

struct _IO_RESOURCE_REQUIREMENTS_LIST {
	DWORD ListSize;
	enum _INTERFACE_TYPE InterfaceType;
	DWORD BusNumber;
	DWORD SlotNumber;
	DWORD Reserved[3];
	DWORD AlternativeLists;
	_IO_RESOURCE_LIST List[1];
};

struct _FILE_BASIC_INFORMATION {
	_LARGE_INTEGER CreationTime;
	_LARGE_INTEGER LastAccessTime;
	_LARGE_INTEGER LastWriteTime;
	_LARGE_INTEGER ChangeTime;
	DWORD FileAttributes;
};

struct _FILE_STANDARD_INFORMATION {
	_LARGE_INTEGER AllocationSize;
	_LARGE_INTEGER EndOfFile;
	DWORD NumberOfLinks;
	DWORD DeletePending;
	DWORD Directory;
};

struct _FILE_NETWORK_OPEN_INFORMATION {
	_LARGE_INTEGER CreationTime;
	_LARGE_INTEGER LastAccessTime;
	_LARGE_INTEGER LastWriteTime;
	_LARGE_INTEGER ChangeTime;
	_LARGE_INTEGER AllocationSize;
	_LARGE_INTEGER EndOfFile;
	DWORD FileAttributes;
};

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

struct _FAST_IO_DISPATCH {
	DWORD SizeOfFastIoDispatch;
	DWORD (*FastIoCheckIfPossible)(_FILE_OBJECT*, _LARGE_INTEGER*, DWORD, DWORD, DWORD, DWORD, _IO_STATUS_BLOCK*, _DEVICE_OBJECT*);
	DWORD (*FastIoRead)(_FILE_OBJECT*, _LARGE_INTEGER*, DWORD, DWORD, DWORD, void*, _IO_STATUS_BLOCK*, _DEVICE_OBJECT*);
	DWORD (*FastIoWrite)(_FILE_OBJECT*, _LARGE_INTEGER*, DWORD, DWORD, DWORD, void*, _IO_STATUS_BLOCK*, _DEVICE_OBJECT*);
	DWORD (*FastIoQueryBasicInfo)(_FILE_OBJECT*, DWORD, _FILE_BASIC_INFORMATION*, _IO_STATUS_BLOCK*, _DEVICE_OBJECT*);
	DWORD (*FastIoQueryStandardInfo)(_FILE_OBJECT*, DWORD, _FILE_STANDARD_INFORMATION*, _IO_STATUS_BLOCK*, _DEVICE_OBJECT*);
	DWORD (*FastIoLock)(_FILE_OBJECT*, _LARGE_INTEGER*, _LARGE_INTEGER*, _EPROCESS*, DWORD, DWORD, DWORD, _IO_STATUS_BLOCK*, _DEVICE_OBJECT*);
	DWORD (*FastIoUnlockSingle)(_FILE_OBJECT*, _LARGE_INTEGER*, _LARGE_INTEGER*, _EPROCESS*, DWORD, _IO_STATUS_BLOCK*, _DEVICE_OBJECT*);
	DWORD (*FastIoUnlockAll)(_FILE_OBJECT*, _EPROCESS*, _IO_STATUS_BLOCK*, _DEVICE_OBJECT*);
	DWORD (*FastIoUnlockAllByKey)(_FILE_OBJECT*, void*, DWORD, _IO_STATUS_BLOCK*, _DEVICE_OBJECT*);
	DWORD (*FastIoDeviceControl)(_FILE_OBJECT*, DWORD, void*, DWORD, void*, DWORD, DWORD, _IO_STATUS_BLOCK*, _DEVICE_OBJECT*);
	void (*AcquireFileForNtCreateSection)(_FILE_OBJECT*);
	void (*ReleaseFileForNtCreateSection)(_FILE_OBJECT*);
	void (*FastIoDetachDevice)(_DEVICE_OBJECT*, _DEVICE_OBJECT*);
	DWORD (*FastIoQueryNetworkOpenInfo)(_FILE_OBJECT*, DWORD, _FILE_NETWORK_OPEN_INFORMATION*, _IO_STATUS_BLOCK*, _DEVICE_OBJECT*);
	int (*AcquireForModWrite)(_FILE_OBJECT*, _LARGE_INTEGER*, _ERESOURCE**, _DEVICE_OBJECT*);
	DWORD (*MdlRead)(_FILE_OBJECT*, _LARGE_INTEGER*, DWORD, DWORD, _MDL**, _IO_STATUS_BLOCK*, _DEVICE_OBJECT*);
	DWORD (*MdlReadComplete)(_FILE_OBJECT*, _MDL*, _DEVICE_OBJECT*);
	DWORD (*PrepareMdlWrite)(_FILE_OBJECT*, _LARGE_INTEGER*, DWORD, DWORD, _MDL**, _IO_STATUS_BLOCK*, _DEVICE_OBJECT*);
	DWORD (*MdlWriteComplete)(_FILE_OBJECT*, _LARGE_INTEGER*, _MDL*, _DEVICE_OBJECT*);
	DWORD (*FastIoReadCompressed)(_FILE_OBJECT*, _LARGE_INTEGER*, DWORD, DWORD, void*, _MDL**, _IO_STATUS_BLOCK*, _COMPRESSED_DATA_INFO*, DWORD, _DEVICE_OBJECT*);
	DWORD (*FastIoWriteCompressed)(_FILE_OBJECT*, _LARGE_INTEGER*, DWORD, DWORD, void*, _MDL**, _IO_STATUS_BLOCK*, _COMPRESSED_DATA_INFO*, DWORD, _DEVICE_OBJECT*);
	DWORD (*MdlReadCompleteCompressed)(_FILE_OBJECT*, _MDL*, _DEVICE_OBJECT*);
	DWORD (*MdlWriteCompleteCompressed)(_FILE_OBJECT*, _LARGE_INTEGER*, _MDL*, _DEVICE_OBJECT*);
	DWORD (*FastIoQueryOpen)(_IRP*, _FILE_NETWORK_OPEN_INFORMATION*, _DEVICE_OBJECT*);
	int (*ReleaseForModWrite)(_FILE_OBJECT*, _ERESOURCE*, _DEVICE_OBJECT*);
	int (*AcquireForCcFlush)(_FILE_OBJECT*, _DEVICE_OBJECT*);
	int (*ReleaseForCcFlush)(_FILE_OBJECT*, _DEVICE_OBJECT*);
};

struct _FILE_BASIC_INFORMATION {
	_LARGE_INTEGER CreationTime;
	_LARGE_INTEGER LastAccessTime;
	_LARGE_INTEGER LastWriteTime;
	_LARGE_INTEGER ChangeTime;
	DWORD FileAttributes;
};

struct _SECURITY_QUALITY_OF_SERVICE {
	DWORD Length;
	enum _SECURITY_IMPERSONATION_LEVEL ImpersonationLevel;
	DWORD ContextTrackingMode;
	DWORD EffectiveOnly;
};

struct _ACCESS_STATE {
	_LUID OperationID;
	DWORD SecurityEvaluated;
	DWORD GenerateAudit;
	DWORD GenerateOnClose;
	DWORD PrivilegesAllocated;
	DWORD Flags;
	DWORD RemainingDesiredAccess;
	DWORD PreviouslyGrantedAccess;
	DWORD OriginalDesiredAccess;
	_SECURITY_SUBJECT_CONTEXT SubjectSecurityContext;
	void* SecurityDescriptor;
	void* AuxData;
	__unnamed Privileges;
	DWORD AuditPrivileges;
	_UNICODE_STRING ObjectName;
	_UNICODE_STRING ObjectTypeName;
};

struct _IO_SECURITY_CONTEXT {
	_SECURITY_QUALITY_OF_SERVICE* SecurityQos;
	_ACCESS_STATE* AccessState;
	DWORD DesiredAccess;
	DWORD FullCreateOptions;
};

struct _IO_RESOURCE_DESCRIPTOR {
	DWORD Option;
	DWORD Type;
	DWORD ShareDisposition;
	DWORD Spare1;
	DWORD Flags;
	DWORD Spare2;
	__unnamed u;
};

struct _IO_RESOURCE_LIST {
	DWORD Version;
	DWORD Revision;
	DWORD Count;
	_IO_RESOURCE_DESCRIPTOR Descriptors[1];
};

struct _FILE_NETWORK_OPEN_INFORMATION {
	_LARGE_INTEGER CreationTime;
	_LARGE_INTEGER LastAccessTime;
	_LARGE_INTEGER LastWriteTime;
	_LARGE_INTEGER ChangeTime;
	_LARGE_INTEGER AllocationSize;
	_LARGE_INTEGER EndOfFile;
	DWORD FileAttributes;
};

struct _CM_FULL_RESOURCE_DESCRIPTOR {
	enum _INTERFACE_TYPE InterfaceType;
	DWORD BusNumber;
	_CM_PARTIAL_RESOURCE_LIST PartialResourceList;
};

struct _CM_RESOURCE_LIST {
	DWORD Count;
	_CM_FULL_RESOURCE_DESCRIPTOR List[1];
};

struct _SECURITY_SUBJECT_CONTEXT {
	void* ClientToken;
	enum _SECURITY_IMPERSONATION_LEVEL ImpersonationLevel;
	void* PrimaryToken;
	void* ProcessAuditId;
};

struct _INITIAL_PRIVILEGE_SET {
	DWORD PrivilegeCount;
	DWORD Control;
	_LUID_AND_ATTRIBUTES Privilege[3];
};

struct _PRIVILEGE_SET {
	DWORD PrivilegeCount;
	DWORD Control;
	_LUID_AND_ATTRIBUTES Privilege[1];
};

struct __unnamed {
	_INITIAL_PRIVILEGE_SET InitialPrivilegeSet;
	_PRIVILEGE_SET PrivilegeSet;
};

struct _ACCESS_STATE {
	_LUID OperationID;
	DWORD SecurityEvaluated;
	DWORD GenerateAudit;
	DWORD GenerateOnClose;
	DWORD PrivilegesAllocated;
	DWORD Flags;
	DWORD RemainingDesiredAccess;
	DWORD PreviouslyGrantedAccess;
	DWORD OriginalDesiredAccess;
	_SECURITY_SUBJECT_CONTEXT SubjectSecurityContext;
	void* SecurityDescriptor;
	void* AuxData;
	__unnamed Privileges;
	DWORD AuditPrivileges;
	_UNICODE_STRING ObjectName;
	_UNICODE_STRING ObjectTypeName;
};

struct _OWNER_ENTRY {
	DWORD OwnerThread;
	int OwnerCount;
	DWORD TableSize;
};

struct _KSEMAPHORE {
	_DISPATCHER_HEADER Header;
	int Limit;
};

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 _KSEMAPHORE {
	_DISPATCHER_HEADER Header;
	int Limit;
};

struct _POWER_SEQUENCE {
	DWORD SequenceD1;
	DWORD SequenceD2;
	DWORD SequenceD3;
};

enum _SECURITY_IMPERSONATION_LEVEL {
	SecurityAnonymous,
	SecurityIdentification,
	SecurityImpersonation,
	SecurityDelegation,
};

struct _SECURITY_SUBJECT_CONTEXT {
	void* ClientToken;
	enum _SECURITY_IMPERSONATION_LEVEL ImpersonationLevel;
	void* PrimaryToken;
	void* ProcessAuditId;
};

struct __unnamed {
	DWORD Length;
	DWORD Alignment;
	_LARGE_INTEGER MinimumAddress;
	_LARGE_INTEGER MaximumAddress;
};

struct __unnamed {
	DWORD MinimumVector;
	DWORD MaximumVector;
};

struct __unnamed {
	DWORD MinimumChannel;
	DWORD MaximumChannel;
};

struct __unnamed {
	DWORD Data[3];
};

struct __unnamed {
	DWORD Length;
	DWORD MinBusNumber;
	DWORD MaxBusNumber;
	DWORD Reserved;
};

struct __unnamed {
	DWORD Priority;
	DWORD Reserved1;
	DWORD Reserved2;
};

struct __unnamed {
	__unnamed Port;
	__unnamed Memory;
	__unnamed Interrupt;
	__unnamed Dma;
	__unnamed Generic;
	__unnamed DevicePrivate;
	__unnamed BusNumber;
	__unnamed ConfigData;
};

struct _IO_RESOURCE_DESCRIPTOR {
	DWORD Option;
	DWORD Type;
	DWORD ShareDisposition;
	DWORD Spare1;
	DWORD Flags;
	DWORD Spare2;
	__unnamed u;
};

struct _LUID_AND_ATTRIBUTES {
	_LUID Luid;
	DWORD Attributes;
};

struct _INITIAL_PRIVILEGE_SET {
	DWORD PrivilegeCount;
	DWORD Control;
	_LUID_AND_ATTRIBUTES Privilege[3];
};

struct _SECURITY_QUALITY_OF_SERVICE {
	DWORD Length;
	enum _SECURITY_IMPERSONATION_LEVEL ImpersonationLevel;
	DWORD ContextTrackingMode;
	DWORD EffectiveOnly;
};

struct _FILE_STANDARD_INFORMATION {
	_LARGE_INTEGER AllocationSize;
	_LARGE_INTEGER EndOfFile;
	DWORD NumberOfLinks;
	DWORD DeletePending;
	DWORD Directory;
};

struct _CM_PARTIAL_RESOURCE_LIST {
	DWORD Version;
	DWORD Revision;
	DWORD Count;
	_CM_PARTIAL_RESOURCE_DESCRIPTOR PartialDescriptors[1];
};

struct _CM_FULL_RESOURCE_DESCRIPTOR {
	enum _INTERFACE_TYPE InterfaceType;
	DWORD BusNumber;
	_CM_PARTIAL_RESOURCE_LIST PartialResourceList;
};

struct _OWNER_ENTRY {
	DWORD OwnerThread;
	int OwnerCount;
	DWORD TableSize;
};

struct _CM_PARTIAL_RESOURCE_DESCRIPTOR {
	DWORD Type;
	DWORD ShareDisposition;
	DWORD Flags;
	__unnamed u;
};

struct _CM_PARTIAL_RESOURCE_LIST {
	DWORD Version;
	DWORD Revision;
	DWORD Count;
	_CM_PARTIAL_RESOURCE_DESCRIPTOR PartialDescriptors[1];
};

struct _LUID_AND_ATTRIBUTES {
	_LUID Luid;
	DWORD Attributes;
};

struct __unnamed {
	_LARGE_INTEGER Start;
	DWORD Length;
};

struct __unnamed {
	DWORD Level;
	DWORD Vector;
	DWORD Affinity;
};

struct __unnamed {
	DWORD Channel;
	DWORD Port;
	DWORD Reserved1;
};

struct __unnamed {
	DWORD Start;
	DWORD Length;
	DWORD Reserved;
};

struct __unnamed {
	DWORD DataSize;
	DWORD Reserved1;
	DWORD Reserved2;
};

struct __unnamed {
	__unnamed Generic;
	__unnamed Port;
	__unnamed Interrupt;
	__unnamed Memory;
	__unnamed Dma;
	__unnamed DevicePrivate;
	__unnamed BusNumber;
	__unnamed DeviceSpecificData;
};

struct _CM_PARTIAL_RESOURCE_DESCRIPTOR {
	DWORD Type;
	DWORD ShareDisposition;
	DWORD Flags;
	__unnamed u;
};

struct _PRIVILEGE_SET {
	DWORD PrivilegeCount;
	DWORD Control;
	_LUID_AND_ATTRIBUTES Privilege[1];
};

⌨️ 快捷键说明

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