MIB_IPFORWARDROW結構 (ipmib.h)
MIB_IPFORWARDROW結構包含描述 IPv4 網路路由的資訊。
語法
typedef struct _MIB_IPFORWARDROW {
DWORD dwForwardDest;
DWORD dwForwardMask;
DWORD dwForwardPolicy;
DWORD dwForwardNextHop;
IF_INDEX dwForwardIfIndex;
union {
DWORD dwForwardType;
MIB_IPFORWARD_TYPE ForwardType;
};
union {
DWORD dwForwardProto;
MIB_IPFORWARD_PROTO ForwardProto;
};
DWORD dwForwardAge;
DWORD dwForwardNextHopAS;
DWORD dwForwardMetric1;
DWORD dwForwardMetric2;
DWORD dwForwardMetric3;
DWORD dwForwardMetric4;
DWORD dwForwardMetric5;
} MIB_IPFORWARDROW, *PMIB_IPFORWARDROW;
成員
dwForwardDest
類型: DWORD
路由的目的地 IPv4 位址。 IPv4 位址為 0.0.0.0 的專案會被視為預設路由。 此成員無法設定為多播 (類別 D) IPv4 位址。
dwForwardMask
類型: DWORD
與 dwForwardDest 成員中的值進行比較之前,要與目的地 IPv4 位址搭配使用的 IPv4 子網路遮罩。
dwForwardMask值應該套用至目的地 IPv4 位址, (邏輯和作業) ,然後再與dwForwardDest成員中的值進行比較。
dwForwardPolicy
類型: DWORD
會導致選取多重路徑路由的條件集, (指定目的地) 的下一個躍點集。 此成員通常是 IP TOS 格式。 RFC 1354 會描述此成員的編碼方式。 如需詳細資訊,請參閱http://www.ietf.org/rfc/rfc1354.txt。
dwForwardNextHop
類型: DWORD
針對遠端路由,下一個系統路由的 IPv4 位址。 否則,此成員應該是 0.0.0.0 的 IPv4 位址。
dwForwardIfIndex
類型: DWORD
本機介面的索引,應透過此介面到達此路由的下一個躍點。
dwForwardType
類型: DWORD
如 RFC 1354 中所述的路由類型。 如需詳細資訊,請參閱http://www.ietf.org/rfc/rfc1354.txt。
這個成員可以是 Iprtmib.h 標頭檔中定義的其中一個值。
在 Windows Vista 和更新版本上,標頭檔已重新組織,而且此成員可以是Ipmib.h標頭檔中所定義MIB_IPFORWARD_TYPE列舉類型的其中一個值。 請注意,Iprtrmib.h標頭檔會自動包含Ipmib.h標頭,Iphlpapi.h標頭會自動包含該標頭檔。 不應該直接使用 Iprtrmib.h 和 Ipmib.h 標頭檔。
下列清單顯示此成員的可能值。
ForwardType
dwForwardProto
類型: DWORD
產生路由的通訊協定或路由機制,如 RFC 1354 中所述。 如需詳細資訊,請參閱http://www.ietf.org/rfc/rfc1354.txt。 如需路由通訊協定所使用的可能通訊協定識別碼清單,請參閱通訊協定識別碼。
這個成員可以是 Iprtmib.h 標頭檔中定義的其中一個值。 此成員的值可以是 Iprtmib.h 標頭檔中定義的其中一個MIB_IPPROTO_xxx值,或是 routprot.h 標頭檔中定義的其中一個PROTO_IP_xxx值,因為這些值相同。
在 Windows Vista 和更新版本上,標頭檔已重新組織,而且此成員可以是 Nldef.h 標頭檔中定義的其中一個值。 請注意,Ipmib.h標頭檔會自動包含Nldef.h標頭,該標頭檔由Iprtrmib.h標頭自動包含。 Iphlpapi.h標頭會自動包含Iprtrmib.h標頭檔。 不應該直接使用 Iprtrmib.h、 Ipmib.h和 Nldef.h 標頭檔。
下列清單顯示此成員的可能值。
值 | 意義 |
---|---|
|
RFC 1354 中未指定其他通訊協定。 |
|
本機介面。 |
|
靜態路由。 此值可用來識別透過網路管理所設定 IP 路由的路由資訊,例如動態主機設定通訊協定 (DCHP) 、簡單網路管理通訊協定 (SNMP) ,或呼叫 CreateIpForwardEntry、 DeleteIpForwardEntry或 SetIpForwardEntry 函式。 |
|
ICMP 重新導向的結果。 |
|
外部閘道通訊協定 (EGP) ,這是動態路由通訊協定。 |
|
閘道對閘道通訊協定 (GGP) 動態路由通訊協定。 |
|
Hellospeak 通訊協定是動態路由通訊協定。 這是歷程記錄專案不再使用,而且是原始 ARPANET 路由器所使用的早期路由通訊協定,其執行稱為模糊球路由通訊協定的特殊軟體,有時稱為 Hellospeak,如 RFC 891 和 RFC 1305 中所述。 如需詳細資訊,請參閱 http://www.ietf.org/rfc/rfc891.txt 和 http://www.ietf.org/rfc/rfc1305.txt。 |
|
一種動態路由通訊協定, (RIP) 或 RIP-II。 |
|
中繼系統對中繼系統 (IS-IS) 通訊協定,這是動態路由通訊協定。 IS-IS 通訊協定是針對開放系統互相連線 (OSI) 通訊協定套件所開發。 |
|
端系統對中繼系統 (ES-IS) 通訊協定,這是動態路由通訊協定。 ES-IS 通訊協定是針對開放系統互相連線 (OSI) 通訊協定套件所開發。 |
|
Cisco Interior 閘道路由通訊協定 (IGRP) 動態路由通訊協定。 |
|
使用最短路徑 First (SPF) 演算法的 Bolt、Beranek 和 Newman (BBN) 內部閘道通訊協定 (IGP) 。 這是早期動態路由通訊協定。 |
|
Open Shortest Path First (OSPF) 通訊協定,這是動態路由通訊協定。 |
|
邊界閘道通訊協定 (BGP) ,這是動態路由通訊協定。 |
|
原本由路由通訊協定新增的 Windows 特定專案,但現在是靜態的。 |
|
從路由使用者介面或路由命令新增為靜態路由的 Windows 特定專案。 |
|
從路由使用者介面或路由命令新增為靜態路由的 Windows 特定專案,但這些路由不會造成 Dial On Demand (DOD) 。 |
ForwardProto
dwForwardAge
類型: DWORD
在網路路由表中新增或修改路由之後的秒數。
dwForwardNextHopAS
類型: DWORD
下一個躍點的自發系統編號。 當這個成員未知或不與 dwForwardProto中指定的通訊協定或路由機制無關時,此值應該設定為零。 此值記載于 RFC 1354 中。 如需詳細資訊,請參閱 http://www.ietf.org/rfc/rfc1354.txt
dwForwardMetric1
類型: DWORD
此路由的主要路由計量值。 此計量的語意取決於 dwForwardProto 成員中指定的路由通訊協定。 如果未使用此計量,其值應該設定為 -1。 此值記載于 RFC 1354 中。 如需詳細資訊,請參閱 http://www.ietf.org/rfc/rfc1354.txt
dwForwardMetric2
類型: DWORD
此路由的替代路由計量值。 此計量的語意取決於 dwForwardProto 成員中指定的路由通訊協定。 如果未使用此計量,其值應該設定為 -1。 此值記載于 RFC 1354 中。 如需詳細資訊,請參閱 http://www.ietf.org/rfc/rfc1354.txt
dwForwardMetric3
類型: DWORD
此路由的替代路由計量值。 此計量的語意取決於 dwForwardProto 成員中指定的路由通訊協定。 如果未使用此計量,其值應該設定為 -1。 此值記載于 RFC 1354 中。 如需詳細資訊,請參閱 http://www.ietf.org/rfc/rfc1354.txt
dwForwardMetric4
類型: DWORD
此路由的替代路由計量值。 此計量的語意取決於 dwForwardProto 成員中指定的路由通訊協定。 如果未使用此計量,其值應該設定為 -1。 此值記載于 RFC 1354 中。 如需詳細資訊,請參閱 http://www.ietf.org/rfc/rfc1354.txt
dwForwardMetric5
類型: DWORD
此路由的替代路由計量值。 此計量的語意取決於 dwForwardProto 成員中指定的路由通訊協定。 如果未使用此計量,其值應該設定為 -1。 此值記載于 RFC 1354 中。 如需詳細資訊,請參閱 http://www.ietf.org/rfc/rfc1354.txt
備註
GetIpForwardTable函式會列舉本機系統上的 IPv4 路由專案,並在包含MIB_IPFORWARDROW結構專案陣列的MIB_IPFORWARDTABLE結構中傳回這項資訊。
MIB_IPFORWARDROW結構的dwForwardDest、dwForwardMask和dwForwardNextHop成員會以網路位元組順序表示 IPv4 位址。
MIB_IPFORWARDROW結構的dwForwardProto成員會指定產生路由的通訊協定或路由機制。 路由通訊協定識別碼可用來識別指定之路由通訊協定的路由資訊。 例如,MIB_IPPROTO_NETMGMT可用來識別透過網路管理所設定 IP 路由的路由資訊,例如動態主機設定通訊協定 (DCHP) 、簡單網路管理通訊協定 (SNMP) ,或呼叫CreateIpForwardEntry、DeleteIpForwardEntry或SetIpForwardEntry函式。 如需可能的通訊協定和路由機制清單,請參閱 通訊協定識別碼 。
MIB_IPFORWARDROW結構dwForwardDest成員中的 IPv4 位址 0.0.0.0 會被視為預設路由。 安裝多個網路介面卡時, MIB_IPFORWARDTABLE 可能包含多個 MIB_IPFORWARDROW 專案, 其中 dwForwardDest 成員設定為 0.0.0.0。
當 dwForwardAge設定為INFINITE時,將不會根據逾時移除路由
值。 dwForwardAge的任何其他值會指定在網路路由表中新增或修改路由之後的秒數。
當路由和遠端存取服務 (RRAS) 執行時,在 Windows Server 2003 或 Windows 2000 Server 上,傳回 的MIB_IPFORWARDROW 專案會將 dwForwardType 和 dwForwardAge 成員設定為零。
在 Windows Vista 和 Windows Server 2008 上,MIB_IPFORWARDROW結構的dwForwardMetric1成員中指定的路由計量,代表新增至相關聯介面MIB_IPINTERFACE_ROW結構之Metric成員中所指定之介面計量的組合。 因此,MIB_IPFORWARDROW結構的dwForwardMetric1成員應該等於或大於相關聯MIB_IPINTERFACE_ROW結構的Metric成員。 如果應用程式想要將路由計量設定為 0,則MIB_IPFORWARDROW結構的dwForwardMetric1成員應該設定為等於相關聯MIB_IPINTERFACE_ROW結構之Metric成員中指定的介面計量值。 應用程式可以藉由呼叫 GetIpInterfaceEntry 函式來擷取介面計量。
IPv4 路由目前不會使用 MIB_IPFORWARDROW 結構的一些成員。 這些成員包括 dwForwardPolicy、 dwForwardNextHopAS、 dwForwardMetric2、 dwForwardMetric3、 dwForwardMetric4和 dwForwardMetric5。
在針對 Windows Vista 和更新版本發行的 Microsoft Windows 軟體發展工具組 (SDK) 上,標頭檔的組織已變更。 此結構定義于 Ipmib.h 標頭檔中,而不是 在 Iprtrmib.h 標頭檔中。 請注意, Ipmib.h 標頭檔會自動包含在 Iprtrmib.h中,該檔案會自動包含在 Iphlpapi.h 標頭檔中。 不應該直接使用 Ipmib.h 和 Iprtrmib.h 標頭檔。
範例
若要檢視擷取 MIB_IPFORWARDTABLE 結構的範例,然後列印出此資料表中的 MIB_IPFORWARDROW 結構專案,請參閱 GetIpForwardTable 函式。
需求
最低支援的用戶端 | Windows 2000 Professional [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限桌面應用程式] |
標頭 | ipmib.h (包含 Iphlpapi.h) |