0xA0 de vérification des bogues : INTERNAL_POWER_ERROR
Le case activée de bogue INTERNAL_POWER_ERROR a la valeur 0x000000A0. Ce bogue case activée indique que le gestionnaire de stratégie d’alimentation a rencontré une erreur irrécupérable.
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 INTERNAL_POWER_ERROR
Le paramètre 1 indique le type de violation. La signification des autres paramètres dépend de la valeur du paramètre 1.
Paramètre 1 | Paramètre 2 | Paramètre 3 | Paramètre 4 | Cause |
---|---|---|---|---|
0x1 |
1 : Un appareil a dépassé son nombre maximal de références. 2, 3 ou 4 : Trop de runtimes d’alimentation entrants ont été mis en file d’attente. 5 : L’IRP d’alimentation a été envoyé à un objet d’appareil de niveau passif. 6 : Le système n’a pas pu allouer un IRP d’alimentation nécessaire. |
Si le paramètre 2 a la valeur 1, le nombre maximal de références autorisées. Si le paramètre 2 a une valeur de 2, 3 ou 4, le nombre maximal d’IRP en attente autorisés. Si le paramètre 2 a la valeur 6, l’objet d’appareil cible. |
Si le paramètre 2 a la valeur 6, indique s’il s’agit d’un IRP d’alimentation système (0x0) ou d’appareil (0x1). | Une erreur s’est produite lors de la gestion du paquet de demande d’E/S d’alimentation (IRP). |
0x2 |
Réservé |
Réservé |
Réservé |
Une défaillance interne s’est produite lors de la tentative de traitement d’un événement d’alimentation. Pour plus d’informations, consultez Débogage de bogues case activée 0xA0 lorsque le paramètre 1 est égal à 0x2. |
0x3 |
Somme de contrôle attendue |
Somme de contrôle réelle |
Numéro de ligne de l’échec |
La somme de contrôle d’une page de contexte de mise en veille prolongée ne correspond pas à sa somme de contrôle attendue. |
0x4 |
Somme de contrôle attendue |
Somme de contrôle réelle |
Numéro de ligne de l’échec |
La somme de contrôle d’une page sur le point d’être écrite dans le fichier de mise en veille prolongée ne correspond pas à sa somme de contrôle attendue. |
0x5 |
Réservé |
Réservé |
Réservé |
Un code d’arrêt inconnu a été envoyé au gestionnaire d’arrêt du système. |
0x7 |
Réservé |
Réservé |
Réservé |
Une exception non gérée s'est produite. Pour plus d’informations, consultez Débogage de bogues case activée 0xA0 lorsque le paramètre 1 est égal à 0x7. |
0x8 |
Ce paramètre est toujours défini sur 0x100. |
Objet device |
POWER_CHANNEL_SUMMARY |
Une erreur irrécupérable s’est produite lors du traitement d’un événement d’alimentation du système. |
0x9 |
Code d’état |
Phase de mise en miroir |
Réservé |
Une erreur irrécupérable s’est produite lors de la préparation du fichier de mise en veille prolongée. |
0xA |
0 : Une case activée de bogue a été demandée immédiatement lors de la reprise. 1 : Un bogue case activée a été demandé pendant la reprise après que tous les appareils non paginables ont été mis sous tension. 2 : Un bogue case activée a été demandé lors de la reprise après que tous les appareils ont été mis sous tension. |
Réservé |
Réservé |
Un bogue case activée a été demandé lors de la veille à des fins de débogage. |
0xB |
Taille du fichier de mise en veille prolongée. |
Progression de la mise en veille prolongée avant de manquer d’espace 0 : HIBERFILE_PROGRESS_FREE_MAP 1 : HIBERFILE_PROGRESS_RESUME_CONTEXT 2 : HIBERFILE_PROGRESS_PROCESSOR_STATE 3 : HIBERFILE_PROGRESS_SECURE_RANGES 4 : HIBERFILE_PROGRESS_MEMORY_RANGES 5 : HIBERFILE_PROGRESS_TABLE_PAGES 6 : HIBERFILE_PROGRESS_MEMORY_IMAGE |
Lorsque le paramètre 2 est 4, taille des plages de mémoire restantes. |
Le fichier de mise en veille prolongée est trop petit. |
0xC |
Code d’état |
Contexte de pile de vidage |
Réservé |
Échec de l’initialisation de la pile de vidage. |
0xD |
État d’alimentation du système en transition. |
Point de contrôle de veille le plus récemment atteint. |
Pointeur vers la structure POP_POWER_ACTION. |
Le système n’a pas pu effectuer une transition d’alimentation en temps opportun. |
0xF |
État d’alimentation du système en transition. |
Point de contrôle de veille le plus récemment atteint. |
Pointeur vers le thread qui traite actuellement la requête. |
Le système n’a pas pu effectuer une transition d’alimentation en temps opportun. |
0xF0 |
État d’alimentation du système en transition. |
Point de contrôle de veille le plus récemment atteint. |
Pointeur vers le thread qui traite actuellement la requête. |
Le système n’a pas pu effectuer (suspendre) une transition d’alimentation en temps opportun. |
0xF1 |
État d’alimentation du système en transition. |
Point de contrôle de veille le plus récemment atteint. |
Pointeur vers le thread qui traite actuellement la requête. |
Le système n’a pas pu effectuer (reprendre) une transition d’alimentation en temps opportun. |
Paramètre 1 | Paramètre 2 | Paramètre 3 | Paramètre 4 | Cause |
---|---|---|---|---|
0x101 |
Réservé |
Pointeur d’exception. |
Réservé |
Une exception non gérée s’est produite lors du traitement d’un événement d’alimentation du système. Pour plus d’informations, consultez Débogage de bogues case activée 0xA0 lorsque le paramètre 1 est égal à 0x101. |
0x102 |
Réservé |
DUMP_INITIALIZATION_CONTEXT |
POP_HIBER_CONTEXT |
La taille de la mémoire tampon de travail de mise en veille prolongée n’est pas alignée sur la page. |
0x103 |
Réservé |
POP_HIBER_CONTEXT |
Réservé |
Toutes les pages de travail n’ont pas pu être prises en compte pendant le processus de mise en veille prolongée. |
0x104 |
Réservé |
POP_HIBER_CONTEXT |
Réservé |
Une tentative a été effectuée pour mapper la mémoire de mise en veille prolongée interne alors que les structures de mémoire interne étaient verrouillées. |
0x105 |
Réservé |
POP_HIBER_CONTEXT |
Réservé |
Une tentative de mappage de la mémoire de mise en veille prolongée interne avec un indicateur de type de mémoire non pris en charge a été effectuée. |
0x106 |
Réservé |
Liste de descripteurs mémoire (MDL) |
Réservé |
Une liste de descripteurs de mémoire a été créée pendant le processus de mise en veille prolongée qui décrit la mémoire qui n’est pas paginée. |
0x107 |
Réservé |
POP_HIBER_CONTEXT |
PO_MEMORY_RANGE_ARRAY |
Une incompatibilité de données s’est produite dans les structures de données de mise en veille prolongée interne. |
0x108 |
Réservé |
POP_HIBER_CONTEXT |
Réservé |
Le sous-système de disque n’a pas pu écrire correctement une partie du fichier de mise en veille prolongée. |
0x109 |
Réservé |
Somme de contrôle attendue |
Somme de contrôle réelle |
La somme de contrôle pour les données d’état du processeur ne correspond pas à sa somme de contrôle attendue. |
0x10A |
Réservé |
POP_HIBER_CONTEXT |
Code d’échec NTSTATUS |
Le sous-système de disque n’a pas pu lire ou écrire correctement une partie du fichier de mise en veille prolongée. |
0x10B |
Réservé |
Progression actuelle de la mise en veille prolongée |
Réservé |
Une tentative a été effectuée pour marquer des pages pour la phase de démarrage de la mise en veille prolongée au mauvais moment à l’aide de l’API PoSetHiberRange. |
0x10C |
Réservé |
Indicateurs fournis à l’API |
Longueur à marquer |
L’API PoSetHiberRange a été appelée avec des paramètres non valides. |
0x10D |
Réservé |
POP_HIBER_CONTEXT |
Code d’échec NTSTATUS |
Le sous-système du noyau sécurisé a échoué lors de la fourniture de données pour la reprise. |
0x10E |
Réservé |
Somme de contrôle incorrecte |
Somme de contrôle de la lecture du disque précédent |
Le sous-système de disque a retourné des données endommagées lors de la lecture à partir du fichier de mise en veille prolongée. |
0x10F |
Point de contrôle de veille du système actuel. |
Type d’erreur interne. 0 : un point de contrôle a été écrit alors que la pagination était désactivée, mais avant que po ne désactive les interruptions sur tous les processeurs. 1 : un processeur autre que 0 a tenté d’écrire un point de contrôle pendant la phase de désactivation des interruptions du système en veille. 2 : Un autre élément de code dans le système est l’exécution d’un service d’exécution EFI. |
Réservé |
Une erreur interne s’est produite lors de la progression du point de contrôle du système en veille. |
0x110 |
Réservé |
Réservé |
Réservé |
Le système n’a pas pu désactiver les états de veille du système, mais doit le faire pour garantir l’intégrité des données. |
0x111 |
Réservé |
Réservé |
Réservé |
Un pilote a indiqué que l’utilisateur est présent et que l’utilisateur a activé une option de débogage pour capturer la pile des appels. |
0x200 |
Réservé |
DEVICE_OBJECT |
DEVICE_OBJECT_POWER_EXTENSION |
Un type d’appareil inconnu est en cours de recherche d’un état inactif. |
0x300 |
Réservé |
DEVICE_OBJECT |
IRP |
Un status inconnu a été retourné à partir d’un IRP d’alimentation de batterie. |
0x301 |
Réservé |
DEVICE_OBJECT |
IRP |
La batterie est entrée dans un état inconnu. |
0x400 |
Réservé |
IO_STACK_LOCATION |
DEVICE_OBJECT |
Un appareil a dépassé son nombre maximal de références. |
0x401 |
Réservé |
Liste des IRP en attente |
DEVICE_OBJECT |
Un trop grand nombre d’IRP d’inrush ont été mis en file d’attente. |
0x402 |
Réservé |
Liste des IRP en attente |
DEVICE_OBJECT |
Un trop grand nombre d’IRP d’inrush ont été mis en file d’attente. |
0x403 |
Réservé |
Liste des IRP en attente |
DEVICE_OBJECT |
Un trop grand nombre d’IRP d’inrush ont été mis en file d’attente. |
0x404 |
Réservé |
IO_STACK_LOCATION |
DEVICE_OBJECT |
Un IRP d’alimentation a été envoyé à un objet d’appareil de niveau passif. |
0x500 |
Réservé |
IRP |
DEVICE_OBJECT |
Un status inconnu a été retourné par un IRP d’énergie thermique. |
Paramètre 1 | Paramètre 2 | Paramètre 3 | Paramètre 4 | Cause |
---|---|---|---|---|
0x600 |
DEVICE_OBJECT PDO |
Réservé |
Réservé |
Un pilote a tenté une inscription en double avec Power Runtime Framework. |
0x601 |
POP_FX_DEVICE appareil |
PEP_DEVICE_REGISTER PEP |
Réservé |
Aucun plug-in Power Engine n’a accepté l’inscription d’appareil. |
0x602 |
DEVICE_NODE nœud d’appareil |
Nombre de veilles |
Réservé |
Le nombre de mise en veille des nœuds d’appareil ne correspond pas à son nombre d’activation. |
0x603 |
POP_FX_PLUGIN |
Type de demande de travail |
Réservé |
Un plug-in Power Engine a effectué une demande de travail non valide. |
0x605 |
Notification ID |
POP_FX_PLUGIN |
Réservé |
Un plug-in Power Engine n’a pas accepté la notification obligatoire de gestion de l’alimentation des appareils. |
0x606 |
POP_FX_COMPONENT |
POP_FX_COMPONENT_FLAGS |
Nouvelle condition pour le composant |
Un plug-in Power Engine a tenté de faire passer un composant de ressource système critique à une condition Active (ou Inactive) lorsque la ressource était déjà Active (ou Inactive). |
0x607 |
POP_FX_DEVICE |
NTSTATUS |
Réservé |
L’acquisition d’un verrou de suppression d’appareil de l’infrastructure de gestion de l’alimentation du runtime a échoué quand il était nécessaire de réussir. |
0x608 |
POP_FX_COMPONENT |
POP_FX_COMPONENT_FLAGS |
Réservé |
Un pilote a tenté de faire passer un composant au mode inactif sans requête active précédente. |
0x609 |
POP_FX_PLUGIN |
POP_FX_DEVICE |
Type de requête en double 0 : DevicePowerRequired 1 : DevicePowerNotRequiredred |
Un plug-in Power Engine a demandé l’alimentation de l’appareil requise ou l’alimentation de l’appareil non requise sans une demande d’intervention du type opposé. |
0x610 |
POP_FX_PLUGIN |
POP_FX_DEVICE |
Réservé |
Un plug-in Power Engine a demandé que l’alimentation de l’appareil n’est pas requise alors qu’une demande précédente d’alimentation requise de l’appareil est en attente. |
0x611 |
POP_FX_PLUGIN |
POP_FX_DEVICE |
Index de composant non valide |
Un plug-in Power Engine a demandé une opération sur un composant non valide. |
0x612 |
POP_FX_PLUGIN PowerEnginePlugin |
Réservé |
Réservé |
Un plug-in Power Engine a demandé qu’un travail supplémentaire soit effectué dans le contexte d’une notification d’appareil où aucune mémoire tampon n’a été fournie par le bon de commande pour la demande. |
0x613 |
POP_FX_DEVICE |
Index du composant |
Opération 0 : Alimentation complète de l’appareil non nécessaire 1 : Signaler l’appareil sous tension 2 : Condition d’inactivité complète |
Un pilote a tenté de terminer une demande lorsqu’aucune demande en suspens n’est en attente. |
0x614 |
POP_FX_DEVICE |
Index du composant |
Paramètre non valide 0 : PO_FX_FLAG_BLOCKING utilisé dans IRQL >= DISPATCH_LEVEL 1 : PO_FX_FLAG_BLOCKING et PO_FX_FLAG_ASYNC_ONLY spécifiés 2 : Index de composant non valide |
Un pilote a demandé une transition actif/inactif sur un composant avec un paramètre non conforme. |
0x615 |
POP_FX_PLUGIN |
POP_FX_COMPONENT |
Action illégale 0 : Composant non inactif 0 1 :Le composant est déjà actif 2 : Aucune demande d’activation en attente 3 : Transition d’état inactif en attente |
Un plug-in Power Engine a indiqué illégalement la fin d’une activation d’un composant. |
0x616 |
POP_FX_PLUGIN |
POP_FX_COMPONENT |
Action illégale 0 : État d’inactivité non valide 1 : Le composant est déjà dans l’état demandé 2 : Demande d’un état d’inactivité non nul sans passer par l’état d’inactivité 0 |
Un plug-in Power Engine a demandé illégalement une transition d’état d’inactivité du composant. |
0x617 |
POP_FX_PLUGIN PowerEnginePlugin |
UNICODE_STRING DeviceId |
inscription pep PEP_DEVICE_REGISTER |
Un plug-in Power Engine a retourné un type d’acceptation non valide lors du traitement d’une notification d’inscription d’appareil. |
0x618 |
POP_FX_WORK_ORDER_WATCHDOG_INFO WorkOrder |
Réservé |
Réservé |
Un thread Power Worker d’exécution a été bloqué pendant trop longtemps. |
0x619 |
appareil POP_FX_DEVICE |
Index du composant |
NULL ou DEVICE_NODE de l’appareil enfant réellement responsable |
Un appareil a bloqué l’entrée dans l’état d’inactivité du runtime le plus profond pendant trop longtemps. |
0x61A |
POP_FX_PLUGIN Plug-in Power Engine |
appareil POP_FX_DEVICE |
Réservé |
Un plug-in Power Engine a fourni des informations non valides sur l’état des performances d’un composant. |
0x61B |
appareil POP_FX_DEVICE |
Index du composant |
Réservé |
Un pilote a émis une demande d’état de performances avant de s’inscrire aux états de performances de l’appareil. |
0x61C |
appareil POP_FX_DEVICE |
Index du composant |
Paramètre non valide VALEURS: 0 : PerfChangesCount dépasse le nombre de jeux d’états de performances inscrits pour ce composant |
Un pilote a émis une demande d’état de perf avec des paramètres non valides. |
0x61D |
appareil POP_FX_DEVICE |
Index du composant |
Contexte de requête en attente |
Un pilote a émis une demande d’état de performances alors qu’une requête précédente est en attente. |
0x61E |
Réservé |
Réservé |
Réservé |
Un plug-in Power Engine a tenté d’effectuer une transition critique sur un appareil de débogueur pendant que les transitions automatiques sont activées. |
0x61F |
appareil POP_FX_DEVICE |
Index d’état d’inactivité coordonné |
Réservé |
Un plug-in Power Engine a tenté d’activer les transitions automatiques du débogueur pour un état d’inactivité coordonné qui n’est pas un état à l’échelle de la plateforme. |
0x620 |
appareil POP_FX_DEVICE |
Index d’état d’inactivité coordonné |
Réservé |
Un plug-in Power Engine a tenté d’inscrire une dépendance d’état D pour un état inactif coordonné qui n’est pas un état à l’échelle de la plateforme. |
0x621 |
POP_FX_DEVICE appareil |
Index de composant |
Index d’état d’inactivité coordonné |
Un plug-in Power Engine a tenté d’inscrire une dépendance d’état F pour un état d’inactivité coordonné qui n’est pas un état à l’échelle de la plateforme. |
0x622 |
Le POP_FX_COMPONENT parent |
Le POP_FX_COMPONENT enfant |
Réservé |
Un pilote a tenté de désinscrire de PoFx avec des dépendants en suspens. |
0x666 |
PPOP_PEP_ACTIVITY |
Nouveau type d’activité 0 : DevicePowerOn 1 : ComponentIdleStateChange 2 : ComposantActivation 3 : ComponentActive 4 : DevicePowerOff 5 : DeviceSuspend |
Type d’activité en conflit 0 : DevicePowerOn 1 : ComponentIdleStateChange 2 : ComposantActivation 3 : ComponentActive 4 : DevicePowerOff 5 : DeviceSuspend |
Le plug-in Power Engine par défaut a tenté de déclencher une nouvelle activité qui entre en conflit avec une autre activité. |
0x667 |
POP_PEP_ACTIVITY |
Type d’activité 0 : DevicePowerOn 1 : ComponentIdleStateChange 2 : ComposantActivation 3 : ComponentActive 4 : DevicePowerOff 5 : DeviceSuspend |
POP_PEP_ACTIVITY_STATUS |
Le plug-in Power Engine par défaut a tenté d’effectuer une activité qui n’est pas en cours d’exécution. |
0x668 |
PPPM_COORDINATED_STATE dont le nombre de références est mis à jour. |
Valeur de nombre de références non valide observée par cette fonction. |
Masque des états inactifs de la plateforme en cours de mise à jour. |
Le plug-in Power Engine par défaut a tenté de supprimer une contrainte d’état inactif de la plateforme qui n’était pas contrainte auparavant. |
0x669 |
PPPM_COORDINATED_STATE dont le nombre de références est mis à jour. |
Valeur de nombre de références non valide observée par cette fonction. |
Réservé |
Le plug-in Power Engine par défaut a rencontré une erreur de cohérence interne lors de la tentative d’informer exclusivement PoFx de la disponibilité d’un état inactif de la plateforme. |
Paramètre 1 | Paramètre 2 | Paramètre 3 | Paramètre 4 | Cause |
---|---|---|---|---|
0x680 |
Code d’échec NTSTATUS. |
Réservé |
Réservé |
L’infrastructure d’alimentation du runtime n’a pas pu analyser une table ACPI requise en raison de son absence ou de sa mauvaise forme. Cela est généralement dû à une erreur BIOS. |
0x700 |
PEPHANDLE |
PEP_PPM_IDLE_SELECT |
Réservé |
Un plug-in Power Engine a spécifié des dépendances inactives de processeur non valides. |
0x701 |
Index de l’état d’inactivité sélectionné du processeur suspendu |
Adresse PRCB du processeur suspendu |
Index du processeur suspendu |
Un processeur n’a pas pu effectuer une transition inactive dans l’intervalle alloué. Cela indique que le processeur spécifié est bloqué. |
0x702 |
Index de l’état inactif sélectionné du processeur |
État de synchronisation inactif du processeur |
Adresse PRCB du processeur suspendu |
Un processeur s’est réveillé à partir d’un état non interruptible sans que le système d’exploitation ne lance une mise en éveil explicite via le PEP (à l’aide de la synchronisation d’inactivité PPM nécessaire). |
0x703 |
PEPHANDLE |
PEP_PPM_QUERY_PLATFORM_STATE |
Réservé |
Un plug-in Power Engine a spécifié des dépendances inactives de processeur non valides lors d’une notification d’état de la plateforme de requête. |
0x704 |
Réservé |
Réservé |
Réservé |
Une transition d’état inactif coordonnée n’a pas été effectuée en temps opportun. |
0x705 |
PEPHANDLE |
Notification |
Étiquette de quatre caractères identifiant le champ modifié illégalement. Décodez une balise dans un débogueur de noyau avec : balise .formats, avec balise placée dans < >. |
Un plug-in Power Engine a modifié un champ en lecture seule dans la mémoire tampon passée dans une notification. |
0x706 |
Notification |
Balise de quatre caractères identifiant le champ contenant la valeur non conforme. Décodez une balise dans un débogueur de noyau avec : balise .formats, avec balise placée dans < >. |
Valeur ou index non valide dans un tableau où une valeur non valide existe |
Un plug-in Power Engine a retourné une valeur non valide dans l’un des champs de la mémoire tampon passée dans une notification. |
0x800 |
État CS actuel |
Réservé |
Réservé |
Le moniteur s’est activé de manière inattendue alors que le système était en veille connectée. |
0x801 |
Raison du changement d’état d’affichage |
ID de la session qui a mis à jour l’état d’affichage |
Réservé |
Une transition d’état d’affichage non valide s’est produite. |
0x802 |
POWER_MONITOR_REQUEST_REASON qui a provoqué la désactivation de l’affichage |
1 si le processeur d’événements power est activé, 0 sinon. |
Pointeur vers un POP_PDC_IDLE_PHASE_WATCHDOG_CONTEXT global. |
La phase d’inactivité du système PDC (NoCsPhase) bloque la transition vers la veille moderne depuis plus longtemps que prévu. |
0x900 |
Pointeur vers le rappel du paramètre d’alimentation responsable |
IRQL avant d’appeler le rappel du paramètre d’alimentation |
IRQL après le retour du rappel du paramètre d’alimentation |
Rappel de paramètre d’alimentation inscrit retourné avec l’IRQL modifié. Cela indique que le rappel a modifié l’IRQL, mais qu’il n’a pas restauré l’IRQL d’origine avant le retour. |
0x901 |
DEVICE_OBJECT |
IRP |
Nombre de désactivations APC du thread |
Un pilote a activé/désactivé des API de noyau lors de la gestion d’un IRP d’alimentation. |
0x4001 |
Sous-code d’erreur KE. VALEURS: 0x100 : (INTERNAL_POWER_ERROR_KE_PROCESSOR_ON_TIMED_OUT) Le microprogramme a mis trop de temps à alimenter un processeur. 0x101 : (INTERNAL_POWER_ERROR_KE_INVALID_INTERRUPT_TARGET) Une cible d’interruption non valide a été spécifiée. 0x102 : (INTERNAL_POWER_ERROR_KE_SETDESTINATION_FAILED) Impossible de modifier la destination cible d’une ligne d’interruption. 0x103 : (INTERNAL_POWER_ERROR_KE_IPI_REQUEST_FAILED) Échec de l’émission d’un IPI lors de la redirection d’une interruption. 0x104 : (INTERNAL_POWER_ERROR_KE_ARCH_NOT_SUPPORTED) Architecture de processeur non prise en charge. |
Réservé |
Réservé |
(INTERNAL_POWER_ERROR_KE_SUBCODE) Une défaillance interne s’est produite dans l’exécutif du noyau pendant une opération d’alimentation. |
0xAA64 |
Code d'erreur |
ID de fonction PSCI en cours |
Données dépendantes du contexte interne facultatives |
La fonction PSCI (Power State Coordination Interface) AArm64 a rencontré une erreur critique irrécupérable. |
Résolution
Remarques générales
Dans le tableau précédent, plusieurs des paramètres sont des pointeurs vers des structures. Par exemple, si le paramètre 2 est répertorié comme DEVICE_OBJECT, le paramètre 2 est un pointeur vers une structure DEVICE_OBJECT. Certaines des structures sont définies dans wdm.h, qui est inclus dans le Kit de pilotes Windows. Par exemple, les structures suivantes sont définies dans wdm.h.
- EXCEPTION_POINTERS
- DEVICE_OBJECT
- IO_STACK_LOCATION
- PEP_DEVICE_REGISTER
Certaines des structures qui apparaissent dans le tableau précédent ne sont définies dans aucun fichier d’en-tête public. Vous pouvez voir les définitions de ces structures à l’aide de la commande dt débogueur. L’exemple suivant montre comment utiliser la commande dt pour voir la structure DEVICE_OBJECT_POWER_EXTENSION .
3: kd> dt nt!DEVICE_OBJECT_POWER_EXTENSION
+0x000 IdleCount : Uint4B
+0x004 BusyCount : Uint4B
+0x008 BusyReference : Uint4B
+0x00c TotalBusyCount : Uint4B
+0x010 ConservationIdleTime : Uint4B
+0x014 PerformanceIdleTime : Uint4B
+0x018 DeviceObject : Ptr64 _DEVICE_OBJECT
+0x020 IdleList : _LIST_ENTRY
+0x030 IdleType : _POP_DEVICE_IDLE_TYPE
+0x034 IdleState : _DEVICE_POWER_STATE
+0x038 CurrentState : _DEVICE_POWER_STATE
+0x040 Volume : _LIST_ENTRY
+0x050 Specific : <unnamed-tag>
Les procédures suivantes vous aideront à déboguer certaines instances de ce case activée de bogue.
Débogage de bogues case activée 0xA0 lorsque le paramètre 1 est égal à 0x2
Examinez la pile. Recherchez le ntoskrnl ! Fonction PopExceptionFilter . Cette fonction contient le code suivant comme premier argument.
(error_code << 16) | _LINE_
Si l’appelant est PopExceptionFilter, le premier argument de cette fonction est de type PEXCEPTION_POINTERS. Notez la valeur de cet argument.
Utilisez la commande dt (Type d’affichage) et spécifiez la valeur que vous avez trouvée à l’étape précédente en tant qu’argument.
dt nt!_EXCEPTION_POINTERS argument
Cette commande affiche la structure. Notez l’adresse de l’enregistrement de contexte.
Utilisez la commande .cxr (Display Context Record) et spécifiez l’enregistrement de contexte que vous avez trouvé à l’étape précédente en tant qu’enregistrement.
.cxr record
Cette commande définit le contexte du registre sur la valeur appropriée.
Utilisez diverses commandes pour analyser la source de l’erreur. Commencez par kb (Display Stack Backtrace) .
Débogage de bogues case activée 0xA0 lorsque le paramètre 1 est égal à 0x7
Examinez la pile. Recherchez le ntoskrnl ! Fonction PopExceptionFilter . Le premier argument de cette fonction est de type PEXCEPTION_POINTERS. Notez la valeur de cet argument.
Utilisez la commande dt (Type d’affichage) et spécifiez la valeur que vous avez trouvée à l’étape précédente en tant qu’argument.
dt nt!_EXCEPTION_POINTERS argument
Cette commande affiche la structure. Notez l’adresse de l’enregistrement de contexte.
Utilisez la commande .cxr (Display Context Record) et spécifiez l’enregistrement de contexte que vous avez trouvé à l’étape précédente en tant qu’enregistrement.
.cxr record
Cette commande définit le contexte du registre sur la valeur appropriée.
Utilisez diverses commandes pour analyser la source de l’erreur. Commencez par kb (Display Stack Backtrace) .
Débogage de bogues case activée 0xA0 lorsque le paramètre 1 est égal à 0x101
Utilisez la commande dt (Type d’affichage) et spécifiez la valeur du paramètre 3 comme argument.
dt nt!_EXCEPTION_POINTERS argument
Cette commande affiche la structure. Notez l’adresse de l’enregistrement de contexte.
Utilisez la commande .cxr (Display Context Record) et spécifiez l’enregistrement de contexte que vous avez trouvé à l’étape précédente en tant qu’enregistrement.
.cxr record
Cette commande définit le contexte du registre sur la valeur appropriée.
Utilisez diverses commandes pour analyser la source de l’erreur. Commencez par kb (Display Stack Backtrace) .
Voir aussi
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour