typedef struct _KINTERRUPT { short Type; short Size; LIST_ENTRY InterruptListEntry; unsigned char (*ServiceRoutine)(KINTERRUPT *, void *); unsigned char (*MessageServiceRoutine)(KINTERRUPT *, void *, unsigned long); unsigned long MessageIndex; void *ServiceContext; unsigned __int64 SpinLock; unsigned long TickCount; unsigned __int64 *ActualLock; void (*DispatchAddress)(void); unsigned long Vector; unsigned char Irql; unsigned char SynchronizeIrql; unsigned char FloatingSave; unsigned char Connected; unsigned long Number; unsigned char ShareVector; char Pad[3]; KINTERRUPT_MODE Mode; KINTERRUPT_POLARITY Polarity; unsigned long ServiceCount; unsigned long DispatchCount; unsigned __int64 Rsvd1; KTRAP_FRAME *TrapFrame; void *Reserved; unsigned long DispatchCode[4]; } KINTERRUPT, *PKINTERRUPT;