0xC9 de vérification des bogues : DRIVER_VERIFIER_IOMANAGER_VIOLATION
Le case activée de bogue DRIVER_VERIFIER_IOMANAGER_VIOLATION a la valeur 0x000000C9. Il s’agit du code case activée bogue pour toutes les violations de vérification des E/S du vérificateur de pilote.
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 DRIVER_VERIFIER_IOMANAGER_VIOLATION
Lorsque le vérificateur de pilote est actif et que la vérification des E/S est sélectionnée, diverses violations d’E/S entraînent l’émission de ce bogue case activée. Le paramètre 1 identifie le type de violation.
Paramètre 1 | Paramètre 2 | Paramètre 3 | Paramètre 4 | Cause de l’erreur |
---|---|---|---|---|
0x01 |
Adresse de l’IRP en cours de libération |
0 |
0 |
Le pilote a tenté de libérer un objet dont le type n’est pas IO_TYPE_IRP. |
0x02 |
Adresse de l’IRP en cours de libération |
0 |
0 |
Le pilote a tenté de libérer un IRP qui est toujours associé à un thread. |
0x03 |
Adresse d’IRP envoyée |
0 |
0 |
Le pilote a passé à IoCallDriver un type IRP différent de IRP_TYPE. |
0x04 |
Adresse de l’objet d’appareil |
0 |
0 |
Le pilote a transmis à IoCallDriver un objet de périphérique non valide. |
0x05 |
Adresse de l’objet de périphérique associé au pilote incriminé |
IRQL avant IoCallDriver |
IRQL après IoCallDriver |
L’IRQL a changé lors d’un appel à la routine de répartition du pilote. |
0x06 |
Status IRP |
Adresse de l’IRP en cours de réalisation |
0 |
Le pilote appelé IoCompleteRequest avec un status marqué comme étant en attente (ou égal à -1). |
0x07 |
Adresse de la routine d’annulation |
Adresse de l’IRP en cours de réalisation |
0 |
Le pilote a appelé IoCompleteRequest alors que sa routine d’annulation était toujours définie. |
0x08 |
Adresse de l’objet d’appareil |
Code de fonction principale IRP |
Code de status d’exception |
Le pilote a passé IoBuildAsynchronousFsdRequester une mémoire tampon non valide. |
0x09 |
Adresse de l’objet d’appareil |
Code de contrôle d’E/S |
Code de status d’exception |
Le pilote a passé IoBuildDeviceIoControlRequest à une mémoire tampon non valide. |
0x10 |
IRQL actuel |
Réservé |
Réservé |
IoCallDriver a été appelé ci-dessus DISPATCH_LEVEL. |
0x11 |
Adresse de routine de distribution d’E/S rapide du pilote |
IRQL avant d’appeler la routine de répartition du pilote |
IRQL actuel |
IoCallDriver a été appelé ci-dessus DISPATCH_LEVEL. |
0x12 |
Adresse de routine de distribution du pilote |
IRQL avant d’appeler la routine de répartition du pilote |
IRQL actuel |
IoCallDriver a été appelé ci-dessus DISPATCH_LEVEL. |
0x0A |
Adresse de l’objet d’appareil |
0 |
0 |
Le pilote a passé IoInitializeTimer à un objet d’appareil avec un minuteur déjà initialisé. |
0x0C |
Adresse du bloc d’E/S status |
0 |
0 |
Le pilote a passé un bloc d’E/S status à un IRP, mais ce bloc est alloué sur une pile qui a déjà passé ce point. |
0x0D |
Adresse de l’objet d’événement utilisateur |
0 |
0 |
Le pilote a passé un événement utilisateur à un IRP, mais cet événement est alloué sur une pile qui a déjà passé ce point. |
0x0E |
IRQL actuel |
Adresse de l’IRP |
0 |
Le pilote appelé IoCompleteRequest avec IRQL > DISPATCH_LEVEL. |
0x0F |
Adresse de l’objet d’appareil auquel l’IRP est envoyé |
Pointeur vers l’IRP |
Pointeur vers l’objet file |
Le pilote a envoyé une demande de création avec un objet fichier qui a été fermé ou dont l’ouverture a été annulée. |
Outre les erreurs mentionnées dans le tableau précédent, il existe un certain nombre d’erreurs de vérification d’E/S qui entraînent l’arrêt du vérificateur de pilote du système, mais qui ne sont pas en fait des vérifications de bogues.
Ces erreurs entraînent l’affichage des messages sur l’écran bleu, dans un fichier de vidage sur incident et dans un débogueur de noyau. Ces messages s’affichent différemment dans chacun de ces emplacements. Lorsque ces erreurs se produisent, le bogue hexadécimal case activée code 0xC9 et le bogue case activée chaîne DRIVER_VERIFIER_IOMANAGER_VIOLATION n’apparaissent pas sur l’écran bleu ou dans le débogueur, bien qu’ils apparaissent dans un fichier de vidage sur incident.
Sur l’écran bleu, les données suivantes s’affichent :
Message ERREUR DE VÉRIFICATION DU SYSTÈME D’E/S.
Message WDM DRIVER ERRORXXX, où XXX est un code hexadécimal représentant l’erreur spécifique. (Consultez le tableau ci-dessous pour obtenir la liste des codes d’erreur d’E/S et leurs significations.)
Nom du pilote à l’origine de l’erreur.
En règle générale, l’adresse dans le code du pilote où l’erreur a été détectée (paramètre 2).
Si un vidage sur incident en mode noyau a été activé, les informations suivantes s’affichent dans le fichier de vidage sur incident :
Message BugCheck 0xC9 (DRIVER_VERIFIER_IOMANAGER_VIOLATION).
Code d’erreur d’E/S hexadécimale. (Consultez le tableau ci-dessous pour obtenir la liste des codes d’erreur d’E/S et leurs significations.)
En règle générale, l’adresse dans le code du pilote où l’erreur a été détectée (paramètre 2).
Si un débogueur de noyau est attaché au système à l’origine de cette violation, les informations suivantes sont envoyées au débogueur :
Message ERREUR DU PILOTE WDM, ainsi qu’une évaluation de la gravité de l’erreur.
Nom du pilote à l’origine de l’erreur.
Chaîne descriptive qui explique la cause de cette erreur. Souvent, des informations supplémentaires sont transmises, telles qu’un pointeur vers l’IRP ou un pointeur vers l’objet d’appareil ou des informations IRQL. (Consultez le tableau ci-dessous pour obtenir la liste de ces chaînes descriptives et les informations supplémentaires spécifiées.)
Requête pour une action supplémentaire. Les réponses possibles sont b (arrêt), i (ignorer), z (zap), r (supprimer) ou d (désactiver). Demander au système d’exploitation de continuer vous permet de voir ce qui se passerait « en bas de la ligne » si cette erreur ne s’était pas produite. Bien sûr, cela entraîne souvent des vérifications de bogues supplémentaires. L’option « zap » supprime en fait le point d’arrêt qui a provoqué la découverte de cette erreur.
Note Aucune autre vérification de bogue ne peut être ignorée de cette manière. Seul ce type d’erreurs de vérification d’E/ S peut être ignoré, et même ces erreurs ne peuvent être ignorées que si un débogueur de noyau est attaché.
Le tableau suivant répertorie les erreurs de vérification d’E/ S qui peuvent apparaître.
Code d’erreur d’E/S | Gravité | Cause de l’erreur |
---|---|---|
0x200 |
Unknown |
Ce code couvre toutes les erreurs de vérification d’E/S inconnues. |
0x201 |
Erreur irrécupérable |
Un appareil se supprime lui-même alors qu’il y a un autre appareil sous celui-ci dans la pile des pilotes. Cela peut être dû au fait que l’appelant a oublié d’appeler IoDetachDevice en premier, ou que le pilote inférieur s’est peut-être supprimé de manière incorrecte. Paramètre 2 : adresse dans le code du pilote où l’erreur a été détectée. |
0x202 |
Erreur irrécupérable |
Un pilote a tenté de se détacher d’un objet de périphérique qui n’est attaché à rien. Cela peut se produire si detach a été appelé deux fois sur le même objet d’appareil. Paramètre 2 : adresse dans le code du pilote où l’erreur a été détectée. Param 3 - Adresse de l’objet de l’appareil. |
0x203 |
Erreur irrécupérable |
Un pilote a appelé IoCallDriver sans affecter la valeur NULL à la routine d’annulation dans l’IRP. Paramètre 2 : adresse dans le code du pilote où l’erreur a été détectée. Param 3 - Adresse IRP. |
0x204 |
Erreur irrécupérable |
L’appelant a passé null en tant qu’objet d’appareil. C’est fatal. Param 2 - Réservé Param 3 - Réservé |
0x205 |
Erreur irrécupérable |
L’appelant transfère un IRP actuellement mis en file d’attente sous celui-ci. Le code de gestion des irps retournant STATUS_PENDING dans ce pilote semble être rompu. Paramètre 2 : adresse dans le code du pilote où l’erreur a été détectée. Param 3 - Adresse IRP. |
0x206 |
Erreur irrécupérable |
L’appelant a transféré incorrectement un IRP (champ de contrôle non mis à zéro). Le pilote doit utiliser IoCopyCurrentIrpStackLocationToNext ou IoSkipCurrentIrpStackLocation. Param 2 - Réservé Param 3 - Réservé |
0x207 |
Erreur irrécupérable |
L’appelant a copié manuellement la pile et a copié par inadvertance la routine d’achèvement de la couche supérieure. Le pilote doit utiliser IoCopyCurrentIrpStackLocationToNext. Paramètre 2 : adresse dans le code du pilote où l’erreur a été détectée. Param 3 - Adresse IRP. |
0x208 |
Erreur irrécupérable |
Cette IRP est sur le point de manquer d’emplacements de pile. Quelqu’un a peut-être transféré ce IRP à partir d’une autre pile. Paramètre 2 : adresse dans le code du pilote où l’erreur a été détectée. Param 3 - Adresse IRP. |
0x209 |
Erreur irrécupérable |
L’appelant termine un IRP qui est actuellement en file d’attente sous celui-ci. Le code de gestion des irps retournant STATUS_PENDING dans ce pilote semble être rompu. Paramètre 2 : adresse dans le code du pilote où l’erreur a été détectée. Param 3 - Adresse IRP. |
0x20A |
Erreur irrécupérable |
L’appelant d’IoFreeIrp libère un IRP qui est toujours en cours d’utilisation. Param 2 - Réservé Param 3 - Réservé |
0x20B |
Erreur irrécupérable |
L’appelant d’IoFreeIrp libère un IRP qui est toujours en cours d’utilisation. Paramètre 2 : adresse dans le code du pilote où l’erreur a été détectée. Param 3 - Adresse IRP. |
0x20C |
Erreur irrécupérable |
L’appelant d’IoFreeIrp libère un IRP qui est toujours en file d’attente sur un thread. Param 2 : adresse dans le code du pilote où l’erreur a été détectée. Param 3 - Adresse IRP. |
0x20D |
Erreur irrécupérable |
L’appelant d’IoInitializeIrp a passé un IRP qui a été alloué avec IoAllocateIrp. C’est illégal et inutile, et a provoqué une fuite de quota. Consultez la documentation relative à IoReuseIrp si cette IRP est en cours de recyclage. Param 2 : adresse dans le code du pilote où l’erreur a été détectée. Param 3 - Adresse IRP. |
0x20E |
Erreur non irrécupérable |
Un IRP PNP a un status non valide. (Tout IRP PNP doit avoir son status initialisé sur STATUS_NOT_SUPPORTED.) Param 2 : adresse dans le code du pilote où l’erreur a été détectée. Param 3 - Adresse IRP. |
0x20F |
Erreur non irrécupérable |
Un IRP Power a un status non valide. (Tout IRP d’alimentation doit avoir son status initialisé sur STATUS_NOT_SUPPORTED.) Param 2 : adresse dans le code du pilote où l’erreur a été détectée. Param 3 - Adresse IRP. |
0x210 |
Erreur non irrécupérable |
Un IRP WMI a un status non valide. (Tout IRP WMI doit avoir son status initialisé sur STATUS_NOT_SUPPORTED.) Param 2 : adresse dans le code du pilote où l’erreur a été détectée. Param 3 - Adresse IRP. |
0x211 |
Erreur non irrécupérable |
L’appelant a transféré un IRP tout en ignorant un objet d’appareil dans la pile. L’appelant envoie probablement des IRPs à l’AOP au lieu de l’appareil retourné par IoAttachDeviceToDeviceStack. Param 2 : adresse dans le code du pilote où l’erreur a été détectée. Param 3 - Adresse IRP. |
0x212 |
Erreur non irrécupérable |
L’appelant a corbeille ou n’a pas correctement copié la pile de l’IRP. Param 2 : adresse dans le code du pilote où l’erreur a été détectée. Param 3 - Adresse IRP. |
0x213 |
Erreur non irrécupérable |
L’appelant a modifié le champ status d’un IRP qu’il ne comprend pas. Param 2 : adresse dans le code du pilote où l’erreur a été détectée. Param 3 - Adresse IRP. |
0x214 |
Erreur non irrécupérable |
L’appelant a modifié le champ d’informations d’un IRP qu’il ne comprend pas. Param 2 : adresse dans le code du pilote où l’erreur a été détectée. Param 3 - Adresse IRP. |
0x215 |
Erreur non irrécupérable |
Une status IRP non STATUS_NOT_SUPPORTED non réussie pour IRP_MJ_PNP est transmise dans la pile. Les IRP PNP ayant échoué doivent être terminés. Param 2 : adresse dans le code du pilote où l’erreur a été détectée. Param 3 - Adresse IRP. |
0x216 |
Erreur non irrécupérable |
Le IRP_MJ_PNP status précédemment défini a été converti en STATUS_NOT_SUPPORTED. Cette défaillance status est réservée à une utilisation par le système d’exploitation. Les pilotes ne peuvent pas échouer un IRP PnP avec cette valeur. Param 2 : adresse dans le code du pilote où l’erreur a été détectée. Param 3 - Adresse IRP. |
0x217 |
Erreur non irrécupérable |
Le pilote n’a pas géré un IRP requis. Le pilote doit mettre à jour le status de l’IRP pour indiquer s’il a été géré ou non. Param 2 : adresse dans le code du pilote où l’erreur a été détectée. Param 3 - Adresse IRP. |
0x218 |
Erreur non irrécupérable |
Le pilote a répondu à un IRP qui est réservé à d’autres objets d’appareil ailleurs dans la pile. Param 2 : adresse dans le code du pilote où l’erreur a été détectée. Param 3 - Adresse IRP. |
0x219 |
Erreur non irrécupérable |
Une status IRP non STATUS_NOT_SUPPORTED non réussie pour IRP_MJ_POWER est transmise dans la pile. Les irps POWER ayant échoué doivent être terminés. Param 2 : adresse dans le code du pilote où l’erreur a été détectée. Param 3 - Adresse IRP. |
0x21A |
Erreur non irrécupérable |
Le IRP_MJ_POWER status précédemment défini a été converti en STATUS_NOT_SUPPORTED. Param 2 : adresse dans le code du pilote où l’erreur a été détectée. Param 3 - Adresse IRP. |
0x21B |
Erreur non irrécupérable |
Un pilote a retourné un status suspect. Cela est probablement dû à un bogue de variable non initialisé dans le pilote. Param 3 - Adresse IRP. |
0x21C |
Avertissement |
L’appelant a copié la pile IRP, mais n’a pas défini de routine d’achèvement. C’est inefficace : utilisez Plutôt IoSkipCurrentIrpStackLocation . Param 2 - Réservé Param 3 - Réservé |
0x21D |
Erreur irrécupérable |
Un gestionnaire de répartition IRP ne s’est pas correctement détaché de la pile située en dessous lors de la réception d’un IRP de suppression. Param 2 : adresse dans le code du pilote où l’erreur a été détectée. Param 3 - Adresse IRP. Param 4 - Adresse de l’objet de l’appareil. |
0x21E |
Erreur irrécupérable |
Un gestionnaire de répartition IRP n’a pas correctement supprimé son objet d’appareil lors de la réception d’un IRP de suppression. Param 2 : adresse dans le code du pilote où l’erreur a été détectée. Param 3 - Adresse IRP. Param 4 - Adresse de l’objet de l’appareil. |
0x21F |
Erreur non irrécupérable |
Un pilote n’a pas rempli de routine de répartition pour une fonction principale IRP requise. Param 2 : adresse dans le code du pilote où l’erreur a été détectée. Param 3 - Adresse IRP. |
0x220 |
Erreur non irrécupérable |
IRP_MJ_SYSTEM_CONTROL a été effectué par une personne autre que ProviderId. Ce IRP aurait dû être terminé plus tôt ou aurait dû être transmis. Param 2 : adresse dans le code du pilote où l’erreur a été détectée. Param 3 - Adresse IRP. Param 4 - ProviderId. |
0x221 |
Erreur irrécupérable |
Un gestionnaire de répartition IRP pour un PDO a supprimé son objet d’appareil, mais le matériel n’a pas été signalé comme manquant dans une requête de relations de bus. Param 2 : adresse dans le code du pilote où l’erreur a été détectée. Param 3 - Adresse IRP. Param 4 - Adresse de l’objet de l’appareil. |
0x222 |
Erreur irrécupérable |
Le gestionnaire de répartition IRP d’un filtre de bus s’est détaché lors de la réception d’un IRP de suppression lorsque l’AOP est toujours actif. Les filtres bus doivent propre dans les rappels FastIoDetach. Param 2 : adresse dans le code du pilote où l’erreur a été détectée. Param 3 - Adresse IRP. Param 4 - Adresse de l’objet de l’appareil. |
0x223 |
Erreur irrécupérable |
Un gestionnaire de répartition IRP pour un filtre de bus a supprimé son objet d’appareil, mais le PDO est toujours présent. Les filtres bus doivent propre dans les rappels FastIoDetach. Param 2 : adresse dans le code du pilote où l’erreur a été détectée. Param 3 - Adresse IRP. Param 4 - Adresse de l’objet de l’appareil. |
0x224 |
Erreur irrécupérable |
Un gestionnaire de répartition IRP a renvoyé un status qui n’est pas cohérent avec le champ IoStatus.Status de l’IRP. Param 2 : adresse dans le code du pilote où l’erreur a été détectée. Param 3 - Adresse IRP. Param 4 - Code status attendu. |
0x225 |
Erreur non irrécupérable |
Un gestionnaire de répartition IRP a renvoyé un status qui est illégal (0xFFFFFFFF). Cela est probablement dû à une variable de pile non initialisée. Pour déboguer cette erreur, utilisez la commande ln (List Nearest Symbols) avec l’adresse spécifiée. Param 2 : adresse dans le code du pilote où l’erreur a été détectée. Param 3 - Adresse IRP. Param 4 - Code d’état. |
0x226 |
Erreur irrécupérable |
Un gestionnaire de répartition IRP est retourné sans transmettre ou terminer cette IRP, ou quelqu’un a oublié de retourner STATUS_PENDING. Param 2 : adresse dans le code du pilote où l’erreur a été détectée. Param 3 - Adresse IRP. |
0x227 |
Erreur irrécupérable |
Une routine d’achèvement IRP est dans du code paginable. (Cela n’est jamais autorisé.) Param 2 : adresse dans le code du pilote où l’erreur a été détectée. Param 3 - Adresse IRP. |
0x228 |
Erreur non irrécupérable |
La routine d’achèvement d’un pilote n’a pas marqué l’IRP en attente si le champ PendingReturned a été défini dans l’IRP qui lui a été transmis. Cela peut entraîner le blocage de Windows, en particulier si une erreur est retournée par la pile. Param 2 : adresse dans le code du pilote où l’erreur a été détectée. Param 3 - Adresse IRP. |
0x229 |
Erreur irrécupérable |
Une routine d’annulation a été définie pour un IRP qui est actuellement traité par les pilotes plus bas dans la pile, ce qui peut réduire leur routine d’annulation. Param 2 - Réservé. Param 3 - Réservé. |
0x22A |
Erreur non irrécupérable |
L’objet d’appareil physique (PDO) n’a pas répondu à un IRP requis. Param 2 : adresse dans le code du pilote où l’erreur a été détectée. Param 3 - Adresse IRP. |
0x22B |
Erreur non irrécupérable |
L’objet d’appareil physique (PDO) a oublié de remplir la liste des relations d’appareil avec le PDO pour la requête TargetDeviceRelation . Param 2 : adresse dans le code du pilote où l’erreur a été détectée. Param 3 - Adresse IRP. |
0x22C |
Erreur irrécupérable |
Le code implémentant la requête TargetDeviceRelation n’a pas appelé ObReferenceObject sur le PDO. Param 2 - Réservé. Param 3 - Réservé. |
0x22D |
Erreur non irrécupérable |
L’appelant a terminé une IRP_MJ_PNP qu’il ne comprenait pas au lieu de la transmettre. Param 2 : adresse dans le code du pilote où l’erreur a été détectée. Param 3 - Adresse IRP. |
0x22E |
Erreur non irrécupérable |
L’appelant a terminé une IRP_MJ_PNP réussie au lieu de la transmettre. Paramètre 2 : adresse dans le code du pilote où l’erreur a été détectée. Param 3 - Adresse IRP. |
0x22F |
Erreur non irrécupérable |
L’appelant a terminé une IRP_MJ_PNP intacte (au lieu de transmettre l’IRP vers le bas), ou l’IRP non PDO a échoué à l’aide d’une valeur illégale de STATUS_NOT_SUPPORTED. Paramètre 2 : adresse dans le code du pilote où l’erreur a été détectée. Param 3 - Adresse IRP. |
0x230 |
Erreur non irrécupérable |
L’appelant a terminé une IRP_MJ_POWER qu’il ne comprenait pas au lieu de la transmettre. Paramètre 2 : adresse dans le code du pilote où l’erreur a été détectée. Param 3 - Adresse IRP. |
0x231 |
Erreur irrécupérable |
L’appelant a terminé une IRP_MJ_POWER réussie au lieu de la transmettre. Paramètre 2 : adresse dans le code du pilote où l’erreur a été détectée. Param 3 - Adresse IRP. |
0x232 |
Erreur non irrécupérable |
L’appelant a terminé une IRP_MJ_POWER intacte (au lieu de transmettre l’IRP vers le bas), ou l’IRP non PDO a échoué à l’aide d’une valeur illégale de STATUS_NOT_SUPPORTED. Paramètre 2 : adresse dans le code du pilote où l’erreur a été détectée. Param 3 - Adresse IRP. |
0x233 |
Erreur non irrécupérable |
Le champ de version de la structure des fonctionnalités de requête dans un IRP des fonctionnalités de requête n’a pas été correctement initialisé. Paramètre 2 : adresse dans le code du pilote où l’erreur a été détectée. Param 3 - Adresse IRP. |
0x234 |
Erreur non irrécupérable |
Le champ de taille de la structure des fonctionnalités de requête dans un IRP des fonctionnalités de requête n’a pas été correctement initialisé. Paramètre 2 : adresse dans le code du pilote où l’erreur a été détectée. Param 3 - Adresse IRP. |
0x235 |
Erreur non irrécupérable |
Le champ d’adresse de la structure des fonctionnalités de requête dans un IRP des fonctionnalités de requête n’a pas été correctement initialisé à -1. Paramètre 2 : adresse dans le code du pilote où l’erreur a été détectée. Param 3 - Adresse IRP. |
0x236 |
Erreur non irrécupérable |
Le champ Numéro d’interface utilisateur de la structure des fonctionnalités de requête dans un IRP des fonctionnalités de requête n’a pas été correctement initialisé à -1. Paramètre 2 : adresse dans le code du pilote où l’erreur a été détectée. Param 3 - Adresse IRP. |
0x237 |
Erreur irrécupérable |
Un pilote a envoyé un IRP qui est limité pour une utilisation système uniquement. Param 2 - Réservé. Param 3 - Réservé. |
0x238 |
Avertissement |
L’appelant d’IoInitializeIrp a passé un IRP qui a été alloué avec IoAllocateIrp. Cela est illégal, inutile et a un impact négatif sur les performances dans une utilisation normale. Si cette IRP est en cours de recyclage, consultez IoReuseIrp dans le Kit de pilotes Windows. Param 2 - Réservé. Param 3 - Réservé. |
0x239 |
Avertissement |
L’appelant d’IoCompleteRequest termine un IRP qui n’a jamais été transféré via un appel à IoCallDriver ou PoCallDriver. Il peut s’agir d’un bogue. Param 2 - Réservé. Param 3 - Réservé. |
0x23A |
Erreur irrécupérable |
Un pilote a transféré un IRP à un IRQL qui n’est pas conforme à ce code majeur. Paramètre 2 : adresse dans le code du pilote où l’erreur a été détectée. Param 3 - Adresse IRP. |
0x23B |
Erreur non irrécupérable |
L’appelant a modifié le champ status d’un IRP qu’il ne comprend pas. Paramètre 2 : adresse dans le code du pilote où l’erreur a été détectée. Param 3 - Adresse IRP. |
Le tableau suivant répertorie les erreurs de vérification d’E/ S supplémentaires qui peuvent apparaître. Ces erreurs apparaissent lorsque la vérification d’E/S améliorée est activée. Pour plus d’informations, consultez Vérification d’E/S améliorée.
Code d’erreur d’E/S | Gravité | Cause de l’erreur |
---|---|---|
0x23C |
Erreur irrécupérable |
Un pilote a effectué une IRP sans affecter la valeur NULL à la routine d’annulation dans l’IRP. Param 2 - Réservé. Param 3 - Réservé. |
0x23D |
Erreur non irrécupérable |
Un pilote a renvoyé STATUS_PENDING mais n’a pas marqué l’IRP en attente via un appel à IoMarkIrpPending. Paramètre 2 : adresse dans le code du pilote où l’erreur a été détectée. Param 3 - Adresse IRP. Param 4 - Code d’état. |
0x23E |
Erreur non irrécupérable |
Un pilote a marqué un IRP en attente, mais n’a pas retourné STATUS_PENDING. Paramètre 2 : adresse dans le code du pilote où l’erreur a été détectée. Param 3 - Adresse IRP. Param 4 - Code d’état. |
0x23F |
Erreur irrécupérable |
Un pilote n’a pas hérité le bit DO_POWER_PAGABLE de la pile à laquelle il est attaché. Param 2 - Réservé. Param 3 - Réservé. |
0x240 |
Erreur irrécupérable |
Un pilote tente de supprimer un objet d’appareil qui a déjà été supprimé via un appel antérieur à IoDeleteDevice. Paramètre 2 : adresse dans le code du pilote où l’erreur a été détectée. Param 2 - Réservé. Param 3 - Réservé. |
0x241 |
Erreur irrécupérable |
Un pilote a détaché son objet de périphérique lors d’une suppression surprise d’IRP. Paramètre 2 : adresse dans le code du pilote où l’erreur a été détectée. Param 3 - Adresse IRP. Paramètre 4 - Adresse de l’objet de l’appareil. |
0x242 |
Erreur irrécupérable |
Un pilote a supprimé son objet de périphérique lors d’une suppression d’IRP surprise. Paramètre 2 : adresse dans le code du pilote où l’erreur a été détectée. Param 3 - Adresse IRP. Paramètre 4 - Adresse de l’objet de l’appareil. |
0x243 |
Erreur irrécupérable |
Un pilote n’a pas pu effacer l’indicateur DO_DEVICE_INITIALIZING à la fin de AddDevice. Param 2 - Réservé. Param 3 - Réservé. Param 4 - |
0x244 |
Erreur irrécupérable |
Un pilote n’a pas copié le DO_BUFFERED_IO ou l’indicateur DO_DIRECT_IO de l’objet de périphérique auquel il est attaché. Param 2 - Réservé. Param 3 - Réservé. |
0x245 |
Erreur irrécupérable |
Un pilote a défini les indicateurs DO_BUFFERED_IO et DO_DIRECT_IO. Ces indicateurs s’excluent mutuellement. Param 2 - Réservé. Param 3 - Réservé. |
0x246 |
Erreur irrécupérable |
Un pilote n’a pas pu copier le champ DeviceType à partir de l’objet de périphérique auquel il est attaché. Param 2 - Réservé. Param 3 - Réservé. |
0x247 |
Erreur irrécupérable Param 2 - Réservé. Param 3 - Réservé. |
Un pilote a échoué à un IRP qui ne peut pas légalement être échoué. |
0x248 |
Erreur irrécupérable |
Un pilote a ajouté un objet de périphérique qui n’est pas un PDO à une requête de relations d’appareil. Paramètre 2 : adresse dans le code du pilote où l’erreur a été détectée. Param 3 - Adresse IRP. Paramètre 4 - Adresse de l’objet de l’appareil. |
0x249 |
Erreur non irrécupérable |
Un pilote a énuméré deux PDO enfants qui ont retourné des ID d’appareil identiques. Paramètre 2 : adresse dans le code du pilote où l’erreur a été détectée. Paramètre 3 : adresse du premier objet d’appareil. Param 4 - Deuxième adresse de l’objet d’appareil. |
0x24A |
Erreur irrécupérable |
Un pilote a appelé par erreur une fonction d’E/S de fichier avec IRQL différent de PASSIVE_LEVEL. Paramètre 2 : adresse dans le code du pilote où l’erreur a été détectée. Param 3 - Réservé. Param 4 - Réservé. |
0x24B |
Erreur irrécupérable |
Un pilote a terminé une demande de IRP_MN_QUERY_DEVICE_RELATIONS de type TargetDeviceRelation comme réussie, mais n’a pas correctement rempli la demande ou transféré l’IRP à la pile matérielle sous-jacente. Paramètre 2 : adresse dans le code du pilote où l’erreur a été détectée. Param 3 - Adresse de l’objet de l’appareil. |
0x24C |
Erreur non irrécupérable |
Un pilote a renvoyé STATUS_PENDING mais n’a pas marqué l’IRP en attente par un appel à IoMarkIrpPending. Paramètre 2 : adresse dans le code du pilote où l’erreur a été détectée. Param 3 - Adresse IRP. Param 4 - Code d’état. |
0x24D |
Erreur irrécupérable |
Un pilote a passé un objet de périphérique non valide à une fonction qui nécessite un PDO. Paramètre 2 : adresse dans le code du pilote où l’erreur a été détectée. Param 3 - Adresse IRP. Paramètre 4 - Adresse de l’objet de l’appareil. |
0x300 |
Erreur non irrécupérable |
Un pilote a retourné un status suspect. Cela est probablement dû à un bogue de variable non initialisé dans le pilote. Paramètre 2 : adresse dans le code du pilote où l’erreur a été détectée. Param 3 - Adresse IRP. Param 4 - Code status suspect. |
0x301 |
Erreur non irrécupérable |
Un pilote a transféré un IRP à IRQL > DISPATCH_LEVEL. Paramètre 2 : adresse dans le code du pilote où l’erreur a été détectée. Param 3 - Adresse IRP. Paramètre 4 - Valeur IRQL incorrecte |
0x302 |
Erreur non irrécupérable |
Un pilote a transféré un IRP à IRQL > = APC_LEVEL. Le gestionnaire d’E/S doit mettre en file d’attente un APC pour terminer cette demande. L’APC ne pourra pas s’exécuter, car l’appelant est déjà au niveau d’APC, de sorte que l’appelant est susceptible d’être bloqué. Paramètre 2 : adresse dans le code du pilote où l’erreur a été détectée. Param 3 - Adresse IRP. Paramètre 4 : valeur IRQL incorrecte. |
0x306 |
Erreur non irrécupérable |
Le pilote effectue une requête IRP_MJ_PNP (majeure) et IRP_MN_REMOVE_DEVICE (mineure) avec un code de status d’échec. Param 2 : adresse dans le code du pilote où l’erreur a été détectée. Param 3 - Adresse IRP. |
0x307 |
Erreur non irrécupérable |
Le pilote a émis une demande d’E/S avec un événement qui a déjà été signalé et a reçu une réponse STATUS_PENDING. Cela peut entraîner un déroulement avant la fin de l’E/S. Param 2 : adresse dans le code du pilote où l’erreur a été détectée. Param 3 - Adresse IRP. |
0x310 |
Erreur non irrécupérable |
Le pilote réinitialise un IRP qui est toujours en cours d’utilisation. Param 2 : adresse dans le code du pilote où l’erreur a été détectée. Param 3 - Adresse IRP. |
0x311 |
Erreur non irrécupérable |
Le pilote réinitialise un IRP créé avec IoMakeAssociatedIrp, IoBuildAsynchronousFsdRequest, IoBuildSynchronousFsdRequest, IoBuildDeviceIoControlRequest. Param 2 : adresse dans le code du pilote où l’erreur a été détectée. Param 3 - Adresse IRP. |
0x312 |
Erreur non irrécupérable |
L’appelant a fourni au champ Informations d’état IRP une valeur supérieure à la section de sortie de la mémoire tampon système. Param 2 : adresse dans le code du pilote où l’erreur a été détectée. Param 3 - Adresse IRP. |
Cause
Pour obtenir une description de la cause, consultez la description de chaque code dans la section Paramètres.
Résolution
Ce bogue case activée ne peut se produire que lorsque le vérificateur de pilotes a reçu l’instruction de surveiller un ou plusieurs pilotes. Si vous n’avez pas l’intention d’utiliser Driver Verifier, vous devez le désactiver. Pour plus d’informations, consultez « Guide pratique pour contrôler le vérificateur de pilotes » dans Driver Verifier. Vous pouvez également envisager de mettre à jour ou de supprimer le pilote à l’origine de ce problème.
Si vous êtes le développeur de pilotes, utilisez les informations obtenues via ce bogue case activée pour corriger les bogues dans votre code.
Pour plus d’informations sur Driver Verifier, consultez Driver Verifier.
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour