estrutura MIB_IPFORWARD_ROW2 (netioapi.h)

A estrutura MIB_IPFORWARD_ROW2 armazena informações sobre uma entrada de rota IP.

Sintaxe

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;

Membros

InterfaceLuid

Tipo: NET_LUID

O LUID (identificador exclusivo local) para o adaptador de rede associado a essa entrada de rota IP.

InterfaceIndex

Tipo: NET_IFINDEX

O valor do índice local para o adaptador de rede associado a essa entrada de rota IP. Esse valor de índice pode ser alterado quando um adaptador de rede é desabilitado e, em seguida, habilitado ou em outras circunstâncias, e não deve ser considerado persistente.

DestinationPrefix

Tipo: IP_ADDRESS_PREFIX

O prefixo de endereço IP para o endereço IP de destino para essa rota.

NextHop

Tipo: SOCKADDR_INET

Para uma rota remota, o endereço IP do próximo sistema ou gateway a caminho. Se a rota for para um endereço de loopback local ou um endereço IP no link local, o próximo salto não será especificado (todos os zeros). Para uma rota de loopback local, esse membro deve ser um endereço IPv4 de 0.0.0.0 para uma entrada de rota IPv4 ou um endereço IPv6 de 0::0 para uma entrada de rota IPv6.

SitePrefixLength

Tipo: UCHAR

O comprimento, em bits, do prefixo do site ou parte da rede do endereço IP dessa rota. Para uma entrada de rota IPv4, qualquer valor maior que 32 é um valor inválido. Para uma entrada de rota IPv6, qualquer valor maior que 128 é um valor inválido. Um valor de 255 é comumente usado para representar um valor inválido.

ValidLifetime

Tipo: ULONG

O tempo máximo, em segundos, em que a entrada de rota IP é válida. Um valor de 0xffffffff é considerado infinito.

PreferredLifetime

Tipo: ULONG

O tempo preferencial, em segundos, em que a entrada de rota IP é válida. Um valor de 0xffffffff é considerado infinito.

Metric

Tipo: ULONG

O valor de deslocamento da métrica de rota para essa entrada de rota IP. Observe que a métrica de rota real usada para calcular a preferência de rota é a soma da métrica de interface especificada no membro Métrica da estrutura de MIB_IPINTERFACE_ROW e o deslocamento de métrica de rota especificado neste membro. A semântica dessa métrica é determinada pelo protocolo de roteamento especificado no membro Protocolo . Se essa métrica não for usada, seu valor deverá ser definido como -1. Esse valor está documentado no RFC 4292. Para obter mais informações, consulte http://www.ietf.org/rfc/rfc4292.txt.

Protocol

Tipo: NL_ROUTE_PROTOCOL

O mecanismo de roteamento de como essa rota IP foi adicionada. Esse membro pode ser um dos valores do tipo de enumeração NL_ROUTE_PROTOCOL definido no arquivo de cabeçalho Nldef.h . O membro é descrito em RFC 4292. Para obter mais informações, consulte http://www.ietf.org/rfc/rfc4292.txt.

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
MIB_IPPROTO_OTHER
1
O mecanismo de roteamento não foi especificado.
MIB_IPPROTO_LOCAL
2
Uma interface local.
MIB_IPPROTO_NETMGMT
3
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 protocolo SNMP ou chamadas para as funções CreateIpForwardEntry2, DeleteIpForwardEntry2 ou SetIpForwardEntry2 .
MIB_IPPROTO_ICMP
4
O resultado de um redirecionamento ICMP.
MIB_IPPROTO_EGP
5
O Protocolo de Gateway Exterior (EGP), um protocolo de roteamento dinâmico.
MIB_IPPROTO_GGP
6
O Protocolo de Gateway para Gateway (GGP), um protocolo de roteamento dinâmico.
MIB_IPPROTO_HELLO
7
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 de 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.
MIB_IPPROTO_RIP
8
O RIP (Berkeley Routing Information Protocol) ou RIP-II, um protocolo de roteamento dinâmico.
MIB_IPPROTO_IS_IS
9
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).
MIB_IPPROTO_ES_IS
10
O protocolo ES-IS (End System-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).
MIB_IPPROTO_CISCO
11
O Cisco Interior Gateway Routing Protocol (IGRP), um protocolo de roteamento dinâmico.
MIB_IPPROTO_BBN
12
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.
MIB_IPPROTO_OSPF
13
O protocolo OSPF (Open Shortest Path First), um protocolo de roteamento dinâmico.
MIB_IPPROTO_BGP
14
O BGP (Border Gateway Protocol), um protocolo de roteamento dinâmico.
MIB_IPPROTO_NT_AUTOSTATIC
10002
Uma entrada específica do Windows adicionada originalmente por um protocolo de roteamento, mas que agora é estática.
MIB_IPPROTO_NT_STATIC
10006
Uma entrada específica do Windows adicionada como uma rota estática da interface do usuário de roteamento ou um comando de roteamento.
MIB_IPPROTO_NT_STATIC_NON_DOD
10007
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 (Discagem Sob Demanda).

Loopback

Tipo: BOOLEAN

Um valor que especifica se a rota é uma rota de loopback (o gateway está no host local).

AutoconfigureAddress

Tipo: BOOLEAN

Um valor que especifica se o endereço IP está configurado automaticamente.

Publish

Tipo: BOOLEAN

Um valor que especifica se a rota é publicada.

Immortal

Tipo: BOOLEAN

Um valor que especifica se a rota é imortal.

Age

Tipo: ULONG

O número de segundos desde que a rota foi adicionada ou modificada na tabela de roteamento de rede.

Origin

Tipo: NL_ROUTE_ORIGIN

A origem da rota. Esse membro pode ser um dos valores do tipo de enumeração NL_ROUTE_ORIGIN definido no arquivo de cabeçalho Nldef.h .

Valor Significado
NlroManual
0
Resultado da configuração manual.
NlroWellKnown
1
Uma rota bem conhecida.
NlroDHCP
2
Um resultado da configuração de DHCP.
NlroRouterAdvertisement
3
O resultado do anúncio do roteador.
Nlro6to4
4
Resultado do túnel 6to4.

Comentários

A estrutura MIB_IPFORWARD_ROW2 é definida no Windows Vista e posterior.

A função GetIpForwardTable2 enumera as entradas de rota IP em um sistema local e retorna essas informações em uma estrutura MIB_IPFORWARD_TABLE2 como uma matriz de entradas de MIB_IPFORWARD_ROW2 .

A função GetIpForwardEntry2 recupera uma única entrada de rota IP e retorna essas informações em uma estrutura MIB_IPFORWARD_ROW2 .

Uma entrada com o Prefixo e os membros PrefixLength do IP_ADDRESS_PREFIX definida como zero no membro DestinationPrefix na estrutura MIB_IPFORWARD_ROW2 é considerada uma rota padrão. O MIB_IPFORWARD_TABLE2 pode conter várias entradas MIB_IPFORWARD_ROW2 com o Prefixo e os membros PrefixLength do IP_ADDRESS_PREFIX definido como zero no membro DestinationPrefix quando houver vários adaptadores de rede instalados.

O membro Métrica de uma entrada de MIB_IPFORWARD_ROW2 é um valor atribuído a uma rota IP para um adaptador de rede específico que identifica o custo associado ao uso dessa rota. Por exemplo, a métrica pode ser valorizada em termos de velocidade do link, contagem de saltos ou atraso de tempo. A métrica automática é um recurso no Windows XP e posterior que configura automaticamente a métrica para as rotas locais baseadas na velocidade do link. O recurso de métrica automática é habilitado por padrão (o membro UseAutomaticMetric da estrutura MIB_IPINTERFACE_ROW é definido como TRUE) no Windows XP e posterior. Ele também pode ser configurado manualmente para atribuir uma métrica específica a uma rota IP.

A métrica de rota especificada no membro Métrica da estrutura MIB_IPFORWARD_ROW2 representa apenas o deslocamento de métrica de rota. A métrica completa é uma combinação desse deslocamento de métrica de rota adicionada à métrica de interface especificada no membro Métrica da estrutura MIB_IPINTERFACE_ROW da interface associada. Um aplicativo pode recuperar a métrica de interface chamando a função GetIpInterfaceEntry .

Observe que o arquivo de cabeçalho Netioapi.h é incluído automaticamente no arquivo de cabeçalho Iphlpapi.h . O arquivo de cabeçalho Netioapi.h nunca deve ser usado diretamente.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows Vista [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2008 [somente aplicativos da área de trabalho]
Cabeçalho netioapi.h (inclua Iphlpapi.h)

Confira também

CreateIpForwardEntry2

DeleteIpForwardEntry2

GetIpForwardEntry2

GetIpForwardTable2

GetIpInterfaceEntry

IP_ADDRESS_PREFIX

MIB_IPFORWARD_TABLE2

MIB_IPINTERFACE_ROW

SOCKADDR_INET

SetIpForwardEntry2