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.
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) |