Fehlerverarbeitung
Die Windows-Hardwarefehlerarchitektur (Windows Hardware Error Architecture, WHEA) verarbeitet Hardwarefehler je nach Klassifizierung der Fehlerbedingung auf unterschiedliche Weise. Weitere Informationen zu den verschiedenen Klassifizierungen von Hardwarefehlern finden Sie unter Hardwarefehler und Fehlerquellen.
Im Folgenden wird die Abfolge der Aktionen beschrieben, die von WHEA als Reaktion auf jeden Typ von Hardwarefehlerbedingung ausgeführt werden. Weitere Informationen zu den WHEA-Komponenten, auf die in diesen Aktionen verwiesen wird, finden Sie unter Komponenten der Windows-Hardwarefehlerarchitektur.
Behobener Hardwarefehler
Der Hardwarefehlerhandler (Low-Level Hardware Error Handler , LLHEH) wird über das Vorhandensein der Hardwarefehlerbedingung benachrichtigt.
Die LLHEH überprüft das Vorhandensein des Hardwarefehlers.
Die LLHEH ruft Hardwarefehlerinformationen aus der Fehlerquelle ab und verwendet die Fehlerdaten, um ein Hardwarefehlerpaket auszufüllen. Dieses Paket ist als WHEA_ERROR_PACKET-Struktur formatiert.
Der LLHEH ruft den plattformspezifischen Hardwarefehlertreiber (PSHED) auf, um plattformspezifische Hardwarefehlerinformationen abzurufen. Wenn ein PSHED-Plug-In installiert und registriert ist, um am Abruf von Fehlerinformationen teilzunehmen, ruft das PSHED wiederum das PSHED-Plug-In auf, um die an die LLHEH zurückgegebenen Fehlerinformationen weiter zu erweitern.
Die LLHEH ruft den Windows-Betriebssystemkernels auf und übergibt diesem das Fehlerpaket.
Der Windows-Kernel erstellt einen Fehlerdatensatz und füllt ihn mit den Informationen aus dem Fehlerpaket, das vom LLHEH empfangen wurde, sowie mit anderen Informationen zum Fehler, z. B. die Fehlerquelle, den Schweregrad des Fehlers und die Anzahl der Aufgetretenen des Fehlers.
Der Windows-Kernel ruft PSHED auf, damit der PSHED dem Fehlerdatensatz Abschnitte hinzufügen kann. Wenn ein PSHED-Plug-In installiert und registriert ist, um am Abruf von Fehlerinformationen teilzunehmen, ruft das PSHED wiederum das PSHED-Plug-In auf, damit es die Informationen im Fehlerdatensatz weiter erweitern kann.
Der Windows-Kernel ruft PSHED auf, um die status Register der Fehlerquelle zu löschen. Wenn ein PSHED-Plug-In installiert und registriert ist, um am Abruf von Fehlerinformationen teilzunehmen, ruft das PSHED wiederum das PSHED-Plug-In auf, damit die status Register der Fehlerquelle gelöscht werden können.
Wenn die Hardwarefehlerbedingung den Fehlerschwellenwert der Fehlerquelle überschreitet, generiert der Windows-Kernel ein ETW-Ereignis und protokolliert die Fehlerinformationen im Systemereignisprotokoll.
Nicht schwerwiegender, nicht korrigierter Hardwarefehler
Die LLHEH wird über das Vorhandensein des Hardwarefehlerzustands benachrichtigt.
Die LLHEH überprüft das Vorhandensein des Hardwarefehlers.
Die LLHEH ruft Hardwarefehlerinformationen aus der Fehlerquelle ab und verwendet die Fehlerdaten, um ein Hardwarefehlerpaket auszufüllen.
Der LLHEH ruft den PSHED auf, um plattformspezifische Hardwarefehlerinformationen abzurufen. Wenn ein PSHED-Plug-In installiert und registriert ist, um am Abruf von Fehlerinformationen teilzunehmen, ruft das PSHED wiederum das PSHED-Plug-In auf, um die an die LLHEH zurückgegebenen Fehlerinformationen weiter zu erweitern.
Die LLHEH ruft den Windows-Betriebssystemkernels auf und übergibt diesem das Fehlerpaket.
Der Windows-Kernel erstellt einen Fehlerdatensatz und füllt ihn mit den Informationen aus dem Fehlerpaket, das vom LLHEH empfangen wurde, sowie mit anderen Informationen zum Fehler, z. B. die Fehlerquelle, den Schweregrad des Fehlers und die Anzahl der Aufgetretenen des Fehlers.
Der Windows-Kernel ruft PSHED auf, damit der PSHED dem Fehlerdatensatz Abschnitte hinzufügen kann. Wenn ein PSHED-Plug-In installiert und registriert ist, um am Abruf von Fehlerinformationen teilzunehmen, ruft das PSHED wiederum das PSHED-Plug-In auf, damit es die Informationen im Fehlerdatensatz weiter erweitern kann.
Der Windows-Kernel versucht, den Fehler zu beheben, indem er versucht, die Hardwarefehlerbedingung zu korrigieren. Der Windows-Kernel ruft dann den PSHED auf, um ihm die Möglichkeit zu geben, alle erforderlichen Wiederherstellungsvorgänge auszuführen. Wenn ein PSHED-Plug-In installiert und registriert ist, um an der Fehlerwiederherstellung teilzunehmen, ruft das PSHED wiederum das PSHED-Plug-In auf, damit es versuchen kann, den Fehler zu beheben und/oder zusätzliche Vorgänge auszuführen, die zur vollständigen Wiederherstellung nach der Fehlerbedingung erforderlich sind.
Wenn der Hardwarefehler erfolgreich behoben wurde, generiert der Windows-Kernel ein ETW-Ereignis und protokolliert die Fehlerinformationen im Systemereignisprotokoll. Wenn der Hardwarefehler nicht behoben wurde, ruft der Windows-Kernel den PSHED auf, um den Fehlerdatensatz zu speichern. Wenn ein PSHED-Plug-In installiert und registriert wird, um an der Persistenz des Fehlerdatensatzes teilzunehmen, ruft das PSHED wiederum das PSHED-Plug-In auf, damit der Fehlerdatensatz gespeichert werden kann. Nachdem der Fehlerdatensatz gespeichert wurde, generiert der Windows-Kernel eine Fehlerprüfung.
Schwerwiegender nicht korrigierter Hardwarefehler
Die LLHEH wird über das Vorhandensein des Hardwarefehlerzustands benachrichtigt.
Die LLHEH überprüft das Vorhandensein des Hardwarefehlers.
Die LLHEH ruft Hardwarefehlerinformationen aus der Fehlerquelle ab und verwendet die Fehlerdaten, um ein Hardwarefehlerpaket auszufüllen.
Der LLHEH ruft den PSHED auf, um plattformspezifische Hardwarefehlerinformationen abzurufen. Wenn ein PSHED-Plug-In installiert und registriert ist, um am Abruf von Fehlerinformationen teilzunehmen, ruft das PSHED wiederum das PSHED-Plug-In auf, um die an die LLHEH zurückgegebenen Fehlerinformationen weiter zu erweitern.
Die LLHEH ruft den Windows-Betriebssystemkernels auf und übergibt diesem das Fehlerpaket.
Der Windows-Kernel erstellt einen Fehlerdatensatz und füllt ihn mit den Informationen aus dem Fehlerpaket, das vom LLHEH empfangen wurde, sowie mit anderen Informationen zum Fehler, z. B. die Fehlerquelle, den Schweregrad des Fehlers und die Anzahl der Aufgetretenen des Fehlers.
Der Windows-Kernel ruft den PSHED auf, um den Fehlerdatensatz zu speichern. Wenn ein PSHED-Plug-In installiert und registriert wird, um an der Persistenz des Fehlerdatensatzes teilzunehmen, ruft das PSHED wiederum das PSHED-Plug-In auf, damit der Fehlerdatensatz gespeichert werden kann.
Der Windows-Kernel generiert eine Fehlerprüfung.