Regola KsIrqlDeviceCallbacks ()
La regola KsIrqlDeviceCallbacks specifica che un driver miniport KS (Kernel Streaming) restituisce da una funzione di callback del dispositivo KS con lo stesso IRQL che aveva quando è stato chiamato.
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 0x00081006. 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 0x81006 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
Verifica bug trovata con questa regola: Controllo bug 0xC4: DRIVER_VERIFIER_DETECTED_VIOLATION (0x00081006)
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. |