Habilitación de la inyección de errores
La herramienta WdfTester proporciona una interfaz WMI para configurar la inserción de errores DDI para un controlador específico. Se proporciona un script (WdftesterScript.wsf) que usa esta interfaz WMI para configurar la inyección de errores. Puede escribir su propio script o usar el script proporcionado para habilitar la inserción de errores. Puede ejecutar un script (WdftesterScript.wsf) desde una ventana del símbolo del sistema para registrar, configurar y anular el registro de un controlador. El script también tiene una opción de línea de comandos denominada runtest.
Qué hace la opción runtest
La opción runtest ejecuta operaciones sencillas de deshabilitación y habilitación en un controlador. Esta opción muestra cómo usar la herramienta . Al principio, el script deshabilita el controlador especificado y, a continuación, lo habilita. Esto permite que WdfTester supervise todas las llamadas DDI realizadas durante las operaciones de deshabilitación y habilitación. El script usa una de las interfaces WMI para obtener la lista de DDIs a los que se llamó durante este período. El script determina cuál de estos DDIs podría producirse un error (solo los que devuelven NTSTATUS). A continuación, el script llama a otra interfaz WMI para configurar WdfTester para que produzca un error en la primera DDI de la lista. El script deshabilita y habilita el controlador, lo que hace que el DDI produzca un error y active un evento WMI. El script ya está esperando el evento de error WMI para DDI. Si el evento se recibe correctamente y el error no ha provocado que el equipo deje de responder o que se produzca una comprobación de errores (determinada por el desarrollador o evaluador del controlador), la prueba se considera correcta. A continuación, el script repite estos pasos para el siguiente DDI de la lista.
Nota La opción runtest requiere que copie la herramienta DevCon (Devcon.exe) y colóquela en el mismo directorio que otros archivos Wdftester. La aplicación Devcon.exe se encuentra en el directorio %WDKRoot%\tools\<platform> .
La opción runtest:
Registra el controlador con WdfTester. Si no ha instalado el controlador, debe instalarlo antes de usar runtest.
Habilita el Comprobador de controladores para este controlador (los equipos que ejecutan Windows Vista o versiones posteriores no requieren un reinicio).
Deshabilita el controlador mediante la aplicación Devcon.
Habilita el controlador mediante la aplicación Devcon.
Recupera los nombres de las funciones a las que se llamó durante las operaciones enable y disable e identifica las funciones que devuelven NTSTATUS y que podrían producirse errores.
Inicia la notificación de eventos WMI asincrónica.
Para cada DDI que podría producirse un error en la lista obtenida en el paso 5:
- Configura la función para un error.
- Deshabilita y, a continuación, habilita el controlador mediante Devcon.exe. Esta operación llama a la función y WdfTester produce un error en la llamada de función.
- Espera a que se active el evento WMI.
- Si se desencadena el evento WMI, la opción runtest repite el paso 7 para la siguiente función de la lista.
Anula el registro del controlador.