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:
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