NDIS6过滤驱动的编写
来源:互联网 发布:windows进程内存监控 编辑:程序博客网 时间:2024/05/22 04:38
NDIS6是在WINDOWS VISTA及之后版本的WINDOWS引入的,这时NDIS5的HOOK方式是无法使用的,MSDN推荐的方式是使用过滤驱动,其实也可以使用Intermediate(中间层驱动),下面谈一下它们的利弊,还有一些原理性的东西:
1.为什么NDIS6不动NDIS5的HOOK:
1.因为NDIS6使用了新的函数集和新的数据结构,最重要的是NET_BUFFER替代了NDIS_PACKET,原先所有的使用NDIS_PACKET的PROTOCOL或MINIPORT驱动的接口函数从此完全被报废。
其实对NDIS6也是可以进行HOOK的,但不稳定,通过对OPEN_BLOCK6等结构中的接口函数进行替换,可以对部分的协议驱动实现HOOK,注意:这几个函数都是使用新的NET_BUFFER结构来进行工作,其体函数名可以通过调试看出来,名称中包括List。有兴趣的人可以试一下,总的来说,这些函数与结构的变化比较大,很多工作方式都发生的变化,处理起来更加复杂。
2.IM驱动和过滤驱动相比,有什么利弊之分?
1.IM有最好的通用性,可以在WINXP,WIN2K,VISTA,WIN7中全面兼容,但它对VISTA与WIN7中的支持,是通过在通信函数中加入从NDIS_PACKET至NET_BUFFER转换层实现,所以性能在WIN7下应该是反而减弱了。
2.过滤驱动是直接使用NET_BUFFER来进行通信的,这种方式会有更好性能,主要的原因是NET_BUFFER使用了新的数据表示方法,避免的频繁的内存复制。具体可以参考MSDN。但很明显,它无法支持WINXP及之前的系统。
- NDIS6过滤驱动的编写
- 学习编写文件过滤驱动,第一节 准备
- 过滤驱动的概念
- 过滤驱动的概念
- 串口过滤驱动(过滤所有的串口)
- NDIS6.0发送以太网包需要遵守的规则
- 串口的过滤驱动例子
- 枚举系统的过滤驱动
- windows下的驱动开发(过滤驱动)
- ra601的驱动编写
- 驱动编写的全过程
- 驱动编写的全过程
- i2c驱动的编写
- 编写简单的驱动
- 驱动------过滤
- 一个可以过滤串口输入的过滤驱动
- 过滤器的编写(过滤字符编码)
- java编写带过滤分页的通讯录
- Asterisk 1.8 sip 协议栈分析(2)
- 可视电话的编程记录
- 教学课件 ---- 诗词游戏的开发
- 图片上传前的预览与检测
- 设计模式(三)--装饰者模式(1)
- NDIS6过滤驱动的编写
- xml作用
- 实现ASP.NET中FileUpload多文件上传
- 网络编程视频学习
- 设计模式(三)--装饰者模式(2)
- 堆和栈的区别 (BY 任我行)
- Compile MaNGOS On Windows
- 事半功倍 ---- 快速复制图片和文字到多张幻灯片
- void指针