Проблема удаления IP-адреса и Add-IP-адреса - PullRequest
1 голос
/ 10 ноября 2010

Я пытался написать программу, добавив IP-адрес с помощью этой функции

 
DWORD AddIPAddress(
  __in   IPAddr Address,
  __in   IPMask IpMask,
  __in   DWORD IfIndex,
  __out  PULONG NTEContext,
  __out  PULONG NTEInstance
);

Я добавил ее, но как я могу ее удалить. DeleteIPAddress принимает NTEContext в качестве параметра. Как я могу получить его в MSDN, они пишут, что он возвращается функцией AddIPAddress, но когда я вызываю его во второй раз с тем же IP-адресом, он возвращает ошибку 2. Что делать?

Я могу просмотреть добавление IP-адресов с помощью команды Ipconfig в cmd, может быть есть какой-то другой способ просмотреть или удалить его вручную

1 Ответ

2 голосов
/ 10 ноября 2010

Вы не можете сделать это. От MSDN :

Для использования DeleteIPAddress, AddIPAddress сначала нужно вызвать, чтобы получить ручку NTEContext. Предыдущая процедура предполагает, что AddIPAddress уже был вызван где-то в коде, и NTEContext был сохранен и остается неповрежденный.

Время жизни добавленного адреса показано так: здесь :

Функция AddIPAddress используется для добавить новую запись адреса IPv4 на локальный компьютер. Добавлен IPv4-адрес функцией AddIPAddress не является упорный. Адрес IPv4 существует только пока объект адаптера существует. Перезагрузка компьютера уничтожает адрес IPv4, как и ручной сброс сети интерфейсная карта (NIC). Кроме того, определенные События PnP могут уничтожить адрес.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...