Função GetIpForwardTable2 (netioapi.h)

A função GetIpForwardTable2 recupera as entradas de rota IP no computador local.

Sintaxe

IPHLPAPI_DLL_LINKAGE _NETIOAPI_SUCCESS_ NETIOAPI_API GetIpForwardTable2(
  [in]  ADDRESS_FAMILY        Family,
  [out] PMIB_IPFORWARD_TABLE2 *Table
);

Parâmetros

[in] Family

A família de endereços a ser recuperada.

Os valores possíveis para a família de endereços são listados no arquivo de cabeçalho Winsock2.h . Observe que os valores para a família de endereços AF_ e as constantes da família de protocolos PF_ são idênticos (por exemplo, AF_INET e PF_INET), para que qualquer constante possa ser usada.

Na SDK do Windows lançada para o Windows Vista e posteriores, a organização dos arquivos de cabeçalho foi alterada e os valores possíveis para esse membro são definidos no arquivo de cabeçalho Ws2def.h. Observe que o arquivo de cabeçalho Ws2def.h é incluído automaticamente em Winsock2.h e nunca deve ser usado diretamente.

Atualmente, os valores com suporte são AF_INET, AF_INET6 e AF_UNSPEC.

Valor Significado
AF_UNSPEC
0
A família de endereços não é especificada. Quando esse parâmetro é especificado, essa função retorna a tabela de roteamento de IP que contém entradas IPv4 e IPv6.
AF_INET
2
A família de endereços IPv4 (Protocolo de Internet versão 4). Quando esse parâmetro é especificado, essa função retorna a tabela de roteamento de IP que contém apenas entradas IPv4.
AF_INET6
23
A família de endereços IPv6 (Internet Protocol versão 6). Quando esse parâmetro é especificado, essa função retorna a tabela de roteamento ip que contém apenas entradas IPv6.

[out] Table

Um ponteiro para uma estrutura MIB_IPFORWARD_TABLE2 que contém uma tabela de entradas de rota IP no computador local.

Retornar valor

Se a função for bem-sucedida, o valor retornado será NO_ERROR.

Se a função falhar, o valor retornado será um dos seguintes códigos de erro.

Código de retorno Descrição
ERROR_INVALID_PARAMETER
Um parâmetro inválido foi passado para a função. Esse erro será retornado se um ponteiro NULL for passado no parâmetro Table ou o parâmetro Family não tiver sido especificado como AF_INET, AF_INET6 ou AF_UNSPEC.
ERROR_NOT_ENOUGH_MEMORY
Recursos de memória insuficientes estão disponíveis para concluir a operação.
ERROR_NOT_FOUND
Nenhuma entrada de rota IP, conforme especificado no parâmetro Family , foi encontrada.
ERROR_NOT_SUPPORTED
A solicitação não terá suporte. Esse erro será retornado se nenhuma pilha IPv4 estiver no computador local e AF_INET tiver sido especificado no parâmetro Family . Esse erro também será retornado se nenhuma pilha IPv6 estiver no computador local e AF_INET6 tiver sido especificado no parâmetro Family . Esse erro também é retornado em versões do Windows em que essa função não tem suporte.
Outros
Use FormatMessage para obter a cadeia de caracteres de mensagem para o erro retornado.

Comentários

A função GetIpForwardTable2 é definida no Windows Vista e posterior.

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

As entradas de rota IP são retornadas em uma estrutura MIB_IPFORWARD_TABLE2 no buffer apontado pelo parâmetro Table . A estrutura MIB_IPFORWARD_TABLE2 contém uma contagem de entradas de rota IP e uma matriz de estruturas de MIB_IPFORWARD_ROW2 para cada entrada de rota IP. Quando essas estruturas retornadas não forem mais necessárias, libere a memória chamando FreeMibTable.

O parâmetro Family deve ser inicializado para AF_INET, AF_INET6 ou AF_UNSPEC.

Observe que a estrutura de MIB_IPFORWARD_TABLE2 retornada apontada pelo parâmetro Table pode conter preenchimento para alinhamento entre o membro NumEntries e a primeira entrada de matriz MIB_IPFORWARD_ROW2 no membro Table da estrutura MIB_IPFORWARD_TABLE2 . O preenchimento para alinhamento também pode estar presente entre as entradas da matriz MIB_IPFORWARD_ROW2 . Qualquer acesso a uma entrada de matriz MIB_IPFORWARD_ROW2 deve pressupor que o preenchimento possa existir.

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]
Plataforma de Destino Windows
Cabeçalho netioapi.h (inclua Iphlpapi.h)
Biblioteca Iphlpapi.lib
DLL Iphlpapi.dll

Confira também

CreateIpForwardEntry2

DeleteIpForwardEntry2

FreeMibTable

GetBestRoute2

GetIpForwardEntry2

InitializeIpForwardEntry

MIB_IPFORWARD_ROW2

MIB_IPFORWARD_TABLE2

NotifyRouteChange2

SetIpForwardEntry2