!irpfind
L’extension !irpfind affiche des informations sur tous les paquets de requête d’E/S (IRP) actuellement attribués dans le système cible, ou des informations sur les IRP correspondant aux critères de recherche spécifiés.
Syntaxe
!irpfind [-v][PoolType[RestartAddress[CriteriaData]]]
Paramètres
-v
Affiche les informations détaillées.
PoolType
Spécifie le type de pool sur lequel faire porter la recherche. Les valeurs suivantes sont prises en charge :
0
Indique le pool de mémoire non paginé. Il s’agit de la valeur par défaut.
1
Indique le pool de mémoire paginé.
2
Indique le pool spécial.
4
Indique le pool de sessions.
RestartAddress
Indique l’adresse hexadécimale à laquelle commencer la recherche. Cela est utile si la recherche précédente a été arrêtée prématurément. La valeur par défaut est zéro.
Critères
Indique les critères de recherche. Seuls les IRP correspondant aux critères s’affichent.
Critères | Correspondance |
---|---|
arg |
Recherche tous les IRP avec un emplacement de pile où l’un des arguments est égal à Data. |
device |
Recherche tous les IRP avec un emplacement de pile où DeviceObject est égal à Data. |
fileobject |
Recherche toutes les IRP pour lesquelles Irp.Tail.Overlay.OriginalFileObject est égal à Data. |
mdlprocess |
Recherche toutes les IRP pour lesquelles Irp.MdlAddress.Process est égal à Data. |
thread |
Recherche toutes les IRP pour lesquelles Irp.Tail.Overlay.Thread est égal à Data. |
userevent |
Recherche toutes les IRP pour lesquelles Irp.UserEvent est égal à Data. |
Données
Indique les données à mettre en correspondance dans la recherche.
DLL
Kdexts.dll
Informations supplémentaires
Consultez Débogage Plug-and-Play pour les applications de cette commande d’extension. Pour plus d’informations sur les IRP, consultez la documentation du Windows Driver Kit (WDK) et Microsoft Windows Internals (Au cœur de Windows), de Mark Russinovich et David Solomon.
Notes
Cet exemple recherche l’IRP dans le pool non paginé qui va définir l’événement utilisateur FF9E4F48 à la fin :
kd> !irpfind 0 0 userevent ff9e4f48
L’exemple suivant génère une liste complète de tous les IRP dans le pool non paginé :
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