使用 NDIS 驱动程序的自定义事件消息

Custom event messages with NDIS driver

我正在尝试定义一些自定义事件查看器事件。我一直在按照 MSDN 和其他一些在线资源中的说明进行操作,但事件查看器找不到关联的文本数据。

这是我所做的:


HKR, , EventMessageFile, 0x00020000, "%%SystemRoot%%\System32\netevent.dll; %%SystemRoot%%\System32\drivers\MyDriver.sys"
HKR, , TypesSupported,   0x00010001, 7

一切正常,除了事件查看器显示的字符串。它似乎无法识别它们并在事件描述中显示“存在消息资源,但在 string/message table 中找不到消息”。 与 WDK 示例的唯一显着区别是使用 NDIS API 而不是通用 WDM API。 我也非常有信心该文本包含在驱动程序二进制文件中,因为当使用编辑器打开 .sys 文件时,我清楚地看到了我的字符串。 非常感谢有关此问题的任何建议。

嗯,一年半后我发现了问题。显然,如果前面有空格,事件查看器注册表字符串解析器无法正确提取第二个消息文件名。

因此,要修复它,只需删除空格即可。即,而不是:

HKR, , EventMessageFile, 0x00020000, "%%SystemRoot%%\System32\netevent.dll; %%SystemRoot%%\System32\drivers\MyDriver.sys"

在inf文件中写入:

HKR, , EventMessageFile, 0x00020000, "%%SystemRoot%%\System32\netevent.dll;%%SystemRoot%%\System32\drivers\MyDriver.sys"