struct _KAPC { unsigned char Type;/* 0x0 1 */ union { unsigned char AllFlags;/* 0x1 1 */ struct { unsigned char CallbackDataContext : 1;/* 0x1:0 1 */ unsigned char Unused : 7;/* 0x1:1 1 */ };/* 0x1 1 */ };/* 0x1 1 */ unsigned char Size;/* 0x2 1 */ unsigned char SpareByte1;/* 0x3 1 */ unsigned long SpareLong0;/* 0x4 4 */ struct _KTHREAD* Thread;/* 0x8 8 */ struct _LIST_ENTRY ApcListEntry;/* 0x10 16 */ union { struct { void (*KernelRoutine)(struct _KAPC*, void (**)(void*, void*, void*), void**, void**, void**);/* 0x20 8 */ void (*RundownRoutine)(struct _KAPC*);/* 0x28 8 */ void (*NormalRoutine)(void*, void*, void*);/* 0x30 8 */ };/* 0x20 24 */ void* Reserved[3];/* 0x20 24 */ };/* 0x20 24 */ void* NormalContext;/* 0x38 8 */ /* ── cacheline 1 boundary (64 bytes) ── */ void* SystemArgument1;/* 0x40 8 */ void* SystemArgument2;/* 0x48 8 */ char ApcStateIndex;/* 0x50 1 */ char ApcMode;/* 0x51 1 */ unsigned char Inserted;/* 0x52 1 */};size 88 (0x58)19 members0 holespadding 52 cachelines
Used in (3)