【问题标题】:Unable to retrieve the complete description string of the event log record无法检索事件日志记录的完整描述字符串
【发布时间】:2010-03-19 13:44:52
【问题描述】:

我有一个 MFC 应用程序,它使用 ::ReadEventLog() API 读取和显示事件日志记录。问题在于读取事件日志记录的“描述”消息字符串。 MFC 应用程序无法读取完整的“描述”消息字符串并仅显示其中的一部分。但是,Windows 系统事件日志查看器会正确读取并显示完整的“描述”消息字符串。

我已确保我的 MFC 应用程序通过检索 EVENTLOGRECORD 结构的“NumStrings”和“StringOffset”成员变量提供的所有字符串并合并所有字符串来读取整个“描述”消息字符串。同样如 MSDN 中所述,我的应用程序加载源名称特定消息库文件(其路径在注册表中的 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\Application[SourceName] 中指定),该文件进一步包含其他消息字符串信息并将其与较早的读取字符串。

我仍然无法获得完整的“描述”消息字符串。

请提供解决问题的任何帮助。

问候,

桑托什。

【问题讨论】:

    标签: mfc winapi visual-c++ registry event-log


    【解决方案1】:

    这对于事件中的所有描述消息是一致的,还是您只监视您之前从自己的应用程序创建的某些事件条目?

    也许描述中嵌入了 NUL 字符,导致 MFC 代码在显示字符串时过早终止字符串,即使正确检索了原始字符串?

    【讨论】:

      猜你喜欢
      • 2021-05-24
      • 2015-05-14
      • 2015-07-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-10
      • 1970-01-01
      相关资源
      最近更新 更多