Query's uitvoeren op het systeemlogboek voor hardwarefout gebeurtenissen
De naam van de provider die de hardwarefoutgebeurtenissen registreert, is Microsoft-Windows-WHEA-Logger.
Deze provider is ontworpen voor gebruikers in desktopscenario's. Het biedt een menselijk leesbaar bericht met de belangrijkste details van de gebeurtenis, zodat een gebruiker een basisidee kan krijgen van wat er is gebeurd.
In het volgende codevoorbeeld ziet u hoe u een query uitvoert op het systeemgebeurtenislogboek om eventuele hardwarefoutgebeurtenissen op te halen die eerder zijn vastgelegd door de Windows Hardware Error Architecture (WHEA).
// 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);
}
}
Notitie
Alle Evt_Xxx_-functies en de EVT_XXX gegevenstypen die in de vorige voorbeelden zijn gebruikt, worden beschreven in de sectie Windows-gebeurtenislogboek in de Microsoft Windows SDK-documentatie.