0xC4 de vérification des bogues : DRIVER_VERIFIER_DETECTED_VIOLATION

La vérification des bogues DRIVER_VERIFIER_DETECTED_VIOLATION a la valeur 0x000000C4. Il s’agit du code général de vérification des bogues 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 des bogues lorsque le vérificateur de pilote est activé.

Important

Cette rubrique s’adresse aux développeurs. 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 selon la valeur du paramètre 1. Les valeurs de paramètre sont décrites dans le tableau suivant.

Note Si vous ne parvenez pas à afficher toutes les 5 colonnes de ce tableau, essayez ce qui suit :

  • Développez la fenêtre de votre navigateur à pleine taille.
  • 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 de zéro octets.
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 IRQL > DISPATCH_LEVEL.
0x03 L’appelant tente d’allouer plusieurs pages de doit réussir le pool, mais une page est la valeur 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 le 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 du 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 Adresse du pool 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 passé des paramètres non valides à une routine de mémoire.
0X17 Entrée de ressource Type de pool Adresse du pool 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 passé un paramètre non valide à KeRaiseIrql. (Le paramètre était soit une valeur inférieure à la valeur IRQL actuelle, 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 : New IRQL is bad 1: New IRQL is invalid inside a DPC routine Le pilote a passé un paramètre non valide à KeLowerIrql. (Le paramètre était soit une valeur supérieure à la valeur IRQL actuelle, 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 à 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 IRQL > APC_LEVEL.
0x34 IRQL actuel Nombre de désactivations d’APC de thread Adresse mutex rapide Le pilote a tenté de libérer le 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 verrouillage spin 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 d’APC de thread Ressource Le pilote a essayé d’acquérir une ressource, mais les API ne sont pas désactivées.
0x38 IRQL actuel Nombre de désactivations d’APC de thread Ressource Le pilote a essayé de libérer une ressource, mais les API ne sont pas désactivées.
0x39 IRQL actuel Nombre de désactivations d’APC de thread Mutex Le pilote a tenté d’acquérir un mutex « unsafe » avec IRQL non égal à APC_LEVEL lors de l’entrée.
0x3A IRQL actuel Nombre de désactivations d’APC de thread Mutex Le pilote a essayé de libérer un mutex « unsafe » avec IRQL non égal à APC_LEVEL lors de l’entrée.
0x3B IRQL actuel Objet à attendre Paramètre de 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 n’est pas actuellement 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 qui a un nombre de références égal à zéro, ou le pilote a appliqué ObDereferenceObject à un objet dont le nombre de références est égal à 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 IRQL < DISPATCH_LEVEL.
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. Une vérification des bogues 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. Une vérification des bogues 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. Une vérification des bogues 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. Une vérification des bogues 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. Une vérification des bogues 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. Une vérification des bogues 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 de la mémoire du pool pendant le déchargement du pilote. Une vérification des bogues 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 le pool paginé et non paginé Le pilote se décharge sans libérer d’abord ses allocations de pool. Une vérification des bogues avec ce paramètre se produit uniquement lorsque l’option De suivi du pool de Driver Verifier est active. Type !vérificateur 3 drivername.sys pour obtenir des informations sur les allocations qui ont été divulguées qui ont provoqué la vérification de bogue.
0x6F Adresse MDL Page physique verrouillée Page physique la plus élevée dans le 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, il peut également endommager la mémoire sur les machines avec une RAM physique non contigue.

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 : 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 non mappée Adresse MDL Le pilote appelé MmUnmapLockedPages en mode noyau avec IRQL > DISPATCH_LEVEL.
0x7A IRQL actuel Adresse virtuelle non mappée Adresse MDL Le pilote appelé MmUnmapLockedPages en mode utilisateur avec IRQL > APC_LEVEL.
0x7B IRQL actuel Adresse virtuelle non mappée Nombre d'octets Le pilote appelé MmUnmapIoSpace avec IRQL > APC_LEVEL.
0x7C Adresse MDL Indicateurs MDL 0 Le pilote a appelé MmUnlockPages et 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 et passé un 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 et passé un MDL dont les pages proviennent du 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 Le 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 du cadre de 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 mappée doivent avoir été verrouillées avant d’effectuer cet appel.
0x85 Adresse MDL Nombre de pages à mapper Numéro du cadre de première page qui n’est pas verrouillé Le pilote appelé MmMapLockedPages sans avoir verrouillé les pages MDL.
0x89 Adresse MDL Pointeur vers la page non mémoire dans mdL Numéro de page non mémoire dans mdL Un MDL n’est pas marqué comme « E/S », mais il contient des adresses de page non mémoire.
0x91 Réservé Réservé Réservé Les piles basculées du pilote à l’aide d’une méthode qui n’est pas prise en charge par le système d’exploitation. La seule façon prise en charge d’é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 appareil de l’appareil inférieur Nombre du secteur dans lequel l’erreur a été détectée Une erreur de vérification de redondance cyclique (CRC) a été détectée sur un disque dur. Une vérification de bogue avec ce paramètre se produit uniquement lorsque l’option Vérification de l’intégrité du disque du vérificateur de pilote est active.
0xA1 Copie de l’IRP qui effectue la demande de lecture ou d’écriture. (L’IRP réel a été effectué.) Objet appareil de l’appareil inférieur Nombre du secteur dans lequel l’erreur a été détectée Une erreur CRC a été détectée sur un secteur (de façon asynchrone). Une vérification de bogue avec ce paramètre se produit uniquement lorsque l’option Vérification de l’intégrité du disque du vérificateur de pilote est active.
0xA2 IRP effectuant la demande de lecture ou d’écriture, ou une copie de cet IRP Objet appareil de l’appareil inférieur Nombre 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. Une vérification de bogue avec ce paramètre se produit uniquement lorsque l’option Vérification de l’intégrité du disque du vérificateur de pilote est active.
0xB0 Adresse MDL Indicateurs MDL Indicateurs MDL incorrects Le pilote appelé MmProbeAndLockPages pour un 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 un MDL avec des indicateurs incorrects. Par exemple, le pilote a passé un MDL créé par MmBuildMdlForNonPagedPool à MmProbeAndLockProcessPages.
0xB2 Adresse MDL Indicateurs MDL Indicateurs MDL incorrects Le pilote appelé MmMapLockedPages pour un MDL avec des indicateurs incorrects. Par exemple, le pilote a passé un MDL qui est déjà mappé à une adresse système ou qui n’a pas été verrouillé sur MmMapLockedPages.
0xB3 Adresse MDL Indicateurs MDL Indicateurs MDL manquants (au moins un indicateur était attendu) Le pilote appelé MmMapLockedPages pour un MDL avec des indicateurs incorrects. Par exemple, le pilote a passé un MDL qui n’est pas verrouillé sur MmMapLockedPages.
0xB4 Adresse MDL Indicateurs MDL Indicateur MDL partiel inattendu Le pilote appelé MmUnlockPages pour un MDL partiel. Un MDL partiel est celui qui a été créé par IoBuildPartialMdl.
0xB5 Adresse MDL Indicateurs MDL Indicateur MDL partiel inattendu MmUnmapLockedPages appelé sur un MDL partiel (créé avec IoBuildPartialMdl).
0xB6 Adresse MDL Indicateurs MDL Indicateur MDL manquant MmUnmapLockedPages appelé sur un MDL qui n’est pas mappé à 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é une mémoire physique faible pendant une transition de veille.
0xB8 Adresse MDL Indicateurs MDL Réservé Les pages décrites par le MDL sont toujours mappées. Le pilote doit annuler le mappage des pages avant d’appeler IoFreeMdl.
0xB9 Adresse non mappée. Adresse MDL. Réservé MmUnmapLockedPages appelé avec une adresse d’espace utilisateur incorrecte.
0xC0 Adresse de l’IRP 0 Réservé Le pilote appelé IoCallDriver avec des interruptions désactivées.
0xC1 Adresse de la routine de répartition du pilote Réservé Réservé Une routine de répartition des pilotes a été retournée avec des 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 répartition rapide des E/S du pilote Réservé Réservé Une routine de distribution d’E/S rapide du pilote a été retournée avec des interruptions désactivées.
0xC5 Adresse de la routine de répartition du pilote Nombre de désactivations APC du thread actuel Nombre de désactivations d’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 d’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 APC doit être égal à zéro chaque fois qu’un thread est arrêté. 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 répartition rapide des E/S du pilote Nombre de désactivations APC du thread actuel Nombre de désactivations d’APC du thread avant d’appeler la routine de distribution du pilote d’E/S rapide Une routine de distribution d’E/S rapides du pilote a changé le nombre de désactivations APC du thread. Le nombre de désactivations d’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 APC doit être égal à zéro chaque fois qu’un thread est arrêté. 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 lookaside Réservé Réservé Le pilote a tenté de réinscrire une liste de lookaside.
0xCB Adresse de la liste lookaside Réservé Réservé Le pilote a tenté de supprimer une liste lookaside non initialisée.
0xCC Adresse de la liste lookaside Adresse de départ de l’allocation du pool Taille de l’allocation de pool Le pilote a tenté de libérer une allocation de pool qui contient une liste lookaside active.
0xCD Adresse de la liste lookaside 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 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éinscrire 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 du 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 vérifiée, le paramètre 2 est l’adresse de l’ombre IO_REMOVE_LOCK structure créée par driver Verifier pour le compte du pilote. Dans ce cas, l’adresse de la structure IO_REMOVE_LOCK utilisée par le pilote n’est pas utilisée du tout, car le vérificateur de pilote remplace l’adresse de verrouillage pour toutes les API de verrouillage de suppression. Une vérification de bogue avec ce paramètre se produit uniquement lorsque l’option Vérification d’E/S du vérificateur de pilote 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 vérifiée, le paramètre 2 est l’adresse de l’ombre IO_REMOVE_LOCK structure créée par Driver Verifier pour le compte du pilote. Dans ce cas, l’adresse de la structure IO_REMOVE_LOCK utilisée par le pilote n’est pas utilisée du tout, car le vérificateur de pilote remplace l’adresse de verrouillage pour toutes les API de verrouillage de suppression. Une vérification de bogue avec ce paramètre se produit uniquement lorsque l’option Vérification d’E/S du vérificateur de pilote 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 pilote 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 de périphérique 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 a été effectuée pour décharger un pilote qui n’a pas désinscrire sa fonction de rappel WMI.
0xDB Adresse de l’objet appareil Réservé Réservé Une tentative a été effectuée pour supprimer un objet d’appareil qui n’a pas été désinscrit de WMI.
0xDC Réservé Réservé Réservé Une valeur RegHandle non valide a été spécifiée comme 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 a été effectuée pour décharger un pilote sans appeler EtwUnregister.
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 été trouvé avoir 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é pour 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 en tant que 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 d’APC du thread Adresse du pushlock Un pilote a tenté d’acquérir un pushlock pendant que les API sont activées.
0xEB IRQL actuel Nombre de désactivations d’APC du thread Adresse du pushlock Un pilote a tenté de libérer un pushlock pendant que les API sont activées.
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 mode noyau.
0xF7 Gérer la valeur spécifiée par l’appelant Type d’objet spécifié par l’appelant AccessMode spécifié par l’appelant Un pilote tente 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 qu’elle appelle la routine d’achèvement Valeur IRQL actuelle, après avoir appelé la routine d’achèvement La routine d’achèvement IRP retournée à un IRQL différent de la routine IRQL a été appelée.
0xFB Adresse de routine d’achèvement Nombre de désactivations d’APC du thread actuel Nombre de désactivations d’APC du thread avant d’appeler la routine d’achèvement IRP Le nombre de désactivations d’APC du thread a été modifié par la routine d’achèvement IRP du pilote. Le nombre de désactivations d’APC est décrémenté chaque fois qu’un pilote appelle KeEnterCriticalRegion, FsRtlEnterFileSystem ou acquiert un mutex. Le nombre de désactivations d’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 arrêté. 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 effectuant 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 inactif.
0x10B 0 0 0 Le pilote tente de charger le quota de pool à partir d’une routine DPC. Cela est incorrect, car le contexte de processus actuel n’est pas défini.
0x110 Adresse de la routine de service d’interruption Adresse du contexte étendu 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 pilote 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 à IRQL > APC_LEVEL.
0x11B IRQL actuel 0 0 Le pilote appelle KeLeaveCriticalRegion à IRQL > APC_LEVEL.
0x120 Adresse de la valeur IRQL Adresse de l’objet à attendre Adresse de la valeur du délai d’expiration Le thread attend au DISPATCH_LEVEL IRQL > . Les appelants de KeWaitForSingleObject ou KeWaitForMultipleObjects doivent s’exécuter sur IRQL <= DISPATCH_LEVEL.
0x121 Adresse de la valeur IRQL Adresse de l’objet à attendre Adresse de la valeur du 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 du délai d’expiration Le thread attend à DISPATCH_LEVEL et la valeur du délai d’attente n’est pas égale à zéro (0). Si le délai d’expiration != 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 du protocole IRP Nombre de millisecondes autorisées entre l’appel IoCancelIrp et l’achèvement de cet IRP 0 L’IRP annulé n’a pas été effectué 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 libéré Valeur incorrecte Adresse de la valeur incorrecte Le pilote a appelé ExFreePool et Driver Verifier détecte une erreur dans l’une des valeurs internes utilisées pour suivre l’utilisation du pool.
0x13B Adresse du bloc de pool libéré Adresse de la valeur incorrecte Adresse d’un pointeur vers la page de mémoire incorrecte Le pilote a appelé ExFreePool et Driver Verifier détecte une erreur dans l’une des valeurs internes utilisées pour suivre l’utilisation du pool.
0x13C Adresse du bloc de pool libéré Valeur incorrecte Adresse de la valeur incorrecte Le pilote a appelé ExFreePool et Driver Verifier détecte une erreur dans l’une des valeurs internes utilisées pour suivre l’utilisation du pool.
0x13D Adresse du bloc de pool libéré Adresse de la valeur incorrecte Valeur correcte attendue Le pilote a appelé ExFreePool et Driver Verifier 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 pilote 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 libéré 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 Driver Verifier.
0x140 IRQL actuel Adresse MDL Adresse virtuelle associée à ce MDL Un MDL non verrouillé a été construit à 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 sous 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é de se récursivement et d’acquérir exclusivement une ressource qu’il possède uniquement partagée. Une vérification de bogue avec ce paramètre se produit uniquement lorsque l’option De détection de blocage du vérificateur de pilote est active.
0x1001 Adresse de la ressource qui était la cause finale de l’interblocage Réservé Réservé Interblocage : une violation de hiérarchie de verrous a été trouvée. Une vérification de bogue avec ce paramètre se produit uniquement lorsque l’option De détection de blocage 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. Une vérification de bogue avec ce paramètre se produit uniquement lorsque l’option De détection de blocage du vérificateur de pilote est active.
0x1003 Adresse de la ressource en cours de libération d’interblocage Adresse de la ressource qui aurait dû être publiée en premier Réservé Publication inattendue : une ressource a été libérée dans un ordre incorrect. Une vérification de bogue avec ce paramètre se produit uniquement lorsque l’option De détection de blocage du vérificateur de pilote est active.
0x1004 Adresse de la ressource Adresse du thread qui a acquis la ressource Adresse du thread actuel Thread inattendu : le thread incorrect libère une ressource. Une vérification de bogue avec ce paramètre se produit uniquement lorsque l’option De détection de blocage du vérificateur de pilote est active.
0x1005 Adresse de la ressource Réservé Réservé Initialisation multiple : une ressource est initialisée plusieurs fois. Une vérification de bogue avec ce paramètre se produit uniquement lorsque l’option De détection de blocage du vérificateur de pilote est active.
0x1007 Adresse de la ressource Réservé Réservé Ressource non renseignée : une ressource est libérée avant son acquisition. Une vérification de bogue avec ce paramètre se produit uniquement lorsque l’option De détection de blocage du vérificateur de pilote 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 incompatible pour ce type de verrou.
0x100A Adresse du thread de propriétaire Réservé Le thread arrêté possède le verrou.
0x100B Adresse de verrouillage Adresse du thread de propriétaire Réservé Le verrou supprimé appartient toujours à un thread.
0x1010 Objet d’appareil vers 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 mémoire tampon MDL indifférent pour l’écriture Irp a été modifié.
0x1011 Objet d’appareil vers 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 indifférent pour read Irp a été modifié pendant la répartition ou la mémoire tampon sauvegardée 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 elle est 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 la 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 la 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 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 : SourceHandle pour 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 les 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 les états du port de commutateur extensible Hyper-V et de la carte réseau.
0xA005 Pointeur vers l’objet NetBufferList Pointeur vers la liste de 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 les états du port de commutateur extensible Hyper-V et de la carte réseau.
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 lorsqu’elle n’est pas autorisée. Consultez les états du port de commutateur extensible Hyper-V et de la carte réseau.
0xA009 Port référencé Pointeur vers l’objet de commutateur virtuel (si NON NULL) Réservé (inutilisé) Commutateur de machine virtuelle : tentative de référence d’un port lorsqu’il n’est pas autorisé. Consultez les états du port de commutateur extensible Hyper-V et de la carte réseau.
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 netBufferList supprimé. Voir ReportFilteredNetBufferLists.
0xA00C Pointeur vers l’objet NetBufferList Valeur Envoyer des 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 les 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 lorsque NDIS_RECEIVE_FLAGS_SWITCH_DESTINATION_GROUP indicateur est défini. Consultez les indicateurs d’envoi et de réception du commutateur extensible Hyper-V.
0xA00E Pointeur vers l’objet NetBufferLists. Pointeur vers le contexte de 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 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 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 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 quand à 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 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 règle. Réservé Le pilote a violé 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 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 règle. Réservé Le pilote a violé 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 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 de 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 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 de gestionnaire d’E/S uniquement lorsque 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 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 de 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 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 de 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 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 de 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 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 de 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 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 lorsque 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 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 lorsque 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 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 règle. Réservé Le pilote a violé la règle de conformité DDI IrqlKeReleaseSpinLock. La règle IrqlKeReleaseSpinLock spécifie que le pilote doit appeler KeReleaseSpinLock uniquement quand 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 violé la règle de conformité DDI IrqlKeSetEvent. La règle IrqlKeSetEvent spécifie que la routine KeSetEvent est appelée uniquement à 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 pilote a violé la règle de conformité DDI IrqlMmApcLte. La règle IrqlMmApcLte spécifie que le pilote doit appeler certaines routines de gestionnaire de mémoire uniquement quand 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 violé la règle de conformité DDI IrqlMmDispatch. La règle IrqlMmDispatch spécifie que le pilote doit appeler MmFreeContiguousMemory uniquement quand 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 pilote a violé la règle de conformité DDI IrqlObPassive. La règle IrqlObPassive spécifie que le pilote doit appeler ObReferenceObjectByHandle uniquement quand 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 violé 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 quand 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 à !ruleinfo). Adresse des états supplémentaires (troisième argument à !ruleinfo). Le pilote a violé 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 pilote a violé la règle de conformité DDI IrqlRtlPassive. La règle IrqlRtlPassive spécifie que le pilote doit appeler RtlDeleteRegistryValue uniquement quand 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 pilote a violé la règle de conformité DDI IrqlZwPassive. La règle IrqlZwPassive spécifie que le pilote doit appeler ZwClose uniquement quand 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 violé 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 violé 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 pilote a violé 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 à 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 violé 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 à !ruleinfo). Adresse des états supplémentaires (troisième argument à !ruleinfo). Le pilote a violé 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 à !ruleinfo). Adresse des états supplémentaires (troisième argument à !ruleinfo). Le pilote a violé 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 à !ruleinfo). Adresse des états supplémentaires (troisième argument à !ruleinfo). Le pilote a violé 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 à !ruleinfo). Adresse des états supplémentaires (troisième argument à !ruleinfo). Le pilote a violé 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 règle interne (deuxième argument à !ruleinfo) Adresse des é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 règle interne (deuxième argument à !ruleinfo). Adresse des états supplémentaires (troisième argument à !ruleinfo). Le conducteur 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 règle interne (deuxième argument à !ruleinfo). Adresse des états supplémentaires (troisième argument à !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 de la règle 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 règle interne (deuxième argument à !ruleinfo). Adresse des états supplémentaires (troisième argument à !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 règle interne (deuxième argument à !ruleinfo). Adresse des états supplémentaires (troisième argument à !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 règle interne (deuxième argument à !ruleinfo). Adresse des états supplémentaires (troisième argument à !ruleinfo). Le pilote a violé 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 conducteur a violé 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 règle interne (deuxième argument à !ruleinfo). Adresse des états supplémentaires (troisième argument à !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 règle interne (deuxième argument à !ruleinfo). Adresse des états supplémentaires (troisième argument à !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 règle interne (deuxième argument à !ruleinfo). Adresse des états supplémentaires (troisième argument à !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 règle interne (deuxième argument à !ruleinfo). Adresse des états supplémentaires (troisième argument à !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 règle interne (deuxième argument à !ruleinfo). Adresse des états supplémentaires (troisième argument à !ruleinfo). Le pilote a violé 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 règle interne (deuxième argument à !ruleinfo). Adresse des états supplémentaires (troisième argument à !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 règle interne (deuxième argument à !ruleinfo). Adresse des états supplémentaires (troisième argument à !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 règle interne (deuxième argument à !ruleinfo). Adresse des états supplémentaires (troisième argument à !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 règle interne (deuxième argument à !ruleinfo). Adresse des états supplémentaires (troisième argument à !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 règle interne (deuxième argument à !ruleinfo). Adresse des états supplémentaires (troisième argument à !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 règle interne (deuxième argument à !ruleinfo). Adresse des états supplémentaires (troisième argument à !ruleinfo). Le pilote a violé la règle de conformité DDI KsTimedProcessingMutex.

0x00091001 à 0x0009400C - Violations de la règle de conformité NDIS DDI

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 règle interne (deuxième argument à !ruleinfo). Adresse des états supplémentaires (troisième argument à !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 règle interne (deuxième argument à !ruleinfo). Adresse des états supplémentaires (troisième argument à !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 règle interne (deuxième argument à !ruleinfo). Adresse des états supplémentaires (troisième argument à !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 règle interne (deuxième argument à !ruleinfo). Adresse des états supplémentaires (troisième argument à !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 règle interne (deuxième argument à !ruleinfo). Adresse des états supplémentaires (troisième argument à !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 règle interne (deuxième argument à !ruleinfo). Adresse des états supplémentaires (troisième argument à !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 règle interne (deuxième argument à !ruleinfo). Adresse des états supplémentaires (troisième argument à !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 règle interne (deuxième argument à !ruleinfo). Adresse des états supplémentaires (troisième argument à !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 règle interne (deuxième argument à !ruleinfo). Adresse des états supplémentaires (troisième argument à !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 règle interne (deuxième argument à !ruleinfo). Adresse des états supplémentaires (troisième argument à !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 règle interne (deuxième argument à !ruleinfo). Adresse des états supplémentaires (troisième argument à !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 règle interne (deuxième argument à !ruleinfo). Adresse des états supplémentaires (troisième argument à !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 règle interne (deuxième argument à !ruleinfo). Adresse des états supplémentaires (troisième argument à !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 règle interne (deuxième argument à !ruleinfo). Adresse des états supplémentaires (troisième argument à !ruleinfo). Le conducteur a violé 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 règle interne (deuxième argument à !ruleinfo). Adresse des états supplémentaires (troisième argument à !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 à !ruleinfo). Adresse des états supplémentaires (troisième argument à !ruleinfo). Le conducteur a violé la règle de vérification NDIS/WIFI Sans FilTimedLinkQuality.
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 à !ruleinfo). Adresse des états supplémentaires (troisième argument à !ruleinfo). Le conducteur a violé la règle de vérification NDIS/WIFI Sans FilTimedScan.

Cause

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

Résolution

Cette vérification de bogue ne peut se produire que lorsque le vérificateur de pilote a été invité à surveiller un ou plusieurs pilotes. Si vous n’avez pas l’intention d’utiliser le vérificateur de pilote, vous devez le désactiver. Vous pouvez également envisager de supprimer le pilote qui a provoqué ce problème.

Si vous êtes l’enregistreur de pilotes, utilisez les informations obtenues par le biais de cette vérification de bogues pour corriger les bogues dans votre code.

Pour plus d’informations sur le vérificateur de pilotes, consultez Driver Verifier.

Remarques

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

(Windows 8 et versions ultérieures de Windows) Si la vérification de conformité DDI provoque une vérification des bogues, 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) qui a provoqué la vérification de bogue. 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 pilote est activé