Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
La opción Comprobación de MDL invariable para pila supervisa cómo el controlador controla los búferes MDL invariables en toda la pila de controladores. El comprobador de controladores puede detectar modificaciones ilegales de búferes MDL invariables. Para usar esta opción, la comprobación de E/S debe estar habilitada en al menos un controlador.
Nota Esta opción está disponible a partir de Windows 8.
La opción Comprobación de MDL invariable para pila asegura que los controladores cumplan con las reglas de los búferes MDL invariables solo en el momento en que la solicitud está saliendo de la pila del controlador.
La primera vez que se ve un IRP con MDL invariable en la rutina ioCallDriver , se calcula una firma única a partir del contenido del búfer MDL invariable y se almacena en una base de datos interna. Durante la finalización del IRP en la rutina IoCompleteRequest, si el IRP sigue llevando un MDL invariable para el cual registramos la firma, Driver Verifier valida que el búfer no ha cambiado.
Un búfer invariable, para la solicitud de escritura, no se puede modificar durante toda la duración del IRP. Para una solicitud de lectura, no se puede modificar un búfer invariable en su ruta de distribución, por lo que la comparación de la firma del búfer se realiza en la última llamada a IoCallDriver.
La opción de Comprobación de Invariancia de MDL para la pila verifica la invariancia del búfer MDL en toda la pila de controladores, sin considerar lo que ocurre con el búfer a medida que pasa a través de los controladores individuales dentro de la pila. Esta opción es global y no se puede aplicar de forma selectiva para cada controlador. La opción Comprobación de MDL invariable para pila solo puede detectar la infracción, sin poder identificar al controlador que infrinja la invariable del búfer. Para ayudar a identificar el controlador defectuoso, use la opción Comprobación de MDL invariable para controlador que realiza la validación de la invariabilidad del contenido del búfer en cada llamada a IoCallDriver e IoCompleteRequest DDIs.
Activación de esta opción
Puede activar la característica Comprobación de MDL invariable para la pila para uno o varios controladores mediante el Administrador de comprobadores de controladores o la línea de comandos de Verifier.exe. Debe reiniciar el equipo para activar o desactivar la opción Comprobación de MDL invariable para pila. Para obtener más información, vea Seleccionar opciones del comprobador de controladores.
Para activar la opción Comprobación de MDL invariable para pila, también debe activar la verificación de E/S.
En la línea de comandos
En la línea de comandos, la comprobación invariable de MDL para la pila se representa mediante 0x00002000 (bit 13). Para activar la comprobación de MDL invariable para la pila, use un valor de marca de 0x00002010 o agregue 0x00002010 al valor de marca. Este valor activa la comprobación de E/S (0x10) y la comprobación de MDL invariable para la pila (0x00002000). Por ejemplo:
verifier /flags 0x00002010 /driver MyDriver.sysLa característica estará activa después del siguiente arranque.
Uso del Administrador del Verificador de Controladores
- Inicie el Administrador del comprobador de controladores. Escriba Comprobador en una ventana del símbolo del sistema.
- Seleccione Crear configuración personalizada (para desarrolladores de código) y, a continuación, haga clic en Siguiente.
- Seleccione Seleccionar configuración individual en una lista completa.
- Seleccione Verificación de E/S y Comprobación de MDL invariable para la pila.
- Reinicia el ordenador.