KsIrqlFilterCallbacks rule ()

La règle KsIrqlFilterCallbacks spécifie qu’un pilote miniport de diffusion en continu de noyau (KS) retourne à partir d’une fonction de rappel de filtre KS avec le même IRQL qu’il avait lorsque la fonction de rappel a été appelée.

Conseils pour le débogage

Lorsque driver Verifier détecte une violation de cette règle, il déclenche la vérification des bogues 0xC4 : DRIVER_VERIFIER_DETECTED_VIOLATION, avec une valeur arg1 de 0x00081007. Arg3 (RuleState) et arg4 (SubState) du bogue case activée fournissent des pointeurs vers des informations supplémentaires sur la violation de règle.

Utilisez l’extension de débogueur !ruleinfo pour savoir quelles valeurs IRQL étaient à l’entrée et à la sortie de la fonction.

Utilisez la commande :

!ruleinfo 0x81007Sous-étatRuleState.

Dans les données d’état de règle, l’OldIrql est l’IRQL lorsque le rappel est entré. NewIrql est l’IRQL lorsque la fonction de rappel est quittée.

N’utilisez pas !irql pour déterminer l’IRQL actuel, car driver Verifier a peut-être déclenché IRQL avant le bogue case activée. Utilisez plutôt !verifier 0x008 pour afficher les journaux IRQL.

Modèle de pilote : KS

Bogues case activée trouvés avec cette règle : 0xC4 de vérification des bogues : DRIVER_VERIFIER_DETECTED_VIOLATION (0x00081007)

Comment tester

Au moment de l'exécution

Pour vérifier cette règle, ouvrez une fenêtre d’invite de commandes. Entrez une commande Driver Verifier et spécifiez /domain ks.

Par exemple :

vérificateur /domain ks [options] /driver<yourdriver>

Pour plus d’informations, consultez Type de débogage.