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 )
- {
- .......
- }
- }
- }