x64 / ntdllntoskrnl /

_INTERRUPT_FUNCTION_TABLE

← 10.0.28000.3231 8 builds latest →
struct _INTERRUPT_FUNCTION_TABLE {
long (*InitializeLocalUnit)(void*, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long*);/* 0x0 8 */
long (*InitializeIoUnit)(void*);/* 0x8 8 */
void (*SetPriority)(void*, unsigned long);/* 0x10 8 */
unsigned long (*GetLocalUnitError)(void*);/* 0x18 8 */
void (*ClearLocalUnitError)(void*);/* 0x20 8 */
long (*GetLogicalId)(void*, struct _INTERRUPT_TARGET*);/* 0x28 8 */
long (*SetLogicalId)(void*, struct _INTERRUPT_TARGET*);/* 0x30 8 */
enum _INTERRUPT_RESULT (*AcceptAndGetSource)(void*, long*, unsigned long*);/* 0x38 8 */
/* ── cacheline 1 boundary (64 bytes) ── */
void (*EndOfInterrupt)(void*);/* 0x40 8 */
void (*FastEndOfInterrupt)(void);/* 0x48 8 */
long (*SetLineState)(void*, struct _INTERRUPT_LINE*, struct _INTERRUPT_LINE_STATE*);/* 0x50 8 */
long (*RequestInterrupt)(void*, struct _INTERRUPT_LINE*, struct _INTERRUPT_TARGET*, unsigned long, struct _INTERRUPT_LINE*);/* 0x58 8 */
long (*StartProcessor)(void*, unsigned long, void*, unsigned long);/* 0x60 8 */
long (*GenerateMessage)(void*, struct _INTERRUPT_LINE_STATE*, unsigned __int64*, unsigned __int64*);/* 0x68 8 */
long (*ConvertId)(void*, unsigned long*, struct _INTERRUPT_TARGET*, unsigned char);/* 0x70 8 */
long (*SaveLocalInterrupts)(void*, void*);/* 0x78 8 */
/* ── cacheline 2 boundary (128 bytes) ── */
long (*ReplayLocalInterrupts)(void*, void*);/* 0x80 8 */
long (*DeinitializeLocalUnit)(void*);/* 0x88 8 */
long (*DeinitializeIoUnit)(void*);/* 0x90 8 */
enum _INTERRUPT_RESULT (*QueryAndGetSource)(void*, long*, unsigned long*, unsigned char*);/* 0x98 8 */
void (*DeactivateInterrupt)(void*, unsigned long);/* 0xa0 8 */
void (*DirectedEndOfInterrupt)(void*, unsigned long, unsigned long);/* 0xa8 8 */
long (*QueryLocalUnitInfo)(void*, unsigned long, unsigned long*, unsigned long*, enum _KINTERRUPT_MODE*, enum _KINTERRUPT_MODE*);/* 0xb0 8 */
long (*QueryPendingState)(void*, struct _INTERRUPT_LINE*, unsigned char*, unsigned char*);/* 0xb8 8 */
/* ── cacheline 3 boundary (192 bytes) ── */
void (*CaptureGlobalCrashdumpState)(void*);/* 0xc0 8 */
void (*CaptureProcessorCrashdumpState)(void*, unsigned long);/* 0xc8 8 */
};
size 208 (0xd0)26 members0 holespadding 04 cachelines
Used in (1)