Функция GetIpForwardEntry2
Функция GetIpForwardEntry2 извлекает сведения для записи IP-маршрута на локальном компьютере.
Синтаксис
NETIOAPI_API GetIpForwardEntry2(
_Inout_ PMIB_IPFORWARD_ROW2 Row
);
Параметры
- Строка [вход, выход]
Указатель на запись структуры MIB_IPFORWARD_ROW2 для записи IP-маршрута. При успешном возвращении эта структура обновляется со свойствами для записи IP-маршрута.
Возвращаемое значение
GetIpForwardEntry2 возвращает STATUS_SUCCESS, если функция выполнена успешно.
Если функция завершается ошибкой, GetIpForwardEntry2 возвращает один из следующих кодов ошибок:
Код возврата | Описание |
---|---|
STATUS_INVALID_PARAMETER | В функцию передан недопустимый параметр. Эта ошибка возвращается в одной из следующих ситуаций:
|
STATUS_NOT_FOUND | Не удалось найти указанный интерфейс. Эта ошибка возвращается, если функции не удается найти сетевой интерфейс, указанный элементом InterfaceLuid или InterfaceIndex структуры MIB_IPFORWARD_ROW2, на которую указывает параметр Row . |
STATUS_NOT_SUPPORTED | Запрос не поддерживается. Эта ошибка возвращается, если на локальном компьютере не расположен стек IPv4 и AF_INET был указан в семействе адресов в элементе DestinationPrefix структуры MIB_IPFORWARD_ROW2, на которую указывает параметр Row , или если на локальном компьютере не расположен стек IPv6 и AF_INET6 был указан для семейства адресов в элементе DestinationPrefix . |
Другое | Используйте функцию FormatMessage , чтобы получить строку сообщения для возвращаемой ошибки. |
Комментарии
Функция GetIpForwardEntry2 используется для получения записи структуры MIB_IPFORWARD_ROW2 .
При входе драйвер должен инициализировать следующие элементы структуры MIB_IPFORWARD_ROW2, на которую указывает параметр Row .
DestinationPrefix
Задайте допустимый префикс И семейство адресов IPv4 или IPv6.NextHop
Задайте допустимый IPv4- или IPv6-адрес и семейство.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. |
Заголовок |
Netioapi.h (включая Netioapi.h) |
Библиотека |
Netio.lib |
IRQL |
< DISPATCH_LEVEL |