struct _KINTERRUPT { short Type;/* 0x0 2 */ short Size;/* 0x2 2 */ struct _LIST_ENTRY InterruptListEntry;/* 0x4 8 */ unsigned char (*ServiceRoutine)(struct _KINTERRUPT*, void*);/* 0xc 4 */ unsigned char (*MessageServiceRoutine)(struct _KINTERRUPT*, void*, unsigned long);/* 0x10 4 */ unsigned long MessageIndex;/* 0x14 4 */ void* ServiceContext;/* 0x18 4 */ unsigned long SpinLock;/* 0x1c 4 */ unsigned long TickCount;/* 0x20 4 */ unsigned long* ActualLock;/* 0x24 4 */ void (*DispatchAddress)(void);/* 0x28 4 */ unsigned long Vector;/* 0x2c 4 */ unsigned char Irql;/* 0x30 1 */ unsigned char SynchronizeIrql;/* 0x31 1 */ unsigned char FloatingSave;/* 0x32 1 */ unsigned char Connected;/* 0x33 1 */ unsigned long Number;/* 0x34 4 */ unsigned char ShareVector;/* 0x38 1 */ unsigned char EmulateActiveBoth;/* 0x39 1 */ unsigned short ActiveCount;/* 0x3a 2 */ long InternalState;/* 0x3c 4 */ /* ── cacheline 1 boundary (64 bytes) ── */ enum _KINTERRUPT_MODE Mode;/* 0x40 4 */ enum _KINTERRUPT_POLARITY Polarity;/* 0x44 4 */ unsigned long ServiceCount;/* 0x48 4 */ unsigned long DispatchCount;/* 0x4c 4 */ struct _KEVENT* PassiveEvent;/* 0x50 4 */ struct _KTRAP_FRAME* TrapFrame;/* 0x54 4 */ void* DisconnectData;/* 0x58 4 */ struct _KTHREAD* ServiceThread;/* 0x5c 4 */ struct _INTERRUPT_CONNECTION_DATA* ConnectionData;/* 0x60 4 */ void* IntTrackEntry;/* 0x64 4 */ struct _ISRDPCSTATS IsrDpcStats;/* 0x68 96 */ /* ── cacheline 3 boundary (192 bytes) ── */ void* RedirectObject;/* 0xc8 4 */ void* PhysicalDeviceObject;/* 0xcc 4 */};size 208 (0xd0)34 members0 holespadding 04 cachelines
Used in (2)