Partager via


Détermination de la raison pour laquelle UMDF indique des fichiers en suspens au moment de la suppression de l’appareil

Cette rubrique explique comment utiliser les extensions de débogueur Wudfext.dll conjointement avec un pilote User-Mode Driver Framework (UMDF) version 1 ou 2 pour déterminer pourquoi UMDF indique qu’il existe des fichiers en suspens lorsque vous supprimez un appareil.

Pour UMDF version 1, vous allez utiliser les commandes d’extension implémentées dans wudfext.dll. À partir d’UMDF version 2, vous allez utiliser les commandes d’extension implémentées dans wdfkd.dll.

Pour déterminer pourquoi UMDF indique des fichiers en suspens, procédez comme suit :

  1. Utilisez !wudfext.umdevstack (UMDF 1) ou !wdfkd.wdfumdevstack (UMDF 2) pour vider la pile d’appareils. Le vidage inclut les fichiers intra-pile UMDF en suspens (c’est-à-dire les objets de fichier qu’un pilote de la pile a créés par opposition aux objets de fichier qui ont été créés par une application ou par un pilote dans une autre pile).

  2. Pour chaque fichier intra-pile, exécutez !wudfext.umfile (UMDF 1) ou !wdfkd.wdfumfile (UMDF 2) pour obtenir des informations sur le fichier.

    La sortie inclut la liste des IRP en attente.

  3. Déterminez pourquoi chaque IRP est exceptionnel en utilisant !wudfext.umirp (UMDF 1) ou !wdfkd.wdfumirp (UMDF 2) pour obtenir des informations sur l’IRP.

    À partir de la sortie de chaque !wudfext.umirp ou !wdfkd.wdfumirp :

    • Déterminez si l’IRP s’est terminé.
    • Déterminez si une demande créée par le pilote n’a pas été supprimée explicitement par le pilote ou implicitement par l’arborescence d’objets.