我有一个小应用程序,可以使用IP Helper中的AddIPAddress函数临时添加几个(3-4)IP地址。几秒钟(2-3)之后,它将使用DeleteIPAddress函数删除这些地址。
DeleteIPAddress函数可以正常工作并且不返回错误,但是有时(每3或4轮添加和删除一次)它会触发接口上的断开连接事件(就像断开和连接电缆一样)。
我想避免这些断开连接,因为它们会切断在同一界面中进行的所有通信,但是我在文档中看不到有关此行为的任何信息。
这是我添加每个IP地址的方式:
auto dwRetVal = AddIPAddress(iaIPAddress, iaIPMask, _idx, &NTEContext, &NTEInstance);
if (dwRetVal == ERROR)
{
std::cout << "Error on AddIPAddress" << std::endl;
}
这就是我删除它们的方式:
auto dwRetVal = DeleteIPAddress(ipContext);
if (dwRetVal != NO_ERROR)
{
std::cout << "Error on DeleteIPAddress" << std::endl;
}
我想念什么吗?
答案 0 :(得分:0)
您没有正确检查AddIPAddress
的返回值,应该测试!= ERROR_SUCCESS
。
如果AddIPAddress
失败,则不应调用delete。