您的位置:首页 > 其它

SendARP 相关错误

2008-10-23 12:53 197 查看
SendARP 31错误(连到系统上的设备没有发挥作用。 )

SendARP 1784错误(提供给请求操作的用户缓冲区无效。 )

unsigned char macAddress[6];

ULONG macAddLen = 6;

for( ; it != ControlDevices.end(); it++)

{

iRet=SendARP(it->DeviceAddr.GetIPAddr(), (unsigned long)NULL,(PULONG)&macAddress, &macAddLen);

}

改成

for( ; it != ControlDevices.end(); it++)

{

unsigned char macAddress[6];

ULONG macAddLen = 6;

iRet=SendARP(it->DeviceAddr.GetIPAddr(), (unsigned long)NULL,(PULONG)&macAddress, &macAddLen);

}

发送成功

应该是macAddress这个地方有错误,才会出现的

2008-11-23

SendARP 返回时间,测试代码时遇到SendARP 大约每隔1秒才会返回

具体代码,"......"里的代码不是很长,现在只能改用另外一种办法了,把SendARP换成消息,这样可以做到每隔一定的时间发送设备查询的消息

for( ; it != list.end(); it++)

{

if(it->m_device.DeviceState==0)

{

unsigned char macAddress[6];

ULONG macAddLen = 6;

memset( macAddress,0xff,sizeof( macAddress ) );

int iRet=SendARP(it->m_device.DeviceAddr.GetIPAddr(), (unsigned long)NULL,(PULONG)&macAddress, &macAddLen);

if( iRet == NO_ERROR )

{

.......

}

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐