Функция 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) |