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 更新汇总;Windows XP
目标平台 普遍
标头 ntifs.h (include Ntifs.h)
NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= DISPATCH_LEVEL

另请参阅

IoEnumerateDeviceObjectList

IoGetLowerDeviceObject

IoRegisterFsRegistrationChange

IoUnregisterFsRegistrationChange

ObDereferenceObject

ObQueryNameString