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 |