MIB_IPNET_ROW2 结构 (netioapi.h)
MIB_IPNET_ROW2结构存储有关邻居 IP 地址的信息。
语法
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;
成员
Address
类型: SOCKADDR_INET
邻居 IP 地址。 此成员可以是 IPv6 地址或 IPv4 地址。
InterfaceIndex
类型: NET_IFINDEX
与此 IP 地址关联的网络接口的本地索引值。 当网络适配器被禁用并随后启用时,或者在其他情况下,此索引值可能会更改,并且不应被视为永久性。
InterfaceLuid
类型: NET_LUID
本地唯一标识符 (与此 IP 地址关联的网络接口的 LUID) 。
PhysicalAddress[IF_MAX_PHYS_ADDRESS_LENGTH]
类型: UCHAR[IF_MAX_PHYS_ADDRESS_LENGTH]
与此 IP 地址关联的网络接口的适配器的物理硬件地址。
PhysicalAddressLength
类型: ULONG
PhysicalAddress 成员指定的物理硬件地址的长度(以字节为单位)。 支持的最大值为 32 个字节。
State
类型: NL_NEIGHBOR_STATE
RFC 2461 第 7.3.2 节中定义的网络邻居 IP 地址的状态。 有关详细信息,请参阅 http://www.ietf.org/rfc/rfc2461.txt。 此成员可以是 Nldef.h 头文件中定义的 NL_NEIGHBOR_STATE 枚举类型的值之一。
IsRouter
类型: BOOLEAN
一个 值,该值指示此 IP 地址是否为路由器。
IsUnreachable
类型: BOOLEAN
一个 值,该值指示此 IP 地址是否无法访问。
Flags
类型: UCHAR
一组标志,指示 IP 地址是否为路由器以及 IP 地址是否不可访问。
ReachabilityTime
ReachabilityTime.LastReachable
类型: ULONG 节点在收到可访问性确认后假定邻居可访问的时间(以毫秒为单位)。
ReachabilityTime.LastUnreachable
类型: ULONG 节点在未收到可访问性确认后假定邻居无法访问的时间(以毫秒为单位)。
注解
MIB_IPNET_ROW2结构在 Windows Vista 及更高版本上定义。
GetIpNetTable2 函数枚举本地系统上的相邻 IP 地址,并在MIB_IPNET_TABLE2结构中返回此信息。
对于 IPv4,这包括使用地址解析协议 (ARP) 确定的地址。 对于 IPv6,这包括使用 RFC 2461 中指定的邻居发现 (ND) 协议确定的地址。 有关详细信息,请参阅 http://www.ietf.org/rfc/rfc2461.txt。
GetIpNetEntry2 函数检索单个邻居 IP 地址,并在MIB_IPNET_ROW2结构中返回此信息。
请注意, Netioapi.h 头文件会自动包含在 Iphlpapi.h 头文件中。 永远不应直接使用 Netioapi.h 头文件。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows Vista [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2008 [仅限桌面应用] |
标头 | netioapi.h (包括 Iphlpapi.h) |