Consulta del registro de eventos del sistema para eventos de error de hardware
El nombre del proveedor que registra los eventos de error de hardware es Microsoft-Windows-WHEA-Logger.
Este proveedor está diseñado para los usuarios en escenarios de escritorio. Proporciona un mensaje legible con los detalles principales del evento para que un usuario pueda obtener una idea básica de lo que ocurrió.
En el ejemplo de código siguiente se muestra cómo consultar el registro de eventos del sistema para recuperar los eventos de error de hardware registrados previamente por la arquitectura de errores de hardware de Windows (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);
}
}
Nota
Todas las funciones de Evt_Xxx_ y los tipos de datos EVT_XXX que se usaron en los ejemplos anteriores están documentadas en la sección Registro de eventos de Windows en la documentación de Microsoft Windows SDK.