Поделиться через


!irpfind

Расширение !irpfind отображает сведения обо всех пакетах запросов ввода-вывода (IRP), выделенных в целевой системе, или об этих irPs, соответствующих указанным критериям поиска.

Синтаксис

!irpfind [-v][PoolType[RestartAddress[CriteriaData]]]

Параметры

-v
Отображает подробные сведения.

PoolType
Указывает тип пула для поиска. Разрешены следующие значения:

0
Указывает непагаченный пул памяти. Это значение по умолчанию.

1
Указывает пул памяти с страницами.

2
Указывает специальный пул.

4
Указывает пул сеансов.

ПерезапускAddress
Указывает шестнадцатеричный адрес, с которого начинается поиск. Это полезно, если предыдущий поиск был завершен преждевременно. По умолчанию используется значение 0.

Критерии
Задает критерии для поиска. Будут отображаться только те irPs, которые удовлетворяют заданному совпадению.

Критерии Поиск совпадений (Match)

arg

Находит все irPs с расположением стека, где один из аргументов равен данным.

device

Находит все irPs с расположением стека, где DeviceObject равен данным.

fileobject

Находит все irPs, Irp.Tail.Overlay.OriginalFileObject равно Data.

mdlprocess

Находит все IRP, Irp.MdlAddress.Process равно данным.

thread

Находит все IRP, Irp.Tail.Overlay.Thread равно данным.

userevent

Находит все IRP, Irp.UserEvent которых равно данным.

Данные
Указывает данные, которые должны быть сопоставлены в поиске.

DLL-библиотеки

Kdexts.dll

Дополнительная информация

См. самонастраивающийся отладку приложений этой команды расширения. Дополнительные сведения об IRP см. в документации по комплекту драйверов Windows (WDK) и внутренних элементах Microsoft Windows Марком Руссиновичем и Дэвидом Соломоном.

Замечания

Этот пример находит IRP в непагованном пуле, который собирается задать событие пользователя FF9E4F48 после завершения:

kd> !irpfind 0 0 userevent ff9e4f48

В следующем примере создается полный список всех IRP в непакованном пуле:

kd> !irpfind
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