📄 structs.h
字号:
byte SectorPerTrack;
byte ReadWriteGapLength;
byte DataTransferLength;
byte FormatGapLength;
byte FormatFillCharacter;
byte HeadSettleTime;
byte MotorSettleTime;
byte MaximumTrackValue;
byte DataTransferRate;
};
struct _REQ_UNLOCK_BYTE_RANGE {
byte WordCount;
uint16 Fid;
uint32 Count;
uint32 Offset;
uint16 ByteCount;
byte Buffer[1];
};
struct _RESP_IOCTL {
byte WordCount;
uint16 TotalParameterCount;
uint16 TotalDataCount;
uint16 ParameterCount;
uint16 ParameterOffset;
uint16 ParameterDisplacement;
uint16 DataCount;
uint16 DataOffset;
uint16 DataDisplacement;
uint16 ByteCount;
byte Buffer[1];
};
struct _PP_LOOKASIDE_LIST {
struct _NPAGED_LOOKASIDE_LIST *P;
struct _NPAGED_LOOKASIDE_LIST *L;
};
struct _SECURITY_DESCRIPTOR {
byte Revision;
byte Sbz1;
uint16 Control;
void *Owner;
void *Group;
struct _ACL *Sacl;
struct _ACL *Dacl;
};
struct _SID_AND_ATTRIBUTES {
void *Sid;
uint32 Attributes;
};
struct _RESP_NT_NEGOTIATE {
byte WordCount;
uint16 DialectIndex;
byte SecurityMode;
uint16 MaxMpxCount;
uint16 MaxNumberVcs;
uint32 MaxBufferSize;
uint32 MaxRawSize;
uint32 SessionKey;
uint32 Capabilities;
uint32 SystemTimeLow;
uint32 SystemTimeHigh;
uint16 ServerTimeZone;
byte EncryptionKeyLength;
uint16 ByteCount;
byte Buffer[1];
};
struct _QUOTA_LIMITS {
uint32 PagedPoolLimit;
uint32 NonPagedPoolLimit;
uint32 MinimumWorkingSetSize;
uint32 MaximumWorkingSetSize;
uint32 PagefileLimit;
union _LARGE_INTEGER TimeLimit;
};
struct _CONFIGURATION_INFORMATION {
uint32 DiskCount;
uint32 FloppyCount;
uint32 CdRomCount;
uint32 TapeCount;
uint32 ScsiPortCount;
uint32 SerialCount;
uint32 ParallelCount;
byte AtDiskPrimaryAddressClaimed;
byte AtDiskSecondaryAddressClaimed;
uint32 Version;
uint32 MediumChangerCount;
};
struct _REQ_MOVE {
byte WordCount;
uint16 Tid2;
uint16 OpenFunction;
uint16 Flags;
uint16 ByteCount;
byte Buffer[1];
};
struct _KSYSTEM_TIME {
uint32 LowPart;
int32 High1Time;
int32 High2Time;
};
struct _CM_MONITOR_DEVICE_DATA {
uint16 Version;
uint16 Revision;
uint16 HorizontalScreenSize;
uint16 VerticalScreenSize;
uint16 HorizontalResolution;
uint16 VerticalResolution;
uint16 HorizontalDisplayTimeLow;
uint16 HorizontalDisplayTime;
uint16 HorizontalDisplayTimeHigh;
uint16 HorizontalBackPorchLow;
uint16 HorizontalBackPorch;
uint16 HorizontalBackPorchHigh;
uint16 HorizontalFrontPorchLow;
uint16 HorizontalFrontPorch;
uint16 HorizontalFrontPorchHigh;
uint16 HorizontalSyncLow;
uint16 HorizontalSync;
uint16 HorizontalSyncHigh;
uint16 VerticalBackPorchLow;
uint16 VerticalBackPorch;
uint16 VerticalBackPorchHigh;
uint16 VerticalFrontPorchLow;
uint16 VerticalFrontPorch;
uint16 VerticalFrontPorchHigh;
uint16 VerticalSyncLow;
uint16 VerticalSync;
uint16 VerticalSyncHigh;
};
struct _KAPC_STATE {
struct _LIST_ENTRY ApcListHead[2];
struct _KPROCESS *Process;
byte KernelApcInProgress;
byte KernelApcPending;
byte UserApcPending;
};
struct _IO_STACK_LOCATION {
byte MajorFunction;
byte MinorFunction;
byte Flags;
byte Control;
union {
struct {
struct _IO_SECURITY_CONTEXT *SecurityContext;
uint32 Options;
uint16 FileAttributes;
uint16 ShareAccess;
uint32 EaLength;
} Create;
struct {
struct _IO_SECURITY_CONTEXT *SecurityContext;
uint32 Options;
uint16 Reserved;
uint16 ShareAccess;
struct _NAMED_PIPE_CREATE_PARAMETERS *Parameters;
} CreatePipe;
struct {
struct _IO_SECURITY_CONTEXT *SecurityContext;
uint32 Options;
uint16 Reserved;
uint16 ShareAccess;
struct _MAILSLOT_CREATE_PARAMETERS *Parameters;
} CreateMailslot;
struct {
uint32 Length;
uint32 Key;
union _LARGE_INTEGER ByteOffset;
} Read;
struct {
uint32 Length;
uint32 Key;
union _LARGE_INTEGER ByteOffset;
} Write;
struct {
uint32 Length;
struct _STRING *FileName;
int32 FileInformationClass;
uint32 FileIndex;
} QueryDirectory;
struct {
uint32 Length;
uint32 CompletionFilter;
} NotifyDirectory;
struct {
uint32 Length;
int32 FileInformationClass;
} QueryFile;
struct {
uint32 Length;
int32 FileInformationClass;
struct _FILE_OBJECT *FileObject;
byte ReplaceIfExists;
byte AdvanceOnly;
uint32 ClusterCount;
void *DeleteHandle;
} SetFile;
struct {
uint32 Length;
void *EaList;
uint32 EaListLength;
uint32 EaIndex;
} QueryEa;
struct {
uint32 Length;
} SetEa;
struct {
uint32 Length;
int32 FsInformationClass;
} QueryVolume;
struct {
uint32 Length;
int32 FsInformationClass;
} SetVolume;
struct {
uint32 OutputBufferLength;
uint32 InputBufferLength;
uint32 FsControlCode;
void *Type3InputBuffer;
} FileSystemControl;
struct {
union _LARGE_INTEGER *Length;
uint32 Key;
union _LARGE_INTEGER ByteOffset;
} LockControl;
struct {
uint32 OutputBufferLength;
uint32 InputBufferLength;
uint32 IoControlCode;
void *Type3InputBuffer;
} DeviceIoControl;
struct {
uint32 SecurityInformation;
uint32 Length;
} QuerySecurity;
struct {
uint32 SecurityInformation;
void *SecurityDescriptor;
} SetSecurity;
struct {
struct _VPB *Vpb;
struct _DEVICE_OBJECT *DeviceObject;
} MountVolume;
struct {
struct _VPB *Vpb;
struct _DEVICE_OBJECT *DeviceObject;
} VerifyVolume;
struct {
*Srb;
} Scsi;
struct {
uint32 Length;
void *StartSid;
struct _FILE_GET_QUOTA_INFORMATION *SidList;
uint32 SidListLength;
} QueryQuota;
struct {
uint32 Length;
} SetQuota;
struct {
int32 Type;
} QueryDeviceRelations;
struct {
struct _GUID *InterfaceType;
uint16 Size;
uint16 Version;
struct _INTERFACE *Interface;
void *InterfaceSpecificData;
} QueryInterface;
struct {
struct _DEVICE_CAPABILITIES *Capabilities;
} DeviceCapabilities;
struct {
struct _IO_RESOURCE_REQUIREMENTS_LIST *IoResourceRequirementList;
} FilterResourceRequirements;
struct {
uint32 WhichSpace;
void *Buffer;
uint32 Offset;
uint32 Length;
} ReadWriteConfig;
struct {
byte Lock;
} SetLock;
struct {
int32 IdType;
} QueryId;
struct {
int32 DeviceTextType;
uint32 LocaleId;
} QueryDeviceText;
struct {
byte InPath;
byte Reserved[3];
int32 Type;
} UsageNotification;
struct {
int32 PowerState;
} WaitWake;
struct {
struct _POWER_SEQUENCE *PowerSequence;
} PowerSequence;
struct {
uint32 SystemContext;
int32 Type;
union _POWER_STATE State;
int32 ShutdownType;
} Power;
struct {
struct _CM_RESOURCE_LIST *AllocatedResources;
struct _CM_RESOURCE_LIST *AllocatedResourcesTranslated;
} StartDevice;
struct {
uint32 ProviderId;
void *DataPath;
uint32 BufferSize;
void *Buffer;
} WMI;
struct {
void *Argument1;
void *Argument2;
void *Argument3;
void *Argument4;
} Others;
} Parameters;
struct _DEVICE_OBJECT *DeviceObject;
struct _FILE_OBJECT *FileObject;
function *CompletionRoutine;
void *Context;
};
struct _REQ_SEND_BROADCAST_MESSAGE {
byte WordCount;
uint16 ByteCount;
byte Buffer[1];
};
struct _SMB_HEADER {
byte Protocol[4];
byte Command;
byte ErrorClass;
byte Reserved;
uint16 Error;
byte Flags;
uint16 Flags2;
uint16 Reserved2[6];
uint16 PidHigh;
uint32 Key;
uint16 Sid;
uint16 SequenceNumber;
uint16 Gid;
byte SecuritySignature[8];
uint16 Tid;
uint16 Pid;
uint16 Uid;
uint16 Mid;
};
struct _REQ_LOGOFF_ANDX {
byte WordCount;
byte AndXCommand;
byte AndXReserved;
uint16 AndXOffset;
uint16 ByteCount;
byte Buffer[1];
};
struct _REQ_CREATE_DIRECTORY {
byte WordCount;
uint16 ByteCount;
byte Buffer[1];
};
struct _DEVICE_DESCRIPTION {
uint32 Version;
byte Master;
byte ScatterGather;
byte DemandMode;
byte AutoInitialize;
byte Dma32BitAddresses;
byte IgnoreCount;
byte Reserved1;
byte Dma64BitAddresses;
uint32 BusNumber;
uint32 DmaChannel;
int32 InterfaceType;
int32 DmaWidth;
int32 DmaSpeed;
uint32 MaximumLength;
uint32 DmaPort;
};
struct _REQ_QUERY_INFORMATION2 {
byte WordCount;
uint16 Fid;
uint16 ByteCount;
byte Buffer[1];
};
struct _IO_COMPLETION_CONTEXT {
void *Port;
void *Key;
};
struct _REQ_SET_INFORMATION {
byte WordCount;
uint16 FileAttributes;
uint32 LastWriteTimeInSeconds;
uint16 Reserved[5];
uint16 ByteCount;
byte Buffer[1];
};
struct _REQ_CHECK_DIRECTORY {
byte WordCount;
uint16 ByteCount;
byte Buffer[1];
};
struct _IO_ERROR_LOG_PACKET {
byte MajorFunctionCode;
byte RetryCount;
uint16 DumpDataSize;
uint16 NumberOfStrings;
uint16 StringOffset;
uint16 EventCategory;
int32 ErrorCode;
uint32 UniqueErrorValue;
int32 FinalStatus;
uint32 SequenceNumber;
uint32 IoControlCode;
union _LARGE_INTEGER DeviceOffset;
uint32 DumpData[1];
};
struct _REQ_CREATE {
byte WordCount;
uint16 FileAttributes;
uint32 CreationTimeInSeconds;
uint16 ByteCount;
byte Buffer[1];
};
struct PROCESSOR_IDLE_TIMES {
uint64 StartTime;
uint64 EndTime;
uint32 IdleHandlerReserved[4];
};
struct _KERNEL_USER_TIMES {
union _LARGE_INTEGER CreateTime;
union _LARGE_INTEGER ExitTime;
union _LARGE_INTEGER KernelTime;
union _LARGE_INTEGER UserTime;
};
struct _REQ_ECHO {
byte WordCount;
uint16 EchoCount;
uint16 ByteCount;
byte Buffer[1];
};
struct _CM_COMPONENT_INFORMATION {
struct _DEVICE_FLAGS Flags;
uint32 Version;
uint32 Key;
uint32 AffinityMask;
};
struct _REQ_IOCTL_SECONDARY {
byte WordCount;
uint16 TotalParameterCount;
uint16 TotalDataCount;
uint16 ParameterCount;
uint16 ParameterOffset;
uint16 ParameterDisplacement;
uint16 DataCount;
uint16 DataOffset;
uint16 DataDisplacement;
uint16 ByteCount;
byte Buffer[1];
};
struct _EISA_IRQ_DESCRIPTOR {
ULONG Interrupt : 4;
ULONG Reserved : 1;
ULONG LevelTriggered : 1;
ULONG Shared : 1;
ULONG MoreEntries : 1;
};
struct _PROCESS_ACCESS_TOKEN {
void *Token;
void *Thread;
};
struct _INTERFACE {
uint16 Size;
uint16 Version;
void *Context;
function *InterfaceReference;
function *InterfaceDereference;
};
struct _RESP_COPY {
byte WordCount;
uint16 Count;
uint16 ByteCount;
byte Buffer[1];
};
struct _GENERAL_LOOKASIDE {
union _SLIST_HEADER ListHead;
uint16 Depth;
uint16 MaximumDepth;
uint32 TotalAllocates;
uint32 AllocateMisses;
uint32 AllocateHits;
uint32 TotalFrees;
uint32 FreeMisses;
uint32 FreeHits;
int32 Type;
uint32 Tag;
uint32 Size;
function *Allocate;
function *Free;
struct _LIST_ENTRY ListEntry;
uint32 LastTotalAllocates;
uint32 LastAllocateMisses;
uint32 LastAllocateHits;
uint32 Future[2];
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -