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;
Members
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
網路鄰居 IP 位址的狀態,定義於 RFC 2461,第 7.3.2 節。 如需詳細資訊,請參閱http://www.ietf.org/rfc/rfc2461.txt。 此成員可為 Nldef.h 標頭檔案中定義的NL_NEIGHBOR_STATE列舉型態中的值之一。
IsRouter
類型: 布林值
一個表示該 IP 位址是否為路由器的值。
IsUnreachable
類型: 布林值
一個表示該 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 規定的鄰居發現(Neighbor Discovery, ND)協議所確定的位址。 如需詳細資訊,請參閱http://www.ietf.org/rfc/rfc2461.txt。
GetIpNetEntry2 函式會取得一個鄰居 IP 位址,並以 MIB_IPNET_ROW2 結構回傳此資訊。
請注意, Netioapi.h 標頭檔案會自動包含在 Iphlpapi.h 標頭檔中。 Netioapi.h 標頭檔絕對不應直接使用。
需求
| Requirement | 價值觀 |
|---|---|
| 最低支援的用戶端 | Windows Vista [僅限傳統型應用程式] |
| 支援的最低伺服器 | Windows Server 2008 [僅限傳統型應用程式] |
| Header | netioapi.h(包括 Iphlpapi.h) |