Regra ExclusiveResourceAccess (wdm)

A regra ExclusiveResourceAccess especifica que o driver chama ExAcquireResourceExclusiveLite antes de chamar ExReleaseResourceLite ou ExReleaseResourceForThreadLite e especifica que o driver chama ExReleaseResourceLite ou ExReleaseResourceForThreadLite antes de qualquer chamada subsequente para ExAcquireResourceExclusiveLite.

Chamadas aninhadas serão permitidas se estiverem adquirindo e liberando recursos diferentes. Chamadas aninhadas para adquirir ou liberar os mesmos recursos violam essa regra.

Essa regra também afirma que, quando a rotina termina, o driver não deve ter acesso exclusivo ao recurso. O Verificador de Driver Estático monitora o final das rotinas DriverEntry, AddDevice, StartIo, StartDevice, DpcForIsr, Cancel, Dispatch, RemoveDevice e Unload .

Modelo de driver: WDM

Marcar de bug encontradas com essa regra

Como testar

Em tempo de compilação

Execute o Verificador de Driver Estático e especifique a regra ExclusiveResourceAccess .

Use as seguintes etapas para executar uma análise do código:
  1. Prepare seu código (use declarações de tipo de função).
  2. Execute o Verificador de Driver Estático.
  3. Exiba e analise os resultados.

Para obter mais informações, consulte Usando o verificador de driver estático para localizar defeitos em drivers.

Aplica-se a

ExAcquireResourceExclusiveLiteExReleaseResourceForThreadLiteExReleaseResourceLite

Confira também

Prevenção de erros e deadlocks ao usar bloqueios de rotação