struct _TPP_CLEANUP_GROUP_MEMBER { struct _TPP_REFCOUNT Refcount;/* 0x0 4 */ /* 4 bytes padding */ const struct _TPP_CLEANUP_GROUP_MEMBER_VFUNCS* VFuncs;/* 0x8 8 */ struct _TP_CLEANUP_GROUP* CleanupGroup;/* 0x10 8 */ void (*CleanupGroupCancelCallback)(void*, void*);/* 0x18 8 */ void (*FinalizationCallback)(struct _TP_CALLBACK_INSTANCE*, void*);/* 0x20 8 */ struct _LIST_ENTRY CleanupGroupMemberLinks;/* 0x28 16 */ struct _TPP_BARRIER CallbackBarrier;/* 0x38 24 */ /* ── cacheline 1 boundary (64 bytes) ── */ union { void* Callback;/* 0x50 8 */ void (*WorkCallback)(struct _TP_CALLBACK_INSTANCE*, void*, struct _TP_WORK*);/* 0x50 8 */ void (*SimpleCallback)(struct _TP_CALLBACK_INSTANCE*, void*);/* 0x50 8 */ void (*TimerCallback)(struct _TP_CALLBACK_INSTANCE*, void*, struct _TP_TIMER*);/* 0x50 8 */ void (*WaitCallback)(struct _TP_CALLBACK_INSTANCE*, void*, struct _TP_WAIT*, long);/* 0x50 8 */ void (*IoCallback)(struct _TP_CALLBACK_INSTANCE*, void*, void*, struct _IO_STATUS_BLOCK*, struct _TP_IO*);/* 0x50 8 */ void (*AlpcCallback)(struct _TP_CALLBACK_INSTANCE*, void*, struct _TP_ALPC*);/* 0x50 8 */ void (*AlpcCallbackEx)(struct _TP_CALLBACK_INSTANCE*, void*, struct _TP_ALPC*, void*);/* 0x50 8 */ void (*JobCallback)(struct _TP_CALLBACK_INSTANCE*, void*, struct _TP_JOB*, unsigned __int64, void*, long);/* 0x50 8 */ };/* 0x50 8 */ void* Context;/* 0x58 8 */ struct _ACTIVATION_CONTEXT* ActivationContext;/* 0x60 8 */ void* SubProcessTag;/* 0x68 8 */ struct _GUID ActivityId;/* 0x70 16 */ /* ── cacheline 2 boundary (128 bytes) ── */ struct _RTL_WORK_ON_BEHALF_TICKET WorkOnBehalfTicket;/* 0x80 8 */ void* RaceDll;/* 0x88 8 */ struct _TP_POOL* Pool;/* 0x90 8 */ struct _LIST_ENTRY PoolObjectLinks;/* 0x98 16 */ union { volatile long Flags;/* 0xa8 4 */ struct { unsigned long LongFunction : 1;/* 0xa8:0 4 */ unsigned long Persistent : 1;/* 0xa8:1 4 */ unsigned long UnusedPublic : 14;/* 0xa8:2 4 */ unsigned long Released : 1;/* 0xa8:16 4 */ unsigned long CleanupGroupReleased : 1;/* 0xa8:17 4 */ unsigned long InCleanupGroupCleanupList : 1;/* 0xa8:18 4 */ unsigned long UnusedPrivate : 13;/* 0xa8:19 4 */ };/* 0xa8 4 */ };/* 0xa8 4 */ /* 4 bytes padding */ struct _TPP_CALLER AllocCaller;/* 0xb0 8 */ struct _TPP_CALLER ReleaseCaller;/* 0xb8 8 */ /* ── cacheline 3 boundary (192 bytes) ── */ enum _TP_CALLBACK_PRIORITY CallbackPriority;/* 0xc0 4 */};size 200 (0xc8)35 members2 holes (8 bytes)padding 44 cachelines
Used in (5)