AddIPAddress (Compact 2013)
3/26/2014
This function adds the specified IP address to the specified adapter.
Syntax
DWORD AddIPAddress(
IPAddr Address,
IPMask IpMask,
DWORD IfIndex,
PULONG NTEContext,
PULONG NTEInstance
);
Parameters
- Address
[in] The IP address to add to the adapter.
- IpMask
[in] The subnet mask for the IP address.
- IfIndex
[in] The adapter to which to add the address.
- NTEContext
[out] Pointer to the Net Table Entry (NTE) context for this IP address. The caller can later use this context in a call to DeleteIPAddress.
- NTEInstance
[out] Pointer to the NTE instance for this IP address.
Return Value
Return code |
Description |
---|---|
NO_ERROR |
The function succeeds. |
ERROR_DEV_NOT_EXIST |
The adapter specified by the IfIndex parameter does not exist. |
ERROR_DUP_DOMAINNAME |
The IPv4 address to add that is specified in the Address parameter already exists. |
ERROR_GEN_FAILURE |
A general failure. This error is returned for some values specified in the Address parameter, such as an IPv4 address usually considered a broadcast addresses. |
ERROR_INVALID_HANDLE |
The user trying to make the function call is not an administrator. |
ERROR_INVALID_PARAMETER |
One or more of the parameters is invalid. This error is returned if the NTEContext or NTEInstance parameters are NULL. This error is also returned when the IP address specified in the Address parameter is inconsistent with the interface index specified in the IfIndex parameter (for example, a loopback address on a non-loopback interface). |
ERROR_NOT_SUPPORTED |
The function call is not supported on the version of Windows on which it was run. |
Other |
Use FormatMessage to obtain the message string for the returned error. |
Remarks
The AddIPAddress function is used to add a new IPv4 address entry on a local device. The IPv4 address added by the AddIPAddress function is not persistent. The IPv4 address exists only as long as the adapter object exists. The IPv4 address can be destroyed by the following actions:
- Restarting the device
- Manually resetting the network adapter
- Certain PnP events
To create an IPv4 address that persists, the EnableStatic method of the Win32_NetworkAdapterConfiguration Class in the Windows Management Instrumentation (WMI) controls can be used. The netsh commands can also be used to create a persistent IPv4 address. For more information, see the documentation on Netsh.exe in the Windows Sockets documentation.
An IPv4 address that is added by using the AddIPAddress function can later be deleted by calling the DeleteIPAddress function passing the NTEContext parameter returned by the AddIPAddress function.
For information about the IPAddr and IPMask data types, see Window Data Types. To convert an IPv4 address between dotted decimal notation and IPAddr format, use the inet_addr and inet_ntoa functions.
Requirements
Header |
iphlpapi.h |
Library |
Iphlpapi.lib |
See Also
Reference
IP Helper Functions
CreateUnicastIpAddressEntry
GetIpAddrTable
IPAddr
DeleteIPAddress
GetAdapterIndex