MIB_IPNET_ROW2 structure (netioapi.h)
The MIB_IPNET_ROW2 structure stores information about a neighbor IP address.
Syntax
typedef struct _MIB_IPNET_ROW2 {
SOCKADDR_INET Address;
NET_IFINDEX InterfaceIndex;
NET_LUID InterfaceLuid;
UCHAR PhysicalAddress[IF_MAX_PHYS_ADDRESS_LENGTH];
ULONG PhysicalAddressLength;
NL_NEIGHBOR_STATE State;
union {
struct {
BOOLEAN IsRouter : 1;
BOOLEAN IsUnreachable : 1;
};
UCHAR Flags;
};
union {
ULONG LastReachable;
ULONG LastUnreachable;
} ReachabilityTime;
} MIB_IPNET_ROW2, *PMIB_IPNET_ROW2;
Members
Address
Type: SOCKADDR_INET
The neighbor IP address. This member can be an IPv6 address or an IPv4 address.
InterfaceIndex
Type: NET_IFINDEX
The local index value for the network interface associated with this IP address. This index value may change when a network adapter is disabled and then enabled, or under other circumstances, and should not be considered persistent.
InterfaceLuid
Type: NET_LUID
The locally unique identifier (LUID) for the network interface associated with this IP address.
PhysicalAddress[IF_MAX_PHYS_ADDRESS_LENGTH]
Type: UCHAR[IF_MAX_PHYS_ADDRESS_LENGTH]
The physical hardware address of the adapter for the network interface associated with this IP address.
PhysicalAddressLength
Type: ULONG
The length, in bytes, of the physical hardware address specified by the PhysicalAddress member. The maximum value supported is 32 bytes.
State
Type: NL_NEIGHBOR_STATE
The state of a network neighbor IP address as defined in RFC 2461, section 7.3.2. For more information, see http://www.ietf.org/rfc/rfc2461.txt. This member can be one of the values from the NL_NEIGHBOR_STATE enumeration type defined in the Nldef.h header file.
IsRouter
Type: BOOLEAN
A value that indicates if this IP address is a router.
IsUnreachable
Type: BOOLEAN
A value that indicates if this IP address is unreachable.
Flags
Type: UCHAR
A set of flags that indicate whether the IP address is a router and whether the IP address is unreachable.
ReachabilityTime
ReachabilityTime.LastReachable
Type: ULONG The time, in milliseconds, that a node assumes a neighbor is reachable after having received a reachability confirmation.
ReachabilityTime.LastUnreachable
Type: ULONG The time, in milliseconds, that a node assumes a neighbor is unreachable after not having received a reachability confirmation.
Remarks
The MIB_IPNET_ROW2 structure is defined on Windows Vista and later.
The GetIpNetTable2 function enumerates the neighbor IP addresses on a local system and returns this information in an MIB_IPNET_TABLE2 structure.
For IPv4, this includes addresses determined used the Address Resolution Protocol (ARP). For IPv6, this includes addresses determined using the Neighbor Discovery (ND) protocol for IPv6 as specified in RFC 2461. For more information, see http://www.ietf.org/rfc/rfc2461.txt.
The GetIpNetEntry2 function retrieves a single neighbor IP address and returns this information in a MIB_IPNET_ROW2 structure.
Note that the Netioapi.h header file is automatically included in the Iphlpapi.h header file. The Netioapi.h header file should never be used directly.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows Vista [desktop apps only] |
Minimum supported server | Windows Server 2008 [desktop apps only] |
Header | netioapi.h (include Iphlpapi.h) |