typedef struct _KAPC                                                            // 18 / 18 elements; 0x0030 / 0x0058 Bytes
{
    UINT8                       Type;                                           // 0x0000 / 0x0000; 0x0001 / 0x0001 Bytes
    UINT8                       SpareByte0;                                     // 0x0001 / 0x0001; 0x0001 / 0x0001 Bytes
    UINT8                       Size;                                           // 0x0002 / 0x0002; 0x0001 / 0x0001 Bytes
    UINT8                       SpareByte1;                                     // 0x0003 / 0x0003; 0x0001 / 0x0001 Bytes
    ULONG32                     SpareLong0;                                     // 0x0004 / 0x0004; 0x0004 / 0x0004 Bytes
    PKTHREAD                    Thread;                                         // 0x0008 / 0x0008; 0x0004 / 0x0008 Bytes
    LIST_ENTRY                  ApcListEntry;                                   // 0x000C / 0x0010; 0x0008 / 0x0010 Bytes
    union                                                                       // 2 / 2 elements; 0x000C / 0x0018 Bytes
    {
        struct                                                                  // 3 / 3 elements; 0x000C / 0x0018 Bytes
        {
            void                (WINAPI * KernelRoutine)        (PKAPC,
                                                                 void (WINAPI * )(PVOID, PVOID, PVOID),
                                                                 PVOID *,
                                                                 PVOID *,
                                                                 PVOID *);      // 0x0014 / 0x0020; 0x0004 / 0x0008 Bytes
            void                (WINAPI * RundownRoutine)       (PKAPC);        // 0x0018 / 0x0028; 0x0004 / 0x0008 Bytes
            void                (WINAPI * NormalRoutine)        (PVOID,
                                                                 PVOID,
                                                                 PVOID);        // 0x001C / 0x0030; 0x0004 / 0x0008 Bytes
        };
        PVOID                   Reserved[3];                                    // 0x0014 / 0x0020; 0x000C / 0x0018 Bytes
    };
    PVOID                       NormalContext;                                  // 0x0020 / 0x0038; 0x0004 / 0x0008 Bytes
    PVOID                       SystemArgument1;                                // 0x0024 / 0x0040; 0x0004 / 0x0008 Bytes
    PVOID                       SystemArgument2;                                // 0x0028 / 0x0048; 0x0004 / 0x0008 Bytes
    CHAR                        ApcStateIndex;                                  // 0x002C / 0x0050; 0x0001 / 0x0001 Bytes
    CHAR                        ApcMode;                                        // 0x002D / 0x0051; 0x0001 / 0x0001 Bytes
    UINT8                       Inserted;                                       // 0x002E / 0x0052; 0x0001 / 0x0001 Bytes
#if defined(_M_X64)
    UINT8                       _PADDING0_[5];                                  // ------ / 0x0053; ------ / 0x0005 Bytes
#else                                                                           // #if defined(_M_X64)
    UINT8                       _PADDING0_[1];                                  // 0x002F / ------; 0x0001 / ------ Bytes
#endif                                                                          // #if defined(_M_X64)
} KAPC, * PKAPC;

Return to OS-specific structures/unions/enums list.
Return to OS version list.