能否在windows上编写一个程序,直接调用网卡驱动来实现以太网通讯

可否在windows上编写一个程序,直接调用网卡驱动来实现以太网通讯?
可否在windows上编写一个程序,直接调用网卡驱动来实现以太网通讯?

这个是否有可行性?  难度有多大? 从哪方面下手呢?
网卡的驱动程序会不会提供API直接让应用程序调用 ?


非常感谢。
------解决方案--------------------
本帖最后由 wenxy1 于 2009-11-11 17:43:57 编辑
windows的网卡驱动程序接口是有统一标准的接口函数吗?
怎么调用呢?
windows的网卡驱动程序接口是有统一标准的接口函数吗?
怎么调用呢?

答:我本人没做过windows驱动,因些找了些参考资料给你,按我在Linux下开发的经验,是可以的,winodws有 CreateFile这个函数来找开设备,例如串口。
http://book.21www.cn/info/vc_mfc/system/2196.html



我了解在VXWORKS中,网卡驱动程序跟上层的TCP/IP协议之间会有一个MUX层,这个MUX层会提供一些标准的接口函数,在上层(协议层)与底层驱动之间建立起“桥梁”。那样,编程者可以在MUX层之上,利用MUX层的接口来间接“调用”底层网卡驱动程序,实现以太网通讯。(也相当于“绕开”了TCP/IP协议)。

答:在Windows上要绕开windows自带的TCP/IP协议栈,应当可以,试试开源的Winpcap库。

所以我在想能否在windows的应用程序中也可以让编程者“直接”访问底层驱动呢? 这方面没有一点经验,也不知道是否有可行性,所以专门来这里求教。
答:自己实验吧。

以太网通讯不一定要在TCP/IP这一层通讯吧? 如果同一局域网内的两个网络设备只需要在ISO模型底层(比如数据链路层)上通讯也可以吧?
答:在数据链路层上通讯是可以的,但你要实现ARP协议。
------解决方案--------------------
引用:
可否在windows上编写一个程序,直接调用网卡驱动来实现以太网通讯?

这个是否有可行性?  难度有多大? 从哪方面下手呢?
网卡的驱动程序会不会提供API直接让应用程序调用 ?


非常感谢。



你查查winpcap的资料,可以实现。