IoGetRelatedDeviceObject 函数 (wdm.h)

给定文件对象后,IoGetRelatedDeviceObject 例程返回指向相应设备对象的指针。

语法

PDEVICE_OBJECT IoGetRelatedDeviceObject(
  [in] PFILE_OBJECT FileObject
);

参数

[in] FileObject

指向文件对象的指针。

返回值

IoGetRelatedDeviceObject 返回指向设备对象的指针。

言论

在表示基础存储设备的文件对象上调用时,IoGetRelatedDeviceObject 返回存储设备堆栈中的最高级别设备对象。 若要在文件系统驱动程序堆栈中获取最高级别的设备对象,驱动程序必须在表示文件系统驱动程序堆栈的文件对象上调用 IoGetRelatedDeviceObject,并且文件系统当前必须装载。 (否则,将遍历存储设备堆栈,而不是文件系统堆栈。

若要确保文件系统装载在存储设备上,驱动程序必须在打开文件对象表示的文件或设备时指定适当的访问掩码,例如FILE_READ_DATA或FILE_WRITE_ATTRIBUTES。 指定FILE_READ_ATTRIBUTES不会导致文件系统装载。

调用方必须在 IRQL <= DISPATCH_LEVEL上运行。 通常,此例程的调用方在 IRQL = PASSIVE_LEVEL 运行。

要求

要求 价值
最低支持的客户端 从 Windows 2000 开始可用。
目标平台 普遍
标头 wdm.h (包括 Wdm.h、Ntddk.h、Ntifs.h)
NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= DISPATCH_LEVEL (请参阅“备注”部分)

另请参阅

IoGetDeviceObjectPointer