Freigeben über


Fehlerdatensätze

Die Windows Hardware Error Architecture (WHEA) verwendet ein Standardfehlerdatensatzformat, um alle Plattformhardwarefehler darzustellen. Daher können die Systemfirmware, das Windows-Betriebssystem und Benutzermodusanwendungen Hardwarefehlerberichterstattungs- und Wiederherstellungsmechanismen entwerfen, die alle auf demselben Fehlerdatensatzformat basieren.

Das Format der Fehlereinträge, die von WHEA verwendet werden, basiert auf dem Common Platform Error Record (CPER), wie in Anhang N der Version 2.2 der Unified Extensible Firmware Interface (UEFI) Specificationbeschrieben.

Das folgende Diagramm zeigt das allgemeine Format eines Fehlerdatensatzes.

Diagramm zur Veranschaulichung des allgemeinen Formats eines Fehlerdatensatzes

Ein Fehlerdatensatz besteht aus einem Fehlerdatensatzheader, gefolgt von mindestens einem Fehlerdatensatzabschnitts-Deskriptor mit fester Länge. Für jeden Fehlerdatensatzabschnittsdeskriptor gibt es einen zugeordneten Fehlerdatensatzabschnitt mit variabler Länge, der entweder Fehlerdaten oder Informationsdaten enthält. Ein Fehlerdatensatz muss mindestens einen Fehlerdatensatzabschnitt enthalten.

Ein Fehlerdatensatz kann zusätzlichen Pufferraum für die dynamische Hinzufügung von Fehlerdatensatzabschnitten und Abschnittsdeskriptoren enthalten. Der zusätzliche Pufferraum kann auch verwendet werden, um die Größe vorhandener Fehlerdatensatzabschnitte dynamisch zu erhöhen.

Ein Fehlerdatensatz wird durch eine WHEA_ERROR_RECORD-Struktur beschrieben, der Fehlerdatensatzheader durch eine WHEA_ERROR_RECORD_HEADER-Struktur, und die Fehlerdatensatzabschnitts-Deskriptoren jeweils durch eine WHEA_ERROR_RECORD_SECTION_DESCRIPTOR-Struktur.

Jeder Fehlerdatensatzabschnitt kann einer der folgenden Abschnittstypen sein:

Hardwarefehlerpaket
Dieser Fehlerdatensatzabschnitt enthält das Hardwarefehlerpaket, das vom Hardwarefehlerhandler (Low-Level Hardware Error Handler, LLHEH), der den Fehler gemeldet hat, an das Betriebssystem übergeben wurde. Die in diesem Abschnitt enthaltenen Daten werden durch die WHEA_ERROR_PACKET-Struktur beschrieben.

Generischer Prozessorfehler
Dieser Abschnitt "Fehlerdatensatz" enthält Prozessorfehlerdaten, die nicht für eine bestimmte Prozessorarchitektur spezifisch sind. Die in diesem Abschnitt enthaltenen Daten werden durch die WHEA_PROCESSOR_GENERIC_ERROR_SECTION-Struktur beschrieben.

x86/x64 Prozessorfehler
Dieser Abschnitt "Fehlerdatensatz" enthält Prozessorfehlerdaten, die für die x86- oder x64-Prozessorarchitektur spezifisch sind. Die in diesem Abschnitt enthaltenen Daten werden durch die WHEA_XPF_PROCESSOR_ERROR_SECTION-Struktur beschrieben. Das folgende Diagramm zeigt, wie die Datenstrukturen, die die Prozessorfehlerdaten enthalten, im VariableInfo-Element gespeichert werden.

Prozessorfehlerdaten.

Itanium-Prozessorfehler
Dieser Abschnitt "Fehlerdatensatz" enthält Prozessorfehlerdaten, die für die Itanium-Prozessorarchitektur spezifisch sind. Weitere Informationen zum Format der Fehlerdaten im Fehlerdatensatzabschnitt finden Sie in der Intel Itanium Processor Family System Abstraction Layer Specification.

Itanium-Prozessorfirmware – Fehlerdatensatzreferenz
Dieser Abschnitt "Fehlerdatensatz" enthält einen Verweis auf einen Firmwarefehlerdatensatz, der für die Itanium-Prozessorarchitektur spezifisch ist. Dieser Fehlerdatensatzabschnitt wird durch eine WHEA_FIRMWARE_ERROR_RECORD_REFERENCE-Struktur beschrieben.

Plattformspeicherfehler
Dieser Fehlerdatensatzabschnitt enthält Fehlerdaten des Plattformspeichers. Die in diesem Abschnitt enthaltenen Daten werden durch die WHEA_MEMORY_ERROR_SECTION-Struktur beschrieben.

Nicht maskierbarer Interrupt
Dieser Fehlerdatensatzabschnitt enthält NMI-Daten (NMI = nicht maskierbarer Interrupt). Die in diesem Abschnitt enthaltenen Daten werden durch die WHEA_NMI_ERROR_SECTION-Struktur beschrieben.

PCI Express-Fehler
Dieser Abschnitt "Fehlerdatensatz" enthält PCI Express-Fehlerdaten. Die in diesem Abschnitt enthaltenen Daten werden durch die WHEA_PCIEXPRESS_ERROR_SECTION-Struktur beschrieben.

PCI-/PCI-X-Busfehler
Dieser Fehlerdatensatzabschnitt enthält PCI-/PCI-X-Busfehlerdaten. Die in diesem Abschnitt enthaltenen Daten werden durch die WHEA_PCIXBUS_ERROR_SECTION-Struktur beschrieben.

PCI-/PCI-X-Gerätefehler
Dieser Fehlerdatensatzabschnitt enthält PCI-/PCI-X-Gerätefehlerdaten. Die in diesem Abschnitt enthaltenen Daten werden durch die WHEA_PCIXDEVICE_ERROR_SECTION-Struktur beschrieben.

Für zusätzliche Hardwarefehlerdaten, die nicht in einen der Abschnittstypen in der vorherigen Liste passen, kann ein plattformspezifischer Fehlerdatensatzabschnitt definiert werden, um die Daten zu enthalten. Für jeden plattformspezifischen Fehlerdatensatzabschnitt, der definiert ist, muss eine entsprechende GUID definiert werden, die den Typ des Fehlerdatensatzabschnitts identifiziert. Diese GUID wird im Element SectionType einer WHEA_ERROR_RECORD_SECTION_DESCRIPTOR-Struktur angegeben, die diese Art von Fehlerdatensatzabschnitt beschreibt.

Wenn zusätzliche Hardwarefehlerdaten vorhanden sind, die nicht in einen der Abschnittstypen in der vorherigen Liste oder in einen definierten plattformspezifischen Fehlerdatensatzabschnitt passen, wird ein allgemeiner Fehlerdatensatzabschnitt verwendet, um die Daten zu enthalten.