obfReferenceObject 函数 (wdm.h)

ObfReferenceObject 例程将引用计数递增到给定对象。

语法

LONG_PTR ObfReferenceObject(
  [in] PVOID Object
);

参数

[in] Object

指向对象的指针。 调用方在创建对象时或在打开对象后从之前对 ObReferenceObjectByHandle 的调用获取此参数。

返回值

ObfReferenceObject 返回为系统使用保留的值。 驱动程序必须将此值视为 VOID。

注解

ObfReferenceObject 只是递增对象的指针引用计数,而不会对给定对象进行任何访问检查,如 ObReferenceObjectByHandleObReferenceObjectByPointer 所做的那样。

ObfReferenceObject 至少会阻止删除对象,直到驱动程序随后调用其互惠对象 ObDereferenceObject 或关闭给定对象为止。 调用方必须使用 ObDereferenceObject 递减引用计数,只要对象完成。

当对象的引用计数达到零时,内核模式组件可以从系统中删除该对象。 但是,驱动程序只能删除创建的对象,并且驱动程序绝不应尝试删除它未创建的任何对象。

要求

   
最低受支持的客户端 从 Windows 2000 开始可用。
目标平台 桌面
标头 wdm.h(包括 Wdm.h、Ntddk.h、Ntifs.h)
Library NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <=DISPATCH_LEVEL
DDI 符合性规则 HwStorPortProhibitedDDI (storport) TargetRelationNeedsRef (wdm)

请参阅

ObDereferenceObject

ObReferenceObjectByHandle

ObReferenceObjectByPointer

ZwClose