急!!!怎样检测网卡与网线的连通状态???

解决方案 »

  1.   

    http://www.zdnet.com.cn/developer/code/story/0,2000081534,39046680,00.htm
    给分
      

  2.   

    http://www.zdnet.com.cn/developer/code/story/0,2000081534,39046680,00.htm
    //这个有点不对题目哦,这个只是介绍了网卡IP设置之类的东西
      

  3.   

    回复人: zengpan_panpan() ( ) 信誉:100  2004-01-14 17:03:00  得分:0 
      看交换机上的灯他网卡上的灯一定是坏了,要不他怎么会问这么愚蠢的问题呢?
      
     
      

  4.   

    转自驱动开发网
    发信人: rain (夜猫子大王), 信区: SysInternals
    标 题: Re: 请问实时发现网络down掉的原理?(转载)
    发信站: 武汉白云黄鹤站 (2001年03月31日09:57:05 星期六), 转信实时检测网线被拔掉是需要网卡设备驱动程序支持的,
    如果驱动程序不支持是无法实现的,NDIS4要求设备驱动程序
    最好提供CheckForHangHandler回调函数。2000会每隔2秒钟
    调用此函数。驱动程序在此函数中检查网卡连线状态,
    如果发生了改变,即拔去了网线或接上了网线,
    驱动程序就会调用NdisMIndicateStatus通知所有的上层NDIS协议驱动程序.
    其中: NDIS_STATUS_MEDIA_DISCONNECT 指示网线被拔掉,
    NDIS_STATUS_MEDIA_CONNECT 指示网线被接上
    NDIS_STATUS_LINK_SPEED_CHANGE 指示网卡速度改变,10/100自适应网卡才有。
    网卡一般都有 status register 指示当然的连线状态,
    也有网卡是通过获得 led status 来知道当前的连线状态的,
    即绿灯亮表示连线,灭表示没有。
    有些网卡拔掉或接上网线时会产生中断,在中断处理程序中一般也
    检测网络连线状态并调用NdisMIndicateStatus,这样连线状态
    在2000中就实时反应出来了,否则会在2秒钟内,即NDIS调用CheckForHangHandler后。这个功能是微软在PC97规范中定义的,所以ndis3没有这个功能。
    linux对这个没有要求,novell netware对这个有要求,其它的操作系统我也不清楚。
      

  5.   

    用这个试试DWORD GetIfEntry(
      PMIB_IFROW pIfRow    // pointer to interface entry 
    );The GetIfEntry function retrieves information for the specified interface on the local computer.