typedef struct _DEVICE_OBJECT                        // 25 elements, 0x150 bytes (sizeof)
          {
/*0x000*/     INT16        Type;
/*0x002*/     UINT16       Size;
/*0x004*/     LONG32       ReferenceCount;
/*0x008*/     struct _DRIVER_OBJECT* DriverObject;
/*0x010*/     struct _DEVICE_OBJECT* NextDevice;
/*0x018*/     struct _DEVICE_OBJECT* AttachedDevice;
/*0x020*/     struct _IRP* CurrentIrp;
/*0x028*/     struct _IO_TIMER* Timer;
/*0x030*/     ULONG32      Flags;
/*0x034*/     ULONG32      Characteristics;
/*0x038*/     struct _VPB* Vpb;
/*0x040*/     VOID*        DeviceExtension;
/*0x048*/     ULONG32      DeviceType;
/*0x04C*/     CHAR         StackSize;
/*0x04D*/     UINT8        _PADDING0_[0x3];
              union                                            // 2 elements, 0x48 bytes (sizeof)
              {
/*0x050*/         struct _LIST_ENTRY ListEntry;                // 2 elements, 0x10 bytes (sizeof)
/*0x050*/         struct _WAIT_CONTEXT_BLOCK Wcb;              // 7 elements, 0x48 bytes (sizeof)
              }Queue;
/*0x098*/     ULONG32      AlignmentRequirement;
/*0x09C*/     UINT8        _PADDING1_[0x4];
/*0x0A0*/     struct _KDEVICE_QUEUE DeviceQueue;               // 7 elements, 0x28 bytes (sizeof)
/*0x0C8*/     struct _KDPC Dpc;                                // 10 elements, 0x40 bytes (sizeof)
/*0x108*/     ULONG32      ActiveThreadCount;
/*0x10C*/     UINT8        _PADDING2_[0x4];
/*0x110*/     VOID*        SecurityDescriptor;
/*0x118*/     struct _KEVENT DeviceLock;                       // 1 elements, 0x18 bytes (sizeof)
/*0x130*/     UINT16       SectorSize;
/*0x132*/     UINT16       Spare1;
/*0x134*/     UINT8        _PADDING3_[0x4];
/*0x138*/     struct _DEVOBJ_EXTENSION* DeviceObjectExtension;
/*0x140*/     VOID*        Reserved;
/*0x148*/     UINT8        _PADDING4_[0x8];
          }DEVICE_OBJECT, *PDEVICE_OBJECT;
Return to structures/enums list.
Return to O.S. version list.

(c) MoonSols 2010.