ObDereferenceObject

VOID
ObDereferenceObject(

IN PVOID Object
);

ObDereferenceObject decrements the given object’s reference count and performs retention checks.

Parameters

Object

Points to the object’s body.

Comments

When the reference count for an object reaches zero, a kernel-mode component can remove the object from the system.

A named object with the permanent attribute, such as a directory object created to hold a driver’s symbolic link objects, can be deleted by calling this routine and then calling the appropriate ZwOpenXxx or ZwCreateXxx to get a handle for the object, ZwMakeTemporaryObject with the handle, and, then, ZwClose with the handle.

Callers of ObDereferenceObject must be running at IRQL PASSIVE_LEVEL.

See Also

ZwClose, ZwMakeTemporaryObject