Regola KsIrqlFilterCallbacks ()
La regola KsIrqlFilterCallbacks specifica che un driver miniport di streaming del kernel (KS) restituisce da una funzione di callback del filtro KS con la stessa irQL che aveva quando è stata chiamata la funzione di callback.
Suggerimenti per il debug
Quando Driver Verifier rileva una violazione di questa regola, attiva il controllo dei bug 0xC4: DRIVER_VERIFIER_DETECTED_VIOLATION, con un valore arg1 di 0x00081007. Gli arg3 (RuleState) e arg4 (SubState) del controllo dei bug forniscono puntatori ad altre informazioni sulla violazione della regola.
Usare l'estensione del debugger !ruleinfo per scoprire quali valori IRQL si trovavano all'ingresso e all'uscita della funzione.
Usare il comando :
!ruleinfo 0x81007 RuleState SubState.
Nei dati dello stato della regola, OldIrql è il runtime di integrazione quando viene immesso il callback. NewIrql è l'IRQL quando la funzione di callback viene chiusa.
Non usare !irql per determinare l'IRQL corrente perché Driver Verifier potrebbe aver generato IRQL prima del controllo dei bug. Usare invece !verifier 0x008 per visualizzare i log IRQL.
Modello di driver: KS
Controllo bug trovato con questa regola: Controllo bug 0xC4: DRIVER_VERIFIER_DETECTED_VIOLATION (0x00081007)
Come eseguire il test
In fase di esecuzione |
---|
Per verificare questa regola, aprire una finestra del prompt dei comandi. Immettere un comando Driver Verifier e specificare /domain ks. Ad esempio: verifier /domain ks [opzioni] /driver <yourdriver> Per altre informazioni, vedere Driver Verifier. |