gpt4 book ai didi

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

转载 作者:可可西里 更新时间:2023-11-01 09:36:48 35 4
gpt4 key购买 nike

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

这是我所做的:

  • 为带有事件代码和相关字符串的消息编译器创建了一个输入文件(遵循 WDK 串行驱动程序示例)。
  • 在主驱动程序资源文件(MyDriver.rc)中包含消息编译器生成的.rc 文件。
  • 在相关驱动模块中包含消息编译器生成的头文件。
  • 使用 NdisWriteErrorLogEntry API 从包含的头文件中写入带有新 ID 的事件。
  • 将驱动程序二进制文件添加到标识事件源的 Inf 注册表字符串中:

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

一切正常,除了事件查看器显示的字符串。它似乎无法识别它们并在事件描述中显示“消息资源存在,但在字符串/消息表中找不到消息”。与 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"

关于windows - 使用 NDIS 驱动程序的自定义事件消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38790954/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com