struct _PCI_FDO_EXTENSION { struct _SINGLE_LIST_ENTRY List;/* 0x0 4 */ enum PCI_SIGNATURE ExtensionType;/* 0x4 4 */ struct _PCI_MJ_DISPATCH_TABLE* IrpDispatchTable;/* 0x8 4 */ unsigned char DeviceState;/* 0xc 1 */ unsigned char TentativeNextState;/* 0xd 1 */ /* 2 bytes padding */ struct _KEVENT SecondaryExtLock;/* 0x10 16 */ struct _DEVICE_OBJECT* PhysicalDeviceObject;/* 0x20 4 */ struct _DEVICE_OBJECT* FunctionalDeviceObject;/* 0x24 4 */ struct _DEVICE_OBJECT* AttachedDeviceObject;/* 0x28 4 */ struct _KEVENT ChildListLock;/* 0x2c 16 */ struct _PCI_PDO_EXTENSION* ChildPdoList;/* 0x3c 4 */ /* ── cacheline 1 boundary (64 bytes) ── */ struct _PCI_FDO_EXTENSION* BusRootFdoExtension;/* 0x40 4 */ struct _PCI_FDO_EXTENSION* ParentFdoExtension;/* 0x44 4 */ struct _PCI_PDO_EXTENSION* ChildBridgePdoList;/* 0x48 4 */ struct _PCI_BUS_INTERFACE_STANDARD* PciBusInterface;/* 0x4c 4 */ unsigned char MaxSubordinateBus;/* 0x50 1 */ /* 3 bytes padding */ struct _BUS_HANDLER* BusHandler;/* 0x54 4 */ unsigned char BaseBus;/* 0x58 1 */ unsigned char Fake;/* 0x59 1 */ unsigned char ChildDelete;/* 0x5a 1 */ unsigned char Scanned;/* 0x5b 1 */ unsigned char ArbitersInitialized;/* 0x5c 1 */ unsigned char BrokenVideoHackApplied;/* 0x5d 1 */ unsigned char Hibernated;/* 0x5e 1 */ /* 1 byte padding */ struct PCI_POWER_STATE PowerState;/* 0x60 64 */ /* ── cacheline 2 boundary (128 bytes) ── */ struct _SINGLE_LIST_ENTRY SecondaryExtension;/* 0xa0 4 */ unsigned long ChildWaitWakeCount;/* 0xa4 4 */ struct _PCI_COMMON_CONFIG* PreservedConfig;/* 0xa8 4 */ struct _PCI_LOCK Lock;/* 0xac 8 */ struct __unnamed HotPlugParameters;/* 0xb4 5 */ /* 3 bytes padding */ unsigned long BusHackFlags;/* 0xbc 4 */};size 192 (0xc0)31 members4 holes (9 bytes)padding 03 cachelines
Used in (2)