ipmib.h) (MIB_IPFORWARDROW 结构

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 子网掩码。

在与 dwForwardDest 成员中的值进行比较之前,应将 dwForwardMask 值应用于目标 IPv4 地址 (逻辑和操作) 。

dwForwardPolicy

类型:DWORD

导致选择多路径路由的条件集 (给定目标) 的下一跃点集。 此成员通常采用 IP TOS 格式。 RFC 1354 中介绍了此成员的此编码。 有关详细信息,请参阅 http://www.ietf.org/rfc/rfc1354.txt

dwForwardNextHop

类型:DWORD

对于远程路由,为路由中下一个系统的 IPv4 地址。 否则,此成员应为 IPv4 地址 0.0.0.0。

dwForwardIfIndex

类型:DWORD

本地接口的索引,通过该索引到达此路由的下一跃点。

dwForwardType

类型:DWORD

RFC 1354 中所述的路由类型。 有关详细信息,请参阅 http://www.ietf.org/rfc/rfc1354.txt

此成员可以是 Iprtmib.h 头文件中定义的值之一。

在 Windows Vista 及更高版本上,头文件已重新组织,此成员可以是 Ipmib.h 头文件中定义的MIB_IPFORWARD_TYPE枚举类型的值之一。 请注意,Ipmib.h 标头自动包含在 Iphlpapi.h 标头文件中。 不应直接使用 Iprtrmib.hIpmib.h 头文件。

以下列表显示了此成员的可能值。

含义
MIB_IPROUTE_TYPE_OTHER
1
RFC 1354 中未指定的一些其他类型。
MIB_IPROUTE_TYPE_INVALID
2
无效的路由。 此值可能是由 ICMP 重定向添加的路由导致的。
MIB_IPROUTE_TYPE_DIRECT
3
一个本地路由,其中下一跃点是本地接口) (最终目标。
MIB_IPROUTE_TYPE_INDIRECT
4
下一跃点不是最终目标的远程路由 (远程目标) 。

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.hIpmib.hNldef.h 头文件。

以下列表显示了此成员的可能值。

含义
MIB_IPPROTO_OTHER
1
RFC 1354 中未指定的其他一些协议。
MIB_IPPROTO_LOCAL
2
本地接口。
MIB_IPPROTO_NETMGMT
3
静态路由。 此值用于标识通过网络管理(例如动态主机配置协议 (DCHP) 、简单网络管理协议 (SNMP) 或通过调用 CreateIpForwardEntryDeleteIpForwardEntrySetIpForwardEntry 函数)设置的 IP 路由的路由信息。
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
Berkeley 路由信息协议 (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 内部网关路由协议 (IGRP) 动态路由协议。
MIB_IPPROTO_BBN
12
Bolt、Beranek 和 Newman (BBN) 内部网关协议 (IGP) ,该协议使用最短路径优先 (SPF) 算法。 这是早期的动态路由协议。
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 特定条目,但这些路由不会导致按需拨号 (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 结构的 dwForwardDestdwForwardMaskdwForwardNextHop 成员以网络字节顺序表示 IPv4 地址。

MIB_IPFORWARDROW 结构的 dwForwardProto 成员指定生成路由的协议或路由机制。 路由协议标识符用于标识指定路由协议的路由信息。 例如, MIB_IPPROTO_NETMGMT 用于通过网络管理(例如动态主机配置协议 (DCHP) 、简单网络管理协议 (SNMP) )或通过调用 CreateIpForwardEntryDeleteIpForwardEntrySetIpForwardEntry 函数来标识 IP 路由设置的路由信息。 有关可能的协议和路由机制的列表,请参阅协议 标识符

MIB_IPFORWARDROW 结构的 dwForwardDest 成员中 0.0.0.0 的 IPv4 地址被视为默认路由。 如果安装了多个网络适配器,MIB_IPFORWARDTABLE可能包含多个MIB_IPFORWARDROW条目,其中 dwForwardDest 成员设置为 0.0.0.0。

dwForwardAge 设置为 INFINITE 时,不会根据超时删除路由

值。 dwForwardAge 的任何其他值指定在网络路由表中添加或修改路由后的秒数。

在 Windows Server 2003 或 Windows 2000 Server 上,当路由和远程访问服务 (RRAS) 运行时,返回 的MIB_IPFORWARDROW 条目将 dwForwardTypedwForwardAge 成员设置为零。

在 Windows Vista 和 Windows Server 2008 上,在 MIB_IPFORWARDROW 结构的 dwForwardMetric1 成员中指定的路由指标表示添加到关联接口的 MIB_IPINTERFACE_ROW 结构的指标成员中指定的接口指标的组合。 因此,MIB_IPFORWARDROW 结构的 dwForwardMetric1 成员应等于或大于关联MIB_IPINTERFACE_ROW结构的 Metric 成员。 如果应用程序想要将路由指标设置为 0,则应将MIB_IPFORWARDROW结构的 dwForwardMetric1 成员设置为等于关联MIB_IPINTERFACE_ROW结构的 Metric 成员中指定的接口指标的值。 应用程序可以通过调用 GetIpInterfaceEntry 函数来检索接口指标。

IPv4 路由当前不使用 MIB_IPFORWARDROW 结构的一些成员。 这些成员包括 dwForwardPolicydwForwardNextHopASdwForwardMetric2dwForwardMetric3dwForwardMetric4dwForwardMetric5

在为 Windows Vista 及更高版本发布的 Microsoft Windows 软件开发工具包 (SDK) ,头文件的组织已更改。 此结构在 Ipmib.h 头文件中定义,而不是 在 Iprtrmib.h 头文件中定义。 请注意, Ipmib.h 头文件自动包含在 Iprtrmib.h 中,该头文件自动包含在 Iphlpapi.h 头文件中。 永远不应直接使用 Ipmib.hIprtrmib.h 头文件。

示例

若要查看检索 MIB_IPFORWARDTABLE 结构然后打印出此表中 MIB_IPFORWARDROW 结构条目的示例,请参阅 GetIpForwardTable 函数。

要求

   
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
标头 ipmib.h (包括 Iphlpapi.h)

另请参阅

CreateIpForwardEntry

DeleteIpForwardEntry

GetIpForwardTable

GetIpInterfaceEntry

MIB_IPFORWARDTABLE

MIB_IPINTERFACE_ROW

协议标识符

SetIpForwardEntry