estrutura MIB_IPFORWARDROW (ipmib.h)
A estrutura MIB_IPFORWARDROW contém informações que descrevem uma rota de rede IPv4.
Sintaxe
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;
Membros
dwForwardDest
Tipo: DWORD
O endereço IPv4 de destino da rota. Uma entrada com um endereço IPv4 de 0.0.0.0 é considerada uma rota padrão. Esse membro não pode ser definido como um endereço IPv4 multicast (classe D).
dwForwardMask
Tipo: DWORD
A máscara de sub-rede IPv4 a ser usada com o endereço IPv4 de destino antes de ser comparada com o valor no membro dwForwardDest .
O valor dwForwardMask deve ser aplicado ao endereço IPv4 de destino (lógico e de operação) antes de uma comparação com o valor no membro dwForwardDest .
dwForwardPolicy
Tipo: DWORD
O conjunto de condições que causaria a seleção de uma rota de vários caminhos (o conjunto de próximos saltos para um determinado destino). Esse membro normalmente está no formato IP TOS. Essa codificação desse membro é descrita no RFC 1354. Para obter mais informações, consulte http://www.ietf.org/rfc/rfc1354.txt.
dwForwardNextHop
Tipo: DWORD
Para rotas remotas, o endereço IPv4 do próximo sistema a caminho. Caso contrário, esse membro deverá ser um endereço IPv4 de 0.0.0.0.
dwForwardIfIndex
Tipo: DWORD
O índice da interface local por meio do qual o próximo salto dessa rota deve ser alcançado.
dwForwardType
Tipo: DWORD
O tipo de rota, conforme descrito em RFC 1354. Para obter mais informações, consulte http://www.ietf.org/rfc/rfc1354.txt.
Esse membro pode ser um dos valores definidos no arquivo de cabeçalho Iprtmib.h .
No Windows Vista e posteriores, os arquivos de cabeçalho foram reorganizados e esse membro pode ser um dos valores do tipo de enumeração MIB_IPFORWARD_TYPE definido no arquivo de cabeçalho Ipmib.h . Observe que o cabeçalho Ipmib.h é incluído automaticamente pelo arquivo de cabeçalho Iprtrmib.h que é incluído automaticamente pelo cabeçalho Iphlpapi.h . Os arquivos de cabeçalho Iprtrmib.h e Ipmib.h nunca devem ser usados diretamente.
A lista a seguir mostra os valores possíveis para esse membro.
ForwardType
dwForwardProto
Tipo: DWORD
O protocolo ou mecanismo de roteamento que gerou a rota, conforme descrito em RFC 1354. Para obter mais informações, consulte http://www.ietf.org/rfc/rfc1354.txt. Consulte Identificadores de protocolo para obter uma lista de possíveis identificadores de protocolo usados por protocolos de roteamento.
Esse membro pode ser um dos valores definidos no arquivo de cabeçalho Iprtmib.h . Os valores desse membro podem ser um dos valores MIB_IPPROTO_xxx definidos no arquivo de cabeçalho Iprtmib.h ou um dos valores de PROTO_IP_xxx definidos no arquivo de cabeçalho routprot.h , pois esses valores são os mesmos.
No Windows Vista e posteriores, os arquivos de cabeçalho foram reorganizados e esse membro pode ser um dos valores definidos no arquivo de cabeçalho Nldef.h . Observe que o cabeçalho Nldef.h é incluído automaticamente pelo arquivo de cabeçalho Ipmib.h que é incluído automaticamente pelo cabeçalho Iprtrmib.h . O cabeçalho Iphlpapi.h inclui automaticamente o arquivo de cabeçalho Iprtrmib.h . Os arquivos de cabeçalho Iprtrmib.h, Ipmib.h e Nldef.h nunca devem ser usados diretamente.
A lista a seguir mostra os valores possíveis para esse membro.
Valor | Significado |
---|---|
|
Algum outro protocolo não especificado no RFC 1354. |
|
Uma interface local. |
|
Uma rota estática. Esse valor é usado para identificar informações de rota para o conjunto de roteamento de IP por meio do gerenciamento de rede, como o DCHP (Dynamic Host Configuration Protocol), o SNMP (Simple Network Management Protocol) ou chamadas para as funções CreateIpForwardEntry, DeleteIpForwardEntry ou SetIpForwardEntry . |
|
O resultado do redirecionamento do ICMP. |
|
O Protocolo de Gateway Exterior (EGP), um protocolo de roteamento dinâmico. |
|
O Protocolo de Gateway para Gateway (GGP), um protocolo de roteamento dinâmico. |
|
O protocolo Hellospeak, um protocolo de roteamento dinâmico. Essa é uma entrada histórica que não está mais em uso e foi um protocolo de roteamento inicial usado pelos roteadores ARPANET originais que executavam um software especial chamado protocolo de roteamento Fuzzball, às vezes chamado hellospeak, conforme descrito em RFC 891 e RFC 1305. Para obter mais informações, consulte http://www.ietf.org/rfc/rfc891.txt e http://www.ietf.org/rfc/rfc1305.txt. |
|
O RIP (Berkeley Routing Information Protocol) ou RIP-II, um protocolo de roteamento dinâmico. |
|
O protocolo IS-IS (Sistema Intermediário para Sistema Intermediário), um protocolo de roteamento dinâmico. O protocolo IS-IS foi desenvolvido para uso no conjunto de protocolos OSI (Open Systems Interconnection). |
|
O protocolo ES-IS (Sistema End-to-Intermediate System), um protocolo de roteamento dinâmico. O protocolo ES-IS foi desenvolvido para uso no conjunto de protocolos OSI (Open Systems Interconnection). |
|
O Cisco Interior Gateway Routing Protocol (IGRP), um protocolo de roteamento dinâmico. |
|
O Bolt, Beranek e Newman (BBN) Protocolo de Gateway interior (IGP) que usou o algoritmo SPF (Shortest Path First). Este era um protocolo de roteamento dinâmico inicial. |
|
O protocolo OSPF (Open Shortest Path First), um protocolo de roteamento dinâmico. |
|
O BGP (Border Gateway Protocol), um protocolo de roteamento dinâmico. |
|
Uma entrada específica do Windows adicionada originalmente por um protocolo de roteamento, mas que agora é estática. |
|
Uma entrada específica do Windows adicionada como uma rota estática da interface do usuário de roteamento ou um comando de roteamento. |
|
Uma entrada específica do Windows adicionada como uma rota estática da interface do usuário de roteamento ou um comando de roteamento, exceto que essas rotas não causam DOD (Dial On Demand). |
ForwardProto
dwForwardAge
Tipo: DWORD
O número de segundos desde que a rota foi adicionada ou modificada na tabela de roteamento de rede.
dwForwardNextHopAS
Tipo: DWORD
O número do sistema autônomo do próximo salto. Quando esse membro é desconhecido ou não é relevante para o protocolo ou mecanismo de roteamento especificado em dwForwardProto, esse valor deve ser definido como zero. Esse valor está documentado no RFC 1354. Para obter mais informações, consulte http://www.ietf.org/rfc/rfc1354.txt.
dwForwardMetric1
Tipo: DWORD
O valor da métrica de roteamento primário para essa rota. A semântica dessa métrica é determinada pelo protocolo de roteamento especificado no membro dwForwardProto . Se essa métrica não for usada, seu valor deverá ser definido como -1. Esse valor está documentado em no RFC 1354. Para obter mais informações, consulte http://www.ietf.org/rfc/rfc1354.txt.
dwForwardMetric2
Tipo: DWORD
Um valor de métrica de roteamento alternativo para essa rota. A semântica dessa métrica é determinada pelo protocolo de roteamento especificado no membro dwForwardProto . Se essa métrica não for usada, seu valor deverá ser definido como -1. Esse valor está documentado no RFC 1354. Para obter mais informações, consulte http://www.ietf.org/rfc/rfc1354.txt.
dwForwardMetric3
Tipo: DWORD
Um valor de métrica de roteamento alternativo para essa rota. A semântica dessa métrica é determinada pelo protocolo de roteamento especificado no membro dwForwardProto . Se essa métrica não for usada, seu valor deverá ser definido como -1. Esse valor está documentado no RFC 1354. Para obter mais informações, consulte http://www.ietf.org/rfc/rfc1354.txt.
dwForwardMetric4
Tipo: DWORD
Um valor de métrica de roteamento alternativo para essa rota. A semântica dessa métrica é determinada pelo protocolo de roteamento especificado no membro dwForwardProto . Se essa métrica não for usada, seu valor deverá ser definido como -1. Esse valor está documentado no RFC 1354. Para obter mais informações, consulte http://www.ietf.org/rfc/rfc1354.txt.
dwForwardMetric5
Tipo: DWORD
Um valor de métrica de roteamento alternativo para essa rota. A semântica dessa métrica é determinada pelo protocolo de roteamento especificado no membro dwForwardProto . Se essa métrica não for usada, seu valor deverá ser definido como -1. Esse valor está documentado no RFC 1354. Para obter mais informações, consulte http://www.ietf.org/rfc/rfc1354.txt.
Comentários
A função GetIpForwardTable enumera as entradas de rota IPv4 em um sistema local e retorna essas informações em uma estrutura MIB_IPFORWARDTABLE que contém uma matriz de entradas de estrutura MIB_IPFORWARDROW .
Os membros dwForwardDest, dwForwardMask e dwForwardNextHop da estrutura MIB_IPFORWARDROW representam endereços IPv4 na ordem de byte de rede.
O membro dwForwardProto da estrutura MIB_IPFORWARDROW especifica o protocolo ou o mecanismo de roteamento que gerou a rota. Identificadores de protocolo de roteamento são usados para identificar informações de rota para o protocolo de roteamento especificado. Por exemplo, MIB_IPPROTO_NETMGMT é usado para identificar informações de rota para o conjunto de roteamento de IP por meio do gerenciamento de rede, como o protocolo DCHP, o protocolo SNMP ou chamadas para as funções CreateIpForwardEntry, DeleteIpForwardEntry ou SetIpForwardEntry . Consulte Identificadores de protocolo para obter uma lista de possíveis protocolos e mecanismos de roteamento.
Um endereço IPv4 de 0.0.0.0 no membro dwForwardDest da estrutura MIB_IPFORWARDROW é considerado uma rota padrão. O MIB_IPFORWARDTABLE pode conter várias entradas MIB_IPFORWARDROW com o membro dwForwardDest definido como 0.0.0.0 quando houver vários adaptadores de rede instalados.
Quando dwForwardAge estiver definido como INFINITE, a rota não será removida com base em um tempo limite
value. Qualquer outro valor para dwForwardAge especifica o número de segundos desde que a rota foi adicionada ou modificada na tabela de roteamento de rede.
No Windows Server 2003 ou windows 2000 Server quando o Serviço de Roteamento e Acesso Remoto (RRAS) está em execução, as entradas MIB_IPFORWARDROW retornadas têm os membros dwForwardType e dwForwardAge definidos como zero.
No Windows Vista e no Windows Server 2008, a métrica de rota especificada no membro dwForwardMetric1 da estrutura MIB_IPFORWARDROW representa uma combinação da métrica de rota adicionada à métrica de interface especificada no membro Metric da estrutura MIB_IPINTERFACE_ROW da interface associada. Portanto, o membro dwForwardMetric1 da estrutura MIB_IPFORWARDROW deve ser igual ou maior que o membro Metric da estrutura de MIB_IPINTERFACE_ROW associada. Se um aplicativo quiser definir a métrica de rota como 0, o membro dwForwardMetric1 da estrutura MIB_IPFORWARDROW deverá ser definido como igual ao valor da métrica de interface especificada no membro Metric da estrutura de MIB_IPINTERFACE_ROW associada. Um aplicativo pode recuperar a métrica de interface chamando a função GetIpInterfaceEntry .
Vários membros da estrutura MIB_IPFORWARDROW não são usados atualmente pelo roteamento IPv4. Esses membros incluem dwForwardPolicy, dwForwardNextHopAS, dwForwardMetric2, dwForwardMetric3, dwForwardMetric4 e dwForwardMetric5.
No Microsoft Windows Software Development Kit (SDK) lançado para Windows Vista e posterior, a organização dos arquivos de cabeçalho foi alterada. Essa estrutura é definida no arquivo de cabeçalho Ipmib.h , não no arquivo de cabeçalho Iprtrmib.h . Observe que o arquivo de cabeçalho Ipmib.h é incluído automaticamente em Iprtrmib.h, que é incluído automaticamente no arquivo de cabeçalho Iphlpapi.h . Os arquivos de cabeçalho Ipmib.h e Iprtrmib.h nunca devem ser usados diretamente.
Exemplos
Para exibir um exemplo que recupera a estrutura MIB_IPFORWARDTABLE e, em seguida, imprime as entradas da estrutura MIB_IPFORWARDROW nesta tabela, consulte a função GetIpForwardTable .
Requisitos
Cliente mínimo com suporte | Windows 2000 Professional [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows 2000 Server [somente aplicativos da área de trabalho] |
Cabeçalho | ipmib.h (inclua Iphlpapi.h) |