_DEVICE_OBJECT

//0x150 bytes (sizeof) struct _DEVICE_OBJECT { SHORT Type; //0x0 USHORT Size; //0x2 LONG ReferenceCount; //0x4 struct _DRIVER_OBJECT* DriverObject; //0x8 struct _DEVICE_OBJECT* NextDevice; //0x10 struct _DEVICE_OBJECT* AttachedDevice; //0x18 struct _IRP* CurrentIrp; //0x20 struct _IO_TIMER* Timer; //0x28 ULONG Flags; //0x30 ULONG Characteristics; //0x34 struct _VPB* Vpb; //0x38 VOID* DeviceExtension; //0x40 ULONG DeviceType; //0x48 CHAR StackSize; //0x4c union { struct _LIST_ENTRY ListEntry; //0x50 struct _WAIT_CONTEXT_BLOCK Wcb; //0x50 } Queue; //0x50 ULONG AlignmentRequirement; //0x98 struct _KDEVICE_QUEUE DeviceQueue; //0xa0 struct _KDPC Dpc; //0xc8 ULONG ActiveThreadCount; //0x108 VOID* SecurityDescriptor; //0x110 struct _KEVENT DeviceLock; //0x118 USHORT SectorSize; //0x130 USHORT Spare1; //0x132 struct _DEVOBJ_EXTENSION* DeviceObjectExtension; //0x138 VOID* Reserved; //0x140 };