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


Функция GetIpPathEntry

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

Синтаксис

NETIOAPI_API GetIpPathEntry(
  _Inout_ PMIB_IPPATH_ROW Row
);

Параметры

  • Строка [вход, выход]
    Указатель на запись структуры MIB_IPPATH_ROW для записи IP-пути. При успешном возвращении эта структура обновляется свойствами для записи IP-пути.

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

GetIpPathEntry возвращает STATUS_SUCCESS, если функция выполнена успешно.

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

Код возврата Описание
STATUS_INVALID_PARAMETER

В функцию передан недопустимый параметр. Эта ошибка возвращается, если в параметре Row передается указатель NULL, член si_family в элементе Destinationструктуры MIB_IPPATH_ROW, на которую указывает параметр Row, не задано значение AF_INET или AF_INET6 либо не указаны оба элемента InterfaceLuid и InterfaceIndex структуры MIB_IPPATH_ROW. Эта ошибка также возвращается, если элемент si_family в элементе Source структуры MIB_IPPATH_ROW не соответствует семейству IP-адресов назначения, а si_family для исходного IP-адреса не был указан как AF_UNSPEC.

STATUS_NOT_FOUND

Не удалось найти указанный интерфейс. Эта ошибка возвращается, если функции не удается найти сетевой интерфейс, заданный элементом InterfaceLuid или InterfaceIndex структуры MIB_IPPATH_ROW, на которую указывает параметр Row .

STATUS_NOT_SUPPORTED

Запрос не поддерживается. Эта ошибка возвращается, если на локальном компьютере не расположен стек IPv4 и адрес IPv4 был указан в элементах Source и Destination структуры MIB_IPPATH_ROW, на которую указывает параметр Row , или если на локальном компьютере не расположен стек IPv6, а адрес IPv6 был указан в элементах Source и Destination .

Другое

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

Комментарии

Функция GetIpPathEntry используется для получения записи структуры MIB_IPPATH_ROW .

При входе драйвер должен инициализировать следующие элементы структуры MIB_IPPATH_ROW, на которую указывает параметр Row .

  • Назначение
    Задайте допустимый IPv4- или IPv6-адрес и семейство.

  • Источник
    Задайте семейство адресов, указанное в исходном элементе, в качестве семейства IP-адресов назначения, указанного в элементе Назначения , или AF_UNSPEC.

  • InterfaceLuid или InterfaceIndex
    Эти элементы используются в порядке, указанном ранее. Таким образом, если указан InterfaceLuid , этот член используется для определения интерфейса. Если для элемента InterfaceLuid не задано значение (значение этого элемента равно нулю), для определения интерфейса будет использоваться элемент InterfaceIndex .

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

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

Требования

Целевая платформа

Универсальное

Версия

Доступно в Windows Vista и более поздних версиях операционных систем Windows.

Заголовок

Netioapi.h (включая Netioapi.h)

Библиотека

Netio.lib

IRQL

< DISPATCH_LEVEL

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

FlushIpPathTable

GetIpPathTable

MIB_IPPATH_ROW

MIB_IPPATH_TABLE