Condividi tramite


Regola ExclusiveResourceAccess (wdm)

La regola ExclusiveResourceAccess specifica che il driver chiama ExAcquireResourceExclusiveLite prima di chiamare ExReleaseResourceLite o ExReleaseResourceForThreadLite e specifica che il driver chiama ExReleaseResourceLite o ExReleaseResourceForThreadLite prima di qualsiasi chiamata successiva a ExAcquireResourceExclusiveLite.

Le chiamate annidate sono consentite se acquisiscono e rilasciano risorse diverse. Le chiamate annidate per acquisire o rilasciare le stesse risorse violano questa regola.

Questa regola indica anche che quando la routine termina, il driver non deve avere accesso esclusivo alla risorsa. Il verifica driver statico monitora la fine delle routine DriverEntry, AddDevice, StartIo, StartDevice, DpcForIsr, Cancel, Dispatch, RemoveDevice e Unload.

Modello di driver: WDM

Controlli di bug trovati con questa regola

Come eseguire il test

In fase di compilazione

Eseguire il verifica driver statico e specificare la regola ExclusiveResourceAccess .

Usa i passaggi descritti di seguito per eseguire un'analisi del codice:
  1. Prepara il codice (usa dichiarazioni di tipo ruolo).
  2. Esegui Driver Verifier statico.
  3. Visualizza e analizza i risultati.

Per altre informazioni, vedere Uso del verificatore driver statico per trovare i difetti nei driver.

Si applica a

ExAcquireResourceExclusiveLiteExReleaseResourceForThreadLiteExReleaseResourceLite

Vedi anche

Prevenzione degli errori e dei deadlock durante l'uso di blocchi di spin