Condividi tramite


Regola KsIrqlPinCallbacks ()

La regola KsIrqlPinCallbacks specifica che un driver miniport kernel-stream (KS) restituisce da una funzione di callback KS Pin 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 0x00081008. 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 0x81008 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 (0x00081008)

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.