Функция FlushIpNetTable2
Функция FlushIpNetTable2 сбрасывает таблицу соседей IP-адресов на локальном компьютере.
Синтаксис
NETIOAPI_API FlushIpNetTable2(
_In_ ADDRESS_FAMILY Family,
_In_ NET_IFINDEX InterfaceIndex
);
Параметры
семья [in]
Семейство адресов для очистки.Возможные значения для семейства адресов перечислены в файле заголовка Winsock2.h. Обратите внимание, что значения для семейства адресов AF_ и констант семейства протоколов PF_ идентичны (например, AF_INET и PF_INET), поэтому можно использовать любую константу.
В Windows Vista и более поздних версиях операционных систем Windows возможные значения параметра Family определяются в файле заголовка Ws2def.h. Обратите внимание, что файл заголовка Ws2def.h автоматически включается в Netioapi.h, и вы никогда не должны использовать Ws2def.h напрямую.
В настоящее время для семейства адресов поддерживаются следующие значения:
AF_INET
Семейство адресов IPv4. Если это значение указано, эта функция очищает соседнюю таблицу IP-адресов, содержащую только записи IPv4.AF_INET6
Семейство адресов IPv6. Если это значение указано, эта функция очищает соседнюю таблицу IP-адресов, содержащую только записи IPv6.AF_UNSPEC
Семейство адресов не указано. Если это значение указано, эта функция очищает соседнюю таблицу IP-адресов, содержащую записи IPv4 и IPv6.
InterfaceIndex [in]
Индекс интерфейса. Если указан индекс, функция очищает записи соседнего IP-адреса в определенном интерфейсе. Ootherwise функция очищает записи соседнего IP-адреса во всех интерфейсах. Чтобы игнорировать интерфейс, задайте для этого параметра значение нулю.
Возвращаемое значение
FlushIpNetTable2 возвращает STATUS_SUCCESS, если функция выполнена успешно.
Если функция завершается ошибкой, FlushIpNetTable2 возвращает один из следующих кодов ошибок:
Возвращаемый код | Описание |
---|---|
STATUS_INVALID_PARAMETER | Недопустимый параметр был передан функции. Эта ошибка возвращается, если параметр семейства не указан как AF_INET, AF_INET6 или AF_UNSPEC. |
STATUS_NOT_SUPPORTED | Запрос не поддерживается. Эта ошибка возвращается, если на локальном компьютере не расположен стек IPv4, а AF_INET указан в параметре Family или если на локальном компьютере нет стека IPv6, а AF_INET6 указан в параметре Family. Эта ошибка также возвращается в версиях Windows, где эта функция не поддерживается. |
Другие | Используйте функцию FormatMessage, чтобы получить строку сообщения для возвращаемой ошибки. |
Замечания
Функция FlushIpNetTable2 очищает или удаляет соседние IP-адреса на локальном компьютере. Драйвер может использовать параметр Family, чтобы ограничить ip-адреса соседей для удаления определенного семейства IP-адресов. Если следует удалить ip-адреса соседей для IPv4 и IPv6, драйвер должен задать параметр Family AF_UNSPEC. Драйвер может использовать параметр InterfaceIndex, чтобы ограничить соседние IP-адреса для удаления определенного интерфейса. Если следует удалить ip-адреса соседей для всех интерфейсов, драйвер должен задать для параметра InterfaceIndex значение 16.
Драйвер должен инициализировать параметр семейства для AF_INET, AF_INET6 или AF_UNSPEC.