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) |
Library | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= DISPATCH_LEVEL (请参阅备注部分) |