Geoff Chappell - Software Analyst
SKETCH OF HOW RESEARCH MIGHT CONTINUE AND RESULTS BE PRESENTED
The OB_CLOSE_METHOD type is a pointer to a routine that can be defined for all objects of the same type. It is specified as the CloseProcedure member of the OBJECT_TYPE_INITIALIZER structure when creating the object type. It is then retained in this structure as nested into the OBJECT_TYPE structure.
The modern declaration dates from version 6.1:
typedef
VOID
(*OB_CLOSE_METHOD) (
EPROCESS *Process,
PVOID Object,
ULONG_PTR ProcessHandleCount,
ULONG_PTR SystemHandleCount);
Originally, the function has one more argument:
typedef
VOID
(*OB_CLOSE_METHOD) (
EPROCESS *Process,
PVOID Object,
ACCESS_MASK,
ULONG_PTR ProcessHandleCount,
ULONG_PTR SystemHandleCount);