EVENTLOGRECORD-Struktur (winnt.h)

Enthält Informationen zu einem Ereignisdatensatz, der von der ReadEventLog-Funktion zurückgegeben wird.

Syntax

typedef struct _EVENTLOGRECORD {
  DWORD Length;
  DWORD Reserved;
  DWORD RecordNumber;
  DWORD TimeGenerated;
  DWORD TimeWritten;
  DWORD EventID;
  WORD  EventType;
  WORD  NumStrings;
  WORD  EventCategory;
  WORD  ReservedFlags;
  DWORD ClosingRecordNumber;
  DWORD StringOffset;
  DWORD UserSidLength;
  DWORD UserSidOffset;
  DWORD DataLength;
  DWORD DataOffset;
} EVENTLOGRECORD, *PEVENTLOGRECORD;

Member

Length

Die Größe dieses Ereignisdatensatzes in Bytes. Beachten Sie, dass dieser Wert an beiden Enden des Eintrags gespeichert wird, um das Vorwärts- oder Rückwärtsfahren durch das Protokoll zu erleichtern. Die Länge umfasst alle Padbytes, die am Ende des Datensatzes für die DWORD-Ausrichtung eingefügt werden.

Reserved

Ein DWORD-Wert, der immer auf ELF_LOG_SIGNATURE festgelegt ist (der Wert ist 0x654c664c), was ASCII für eLfL ist.

RecordNumber

Die Nummer des Datensatzes. Dieser Wert kann mit dem EVENTLOG_SEEK_READ-Flag in der ReadEventLog-Funktion verwendet werden, um mit dem Lesen eines angegebenen Datensatzes zu beginnen. Weitere Informationen finden Sie unter Ereignisprotokolldatensätze.

TimeGenerated

Der Zeitpunkt, zu dem dieser Eintrag übermittelt wurde. Diese Zeit wird in der Anzahl der Sekunden gemessen, die seit 00:00:00: 00, 1. Januar 1970, Koordinierte Weltzeit, verstrichen ist.

TimeWritten

Der Zeitpunkt, zu dem dieser Eintrag vom Dienst empfangen wurde, der in das Protokoll geschrieben werden soll. Diese Zeit wird in der Anzahl der Sekunden gemessen, die seit 00:00:00: 00, 1. Januar 1970, Koordinierte Weltzeit, verstrichen ist.

EventID

Der Ereignisbezeichner. Der Wert ist spezifisch für die Ereignisquelle für das Ereignis und wird mit dem Quellnamen verwendet, um eine Beschreibungszeichenfolge in der Nachrichtendatei für die Ereignisquelle zu suchen. Weitere Informationen finden Sie unter Ereignisbezeichner.

EventType

Art des Ereignisses. Dieser Member kann einer der folgenden Werte sein.

Wert Bedeutung
EVENTLOG_ERROR_TYPE
0x0001
Fehlerereignis
EVENTLOG_AUDIT_FAILURE
0x0010
Fehlerüberwachungsereignis
EVENTLOG_AUDIT_SUCCESS
0x0008
Erfolgsüberwachungsereignis
EVENTLOG_INFORMATION_TYPE
0x0004
Informationsereignis
EVENTLOG_WARNING_TYPE
0x0002
Warnungsereignis
 

Weitere Informationen finden Sie unter Ereignistypen.

NumStrings

Die Anzahl der im Protokoll vorhandenen Zeichenfolgen (an der durch StringOffset angegebenen Position). Diese Zeichenfolgen werden in die Nachricht zusammengeführt, bevor sie dem Benutzer angezeigt wird.

EventCategory

Die Kategorie für dieses Ereignis. Die Bedeutung dieses Werts hängt von der Ereignisquelle ab. Weitere Informationen finden Sie unter Ereigniskategorien.

ReservedFlags

Reserviert.

ClosingRecordNumber

Reserviert.

StringOffset

Der Offset der Beschreibungszeichenfolgen in diesem Ereignisprotokolldatensatz.

UserSidLength

Die Größe des UserSid-Members in Bytes. Dieser Wert kann null sein, wenn kein Sicherheitsbezeichner angegeben wurde.

UserSidOffset

Der Offset des Sicherheitsbezeichners (SID) in diesem Ereignisprotokolldatensatz. Um den Benutzernamen für diese SID abzurufen, verwenden Sie die LookupAccountSid-Funktion .

DataLength

Die Größe der ereignisspezifischen Daten (an der durch DataOffset angegebenen Position) in Bytes.

DataOffset

Der Offset der ereignisspezifischen Informationen in diesem Ereignisprotokolldatensatz in Bytes. Diese Informationen können etwas Spezifisches sein (ein Datenträgertreiber kann z. B. die Anzahl der Wiederholungen protokollieren), gefolgt von binären Informationen, die für das protokollierte Ereignis und die Quelle, die den Eintrag generiert hat, spezifisch sind.

Hinweise

Auf die definierten Member folgen die Ersatzzeichenfolgen für die durch den Ereignisbezeichner identifizierte Nachricht, die binären Informationen, einige Padbytes, um sicherzustellen, dass sich der vollständige Eintrag auf einer DWORD-Grenze befindet, und schließlich die Länge des Protokolleintrags erneut. Da die Zeichenfolgen und die binären Informationen von beliebiger Länge sein können, werden keine Strukturelemente definiert, um auf sie zu verweisen. Die Deklaration dieser Struktur in Winnt.h beschreibt diese Member wie folgt:

    // WCHAR SourceName[]
    // WCHAR Computername[]
    // SID   UserSid
    // WCHAR Strings[]
    // BYTE  Data[]
    // CHAR  Pad[]
    // DWORD Length;

Der Quellname ist eine Zeichenfolge mit variabler Länge, die den Namen der Ereignisquelle angibt. Der Computername ist der Name des Computers, der das Ereignis generiert hat. Es kann mit einigen Auffüllungsbytes gefolgt werden, sodass die Benutzer-SID an einer DWORD-Grenze ausgerichtet wird. Die Benutzer-SID identifiziert den aktiven Benutzer zum Zeitpunkt der Protokollierung dieses Ereignisses. Wenn UserSidLength null ist, ist dieses Feld möglicherweise leer.

Der Ereignisbezeichner zusammen mit dem Quellnamen und einem Sprachbezeichner identifizieren eine Zeichenfolge, die das Ereignis ausführlicher beschreibt. Die Zeichenfolgen werden als Ersatzzeichenfolgen verwendet und in die Nachrichtenzeichenfolge zusammengeführt, um eine vollständige Nachricht zu erstellen. Die Nachrichtenzeichenfolgen sind in einer Nachrichtendatei enthalten, die im Quelleintrag in der Registrierung angegeben ist. Laden Sie die Nachrichtendatei mit der LoadLibrary-Funktion , und verwenden Sie die FormatMessage-Funktion , um die entsprechende Nachrichtenzeichenfolge aus der Nachrichtendatei abzurufen.

Die binären Informationen sind Informationen, die für das Ereignis spezifisch sind. Dies kann der Inhalt des Prozessorregisters sein, wenn ein Gerätetreiber einen Fehler erhalten hat, ein Dump eines ungültigen Pakets, das aus dem Netzwerk empfangen wurde, ein Dump aller Strukturen in einem Programm (wenn der Datenbereich als beschädigt erkannt wurde) usw. Diese Informationen sollten für den Writer des Gerätetreibers oder der Anwendung nützlich sein, um Fehler oder nicht autorisierte Einbrüche in die Anwendung zu verfolgen.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Kopfzeile winnt.h (Einschließen von Windows.h)

Weitere Informationen

LookupAccountSid

ReadEventLog