共用方式為


MIB_IPFORWARD_ROW2結構 (netioapi.h)

MIB_IPFORWARD_ROW2結構會儲存IP路由專案的相關信息。

語法

typedef struct _MIB_IPFORWARD_ROW2 {
  NET_LUID          InterfaceLuid;
  NET_IFINDEX       InterfaceIndex;
  IP_ADDRESS_PREFIX DestinationPrefix;
  SOCKADDR_INET     NextHop;
  UCHAR             SitePrefixLength;
  ULONG             ValidLifetime;
  ULONG             PreferredLifetime;
  ULONG             Metric;
  NL_ROUTE_PROTOCOL Protocol;
  BOOLEAN           Loopback;
  BOOLEAN           AutoconfigureAddress;
  BOOLEAN           Publish;
  BOOLEAN           Immortal;
  ULONG             Age;
  NL_ROUTE_ORIGIN   Origin;
} MIB_IPFORWARD_ROW2, *PMIB_IPFORWARD_ROW2;

成員

InterfaceLuid

類型: NET_LUID

與此IP路由專案相關聯之網路介面的本機唯一標識碼 (LUID) 。

InterfaceIndex

類型: NET_IFINDEX

與此IP路由專案相關聯之網路介面的本機索引值。 當網路適配器停用后再啟用或在其他情況下,此索引值可能會變更,且不應視為持續性。

DestinationPrefix

類型: IP_ADDRESS_PREFIX

此路由目的地 IP 位址的 IP 位址前置詞。

NextHop

類型: SOCKADDR_INET

針對遠端路由,下一個系統或閘道的IP位址會路由傳送。 如果路由傳送至本機連結上的本機回送位址或IP位址,則下一個躍點不會指定 (所有零) 。 針對本機回送路由,此成員應該是 IPv4 路由專案的 IPv4 位址 0.0.0.0,或 IPv6 路由專案的 IPv6 位址為 0::0。

SitePrefixLength

類型: UCHAR

此路由IP位址的月臺前綴或網路部分的長度,以位為單位。 針對 IPv4 路由專案,任何大於 32 的值都是不合法的值。 針對 IPv6 路由專案,任何大於 128 的值都是不合法的值。 值 255 通常用來表示不合法的值。

ValidLifetime

類型: ULONG

IP 路由專案有效的最大時間,以秒為單位。 0xffffffff的值會被視為無限。

PreferredLifetime

類型: ULONG

IP 路由專案有效的慣用時間,以秒為單位。 0xffffffff的值會被視為無限。

Metric

類型: ULONG

此 IP 路由專案的路由計量位移值。 請注意,用來計算路由喜好設定的實際路由計量是MIB_IPINTERFACE_ROW結構的 Metric 成員中所指定的介面計量總和,以及此成員中指定的路由計量位移。 此計量的語意取決於 通訊 協議成員中指定的路由通訊協定。 如果未使用此計量,其值應該設定為 -1。 此值記載於 RFC 4292 中。 如需詳細資訊,請參閱http://www.ietf.org/rfc/rfc4292.txt

Protocol

類型: NL_ROUTE_PROTOCOL

新增此IP路由的路由機制。 這個成員可以是 Nldef.h 頭檔中所定義NL_ROUTE_PROTOCOL列舉類型的其中一個值。 成員會在 RFC 4292 中描述。 如需詳細資訊,請參閱http://www.ietf.org/rfc/rfc4292.txt

請注意,Ipmib.h 頭文件會自動包含 Nldef.h 標頭,該頭檔由 Iprtrmib.h 標頭自動包含。 Iphlpapi.h 標頭會自動包含 Iprtrmib.h 頭檔。 不應該直接使用 Iprtrmib.hIpmib.hNldef.h 頭檔。

下列清單顯示此成員的可能值。

意義
MIB_IPPROTO_OTHER
1
未指定路由機制。
MIB_IPPROTO_LOCAL
2
本機介面。
MIB_IPPROTO_NETMGMT
3
靜態路由。 此值可用來識別透過網路管理所設定IP路由的路由資訊,例如動態主機設定通訊協定 (DCHP) 、簡單網路管理通訊協定 (SNMP) ,或呼叫 CreateIpForwardEntry2、DeleteIpForwardEntry2SetIpForwardEntry2 函式
MIB_IPPROTO_ICMP
4
ICMP 重新導向的結果。
MIB_IPPROTO_EGP
5
外部閘道通訊協定 (EGP) ,這是動態路由通訊協定。
MIB_IPPROTO_GGP
6
閘道對閘道通訊協定 (GGP) 動態路由通訊協定。
MIB_IPPROTO_HELLO
7
Hellospeak 通訊協定是動態路由通訊協定。 這是歷程記錄專案不再使用,而且是原始ARPANET路由器所使用的早期路由通訊協定,其執行稱為模糊球路由通訊協定的特殊軟體,有時稱為 Hellospeak,如 RFC 891 和 RFC 1305 中所述。 如需詳細資訊,請參閱 http://www.ietf.org/rfc/rfc891.txthttp://www.ietf.org/rfc/rfc1305.txt
MIB_IPPROTO_RIP
8
一種動態路由通訊協定, (RIP) 或 RIP-II。
MIB_IPPROTO_IS_IS
9
中繼系統對中繼系統 (IS-IS) 通訊協定,這是動態路由通訊協定。 IS-IS 通訊協定是針對開放系統互連 (OSI) 通訊協定套件所開發。
MIB_IPPROTO_ES_IS
10
端系統對中繼系統 (ES-IS) 通訊協定,這是動態路由通訊協定。 ES-IS 通訊協定是針對開放系統互連 (OSI) 通訊協定套件所開發。
MIB_IPPROTO_CISCO
11
Cisco Interior 閘道路由通訊協定 (IGRP) 動態路由通訊協定。
MIB_IPPROTO_BBN
12
使用最短路徑 First (SPF) 演算法的 Bolt、Beranek 和 Newman (BBN) 內部閘道通訊協定 (IGP) 。 這是早期動態路由通訊協定。
MIB_IPPROTO_OSPF
13
Open Shortest Path First (OSPF) 通訊協定,這是動態路由通訊協定。
MIB_IPPROTO_BGP
14
邊界閘道通訊協定 (BGP) ,這是動態路由通訊協定。
MIB_IPPROTO_NT_AUTOSTATIC
10002
原本由路由通訊協定新增的 Windows 特定專案,但現在是靜態的。
MIB_IPPROTO_NT_STATIC
10006
從路由使用者介面或路由命令新增為靜態路由的 Windows 特定專案。
MIB_IPPROTO_NT_STATIC_NON_DOD
10007
從路由使用者介面或路由命令新增為靜態路由的 Windows 特定專案,但這些路由不會造成 Dial On Demand (DOD) 。

Loopback

類型: BOOLEAN

值,指定路由是否為回送路由, (網關位於本機主機上) 。

AutoconfigureAddress

類型: BOOLEAN

值,指定是否自動設定IP位址。

Publish

類型: BOOLEAN

值,指定是否發佈路由。

Immortal

類型: BOOLEAN

值,指定路由是否不變。

Age

類型: ULONG

在網路路由表中新增或修改路由之後的秒數。

Origin

類型: NL_ROUTE_ORIGIN

路由的來源。 這個成員可以是 Nldef.h 頭檔中所定義NL_ROUTE_ORIGIN列舉類型的其中一個值。

意義
NlroManual
0
手動設定的結果。
NlroWellKnown
1
已知的路由。
NlroDHCP
2
DHCP 組態的結果。
NlroRouterAdvertisement
3
路由器公告的結果。
Nlro6to4
4
6to4 通道的結果。

備註

MIB_IPFORWARD_ROW2結構是在 Windows Vista 和更新版本上定義。

GetIpForwardTable2 函式會列舉本機系統上的IP路由專案,並在MIB_IPFORWARD_TABLE2結構中傳回這項資訊,做為MIB_IPFORWARD_ROW2專案的數位。

GetIpForwardEntry2 函式會擷取單一IP路由專案,並在MIB_IPFORWARD_ROW2結構中傳回這項資訊。

MIB_IPFORWARD_ROW2 結構之DestinationPrefix 成員中IP_ADDRESS_PREFIX的 PrefixLength 成員和 PrefixLength 成員的專案會被視為預設路由。 MIB_IPFORWARD_TABLE2可能包含多個具有 Prefix 和 PrefixLength 成員的多個MIB_IPFORWARD_ROW2專案,IP_ADDRESS_PREFIX在已安裝多個網路適配器時,在 DestinationPrefix 成員中設定為零。

MIB_IPFORWARD_ROW2專案的計量成員是指派給特定網路介面之IP路由的值,可識別使用該路由相關聯的成本。 例如,計量可以根據連結速度、躍點計數或時間延遲來值。 自動計量是 Windows XP 和更新版本上的功能,可針對以連結速度為基礎的本機路由自動設定計量。 默認會啟用自動計量功能, (MIB_IPINTERFACE_ROW 結構的UseAutomaticMetric成員設定為Windows XP和更新版本上的 TRUE) 。 也可以手動設定,將特定計量指派給IP路由。

MIB_IPFORWARD_ROW2 結構的 Metric 成員中指定的路由計量只代表路由計量位移。 完整計量是這個路由計量位移的組合,新增至相關聯介面之 MIB_IPINTERFACE_ROW 結構之 metric 成員中指定的介面計量。 應用程式可以藉由呼叫 GetIpInterfaceEntry 函式來擷取介面計量。

請注意, Netioapi.h 頭文件會自動包含在 Iphlpapi.h 頭檔中。 不應該直接使用 Netioapi.h 頭檔。

規格需求

需求
最低支援的用戶端 Windows Vista [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2008 [僅限傳統型應用程式]
標頭 netioapi.h (包含 Iphlpapi.h)

另請參閱

CreateIpForwardEntry2

DeleteIpForwardEntry2

GetIpForwardEntry2

GetIpForwardTable2

GetIpInterfaceEntry

IP_ADDRESS_PREFIX

MIB_IPFORWARD_TABLE2

MIB_IPINTERFACE_ROW

SOCKADDR_INET

SetIpForwardEntry2