IoGetTopLevelIrp 函数 (wdm.h)

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

语法

PIRP IoGetTopLevelIrp();

返回值

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

注解

IoGetTopLevelIrp 可以返回 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)
Library NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= DISPATCH_LEVEL

另请参阅

IoSetTopLevelIrp