Функция GetBestInterfaceEx (iphlpapi.h)
Функция GetBestInterfaceEx извлекает индекс интерфейса, который имеет наилучший маршрут к указанному IPv4- или IPv6-адресу.
Синтаксис
IPHLPAPI_DLL_LINKAGE DWORD GetBestInterfaceEx(
[in] sockaddr *pDestAddr,
[out] PDWORD pdwBestIfIndex
);
Параметры
[in] pDestAddr
Адрес назначения IPv6 или IPv4, для которого требуется получить интерфейс с оптимальным маршрутом в виде структуры sockaddr .
[out] pdwBestIfIndex
Указатель на индекс интерфейса с оптимальным маршрутом к адресу IPv6 или IPv4, указанному в параметре pDestAddr.
Возвращаемое значение
Если функция выполняется успешно, возвращаемое значение будет NO_ERROR.
Если функция завершается сбоем, возвращаемое значение представляет собой один из следующих кодов ошибок.
Код возврата | Описание |
---|---|
|
Не удалось завершить операцию. |
|
В функцию передан недопустимый параметр. Эта ошибка возвращается, если в параметре pdwBestIfIndex передается указатель NULL или параметры pDestAddr или pdwBestIfIndex указывают на память, доступ к которому невозможен. Эта ошибка также может быть возвращена, если параметр pdwBestIfIndex указывает на память, которая не может быть записана. |
|
Запрос не поддерживается. Эта ошибка возвращается, если на локальном компьютере отсутствует стек IPv4, а в параметре pDestAddr указан IPv4-адрес или на локальном компьютере отсутствует стек IPv6, а В параметре pDestAddr указан IPv6-адрес. |
|
Используйте функцию FormatMessage , чтобы получить строку сообщения для возвращаемой ошибки. |
Комментарии
Функция GetBestInterfaceEx отличается от функции GetBestInterface тем, что ее можно использовать с адресами IPv4 или IPv6.
Элементу Family структуры sockaddr, на которую указывает параметр pDestAddr, необходимо задать одно из следующих значений: AF_INET или AF_INET6.
В Windows Vista и более поздних версиях параметр pdwBestIfIndex обрабатывается внутренне вспомогательной службой IP как указатель на тип данных NET_IFINDEX .
Требования
Минимальная версия клиента | Windows XP [классические приложения | Приложения UWP] |
Минимальная версия сервера | Windows Server 2003 [классические приложения | Приложения UWP] |
Целевая платформа | Windows |
Header | iphlpapi.h |
Библиотека | Iphlpapi.lib |
DLL | Iphlpapi.dll |
См. также раздел
Справочник по вспомогательным функциям IP