Abfragen des Systemereignisprotokolls nach Hardwarefehlerereignissen
Der Name des Anbieters, der die Hardwarefehlerereignisse protokolliert, lautet Microsoft-Windows-WHEA-Logger.
Dieser Anbieter ist für Benutzer in Desktopszenarien konzipiert. Es stellt eine für Menschen lesbare Nachricht mit den Standard Details des Ereignisses bereit, sodass ein Benutzer eine grundlegende Vorstellung davon erhalten kann, was passiert ist.
Das folgende Codebeispiel zeigt, wie Das Systemereignisprotokoll abgefragt wird, um alle Hardwarefehlerereignisse abzurufen, die zuvor von WHEA protokolliert wurden.
// Function to query the event log for hardware error events
VOID QueryHwErrorEvents(VOID) {
EVT_HANDLE QueryHandle;
EVT_HANDLE EventHandle;
ULONG Returned;
// Obtain a query handle to the system event log
QueryHandle =
EvtQuery(
NULL,
L"System",
L"*[System/Provider[@Name=\"Microsoft-Windows-WHEA-Logger\"]]",
EvtQueryChannelPath | EvtQueryForwardDirection
);
// Check result
if (QueryHandle != NULL) {
// Get the next hardware error event
while (EvtNext(
QueryHandle,
1,
&EventHandle,
-1,
0,
&Returned
)) {
// Process the hardware error event
ProcessHwErrorEvent(EventHandle);
// Close the event handle
EvtClose(EventHandle);
}
// Close the query handle
EvtClose(QueryHandle);
}
}
Hinweis
Alle Evt_Xxx_ Funktionen und die EVT_XXX-Datentypen, die in den vorherigen Beispielen verwendet wurden, sind im Abschnitt Windows-Ereignisprotokoll in der Microsoft Windows SDK-Dokumentation dokumentiert.
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für