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


функция if_indextoname

Функция if_indextoname преобразует локальный индекс сетевого интерфейса в имя интерфейса ANSI.

Синтаксис

PCHAR NETIOAPI_API_ if_indextoname(
  _In_  NET_IFINDEX InterfaceIndex,
  _Out_ PCHAR       InterfaceName
);

Параметры

  • InterfaceIndex [in]
    Локальный индекс для сетевого интерфейса.

  • InterfaceName [out]
    Указатель на буфер для хранения строки ANSI, завершаемой null. Если if_indextoname успешно, InterfaceName содержит имя интерфейса ANSI. Длина буфера в байтах, на который указывает этот параметр, должна быть равна или больше IF_NAMESIZE. Дополнительные сведения о IF_NAMESIZE см. в следующем разделе Примечания.

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

Если эта функция выполнена успешно, if_indextoname возвращает указатель на строку ANSI, завершающуюся null, которая содержит имя интерфейса. Если эта функция завершается сбоем, if_indextoname возвращает указатель NULL

Комментарии

Функция if_indextoname сопоставляет индекс интерфейса с соответствующим именем. Эта функция разработана как часть базовых расширений сокетов для IPv6, как описано в IETF в RFC 2553.

Функция if_indextoname реализована для переносимости драйверов в средах Unix, но функции ConvertInterfaceXxx являются предпочтительным методом преобразования идентификаторов сетевых интерфейсов. Функцию if_indextoname можно заменить вызовом функции ConvertInterfaceIndexToLuid для преобразования индекса интерфейса в NET_LUID объединения, а затем вызовом функции ConvertInterfaceLuidToNameA для преобразования NET_LUID в имя интерфейса ANSI.

Длина буфера в байтах, на которую указывает параметр InterfaceName , должна быть равна или больше IF_NAMESIZE. Значение IF_NAMESIZE определяется в файле заголовка Netioapi.h как равное NDIS_IF_MAX_STRING_SIZE. Максимальная длина имени интерфейса, NDIS_IF_MAX_STRING_SIZE, без завершающего символа NULL объявляется в файле заголовка Ntddndis.h. NDIS_IF_MAX_STRING_SIZE определяется как константой IF_MAX_STRING_SIZE, определенной в файле заголовка Ifdef.h.

Примечание

Файлы заголовков Ntddndis.h и Ifdef.h автоматически включаются в файл заголовка Netioapi.h . Никогда не следует использовать файлы заголовков Ntddndis.h и Ifdef.h напрямую.

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

Требования

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

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

Версия

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

Заголовок

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

Библиотека

Netio.lib

IRQL

PASSIVE_LEVEL

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

ConvertInterfaceIndexToLuid

ConvertInterfaceLuidToNameA

NET_LUID