KsIrqlPinCallbacks-Regel ()
Die KsIrqlPinCallbacks-Regel gibt an, dass ein Kernelstream(KS)-Miniporttreiber von einer KS-Pin-Rückruffunktion mit dem gleichen IRQL zurückgibt, den er beim Aufrufen hatte.
Tipps zum Debuggen
Wenn Driver Verifier einen Verstoß gegen diese Regel erkennt, löst sie fehlerüberprüfung 0xC4 aus: DRIVER_VERIFIER_DETECTED_VIOLATION mit einem Arg1-Wert von 0x00081008. Die Arg3 (RuleState) und arg4 (SubState) der Fehlerüberprüfung enthalten Zeiger auf zusätzliche Informationen zur Regelverletzung.
Verwenden Sie die Debuggererweiterung !ruleinfo , um herauszufinden, welche IRQL-Werte bei Funktionseingabe und -beendigung waren.
Verwenden Sie den Befehl :
!ruleinfo 0x81008 RuleState-Unterstate.
In den Regelstatusdaten ist OldIrql die IRQL, wenn der Rückruf eingegeben wird. NewIrql ist die IRQL, wenn die Rückruffunktion beendet wird.
Verwenden Sie "!irql " nicht, um den aktuellen IRQL zu ermitteln, da die Treiberüberprüfung möglicherweise IRQL vor der Fehlerüberprüfung ausgelöst hat. Verwenden Sie stattdessen !verifier-0x008, um die IRQL-Protokolle anzuzeigen.
Treibermodell: KS
Fehlerüberprüfungen, die mit dieser Regel gefunden wurden: Fehlerüberprüfung 0xC4: DRIVER_VERIFIER_DETECTED_VIOLATION (0x00081008 )
So führen Sie einen Test durch
Zur Laufzeit |
---|
Um diese Regel zu überprüfen, öffnen Sie ein Eingabeaufforderungsfenster. Geben Sie einen Treiberüberprüfungsbefehl ein, und geben Sie /domain ks an. Zum Beispiel: verifier /domain ks [options] /driver <yourdriver> Weitere Informationen finden Sie unter Treiberüberprüfung. |