Поделиться через


Функция ObfReferenceObject (wdm.h)

Подпрограмма ObfReferenceObject увеличивает число ссылок на заданный объект.

Синтаксис

LONG_PTR ObfReferenceObject(
  [in] PVOID Object
);

Параметры

[in] Object

Указатель на объект . Вызывающий объект получил этот параметр при создании объекта или из предыдущего вызова ObReferenceObjectByHandle после открытия объекта .

Возвращаемое значение

ObfReferenceObject возвращает значение, зарезервированное для использования системой. Драйверы должны рассматривать это значение как VOID.

Комментарии

ObfReferenceObject просто увеличивает число ссылок указателя для объекта, не выполняя никаких проверок доступа к заданному объекту, как это делают ObReferenceObjectByHandle и ObReferenceObjectByPointer .

ObfReferenceObject предотвращает удаление объекта по крайней мере до тех пор, пока драйвер впоследствии не вызовет его обратный Объект ObDereferenceObject или не закроет заданный объект. Вызывающий объект должен уменьшать количество ссылок с помощью ObDereferenceObject сразу после завершения работы с объектом .

Когда количество ссылок для объекта достигает нуля, компонент режима ядра может удалить объект из системы. Однако драйвер может удалить только те объекты, которые он создал, и драйвер никогда не должен пытаться удалить любой объект, который он не создал.

Требования

Требование Значение
Минимальная версия клиента Доступно начиная с Windows 2000.
Целевая платформа Персональный компьютер
Верхняя часть wdm.h (включая Wdm.h, Ntddk.h, Ntifs.h)
Библиотека NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <=DISPATCH_LEVEL
Правила соответствия DDI HwStorPortProhibitedDDIs(storport), TargetRelationNeedsRef(wdm)

См. также раздел

ObDereferenceObject

ObReferenceObjectByHandle

ObReferenceObjectByPointer

ZwClose