Freigeben über


Fehlerprüfung 0xA0: INTERNAL_POWER_ERROR

Die Fehlerprüfung INTERNAL_POWER_ERROR hat den Wert 0x000000A0. Diese Fehlerprüfung zeigt an, dass beim Power Policy Manager ein schwerwiegender Fehler aufgetreten ist.

Wichtig

Dieser Artikel richtet sich an Programmierer*innen. Wenn Sie ein/eine Kund*in sind, der/die einen Bluescreen-Fehlercode bei der Benutzung eines Computers erhalten hat, lesen Sie bitte Fehlerbehebung bei Bluescreen-Fehlern.

INTERNAL_POWER_ERROR-Parameter

Parameter 1 gibt die Art des Verstoßes an. Die Bedeutung der anderen Parameter hängt vom Wert des Parameters 1 ab.

Parameter 1 Parameter 2 Parameter 3 Parameter 4 Ursache

0x1

1: Ein Gerät hat seine maximale Anzahl von Referenzzählungen überschritten.

2, 3, oder 4: Es wurden zu viele Inrush-Powert-IRPs in die Warteschlange gestellt.

5: Die Power-IRP wurde an ein Geräteobjekt der passiven Ebene gesendet.

6: Das System konnte einen erforderlichen Power-IRP nicht zuweisen.

Wenn Parameter 2 den Wert 1 hat, ist dies die maximal zulässige Anzahl von Referenzen.

Wenn Parameter 2 den Wert 2, 3 oder 4 hat, ist dies die maximale Anzahl der zugelassenen ausstehenden IRPs.

Wenn Parameter 2 den Wert 6 hat, das Objekt des Geräts.

Wenn Parameter 2 den Wert 6 hat, gibt er an, ob es sich um eine System- (0x0) oder eine Power-IRP für ein Gerät (0x1) handelt.

Bei der Bearbeitung des Power-IRP-Pakets (IRP) ist ein Fehler aufgetreten.

0x2

Reserviert

Reserviert

Reserviert

Beim Versuch, ein Power-Event zu verarbeiten, ist ein interner Fehler aufgetreten. Weitere Informationen finden Sie unter Debugging-Fehlerprüfung 0xA0, wenn Parameter 1 gleich 0x2 ist.

0x3

Die erwartete Prüfsumme

Die tatsächliche Prüfsumme

Die Zeilennummer des Fehlers

Die Prüfsumme für eine Hibernation-Kontextseite stimmt nicht mit der erwarteten Prüfsumme überein.

0x4

Die erwartete Prüfsumme

Die tatsächliche Prüfsumme

Die Zeilennummer des Fehlers

Die Prüfsumme für eine Seite, die in die Hibernation-Datei geschrieben werden soll, stimmt nicht mit der erwarteten Prüfsumme überein.

0x5

Reserviert

Reserviert

Reserviert

Ein unbekannter Code zum Herunterfahren wurde an den Handler für das Herunterfahren des Systems gesendet.

0x7

Reserviert

Reserviert

Reserviert

Es ist eine nicht behandelte Ausnahme aufgetreten. Weitere Informationen finden Sie unter Debugging-Fehlerprüfung 0xA0, wenn Parameter 1 gleich 0x7 ist.

0x8

Dieser Parameter ist immer auf 0x100 festgelegt.

Das Geräteobjekt

POWER_CHANNEL_SUMMARY

Bei der Verarbeitung eines System-Power-Events ist ein schwerwiegender Fehler aufgetreten.

0x9

Statuscode

Phase der Spiegelung

Reserviert

Bei der Vorbereitung der Hibernate-Datei ist ein schwerwiegender Fehler aufgetreten.

0xA

0: Eine Fehlerprüfung wurde unmittelbar nach der Wiederaufnahme angefordert.

1: Eine Fehlerprüfung wurde während der Wiederaufnahme angefordert, nachdem alle nicht auslagerbaren Geräte eingeschaltet wurden.

2: Eine Fehlerprüfung wurde während der Wiederaufnahme angefordert, nachdem alle Geräte eingeschaltet waren.

Reserviert

Reserviert

Eine Fehlerprüfung wurde beim Wake-up zu Debugging-Zwecken angefordert.

0xB

Größe der Hibernation-Datei.

Fortschritt des Ruhezustands, bevor der Speicherplatz ausgeht

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

Wenn Parameter 2 gleich 4 ist, Größe der verbleibenden Speicherbereiche.

Die Hibernation-Datei ist zu klein.

0xC

Statuscode

Stack-Kontext ausgeben

Reserviert

Der Dump-Stack konnte nicht initialisiert werden.

0xD

Der Power-Status des Systems befindet sich im Wechsel.

Der zuletzt erreichte Sleep-Checkpoint.

Ein Zeiger auf die Struktur POP_POWER_ACTION.

Das System konnte einen Wechsel der Stromversorgung nicht rechtzeitig abschließen.

0xF

Der Power-Status des Systems befindet sich im Wechsel.

Der zuletzt erreichte Sleep-Checkpoint.

Ein Zeiger auf den Thread, der die Anfrage gerade verarbeitet.

Das System konnte einen Wechsel der Stromversorgung nicht rechtzeitig abschließen.

0xF0

Der Power-Status des Systems befindet sich im Wechsel.

Der zuletzt erreichte Sleep-Checkpoint.

Ein Zeiger auf den Thread, der die Anfrage gerade verarbeitet.

Das System konnte einen Wechsel der Stromversorgung nicht rechtzeitig abschließen (aussetzen).

0xF1

Der Power-Status des Systems befindet sich im Wechsel.

Der zuletzt erreichte Sleep-Checkpoint.

Ein Zeiger auf den Thread, der die Anfrage gerade verarbeitet.

Das System konnte einen Wechsel der Stromversorgung nicht rechtzeitig abschließen (fortsetzen).

Parameter 1 Parameter 2 Parameter 3 Parameter 4 Ursache

0x101

Reserviert

Ausnahme-Zeiger.

Reserviert

Bei der Verarbeitung eines Power-Events ist eine unbehandelte Ausnahme aufgetreten. Weitere Informationen finden Sie unter Debugging-Fehlerprüfung 0xA0, wenn Parameter 1 gleich 0x101 ist.

0x102

Reserviert

DUMP_INITIALIZATION_CONTEXT

POP_HIBER_CONTEXT

Die Größe des Hibernation-Arbeitspuffers ist nicht seitenorientiert.

0x103

Reserviert

POP_HIBER_CONTEXT

Reserviert

Während des Hibernation-Prozesses wurden nicht alle Arbeitsseiten berücksichtigt.

0x104

Reserviert

POP_HIBER_CONTEXT

Reserviert

Es wurde versucht, den internen Hibernation-Speicher zuzuordnen, während die internen Speicherstrukturen gesperrt waren.

0x105

Reserviert

POP_HIBER_CONTEXT

Reserviert

Es wurde versucht, den internen Hibernation-Speicher mit einem nicht unterstützten Flag für den Speichertyp zuzuordnen.

0x106

Reserviert

Die Memory-Deskriptor-Liste (MDL)

Reserviert

Während des Hibernation-Prozesses wurde eine Memory-Deskriptor-Liste erstellt, die Speicher beschreibt, der nicht paged-aligned ist.

0x107

Reserviert

POP_HIBER_CONTEXT

PO_MEMORY_RANGE_ARRAY

In den internen Hibernation-Datenstrukturen ist eine Datenfehlanpassung aufgetreten.

0x108

Reserviert

POP_HIBER_CONTEXT

Reserviert

Das Datenträger-Subsystem konnte einen Teil der Hibernation-Datei nicht richtig schreiben.

0x109

Reserviert

Erwartete Prüfsumme

Tatsächliche Prüfsumme

Die Prüfsumme für die Statusdaten des Prozessors stimmt nicht mit der erwarteten Prüfsumme überein.

0x10A

Reserviert

POP_HIBER_CONTEXT

NTSTATUS-Fehlercode

Das Datenträger-Subsystem konnte einen Teil der Hibernation-Datei nicht richtig lesen oder schreiben.

0x10B

Reserviert

Aktueller Hibernation-Fortschritt

Reserviert

Es wurde versucht, mit der PoSetHiberRange-API zum falschen Zeitpunkt Seiten für die Bootphase des Ruhezustands zu markieren.

0x10C

Reserviert

Für die API bereitgestellte Flags

Zu markierende Länge

Die PoSetHiberRange-API wurde mit ungültigen Parametern aufgerufen.

0x10D

Reserviert

POP_HIBER_CONTEXT

NTSTATUS-Fehlercode

Das sichere Kernel-Subsystem ist bei der Bereitstellung von Daten für die Wiederaufnahme fehlgeschlagen.

0x10E

Reserviert

Falsche Prüfsumme

Die Prüfsumme des zuvor gelesenen Datenträgers

Das Subsystem des Datenträgers hat beim Lesen aus der Hibernation-Datei beschädigte Daten zurückgegeben.

0x10F

Der aktuelle Sleep-Checkpoint des Systems.

Die Art des internen Fehlers.

0 : Ein Prüfpunkt wurde geschrieben, während das Paging deaktiviert war, aber bevor Po die Interrupts auf allen Prozessoren deaktiviert hat.

1 : Eine andere CPU als 0 hat versucht, einen Prüfpunkt während der Phase der deaktivierten Unterbrechungen des Systemruhezustands zu schreiben.

2 : Ein anderes Stück Code im System führt einen EFI-Runtime-Dienst aus.

Reserviert

Ein interner Fehler ist beim Checkpointing des Systemruhezustands aufgetreten.

0x110

Reserviert

Reserviert

Reserviert

Das System konnte die Systemruhezustände nicht deaktivieren, muss dies jedoch tun, um die Datenintegrität zu gewährleisten.

0x111

Reserviert

Reserviert

Reserviert

Ein Treiber hat angezeigt, dass der/die Benutzer*in anwesend ist, und der/die Benutzer*in hat eine Debugging-Option zur Erfassung des Call-Stacks aktiviert.

0x200

Reserviert

DEVICE_OBJECT

DEVICE_OBJECT_POWER_EXTENSION

Ein unbekannter Gerätetyp wird auf einen Idle-Status überprüft.

0x300

Reserviert

DEVICE_OBJECT

IRP

Ein unbekannter Status wurde von einem Power-IRP des Akkus zurückgegeben.

0x301

Reserviert

DEVICE_OBJECT

IRP

Der Akku ist in einen unbekannten Zustand übergegangen.

0x400

Reserviert

IO_STACK_LOCATION

DEVICE_OBJECT

Ein Gerät hat seine maximale Anzahl von Referenzzählungen überschritten.

0x401

Reserviert

Liste ausstehender IRPs

DEVICE_OBJECT

Es wurden zu viele Power-IRPs in die Warteschlange gestellt.

0x402

Reserviert

Liste ausstehender IRPs

DEVICE_OBJECT

Es wurden zu viele Power-IRPs in die Warteschlange gestellt.

0x403

Reserviert

Liste ausstehender IRPs

DEVICE_OBJECT

Es wurden zu viele Power-IRPs in die Warteschlange gestellt.

0x404

Reserviert

IO_STACK_LOCATION

DEVICE_OBJECT

Es wurde ein Power-IRP an ein Geräteobjekt auf passiver Ebene gesendet.

0x500

Reserviert

IRP

DEVICE_OBJECT

Ein thermischer Power-IRP hat einen unbekannten Status zurückgegeben.

Parameter 1 Parameter 2 Parameter 3 Parameter 4 Ursache

0x600

DEVICE_OBJECT PDO

Reserviert

Reserviert

Ein Treiber hat versucht, eine doppelte Registrierung beim Power Runtime Framework vorzunehmen.

0x601

POP_FX_DEVICE-Gerät

PEP_DEVICE_REGISTER PEP

Reserviert

Keine Power Engine Plugins haben die Registrierung eines Geräts akzeptiert.

0x602

DEVICE_NODE-Gerätknoten

Sleep-Count

Reserviert

Der Sleep-Count des Geräteknotens stimmt nicht mit seinem Activation-Count überein.

0x603

POP_FX_PLUGIN

Typ der Arbeitsanforderung

Reserviert

Ein Power Engine Plugin hat eine ungültige Arbeitsanforderung gestellt.

0x605

Benachrichtigungs-ID

POP_FX_PLUGIN

Reserviert

Ein Power Engine Plugin hat die obligatorische Benachrichtigung zur Geräteverwaltung nicht angenommen.

0x606

POP_FX_COMPONENT

POP_FX_COMPONENT_FLAGS

Neue Bedingung für die Komponente

Ein Power Engine Plugin hat versucht, eine kritische Systemressourcenkomponente in einen aktiven (oder inaktiven) Zustand zu wechseln, obwohl die Ressource bereits aktiv (oder inaktiv) war.

0x607

POP_FX_DEVICE

NTSTATUS

Reserviert

Die Übernahme der Sperre eines Frameworks für das Entfernen von Geräten zur Laufzeit der Energieverwaltung ist fehlgeschlagen, obwohl die Anforderung bestand, dass sie erfolgreich sein sollte.

0x608

POP_FX_COMPONENT

POP_FX_COMPONENT_FLAGS

Reserviert

Ein Treiber hat versucht, eine Komponente in den Idle-Modus zu wechseln, ohne dass zuvor eine aktive Anfrage gestellt wurde.

0x609

POP_FX_PLUGIN

POP_FX_DEVICE

Doppelter Anfragetyp

0: DevicePowerRequired

1: DevicePowerNotRequired

Ein Power Engine Plugin hat entweder die Stromversorgung eines Geräts angefordert oder die Stromversorgung eines Geräts nicht angefordert, ohne dass eine Anforderung des anderen Typs dazwischen liegt.

0x610

POP_FX_PLUGIN

POP_FX_DEVICE

Reserviert

Ein Power Engine Plugin hat die Stromversorgung eines Geräts nicht angefordert, während eine vorherige Anforderung der Stromversorgung eines Geräts noch aussteht.

0x611

POP_FX_PLUGIN

POP_FX_DEVICE

Ungültiger Komponentenindex

Ein Power Engine Plugin hat einen Vorgang für eine ungültige Komponente angefordert.

0x612

POP_FX_PLUGIN PowerEnginePlugin

Reserviert

Reserviert

Ein Power Engine Plugin hat im Rahmen einer Gerätebenachrichtigung zusätzliche Arbeit angefordert, für die von PO kein Puffer zur Verfügung gestellt wurde.

0x613

POP_FX_DEVICE

Komponenten-Index

Vorgang

0: Vollständige Stromversorgung des Geräts nicht erforderlich

1: Reporting Gerät eingeschaltet

2: Vollständiger Idle-Zustand

Ein Treiber hat versucht, eine Anforderung abzuschließen, obwohl keine solche ausstehende Anforderung ansteht.

0x614

POP_FX_DEVICE

Komponenten-Index

Unzulässiger Parameter

0: PO_FX_FLAG_BLOCKING verwendet bei IRQL >= DISPATCH_LEVEL

1: PO_FX_FLAG_BLOCKING und PO_FX_FLAG_ASYNC_ONLY beide angegeben

2: Ungültiger Komponentenindex

Ein Treiber hat einen Aktiv/Idle-Übergang für eine Komponente mit einem unzulässigen Parameter angefordert.

0x615

POP_FX_PLUGIN

POP_FX_COMPONENT

Unzulässige Aktion

0: Komponente nicht im Idle-Status 0

1: Komponente ist bereits aktiv

2: Keine ausstehende Aktivierungsanforderung

3: Ausstehender Idle-Status Wechsel

Ein Power Engine Plugin hat den Abschluss einer Komponentenaktivierung unrechtmäßig angezeigt.

0x616

POP_FX_PLUGIN

POP_FX_COMPONENT

Unzulässige Aktion

0: Ungültiger Idle-Status

1: Komponente befindet sich bereits in dem angeforderten Zustand

2: Einen Idle-Status ungleich Null angefordert, ohne den Idle-Status 0 zu durchlaufen

Ein Power Engine Plugin hat unrechtmäßig einen Wechsel des Idle-Status einer Komponente angefordert.

0x617

POP_FX_PLUGIN PowerEnginePlugin

UNICODE_STRING DeviceId

PEP_DEVICE_REGISTER PEP-Registrierung

Ein Power Engine Plugin hat bei der Verarbeitung einer Benachrichtigung zur Registrierung eines Geräts einen ungültigen Akzeptanztyp zurückgegeben.

0x618

POP_FX_WORK_ORDER_WATCHDOG_INFO WorkOrder

Reserviert

Reserviert

Ein Thread eines Runtime Power Workers ist zu lange blockiert worden.

0x619

POP_FX_DEVICE-Gerät

Komponenten-Index

NULL oder DEVICE_NODE des eigentlich verantwortlichen untergeordneten Geräts

Ein Gerät hat den Eintritt in den tiefsten Idle-Status der Runtime zu lange blockiert.

0x61A

POP_FX_PLUGIN Power Engine Plugin

POP_FX_DEVICE-Gerät

Reserviert

Ein Power Engine Plugin hat ungültige Informationen über den Leistungsstatus einer Komponente geliefert.

0x61B

POP_FX_DEVICE-Gerät

Komponenten-Index

Reserviert

Ein Treiber hat eine Perf-Status-Anfrage gestellt, bevor er sich für den Leistungsstatus eines Geräts registriert hat.

0x61C

POP_FX_DEVICE-Gerät

Komponenten-Index

Ungültiger Parameter

VALUES:

0 : PerfChangesCount überschreitet die Anzahl der für diese Komponente registrierten Perf-Status-Sets

Ein Treiber hat eine Perf-Status-Anfrage mit ungültigen Parametern gestellt.

0x61D

POP_FX_DEVICE-Gerät

Komponenten-Index

Ausstehender Anfragekontext

Ein Treiber hat eine Perf-Status-Anfrage gestellt, während eine vorherige Anfrage noch aussteht.

0x61E

Reserviert

Reserviert

Reserviert

Ein Power Engine Plugin hat versucht, einen kritischen Wechsel auf einem Debugger-Gerät durchzuführen, während automatische Wechsel aktiviert sind.

0x61F

POP_FX_DEVICE-Gerät

Koordinierter Idle-Status-Index

Reserviert

Ein Power Engine Plugin hat versucht, automatische Debugger-Übergänge für einen koordinierten Idle-Status zu aktivieren, der kein plattformweiter Status ist.

0x620

POP_FX_DEVICE-Gerät

Koordinierter Idle-Status-Index

Reserviert

Ein Power Engine Plugin hat versucht, eine D-State-Abhängigkeit für einen koordinierten Idle-Status zu registrieren, der kein plattformweiter Status ist.

0x621

POP_FX_DEVICE-Gerät

Komponenten-Index

Koordinierter Idle-Status-Index

Ein Power Engine Plugin hat versucht, eine F-State-Abhängigkeit für einen koordinierten Idle-Status zu registrieren, der kein plattformweiter Status ist.

0x622

Das übergeordnete POP_FX_COMPONENT

Das untergeordnete POP_FX_COMPONENT

Reserviert

Ein Treiber hat versucht, sich mit ausstehenden Abhängigkeiten von PoFx abzumelden.

0x666

PPOP_PEP_ACTIVITY

Neue Aktivitätsart

0: DevicePowerOn

1: ComponentIdleStateChange

2: ComponentActivating

3: ComponentActive

4: DevicePowerOff

5: DeviceSuspend

Widersprüchlicher Aktivitätstyp

0: DevicePowerOn

1: ComponentIdleStateChange

2: ComponentActivating

3: ComponentActive

4: DevicePowerOff

5: DeviceSuspend

Das standardmäßige Power Engine Plugin hat versucht, eine neue Aktivität auszulösen, die mit einer anderen Aktivität kollidiert.

0x667

POP_PEP_ACTIVITY

Aktivitätstyp

0: DevicePowerOn

1: ComponentIdleStateChange

2: ComponentActivating

3: ComponentActive

4: DevicePowerOff

5: DeviceSuspend

POP_PEP_ACTIVITY_STATUS

Das standardmäßige Power Engine Plugin hat versucht, eine Aktivität auszuführen, die nicht ausgeführt wird.

0x668

PPPM_COORDINATED_STATE, dessen Referenzzählung gerade aktualisiert wird.

Der von dieser Funktion beobachtete ungültige Wert für die Referenzanzahl.

Die Maske des Idle-Status der Plattform, die aktualisiert wird.

Das standardmäßige Power Engine Plugin hat versucht, eine Beschränkung für den Idle-Status einer Plattform aufzuheben, die zuvor nicht vorhanden war.

0x669

PPPM_COORDINATED_STATE, dessen Referenzzählung gerade aktualisiert wird.

Der von dieser Funktion beobachtete ungültige Wert für die Referenzanzahl.

Reserviert

Das standardmäßige Power Platform Plugin ist auf einen internen Konsistenzfehler gestoßen, während es versucht hat, PoFx exklusiv über die Verfügbarkeit eines Idle-Status der Plattform zu informieren.

Parameter 1 Parameter 2 Parameter 3 Parameter 4 Ursache

0x680

NTSTATUS-Fehlercode.

Reserviert

Reserviert

Das Runtime Power Framework konnte eine geforderte ACPI-Tabelle nicht analysieren, da sie entweder fehlte oder falsch formatiert war. Dies ist normalerweise auf einen BIOS-Fehler zurückzuführen.

0x700

PEPHANDLE

PEP_PPM_IDLE_SELECT

Reserviert

Ein Power Engine Plugin hat ungültige Abhängigkeiten im Leerlauf des Prozessors angegeben.

0x701

Der Index des ausgewählten Idle-Status des hängenden Prozessors

Die PRCB-Adresse des hängenden Prozessors

Der Index des hängenden Prozessors

Ein Prozessor war nicht in der Lage, einen Wechsel in den Ruhezustand innerhalb des zugewiesenen Intervalls abzuschließen. Dies zeigt an, dass der angegebene Prozessor gehängt ist.

0x702

Der Index des ausgewählten Idle-Status des Prozessors

Der Idle-Status der Synchronisation des Prozessors

Die PRCB-Adresse des hängenden Prozessors

Ein Prozessor ist aus einem nicht unterbrechbaren Zustand aufgewacht, ohne dass das OS ein explizites Aufwachen durch das PEP initiiert hat (unter Verwendung der notwendigen PPM-Idle-Synchronisation).

0x703

PEPHANDLE

PEP_PPM_QUERY_PLATFORM_STATE

Reserviert

Ein Power Engine Plugin hat ungültige Abhängigkeiten des Prozessors im Idle-Status während einer Abfrage des Status der Power Platform angegeben.

0x704

Reserviert

Reserviert

Reserviert

Ein koordinierter Idle-Status-Wechsel wurde nicht rechtzeitig abgeschlossen.

0x705

PEPHANDLE

Benachrichtigung

Vierstelliges Tag zur Identifizierung des unzulässig veränderten Feldes. Dekodieren Sie das Tag in einem Kernel-Debugger mit: .formats tag, wobei tag in < > eingeschlossen ist.

Ein Power Engine Plugin hat ein schreibgeschütztes Feld im Puffer, der an eine Benachrichtigung übergeben wurde, verändert.

0x706

Benachrichtigung

Vierstelliges Tag zur Identifizierung des Feldes, das den illegalen Wert enthält. Dekodieren Sie das Tag in einem Kernel-Debugger mit: .formats tag, wobei tag in < > eingeschlossen ist.

Unzulässiger Wert oder Index in einem Array, in dem ein unzulässiger Wert existiert

Ein Power Engine Plugin hat einen unzulässigen Wert in einem der Felder des Puffers zurückgegeben, der in eine Benachrichtigung übergeben wurde.

0x800

Aktueller CS-Status

Reserviert

Reserviert

Der Monitor hat sich unerwartet eingeschaltet, während sich das System im angeschlossenen Standby befand.

0x801

Der Grund für die Änderung des Anzeigezustands

Die ID der Sitzung, die den Anzeigezustand aktualisiert hat

Reserviert

Es ist ein ungültiger Wechsel des Anzeigezustands aufgetreten.

0x802

POWER_MONITOR_REQUEST_REASON, der das Ausschalten des Bildschirms verursacht hat

1, wenn der Power Event Processor aktiviert ist, sonst 0.

Zeiger auf ein POP_PDC_IDLE_PHASE_WATCHDOG_CONTEXT global.

PDC System Idle Phase (NoCsPhase) hat den Wechsel in Modern Standby länger als erwartet blockiert.

0x900

Zeiger auf den zuständigen Power-Setting-Callback

IRQL vor dem Aufruf des Power-Setting-Callbacks

IRQL nach der Rückkehr vom Aufruf des Power-Setting Callbacks

Ein registrierter Power-Setting-Callback kehrte mit geändertem IRQL zurück. Dies bedeutet, dass der Callback den IRQL geändert hat, aber den ursprünglichen IRQL vor der Rückkehr nicht wiederhergestellt hat.

0x901

DEVICE_OBJECT

IRP

Die Anzahl der APC-Deaktivierungen des Threads

Ein Treiber hat während der Bearbeitung eines Power-IRP Kernel-APCs aktiviert/deaktiviert.

0x4001

KE-Fehler-Subcode.

VALUES:

0x100 : (INTERNAL_POWER_ERROR_KE_PROCESSOR_ON_TIMED_OUT) Die Firmware hat zu lange gebraucht, um einen Prozessor einzuschalten.

0x101 : (INTERNAL_POWER_ERROR_KE_INVALID_INTERRUPT_TARGET) Es wurde ein ungültiges Interrupt-Ziel angegeben.

0x102 : (INTERNAL_POWER_ERROR_KE_SETDESTINATION_FAILED) Das Ziel einer Interruptleitung konnte nicht geändert werden.

0x103 : (INTERNAL_POWER_ERROR_KE_IPI_REQUEST_FAILED) Ein IPI konnte nicht ausgegeben werden, während ein Interrupt umgeleitet wurde.

0x104 : (INTERNAL_POWER_ERROR_KE_ARCH_NOT_SUPPORTED) Nicht unterstützte Prozessorarchitektur.

Reserviert

Reserviert

(INTERNAL_POWER_ERROR_KE_SUBCODE) In der Kernel-Exekutive ist während eines Power-Vorgangs ein interner Fehler aufgetreten.

0xAA64

Fehlercode

PSCI-Funktions-ID in Bearbeitung

Optionale interne kontextabhängige Daten

AArm64 Power State Coordination Interface (PSCI)-Funktion ist auf einen nicht behebbaren kritischen Fehler gestoßen.

Lösung

Allgemeine Hinweise

In der vorstehenden Tabelle sind mehrere der Parameter Zeiger auf Strukturen. Wenn zum Beispiel Parameter 2 als DEVICE_OBJECT aufgeführt ist, dann ist Parameter 2 ein Zeiger auf eine DEVICE_OBJECT Struktur. Einige der Strukturen sind in der Datei wdm.h definiert, die dem Windows Driver Kit beiliegt. Zum Beispiel sind die folgenden Strukturen in wdm.h definiert.

  • EXCEPTION_POINTERS
  • DEVICE_OBJECT
  • IO_STACK_LOCATION
  • PEP_DEVICE_REGISTER

Einige der Strukturen, die in der vorstehenden Tabelle aufgeführt sind, sind in keiner öffentlichen Header-Datei definiert. Sie können die Definitionen dieser Strukturen mit dem Debugger-Befehl dt einsehen. Das folgende Beispiel zeigt, wie Sie den Befehl dt verwenden, um die Struktur DEVICE_OBJECT_POWER_EXTENSION anzuzeigen.

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>

Mit den folgenden Verfahren können Sie bestimmte Instanzen dieser Fehlerprüfung debuggen.

Debuggen der Fehlerprüfung 0xA0, wenn Parameter 1 gleich 0x2 ist

  1. Untersuchen Sie den Stack. Suchen Sie nach der Funktion ntoskrnl!PopExceptionFilter. Diese Funktion enthält den folgenden Code als erstes Argument.

     (error_code << 16) | _LINE_
    

    Wenn der Aufrufer PopExceptionFilter ist, ist das erste Argument dieser Funktion vom Typ PEXCEPTION_POINTERS. Beachten Sie den Wert dieses Arguments.

  2. Verwenden Sie den Befehl dt (Anzeigetyp) und geben Sie den Wert, den Sie im vorherigen Schritt gefunden haben, als Argument an.

    dt nt!_EXCEPTION_POINTERS argument 
    

    Dieser Befehl zeigt die Struktur an. Notieren Sie sich die Adresse des Datensatzes im Kontext.

  3. Verwenden Sie den Befehl .cxr (Display Context Record) und geben Sie den Datensatz, den Sie im vorherigen Schritt gefunden haben, als record an.

    .cxr record 
    

    Mit diesem Befehl wird der Registerkontext auf den richtigen Wert festgelegt.

  4. Verwenden Sie eine Reihe von Befehlen, um die Fehlerquelle zu analysieren. Beginnen Sie mit kb (Display Stack Backtrace) .

Debugging-Fehler überprüfen können 0xA0 wenn Parameter 1 gleich 0x7 ist

  1. Untersuchen Sie den Stack. Suchen Sie nach der Funktion ntoskrnl!PopExceptionFilter. Das erste Argument für diese Funktion ist vom Typ PEXCEPTION_POINTERS. Beachten Sie den Wert dieses Arguments.

  2. Verwenden Sie den Befehl dt (Anzeigetyp) und geben Sie den Wert, den Sie im vorherigen Schritt gefunden haben, als Argument an.

    dt nt!_EXCEPTION_POINTERS argument 
    

    Dieser Befehl zeigt die Struktur an. Notieren Sie sich die Adresse des Datensatzes im Kontext.

  3. Verwenden Sie den Befehl .cxr (Display Context Record) und geben Sie den Datensatz, den Sie im vorherigen Schritt gefunden haben, als record an.

    .cxr record 
    

    Mit diesem Befehl wird der Registerkontext auf den richtigen Wert festgelegt.

  4. Verwenden Sie eine Reihe von Befehlen, um die Fehlerquelle zu analysieren. Beginnen Sie mit kb (Display Stack Backtrace) .

Debugging-Fehlerprüfung 0xA0, wenn Parameter 1 gleich 0x101 ist

  1. Verwenden Sie den Befehl dt (Display Type) und geben Sie den Wert von Parameter 3 als Argument an.

    dt nt!_EXCEPTION_POINTERS argument 
    

    Dieser Befehl zeigt die Struktur an. Notieren Sie sich die Adresse des Datensatzes im Kontext.

  2. Verwenden Sie den Befehl .cxr (Display Context Record) und geben Sie den Datensatz, den Sie im vorherigen Schritt gefunden haben, als record an.

    .cxr record 
    

    Mit diesem Befehl wird der Registerkontext auf den richtigen Wert festgelegt.

  3. Verwenden Sie eine Reihe von Befehlen, um die Fehlerquelle zu analysieren. Beginnen Sie mit kb (Display Stack Backtrace) .

Weitere Informationen

Bug Check Code Reference (Referenz zu Fehlerüberprüfungscodes)