Partager via


0xC4 de vérification des bogues : DRIVER_VERIFIER_DETECTED_VIOLATION

Le case activée de bogue DRIVER_VERIFIER_DETECTED_VIOLATION a la valeur 0x000000C4. Il s’agit du code de case activée de bogue général pour les erreurs irrécupérables détectées par le vérificateur de pilote. Pour plus d’informations, consultez Gestion d’une vérification de bogue lorsque le vérificateur de pilote est activé.

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_DETECTED_VIOLATION

Le paramètre 1 identifie le type de violation. La signification des paramètres restants varie avec la valeur du paramètre 1. Les valeurs des paramètres sont décrites dans le tableau suivant.

Note Si vous ne parvenez pas à afficher les 5 colonnes de cette table, essayez les opérations suivantes :

  • Développez la fenêtre de votre navigateur en taille réelle.
  • Placez le curseur dans le tableau et utilisez les touches de direction pour faire défiler vers la gauche et la droite.

0x00 à 0x70

Paramètre 1 Paramètre 2 Paramètre 3 Paramètre 4 Cause de l’erreur
0x00 IRQL actuel Type de pool Nombre d'octets Le pilote a demandé une allocation de pool d’octets zéro.
0x01 IRQL actuel Type de pool Taille de l’allocation, en octets Le pilote a tenté d’allouer de la mémoire paginée avec irQL > APC_LEVEL.
0x02 IRQL actuel Type de pool Taille de l’allocation, en octets Le pilote a tenté d’allouer de la mémoire non paginé avec l’DISPATCH_LEVEL IRQL > .
0x03 L’appelant tente d’allouer plusieurs pages de doit réussir le pool, mais une page est la page maximale autorisée par cette API.
0x10 Adresse incorrecte 0 0 Le pilote a tenté de libérer une adresse qui n’a pas été retournée par un appel d’allocation.
0x11 IRQL actuel Type de pool Adresse du pool Le pilote a tenté de libérer un pool paginé avec irQL > APC_LEVEL.
0x12 IRQL actuel Type de pool Adresse du pool Le pilote a tenté de libérer un pool non paginé avec irQL > DISPATCH_LEVEL.
0x13 ou 0x14 Réservé Pointeur vers l’en-tête du pool Contenu de l’en-tête de pool Le pilote a tenté de libérer le pool de mémoire qui était déjà libéré.
0x15 Entrée du minuteur Type de pool L’adresse du pool est libérée Le pool que l’appelant tente de libérer contient un minuteur actif.
0x16 Réservé Adresse du pool 0 Le pilote a tenté de libérer le pool à une adresse incorrecte, ou le pilote a transmis des paramètres non valides à une routine de mémoire.
0X17 Entrée de ressource Type de pool L’adresse du pool est libérée Le pool que l’appelant tente de libérer contient un ERESOURCE actif.
0x30 IRQL actuel IRQL demandé 0 Le pilote a transmis un paramètre non valide à KeRaiseIrql. (Le paramètre était soit une valeur inférieure à l’IRQL actuel, soit une valeur supérieure à HIGH_LEVEL. Cela peut être le résultat de l’utilisation d’un paramètre non initialisé.)
0x31 IRQL actuel IRQL demandé 0 : Le nouvel IRQL est incorrect 1 : le nouvel IRQL n’est pas valide à l’intérieur d’une routine DPC Le pilote a transmis un paramètre non valide à KeLowerIrql. (Le paramètre était soit une valeur supérieure à l’IRQL actuel, soit une valeur supérieure à HIGH_LEVEL. Cela peut être le résultat de l’utilisation d’un paramètre non initialisé.)
0x32 IRQL actuel Adresse de verrouillage de rotation 0 Le pilote appelé KeReleaseSpinLock sur un IRQL autre que DISPATCH_LEVEL. (Cela peut être dû à une double libération d’un verrou de rotation.)
0x33 IRQL actuel Adresse mutex rapide 0 Le pilote a tenté d’acquérir un mutex rapide avec des APC_LEVEL IRQL > .
0x34 IRQL actuel Nombre de désactivations du thread APC Adresse mutex rapide Le pilote a tenté de libérer un mutex rapide à un IRQL autre que APC_LEVEL.
0x35 IRQL actuel Adresse de verrouillage de rotation Ancien IRQL Le noyau a libéré un verrou de rotation avec IRQL non égal à DISPATCH_LEVEL.
0x36 IRQL actuel Numéro de verrou de rotation Ancien IRQL Le noyau a libéré un verrou de rotation en file d’attente avec IRQL non égal à DISPATCH_LEVEL.
0x37 IRQL actuel Nombre de désactivations du thread APC Ressource Le pilote a essayé d’acquérir une ressource, mais les API ne sont pas désactivés.
0x38 IRQL actuel Nombre de désactivations du thread APC Ressource Le pilote a essayé de libérer une ressource, mais les API ne sont pas désactivés.
0x39 IRQL actuel Nombre de désactivations du thread APC Mutex Le pilote a essayé d’acquérir un mutex « dangereux » avec IRQL non égal à APC_LEVEL à l’entrée.
0x3A IRQL actuel Nombre de désactivations du thread APC Mutex Le pilote a essayé de libérer un mutex « dangereux » avec IRQL non égal à APC_LEVEL à l’entrée.
0x3B IRQL actuel Objet à attendre Paramètre délai d’expiration La routine KeWaitXxx est appelée à DISPATCH_LEVEL ou une version ultérieure.
0x3C Handle passé à la routine Type d’objet 0 Le pilote appelé ObReferenceObjectByHandle avec une poignée incorrecte.
0x3D 0 0 Adresse de la ressource incorrecte Le pilote a passé une ressource incorrecte (non alignée) à ExAcquireResourceExclusive.
0x3E 0 0 0 Le pilote appelé KeLeaveCriticalRegion pour un thread qui ne se trouve actuellement pas dans une région critique.
0x3F Adresse de l’objet Nouveau nombre de références d’objets. -1 : cas de déréférence 1 : cas de référence 0 Le pilote a appliqué ObReferenceObject à un objet dont le nombre de références est égal à zéro, ou le pilote a appliqué ObDereferenceObject à un objet qui a un nombre de références de zéro.
0x40 IRQL actuel Adresse de verrouillage de rotation 0 Le pilote appelé KeAcquireSpinLockAtDpcLevel avec irql < DISPATCH_LEVEL.
0x41 IRQL actuel Adresse de verrouillage de rotation 0 Le pilote appelé KeReleaseSpinLockFromDpcLevel avec DISPATCH_LEVEL IRQL < .
0x42 IRQL actuel Adresse de verrouillage de rotation 0 Le pilote appelé KeAcquireSpinLock avec irQL > DISPATCH_LEVEL.
0x51 Adresse de base de l’allocation Adresse de la référence au-delà de l’allocation Nombre d’octets facturés Le pilote a tenté de libérer de la mémoire après avoir écrit au-delà de la fin de l’allocation. Un bogue case activée avec ce paramètre se produit uniquement lorsque l’option De suivi du pool de Driver Verifier est active.
0x52 Adresse de base de l’allocation Entrée de hachage Nombre d’octets facturés Le pilote a tenté de libérer de la mémoire après avoir écrit au-delà de la fin de l’allocation. Un bogue case activée avec ce paramètre se produit uniquement lorsque l’option De suivi du pool de Driver Verifier est active.
0x53 Adresse de base de l’allocation En-tête Réservé Le pilote a tenté de libérer de la mémoire après avoir écrit au-delà de la fin de l’allocation. Un bogue case activée avec ce paramètre se produit uniquement lorsque l’option De suivi du pool de Driver Verifier est active.
0x54 Adresse de base de l’allocation Réservé Taille du hachage du pool Le pilote a tenté de libérer de la mémoire après avoir écrit au-delà de la fin de l’allocation. Un bogue case activée avec ce paramètre se produit uniquement lorsque l’option De suivi du pool de Driver Verifier est active.
0x59 Adresse de base de l’allocation Listindex Réservé Le pilote a tenté de libérer de la mémoire après avoir écrit au-delà de la fin de l’allocation. Un bogue case activée avec ce paramètre se produit uniquement lorsque l’option De suivi du pool de Driver Verifier est active.
0x60 Octets alloués à partir d’un pool paginé Octets alloués à partir d’un pool non paginé Nombre total d’allocations qui n’ont pas été libérées Le pilote se décharge sans libérer d’abord ses allocations de pool. Un bogue case activée avec ce paramètre se produit uniquement lorsque l’option De suivi du pool de Driver Verifier est active.
0x61 Octets alloués à partir d’un pool paginé Octets alloués à partir d’un pool non paginé Nombre total d’allocations qui n’ont pas été libérées Un thread de pilote tente d’allouer la mémoire du pool pendant le déchargement du pilote. Un bogue case activée avec ce paramètre se produit uniquement lorsque l’option De suivi du pool de Driver Verifier est active.
0x62 Nom du pilote Réservé Nombre total d’allocations qui n’ont pas été libérées, y compris les pools paginés et non paginés Le pilote se décharge sans libérer d’abord ses allocations de pool. Un bogue case activée avec ce paramètre se produit uniquement lorsque l’option De suivi du pool de Driver Verifier est active. Tapez !verifier 3 drivername.sys pour plus d’informations sur les allocations qui ont été divulguées à l’origine de la vérification de bogue.
0x6F Adresse MDL Page physique verrouillée Page physique la plus élevée du système MmProbeAndLockPages appelé sur les pages qui ne sont pas dans la base de données PFN. Il s’agit généralement d’un pilote appelant cette routine pour verrouiller sa propre RAM doubleport privée. Non seulement cela n’est pas nécessaire, mais il peut également endommager la mémoire sur les ordinateurs avec une RAM physique non incohérente.

0x70 à 0x91

Paramètre 1 Paramètre 2 Paramètre 3 Paramètre 4 Cause de l’erreur
0x70 IRQL actuel Adresse MDL Mode d’accès Le pilote appelé MmProbeAndLockPages avec irQL > DISPATCH_LEVEL.
0x71 IRQL actuel Adresse MDL Adresse du processus Le pilote appelé MmProbeAndLockProcessPages avec irql > DISPATCH_LEVEL.
0x72 IRQL actuel Adresse MDL Adresse du processus Le pilote appelé MmProbeAndLockSelectedPages avec irql > DISPATCH_LEVEL.
0x73 IRQL actuel Dans Windows 32 bits : faible 32 bits de l’adresse physique Dans Windows 64 bits : l’adresse physique 64 bits Nombre d'octets Le pilote appelé MmMapIoSpace avec irQL > DISPATCH_LEVEL.
0x74 IRQL actuel Adresse MDL Mode d’accès Le pilote appelé MmMapLockedPages en mode noyau avec irql > DISPATCH_LEVEL.
0x75 IRQL actuel Adresse MDL Mode d’accès Le pilote appelé MmMapLockedPages en mode utilisateur avec irql > APC_LEVEL.
0x76 IRQL actuel Adresse MDL Mode d’accès Le pilote appelé MmMapLockedPagesSpecifyCache en mode noyau avec irql > DISPATCH_LEVEL.
0x77 IRQL actuel Adresse MDL Mode d’accès Le pilote appelé MmMapLockedPagesSpecifyCache en mode utilisateur avec irql > APC_LEVEL.
0x78 IRQL actuel Adresse MDL 0 Le pilote appelé MmUnlockPages avec irql > DISPATCH_LEVEL.
0x79 IRQL actuel Adresse virtuelle en cours de démapped Adresse MDL Le pilote appelé MmUnmapLockedPages en mode noyau avec irQL > DISPATCH_LEVEL.
0x7A IRQL actuel Adresse virtuelle en cours de démapped Adresse MDL Le pilote appelé MmUnmapLockedPages en mode utilisateur avec IRQL > APC_LEVEL.
0x7B IRQL actuel Adresse virtuelle en cours de démapped Nombre d'octets Le pilote appelé MmUnmapIoSpace avec irql > APC_LEVEL.
0x7C Adresse MDL Indicateurs MDL 0 Le pilote a appelé MmUnlockPages et a passé un MDL dont les pages n’ont jamais été verrouillées avec succès.
0x7D Adresse MDL Indicateurs MDL 0 Le pilote appelé MmUnlockPages a passé une MDL dont les pages proviennent d’un pool non paginé. (Ceux-ci ne doivent jamais être déverrouillés.)
0x7E IRQL actuel DISPATCH_LEVEL 0 Le pilote appelé MmAllocatePagesForMdl, MmAllocatePagesForMdlEx ou MmFreePagesFromMdl avec IRQL > DISPATCH_LEVEL.
0x7F IRQL actuel Adresse MDL Indicateurs MDL Le pilote appelé BuildMdlForNonPagedPool a passé un MDL dont les pages proviennent d’un pool paginé.
0x80 IRQL actuel Adresse de l’événement 0 Le pilote appelé KeSetEvent avec irQL > DISPATCH_LEVEL.
0x81 Adresse MDL Indicateurs MDL 0 Pilote appelé MmMapLockedPages. (Vous devez utiliser MmMapLockedPagesSpecifyCache à la place, avec le paramètre BugCheckOnFailure défini sur FALSE.)
0x82 Adresse MDL Indicateurs MDL 0 Le pilote appelé MmMapLockedPagesSpecifyCache avec le paramètre BugCheckOnFailure égal à TRUE. (Ce paramètre doit être défini sur FALSE.)
0x83 Début de la plage d’adresses physique à mapper Nombre d’octets à mapper Numéro de cadre de la première page qui n’est pas verrouillé Le pilote a appelé MmMapIoSpace sans avoir verrouillé les pages MDL. Les pages physiques représentées par la plage d’adresses physique en cours de mappage doivent avoir été verrouillées avant d’effectuer cet appel.
0x85 Adresse MDL Nombre de pages à mapper Numéro de cadre de la première page qui n’est pas verrouillé Le pilote a appelé MmMapLockedPages sans avoir verrouillé les pages MDL.
0x89 Adresse MDL Pointeur vers la page non mémoire dans la MDL Numéro de page non mémoire dans mdL Une MDL n’est pas marquée comme « E/S », mais elle contient des adresses de page autres que la mémoire.
0x91 Réservé Réservé Réservé Le pilote a changé de pile à l’aide d’une méthode qui n’est pas prise en charge par le système d’exploitation. Le seul moyen pris en charge pour étendre une pile en mode noyau consiste à utiliser KeExpandKernelStackAndCallout.

0xA0 à 0x140

Paramètre 1 Paramètre 2 Paramètre 3 Paramètre 4 Cause de l’erreur
0xA0 Pointeur vers l’IRP qui effectue la demande de lecture ou d’écriture Objet d’appareil de l’appareil inférieur Numéro du secteur dans lequel l’erreur a été détectée Une erreur de case activée de redondance cyclique (CRC) a été détectée sur un disque dur. Un bogue case activée avec ce paramètre se produit uniquement lorsque l’option Vérification de l’intégrité du disque de Driver Verifier est active.
0xA1 Copie de l’IRP qui effectue la demande de lecture ou d’écriture. (L’IRP réel est terminé.) Objet d’appareil de l’appareil inférieur Numéro du secteur dans lequel l’erreur a été détectée Une erreur CRC a été détectée sur un secteur (de manière asynchrone). Un bogue case activée avec ce paramètre se produit uniquement lorsque l’option Vérification de l’intégrité du disque de Driver Verifier est active.
0xA2 IRP effectuant la demande de lecture ou d’écriture, ou une copie de cet IRP Objet d’appareil de l’appareil inférieur Numéro du secteur dans lequel l’erreur a été détectée Les copies de somme de contrôle CRCDISK ne correspondent pas. Il peut s’agir d’une erreur de pagination. Un bogue case activée avec ce paramètre se produit uniquement lorsque l’option Vérification de l’intégrité du disque de Driver Verifier est active.
0xB0 Adresse MDL Indicateurs MDL Indicateurs MDL incorrects Le pilote appelé MmProbeAndLockPages pour une MDL avec des indicateurs incorrects. Par exemple, le pilote a passé un MDL créé par MmBuildMdlForNonPagedPool à MmProbeAndLockPages.
0xB1 Adresse MDL Indicateurs MDL Indicateurs MDL incorrects Le pilote appelé MmProbeAndLockProcessPages pour une MDL avec des indicateurs incorrects. Par exemple, le pilote a passé une MDL créée par MmBuildMdlForNonPagedPool à MmProbeAndLockProcessPages.
0xB2 Adresse MDL Indicateurs MDL Indicateurs MDL incorrects Le pilote appelé MmMapLockedPages pour une MDL avec des indicateurs incorrects. Par exemple, le pilote a passé une MDL qui est déjà mappée à une adresse système ou qui n’était pas verrouillée sur MmMapLockedPages.
0xB3 Adresse MDL Indicateurs MDL Indicateurs MDL manquants (au moins un était attendu) Le pilote appelé MmMapLockedPages pour une MDL avec des indicateurs incorrects. Par exemple, le pilote a passé une MDL qui n’est pas verrouillée à MmMapLockedPages.
0xB4 Adresse MDL Indicateurs MDL Indicateur MDL partiel inattendu Le pilote appelé MmUnlockPages pour une MDL partielle. Un MDL partiel est celui qui a été créé par IoBuildPartialMdl.
0xB5 Adresse MDL Indicateurs MDL Indicateur MDL partiel inattendu MmUnmapLockedPages appelé sur une MDL partielle (créée avec IoBuildPartialMdl).
0xB6 Adresse MDL Indicateurs MDL Indicateur MDL manquant MmUnmapLockedPages appelé sur une MDL qui n’est pas mappée à une adresse système.
0xB7 Nombre de pages physiques endommagées. Première page physique endommagée. Dernière page physique endommagée. Le BIOS système a endommagé la mémoire physique insuffisante pendant une transition de mise en veille.
0xB8 Adresse MDL Indicateurs MDL Réservé Les pages décrites par mdl sont toujours mappées. Le pilote doit annuler le mappage des pages avant d’appeler IoFreeMdl.
0xB9 Adresse en cours de démassée. Adresse MDL. Réservé MmUnmapLockedPages appelés avec une adresse d’espace utilisateur incorrecte.
0xC0 Adresse de l’IRP 0 Réservé Le pilote appelé IoCallDriver avec les interruptions désactivées.
0xC1 Adresse de la routine de répartition des pilotes Réservé Réservé Une routine de répartition des pilotes a été retournée avec les interruptions désactivées.
0xC2 0 0 0 Le pilote a appelé une routine de distribution d’E/S rapide après la désactivation des interruptions.
0xC3 Adresse de la routine de distribution d’E/S rapides du pilote Réservé Réservé Une routine de répartition rapide des E/S du pilote a été retournée avec les interruptions désactivées.
0xC5 Adresse de la routine de répartition des pilotes Nombre de désactivations APC du thread actuel Nombre de désactivations APC du thread avant d’appeler la routine de répartition du pilote Une routine de répartition des pilotes a modifié le nombre de désactivations APC du thread. Le nombre de désactivations APC est décrémenté chaque fois qu’un pilote appelle KeEnterCriticalRegion, FsRtlEnterFileSystem ou acquiert un mutex. Le nombre de désactivations APC est incrémenté chaque fois qu’un pilote appelle KeLeaveCriticalRegion, KeReleaseMutex ou FsRtlExitFileSystem. Étant donné que ces appels doivent toujours être en paires, le nombre de désactivations d’APC doit être égal à zéro chaque fois qu’un thread est supprimé. Une valeur négative indique qu’un pilote a désactivé les appels APC sans les réactiver. Une valeur positive indique que l’inverse est vrai.
0xC6 Adresse de la routine de distribution d’E/S rapides du pilote Nombre de désactivations APC du thread actuel Nombre de désactivations APC du thread avant d’appeler la routine de répartition du pilote d’E/S rapide Une routine de répartition rapide des E/S du pilote a modifié le nombre de désactivations APC du thread. Le nombre de désactivations APC est décrémenté chaque fois qu’un pilote appelle KeEnterCriticalRegion, FsRtlEnterFileSystem ou acquiert un mutex. Le nombre de désactivations APC est incrémenté chaque fois qu’un pilote appelle KeLeaveCriticalRegion, KeReleaseMutex ou FsRtlExitFileSystem. Étant donné que ces appels doivent toujours être en paires, le nombre de désactivations d’APC doit être égal à zéro chaque fois qu’un thread est supprimé. Une valeur négative indique qu’un pilote a désactivé les appels APC sans les réactiver. Une valeur positive indique que l’inverse est vrai.
0xCA Adresse de la liste de recherche Réservé Réservé Le pilote a tenté de réin initialiser une liste de lookaside.
0xCB Adresse de la liste de recherche Réservé Réservé Le pilote a tenté de supprimer une liste de lookaside non initialisée.
0xCC Adresse de la liste de recherche Adresse de départ de l’allocation de pool Taille de l’allocation de pool Le pilote a tenté de libérer une allocation de pool qui contient une liste de recherche active.
0xCD Adresse de la liste de recherche Taille de bloc spécifiée par l’appelant Taille de bloc minimale prise en charge Le pilote a tenté de créer une liste de lookaside avec une taille de bloc d’allocation trop petite.
0xD0 Adresse de la structure ERESOURCE Réservé Réservé Le pilote a tenté de réin initialiser une structure ERESOURCE.
0xD1 Adresse de la structure ERESOURCE Réservé Réservé Le pilote a tenté de supprimer une structure ERESOURCE non initialisée.
0xD2 Adresse de la structure ERESOURCE Adresse de départ de l’allocation de pool Taille de l’allocation de pool Le pilote a tenté de libérer une allocation de pool qui contient une structure ERESOURCE active.
0xD5 Adresse de la structure IO_REMOVE_LOCK créée par la version de build vérifiée du pilote Balise IoReleaseRemoveLock actuelle Réservé La balise IoReleaseRemoveLock actuelle ne correspond pas à la balise IoAcquireRemoveLock précédente. Si le pilote appelant IoReleaseRemoveLock n’est pas dans une build cochée, le paramètre 2 est l’adresse de la structure d’ombre IO_REMOVE_LOCK créée par driver Verifier pour le compte du pilote. Dans ce cas, l’adresse de la structure de IO_REMOVE_LOCK utilisée par le pilote n’est pas du tout utilisée, car le vérificateur de pilotes remplace l’adresse de verrouillage pour toutes les API de suppression de verrou. Un bogue case activée avec ce paramètre se produit uniquement lorsque l’option Vérification des E/S de Driver Verifier est active.
0xD6 Adresse de la structure IO_REMOVE_LOCK créée par la version de build vérifiée du pilote Balise qui ne correspond pas à la balise IoAcquireRemoveLock précédente Balise IoAcquireRemoveLock précédente La balise IoReleaseRemoveLockAndWait actuelle ne correspond pas à la balise IoAcquireRemoveLock précédente. Si le pilote appelant IoReleaseRemoveLock n’est pas une build cochée, le paramètre 2 est l’adresse de la structure d’ombre IO_REMOVE_LOCK créée par driver Verifier pour le compte du pilote. Dans ce cas, l’adresse de la structure de IO_REMOVE_LOCK utilisée par le pilote n’est pas du tout utilisée, car le vérificateur de pilotes remplace l’adresse de verrouillage pour toutes les API de suppression de verrou. Un bogue case activée avec ce paramètre se produit uniquement lorsque l’option Vérification des E/S de Driver Verifier est active.
0xD7 Adresse de la structure de suppression de verrou de build vérifiée utilisée en interne par le vérificateur de pilotes Adresse de la structure Remove Lock spécifiée par le pilote Réservé Un verrou de suppression ne peut pas être réinitialisé, même après avoir appelé IoReleaseRemoveLockAndWait, car d’autres threads peuvent toujours utiliser ce verrou (en appelant IoAcquireRemoveLock). Le pilote doit allouer le verrou de suppression à l’intérieur de son extension d’appareil et l’initialiser une seule fois. Le verrou sera supprimé avec l’extension de l’appareil.
0xDA Adresse de départ du pilote Adresse de rappel WMI à l’intérieur du pilote Réservé Une tentative de déchargement d’un pilote qui n’a pas annulé sa fonction de rappel WMI a été effectuée.
0xDB Adresse de l’objet d’appareil Réservé Réservé Une tentative de suppression d’un objet d’appareil qui n’a pas été désinscrit de WMI a été effectuée.
0xDC Réservé Réservé Réservé Une valeur RegHandle non valide a été spécifiée en tant que paramètre de la fonction EtwUnregister.
0xDD Adresse de l’appel à EtwRegister Adresse de départ du pilote de déchargement Pour Windows 8 et versions ultérieures, ce paramètre est la valeur ETW RegHandle. Une tentative de déchargement d’un pilote sans appeler EtwUnregister a été effectuée.
0xDF Adresse de l’objet de synchronisation 0 0 L’objet de synchronisation se trouve dans l’espace d’adressage de session. Les objets de synchronisation ne sont pas autorisés dans l’espace d’adressage de session, car ils peuvent être manipulés à partir d’une autre session ou à partir de threads système qui n’ont pas d’espace d’adressage virtuel de session.
0xE0 Adresse en mode utilisateur utilisée comme paramètre Taille ,en octets, de la plage d’adresses utilisée comme paramètre Réservé Un appel a été effectué à une fonction de noyau du système d’exploitation qui a spécifié une adresse en mode utilisateur en tant que paramètre.
0xE1 Adresse de l’objet de synchronisation Réservé Réservé Un objet de synchronisation a une adresse non valide ou paginable.
0xE2 Adresse de l’IRP Adresse en mode utilisateur présente dans l’IRP Réservé Un IRP avec Irp-RequestorMode> défini sur KernelMode a été trouvé avoir une adresse en mode utilisateur comme l’un de ses membres.
0xE3 Adresse de l’appel à l’API Adresse en mode utilisateur utilisée comme paramètre dans l’API Réservé Un pilote a effectué un appel à une routine ZwXxx en mode noyau avec une adresse en mode utilisateur comme paramètre.
0xE4 Adresse de l’appel à l’API Adresse de la structure de UNICODE_STRING mal formée Réservé Un pilote a effectué un appel à une routine ZwXxx en mode noyau avec une structure UNICODE_STRING mal formée en tant que paramètre.
0xE5 IRQL actuel Réservé Réservé Un appel a été effectué à une API de noyau à l’IRQL incorrect.
0xE6 Adresse à l’intérieur du pilote effectuant l’appel de l’API Zw IRQL actuel API de noyau spéciales. L’API Kernel Zw n’a pas été appelée à IRQL = PASSIVE_LEVEL et avec des API de noyau spéciales activées.
0xEA IRQL actuel Nombre de désactivations APC du thread Adresse du pushlock Un pilote a tenté d’acquérir un pushlock alors que les API sont activés.
0xEB IRQL actuel Nombre de désactivations APC du thread Adresse du pushlock Un pilote a tenté de libérer un pushlock pendant que les API sont activés.
0xF0 Adresse de la mémoire tampon de destination Adresse de la mémoire tampon source Nombre d’octets à copier Un pilote appelé fonction memcpy avec des mémoires tampons source et de destination qui se chevauchent.
0xF5 Adresse du handle NULL Type d’objet Réservé Un pilote a passé un handle NULL à ObReferenceObjectByHandle.
0xF6 Gérer la valeur référencée Adresse du processus actuel Adresse à l’intérieur du pilote qui effectue la référence incorrecte Un pilote référence un handle en mode utilisateur en tant que mode noyau.
0xF7 Valeur de handle spécifiée par l’appelant Type d’objet spécifié par l’appelant AccessMode spécifié par l’appelant Un pilote tente d’obtenir une référence en mode utilisateur pour un handle de noyau dans le contexte du processus système.
0xFA Adresse de routine d’achèvement. Valeur IRQL avant d’appeler la routine d’achèvement Valeur IRQL actuelle, après avoir appelé la routine d’achèvement La routine d’achèvement IRP est retournée à un IRQL qui était différent de l’IRQL auquel la routine a été appelée.
0xFB Adresse de routine d’achèvement Nombre de désactivations APC du thread actuel Nombre de désactivations APC du thread avant d’appeler la routine d’achèvement IRP Le nombre de désactivations APC du thread a été modifié par la routine d’achèvement IRP du pilote. Le nombre de désactivations APC est décrémenté chaque fois qu’un pilote appelle KeEnterCriticalRegion, FsRtlEnterFileSystem ou acquiert un mutex. Le nombre de désactivations APC est incrémenté chaque fois qu’un pilote appelle KeLeaveCriticalRegion, KeReleaseMutex ou FsRtlExitFileSystem. Étant donné que ces appels doivent toujours être en paires, le nombre de désactivations d’APC doit être égal à zéro chaque fois qu’un thread est supprimé. Une valeur négative indique qu’un pilote a désactivé les appels APC sans les réactiver. Une valeur positive indique que l’inverse est vrai.
0xFC Adresse à l’intérieur du pilote qui effectue l’appel d’API incorrect. Valeur ApcContext fournie. Réservé Appel de ZwNotifyChangeKey (en mode noyau) avec une valeur ApcContext non prise en charge.

0x105 à 0x140

Paramètre 1 Paramètre 2 Paramètre 3 Paramètre 4 Cause de l’erreur
0x105 Adresse de l’IRP 0 0 Le pilote utilise ExFreePool au lieu d’IoFreeIrp pour libérer l’IRP.
0x10A 0 0 0 Le pilote tente de facturer le quota de pool au processus d’inactivité.
0x10B 0 0 0 Le pilote tente de charger le quota de pool à partir d’une routine DPC. Cette erreur est incorrecte, car le contexte de processus actuel n’est pas défini.
0x110 Adresse de la routine de service d’interruption Adresse du contexte étendu qui a été enregistré avant l’exécution de l’ISR L’adresse du contexte étendu a été enregistrée après l’exécution de l’ISR La routine de service d’interruption (ISR) du pilote a endommagé le contexte de thread étendu.
0x111 Adresse de la routine de service d’interruption IRQL avant d’exécuter ISR IRQL après l’exécution d’ISR La routine de service d’interruption a retourné un IRQL modifié.
0x115 Adresse du thread responsable de l’arrêt, qui peut être bloquée. 0 0 Le vérificateur de pilotes a détecté que le système a pris plus de 20 minutes et que l’arrêt n’est pas terminé.
0x11A IRQL actuel 0 0 Le pilote appelle KeEnterCriticalRegion au APC_LEVEL IRQL > .
0x11B IRQL actuel 0 0 Le pilote appelle KeLeaveCriticalRegion au APC_LEVEL IRQL > .
0x120 Adresse de la valeur IRQL Adresse de l’objet à attendre Adresse de la valeur de délai d’expiration Le thread attend au DISPATCH_LEVEL IRQL > . Les appelants de KeWaitForSingleObject ou KeWaitForMultipleObjects doivent s’exécuter à IRQL <= DISPATCH_LEVEL.
0x121 Adresse de la valeur IRQL Adresse de l’objet à attendre Adresse de la valeur de délai d’expiration Le thread attend à IRQL est égal à DISPATCH_LEVEL et le délai d’expiration est NULL. Les appelants de KeWaitForSingleObject ou KeWaitForMultipleObjects peuvent s’exécuter sur IRQL <= DISPATCH_LEVEL. Si un pointeur NULL est fourni pour timeout, le thread appelant reste dans un état d’attente jusqu’à ce que l’objet soit signalé.
0x122 Adresse de la valeur IRQL Adresse de l’objet à attendre Adresse de la valeur de délai d’expiration Le thread attend à DISPATCH_LEVEL et la valeur délai d’expiration n’est pas égale à zéro (0). Si timeout != 0, les appelants de KeWaitForSingleObject ou KeWaitForMultipleObjects doivent s’exécuter à IRQL <= APC_LEVEL.
0x123 Adresse de l’objet à attendre 0 0 L’appelant de KeWaitForSingleObject ou KeWaitForMultipleObjects a spécifié l’attente en tant que UserMode, mais l’objet se trouve sur la pile du noyau.
0x130 Adresse de l’élément de travail 0 0 L’élément de travail se trouve dans l’espace d’adressage de session. Les éléments de travail ne sont pas autorisés dans l’espace d’adressage de session, car ils peuvent être manipulés à partir d’une autre session ou à partir de threads système qui n’ont pas d’espace d’adressage virtuel de session.
0x131 Adresse de l’élément de travail 0 0 L’élément de travail est en mémoire paginable. Les éléments de travail doivent être en mémoire non modifiable, car le noyau les utilise à DISPATCH_LEVEL.
0x135 Adresse de l’IRP Nombre de millisecondes autorisées entre l’appel IoCancelIrp et la fin de cette IRP 0 L’IRP annulée ne s’est pas terminée dans le temps prévu Le pilote a pris plus de temps que prévu pour terminer l’IRP annulé.
0x13A Adresse du bloc de pool en cours de libération Valeur incorrecte Adresse de la valeur incorrecte Le pilote a appelé ExFreePool et le vérificateur de pilotes détecte une erreur dans l’une des valeurs internes utilisées pour suivre l’utilisation du pool.
0x13B Adresse du bloc de pool en cours de libération Adresse de la valeur incorrecte Adresse d’un pointeur vers la page mémoire incorrecte Le pilote a appelé ExFreePool et le vérificateur de pilotes détecte une erreur dans l’une des valeurs internes utilisées pour suivre l’utilisation du pool.
0x13C Adresse du bloc de pool en cours de libération Valeur incorrecte Adresse de la valeur incorrecte Le pilote a appelé ExFreePool et le vérificateur de pilotes détecte une erreur dans l’une des valeurs internes utilisées pour suivre l’utilisation du pool.
0x13D Adresse du bloc de pool en cours de libération Adresse de la valeur incorrecte Valeur correcte attendue Le pilote a appelé ExFreePool et le vérificateur de pilotes détecte une erreur dans l’une des valeurs internes utilisées pour suivre l’utilisation du pool.
0x13E Adresse de bloc de pool spécifiée par l’appelant Adresse de bloc de pool suivie par le vérificateur de pilote Pointeur vers l’adresse de bloc de pool suivie par le vérificateur de pilotes L’adresse de bloc de pool spécifiée par l’appelant d’ExFreePool est différente de l’adresse suivie par le vérificateur de pilote.
0x13F Adresse du bloc de pool en cours de libération Nombre d’octets libérés Pointeur vers le nombre d’octets suivis par le vérificateur de pilote Le nombre d’octets de mémoire libérés dans l’appel à ExFreePool est différent du nombre d’octets suivis par le vérificateur de pilote.
0x140 IRQL actuel Adresse MDL Adresse virtuelle associée à cette MDL Une MDL non verrouillée a été construite à partir de la mémoire paginable ou tradable.
0x141 Adresse physique la plus élevée demandée par le pilote pour l’allocation Nombre d’octets à allouer 0 Le pilote demande explicitement de la mémoire physique inférieure à 4 Go.

0x1000 à 0x100B - Interblocages

Paramètre 1 Paramètre 2 Paramètre 3 Paramètre 4 Cause de l’erreur
0x1000 Adresse de la ressource Réservé Réservé Interblocage automatique : le thread actuel a essayé d’acquérir de manière récursive et exclusive une ressource qu’il possède uniquement partagée. Un bogue case activée avec ce paramètre se produit uniquement lorsque l’option Détection d’interblocage du vérificateur de pilote est active.
0x1001 Adresse de la ressource qui a été la cause finale de l’interblocage Réservé Réservé Interblocage : une violation de hiérarchie de verrou a été détectée. Un bogue case activée avec ce paramètre se produit uniquement lorsque l’option Détection d’interblocage du vérificateur de pilote est active. (Utilisez l’extension !deadlock pour plus d’informations.)
0x1002 Adresse de la ressource Réservé Réservé Ressource non initialisée : une ressource a été acquise sans avoir été initialisée en premier. Un bogue case activée avec ce paramètre se produit uniquement lorsque l’option Détection de blocage de Driver Verifier est active.
0x1003 Adresse de la ressource qui est en cours d’interblocage Adresse de la ressource qui aurait dû être publiée en premier Réservé Publication inattendue : une ressource a été publiée dans un ordre incorrect. Un bogue case activée avec ce paramètre se produit uniquement lorsque l’option Détection de blocage de Driver Verifier est active.
0x1004 Adresse de la ressource Adresse du thread qui a acquis la ressource Adresse du thread actif Thread inattendu : le thread incorrect libère une ressource. Un bogue case activée avec ce paramètre se produit uniquement lorsque l’option Détection de blocage de Driver Verifier est active.
0x1005 Adresse de la ressource Réservé Réservé Initialisation multiple : une ressource est initialisée plusieurs fois. Un bogue case activée avec ce paramètre se produit uniquement lorsque l’option Détection de blocage de Driver Verifier est active.
0x1007 Adresse de la ressource Réservé Réservé Ressource non acquise : une ressource est publiée avant d’avoir été acquise. Un bogue case activée avec ce paramètre se produit uniquement lorsque l’option Détection de blocage de Driver Verifier est active.
0x1008 Adresse de verrouillage Réservé Réservé Le pilote a essayé d’acquérir un verrou à l’aide d’une API incompatible pour ce type de verrou.
0x1009 Adresse de verrouillage Réservé Réservé Le pilote a essayé de libérer un verrou à l’aide d’une API qui ne correspond pas à ce type de verrou.
0x100A Adresse du thread de propriétaire Réservé Le thread terminé est propriétaire du verrou.
0x100B Adresse de verrouillage Adresse du thread de propriétaire Réservé Le verrou supprimé appartient toujours à un thread.
0x1010 Objet d’appareil pour lequel l’IRP d’écriture a été émis. Adresse de l’IRP. System-Space adresse virtuelle pour la mémoire tampon décrite par mdL. Le contenu de la mémoire tampon MDL invariante pour l’Irp d’écriture a été modifié.
0x1011 Objet d’appareil pour lequel l’IRP d’écriture a été émis. Adresse de l’IRP. System-Space adresse virtuelle pour la mémoire tampon décrite par mdL. Le contenu de la mémoire tampon MDL invariante pour Read Irp a été modifié pendant la répartition ou la mémoire tampon soutenue par des pages factices.
0x1012 Pointeur vers la chaîne décrivant la violation. Données impliquées dans cette altération (0 si elles ne sont pas utilisées). Données impliquées dans cette altération (0 si elles ne sont pas utilisées). Le stockage de l’état de l’extension du vérificateur a détecté une altération.
0x1013 Pointeur vers l’objet pilote. Pointeur vers les rappels d’E/S d’origine capturés. Réservé (inutilisé). Le vérificateur a détecté une altération interne dans les rappels d’E/S d’origine capturés.

0x2000 à 0x2005 - Problèmes d’intégrité du code

Paramètre 1 Paramètre 2 Paramètre 3 Paramètre 4 Cause de l’erreur
0x2000 Adresse dans le code du pilote où l’erreur a été détectée. Type de pool. Balise de pool (si fournie). Problème d’intégrité du code : l’appelant a spécifié un type de pool exécutable. (Attendu : NonPagedPoolNx)
0x2001 Adresse dans le code du pilote où l’erreur a été détectée. Protection des pages (WIN32_PROTECTION_MASK). 0 Problème d’intégrité du code : l’appelant a spécifié une protection de page exécutable. (Attendu : bits PAGE_EXECUTE* effacés)
0x2002 Adresse dans le code du pilote où l’erreur a été détectée. Priorité de page (MM_PAGE_PRIORITY logiquement OR’d avec MdlMapping*). 0 Problème d’intégrité du code : l’appelant a spécifié un mappage MDL exécutable. (Attendu : MdlMappingNoExecute)
0x2003 Nom du fichier image (chaîne Unicode). Adresse de l’en-tête de section. Nom de section (chaîne encodée UTF-8). Problème d’intégrité du code : l’image contient une section exécutable et accessible en écriture.
0x2004 Nom du fichier image (chaîne Unicode). Adresse de l’en-tête de section. Nom de section (chaîne encodée UTF-8). Problème d’intégrité du code : l’image contient une section qui n’est pas alignée sur la page.
0x2005 Nom du fichier image (chaîne Unicode). Répertoire IAT. Nom de la section (chaîne encodée en UTF-8). Problème d’intégrité du code : l’image contient un IAT situé dans une section exécutable.

0xA001 à 0xA00D - Problèmes de commutateur de machine virtuelle

Paramètre 1 Paramètre 2 Paramètre 3 Paramètre 4 Cause de l’erreur
0xA001 Pointeur vers l’objet NetBufferList Pointeur vers l’objet de commutateur virtuel (si NON NULL) Réservé (inutilisé) Commutateur de machine virtuelle : Le SourceHandle pour le NetBufferList fourni par l’appelant doit être défini. Consultez la routine AllocateNetBufferListForwardingContext .
0xA002 Pointeur vers l’objet NetBufferList Pointeur vers l’objet de commutateur virtuel (si NON NULL). Réservé (inutilisé) Commutateur de machine virtuelle : l’appelant a fourni les détails de transfert de NetBufferList n’est pas égal à zéro. Consultez la routine AllocateNetBufferListForwardingContext .
0xA003 Pointeur vers l’objet NetBufferList Pointeur vers l’objet de commutateur virtuel (si NON NULL). Réservé (inutilisé) Commutateur de machine virtuelle : l’appelant a fourni un NetBufferList avec un en-tête de paquet ou un contexte de routage null. Consultez Instructions de gestion des paquets pour le chemin des données de commutateur extensible.
0xA004 ID du port non valide Index de carte réseau Pointeur vers l’objet de commutateur virtuel (si NON NULL). Commutateur de machine virtuelle : l’appelant a spécifié une combinaison d’index de port et de carte réseau non valide. Consultez États du port et de la carte réseau du commutateur extensible Hyper-V.
0xA005 Pointeur vers l’objet NetBufferList Pointeur vers la liste Destination. Pointeur vers l’objet de commutateur virtuel (si NON NULL). Commutateur de machine virtuelle : l’appelant a fourni une destination non valide. Consultez AddNetBufferListDestination et UpdateNetBufferListDestinations.
0xA006 Pointeur vers l’objet NetBufferList Pointeur vers l’objet de commutateur virtuel (si NON NULL). Réservé (inutilisé) Commutateur de machine virtuelle : l’appelant a fourni une carte réseau source ou un objet Port non valide. Consultez États du port et de la carte réseau du commutateur extensible Hyper-V.
0xA007 Pointeur vers l’objet NetBufferList Pointeur vers l’objet de commutateur virtuel (si NON NULL). Réservé (inutilisé) Commutateur de machine virtuelle : l’appelant a fourni une liste de destination non valide. Consultez AddNetBufferListDestination et UpdateNetBufferListDestinations.
0xA008 Objet de carte réseau parente Index de carte réseau Pointeur vers l’objet de commutateur virtuel (si NON NULL). Commutateur de machine virtuelle : tentative de référence d’une carte réseau quand elle n’est pas autorisée. Consultez États du port et de la carte réseau du commutateur extensible Hyper-V.
0xA009 Port référencé Pointeur vers l’objet de commutateur virtuel (si NON NULL) Réservé (inutilisé) Commutateur de machine virtuelle : essayez de référencer un port quand il n’est pas autorisé. Consultez États du port et de la carte réseau du commutateur extensible Hyper-V.
0xA00A Pointeur vers l’objet NetBufferList Objet ContextTypeInfo Réservé (inutilisé) Commutateur de machine virtuelle : le contexte d’échec est déjà défini. Consultez SetNetBufferListSwitchContext.
0xA00B Pointeur vers l’objet NetBufferList NDIS_SWITCH_REPORT_FILTERED_NBL_FLAGS_* Pointeur vers l’objet de commutateur virtuel (si NON NULL) Commutateur de machine virtuelle : direction non valide fournie pour la suppression de NetBufferList. Consultez ReportFilteredNetBufferLists.
0xA00C Pointeur vers l’objet NetBufferList Valeur d’envoi d’indicateurs Pointeur vers l’objet de commutateur virtuel (si NON NULL) Commutateur de machine virtuelle : la chaîne NetBufferList a plusieurs ports sources lorsque NDIS_SEND_FLAGS_SWITCH_SINGLE_SOURCE indicateur est défini. Consultez Indicateurs d’envoi et de réception du commutateur extensible Hyper-V.
0xA00D Pointeur vers l’objet NetBufferList Pointeur vers le contexte de commutateur virtuel Pointeur vers l’objet de commutateur virtuel (si NON NULL) Commutateur de machine virtuelle : un ou plusieurs NetBufferLists dans la chaîne ont une destination non valide quand NDIS_RECEIVE_FLAGS_SWITCH_DESTINATION_GROUP indicateur est défini. Consultez Indicateurs d’envoi et de réception du commutateur extensible Hyper-V.
0xA00E Pointeur vers l’objet NetBufferLists. Pointeur vers le contexte du commutateur virtuel. Pointeur vers l’objet de commutateur virtuel (si NON NULL). Commutateur de machine virtuelle : tentative d’exécution de NetBufferList via WNV lorsque VMS_NBL_ROUTING_CONTEXT_FLAG_NO_WNV_PROCESSING indicateur est défini.

0x00020002 à 0x00020022 - Violations des règles de conformité DDI

Paramètre 1 Paramètre 2 Paramètre 3 Paramètre 4 Cause de l’erreur
0x00020002 Pointeur vers la chaîne qui décrit la condition de règle violée. Pointeur facultatif vers la ou les variables d’état de la règle. Réservé Le pilote a violé la règle de conformité DDI IrqlApcLte. La règle spécifie que le pilote doit appeler ObGetObjectSecurity et ObReleaseObjectSecurity uniquement lorsque IRQL <= APC_LEVEL.
0x00020003 Pointeur vers la chaîne qui décrit la condition de règle violée. Pointeur facultatif vers la ou les variables d’état de la règle. Réservé Le pilote a violé la règle de conformité DDI IrqlDispatch. La règle IrqlDispatch spécifie que le pilote doit appeler certaines routines uniquement lorsque IRQL = DISPATCH_LEVEL
0x00020004 Pointeur vers la chaîne qui décrit la condition de règle violée. Pointeur facultatif vers la ou les variables d’état de la règle. Réservé Le pilote a violé la règle de conformité DDI IrqlExAllocatePool. La règle IrqlExAllocatePool spécifie que le pilote appelle ExAllocatePoolWithTag et ExAllocatePoolWithTagPriority uniquement à l’adresse IRQL<=DISPATCH_LEVEL.
0x00020005 Pointeur vers la chaîne qui décrit la condition de règle violée. Pointeur facultatif vers la ou les variables d’état de la règle. Réservé Le pilote a violé la règle de conformité DDI IrqlExApcLte1. La règle IrqlExApcLte1 spécifie que le pilote appelle ExAcquireFastMutex et ExTryToAcquireFastMutex uniquement à IRQL <= APC_LEVEL.
0x00020006 Pointeur vers la chaîne qui décrit la condition de règle violée. Pointeur facultatif vers la ou les variables d’état de la règle. Réservé Le pilote a enfreint la règle de conformité DDI IrqlExApcLte2. La règle IrqlExApcLte2 spécifie que le pilote appelle certaines routines uniquement lorsque IRQL <= APC_LEVEL.
0x00020007 Pointeur vers la chaîne qui décrit la condition de règle violée. Pointeur facultatif vers la ou les variables d’état de la règle. Réservé Le pilote a violé la règle de conformité DDI IrqlExApcLte3. La règle IrqlExApcLte3 spécifie que le pilote doit appeler certaines routines de support exécutif uniquement lorsque IRQL <= APC_LEVEL.
0x00020008 Pointeur vers la chaîne qui décrit la condition de règle violée. Pointeur facultatif vers la ou les variables d’état de la règle. Réservé Le pilote a enfreint la règle de conformité DDI IrqlExPassive. La règle IrqlExPassive spécifie que le pilote doit appeler certaines routines de support exécutif uniquement lorsque IRQL = PASSIVE_LEVEL.
0x00020009 Pointeur vers la chaîne qui décrit la condition de règle violée. Pointeur facultatif vers la ou les variables d’état de la règle. Réservé Le pilote a violé la règle de conformité DDI IrqlIoApcLte. La règle IrqlIoApcLte spécifie que le pilote doit appeler certaines routines du gestionnaire d’E/S uniquement lorsque IRQL <= APC_LEVEL.
0x0002000A Pointeur vers la chaîne qui décrit la condition de règle violée. Pointeur facultatif vers la ou les variables d’état de la règle. Réservé Le pilote a violé la règle de conformité DDI IrqlIoPassive1. La règle IrqlIoPassive1 spécifie que le pilote doit appeler certaines routines du gestionnaire d’E/S uniquement quand IRQL = PASSIVE_LEVEL.
0x0002000B Pointeur vers la chaîne qui décrit la condition de règle violée. Pointeur facultatif vers la ou les variables d’état de la règle. Réservé Le pilote a violé la règle de conformité DDI IrqlIoPassive2. La règle IrqlIoPassive2 spécifie que le pilote doit appeler certaines routines du gestionnaire d’E/S uniquement lorsque IRQL = PASSIVE_LEVEL.
0x0002000C Pointeur vers la chaîne qui décrit la condition de règle violée. Pointeur facultatif vers la ou les variables d’état de la règle. Réservé Le pilote a violé la règle de conformité DDI IrqlIoPassive3. La règle IrqlIoPassive3 spécifie que le pilote doit appeler certaines routines du gestionnaire d’E/S uniquement lorsque IRQL = PASSIVE_LEVEL.
0x0002000D Pointeur vers la chaîne qui décrit la condition de règle violée. Pointeur facultatif vers la ou les variables d’état de la règle. Réservé Le pilote a violé la règle de conformité DDI IrqlIoPassive4. La règle IrqlIoPassive4 spécifie que le pilote doit appeler certaines routines du gestionnaire d’E/S uniquement lorsque IRQL = PASSIVE_LEVEL.
0x0002000E Pointeur vers la chaîne qui décrit la condition de règle violée. Pointeur facultatif vers la ou les variables d’état de la règle. Réservé Le pilote a violé la règle de conformité DDI IrqlIoPassive5. La règle IrqlIoPassive5 spécifie que le pilote doit appeler certaines routines du gestionnaire d’E/S uniquement lorsque IRQL = PASSIVE_LEVEL.
0x0002000F Pointeur vers la chaîne qui décrit la condition de règle violée. Pointeur facultatif vers la ou les variables d’état de la règle. Réservé Le pilote a violé la règle de conformité DDI IrqlKeApcLte1. La règle IrqlKeApcLte1 spécifie que le pilote doit appeler certaines routines de noyau uniquement quand IRQL <= APC_LEVEL.
0x00020010 Pointeur vers la chaîne qui décrit la condition de règle violée. Pointeur facultatif vers la ou les variables d’état de la règle. Réservé Le pilote a violé la règle de conformité DDI IrqlKeApcLte2. La règle IrqlKeApcLte2 spécifie que le pilote doit appeler certaines routines de noyau uniquement quand IRQL <= APC_LEVEL.
0x00020011 Pointeur vers la chaîne qui décrit la condition de règle violée. Pointeur facultatif vers la ou les variables d’état de la règle. Réservé Le pilote a violé la règle de conformité DDI IrqlKeDispatchLte. La règle IrqlKeDispatchLte spécifie que le pilote doit appeler certaines routines de noyau uniquement lorsque IRQL <= DISPATCH_LEVEL.
0x00020015 Pointeur vers la chaîne qui décrit la condition de règle violée. Pointeur facultatif vers la ou les variables d’état de la règle. Réservé Le pilote a enfreint la règle de conformité DDI IrqlKeReleaseSpinLock. La règle IrqlKeReleaseSpinLock spécifie que le pilote doit appeler KeReleaseSpinLock uniquement lorsque IRQL = DISPATCH_LEVEL.
0x00020016 Pointeur vers la chaîne qui décrit la condition de règle violée. Pointeur facultatif vers la ou les variables d’état de règle. Réservé Le pilote a enfreint la règle de conformité DDI IrqlKeSetEvent. La règle IrqlKeSetEvent spécifie que la routine KeSetEvent n’est appelée qu’à IRQL <= DISPATCH_LEVEL lorsque Wait a la valeur FALSE et à IRQL <= APC_LEVEL lorsque Wait a la valeur TRUE.
0x00020019 Pointeur vers la chaîne qui décrit la condition de règle violée. Pointeur facultatif vers la ou les variables d’état de règle. Réservé Le conducteur a enfreint la règle de conformité DDI IrqlMmApcLte. La règle IrqlMmApcLte spécifie que le pilote doit appeler certaines routines du gestionnaire de mémoire uniquement lorsque IRQL <= APC_LEVEL.
0x0002001A Pointeur vers la chaîne qui décrit la condition de règle violée. Pointeur facultatif vers la ou les variables d’état de règle. Réservé Le pilote a enfreint la règle de conformité DDI IrqlMmDispatch. La règle IrqlMmDispatch spécifie que le pilote doit appeler MmFreeContiguousMemory uniquement lorsque IRQL = DISPATCH_LEVEL.
0x0002001B Pointeur vers la chaîne qui décrit la condition de règle violée. Pointeur facultatif vers la ou les variables d’état de règle. Réservé Le conducteur a enfreint la règle de conformité DDI IrqlObPassive. La règle IrqlObPassive spécifie que le pilote doit appeler ObReferenceObjectByHandle uniquement lorsque IRQL = PASSIVE_LEVEL.
0x0002001C Pointeur vers la chaîne qui décrit la condition de règle violée. Pointeur facultatif vers la ou les variables d’état de règle. Réservé Le pilote a enfreint la règle de conformité DDI IrqlPsPassive. La règle IrqlPsPassive spécifie que le pilote doit appeler certaines routines de processus et de gestionnaire de threads uniquement lorsque IRQL = PASSIVE_LEVEL.
0x0002001D Pointeur vers la chaîne qui décrit la condition de règle violée. Adresse de l’état de la règle interne (deuxième argument de !ruleinfo). Adresse d’états supplémentaires (troisième argument à !ruleinfo). Le conducteur a enfreint la règle de conformité DDI IrqlReturn.
0x0002001E Pointeur vers la chaîne qui décrit la condition de règle violée. Pointeur facultatif vers la ou les variables d’état de règle. Réservé Le conducteur a enfreint la règle de conformité DDI IrqlRtlPassive. La règle IrqlRtlPassive spécifie que le pilote doit appeler RtlDeleteRegistryValue uniquement lorsque IRQL = PASSIVE_LEVEL.
0x0002001F Pointeur vers la chaîne qui décrit la condition de règle violée. Pointeur facultatif vers la ou les variables d’état de règle. Réservé Le conducteur a enfreint la règle de conformité DDI IrqlZwPassive. La règle IrqlZwPassive spécifie que le pilote doit appeler ZwClose uniquement lorsque IRQL = PASSIVE_LEVEL.
0x00020022 Pointeur vers la chaîne qui décrit la condition de règle violée. Réservé (inutilisé) Réservé (inutilisé) Le pilote a enfreint la règle de conformité DDI IrqlIoDispatch.
0x00020023 Pointeur vers la chaîne décrivant la condition de règle violée. Réservé (inutilisé). Réservé (inutilisé). Le pilote a enfreint la règle de conformité DDI IrqlIoRtlZwPassive. La règle IrqlIoRtlZwPassive spécifie que le pilote appelle les DDIs répertoriés dans la règle uniquement lorsqu’il s’exécute à IRQL = PASSIVE_LEVEL.
0x00020024 Pointeur vers la chaîne décrivant la condition de règle violée. Réservé (inutilisé). Réservé (inutilisé). Le conducteur a enfreint la règle de conformité DDI IrqlNtifsApcPassive. La règle IrqlNtifsApcPassive spécifie que le pilote appelle les DDIs répertoriés dans la règle uniquement lorsqu’il s’exécute à l’adresse IRQL = PASSIVE_LEVEL ou à IRQL <= APC_LEVEL.
0x00020025 Pointeur vers la chaîne décrivant la condition de règle violée. Réservé (inutilisé). Réservé (inutilisé). Le pilote a enfreint la règle de conformité DDI interne à Microsoft IrqlKeMore.

0x00040003 à 0x00043006 - Violations des règles de conformité DDI

Paramètre 1 Paramètre 2 Paramètre 3 Paramètre 4 Cause de l’erreur
0x00040003 Pointeur vers la chaîne qui décrit la condition de règle violée. Adresse de l’état de la règle interne (deuxième argument de !ruleinfo). Adresse d’états supplémentaires (troisième argument à !ruleinfo). Le pilote a enfreint la règle de conformité DDI CriticalRegions.
0x00040006 Pointeur vers la chaîne qui décrit la condition de règle violée. Adresse de l’état de la règle interne (deuxième argument de !ruleinfo). Adresse d’états supplémentaires (troisième argument à !ruleinfo). Le pilote a enfreint la règle de conformité DDI QueuedSpinLock.
0x00040007 Pointeur vers la chaîne qui décrit la condition de règle violée. Adresse de l’état de la règle interne (deuxième argument de !ruleinfo). Adresse d’états supplémentaires (troisième argument à !ruleinfo). Le pilote a enfreint la règle de conformité DDI QueuedSpinLockRelease.
0x00040009 Pointeur vers la chaîne qui décrit la condition de règle violée. Adresse de l’état de la règle interne (deuxième argument de !ruleinfo). Adresse d’états supplémentaires (troisième argument à !ruleinfo). Le pilote a enfreint la règle de conformité DDI SpinLock.
0x0004000A Pointeur vers la chaîne qui décrit la condition de règle violée. Adresse de l’état de la règle interne (deuxième argument de !ruleinfo) Adresse d’états supplémentaires (troisième argument à !ruleinfo). Le pilote a violé la règle de conformité DDI SpinlockRelease.
0x0004000E Pointeur vers la chaîne qui décrit la condition de règle violée. Adresse de l’état de la règle interne (deuxième argument à !ruleinfo). Adresse des états supplémentaires (troisième argument pour !ruleinfo). Le pilote a violé la règle de conformité DDI GuardedRegions.
0x0004100B Pointeur vers la chaîne qui décrit la condition de règle violée. Réservé (inutilisé) Réservé (inutilisé) Le pilote a violé la règle de conformité DDI RequestedPowerIrp.
0x0004100F Pointeur vers la chaîne qui décrit la condition de règle violée. Adresse de l’état de la règle interne (deuxième argument à !ruleinfo). Adresse des états supplémentaires (troisième argument pour !ruleinfo). Le pilote a violé la règle de conformité DDI IoSetCompletionExCompleteIrp.
0x00043006 Pointeur vers la chaîne qui décrit la condition de règle violée. Réservé (inutilisé) Réservé (inutilisé) Le pilote a violé la règle de conformité DDI PnpRemove.

0x00081001 à 0x00082005 - Violations des règles de conformité du pilote AVStream

Paramètre 1 Paramètre 2 Paramètre 3 Paramètre 4 Cause de l’erreur
0x00081001 Pointeur vers la chaîne qui décrit la condition de règle violée. Adresse de l’état de la règle interne (deuxième argument à !ruleinfo). Adresse des états supplémentaires (troisième argument pour !ruleinfo). Le pilote a violé la règle de conformité DDI KsDeviceMutex.
0x00081002 Pointeur vers la chaîne qui décrit la condition de règle violée. Adresse de l’état de la règle interne (deuxième argument à !ruleinfo). Adresse des états supplémentaires (troisième argument pour !ruleinfo). Le pilote a violé la règle de conformité DDI KsStreamPointerClone.
0x00081003 Pointeur vers la chaîne qui décrit la condition de règle violée. Réservé (inutilisé) Réservé (inutilisé) Le pilote a violé la règle de conformité DDI KsStreamPointerLock.
0x00081004 Pointeur vers la chaîne qui décrit la condition de règle violée. Adresse de l’état de la règle interne (deuxième argument à !ruleinfo). Adresse des états supplémentaires (troisième argument pour !ruleinfo). Le pilote a enfreint la règle de conformité DDI KsStreamPointerUnlock.
0x00081005 Pointeur vers la chaîne qui décrit la condition de règle violée. Réservé (inutilisé) Réservé (inutilisé) Le pilote a enfreint la règle de conformité DDI KsCallbackReturn.
0x00081006 Pointeur vers la chaîne qui décrit la condition de règle violée. Adresse de l’état de la règle interne (deuxième argument à !ruleinfo). Adresse des états supplémentaires (troisième argument pour !ruleinfo). Le pilote a violé la règle de conformité DDI KsIrqlDeviceCallbacks.
0x00081007 Pointeur vers la chaîne qui décrit la condition de règle violée. Adresse de l’état de la règle interne (deuxième argument à !ruleinfo). Adresse des états supplémentaires (troisième argument pour !ruleinfo). Le pilote a violé la règle de conformité DDI KsIrqlFilterCallbacks.
0x00081008 Pointeur vers la chaîne qui décrit la condition de règle violée. Adresse de l’état de la règle interne (deuxième argument à !ruleinfo). Adresse des états supplémentaires (troisième argument pour !ruleinfo). Le pilote a violé la règle de conformité DDI KsIrqlPinCallbacks.
0x00081009 Pointeur vers la chaîne qui décrit la condition de règle violée. Réservé (inutilisé) Réservé (inutilisé) Le pilote a violé la règle de conformité DDI KsIrqlDDIs.
0x0008100A Pointeur vers la chaîne qui décrit la condition de règle violée. Adresse de l’état de la règle interne (deuxième argument à !ruleinfo). Adresse des états supplémentaires (troisième argument pour !ruleinfo). Le pilote a violé la règle de conformité DDI KsFilterMutex.
0x0008100B Pointeur vers la chaîne qui décrit la condition de règle violée. Adresse de l’état de la règle interne (deuxième argument à !ruleinfo). Adresse des états supplémentaires (troisième argument pour !ruleinfo). Le pilote a enfreint la règle de conformité DDI KsProcessingMutex.
0x0008100C Pointeur vers la chaîne qui décrit la condition de règle violée. Adresse de l’état de la règle interne (deuxième argument à !ruleinfo). Adresse des états supplémentaires (troisième argument pour !ruleinfo). Le pilote a violé la règle de conformité DDI KsInvalidStreamPointer.
0x00082001 Pointeur vers la chaîne qui décrit la condition de règle violée. Adresse de l’état de la règle interne (deuxième argument à !ruleinfo). Adresse des états supplémentaires (troisième argument pour !ruleinfo). Le pilote a violé la règle de conformité DDI KsTimedPinSetDeviceState.
0x00082002 Pointeur vers la chaîne qui décrit la condition de règle violée. Adresse de l’état de la règle interne (deuxième argument à !ruleinfo). Adresse des états supplémentaires (troisième argument pour !ruleinfo). Le pilote a violé la règle de conformité DDI KsTimedDeviceCallbacks.
0x00082003 Pointeur vers la chaîne qui décrit la condition de règle violée. Adresse de l’état de la règle interne (deuxième argument à !ruleinfo). Adresse des états supplémentaires (troisième argument pour !ruleinfo). Le pilote a violé la règle de conformité DDI KsTimedFilterCallbacks.
0x00082004 Pointeur vers la chaîne qui décrit la condition de règle violée. Adresse de l’état de la règle interne (deuxième argument à !ruleinfo). Adresse des états supplémentaires (troisième argument pour !ruleinfo). Le pilote a violé la règle de conformité DDI KsTimedPinCallbacks.
0x00082005 Pointeur vers la chaîne qui décrit la condition de règle violée. Adresse de l’état de la règle interne (deuxième argument à !ruleinfo). Adresse des états supplémentaires (troisième argument pour !ruleinfo). Le pilote a violé la règle de conformité DDI KsTimedProcessingMutex.

0x00091001 à 0x0009400C - Violations des règles de conformité DDI NDIS

Paramètre 1 Paramètre 2 Paramètre 3 Paramètre 4 Cause de l’erreur
0x00091001 Pointeur vers la chaîne qui décrit la condition de règle violée. Adresse de l’état de la règle interne (deuxième argument à !ruleinfo). Adresse des états supplémentaires (troisième argument pour !ruleinfo). Le pilote a violé la règle de conformité DDI NdisOidComplete.
0x00091002 Pointeur vers la chaîne qui décrit la condition de règle violée. Adresse de l’état de la règle interne (deuxième argument à !ruleinfo). Adresse des états supplémentaires (troisième argument pour !ruleinfo). Le pilote a violé la règle de conformité DDI NdisOidDoubleComplete.
0x0009100E Pointeur vers la chaîne qui décrit la condition de règle violée. Adresse de l’état de la règle interne (deuxième argument à !ruleinfo). Adresse des états supplémentaires (troisième argument pour !ruleinfo). Le pilote a violé la règle de conformité DDI NdisOidDoubleRequest.
0x00092003 Pointeur vers la chaîne qui décrit la condition de règle violée. Adresse de l’état de la règle interne (deuxième argument à !ruleinfo). Adresse des états supplémentaires (troisième argument pour !ruleinfo). Le pilote a violé la règle de vérification NDIS/WIFI NdisTimedOidComplete.
0x0009200D Pointeur vers la chaîne qui décrit la condition de règle violée. Adresse de l’état de la règle interne (deuxième argument à !ruleinfo). Adresse des états supplémentaires (troisième argument pour !ruleinfo). Le pilote a violé la règle de vérification NDIS/WIFI NdisTimedDataSend.
0x0009200F Pointeur vers la chaîne qui décrit la condition de règle violée. Adresse de l’état de la règle interne (deuxième argument à !ruleinfo). Adresse des états supplémentaires (troisième argument pour !ruleinfo). Le pilote a violé la règle de vérification NDIS/WIFI NdisTimedDataHang.
0x00092010 Pointeur vers la chaîne qui décrit la condition de règle violée. Adresse de l’état de la règle interne (deuxième argument à !ruleinfo). Adresse des états supplémentaires (troisième argument pour !ruleinfo). Le pilote a violé la règle de vérification NDIS/WIFI NdisFilterTimedPauseComplete.
0x00092011 Pointeur vers la chaîne qui décrit la condition de règle violée. Adresse de l’état de la règle interne (deuxième argument à !ruleinfo). Adresse des états supplémentaires (troisième argument pour !ruleinfo). Le pilote a violé la règle de vérification NDIS/WIFI NdisFilterTimedDataSend.
0x00092012 Pointeur vers la chaîne qui décrit la condition de règle violée. Adresse de l’état de la règle interne (deuxième argument à !ruleinfo). Adresse des états supplémentaires (troisième argument pour !ruleinfo). Le pilote a violé la règle de vérification NDIS/WIFI NdisFilterTimedDataReceive.
0x00093004 Pointeur vers la chaîne qui décrit la condition de règle violée. Adresse de l’état de la règle interne (deuxième argument à !ruleinfo). Adresse des états supplémentaires (troisième argument pour !ruleinfo). Le conducteur a violé la règle de vérification NDIS/WIFI WlanAssociation.
0x00093005 Pointeur vers la chaîne qui décrit la condition de règle violée. Adresse de l’état de la règle interne (deuxième argument à !ruleinfo). Adresse des états supplémentaires (troisième argument pour !ruleinfo). Le conducteur a violé la règle de vérification NDIS/WIFI WlanConnectionRoaming.
0x00093006 Pointeur vers la chaîne qui décrit la condition de règle violée. Adresse de l’état de la règle interne (deuxième argument à !ruleinfo). Adresse des états supplémentaires (troisième argument pour !ruleinfo). Le conducteur a violé la règle de vérification NDIS/WIFI WlanDisassociation.
0x00093101 Pointeur vers la chaîne décrivant la condition de règle violée. Réservé (inutilisé) Réservé (inutilisé) Le conducteur a violé la règle de vérification NDIS/WIFI WlanAssert.
0x00094007 Pointeur vers la chaîne qui décrit la condition de règle violée. Adresse de l’état de la règle interne (deuxième argument à !ruleinfo). Adresse des états supplémentaires (troisième argument pour !ruleinfo). Le conducteur a violé la règle de vérification NDIS/WIFI WlanTimedAssociation.
0x00094008 Pointeur vers la chaîne qui décrit la condition de règle violée. Adresse de l’état de la règle interne (deuxième argument à !ruleinfo). Adresse des états supplémentaires (troisième argument pour !ruleinfo). Le conducteur a enfreint la règle de vérification NDIS/WIFI WlanTimedConnectionRoaming.
0x00094009 Pointeur vers la chaîne qui décrit la condition de règle violée. Adresse de l’état de la règle interne (deuxième argument à !ruleinfo). Adresse des états supplémentaires (troisième argument pour !ruleinfo). Le conducteur a violé la règle de vérification NDIS/WIFI WlanTimedConnectRequest.
0x0009400B Pointeur vers la chaîne qui décrit la condition de règle violée. Adresse de l’état de la règle interne (deuxième argument de !ruleinfo). Adresse d’états supplémentaires (troisième argument à !ruleinfo). Le conducteur a enfreint la règle de vérification NDIS/WIFI WlanTimedLinkQuality.
0x0009400C Pointeur vers la chaîne qui décrit la condition de règle violée. Adresse de l’état de la règle interne (deuxième argument de !ruleinfo). Adresse d’états supplémentaires (troisième argument à !ruleinfo). Le conducteur a enfreint la règle de vérification NDIS/WIFI WlanTimedScan.

Cause

Pour obtenir une description de la cause, consultez la description de chaque code dans la section Paramètres. Vous pouvez obtenir des informations supplémentaires à l’aide de l’extension !analyze -v .

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. Vous pouvez également envisager de supprimer le pilote à l’origine de ce problème.

Si vous êtes l’enregistreur 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.

Remarques

Les codes _POOL_TYPE sont énumérés dans Ntddk.h. En particulier, 0 (zéro) indique le pool non paginé et 1 (un) indique le pool paginé.

(Windows 8 et versions ultérieures de Windows) Si la vérification dela conformité DDI provoque un bogue case activée, exécutez Static Driver Verifier sur le code source du pilote et spécifiez la règle de conformité DDI (identifiée par la valeur du paramètre 1) à l’origine du bogue case activée. Static Driver Verifier peut vous aider à localiser la cause du problème dans votre code source.

Voir aussi

Gestion d’une vérification des bogues lorsque le vérificateur de pilotes est activé