IoGetDeviceAttachmentBaseRef 函数 (ntifs.h)

IoGetDeviceAttachmentBaseRef 例程返回指向文件系统或设备驱动程序堆栈中最低级别的设备对象的指针。

语法

PDEVICE_OBJECT IoGetDeviceAttachmentBaseRef(
  [in] PDEVICE_OBJECT DeviceObject
);

参数

[in] DeviceObject

指向堆栈中设备对象的指针。

返回值

IoGetDeviceAttachmentBaseRef 返回指向文件系统或设备驱动程序堆栈底部的设备对象的指针。 如果给定的设备对象未附加到驱动程序堆栈, IoGetDeviceAttachmentBaseRef 将返回 DeviceObject 中的设备对象指针。

注解

文件系统筛选器驱动程序通常调用 IoGetDeviceAttachmentBaseRef 来获取文件系统驱动程序堆栈中最低级别的设备对象。 通常,当筛选器驱动程序收到文件系统已将自身注册或注销为活动文件系统的通知时,会执行此操作。 筛选器驱动程序的通知回调例程调用 IoGetDeviceAttachmentBaseRef 以获取指向文件系统控制设备对象的指针,然后调用 ObQueryNameString 检索此对象的名称以进行调试。

IoGetDeviceAttachmentBaseRef 递增堆栈底部设备对象的引用计数。 因此,每次成功调用 IoGetDeviceAttachmentBaseRef 时,都必须通过对 ObDereferenceObject 的后续调用进行匹配。

要求

要求
最低受支持的客户端 Windows 2000 SP4 更新汇总;Windowsxp
目标平台 通用
标头 ntifs.h (包括 Ntifs.h)
Library NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= DISPATCH_LEVEL

另请参阅

IoEnumerateDeviceObjectList

IoGetLowerDeviceObject

IoRegisterFsRegistrationChange

IoUnregisterFsRegistrationChange

ObDereferenceObject

ObQueryNameString