_KINTERRUPT

//0xa0 bytes (sizeof) struct _KINTERRUPT { SHORT Type; //0x0 SHORT Size; //0x2 struct _LIST_ENTRY InterruptListEntry; //0x8 UCHAR (*ServiceRoutine)(struct _KINTERRUPT* arg1, VOID* arg2); //0x18 UCHAR (*MessageServiceRoutine)(struct _KINTERRUPT* arg1, VOID* arg2, ULONG arg3); //0x20 ULONG MessageIndex; //0x28 VOID* ServiceContext; //0x30 ULONGLONG SpinLock; //0x38 ULONG TickCount; //0x40 ULONGLONG* ActualLock; //0x48 VOID (*DispatchAddress)(); //0x50 ULONG Vector; //0x58 UCHAR Irql; //0x5c UCHAR SynchronizeIrql; //0x5d UCHAR FloatingSave; //0x5e UCHAR Connected; //0x5f ULONG Number; //0x60 UCHAR ShareVector; //0x64 CHAR Pad[3]; //0x65 enum _KINTERRUPT_MODE Mode; //0x68 enum _KINTERRUPT_POLARITY Polarity; //0x6c ULONG ServiceCount; //0x70 ULONG DispatchCount; //0x74 ULONGLONG Rsvd1; //0x78 struct _KTRAP_FRAME* TrapFrame; //0x80 VOID* Reserved; //0x88 ULONG DispatchCode[4]; //0x90 };