obReferenceObject 宏 (wdm.h)

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

语法

void ObReferenceObject(
  [in]  Object
);

参数

[in] Object

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

返回值

备注

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

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

ObReferenceObject 至少在驱动程序随后调用其倒数 ObDereferenceObject 或关闭给定对象之前阻止删除对象。 调用方必须在使用 对象后立即使用 ObDereferenceObject 递减引用计数。

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

要求

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

另请参阅

ObDereferenceObject

ObReferenceObjectByHandle

ObReferenceObjectByPointer

ZwClose