obReferenceObject 宏 (wdm.h)
ObReferenceObject 例程将引用计数递增到给定对象。
语法
void ObReferenceObject(
[in] Object
);
参数
[in] Object
指向 对象的指针。 调用方在创建对象时或在打开对象后从之前对 ObReferenceObjectByHandle 的调用中获取此参数。
返回值
无
备注
ObReferenceObject 返回保留供系统使用的值。 驱动程序必须将此值视为 VOID。
ObReferenceObject 只是递增对象的指针引用计数,而不会像 ObReferenceObjectByHandle 和 ObReferenceObjectByPointer 那样对给定对象进行任何访问检查。
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) |