Compartir a través de


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

KmdfIrql

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.

KmdfIrql2

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.

UsbKmdfIrql

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.

UsbKmdfIrql2

La regla UsbKmdfIrql2 especifica que un controlador KMDF no debe llamar a DDIs específicos de USB en el nivel IRQL incorrecto.

UsbKmdfIrqlExplicit

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.

WdfRequestSendSyncAtDispatch

La regla WdfRequestSendSyncAtDispatch comprueba que la función WdfRequestSend se envía en el nivel de prioridad irQL correcto.

WdfRequestSendSyncAtDispatch2

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

  1. Seleccione el proyecto de controlador (.vcxProj) en Microsoft Visual Studio. En el menú Controlador , haga clic en Iniciar comprobador de controladores estáticos....

  2. 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).