查詢硬體錯誤事件的系統事件記錄檔
記錄硬體錯誤事件的提供者名稱為 Microsoft-Windows-WHEA-Logger。
此提供者是專為桌面案例中的使用者所設計。 它提供人類可讀取的訊息,其中包含事件的主要詳細資料,讓使用者可以取得發生狀況的基本概念。
下列程式碼範例示範如何查詢系統事件記錄檔,以擷取 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);
}
}
注意
先前範例中使用的所有Evt_Xxx_函式和EVT_XXX資料類型都會記載于Microsoft Windows SDK檔中的Windows 事件記錄一節。