记一个磨人的bug。
现象是使用FilterLoad加载minifilter失败了,返回错误是找不到文件。
难道驱动名称写错了?难道注册service失败了?难道……
细细排查一番,均无异常。
但依然file not found...
万事不决读文档,MSDN中说,当minifilter被加载时,DriverEntry会被调用。
灵光一现,WinDbg走起。
然后发现果然是DriverEntry里出幺蛾子了,其中的初始化代码某处出错,返回了file not found.
修复DriverEntry里的问题后,FilterLoad也正常了。
回想起来,这个FilterLoad和LoadLibrary也蛮像。
这个file not found,差点让我早下班的美梦也not found了 :(