Freigeben über


ReadEventLogW-Funktion (winbase.h)

Liest die angegebene Anzahl von Einträgen aus dem angegebenen Ereignisprotokoll. Die Funktion kann zum Lesen von Protokolleinträgen in chronologischer oder umgekehrter chronologischer Reihenfolge verwendet werden.

Syntax

BOOL ReadEventLogW(
  [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 aus dem im dwRecordOffset Parameter angegebenen Datensatz.

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

EVENTLOG_SEQUENTIAL_READ
0x0001
Lesen Sie 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 (ältestes bis neuestes).

Der Standardwert.

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

[in] dwRecordOffset

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

[out] lpBuffer

Ein vom Anwendung zugewiesener Puffer, der eine oder mehrere EVENTLOGRECORD- Strukturen empfängt. Dieser Parameter kann nicht NULL-werden, auch wenn der parameter nNumberOfBytesToRead null ist.

Die maximale Größe dieses Puffers ist 0x7ffff Bytes.

[in] nNumberOfBytesToRead

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

[out] pnBytesRead

Ein Zeiger auf eine Variable, die die Anzahl der von der Funktion gelesenen Bytes empfängt.

[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 zurückgibt, und GetLastError- gibt ERROR_INSUFFICIENT_BUFFERzurück.

Rückgabewert

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

Wenn die Funktion fehlschlägt, ist der Rückgabewert null. Rufen Sie GetLastErrorauf, um erweiterte Fehlerinformationen zu erhalten.

Bemerkungen

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 einzigen Protokoll vorhanden sein). Daher kann diese Funktion Ereignisse zurückgeben, die von mehr als einer Quelle protokolliert wurden.
 

Beispiele

Ein Beispiel finden Sie unter Abfragen von Ereignisinformationen.

Anmerkung

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
mindestens unterstützte Client- Windows 2000 Professional [nur Desktop-Apps]
mindestens unterstützte Server- Windows 2000 Server [nur Desktop-Apps]
Zielplattform- Fenster
Header- winbase.h (enthalten Windows.h)
Library Advapi32.lib
DLL- Advapi32.dll
API-Satz ext-ms-win-advapi32-eventlog-ansi-l1-1-0 (eingeführt in Windows 10, Version 10.0.10240)

Siehe auch

ClearEventLog-

CloseEventLog-

EVENTLOGRECORD-

Ereignisprotokollierungsfunktionen

OpenEventLog-

ReportEvent-