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.
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 la operación que pueden provocar problemas de interbloqueo o bloqueos de equipo.
En esta sección
| Tema | Descripción |
|---|---|
Esta regla comprueba que las siguientes rutinas solo se llaman en IRQL = DISPATCH_LEVEL. |
|
Esta regla comprueba que se llama solo a KeReleaseSpinLock en IRQL = DISPATCH_LEVEL. También debe establecer el IRQL al nivel IRQL anterior. Normalmente, esta llamada estaría precedida de una llamada a KeAcquireSpinLock. |
|
Esta regla comprueba que las rutinas de devolución de llamada de StorPort se devuelven en el mismo nivel IRQL que el nivel en el que se llama. |
|
Esta regla comprueba que las rutinas TdiRegisterPnPHandlers y TdiDeregisterPnPHandlers solo se llaman en IRQL inferior a DISPATCH_LEVEL. Sin embargo, si se llama a ExFreeToNPagedLookasideList , la regla pasa. |
|
La regla StorPortIrql comprueba que se llama a las rutinas de StorPort en los niveles de IRQL correctos. |
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 las reglas predeterminadas en una ventana de comando de desarrollador 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=Win32Para obtener más información, consulte Uso del comprobador de controladores estáticos para buscar defectos en controladores y comandos de comprobador de controladores estáticos (MSBuild).