Bagikan melalui


Mengkueri Log Peristiwa Sistem untuk Peristiwa Kesalahan Perangkat Keras

Nama penyedia yang mencatat peristiwa kesalahan perangkat keras Microsoft-Windows-WHEA-Logger.

Penyedia ini dirancang untuk pengguna dalam skenario desktop. Ini memberikan pesan yang dapat dibaca manusia dengan detail utama peristiwa sehingga pengguna bisa mendapatkan gambaran dasar tentang apa yang terjadi.

Contoh kode berikut menunjukkan cara mengkueri log peristiwa sistem untuk mengambil peristiwa kesalahan perangkat keras yang sebelumnya dicatat oleh 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);
  }
}

Nota

Semua fungsi Evt_Xxx_ dan jenis data EVT_XXX yang digunakan dalam contoh sebelumnya didokumentasikan di bagian Windows Event Log dalam dokumentasi Microsoft Windows SDK.