typedef struct _DEVICE_NODE                                      // 47 elements, 0x120 bytes (sizeof)
          {
/*0x000*/     struct _DEVICE_NODE* Sibling;
/*0x004*/     struct _DEVICE_NODE* Child;
/*0x008*/     struct _DEVICE_NODE* Parent;
/*0x00C*/     struct _DEVICE_NODE* LastChild;
/*0x010*/     ULONG32      Level;
/*0x014*/     struct _PO_DEVICE_NOTIFY* Notify;
/*0x018*/     enum _PNP_DEVNODE_STATE State;
/*0x01C*/     enum _PNP_DEVNODE_STATE PreviousState;
/*0x020*/     enum _PNP_DEVNODE_STATE StateHistory[20];
/*0x070*/     ULONG32      StateHistoryEntry;
/*0x074*/     LONG32       CompletionStatus;
/*0x078*/     struct _IRP* PendingIrp;
/*0x07C*/     ULONG32      Flags;
/*0x080*/     ULONG32      UserFlags;
/*0x084*/     ULONG32      Problem;
/*0x088*/     struct _DEVICE_OBJECT* PhysicalDeviceObject;
/*0x08C*/     struct _CM_RESOURCE_LIST* ResourceList;
/*0x090*/     struct _CM_RESOURCE_LIST* ResourceListTranslated;
/*0x094*/     struct _UNICODE_STRING InstancePath;                         // 3 elements, 0x8 bytes (sizeof)
/*0x09C*/     struct _UNICODE_STRING ServiceName;                          // 3 elements, 0x8 bytes (sizeof)
/*0x0A4*/     struct _DEVICE_OBJECT* DuplicatePDO;
/*0x0A8*/     struct _IO_RESOURCE_REQUIREMENTS_LIST* ResourceRequirements;
/*0x0AC*/     enum _INTERFACE_TYPE InterfaceType;
/*0x0B0*/     ULONG32      BusNumber;
/*0x0B4*/     enum _INTERFACE_TYPE ChildInterfaceType;
/*0x0B8*/     ULONG32      ChildBusNumber;
/*0x0BC*/     UINT16       ChildBusTypeIndex;
/*0x0BE*/     UINT8        RemovalPolicy;
/*0x0BF*/     UINT8        HardwareRemovalPolicy;
/*0x0C0*/     struct _LIST_ENTRY TargetDeviceNotify;                       // 2 elements, 0x8 bytes (sizeof)
/*0x0C8*/     struct _LIST_ENTRY DeviceArbiterList;                        // 2 elements, 0x8 bytes (sizeof)
/*0x0D0*/     struct _LIST_ENTRY DeviceTranslatorList;                     // 2 elements, 0x8 bytes (sizeof)
/*0x0D8*/     UINT16       NoTranslatorMask;
/*0x0DA*/     UINT16       QueryTranslatorMask;
/*0x0DC*/     UINT16       NoArbiterMask;
/*0x0DE*/     UINT16       QueryArbiterMask;
              union                                                        // 2 elements, 0x4 bytes (sizeof)
              {
/*0x0E0*/         struct _DEVICE_NODE* LegacyDeviceNode;
/*0x0E0*/         struct _DEVICE_RELATIONS* PendingDeviceRelations;
              }OverUsed1;
              union                                                        // 1 elements, 0x4 bytes (sizeof)
              {
/*0x0E4*/         struct _DEVICE_NODE* NextResourceDeviceNode;
              }OverUsed2;
/*0x0E8*/     struct _CM_RESOURCE_LIST* BootResources;
/*0x0EC*/     ULONG32      CapabilityFlags;
              struct                                                       // 3 elements, 0x10 bytes (sizeof)
              {
/*0x0F0*/         enum _PROFILE_STATUS DockStatus;
/*0x0F4*/         struct _LIST_ENTRY ListEntry;                            // 2 elements, 0x8 bytes (sizeof)
/*0x0FC*/         UINT16*      SerialNumber;
              }DockInfo;
/*0x100*/     ULONG32      DisableableDepends;
/*0x104*/     struct _LIST_ENTRY PendedSetInterfaceState;                  // 2 elements, 0x8 bytes (sizeof)
/*0x10C*/     struct _LIST_ENTRY LegacyBusListEntry;                       // 2 elements, 0x8 bytes (sizeof)
/*0x114*/     ULONG32      DriverUnloadRetryCount;
/*0x118*/     struct _DEVICE_NODE* PreviousParent;
/*0x11C*/     ULONG32      DeletedChildren;
          }DEVICE_NODE, *PDEVICE_NODE;
Return to structures/enums list.
Return to O.S. version list.

(c) MoonSols 2010.