struct _KINTERRUPT { short Type;/* 0x0 2 */ short Size;/* 0x2 2 */ /* 4 bytes padding */ struct _LIST_ENTRY InterruptListEntry;/* 0x8 16 */ unsigned char (*ServiceRoutine)(struct _KINTERRUPT*, void*);/* 0x18 8 */ unsigned char (*MessageServiceRoutine)(struct _KINTERRUPT*, void*, unsigned long);/* 0x20 8 */ unsigned long MessageIndex;/* 0x28 4 */ /* 4 bytes padding */ void* ServiceContext;/* 0x30 8 */ unsigned __int64 SpinLock;/* 0x38 8 */ /* ── cacheline 1 boundary (64 bytes) ── */ unsigned long TickCount;/* 0x40 4 */ /* 4 bytes padding */ unsigned __int64* ActualLock;/* 0x48 8 */ void (*DispatchAddress)(void);/* 0x50 8 */ unsigned long Vector;/* 0x58 4 */ unsigned char Irql;/* 0x5c 1 */ unsigned char SynchronizeIrql;/* 0x5d 1 */ unsigned char FloatingSave;/* 0x5e 1 */ unsigned char Connected;/* 0x5f 1 */ char Number;/* 0x60 1 */ unsigned char ShareVector;/* 0x61 1 */ /* 2 bytes padding */ enum _KINTERRUPT_MODE Mode;/* 0x64 4 */ enum _KINTERRUPT_POLARITY Polarity;/* 0x68 4 */ unsigned long ServiceCount;/* 0x6c 4 */ unsigned long DispatchCount;/* 0x70 4 */ /* 4 bytes padding */ unsigned __int64 Rsvd1;/* 0x78 8 */ /* ── cacheline 2 boundary (128 bytes) ── */ unsigned long DispatchCode[4];/* 0x80 16 */};size 144 (0x90)24 members5 holes (18 bytes)padding 03 cachelines
Used in (0)