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


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

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

Синтаксис

IPHLPAPI_DLL_LINKAGE _NETIOAPI_SUCCESS_ NETIOAPI_API GetIpPathEntry(
  [in, out] PMIB_IPPATH_ROW Row
);

Параметры

[in, out] Row

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

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

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

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

Код возврата Описание
ERROR_FILE_NOT_FOUND
Системе не удается найти указанный файл. Эта ошибка возвращается, если luID сетевого интерфейса или индекс интерфейса, заданный элементом InterfaceLuid или InterfaceIndexMIB_IPPATH_ROW , на который указывает параметр Row , не является значением на локальном компьютере.
ERROR_INVALID_PARAMETER
Неправильный параметр. Эта ошибка возвращается, если указатель NULL передается в параметре Row , член si_family в элементе DestinationMIB_IPPATH_ROW , на который указывает параметр Row , не имеет значения AF_INET или AF_INET6 либо не указаны оба элемента InterfaceLuid или InterfaceIndexMIB_IPPATH_ROW , на которые указывает параметр Row . Эта ошибка также возвращается, если элемент si_family в элементе SourceMIB_IPPATH_ROW , на который указывает параметр Row , не соответствует семейству IP-адресов назначения, а si_family для исходного IP-адреса не указан как AF_UNSPEC.
ERROR_NOT_FOUND
Элемент не найден. Эта ошибка возвращается, если сетевой интерфейс, заданный элементом InterfaceLuid или InterfaceIndexструктуры MIB_IPPATH_ROW , на которую указывает параметр Row , не соответствует IP-адресу и семейству адресов, указанным в элементе Destination в структуре MIB_IPPATH_ROW .
ERROR_NOT_SUPPORTED
Запрос не поддерживается. Эта ошибка возвращается, если на локальном компьютере нет стека IPv4, а адрес IPv4 указан в элементах Source и DestinationMIB_IPPATH_ROW , на которые указывает параметр Row . Эта ошибка также возвращается, если на локальном компьютере нет стека IPv6, а адрес IPv6 указан в элементах Source и Destination .
Другое
Используйте FormatMessage , чтобы получить строку сообщения для возвращаемой ошибки.

Комментарии

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

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

Во входных данных элемент Destination в структуре MIB_IPPATH_ROW , на который указывает параметр Row , должен быть инициализирован допустимым IPv4- или IPv6-адресом и семейством. Семейство адресов, указанное в элементе Source в структуре MIB_IPPATH_ROW , также должно соответствовать семейству IP-адресов назначения, указанному в элементе Назначения , или семейство адресов в элементе Source должно быть указано как AF_UNSPEC. Кроме того, необходимо инициализировать по крайней мере один из следующих элементов в структуре MIB_IPPATH_ROW , указываемой на параметр Row : InterfaceLuid или InterfaceIndex.

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

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

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

Требования

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

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

FlushIpPathTable

GetIpPathTable

MIB_IPPATH_ROW

MIB_IPPATH_TABLE