Compartilhar via


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.

Valor Significado
MIB_IPROUTE_TYPE_OTHER
1
Algum outro tipo não especificado no RFC 1354.
MIB_IPROUTE_TYPE_INVALID
2
Uma rota inválida. Esse valor pode resultar de uma rota adicionada por um redirecionamento ICMP.
MIB_IPROUTE_TYPE_DIRECT
3
Uma rota local em que o próximo salto é o destino final (uma interface local).
MIB_IPROUTE_TYPE_INDIRECT
4
A rota remota em que o próximo salto não é o destino final (um destino remoto).

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
MIB_IPPROTO_OTHER
1
Algum outro protocolo não especificado no RFC 1354.
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 SNMP (Simple Network Management Protocol) ou chamadas para as funções CreateIpForwardEntry, DeleteIpForwardEntry ou SetIpForwardEntry .
MIB_IPPROTO_ICMP
4
O resultado do redirecionamento do 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 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 (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).
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 (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)

Confira também

Createipforwardentry

DeleteIpForwardEntry

GetIpForwardTable

GetIpInterfaceEntry

MIB_IPFORWARDTABLE

MIB_IPINTERFACE_ROW

Identificadores de protocolo

SetIpForwardEntry