Freigeben über


ReadEventLogA-Funktion (winbase.h)

Liest die angegebene Anzahl von Einträgen aus dem angegebenen Ereignisprotokoll. Die Funktion kann verwendet werden, um Protokolleinträge in chronologischer oder umgekehrter chronologischer Reihenfolge zu lesen.

Syntax

BOOL ReadEventLogA(
  [in]  HANDLE hEventLog,
  [in]  DWORD  dwReadFlags,
  [in]  DWORD  dwRecordOffset,
  [out] LPVOID lpBuffer,
  [in]  DWORD  nNumberOfBytesToRead,
  [out] DWORD  *pnBytesRead,
  [out] DWORD  *pnMinNumberOfBytesNeeded
);

Parameter

[in] hEventLog

Ein Handle für das zu lesende Ereignisprotokoll. Die OpenEventLog-Funktion gibt dieses Handle zurück.

[in] dwReadFlags

Verwenden Sie die folgenden Flagwerte, um anzugeben, wie die Protokolldatei gelesen wird. Dieser Parameter muss einen der folgenden Werte enthalten (die Flags schließen sich gegenseitig aus).

Wert Bedeutung
EVENTLOG_SEEK_READ
0x0002
Beginnen Sie mit dem Lesen des im dwRecordOffset-Parameter angegebenen Datensatzes.

Diese Option funktioniert möglicherweise nicht mit großen Protokolldateien, wenn die Funktion die Größe der Protokolldatei nicht ermitteln kann. Weitere Informationen finden Sie im Knowledge Base-Artikel 177199.

EVENTLOG_SEQUENTIAL_READ
0x0001
Liest die Datensätze sequenziell.

Wenn dies der erste Lesevorgang ist, bestimmt die EVENTLOG_FORWARDS_READ EVENTLOG_BACKWARDS_READ Flags, welcher Datensatz zuerst gelesen wird.

 

Sie müssen eines der folgenden Flags angeben, um die Richtung für aufeinander folgende Lesevorgänge anzugeben (die Flags schließen sich gegenseitig aus).

Wert Bedeutung
EVENTLOG_FORWARDS_READ
0x0004
Das Protokoll wird in chronologischer Reihenfolge gelesen (älteste bis neueste).

Der Standardwert.

EVENTLOG_BACKWARDS_READ
0x0008
Das Protokoll wird in umgekehrter chronologischer Reihenfolge gelesen (neueste bis älteste).

[in] dwRecordOffset

Die Datensatznummer des Protokolleintrags, an dem der Lesevorgang gestartet werden soll. Dieser Parameter wird ignoriert, es sei denn , dwReadFlags enthält das flag EVENTLOG_SEEK_READ .

[out] lpBuffer

Ein von der Anwendung zugewiesener Puffer, der mindestens eine EVENTLOGRECORD-Struktur empfängt. Dieser Parameter kann nicht NULL sein, auch wenn der nNumberOfBytesToRead-Parameter null ist.

Die maximale Größe dieses Puffers beträgt 0x7ffff Bytes.

[in] nNumberOfBytesToRead

Die Größe des lpBuffer-Puffers in Bytes. Diese Funktion liest so viele Protokolleinträge, wie in den Puffer passen. Die Funktion gibt keine Teileinträge zurück.

[out] pnBytesRead

Ein Zeiger auf eine Variable, die die Anzahl der bytes empfängt, die von der Funktion gelesen werden.

[out] pnMinNumberOfBytesNeeded

Ein Zeiger auf eine Variable, die die erforderliche Größe des lpBuffer-Puffers empfängt. Dieser Wert ist nur gültig, wenn diese Funktion null und GetLastErrorERROR_INSUFFICIENT_BUFFER zurückgibt.

Rückgabewert

Wenn die Funktion erfolgreich ist, ist der Rückgabewert ungleich Null.

Wenn die Funktion fehlerhaft ist, ist der Rückgabewert null. Um erweiterte Fehlerinformationen zu erhalten, rufen Sie GetLastError auf.

Hinweise

Wenn diese Funktion erfolgreich zurückgegeben wird, wird die Leseposition im Ereignisprotokoll durch die Anzahl der gelesenen Datensätze angepasst.

Hinweis Der konfigurierte Dateiname für diese Quelle kann auch der konfigurierte Dateiname für andere Quellen sein (mehrere Quellen können als Unterschlüssel unter einem einzelnen Protokoll vorhanden sein). Daher kann diese Funktion Ereignisse zurückgeben, die von mehreren Quellen protokolliert wurden.
 

Beispiele

Ein Beispiel finden Sie unter Abfragen von Ereignisinformationen.

Hinweis

Der winbase.h-Header definiert ReadEventLog als Alias, der die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit Code, der nicht Codierungsneutral ist, kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile winbase.h (Windows.h einschließen)
Bibliothek Advapi32.lib
DLL Advapi32.dll
APIs ext-ms-win-advapi32-eventlog-ansi-l1-1-0 (eingeführt in Windows 10, Version 10.0.10240)

Weitere Informationen

ClearEventLog

CloseEventLog

EVENTLOGRECORD

Ereignisprotokollierungsfunktionen

OpenEventLog

ReportEvent