Comprobación mejorada de E/S

Esta característica solo está disponible en Windows XP y versiones posteriores del sistema operativo Windows.

En Windows 7 y versiones posteriores del sistema operativo Windows, la comprobación mejorada de E/S se activa automáticamente al seleccionar Verificación de E/S. No está disponible ni es necesario seleccionarlo como una opción independiente.

Cuando se activa la comprobación mejorada de E/S, el comprobador del controlador supervisa las llamadas de varias rutinas del Administrador de E/S y realiza pruebas de esfuerzo de los IRP de PnP, los IRP de energía y los IRP de WMI.

En Windows Vista y Windows XP, la comprobación mejorada de E/S se activa independientemente de la comprobación de E /S, pero seleccionar ambas opciones proporciona una prueba más completa de los métodos de interfaz de E/S en un controlador.

Características de la comprobación mejorada de E/S

El comprobador de controladores agrega las siguientes comprobaciones al activar la comprobación de E/S mejorada.

  • Supervisa todos los IRP para asegurarse de que el controlador devuelve STATUS_PENDING si y solo si ha llamado a IoMarkIrpPending.

  • Supervisa el uso de IoDeleteDevice para comprobar que el controlador no elimina el mismo dispositivo más que una vez y para detectar un desasociamiento inadecuado y la eliminación de objetos de dispositivo.

  • Comprueba que el controlador desenreda correctamente todas las llamadas a IoSkipCurrentIrpStackLocation .

Entre las nuevas tensiones y pruebas se incluyen las siguientes:

  • El orden de los dispositivos enumerados para asegurarse de que los controladores de Plug and Play (PnP) no realicen suposiciones sobre el orden de inicio del dispositivo.

  • Ajustando el estado de PnP y POWER IRP cuando se completan, para detectar controladores que devuelven un estado incorrecto de sus rutinas de envío.

  • Envío de IRP de Power falsos para probar errores en la ruta de acceso del código del controlador.

  • Envío de IRP de WMI falsos para probar errores de ruta de acceso del código del controlador.

  • Insertar un filtro falso en cada pila de WDM.

Mostrar errores de comprobación de E/S mejorados

Los errores de controlador detectados por la comprobación mejorada de E/S se muestran de la misma manera que los detectados por la comprobación de E/S de nivel 2.

En la pantalla azul, estos errores se indican mediante el mensaje ERROR DE COMPROBACIÓN DEL SISTEMA DE E /S y la cadena WDM DRIVER ERRORXXX, donde XXX es un código de error de E/S.

En un archivo de volcado de memoria, el mensaje BugCheck 0xC9 (DRIVER_VERIFIER_IOMANAGER_VIOLATION), junto con el código de error de E/S. En este caso, el código de error de E/S aparece como primer parámetro de la comprobación de errores 0xC9.

En un depurador de kernel (KD o WinDbg), estos errores se indican mediante el mensaje WDM DRIVER ERROR y una cadena de texto descriptivo. Cuando el depurador de kernel está activo, es posible omitir los errores de nivel 2 y reanudar la operación del sistema. (Esto no es posible con ninguna otra comprobación de errores).

La pantalla azul, el archivo de volcado de memoria y el depurador de kernel también muestran información adicional. Para obtener una descripción completa de todos los mensajes de error de nivel de comprobación de E/S 2, consulte Comprobación de errores 0xC9.

Activación de esta opción

Puede activar la característica Comprobación mejorada de E/S para uno o varios controladores mediante el Administrador de comprobadores de controladores o la línea de comandos Verifier.exe. Para obtener más información, consulte Seleccionar opciones del comprobador de controladores.

Nota En Windows 7 y versiones posteriores del sistema operativo Windows, la comprobación mejorada de E/S se activa automáticamente al seleccionar Verificación de E/S. No está disponible ni es necesario seleccionarlo como una opción independiente.

  • En la línea de comandos

    En la línea de comandos, la opción Comprobación de E/S mejorada se representa mediante bit 6 (0x40) . Para activar la comprobación de E/S mejorada, use un valor de marca de 0x40 o agregue 0x40 al valor de marca. Por ejemplo:

    verifier /flags 0x40 /driver MyDriver.sys
    

    La característica estará activa después del siguiente arranque.

    En Windows Vista y versiones posteriores de Windows, también puedes activar y desactivar la comprobación mejorada de E/S sin reiniciar el equipo agregando el parámetro /volatile al comando. Por ejemplo:

    verifier /volatile /flags 0x40 /adddriver MyDriver.sys
    

    Esta configuración es efectiva inmediatamente, pero se pierde al apagar o reiniciar el equipo. Para más información, consulte Uso de la configuración volátil.

  • Uso del Administrador del comprobador de controladores

    1. Inicie el Administrador del comprobador de controladores. Escriba Comprobador en una ventana del símbolo del sistema.
    2. Seleccione Crear configuración personalizada (para desarrolladores de código) y, a continuación, haga clic en Siguiente.
    3. Seleccione Seleccionar configuración individual en una lista completa.
    4. Seleccione (comprobar) Comprobación mejorada de E/S.

    La característica Comprobación de DMA también se incluye en la configuración estándar. Para usar esta característica, en administrador del comprobador de controladores, haga clic en Crear configuración estándar.