!irpfind
!Irpfind 拡張機能には、ターゲットシステムに現在割り当てられているすべてのi/o要求パケット (IRP) に関する情報、または指定した検索条件に一致するIrpに関する情報が表示されます。
構文
!irpfind [-v][PoolType[RestartAddress[CriteriaData]]]
パラメーター
-v
詳細な情報を表示します.
PoolType
検索するプールの種類を指定します。 指定できる値を次に示します。
0
非ページメモリプールを指定します。 既定値です。
1
ページメモリプールを指定します。
2
特別なプールを指定します。
4
セッション・プールを指定します。
RestartAddress
検索を開始する 16 進アドレスを指定する。 これは、前回の検索が早期に終了した場合に便利です。 既定値は 0 です。
Criteria
検索条件を指定します。 指定された一致を満たすIrpのみが表示されます。
基準 | 照合 |
---|---|
arg |
引数の1つが データと等しいスタックの場所を持つすべてのIrpを検索します。 |
device |
DeviceObject equals がデータと等しいスタックの場所を持つすべてのIrpを検索します。 |
fileobject |
すべての IRP を検索します Irp.Tail.Overlay.OriginalFileObject 等しい Data. |
mdlprocess |
すべての IRP を検索します Irp.MdlAddress.Process 等しい Data. |
スレッド |
すべての IRP を検索します Irp.Tail.Overlay.Thread 等しい Data. |
userevent |
すべての IRP を検索します Irp.UserEvent 等しい Data. |
Data
検索で照合するデータを指定します。
DLL
Kdexts.dll
追加情報
この拡張機能コマンドのアプリケーションについては、 「プラグアンドプレイデバッグ」 を参照してください。 IRP の詳細については、Windows Driver Kit (WDK) のドキュメントと、Mark Russinovich および David Solomon による Microsoft Windows Internals を参照してください。
解説
この例では、完了時にユーザーイベントFF9E4F48を設定する非ページプール内のIRPを検索します。
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