Функция DeleteIpForwardEntry2 (netioapi.h)
Функция DeleteIpForwardEntry2 удаляет запись IP-маршрута на локальном компьютере.
Синтаксис
IPHLPAPI_DLL_LINKAGE _NETIOAPI_SUCCESS_ NETIOAPI_API DeleteIpForwardEntry2(
[in] const MIB_IPFORWARD_ROW2 *Row
);
Параметры
[in] Row
Указатель на запись структуры MIB_IPFORWARD_ROW2 для записи IP-маршрута. При успешном возвращении эта запись будет удалена.
Возвращаемое значение
Если функция выполнена успешно, возвращаемое значение будет NO_ERROR.
Если функция завершается сбоем, возвращается один из следующих кодов ошибок.
Код возврата | Описание |
---|---|
|
Отказано в доступе". Эта ошибка возвращается при нескольких условиях, которые включают следующее: у пользователя отсутствуют необходимые права администратора на локальном компьютере или приложение не работает в расширенной оболочке в качестве встроенного администратора (администратор запуска от имени администратора). |
|
В функцию передан недопустимый параметр. Эта ошибка возвращается, если в параметре Row передается указатель NULL, не указан элемент DestinationPrefixMIB_IPFORWARD_ROW2, на который указывает параметр Row, не указан элемент NextHopMIB_IPFORWARD_ROW2, на который указывает параметр Row, или элементы InterfaceLuid или InterfaceIndexMIB_IPFORWARD_ROW2, на которые указывает Строка. параметр не указан. |
|
Не удалось найти указанный интерфейс. Эта ошибка возвращается, если не удалось найти сетевой интерфейс, указанный элементом InterfaceLuid или InterfaceIndexMIB_IPFORWARD_ROW2 , на который указывает параметр Row . |
|
Запрос не поддерживается. Эта ошибка возвращается, если на локальном компьютере нет стека IPv4, а адрес IPv4 был указан в элементе AddressMIB_IPFORWARD_ROW2 , на который указывает параметр Row . Эта ошибка также возвращается, если на локальном компьютере нет стека IPv6 и в элементе Address был указан IPv6-адрес. |
|
Используйте FormatMessage , чтобы получить строку сообщения для возвращаемой ошибки. |
Комментарии
Функция DeleteIpForwardEntry2 определена в Windows Vista и более поздних версиях.
Функция DeleteIpForwardEntry2 используется для удаления записи структуры MIB_IPFORWARD_ROW2 .
Во входных данных элемент DestinationPrefix в структуре MIB_IPFORWARD_ROW2 , на который указывает параметр Row , должен быть инициализирован допустимым префиксом И семейством адресов IPv4 или IPv6. Во входных данных элемент NextHop в структуре MIB_IPFORWARD_ROW2 , на который указывает параметр Row , должен быть инициализирован допустимым IPv4- или IPv6-адресом и семейством. Кроме того, необходимо инициализировать по крайней мере один из следующих элементов в структуре MIB_IPFORWARD_ROW2 , указываемой на параметр Row : InterfaceLuid или InterfaceIndex.
Поля используются в указанном выше порядке. Поэтому, если указан InterfaceLuid , этот член используется для определения интерфейса. Если для элемента InterfaceLuid не задано значение (значения этого элемента равны нулю), то для определения интерфейса используется элемент InterfaceIndex .
При успешном вызове метод DeleteIpForwardEntry2 удаляет запись IP-маршрута.
Функция DeleteIpForwardEntry2 завершится ошибкой, если элементы DestinationPrefix и NextHopMIB_IPFORWARD_ROW2 , на которые указывает параметр Row , не соответствуют существующей записи IP-маршрута в интерфейсе, указанном в элементах InterfaceLuid или InterfaceIndex .
Функцию GetIpForwardTable2 можно вызвать для перечисления записей IP-маршрутов на локальном компьютере.
Функция DeleteIpForwardEntry2 может вызываться только пользователем, вошедшего в систему как член группы "Администраторы". Если метод DeleteIpForwardEntry2 вызывается пользователем, не включаемым в группу Администраторы, вызов функции завершится ошибкой и возвращается ERROR_ACCESS_DENIED . Эта функция также может завершиться сбоем из-за контроля учетных записей (UAC) в Windows Vista и более поздних версиях. Если приложение, содержащее эту функцию, выполняется пользователем, вошедшего в систему как член группы администраторов, отличный от встроенного администратора, этот вызов завершится ошибкой, если приложение не было отмечено в файле манифеста с параметром requestedExecutionLevel , для которого задано значение requireAdministrator. Если в приложении отсутствует этот файл манифеста, пользователь, вошедший в систему как член группы администраторов, отличный от встроенного администратора, должен выполнить приложение в расширенной оболочке в качестве встроенного администратора (администратора запуска от имени), чтобы эта функция была успешной.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows Vista [только классические приложения] |
Минимальная версия сервера | Windows Server 2008 [только классические приложения] |
Целевая платформа | Windows |
Header | netioapi.h (включая Iphlpapi.h) |
Библиотека | Iphlpapi.lib |
DLL | Iphlpapi.dll |