EVENTLOGRECORD结构包含有关事件记录的信息。
typedef struct _EVENTLOGRECORD { //结婚tr
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;
//
//然后按照:
//
// TCHAR SourceName []
// TCHAR Computername []
// SID UserSid
// TCHAR Strings []
// BYTE Data []
// CHAR Pad []
// DWORD Length;
//
} EVENTLOGRECORD;
会员
长度
指定此事件记录的长度(以字节为单位)。请注意,该值存储在条目的两端,以便通过日志向前或向后移动。长度包括插入到DWORD对齐记录结尾的任何填充字节。
保留的
保留。
RecordNumber
包含可以在调用ReadEventLog函数中传递的EVENTLOG_SEEK_READ标志用于在指定记录开始读取时使用的记录编号。
TimeGenerated
提交此条目的时间。这个时间是以1970年1月1日00:00:00过去的秒数来衡量的。
TimeWritten
指定要写入日志文件的服务接收此条目的时间。这个时间是以1970年1月1日00:00:00过去的秒数来衡量的。
EventID
标识事件。这是特定于生成事件日志条目的源,并与SourceName一起使用来标识在查看日志时呈现给用户的消息文件中的消息。
EventType
指定事件的类型。该成员可以是以下值之一:
值 | 含义 |
EVENTLOG_ERROR_TYPE | 错误事件 |
EVENTLOG_WARNING_TYPE | 警告事件 |
EVENTLOG_INFORMATION_TYPE | 信息事件 |
EVENTLOG_AUDIT_SUCCESS | 成功审核活动 |
EVENTLOG_AUDIT_FAILURE | 失败审核事件 |
有关事件类型的详细信息,请参阅事件记录.
NumStrings
指定日志中存在的字符串数(在StringOffset指示的位置)。这些字符串在向用户显示之前被合并到消息中。
EventCategory
指定此事件的子类别。这个子类别是源特定的。
ReservedFlags
保留。
ClosingRecordNumber
保留。
StringOffset
指定此事件日志条目中字符串的偏移量。
UserSidLength
指定UserSid成员的长度(以字节为单位)。如果没有提供安全标识符,则此值可以为零。
UserSidOffset
指定此事件记录中安全标识符的偏移量。
DataLength
指定事件特定数据的长度(以字节为单位)(在DataOffset所示的位置)。
DataOffset
指定此日志中事件特定信息的偏移量。此信息可能是特定的(例如,磁盘驱动程序可能会记录重试次数),其次是特定于正在记录的事件的二进制信息和生成该条目的源。
SourceName
包含指定生成条目的源(应用程序,服务,驱动程序,子系统)的名称的可变长度为null的字符串字符串。这是用于从注册表检索包含此源的消息字符串的文件的名称的名称。它与事件标识符一起用于获取描述此事件的消息字符串。
计算机名
包含可变长度以null结尾的字符串,指定生成此事件的计算机的名称。此字段之后还可能有一些pad字节,以确保{DWORD边界上的UserSid对齐。
UserSid
在此事件记录时指定活动用户的安全标识符。如果UserSidLength成员为零,则此成员可能为空。
定义的成员之后是由事件标识符标识的消息的替换字符串,二进制信息,一些pad字节,以确保完整条目位于DWORD边界,最后是日志条目的长度。因为字符串和二进制信息可以是任何长度的,所以没有定义结构成员来引用它们。
事件标识符与SourceName和语言标识符一起标识更详细地描述事件的消息字符串。字符串用作替换字符串,并被合并到消息字符串中以形成完整的消息。消息字符串包含在注册表中的源条目中指定的消息文件中。
二进制信息是事件特有的信息。当设备驱动程序发生错误时,可能是处理器寄存器的内容,从网络接收的无效数据包的转储,程序中所有结构的转储(当检测到数据区域已损坏时) , 等等。该信息对于设备驱动程序或应用程序的作者在跟踪应用程序中的错误或未经授权的中断时应该是有用的。
也可以看看