Compartir a través de


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:
  1. Prepara el código (usa declaraciones de tipos de rol).
  2. Ejecuta el comprobador de controlador estático.
  3. Consulta y analiza los resultados.

Para obtener más información, consulte Uso del comprobador de controladores estáticos para buscar defectos en controladores.

Se aplica a

ExAcquireResourceExclusiveLiteExReleaseResourceForThreadLiteExReleaseResourceLite

Consulte también

Evitar errores y interbloqueos al usar bloqueos de número