Conjunto de reglas IRQL (KMDF)
Use estas reglas para comprobar que el controlador realiza llamadas DDI en el IRQL necesario.
Un controlador que no sigue las reglas irQL puede causar problemas graves durante el funcionamiento que pueden provocar condiciones de interbloqueo o bloqueos del equipo.
En esta sección
Tema | Descripción |
---|---|
La regla KmdfIrql especifica que un controlador llama a un método de marco en un IRQL menor o igual que el valor máximo de IRQL para ese método. |
|
La regla KmdfIrql2 especifica que un controlador llama a un método de marco en un IRQL menor o igual que el valor máximo de IRQL para ese método. |
|
La regla UsbKmdfIrql especifica que un controlador KMDF no llama a interfaces de controlador de dispositivo específicas de USB (DDI) en el nivel IRQL incorrecto. |
|
La regla UsbKmdfIrql2 especifica que un controlador KMDF no debe llamar a DDIs específicos de USB en el nivel IRQL incorrecto. |
|
La regla UsbKmdfIrqlExplicit comprueba que se llama a los DDIS de KMDF en el nivel IRQL correcto. Esta regla se aplica a todas las funciones EvtIoCallback. |
|
La regla WdfRequestSendSyncAtDispatch comprueba que la función WdfRequestSend se envía en el nivel de prioridad irQL correcto. |
|
La regla WdfRequestSendSyncAtDispatch2 comprueba que la función WdfRequestSend se envía en el nivel de prioridad irQL correcto. |
Para seleccionar el conjunto de reglas irql
Seleccione el proyecto de controlador (.vcxProj) en Microsoft Visual Studio. En el menú Controlador , haga clic en Iniciar comprobador de controladores estáticos....
Haga clic en la pestaña Reglas . En Conjuntos de reglas, seleccione Irql.
Para seleccionar el conjunto de reglas predeterminado en una ventana del símbolo del sistema para desarrolladores de Visual Studio, especifique Irql.sdv con la opción /check . Por ejemplo:
msbuild /t:sdv /p:Inputs="/check:Irql.sdv" mydriver.VcxProj /p:Configuration="Win8 Release" /p:Platform=Win32
Para obtener más información, consulte Uso del comprobador de controladores estáticos para buscar defectos en controladores y comandos comprobadores de controladores estáticos (MSBuild).