У меня есть небольшое приложение, которое временно добавляет несколько (3-4) IP-адресов с помощью функции AddIPAddress из IP Helper.Через несколько секунд (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;
}
Я что-то упустил?