Partager via


Activation de l’injection d’erreur

L’outil WdfTester fournit une interface WMI pour configurer l’injection d’erreur DDI pour un pilote spécifique. Un script (WdftesterScript.wsf) est fourni qui utilise cette interface WMI pour configurer l’injection d’erreurs. Vous pouvez écrire votre propre script ou utiliser le script fourni pour activer l’injection d’erreur. Vous pouvez exécuter un script (WdftesterScript.wsf) à partir d’une fenêtre d’invite de commandes pour inscrire, configurer et annuler l’inscription d’un pilote. Le script a également une option de ligne de commande appelée runtest.

Ce que fait l’option runtest

L’option runtest exécute des opérations de désactivation et d’activation simples sur un pilote. Cette option montre comment utiliser l’outil. Dans un premier temps, le script désactive le pilote spécifié, puis l’active. Cela permet à WdfTester de surveiller tous les appels DDI effectués pendant les opérations de désactivation et d’activation. Le script utilise l’une des interfaces WMI pour obtenir la liste des DDIs qui ont été appelées pendant cette période. Le script détermine les DDIS qui peuvent être en échec (uniquement ceux qui retournent NTSTATUS). Le script appelle ensuite une autre interface WMI pour configurer WdfTester pour qu’il échoue au premier DDI de la liste. Le script désactive et active le pilote, ce qui entraîne l’échec de la DDI et déclenche un événement WMI. Le script est déjà en attente sur l’événement d’échec WMI pour la DDI. Si l’événement a été reçu correctement et que l’échec n’a pas provoqué la réponse de l’ordinateur ou un bogue case activée (comme déterminé par le développeur ou le testeur du pilote), le test est considéré comme réussi. Le script répète ensuite ces étapes pour la DDI suivante dans la liste.

Note L’option runtest nécessite que vous copiez l’outil DevCon (Devcon.exe) et le placez dans le même répertoire que les autres fichiers Wdftester. L’application Devcon.exe se trouve dans le répertoire %WDKRoot%\tools\<platform> .

L’option runtest :

  1. Inscrit votre pilote auprès de WdfTester. Si vous n’avez pas installé votre pilote, vous devez l’installer avant d’utiliser runtest.

  2. Active le vérificateur de pilotes pour ce pilote (les ordinateurs exécutant Windows Vista ou version ultérieure ne nécessitent pas de redémarrage).

  3. Désactive le pilote à l’aide de l’application Devcon.

  4. Active le pilote à l’aide de l’application Devcon.

  5. Récupère les noms des fonctions qui ont été appelées pendant les opérations d’activation et de désactivation et identifie les fonctions qui retournent NTSTATUS et qui peuvent être en échec.

  6. Démarre la notification d’événement WMI asynchrone.

  7. Pour chaque DDI qui peut être échoué à partir de la liste obtenue à l’étape 5 :

    1. Configure la fonction en cas d’échec.
    2. Désactive, puis active le pilote à l’aide de Devcon.exe. Cette opération appelle la fonction et WdfTester échoue à l’appel de la fonction.
    3. Attend que l’événement WMI se déclenche.
    4. Si l’événement WMI est déclenché, l’option runtest répète l’étape 7 pour la fonction suivante dans la liste.
  8. Annule l’inscription du pilote.