Partager via


Règle KsIrqlPinCallbacks ()

La règle KsIrqlPinCallbacks spécifie qu’un pilote miniport (KS) de flux de noyau retourne à partir d’une fonction de rappel KS Pin avec le même IRQL qu’il avait lors de son appel.

Conseils pour le débogage

Lorsque le vérificateur de pilotes 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 0x00081008. L’arg3 (RuleState) et l’arg4 (SubState) de la vérification de bogue fournissent des pointeurs vers des informations supplémentaires sur la violation de règle.

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

Utiliser la commande :

!ruleinfo 0x81008 RuleState SubState.

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 terminée.

N’utilisez pas !irql pour déterminer le runtime d’intégration actuel, car le vérificateur de pilotes a peut-être déclenché IRQL avant la vérification du bogue. Utilisez plutôt !verifier 0x008 pour afficher les journaux IRQL.

Modèle de pilote : KS

Vérification des bogues trouvées avec cette règle : Vérification des bogues 0xC4 : DRIVER_VERIFIER_DETECTED_VIOLATION (0x00081008 )

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.