Internet Protocol Helper (IP Helper) API позволяет разработчику программного обеспечения локально получать и изменять конфигурацию сети компьютера. IP Helper также предоставляет механизмы уведомления, гарантирующие получение сообщений, когда происходит изменение конфигурации сети на локальном компьютере. IP Helper API позволяет программно управлять конфигурацией протокола TCP/IP.
IP Helper API разработан для использования на C/C++, и предоставляет API функции в соответствии с соглашением о вызовах __stdcall. Для того, чтобы эффективно использовать предоставляемые функции, необходимо иметь представление о работе сети и в частности о стеке протоколов TCP/IP.
IP Helper API поддерживается следующими платформами: Windows 98/Me, Windows NT 4.0 SP4, Windows 2000 SP0-4, Windows XP, Vista, однако не все функции поддерживаются некоторыми младшими версиями ОС. При вызове функций, не поддерживаемых на текущей платформе, будет возвращено значение ERROR_NOT_SUPPORTED.
Список функций IP Helper API:
Получение информации о конфигурации сети: GetNetworkParams()
Управление сетевыми адаптерами: GetAdaptersInfo() GetAdapterIndex() GetPerAdapterInfo() GetUniDirectionalAdapterInfo()
Управление сетевыми интерфейсами: GetNumberOfInterfaces() GetInterfaceInfo() GetFriendlyIfIndex() GetIfEntry() GetIfTable() SetIfEntry()
Управление IP адресацией: GetIpAddrTable() AddIPAddress() DeleteIPAddress() IpReleaseAddress() IpRenewAddress()
Использование протокола ARP: GetIpNetTable() CreateIpNetEntry() DeleteIpNetEntry() FlushIpNetTable() CreateProxyArpEntry() DeleteProxyArpEntry() SendARP()
Получение информации о протоколах IP и ICMP: GetIpStatistics() GetIcmpStatistics() SetIpStatistics() SetIpTTL() Управление маршрутизацией: CreateIpForwardEntry() DeleteIpForwardEntry() SetIpForwardEntry() GetIpForwardTable() GetBestRoute() GetBestInterface() GetRTTAndHopCount()
Получение извещений о работе сети: NotifyAddrChange() NotifyRouteChange()
Получение информации о протоколах TCP и UDP: GetTcpStatistics() GetUdpStatistics() GetTcpTable() GetUdpTable() SetTcpEntry()