Regla ExclusiveResourceAccess (wdm)
La regla ExclusiveResourceAccess especifica que el controlador llama a ExAcquireResourceExclusiveLite antes de llamar a ExReleaseResourceLite o ExReleaseResourceForThreadLite y especifica que el controlador llama a ExReleaseResourceLite o ExReleaseResourceForThreadLite antes de cualquier llamada posterior a ExAcquireResourceExclusiveLite.
Las llamadas anidadas se permiten si adquieren y liberan recursos diferentes. Las llamadas anidadas para adquirir o liberar los mismos recursos infringen esta regla.
Esta regla también indica que cuando finaliza la rutina, el controlador no debe tener acceso exclusivo al recurso. El comprobador de controladores estáticos supervisa el final de las rutinas DriverEntry, AddDevice, StartIo, StartDevice, DpcForIsr, Cancel, Dispatch, RemoveDevice y Unload .
Modelo de controlador: WDM
Comprobación de errores encontrados con esta regla |
Cómo probar
En tiempo de compilación |
---|
Ejecute el Comprobador de controladores estáticos y especifique la regla ExclusiveResourceAccess . Usa los pasos siguientes para ejecutar un análisis de tu código:
Para obtener más información, consulte Uso del comprobador de controladores estáticos para buscar defectos en controladores. |
Se aplica a
ExAcquireResourceExclusiveLiteExReleaseResourceForThreadLiteExReleaseResourceLite