ハードウェア エラー イベントのシステム イベント ログのクエリ
ハードウェア エラー イベントをログに記録するプロバイダーの名前は、Microsoft-Windows-WHEA-Logger
このプロバイダーは、デスクトップ シナリオのユーザー向けに設計されています。 人間が判読できるメッセージにイベントの主な詳細が含まれるため、ユーザーは何が発生したかを基本的に把握できます。
次のコード例は、システム イベント ログを照会して、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);
}
}
手記
前の例で使用したすべての Evt_Xxx_ 関数とEVT_XXX データ型については、Microsoft Windows SDK ドキュメントの「Windows イベント ログ」セクションを参照してください。