不知道对于一个从未了解NDIS的人来说,2天时间搞出一个基于NDIS的过滤驱动,并且稳定运行,代表什么呢?
我都没想到自己能做得这么快,我开始感觉怎么不得2周啊。
############################
NdisQueryPacket() //返回一组描述了包和链的大指针的信息
在DDK编译环境中,所有的局部变量都要写在函数的开头,否则编译错误。
注意数据类型,差一点都不行啊!
刚才刚刚把复制数据报内容的模块弄出来,我就等着看我的2k蓝屏死机了……
用DebugView查看的输出,本来想把4个字节的ISN(初始序列号)输出的,发现结果总是不对,经常输出负数,研究一番,发现如下结果:
如果输出负数(十进制),则用256+输出,得到十进制数。如果输出整数,则直接表示。
然后转换为十六进制,则可以和Sniffer捕获的数据对应上。解决!
其他参考文献:
http://blog.youkuaiyun.com/justaseeker/archive/2004/09/11/101109.aspx