struct _TP_CALLBACK_INSTANCE { struct _RTL_CALLER_ALLOCATED_ACTIVATION_CONTEXT_STACK_FRAME_EXTENDED ActivationFrame;/* 0x0 72 */ /* ── cacheline 1 boundary (64 bytes) ── */ enum _TPP_CALLBACK_RUN_TYPE CallbackRunType;/* 0x48 4 */ unsigned char ActivationFrameUsed : 1;/* 0x4c:0 1 */ unsigned char Disassociated : 1;/* 0x4c:1 1 */ unsigned char UnrecoverableErrorDetected : 1;/* 0x4c:2 1 */ /* 3 bytes padding */ void* SubProcessTag;/* 0x50 8 */ union { void* Callback;/* 0x58 8 */ void (*WorkCallback)(struct _TP_CALLBACK_INSTANCE*, void*, struct _TP_WORK*);/* 0x58 8 */ void (*SimpleCallback)(struct _TP_CALLBACK_INSTANCE*, void*);/* 0x58 8 */ void (*TimerCallback)(struct _TP_CALLBACK_INSTANCE*, void*, struct _TP_TIMER*);/* 0x58 8 */ void (*WaitCallback)(struct _TP_CALLBACK_INSTANCE*, void*, struct _TP_WAIT*, long);/* 0x58 8 */ void (*IoCallback)(struct _TP_CALLBACK_INSTANCE*, void*, void*, struct _IO_STATUS_BLOCK*, struct _TP_IO*);/* 0x58 8 */ void (*AlpcCallback)(struct _TP_CALLBACK_INSTANCE*, void*, struct _TP_ALPC*);/* 0x58 8 */ void (*AlpcCallbackEx)(struct _TP_CALLBACK_INSTANCE*, void*, struct _TP_ALPC*, void*);/* 0x58 8 */ void (*JobCallback)(struct _TP_CALLBACK_INSTANCE*, void*, struct _TP_JOB*, unsigned __int64, void*, long);/* 0x58 8 */ void (*FinalizationCallback)(struct _TP_CALLBACK_INSTANCE*, void*);/* 0x58 8 */ void (*DirectCallback)(struct _TP_CALLBACK_INSTANCE*, struct _TP_DIRECT*, void*, struct _IO_STATUS_BLOCK*);/* 0x58 8 */ void (*TaskCallback)(struct _TP_CALLBACK_INSTANCE*, struct _TP_TASK*);/* 0x58 8 */ };/* 0x58 8 */ void* Context;/* 0x60 8 */ union { unsigned long SkipPostThreadFlags;/* 0x68 4 */ struct { unsigned long SPActFrame : 1;/* 0x68:0 4 */ unsigned long SPSubProcTag : 1;/* 0x68:1 4 */ unsigned long SPImpersonation : 1;/* 0x68:2 4 */ unsigned long SPThreadInfo : 1;/* 0x68:3 4 */ unsigned long SPTransaction : 1;/* 0x68:4 4 */ unsigned long SPLdrLock : 1;/* 0x68:5 4 */ unsigned long SPLanguages : 1;/* 0x68:6 4 */ unsigned long SPThreadPriBack : 1;/* 0x68:7 4 */ };/* 0x68 4 */ };/* 0x68 4 */ union { unsigned long VerifyThreadFlags;/* 0x6c 4 */ unsigned long VThreadInfo : 1;/* 0x6c:0 4 */ };/* 0x6c 4 */ long PreCallThrdPriority;/* 0x70 4 */ /* 4 bytes padding */ unsigned __int64 PreCallThrdAffinity;/* 0x78 8 */ /* ── cacheline 2 boundary (128 bytes) ── */ struct _TP_POOL* Pool;/* 0x80 8 */ struct _TP_ALPC* AlpcWorkItem;/* 0x88 8 */ unsigned long CallbackEpilogFlags;/* 0x90 4 */ unsigned long Event;/* 0x94 4 */ unsigned long Mutex;/* 0x98 4 */ unsigned long Semaphore;/* 0x9c 4 */ unsigned long SemaphoreReleaseCount;/* 0xa0 4 */ /* 4 bytes padding */ void* RaceDll;/* 0xa8 8 */ struct _TP_CLEANUP_GROUP* CleanupGroup;/* 0xb0 8 */ struct _TPP_CLEANUP_GROUP_MEMBER* CleanupGroupMember;/* 0xb8 8 */ /* ── cacheline 3 boundary (192 bytes) ── */ struct _RTL_CRITICAL_SECTION* CriticalSection;/* 0xc0 8 */ void* DllHandle;/* 0xc8 8 */ struct _WORKER_FACTORY_DEFERRED_WORK DeferredWork;/* 0xd0 24 */ struct _GUID PreviousActivityId;/* 0xe8 16 */ unsigned __int64 WorkOnBehalf;/* 0xf8 8 */};size 256 (0x100)47 members3 holes (11 bytes)padding 04 cachelines
Used in (0)