The Windows kernel provides mechanisms to notify drivers when handles to certain object types (e.g., process, thread, desktop) are opened or duplicated.
There are two kinds of operations:
_CALLBACK_ENTRY_ITEMThis undocumented structure holds information about registered object callbacks, used by the kernel to notify appropriate drivers.
It is linked to a specific object type via the
CallbackList member of the _OBJECT_TYPE
structure.
typedef struct _CALLBACK_ENTRY_ITEM {
LIST_ENTRY EntryItemList;
OB_OPERATION Operations;
DWORD Active;
CALLBACK_ENTRY * CallbackEntry;
PVOID ObjectType;
POB_PRE_OPERATION_CALLBACK PreOperation; //offset 0x28
POB_POST_OPERATION_CALLBACK PostOperation; //offset 0x30
QWORD unk;
} CALLBACK_ENTRY_ITEM, * PCALLBACK_ENTRY_ITEM;