0x102 de vérification des bogues : DPC_WATCHDOG_TIMEOUT

Le case activée de bogue DPC_WATCHDOG_TIMEOUT a la valeur 0x00000102. Cela indique que la routine de surveillance DPC n’a pas été exécutée dans l’intervalle de temps alloué.

Important

Cet article est destiné aux programmeurs. Si vous êtes un client qui a reçu un code d’erreur d’écran bleu lors de l’utilisation de votre ordinateur, consultez Résoudre les erreurs d’écran bleu.

paramètres de DPC_WATCHDOG_TIMEOUT

Paramètre Description
1 Intervalle de délai d’expiration du chien de garde DPC dans les cycles d’horloge nominaux.
2 Adresse PRCB du processeur suspendu.
3 Réservé
4 Réservé

Cause

Ce bogue case activée signifie généralement qu’un ISR est suspendu à un IRQL inférieur au niveau d’horloge et au-dessus du niveau de répartition, ou qu’une routine DPC est suspendue au processeur spécifié.

Par exemple, pour les pilotes StorPort Miniport, StorPort.sys gère les achèvements d’E/S dans une routine qui s’exécute à DISPATCH_LEVEL et qui appelle en série les routines d’achèvement d’E/S de tous les IRP qui viennent de se terminer. Si les routines de saisie semi-automatique d’E/S prennent trop de temps, le clavier et/ou la souris peuvent cesser de répondre. Il est également possible que la routine du minuteur Windows DPC Watchdog décide que la routine StorPort a mis trop de temps à se terminer.

Résolution

Un pilote de noyau dans la pile de stockage peut réduire la probabilité du problème en codant efficacement la routine d’achèvement des E/S du pilote. S’il n’est toujours pas possible d’effectuer tous les traitements nécessaires dans la routine d’achèvement en suffisamment de temps, la routine peut créer un élément de travail pour le travail d’E/S, mettre l’élément en file d’attente vers une file d’attente de travail et retourner STATUS_MORE_PROCESSING_REQUIRED ; un thread de travail du pilote doit ensuite trouver l’élément de travail, effectuer le travail et effectuer IoCallerDriver pour l’IRP afin de garantir le traitement ultérieur des E/S de l’IRP.