哪位大侠帮帮忙,我用GetIfTable获得的MIB_Iftable结构中信息来判断当前网卡linked状态,以前都一直好好的,不过近来莫名其妙的在一台Vista系统和两台2008系统上出现异常。
异常描述:当前网卡无论是正常链接还是未连接时GetIfTable获得结构中的链接状态信息始终为0,即未链接状态。真实情况网卡是链接的,而且可以正常工作(Ping,传数据等动作)。跪求一解,万分感谢!
异常描述:当前网卡无论是正常链接还是未连接时GetIfTable获得结构中的链接状态信息始终为0,即未链接状态。真实情况网卡是链接的,而且可以正常工作(Ping,传数据等动作)。跪求一解,万分感谢!
解决方案 »
- #include "stdafx.h" 为什么加上这句就编译通过,不加上这句就不行
- 为啥我在caption里输入汉字变成???,输入英文可以
- MFC中通过 ClassWizard 新建立一个类 Automation选项是做什么用的?
- 1、我想在程序里实现把:c:\\piantou里的文件拷贝到:c:\\11 中,请问语句怎样写?
- Clistctrl打印多行显示()与DrawText应用
- 怎样获得密码框内的字符串?
- VC无法执行C++的预编译#using,怎么回事?
- 有那位大侠知道NTFS格式,请救我一命
- 请教vc中关于SetItemData和GetItemData的用法
- 如何在Windows NT/2000下,枚举一个进程的所有线程ID(ThreadID)
- VC 有关按钮的界面设计
- MD5加密问题
{
unsigned long dwsize = 0;
bool border = false;
PMIB_IFTABLE piftable = NULL;
GetIfTable(piftable, &dwsize, border);
piftable = (PMIB_IFTABLE)new(unsigned char[dwsize]);
if (piftable == NULL)
{
return false;
} GetIfTable(piftable, &dwsize, border);
bool bFind = false;
unsigned long nIndex = 0;
bool bLinkStatus = false;
//search the row with same physical address
for(; nIndex < piftable->dwNumEntries; nIndex++)
{
if( memcmp(&(piftable->table[nIndex].bPhysAddr), bMacAddr, 6) == 0)
{
bFind = true;
break;
} }
if(bFind == true)
{
bLinkStatus = !(piftable->table[nIndex].dwOperStatus == MIB_IF_OPER_STATUS_NON_OPERATIONAL);
}
delete [] piftable; return bLinkStatus;
}