_DEVICE_NODE

//0x388 bytes (sizeof) struct _DEVICE_NODE { struct _DEVICE_NODE* Sibling; //0x0 struct _DEVICE_NODE* Child; //0x8 struct _DEVICE_NODE* Parent; //0x10 struct _DEVICE_NODE* LastChild; //0x18 struct _DEVICE_OBJECT* PhysicalDeviceObject; //0x20 struct _UNICODE_STRING InstancePath; //0x28 struct _UNICODE_STRING ServiceName; //0x38 struct _IRP* PendingIrp; //0x48 struct _POP_FX_DEVICE* FxDevice; //0x50 volatile LONG FxDeviceLock; //0x58 struct _KEVENT FxRemoveEvent; //0x60 volatile LONG FxActivationCount; //0x78 volatile LONG FxSleepCount; //0x7c struct _UNICODE_STRING UniqueId; //0x80 struct _POP_FX_PLUGIN* Plugin; //0x90 ULONG Level; //0x98 union _POWER_STATE CurrentPowerState; //0x9c struct _PO_DEVICE_NOTIFY Notify; //0xa0 struct _PO_IRP_MANAGER PoIrpManager; //0x108 volatile LONG PowerFlags; //0x128 enum _PNP_DEVNODE_STATE State; //0x12c enum _PNP_DEVNODE_STATE PreviousState; //0x130 enum _PNP_DEVNODE_STATE StateHistory[20]; //0x134 ULONG StateHistoryEntry; //0x184 LONG CompletionStatus; //0x188 ULONG Flags; //0x18c ULONG UserFlags; //0x190 ULONG Problem; //0x194 LONG ProblemStatus; //0x198 struct _CM_RESOURCE_LIST* ResourceList; //0x1a0 struct _CM_RESOURCE_LIST* ResourceListTranslated; //0x1a8 struct _DEVICE_OBJECT* DuplicatePDO; //0x1b0 struct _IO_RESOURCE_REQUIREMENTS_LIST* ResourceRequirements; //0x1b8 enum _INTERFACE_TYPE InterfaceType; //0x1c0 ULONG BusNumber; //0x1c4 enum _INTERFACE_TYPE ChildInterfaceType; //0x1c8 ULONG ChildBusNumber; //0x1cc USHORT ChildBusTypeIndex; //0x1d0 UCHAR RemovalPolicy; //0x1d2 UCHAR HardwareRemovalPolicy; //0x1d3 struct _LIST_ENTRY TargetDeviceNotify; //0x1d8 struct _LIST_ENTRY DeviceArbiterList; //0x1e8 struct _LIST_ENTRY DeviceTranslatorList; //0x1f8 USHORT NoTranslatorMask; //0x208 USHORT QueryTranslatorMask; //0x20a USHORT NoArbiterMask; //0x20c USHORT QueryArbiterMask; //0x20e union { struct _DEVICE_NODE* LegacyDeviceNode; //0x210 struct _DEVICE_RELATIONS* PendingDeviceRelations; //0x210 VOID* Information; //0x210 } OverUsed1; //0x210 union { struct _DEVICE_NODE* NextResourceDeviceNode; //0x218 } OverUsed2; //0x218 struct _CM_RESOURCE_LIST* BootResources; //0x220 struct _CM_RESOURCE_LIST* BootResourcesTranslated; //0x228 ULONG CapabilityFlags; //0x230 struct { enum PROFILE_STATUS DockStatus; //0x238 struct _LIST_ENTRY ListEntry; //0x240 WCHAR* SerialNumber; //0x250 } DockInfo; //0x238 ULONG DisableableDepends; //0x258 struct _LIST_ENTRY PendedSetInterfaceState; //0x260 struct _LIST_ENTRY LegacyBusListEntry; //0x270 ULONG DriverUnloadRetryCount; //0x280 struct _DEVICE_NODE* PreviousParent; //0x288 LONG DeletedChildren; //0x290 ULONG NumaNodeIndex; //0x294 struct _GUID ContainerID; //0x298 UCHAR OverrideFlags; //0x2a8 ULONG DeviceIdsHash; //0x2ac UCHAR RequiresUnloadedDriver; //0x2b0 struct _PENDING_RELATIONS_LIST_ENTRY* PendingEjectRelations; //0x2b8 ULONG StateFlags; //0x2c0 struct _PNP_REBALANCE_TRACE_CONTEXT* RebalanceContext; //0x2c8 struct _DEVICE_NODE_IOMMU_EXTENSION* IommuExtension; //0x2d0 struct _PO_DIRECTED_DRIPS_STATE DirectedDripsState; //0x2d8 struct _PNP_PROBLEM_CODE_LOG_ENTRY ProblemCodeLog[4]; //0x310 ULONG ProblemCodeLogNextIndex; //0x370 union _LARGE_INTEGER StateTimestamp; //0x378 union _LARGE_INTEGER PreviousStateTimestamp; //0x380 };