Поделиться через


Функция FlushIpNetTable2 (netioapi.h)

Функция FlushIpNetTable2 очищает соседнюю таблицу IP-адресов на локальном компьютере.

Синтаксис

IPHLPAPI_DLL_LINKAGE _NETIOAPI_SUCCESS_ NETIOAPI_API FlushIpNetTable2(
  [in] ADDRESS_FAMILY Family,
  [in] NET_IFINDEX    InterfaceIndex
);

Параметры

[in] Family

Семейство адресов для очистки.

Возможные значения семейства адресов перечислены в файле заголовка Winsock2.h . Обратите внимание, что значения для семейства адресов AF_ и констант семейства протоколов PF_ идентичны (например, AF_INET и PF_INET), поэтому можно использовать любой из констант.

На Windows SDK, выпущенном для Windows Vista и более поздних версий, организация файлов заголовков изменилась, и возможные значения для этого элемента определяются в файле заголовка Ws2def.h. Обратите внимание, что файл заголовка Ws2def.h автоматически включается в Winsock2.h и никогда не должен использоваться напрямую.

В настоящее время поддерживаются значения AF_INET, AF_INET6 и AF_UNSPEC.

Значение Значение
AF_UNSPEC
0
Семейство адресов не указано. Если указан этот параметр, эта функция очищает соседнюю таблицу IP-адресов, содержащую записи IPv4 и IPv6.
AF_INET
2
Семейство адресов IPv4. Если указан этот параметр, эта функция очищает соседнюю таблицу IP-адресов, содержащую только записи IPv4.
AF_INET6
23
Семейство адресов IPv6. Если указан этот параметр, эта функция очищает соседнюю таблицу IP-адресов, содержащую только записи IPv6.

[in] InterfaceIndex

Индекс интерфейса. Если индекс указан, очистите записи соседних IP-адресов в определенном интерфейсе, в противном случае очистите записи соседних IP-адресов во всех интерфейсах. Чтобы игнорировать интерфейс, задайте для этого параметра нулевое значение.

Возвращаемое значение

Если функция выполнена успешно, возвращаемое значение будет NO_ERROR.

Если функция завершается сбоем, возвращается один из следующих кодов ошибок.

Код возврата Описание
ERROR_ACCESS_DENIED
Отказано в доступе". Эта ошибка возвращается при нескольких условиях, которые включают следующее: у пользователя отсутствуют необходимые права администратора на локальном компьютере или приложение не работает в расширенной оболочке в качестве встроенного администратора (администратор запуска от имени администратора).
ERROR_INVALID_PARAMETER
В функцию передан недопустимый параметр. Эта ошибка возвращается, если параметр Family не был указан как AF_INET, AF_INET6 или AF_UNSPEC.
ERROR_NOT_SUPPORTED
Запрос не поддерживается. Эта ошибка возвращается, если на локальном компьютере нет стека IPv4 и AF_INET был указан в параметре Family . Эта ошибка также возвращается, если на локальном компьютере нет стека IPv6 и AF_INET6 был указан в параметре Family . Эта ошибка также возвращается в версиях Windows, где эта функция не поддерживается.
Другое
Используйте FormatMessage , чтобы получить строку сообщения для возвращаемой ошибки.

Комментарии

Функция FlushIpNetTable2 определена в Windows Vista и более поздних версиях.

The
Функция FlushIpNetTable2 очищает или удаляет соседние IP-адреса в локальной системе. Параметр Family можно использовать, чтобы ограничить удаление соседних IP-адресов определенным семейством IP-адресов. Если соседние IP-адреса для IPv4 и IPv6 должны быть удалены, задайте для параметра Familyзначение AF_UNSPEC. Параметр InterfaceIndex можно использовать, чтобы ограничить удаление соседних IP-адресов определенным интерфейсом. Если необходимо удалить соседние IP-адреса для всех интерфейсов, задайте для параметра InterfaceIndex значение 0.

Параметр Family должен быть инициализирован AF_INET, AF_INET6 или AF_UNSPEC.

Функцию FlushIpNetTable2 может вызывать только пользователь, вошедший в систему как член группы Администраторы. Если flushIpNetTable2 вызывается пользователем, который не является членом группы "Администраторы", вызов функции завершится ошибкой и ERROR_ACCESS_DENIED возвращается. Эта функция также может завершиться сбоем из-за контроля учетных записей (UAC) в Windows Vista и более поздних версиях. Если приложение, содержащее эту функцию, выполняется пользователем, вошедшего в систему как член группы администраторов, отличный от встроенного администратора, этот вызов завершится ошибкой, если приложение не было отмечено в файле манифеста с параметром requestedExecutionLevel , для которого задано значение requireAdministrator. Если в приложении отсутствует этот файл манифеста, пользователь, вошедший в систему как член группы администраторов, отличный от встроенного администратора, должен выполнить приложение в расширенной оболочке в качестве встроенного администратора (администратора запуска от имени), чтобы эта функция была успешной.

Требования

Требование Значение
Минимальная версия клиента Windows Vista [только классические приложения]
Минимальная версия сервера Windows Server 2008 [только классические приложения]
Целевая платформа Windows
Header netioapi.h (включая Iphlpapi.h)
Библиотека Iphlpapi.lib
DLL Iphlpapi.dll

См. также раздел

CreateIpNetEntry2

DeleteIpNetEntry2

GetIpNetEntry2

GetIpNetTable2

MIB_IPNET_ROW2

MIB_IPNET_TABLE2

ResolveIpNetEntry2

SetIpNetEntry2