平台为S3C2416 + DM9000 + WinCE6.0
目的是让应用层中检测到网线插拔过程。DM9000中有一个寄存器指示了该状态:
检测函数Drivers\DM9000A\device.cpp : NIC_DEVICE_OBJECT::DeviceCheckForHang(void)
该函数调用流程:
MiniportCheckForHang()->NIC_DRIVER_OBJECT::DriverCheckForHang()->NIC_DEVICE_OBJECT::DeviceCheckForHang()
在此函数中添加事件或其他方式与应用层取得联系,将网线连接状态上报到应用程序。
应用程序便可实时检测到网线连接状态,不必再使用ping等其他socket工具来检测了。方便了很多。
在使用过程中发现,网线连接后,并不一定能够立即使用网络,只能说明网线已经插好。还需要获取IP地址等常规操作。
阅读(3248) | 评论(0) | 转发(0) |