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


Обзор IP-хелпера

Помощник по протоколу Internet Protocol (IP Helper) позволяет драйверам получать сведения о конфигурации сети локального компьютера и изменять ее. IP Helper также предоставляет системы уведомлений, чтобы драйвер уведомлялся при изменении конфигурации сети локального компьютера. Вспомогательный IP-адрес доступен в Windows Vista и более поздних версиях операционных систем Microsoft Windows.

Многие функции IP Helper передают параметры структур, представляющие типы данных, связанные с технологией MIB (База управления информацией). Вспомогательные функции IP-адресов используют эти структуры MIB для представления различных сетевых сведений.

В документации по IP-помощнику используются термины адаптера и интерфейса. Адаптер является устаревшим термином, который является сокращенной формой сетевого адаптера, который первоначально ссылался на некоторое сетевое оборудование. Адаптер — это абстракция уровня связи данных.

Интерфейс описан в документах RFC IETF как абстрактная концепция, представляющее присоединение узла к ссылке. Интерфейс — это абстракция уровня IP.

Драйвер может использовать следующие функции режима ядра, структуры MIB и перечисления MIB и сетевого уровня (NL) для получения и изменения параметров конфигурации для транспортировки данных по протоколам TCP/IP (Протокол управления передачей/Протокол интернета) на локальном компьютере.

Заметка

При разработке кода драйвера следуйте инструкциям по включая файлы заголовков.

Функции преобразования интерфейса

Функция Описание
ConvertInterfaceAliasToLuid Преобразует локальный уникальный идентификатор (LUID) для сетевого интерфейса в имя интерфейса Юникода.
ConvertInterfaceGuidToLuid Преобразует глобальный уникальный идентификатор (GUID) сетевого интерфейса в LUID этого интерфейса.
ConvertInterfaceIndexToLuid Преобразует локальный индекс сетевого интерфейса в LUID для интерфейса.
ConvertInterfaceLuidToAlias Преобразует LUID для сетевого интерфейса в псевдоним интерфейса.
ConvertInterfaceLuidToGuid Преобразует LUID для сетевого интерфейса в GUID для интерфейса.
ConvertInterfaceLuidToIndex Преобразует LUID для сетевого интерфейса в локальный индекс интерфейса.
ConvertInterfaceLuidToNameA Преобразует LUID для сетевого интерфейса в имя интерфейса ANSI.
ConvertInterfaceLuidToNameW Преобразует LUID для сетевого интерфейса в имя интерфейса Юникода.
ConvertInterfaceNameToLuidA Преобразует имя сетевого интерфейса ANSI в LUID этого интерфейса.
ConvertInterfaceNameToLuidW Преобразует имя сетевого интерфейса Unicode в LUID для интерфейса.
if_indextoname Преобразует локальный индекс сетевого интерфейса в имя интерфейса ANSI.
if_nametoindex Преобразует имя интерфейса ANSI для сетевого интерфейса в локальный индекс интерфейса.

Функции управления интерфейсами

Функция Описание
GetIfEntry2 Извлекает сведения для указанного интерфейса на локальном компьютере.
GetIfStackTable Извлекает таблицу записей строк стека сетевого интерфейса, которые указывают связь сетевых интерфейсов в стеке интерфейсов.
GetIfTable2 Извлекает таблицу интерфейса MIB-II.
GetIfTable2Ex Извлекает таблицу интерфейса MIB-II, заданную уровнем информации об интерфейсе.
GetInvertedIfStackTable Извлекает таблицу инвертированных записей строк стека сетевых интерфейсов, которые указывают связь сетевых интерфейсов в стеке интерфейсов.
GetIpInterfaceEntry Извлекает сведения о IP-адресах указанного интерфейса на локальном компьютере.
GetIpInterfaceTable Получает записи интерфейса IP на локальном компьютере.
InitializeIpInterfaceEntry Инициализирует элементы записи структуры MIB_IPINTERFACE_ROW со значениями по умолчанию.
SetIpInterfaceEntry Задает свойства IP-интерфейса на локальном компьютере.

Функции управления IP-адресами

Функция Описание
СоздатьЗаписьАдресаAnycast Добавляет новую запись адреса anycast IP на локальном компьютере.
СоздатьУпорядоченныеПарыАдресов Объединяет указанный список адресов назначения вместе с локальными IP-адресами хост-компьютера и сортирует пары в соответствии с предпочитаемым порядком связи.
CreateUnicastIpAddressEntry Добавляет новую запись одноадресного IP-адреса на локальном компьютере.
DeleteAnycastIpAddressEntry Удаляет существующую запись аникаст IP-адреса с локального компьютера.
DeleteUnicastIpAddressEntry Удаляет имеющуюся запись одноадресного IP-адреса с локального компьютера.
GetAnycastIpAddressEntry Извлекает информацию для существующей записи IP-адреса anycast на локальном компьютере.
GetAnycastIpAddressTable Извлекает таблицу эникаст IP-адресов на локальном компьютере.
GetMulticastIpAddressEntry Извлекает сведения о существующей записи IP-адреса многоадресной рассылки на локальном компьютере.
GetMulticastIpAddressTable Извлекает таблицу IP-адресов многоадресной рассылки на локальном компьютере.
GetUnicastIpAddressEntry Извлекает сведения для существующей записи уникастного IP-адреса на локальном компьютере.
GetUnicastIpAddressTable Извлекает таблицу IP-адресов одноадресной рассылки на локальном компьютере.
InitializeUnicastIpAddressEntry Инициализирует структуру MIB_UNICASTIPADDRESS_ROW со значениями по умолчанию для записи одноадресного IP-адреса на локальном компьютере.
УведомитьСтабильнаяЮникастнаяТаблицаАйпиАдресов Извлекает стабильную таблицу одиночных IP-адресов на локальном компьютере.
SetUnicastIpAddressEntry Задает параметры записи одноадресного IP-адреса на локальном компьютере.

Функции управления IP-адресами соседей

Функция Описание
CreateIpNetEntry2 Создает новую запись IP-адреса соседа на локальном компьютере.
DeleteIpNetEntry2 Удаляет запись соседнего IP-адреса с локального компьютера.
FlushIpNetTable2 Очищает таблицу соседей IP-адресов на локальном компьютере.
GetIpNetEntry2 Извлекает информацию о записи соседнего IP-адреса на локальном компьютере.
GetIpNetTable2 Извлекает таблицу соседей IP-адресов на локальном компьютере.
ResolveIpNetEntry2 Определяет физический адрес для записи соседнего IP-адреса на локальном компьютере.
SetIpNetEntry2 Задает физический адрес существующей записи IP-адреса соседа на локальном компьютере.

Функции управления IP-путями

Функция Описание
FlushIpPathTable Очищает таблицу IP-путей на локальном компьютере.
GetIpPathEntry Извлекает информацию о записи IP-пути на локальном компьютере.
GetIpPathTable Извлекает сведения для таблицы IP-путей на локальном компьютере.

Функции управления IP-маршрутами

Функция Описание
CreateIpForwardEntry2 Создает новую запись IP-маршрута на локальном компьютере.
DeleteIpForwardEntry2 Удаляет запись IP-маршрута с локального компьютера.
GetBestRoute2 Извлекает запись IP-маршрута на локальном компьютере для оптимального маршрута к указанному IP-адресу назначения.
GetIpForwardEntry2 Извлекает сведения для записи IP-маршрута на локальном компьютере.
GetIpForwardTable2 Извлекает записи IP-маршрута на локальном компьютере.
InitializeIpForwardEntry Инициализирует структуру MIB_IPFORWARD_ROW2, задавая значения по умолчанию для записи маршрута IP на локальном компьютере.
SetIpForwardEntry2 Задает свойства записи IP-маршрута на локальном компьютере.

Функции управления памятью IP-таблиц

Функция Описание
FreeMibTable Освобождает буфер, выделенный функциями, возвращающими таблицы сетевых интерфейсов, адресов и маршрутов (например, GetIfTable2 и GetAnycastIpAddressTable).

Функции уведомлений

Функция Описание
CancelMibChangeNotify2 Отменяет регистрацию драйвера для уведомлений об изменениях IP-интерфейса, изменений IP-адреса, изменений IP-маршрута и запросов на получение таблицы стабильных одноадресных IP-адресов.
NotifyIpInterfaceChange Регистрирует драйвер для уведомления об изменениях всех IP-интерфейсов, интерфейсов IPv4 или IPv6 на локальном компьютере.
NotifyRouteChange2 Регистрирует уведомления об изменениях записей IP-маршрутов на локальном компьютере.
NotifyUnicastIpAddressChange Регистрировать, чтобы получать уведомления об изменениях всех одноадресных IP-интерфейсов, одноадресных IPv4-адресов или одноадресных IPv6-адресов на локальном компьютере.

Функции управления клиентами Teredo IPv6

Функция Описание
GetTeredoPort Извлекает динамический номер порта UDP, используемый клиентом Teredo на локальном компьютере.
NotifyTeredoPortChange Регистрирует уведомления о изменениях номера UDP-порта, который клиент Teredo использует в качестве порта службы Teredo на локальном компьютере.
NotifyStableUnicastIpAddressTable Извлекает устойчивую таблицу одноадресных IP-адресов на локальном компьютере.

Структуры MIB

Структура Описание
IP_ADDRESS_PREFIX Сохраняет префикс IP-адреса.
MIB_ANYCASTIPADDRESS_ROW Хранит сведения о аникаст IP-адресе.
MIB_ANYCASTIPADDRESS_TABLE Содержит таблицу записей IP-адресов anycast.
MIB_IF_ROW2 Хранит сведения о конкретном интерфейсе.
MIB_IF_TABLE2 Содержит таблицу записей логического и физического интерфейса.
MIB_IFSTACK_ROW Представляет связь между двумя сетевыми интерфейсами.
MIB_IFSTACK_TABLE Содержит таблицу записей строк в стеке сетевых интерфейсов. Эта таблица указывает связь сетевых интерфейсов в стеке интерфейсов.
MIB_INVERTEDIFSTACK_ROW Представляет связь между двумя сетевыми интерфейсами.
MIB_INVERTEDIFSTACK_TABLE Содержит таблицу инвертированных записей строк стека сетевых интерфейсов. Эта таблица указывает связь сетевых интерфейсов в стеке интерфейсов в обратном порядке.
MIB_IPFORWARD_ROW2 Хранит сведения о записи IP-маршрута.
MIB_IPFORWARD_TABLE2 Содержит таблицу записей IP-маршрутов.
MIB_IPINTERFACE_ROW Хранит сведения об управлении интерфейсом для определенного семейства IP-адресов в сетевом интерфейсе.
MIB_IPINTERFACE_TABLE Содержит таблицу записей IP-интерфейса.
MIB_IPNET_ROW2 Хранит сведения о соседнем IP-адресе.
MIB_IPNET_TABLE2 Содержит таблицу соседних записей IP-адресов.
MIB_IPPATH_ROW Хранит сведения о записи IP-маршрута.
MIB_IPPATH_TABLE Содержит таблицу записей IP маршрутов.
MIB_MULTICASTIPADDRESS_ROW Хранит сведения об IP-адресе многоадресной рассылки.
MIB_MULTICASTIPADDRESS_TABLE Содержит таблицу записей IP-адресов многоадресной рассылки.
MIB_UNICASTIPADDRESS_ROW Хранит сведения об одноадресном IP-адресе.
MIB_UNICASTIPADDRESS_TABLE Содержит таблицу записей ункастовых IP-адресов.

Перечисления МИБ

Перечисление Описание
MIB_IF_TABLE_LEVEL Определяет уровень получаемых сведений о интерфейсе.
MIB_NOTIFICATION_TYPE Определяет тип уведомления, передаваемый функции обратного вызова при возникновении уведомления.

Перечисления NL

Перечисление Описание
NL_ADDRESS_TYPE Указывает тип IP-адреса сетевого слоя.
NL_DAD_STATE Определяет состояние обнаружения повторяющихся адресов (DAD).
NL_LINK_LOCAL_ADDRESS_BEHAVIOR Определяет поведение локального адреса ссылки.
NL_NEIGHBOR_STATE Определяет состояние соседнего IP-адреса сетевого слоя, как описано в RFC 2461, разделе 7.3.2.
NL_PREFIX_ORIGIN Определяет источник префикса или сетевой части IP-адреса.
NL_ROUTE_ORIGIN Определяет источник IP-маршрута.
NL_ROUTE_PROTOCOL Определяет механизм маршрутизации, с которым был добавлен IP-маршрут, как описано в RFC 4292.
NL_ROUTER_DISCOVERY_BEHAVIOR Определяет поведение обнаружения маршрутизатора, как описано в RFC 2461.
NL_SUFFIX_ORIGIN Определяет источник суффикса или части узла IP-адреса.