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


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

Функция GetIpForwardEntry2 извлекает сведения для записи IP-маршрута на локальном компьютере.

Синтаксис

IPHLPAPI_DLL_LINKAGE _NETIOAPI_SUCCESS_ NETIOAPI_API GetIpForwardEntry2(
  [in, out] PMIB_IPFORWARD_ROW2 Row
);

Параметры

[in, out] Row

Указатель на запись структуры MIB_IPFORWARD_ROW2 для записи IP-маршрута. При успешном возвращении в эту структуру будут добавлены свойства для записи IP-маршрута.

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

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

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

Код возврата Описание
ERROR_INVALID_PARAMETER
В функцию передан недопустимый параметр. Эта ошибка возвращается, если в параметре Row передан указатель NULL, не указан элемент DestinationPrefixMIB_IPFORWARD_ROW2, на который указывает параметр Row, элемент NextHopMIB_IPFORWARD_ROW2, на который указывает параметр Row, или оба элемента InterfaceLuid или InterfaceIndexMIB_IPFORWARD_ROW2, на которые указывает Строка. параметр не указан.
ERROR_NOT_FOUND
Элемент не найден. Эта ошибка возвращается, если сетевой интерфейс, заданный элементом InterfaceLuid или InterfaceIndexструктуры MIB_IPFORWARD_ROW2 , на которую указывает параметр Row , не соответствует префиксу IP-адреса и семейству адресов, указанным в элементе DestinationPrefix в структуре MIB_IPFORWARD_ROW2 .
ERROR_NOT_SUPPORTED
Запрос не поддерживается. Эта ошибка возвращается, если на локальном компьютере нет стека IPv4 и AF_INET был указан в семействе адресов в элементе DestinationPrefixMIB_IPFORWARD_ROW2 , на который указывает параметр Row . Эта ошибка также возвращается, если на локальном компьютере нет стека IPv6 и AF_INET6 был указан для семейства адресов в элементе DestinationPrefix .
Другое
Используйте FormatMessage , чтобы получить строку сообщения для возвращенной ошибки.

Комментарии

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

Функция GetIpForwardEntry2 используется для получения записи 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 .

При успешном вызове GetIpForwardEntry2 извлекает другие свойства для записи IP-маршрута и заполняет структуру MIB_IPFORWARD_ROW2 , на которую указывает параметр Row .

Смещение метрики маршрута, указанное в элементе Metricструктуры MIB_IPFORWARD_ROW2 , на которую указывает параметр Row , представляет только часть полной метрики маршрута. Полная метрика — это сочетание этой метрики маршрута, добавленной в метрику интерфейса, указанную в элементе Metricструктуры MIB_IPINTERFACE_ROW связанного интерфейса. Приложение может получить метрику интерфейса, вызвав функцию GetIpInterfaceEntry .

Функцию GetIpForwardTable2 можно вызвать для перечисления записей IP-маршрутов на локальном компьютере.

Требования

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

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

CreateIpForwardEntry2

DeleteIpForwardEntry2

GetBestRoute2

GetIpForwardTable2

GetIpInterfaceEntry

InitializeIpForwardEntry

MIB_IPFORWARD_ROW2

MIB_IPFORWARD_TABLE2

MIB_IPINTERFACE_ROW

NotifyRouteChange2

SetIpForwardEntry2