IoGetTopLevelIrp 函数 (wdm.h)

IoGetTopLevelIrp 例程返回当前线程的 TopLevelIrp 字段的值。

语法

PIRP IoGetTopLevelIrp();

返回值

IoGetTopLevelIrp 返回当前线程的 TopLevelIrp 字段的值。

言论

IoGetTopLevelIrp 可以返回 NULL NULL、任意特定于文件系统的值(例如指向当前 IRP 的指针)或下表中列出的标志之一。

如果当前线程不保留文件系统上方的资源,则 IoGetTopLevelIrp 返回 NULL

如果文件系统是当前线程的顶级组件,IoGetTopLevelIrp 将返回指向当前 IRP 的指针。

如果文件系统以外的组件是当前线程的顶级组件,IoGetTopLevelIrp 返回以下标志之一:

意义
FSRTL_FSP_TOP_LEVEL_IRP 这是递归调用。
FSRTL_CACHE_TOP_LEVEL_IRP 缓存管理器是当前线程的顶级组件。
FSRTL_MOD_WRITE_TOP_LEVEL_IRP 修改的页面编写器是当前线程的顶级组件。
FSRTL_FAST_IO_TOP_LEVEL_IRP 缓存管理器是当前线程的顶级组件,当前线程处于快速 I/O 路径中。

要求

要求 价值
目标平台 普遍
标头 wdm.h(包括 Ntifs.h、Wdm.h)
NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= DISPATCH_LEVEL

另请参阅

IoSetTopLevelIrp