我正在尝试开发 NDIS 过滤器驱动程序。但是,我似乎无法加载它。我启用了debug
和testsigning
启动选项;我的驱动程序是经过测试签名的,并且证书已加载到root
和trustedpublisher
存储中。
在我启用之前testsigning
,我的驱动程序会在 ntbootlog.txt 中显示为
未加载驱动程序 \SystemRoot\system32\DRIVERS\mydriver.sys
启用后testsigning
,驱动程序根本不显示。但是,它显示在接口属性中。即使我的驱动程序当前是一个非常小的直通 NDIS 过滤器驱动程序,该接口也会损坏,直到我禁用过滤器。当我禁用过滤器时,一切正常。
该驱动程序未列在 windbg 的模块列表中,但它列在“未加载模块”列表中,这表明该驱动程序已在某个时间点加载。DriverEntry
我的驱动程序在和DriverUnload
以及所有强制性 NDIS 挂钩中产生了一些输出。这个输出都没有出现在 windbg's!dbgprint
中,这表明驱动程序DriverEntry
从未被调用过。
我不知道如何调试这个问题;谁能给我一些关于这里可能发生的事情的提示?
我正在使用 Windows 2008 R2 数据中心,已检查构建。我目前仅限于单机设置。