struct _DEVICE_NODE { struct _DEVICE_NODE* Sibling;/* 0x0 8 */ struct _DEVICE_NODE* Child;/* 0x8 8 */ struct _DEVICE_NODE* Parent;/* 0x10 8 */ struct _DEVICE_NODE* LastChild;/* 0x18 8 */ struct _DEVICE_OBJECT* PhysicalDeviceObject;/* 0x20 8 */ struct _UNICODE_STRING InstancePath;/* 0x28 16 */ struct _UNICODE_STRING ServiceName;/* 0x38 16 */ /* ── cacheline 1 boundary (64 bytes) ── */ struct _IRP* PendingIrp;/* 0x48 8 */ struct _POP_FX_DEVICE* FxDevice;/* 0x50 8 */ volatile long FxDeviceLock;/* 0x58 4 */ /* 4 bytes padding */ struct _KEVENT FxRemoveEvent;/* 0x60 24 */ volatile long FxActivationCount;/* 0x78 4 */ volatile long FxSleepCount;/* 0x7c 4 */ /* ── cacheline 2 boundary (128 bytes) ── */ struct _UNICODE_STRING UniqueId;/* 0x80 16 */ struct _POP_FX_PLUGIN* Plugin;/* 0x90 8 */ unsigned long Level;/* 0x98 4 */ union _POWER_STATE CurrentPowerState;/* 0x9c 4 */ struct _PO_DEVICE_NOTIFY Notify;/* 0xa0 104 */ /* ── cacheline 4 boundary (256 bytes) ── */ struct _PO_IRP_MANAGER PoIrpManager;/* 0x108 32 */ volatile long PowerFlags;/* 0x128 4 */ enum _PNP_DEVNODE_STATE State;/* 0x12c 4 */ enum _PNP_DEVNODE_STATE PreviousState;/* 0x130 4 */ enum _PNP_DEVNODE_STATE StateHistory[20];/* 0x134 80 */ /* ── cacheline 6 boundary (384 bytes) ── */ unsigned long StateHistoryEntry;/* 0x184 4 */ long CompletionStatus;/* 0x188 4 */ unsigned long Flags;/* 0x18c 4 */ unsigned long UserFlags;/* 0x190 4 */ unsigned long Problem;/* 0x194 4 */ long ProblemStatus;/* 0x198 4 */ /* 4 bytes padding */ struct _CM_RESOURCE_LIST* ResourceList;/* 0x1a0 8 */ struct _CM_RESOURCE_LIST* ResourceListTranslated;/* 0x1a8 8 */ struct _DEVICE_OBJECT* DuplicatePDO;/* 0x1b0 8 */ struct _IO_RESOURCE_REQUIREMENTS_LIST* ResourceRequirements;/* 0x1b8 8 */ /* ── cacheline 7 boundary (448 bytes) ── */ enum _INTERFACE_TYPE InterfaceType;/* 0x1c0 4 */ unsigned long BusNumber;/* 0x1c4 4 */ enum _INTERFACE_TYPE ChildInterfaceType;/* 0x1c8 4 */ unsigned long ChildBusNumber;/* 0x1cc 4 */ unsigned short ChildBusTypeIndex;/* 0x1d0 2 */ unsigned char RemovalPolicy;/* 0x1d2 1 */ unsigned char HardwareRemovalPolicy;/* 0x1d3 1 */ /* 4 bytes padding */ struct _LIST_ENTRY TargetDeviceNotify;/* 0x1d8 16 */ struct _LIST_ENTRY DeviceArbiterList;/* 0x1e8 16 */ struct _LIST_ENTRY DeviceTranslatorList;/* 0x1f8 16 */ /* ── cacheline 8 boundary (512 bytes) ── */ unsigned short NoTranslatorMask;/* 0x208 2 */ unsigned short QueryTranslatorMask;/* 0x20a 2 */ unsigned short NoArbiterMask;/* 0x20c 2 */ unsigned short QueryArbiterMask;/* 0x20e 2 */ union { struct _DEVICE_NODE* LegacyDeviceNode;/* 0x210 8 */ struct _DEVICE_RELATIONS* PendingDeviceRelations;/* 0x210 8 */ void* Information;/* 0x210 8 */ } OverUsed1;/* 0x210 8 */ union { struct _DEVICE_NODE* NextResourceDeviceNode;/* 0x218 8 */ } OverUsed2;/* 0x218 8 */ struct _CM_RESOURCE_LIST* BootResources;/* 0x220 8 */ struct _CM_RESOURCE_LIST* BootResourcesTranslated;/* 0x228 8 */ unsigned long CapabilityFlags;/* 0x230 4 */ /* 4 bytes padding */ struct { enum PROFILE_STATUS DockStatus;/* 0x238 4 */ /* 4 bytes padding */ struct _LIST_ENTRY ListEntry;/* 0x240 16 */ wchar_t* SerialNumber;/* 0x250 8 */ } DockInfo;/* 0x238 32 */ /* ── cacheline 9 boundary (576 bytes) ── */ unsigned long DisableableDepends;/* 0x258 4 */ /* 4 bytes padding */ struct _LIST_ENTRY PendedSetInterfaceState;/* 0x260 16 */ struct _LIST_ENTRY LegacyBusListEntry;/* 0x270 16 */ /* ── cacheline 10 boundary (640 bytes) ── */ unsigned long DriverUnloadRetryCount;/* 0x280 4 */ /* 4 bytes padding */ struct _DEVICE_NODE* PreviousParent;/* 0x288 8 */ long DeletedChildren;/* 0x290 4 */ unsigned long NumaNodeIndex;/* 0x294 4 */ struct _GUID ContainerID;/* 0x298 16 */ unsigned char OverrideFlags;/* 0x2a8 1 */ /* 3 bytes padding */ unsigned long DeviceIdsHash;/* 0x2ac 4 */ unsigned char RequiresUnloadedDriver;/* 0x2b0 1 */ /* 7 bytes padding */ struct _PENDING_RELATIONS_LIST_ENTRY* PendingEjectRelations;/* 0x2b8 8 */ /* ── cacheline 11 boundary (704 bytes) ── */ unsigned long StateFlags;/* 0x2c0 4 */ /* 4 bytes padding */ struct _PNP_REBALANCE_TRACE_CONTEXT* RebalanceContext;/* 0x2c8 8 */ struct _DEVICE_NODE_IOMMU_EXTENSION* IommuExtension;/* 0x2d0 8 */ struct _PO_DIRECTED_DRIPS_STATE DirectedDripsState;/* 0x2d8 56 */ /* ── cacheline 12 boundary (768 bytes) ── */ struct _PNP_PROBLEM_CODE_LOG_ENTRY ProblemCodeLog[4];/* 0x310 96 */ /* ── cacheline 13 boundary (832 bytes) ── */ unsigned long ProblemCodeLogNextIndex;/* 0x370 4 */ /* 4 bytes padding */ union _LARGE_INTEGER StateTimestamp;/* 0x378 8 */ /* ── cacheline 14 boundary (896 bytes) ── */ union _LARGE_INTEGER PreviousStateTimestamp;/* 0x380 8 */};size 904 (0x388)73 members11 holes (46 bytes)padding 015 cachelines
Used in (5)