0xC2 de vérification des bogues : BAD_POOL_CALLER

Le BAD_POOL_CALLER bogue case activée BAD_POOL_CALLER a la valeur 0x000000C2. Cela indique que le thread actuel effectue une demande de pool incorrecte.

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 BAD_POOL_CALLER

Le paramètre 1 indique le type de violation.

Paramètre 1 Paramètre 2 Paramètre 3 Paramètre 4 Cause de l’erreur

0x00

0

Type de pool

Balise de pool

Le thread actuel a demandé une allocation de pool d’octets zéro.

0x01,

0x02,

0x04

Pointeur vers l’en-tête du pool

Première partie du contenu de l’en-tête de pool

0

L’en-tête du pool a été endommagé.

0x06

Réservé

Pointeur vers l’en-tête du pool

Contenu de l’en-tête de pool

Le thread actuel a tenté de libérer le pool, qui était déjà libéré.

0x07

Réservé

Contenu de l’en-tête de pool

Adresse du bloc de pool en cours de libération

Le thread actuel a tenté de libérer le pool, qui était déjà libéré.

0x08

IRQL actuel

Type de pool

Taille de l’allocation, en octets

Le thread actuel a tenté d’allouer le pool à un IRQL non valide.

0x09

IRQL actuel

Type de pool

Adresse du pool

Le thread actuel a tenté de libérer le pool à un IRQL non valide.

0x0A

Adresse du pool

Balise de l’allocator

Balise utilisée dans la tentative gratuite

Le thread actuel a tenté de libérer de la mémoire du pool à l’aide de la balise incorrecte.

(La mémoire peut appartenir à un autre composant.)

0x0B,

0x0C,

ou 0x0D

Adresse du pool

Balise de l’allocation de pool

Pointeur de processus de quota incorrect

Le thread actuel a tenté de libérer un quota sur une allocation de pool endommagée.

0x40

Adresse de début

Début de l’espace d’adressage système

0

Le thread actuel a tenté de libérer le pool de noyaux à une adresse en mode utilisateur.

0x41

Adresse de début

Cadre de page physique

Cadre de page physique le plus élevé

Le thread actuel a tenté de libérer une adresse de pool non allouée.

0x42

ou 0x43

Adresse libérée

0

0

Le thread actuel a tenté de libérer une adresse virtuelle qui n’a jamais été dans un pool.

0x44

Adresse de début

Réservé

0

Le thread actuel a tenté de libérer une adresse de pool non allouée.

0x46

Adresse de début

0

0

Le thread actuel a tenté de libérer une adresse de pool non valide.

0x47

Adresse de début

Cadre de page physique

Cadre de page physique le plus élevé

Le thread actuel a tenté de libérer une adresse de pool non allouée.

0x48

Adresse de début

Réservé

Réservé

Le thread actuel a tenté de libérer une adresse de pool paginée non allouée.

0x50

Adresse de début

Démarrer le décalage, dans les pages, à partir du début du pool paginé

Taille du pool paginé, en octets

Le thread actuel a tenté de libérer une adresse de pool paginée non allouée.

0x60

Adresse de début

0

0

Le thread actuel a tenté de libérer une adresse de mémoire contiguë non valide.

(L’appelant de MmFreeContiguousMemory passe un pointeur incorrect.)

0x99

Adresse libérée

0

0

Le thread actuel a tenté de libérer le pool avec une adresse non valide.

(Ce code peut également indiquer une altération dans l’en-tête du pool.)

0x9A

Type de pool

Nombre d’octets demandés

Balise de pool

Le thread actuel a marqué une demande d’allocation MUST_SUCCEED.

(Ce type de pool n’est plus pris en charge.)

0x9B

Type de pool

Nombre d’octets demandés

Adresse de l’appelant

Le thread actuel a tenté d’allouer un pool avec une balise 0

(Cela serait impossible à effectuer, et peut-être endommagé les tables de balises existantes.)

0x9C

Type de pool

Nombre d’octets demandés

Adresse de l’appelant

Le thread actuel a tenté d’allouer un pool avec une balise « BIG ».

(Cela n’est pas possible et risque d’endommager les tables d’étiquettes existantes.)

0x9D

Balise de pool incorrecte utilisée

Type de pool

Adresse de l’appelant

Le thread actuel a tenté d’allouer un pool avec une balise qui ne contient pas de lettres ou de chiffres. L’utilisation de telles balises rend le suivi des problèmes de pool difficiles.

0x41286

Réservé

Réservé

Démarrer le décalage à partir du début du pool paginé, dans les pages

Le thread actuel a tenté de libérer une adresse de pool paginée au milieu d’une allocation.

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

Cause

Une demande de pool non valide a été effectuée par le thread actuel. En règle générale, il s’agit d’un niveau IRQL incorrect ou d’une double libération de la même allocation de mémoire, etc.

Résolution

Activez le vérificateur de pilotes avec les options de pool de mémoire activées pour obtenir plus d’informations sur ces erreurs et localiser le pilote en panne.

Driver Verifier

Driver Verifier est un outil qui s’exécute en temps réel pour examiner le comportement des pilotes. S’il constate des erreurs dans l’exécution du code du pilote, il crée de manière proactive une exception pour permettre à cette partie du code du pilote d’être examinée plus en détail. Le gestionnaire de vérificateurs de pilotes est intégré à Windows et est disponible sur tous les PC Windows. Pour démarrer le gestionnaire de vérificateurs de pilotes, tapez Vérificateur à l’invite de commandes. Vous pouvez configurer les pilotes que vous souhaitez vérifier. Le code qui vérifie les pilotes ajoute une surcharge à mesure qu’il s’exécute. Essayez donc de vérifier le plus petit nombre de pilotes possible. Pour plus d’informations, consultez Driver Verifier.

Diagnostics de la mémoire Windows

En particulier, pour les situations d’altération du pool de mémoire, exécutez l’outil Diagnostics de la mémoire Windows pour essayer d’isoler la mémoire physique en tant que cause. Dans la zone de recherche du panneau de configuration, tapez Mémoire, puis sélectionnez Diagnostiquer les problèmes de mémoire de votre ordinateur. Une fois le test exécuté, utilisez l’Observateur d’événements pour afficher les résultats dans le journal système. Recherchez l’entrée MemoryDiagnostics-Results pour afficher les résultats.