Partager via


Règle KsIrqlDeviceCallbacks ()

La règle KsIrqlDeviceCallbacks spécifie qu’un pilote miniport de diffusion en continu du noyau (KS) retourne à partir d’une fonction de rappel d’appareil KS avec le même IRQL qu’il avait quand il a été 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 d’argument1 de 0x00081006. 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 0x81006 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 (0x00081006 )

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.