x86 / ntoskrnl

_PDO_EXTENSION

← 5.0.2195.6717 3 builds latest →
struct _PDO_EXTENSION {
int ExtensionType;/* 0x4 4 */
unsigned char DeviceState;/* 0xc 1 */
unsigned char TentativeNextState;/* 0xd 1 */
/* 2 bytes padding */
/* ── cacheline 1 boundary (64 bytes) ── */
unsigned long BusInterfaceReferenceCount;/* 0x50 4 */
unsigned short VendorId;/* 0x54 2 */
unsigned short DeviceId;/* 0x56 2 */
unsigned short SubsystemVendorId;/* 0x58 2 */
unsigned short SubsystemId;/* 0x5a 2 */
unsigned char RevisionId;/* 0x5c 1 */
unsigned char ProgIf;/* 0x5d 1 */
unsigned char SubClass;/* 0x5e 1 */
unsigned char BaseClass;/* 0x5f 1 */
unsigned char AdditionalResourceCount;/* 0x60 1 */
unsigned char AdjustedInterruptLine;/* 0x61 1 */
unsigned char InterruptPin;/* 0x62 1 */
unsigned char RawInterruptLine;/* 0x63 1 */
unsigned char CapabilitiesPtr;/* 0x64 1 */
unsigned char SavedLatencyTimer;/* 0x65 1 */
unsigned char SavedCacheLineSize;/* 0x66 1 */
unsigned char HeaderType;/* 0x67 1 */
unsigned char NotPresent : 1;/* 0x68:0 1 */
unsigned char ReportedMissing : 1;/* 0x68:1 1 */
unsigned char ExpectedWritebackFailure : 1;/* 0x68:2 1 */
unsigned char NoTouchPmeEnable : 1;/* 0x68:3 1 */
unsigned char LegacyDriver : 1;/* 0x68:4 1 */
unsigned char UpdateHardware : 1;/* 0x68:5 1 */
unsigned char MovedDevice : 1;/* 0x68:6 1 */
/* 2 bytes padding */
/* ── cacheline 2 boundary (128 bytes) ── */
unsigned long ControlFlags;/* 0xb0 4 */
/* ── cacheline 3 boundary (192 bytes) ── */
};
size 208 (0xd0)45 members2 holes (4 bytes)padding 24 cachelines
Used in (2)