事件记录管理信息

【勇芳软件工作室】汉化HomePreviousNext

事件日志记录管理信息存储在配置数据库的服务密钥中,可以由系统管理员进行修改。

配置信息的结构如下:

HKEY_LOCAL_MACHINE

SYSTEM

CurrentControlSet

服务

EventLog

应用

安全

系统

EventLog键包含几个子项,称为【日志文件】.默认日志文件为应用安全系统.每个日志文件子项可以包含称为【来源】的子项。您不能使用用作日志文件名的源名称,源名称不应该是分层的。(反斜杠字符[\]不能在注册表项中使用。)每个源条目都包含特定于事件源的信息,如下表所示。

描述
EventMessageFile指定事件标识符消息文件的路径。该值的类型为REG_EXPAND_SZ。
CategoryMessageFile指定类别消息文件的路径。事件类别和事件标识符消息字符串可以在同一个文件中。该值的类型为REG_EXPAND_SZ。
ParameterMessageFile指定事件源参数消息文件的路径。该文件包含要插入事件描述字符串的独立于语言的字符串。您可以对参数,类别和事件标识符消息字符串使用相同的消息文件。该值的类型为REG_EXPAND_SZ。
CategoryCount指定支持的类??别数。该值的类型为REG_DWORD。
TypesSupported指定支持的类??型的位掩码。该值的类型为REG_DWORD。

当应用程序使用RegisterEventSourceOpenEventLog函数获取事件日志的句柄时,事件记录服务将在注册表中搜索指定的源名称。例如,应用日志文件可能已配置Microsoft SQL Server和Microsoft Excel的源。如果应用程序使用源代码为Application,SQL或Excel的RegisterEventSourceOpenEventLog,事件记录服务会返回应用日志文件的句柄。

应用程序可以使用应用事件日志,而不向注册表添加新的源代码。如果应用程序调用{??989796063},传递在注册表中找不到的源名称,则事件记录服务默认使用应用日志文件。但是,由于没有消息或类别字符串文件,事件查看器将无法将事件标识符或类别映射到替换字符串。因此,建议的过程是将应用程序的唯一源名称添加到注册表。这允许您为事件中的事件标识符和类别指定消息文件。应用程序和服务应将其源名称添加到应用日志文件中。设备驱动程序应将其源名称添加到系统日志文件中。

事件查看器应用程序使用OpenEventLog函数打开事件源的事件日志。事件查看器可以使用ReadEventLog函数从日志中读取事件记录。ReadEventLog返回一个包含EVENTLOGRECORD结构的缓冲区和描述已记录事件的其他信息。EventIDEventID成员是源的事件消息文件中的描述字符串的标识符。事件查看器使用LoadLibrary函数来加载由源的EventMessageFile注册表值指示的文件。然后,查看器使用FormatMessage函数从加载的模块中检索描述字符串。

描述字符串可能包含插入字符串占位符,例如%【n】,其中%1表示第一个插入字符串,依此类推。在这种情况下,由ReadEventLog返回的缓冲区包含插入字符串。EVENTLOGRECORDNumStrings成员表示插入字符串数。StringOffsetStringOffset成员指示缓冲区中第一个插入字符串的位置。

插入字符串还可以包含形式为%% 【n】的占位符,其中【n】是源参数消息文件中字符串的标识符。在这种情况下,事件查看器使用LoadLibraryFormatMessage从源的ParameterMessageFile注册表值指示的文件中检索插入字符串。

有关使用注册表的更多信息,请参阅注册处.有关创建和使用消息文件的更多信息,请参阅消息编译器文档。