struct _DEVICE_OBJECT { short Type;/* 0x0 2 */ unsigned short Size;/* 0x2 2 */ long ReferenceCount;/* 0x4 4 */ struct _DRIVER_OBJECT* DriverObject;/* 0x8 4 */ struct _DEVICE_OBJECT* NextDevice;/* 0xc 4 */ struct _DEVICE_OBJECT* AttachedDevice;/* 0x10 4 */ struct _IRP* CurrentIrp;/* 0x14 4 */ struct _IO_TIMER* Timer;/* 0x18 4 */ unsigned long Flags;/* 0x1c 4 */ unsigned long Characteristics;/* 0x20 4 */ struct _VPB* Vpb;/* 0x24 4 */ void* DeviceExtension;/* 0x28 4 */ unsigned long DeviceType;/* 0x2c 4 */ char StackSize;/* 0x30 1 */ /* 3 bytes padding */ union { struct _LIST_ENTRY ListEntry;/* 0x34 8 */ struct _WAIT_CONTEXT_BLOCK Wcb;/* 0x34 40 */ } Queue;/* 0x34 40 */ /* ── cacheline 1 boundary (64 bytes) ── */ unsigned long AlignmentRequirement;/* 0x5c 4 */ struct _KDEVICE_QUEUE DeviceQueue;/* 0x60 20 */ struct _KDPC Dpc;/* 0x74 32 */ /* ── cacheline 2 boundary (128 bytes) ── */ unsigned long ActiveThreadCount;/* 0x94 4 */ void* SecurityDescriptor;/* 0x98 4 */ struct _KEVENT DeviceLock;/* 0x9c 16 */ unsigned short SectorSize;/* 0xac 2 */ unsigned short Spare1;/* 0xae 2 */ struct _DEVOBJ_EXTENSION* DeviceObjectExtension;/* 0xb0 4 */ void* Reserved;/* 0xb4 4 */};/* source: Windows 2000 RC2 DDK Alpha libcntpr.lib CodeView type records; build 2128 per the DDK's ntverp.h */size 184 (0xb8)25 members1 hole (3 bytes)padding 03 cachelines
Used in (11)