Regola QueuedSpinLock (wdm)

La regola QueuedSpinLock specifica che il driver chiama KeAcquireInStackQueuedSpinLock prima di chiamare KeReleaseInStackQueuedSpinLock e che il driver chiama KeReleaseInStackQueuedSpinLock prima di qualsiasi chiamata successiva a KeAcquireInStackQueuedSpinLock.

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 specifica anche che il driver ha chiamato KeReleaseInStackQueuedSpinLock per rilasciare tutti i blocchi di spin in coda prima della routine di invio o annullare la routine.

Modello di driver: WDM

Verifica bug trovata con questa regola: Verifica bug 0xC4: DRIVER_VERIFIER_DETECTED_VIOLATION (0x00040006 )

Come eseguire il test

In fase di compilazione

Eseguire il verifica driver statico e specificare la regola QueuedSpinLock .

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.

In fase di esecuzione

Eseguire il verifica driver e selezionare l'opzione di controllo della conformità DDI .

Si applica a

KeAcquireInStackQueuedSpinLockKeReleaseInStackQueuedSpinLock