Как удалить IP-адрес, когда у вас нет контекста записи в сетевой таблице

0

Функция DeleteIPAddress может использоваться для удаления IP-адреса, который был добавлен ранее, с помощью AddIPAddress. Когда вы добавляете адрес и передаете его как параметр в DeleteIPAddress, вы получаете контекст записи таблицы.

В моем случае должна произойти перезагрузка между временем добавления IP-адреса и его удалением. Адрес является постоянным и остается после перезагрузки, но у нас больше нет контекста ввода таблицы, поэтому DeleteIPAddress терпит неудачу. Как еще я могу удалить этот IP-адрес?

Я работаю с C++ в Windows 7.

Благодарю.

Теги:
network-programming

1 ответ

1
Лучший ответ

нашел в ms; GetAdaptersInfo должен быть тем, что вам нужно

Ошибка удаленияIPAddress в Windows XP при удалении IP-адреса, не добавленного с помощью AddIPAddress. В Windows 7 я могу удалить IP-адрес с помощью DeleteIPAddress(), хотя я не добавил его с помощью AddIPAddress(). Я могу сделать это, получив NTEContext желаемого IP-адреса конкретного сетевого адаптера через GetAdaptersInfo().

Это не работает на Windows XP SP3 Professional. DeleteIPAddress() возвращает ошибку ERROR_GEN_FAILURE "Устройство, подключенное к системе, не работает". Все предыдущие и последующие вызовы функций IP Helper преуспевают, поэтому нет ничего плохого в моем устройстве.

  • 0
    Фантастика. Благодарю.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню