我们有一个软件,它将特定 ID 注册为事件 ID,并添加到 Windows 事件日志中。在这里,事件 ID 是递增的,而不是使用特定事件 ID 并添加正文。这是我们无法改变的。因此,有没有办法增加事件 ID 限制(65535)?任何编程方式或通过注册表?客户端系统是 Windows 7 x86。任何建议都值得赞赏。
注意:问题不在于事件日志大小,而在于事件 ID 限制(尽管它被告知是 int32,但我相信它是 uint16)。
谢谢你!
答案1
抱歉,你运气不好。数据类型是硬编码在操作系统本身中的。“事件 ID”确实只有 16 位可用。
https://docs.microsoft.com/en-us/windows/win32/eventlog/event-identifiers
如果不从源代码重建 Windows 中的整个事件系统以及向事件管理器报告的每个应用程序(这是不可能的),那么您就倒霉了。
我不确定您使用什么来向事件日志报告事件...但最好指定作为消息一部分的任何递增ID,而不是“事件ID”...并使用静态ID或与消息类型相关的ID(这是它的预期方式)。