Debugging Tools for Windows |
!irpfind显示当前目标系统中已分配的,或者符合指定搜索条件的I/O请求包(IRP)的信息。
Windows 2000的语法
Windows XP和之后的语法
条件 | 匹配 |
---|---|
arg | 查找所有某个stack location具有等于Data的参数的IRP。 |
device | 查找某个stack location的DeviceObject等于Data的所有IRP。 |
fileobject | 查找Irp.Tail.Overlay.OriginalFileObject等于Data的IRP。 |
mdlprocess | 查找Irp.MdlAddress.Process等于Data的IRP。 |
thread | 查找Irp.Tail.Overlay.Thread等于Data的IRP。 |
userevent | 查找Irp.UserEvent等于Data的IRP。 |
Windows 2000 | Kdextx86.dll |
Windows XP和之后 | Kdexts.dll |
下面的例子查找完成时会设置FF9E4F48 用户事件的,在非分页池中的IRP:
下面的命令列出所有非分页池中的IRP:
Searching NonPaged pool (8090c000 : 8131e000) for Tag: Irp
8097c008 Thread 8094d900 current stack belongs to \Driver\symc810
8097dec8 Thread 8094dda0 current stack belongs to \FileSystem\Ntfs
809861a8 Thread 8094dda0 current stack belongs to \Driver\symc810
809864e8 Thread 80951ba0 current stack belongs to \Driver\Mouclass
80986608 Thread 80951ba0 current stack belongs to \Driver\Kbdclass
80986728 Thread 8094dda0 current stack belongs to \Driver\symc810
查看Plug and Play调试获取该扩展命令的应用。关于IRP的更多信息,查看Windows Driver Kit (WDK)文档,以及Mark Russinovich 和David Solomon编写的Microsoft Windows Internals。