📄 win32k.h
字号:
struct _IO_STACK_LOCATION::__unnamed::__unnamed {
DWORD WhichSpace;
void* Buffer;
DWORD Offset;
DWORD Length;
};
struct _IO_STACK_LOCATION::__unnamed::__unnamed {
DWORD Lock;
};
enum BUS_QUERY_ID_TYPE {
BusQueryDeviceID,
BusQueryHardwareIDs,
BusQueryCompatibleIDs,
BusQueryInstanceID,
BusQueryDeviceSerialNumber,
};
struct _IO_STACK_LOCATION::__unnamed::__unnamed {
enum BUS_QUERY_ID_TYPE IdType;
};
enum DEVICE_TEXT_TYPE {
DeviceTextDescription,
DeviceTextLocationInformation,
};
struct _IO_STACK_LOCATION::__unnamed::__unnamed {
enum DEVICE_TEXT_TYPE DeviceTextType;
DWORD LocaleId;
};
enum _DEVICE_USAGE_NOTIFICATION_TYPE {
DeviceUsageTypeUndefined,
DeviceUsageTypePaging,
DeviceUsageTypeHibernation,
DeviceUsageTypeDumpFile,
};
struct _IO_STACK_LOCATION::__unnamed::__unnamed {
DWORD InPath;
DWORD Reserved[3];
enum _DEVICE_USAGE_NOTIFICATION_TYPE Type;
};
enum _SYSTEM_POWER_STATE {
PowerSystemUnspecified,
PowerSystemWorking,
PowerSystemSleeping1,
PowerSystemSleeping2,
PowerSystemSleeping3,
PowerSystemHibernate,
PowerSystemShutdown,
PowerSystemMaximum,
};
struct _IO_STACK_LOCATION::__unnamed::__unnamed {
enum _SYSTEM_POWER_STATE PowerState;
};
struct _POWER_SEQUENCE {
DWORD SequenceD1;
DWORD SequenceD2;
DWORD SequenceD3;
};
struct _IO_STACK_LOCATION::__unnamed::__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 _IO_STACK_LOCATION::__unnamed::__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 _IO_STACK_LOCATION::__unnamed::__unnamed {
_CM_RESOURCE_LIST* AllocatedResources;
_CM_RESOURCE_LIST* AllocatedResourcesTranslated;
};
struct _IO_STACK_LOCATION::__unnamed::__unnamed {
DWORD ProviderId;
void* DataPath;
DWORD BufferSize;
void* Buffer;
};
struct _IO_STACK_LOCATION::__unnamed::__unnamed {
void* Argument1;
void* Argument2;
void* Argument3;
void* Argument4;
};
struct _IO_STACK_LOCATION::__unnamed {
_IO_STACK_LOCATION::__unnamed::__unnamed Create;
_IO_STACK_LOCATION::__unnamed::__unnamed Read;
_IO_STACK_LOCATION::__unnamed::__unnamed Write;
_IO_STACK_LOCATION::__unnamed::__unnamed QueryDirectory;
_IO_STACK_LOCATION::__unnamed::__unnamed NotifyDirectory;
_IO_STACK_LOCATION::__unnamed::__unnamed QueryFile;
_IO_STACK_LOCATION::__unnamed::__unnamed SetFile;
_IO_STACK_LOCATION::__unnamed::__unnamed QueryVolume;
_IO_STACK_LOCATION::__unnamed::__unnamed FileSystemControl;
_IO_STACK_LOCATION::__unnamed::__unnamed LockControl;
_IO_STACK_LOCATION::__unnamed::__unnamed DeviceIoControl;
_IO_STACK_LOCATION::__unnamed::__unnamed QuerySecurity;
_IO_STACK_LOCATION::__unnamed::__unnamed SetSecurity;
_IO_STACK_LOCATION::__unnamed::__unnamed MountVolume;
_IO_STACK_LOCATION::__unnamed::__unnamed VerifyVolume;
_IO_STACK_LOCATION::__unnamed::__unnamed Scsi;
_IO_STACK_LOCATION::__unnamed::__unnamed QueryDeviceRelations;
_IO_STACK_LOCATION::__unnamed::__unnamed QueryInterface;
_IO_STACK_LOCATION::__unnamed::__unnamed DeviceCapabilities;
_IO_STACK_LOCATION::__unnamed::__unnamed FilterResourceRequirements;
_IO_STACK_LOCATION::__unnamed::__unnamed ReadWriteConfig;
_IO_STACK_LOCATION::__unnamed::__unnamed SetLock;
_IO_STACK_LOCATION::__unnamed::__unnamed QueryId;
_IO_STACK_LOCATION::__unnamed::__unnamed QueryDeviceText;
_IO_STACK_LOCATION::__unnamed::__unnamed UsageNotification;
_IO_STACK_LOCATION::__unnamed::__unnamed WaitWake;
_IO_STACK_LOCATION::__unnamed::__unnamed PowerSequence;
_IO_STACK_LOCATION::__unnamed::__unnamed Power;
_IO_STACK_LOCATION::__unnamed::__unnamed StartDevice;
_IO_STACK_LOCATION::__unnamed::__unnamed WMI;
_IO_STACK_LOCATION::__unnamed::__unnamed Others;
};
struct _IO_STACK_LOCATION {
DWORD MajorFunction;
DWORD MinorFunction;
DWORD Flags;
DWORD Control;
_IO_STACK_LOCATION::__unnamed Parameters;
_DEVICE_OBJECT* DeviceObject;
_FILE_OBJECT* FileObject;
int (*CompletionRoutine)(_DEVICE_OBJECT*, _IRP*, void*);
void* Context;
};
struct _IO_STACK_LOCATION::__unnamed::__unnamed::__unnamed {
DWORD ReplaceIfExists;
DWORD AdvanceOnly;
DWORD ClusterCount;
void* DeleteHandle;
};
struct _IO_STACK_LOCATION::__unnamed::__unnamed::__unnamed::__unnamed {
DWORD ReplaceIfExists;
DWORD AdvanceOnly;
};
struct _INTERFACE {
DWORD Size;
DWORD Version;
void* Context;
void (*InterfaceReference)(void*);
void (*InterfaceDereference)(void*);
};
enum _DEVICE_POWER_STATE {
PowerDeviceUnspecified,
PowerDeviceD0,
PowerDeviceD1,
PowerDeviceD2,
PowerDeviceD3,
PowerDeviceMaximum,
};
struct _POWER_STATE {
enum _SYSTEM_POWER_STATE SystemState;
enum _DEVICE_POWER_STATE DeviceState;
};
struct _OBJECTOWNER_S {
DWORD Lock:1; // bit offset: 00, len=1
DWORD Pid_Shifted:31; // bit offset: 01, len=31
};
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 _STRING {
DWORD Length;
DWORD MaximumLength;
char* Buffer;
};
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 _COMPRESSED_DATA_INFO {
DWORD CompressionFormatAndEngine;
DWORD CompressionUnitShift;
DWORD ChunkShift;
DWORD ClusterShift;
DWORD Reserved;
DWORD NumberOfChunks;
DWORD CompressedChunkSizes[1];
};
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 _PRIVILEGE_SET {
DWORD PrivilegeCount;
DWORD Control;
_LUID_AND_ATTRIBUTES Privilege[1];
};
struct _IO_SECURITY_CONTEXT {
_SECURITY_QUALITY_OF_SERVICE* SecurityQos;
_ACCESS_STATE* AccessState;
DWORD DesiredAccess;
DWORD FullCreateOptions;
};
struct _BASEOBJECT {
void* hHmgr;
DWORD ulShareCount;
DWORD cExclusiveLock;
DWORD BaseFlags;
_W32THREAD* Tid;
};
struct HOBJ__ {
int unused;
};
struct _IO_RESOURCE_DESCRIPTOR {
DWORD Option;
DWORD Type;
DWORD ShareDisposition;
DWORD Spare1;
DWORD Flags;
DWORD Spare2;
_IO_RESOURCE_DESCRIPTOR::__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 _POWER_SEQUENCE {
DWORD SequenceD1;
DWORD SequenceD2;
DWORD SequenceD3;
};
struct _IO_RESOURCE_DESCRIPTOR::__unnamed::__unnamed {
DWORD Length;
DWORD Alignment;
_LARGE_INTEGER MinimumAddress;
_LARGE_INTEGER MaximumAddress;
};
struct _IO_RESOURCE_DESCRIPTOR::__unnamed::__unnamed {
DWORD MinimumVector;
DWORD MaximumVector;
};
struct _IO_RESOURCE_DESCRIPTOR::__unnamed::__unnamed {
DWORD MinimumChannel;
DWORD MaximumChannel;
};
struct _IO_RESOURCE_DESCRIPTOR::__unnamed::__unnamed {
DWORD Data[3];
};
struct _IO_RESOURCE_DESCRIPTOR::__unnamed::__unnamed {
DWORD Length;
DWORD MinBusNumber;
DWORD MaxBusNumber;
DWORD Reserved;
};
struct _IO_RESOURCE_DESCRIPTOR::__unnamed::__unnamed {
DWORD Priority;
DWORD Reserved1;
DWORD Reserved2;
};
struct _IO_RESOURCE_DESCRIPTOR::__unnamed {
_IO_RESOURCE_DESCRIPTOR::__unnamed::__unnamed Port;
_IO_RESOURCE_DESCRIPTOR::__unnamed::__unnamed Memory;
_IO_RESOURCE_DESCRIPTOR::__unnamed::__unnamed Interrupt;
_IO_RESOURCE_DESCRIPTOR::__unnamed::__unnamed Dma;
_IO_RESOURCE_DESCRIPTOR::__unnamed::__unnamed Generic;
_IO_RESOURCE_DESCRIPTOR::__unnamed::__unnamed DevicePrivate;
_IO_RESOURCE_DESCRIPTOR::__unnamed::__unnamed BusNumber;
_IO_RESOURCE_DESCRIPTOR::__unnamed::__unnamed ConfigData;
};
struct _IO_RESOURCE_DESCRIPTOR {
DWORD Option;
DWORD Type;
DWORD ShareDisposition;
DWORD Spare1;
DWORD Flags;
DWORD Spare2;
_IO_RESOURCE_DESCRIPTOR::__unnamed u;
};
struct _COMPRESSED_DATA_INFO {
DWORD CompressionFormatAndEngine;
DWORD CompressionUnitShift;
DWORD ChunkShift;
DWORD ClusterShift;
DWORD Reserved;
DWORD NumberOfChunks;
DWORD CompressedChunkSizes[1];
};
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 _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 _CM_PARTIAL_RESOURCE_DESCRIPTOR {
DWORD Type;
DWORD ShareDisposition;
DWORD Flags;
_CM_PARTIAL_RESOURCE_DESCRIPTOR::__unnamed u;
};
struct _CM_PARTIAL_RESOURCE_LIST {
DWORD Version;
DWORD Revision;
DWORD Count;
_CM_PARTIAL_RESOURCE_DESCRIPTOR PartialDescriptors[1];
};
struct _CM_PARTIAL_RESOURCE_DESCRIPTOR::__unnamed::__unnamed {
_LARGE_INTEGER Start;
DWORD Length;
};
struct _CM_PARTIAL_RESOURCE_DESCRIPTOR::__unnamed::__unnamed {
DWORD Level;
DWORD Vector;
DWORD Affinity;
};
struct _CM_PARTIAL_RESOURCE_DESCRIPTOR::__unnamed::__unnamed {
DWORD Channel;
DWORD Port;
DWORD Reserved1;
};
struct _CM_PARTIAL_RESOURCE_DESCRIPTOR::__unnamed::__unnamed {
DWORD Data[3];
};
struct _CM_PARTIAL_RESOURCE_DESCRIPTOR::__unnamed::__unnamed {
DWORD Start;
DWORD Length;
DWORD Reserved;
};
struct _CM_PARTIAL_RESOURCE_DESCRIPTOR::__unnamed::__unnamed {
DWORD DataSize;
DWORD Reserved1;
DWORD Reserved2;
};
struct _CM_PARTIAL_RESOURCE_DESCRIPTOR::__unnamed {
_CM_PARTIAL_RESOURCE_DESCRIPTOR::__unnamed::__unnamed Generic;
_CM_PARTIAL_RESOURCE_DESCRIPTOR::__unnamed::__unnamed Port;
_CM_PARTIAL_RESOURCE_DESCRIPTOR::__unnamed::__unnamed Interrupt;
_CM_PARTIAL_RESOURCE_DESCRIPTOR::__unnamed::__unnamed Memory;
_CM_PARTIAL_RESOURCE_DESCRIPTOR::__unnamed::__unnamed Dma;
_CM_PARTIAL_RESOURCE_DESCRIPTOR::__unnamed::__unnamed DevicePrivate;
_CM_PARTIAL_RESOURCE_DESCRIPTOR::__unnamed::__unnamed BusNumber;
_CM_PARTIAL_RESOURCE_DESCRIPTOR::__unnamed::__unnamed DeviceSpecificData;
};
struct _CM_PARTIAL_RESOURCE_DESCRIPTOR {
DWORD Type;
DWORD ShareDisposition;
DWORD Flags;
_CM_PARTIAL_RESOURCE_DESCRIPTOR::__unnamed u;
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -