判断网络连接状态(无线)?该怎么处理

判断网络连接状态(无线)?
我想利用GetIfEntry()函数判断某一特定的网卡当前连接状态。我用的时USB类型的无线网卡
在判断过程中,发现:
  1.无法连接,判断成功
  2.正在获取网络地址时,MIB_IFROW结构的dwOperStatus值为5,也就是默认的状态,而不是3(MIB_IF_OPER_STATUS_CONNECTING),
  3.无线连接成功后,dwOperStatus值也为5,居然也不是4(MIB_IF_OPER_STATUS_CONNECTED)

是不是GetIfEntry不能够判断无线网卡的连接状态的呢?

------解决方案--------------------
IsNetworkAvailble()这一类函数都只能近似判断连接
要想准确就要心跳连接服务端等来判断
------解决方案--------------------
判断连接状态常用做法是通过心跳包判断,如客户端定时往服务器发送几个字节数据,表明自己还"活"着,如果发送心跳失败或者接收心跳失败,说连接已断开,这是长连接最常用的一种做法