IoGetLowerDeviceObject 函数 (ntifs.h)

IoGetLowerDeviceObject 例程返回指向驱动程序堆栈上下一级设备对象的指针。

语法

PDEVICE_OBJECT IoGetLowerDeviceObject(
  [in] PDEVICE_OBJECT DeviceObject
);

参数

[in] DeviceObject

指向堆栈中要返回下一级设备对象的设备对象的指针。

返回值

IoGetLowerDeviceObject 返回指向驱动程序堆栈上下一级设备对象的指针。

言论

给定指向文件系统或设备驱动程序堆栈中的设备对象的指针,IoGetLowerDeviceObject 返回指向堆栈上下一级设备对象的指针。

如果出现 NULL,IoGetLowerDeviceObject 返回 NULL:

  • 未加载下一级驱动程序。

  • 下一级驱动程序当前正在卸载、删除或删除。

  • DeviceObject 指向的设备对象是驱动程序堆栈中最低的设备对象。

文件系统筛选器驱动程序通常使用 IoGetLowerDeviceObject 来确定它是否已附加到链接到给定文件系统设备对象的筛选器驱动程序堆栈。 首先,筛选器调用 IoGetAttachedDeviceReference 以获取指向堆栈中最顶层设备对象的指针。 然后,它会反复调用 IoGetLowerDeviceObject 来遍历驱动程序堆栈,检查每个设备对象以查看该对象是否属于筛选器驱动程序。

IoGetLowerDeviceObject 在下一级别设备对象上递增引用计数(如果有)。 因此,对 IoGetLowerDeviceObject 不返回 NULL 的每个调用都必须与后续调用 ObDereferenceObject匹配。

要求

要求 价值
最低支持的客户端 Windows 2000 SP4 更新汇总;Windows XP
目标平台 普遍
标头 ntifs.h (include Ntifs.h)
NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= DISPATCH_LEVEL

另请参阅

IoGetAttachedDevice

IoGetAttachedDeviceReference

ObDereferenceObject