IP Helper Overview
Internet Protocol Helper (IP Helper) enables drivers to retrieve information about the network configuration of the local computer and to modify that configuration. IP Helper also provides notification mechanisms to make sure that a driver is notified when certain aspects of the local computer network configuration change. IP Helper is available in Windows Vista and later versions of the Microsoft Windows operating systems.
Many of the IP Helper functions pass structure parameters that represent data types that are associated with the Management Information Base (MIB) technology. The IP Helper functions use these MIB structures to represent various networking information.
The IP Helper documentation uses the terms "adapter" and "interface" extensively. An adapter is a legacy term that is an abbreviated form of network adapter, which originally referred to some form of network hardware. An adapter is a data link-level abstraction.
An interface is described in the IETF RFC documents as an abstract concept that represents a node's attachment to a link. An interface is an IP-level abstraction.
Your driver can use the following kernel-mode functions, MIB structures, and MIB and Network Layer (NL) enumerations to retrieve and modify configuration settings for Transmission Control Protocol/Internet Protocol (TCP/IP) transport on a local computer.
Note
When you are developing driver code, follow the instructions for including header files.
Interface Conversion Functions
Function | Description |
---|---|
Converts a locally unique identifier (LUID) for a network interface to the Unicode interface name. |
|
Converts a globally unique identifier (GUID) for a network interface to the LUID for the interface. |
|
Converts a local index for a network interface to the LUID for the interface. |
|
Converts a LUID for a network interface to an interface alias. |
|
Converts a LUID for a network interface to a GUID for the interface. |
|
Converts a LUID for a network interface to the local index for the interface. |
|
Converts a LUID for a network interface to the ANSI interface name. |
|
Converts a LUID for a network interface to the Unicode interface name. |
|
Converts an ANSI network interface name to the LUID for the interface. |
|
Converts a Unicode network interface name to the LUID for the interface. |
|
Converts the local index for a network interface to the ANSI interface name. |
|
Converts the ANSI interface name for a network interface to the local index for the interface. |
Interface Management Functions
Function | Description |
---|---|
Retrieves information for the specified interface on the local computer. |
|
Retrieves a table of network interface stack row entries that specify the relationship of the network interfaces on an interface stack. |
|
Retrieves the MIB-II interface table. |
|
Retrieves the MIB-II interface table, given a level of interface information to retrieve. |
|
Retrieves a table of inverted network interface stack row entries that specify the relationship of the network interfaces on an interface stack. |
|
Retrieves IP information for the specified interface on the local computer. |
|
Retrieves the IP interface entries on the local computer. |
|
Initializes the members of a MIB_IPINTERFACE_ROW structure entry with default values. |
|
Sets the properties of an IP interface on the local computer. |
IP Address Management Functions
Function | Description |
---|---|
Adds a new anycast IP address entry on the local computer. |
|
Pairs a supplied list of destination addresses together with the host machine's local IP addresses and sorts the pairs according to the preferred order of communication. |
|
Adds a new unicast IP address entry on the local computer. |
|
Deletes an existing anycast IP address entry on the local computer. |
|
Deletes an existing unicast IP address entry from the local computer. |
|
Retrieves information for an existing anycast IP address entry on the local computer. |
|
Retrieves the anycast IP address table on the local computer. |
|
Retrieves information for an existing multicast IP address entry on the local computer. |
|
Retrieves the multicast IP address table on the local computer. |
|
Retrieves information for an existing unicast IP address entry on the local computer. |
|
Retrieves the unicast IP address table on the local computer. |
|
Initializes a MIB_UNICASTIPADDRESS_ROW structure with default values for a unicast IP address entry on the local computer. |
|
Retrieves the stable unicast IP address table on a local computer. |
|
Sets the properties of an existing unicast IP address entry on the local computer. |
IP Neighbor Address Management Functions
Function | Description |
---|---|
Creates a new neighbor IP address entry on the local computer. |
|
Deletes a neighbor IP address entry from the local computer. |
|
Flushes the IP neighbor table on the local computer. |
|
Retrieves information for a neighbor IP address entry on the local computer. |
|
Retrieves the IP neighbor table on the local computer. |
|
Resolves the physical address for a neighbor IP address entry on the local computer. |
|
Sets the physical address of an existing neighbor IP address entry on the local computer. |
IP Path Management Functions
Function | Description |
---|---|
Flushes the IP path table on the local computer. |
|
Retrieves information for an IP path entry on the local computer. |
|
Retrieves information for an IP path entry on the local computer. |
IP Route Management Functions
Function | Description |
---|---|
Creates a new IP route entry on the local computer. |
|
Deletes an IP route entry from the local computer. |
|
Retrieves the IP route entry on the local computer for the best route to the specified destination IP address. |
|
Retrieves information for an IP route entry on the local computer. |
|
Retrieves the IP route entries on the local computer. |
|
Initializes a MIB_IPFORWARD_ROW2 structure with default values for an IP route entry on the local computer. |
|
Sets the properties of an IP route entry on the local computer. |
IP Table Memory Management Functions
Function | Description |
---|---|
Frees the buffer that is allocated by the functions that return tables of network interfaces, addresses, and routes (for example, GetIfTable2 and GetAnycastIpAddressTable). |
Notification Functions
Function | Description |
---|---|
Deregisters the driver for change notifications for IP interface changes, IP address changes, IP route changes, and requests to retrieve the stable unicast IP address table. |
|
Registers the driver to be notified for changes to all IP interfaces, IPv4 interfaces, or IPv6 interfaces on a local computer. |
|
Registers to be notified for changes to IP route entries on a local computer. |
|
Registers to be notified for changes to all unicast IP interfaces, unicast IPv4 addresses, or unicast IPv6 addresses on a local computer. |
Teredo IPv6 Client Management Functions
Function | Description |
---|---|
Retrieves the dynamic UDP port number that the Teredo client uses on the local computer. |
|
Registers to be notified for changes to the UDP port number that the Teredo client uses for the Teredo service port on a local computer. |
|
Retrieves the stable unicast IP address table on a local computer. |
MIB Structures
Structure | Description |
---|---|
Stores an IP address prefix. |
|
Stores information about an anycast IP address. |
|
Contains a table of anycast IP address entries. |
|
Stores information about a particular interface. |
|
Contains a table of logical and physical interface entries. |
|
Represents the relationship between two network interfaces. |
|
Contains a table of row entries in the network interface stack. This table specifies the relationship of the network interfaces on an interface stack. |
|
Represents the relationship between two network interfaces. |
|
Contains a table of inverted network interface stack row entries. This table specifies the relationship of the network interfaces on an interface stack in reverse order. |
|
Stores information about an IP route entry. |
|
Contains a table of IP route entries. |
|
Stores interface management information for a particular IP address family on a network interface. |
|
Contains a table of IP interface entries. |
|
Stores information about a neighbor IP address. |
|
Contains a table of neighbor IP address entries. |
|
Stores information about an IP path entry. |
|
Contains a table of IP path entries. |
|
Stores information about a multicast IP address. |
|
Contains a table of multicast IP address entries. |
|
Stores information about a unicast IP address. |
|
Contains a table of unicast IP address entries. |
MIB Enumerations
Enumeration | Description |
---|---|
Defines the level of interface information to retrieve. |
|
Defines the notification type that is passed to a callback function when a notification occurs. |
NL Enumerations
Enumeration | Description |
---|---|
Specifies the IP address type of the network layer. |
|
Defines the duplicate address detection (DAD) state. |
|
Defines the link local address behavior. |
|
Defines the state of a network layer neighbor IP address, as described in RFC 2461, section 7.3.2. |
|
Defines the origin of the prefix or network part of the IP address. |
|
Defines the origin of the IP route. |
|
Defines the routing mechanism that an IP route was added with, as described in RFC 4292. |
|
Defines the router discovery behavior, as described in RFC 2461. |
|
Defines the origin of the suffix or host part of the IP address. |