Partilhar via


Função GetIpForwardEntry2

A função GetIpForwardEntry2 recupera informações para uma entrada de rota IP em um computador local.

Sintaxe

NETIOAPI_API GetIpForwardEntry2(
  _Inout_ PMIB_IPFORWARD_ROW2 Row
);

Parâmetros

  • Linha [entrada, saída]
    Um ponteiro para uma entrada de estrutura MIB_IPFORWARD_ROW2 para uma entrada de rota IP. No retorno bem-sucedido, essa estrutura é atualizada com as propriedades para a entrada de rota IP.

Valor de retorno

GetIpForwardEntry2 retorna STATUS_SUCCESS se a função for bem-sucedida.

Se a função falhar, GetIpForwardEntry2 retornará um dos seguintes códigos de erro:

Código de retorno Descrição
STATUS_INVALID_PARAMETER

Um parâmetro inválido foi passado para a função. Este erro é retornado se ocorrer uma das seguintes situações:

  • Um ponteiro de NULL é passado no parâmetro Row.

  • O DestinationPrefix membro da estrutura de MIB_IPFORWARD_ROW2 para a qual o parâmetro Row aponta não foi especificado.

  • O NextHop membro da estrutura MIB_IPFORWARD_ROW2 não foi especificado.

  • Tanto InterfaceLuid quanto InterfaceIndex membros da estrutura MIB_IPFORWARD_ROW2 não foram especificados.

  • O membro PreferredLifetime da estrutura MIB_IPFORWARD_ROW2 é maior do que o membro ValidLifetime.

  • O SitePrefixLength membro da estrutura MIB_IPFORWARD_ROW2 é maior do que o comprimento do prefixo especificado pelo membro DestinationPrefix.

STATUS_NOT_FOUND

A interface especificada não pôde ser encontrada. Este erro é retornado se a função não puder encontrar a interface de rede especificada pelo InterfaceLuid ou InterfaceIndex membro da estrutura de MIB_IPFORWARD_ROW2 para a qual o parâmetro Row aponta.

STATUS_NOT_SUPPORTED

A solicitação não é suportada. Este erro será retornado se nenhuma pilha IPv4 estiver localizada no computador local e AF_INET foi especificada na família de endereços no DestinationPrefix membro da estrutura de MIB_IPFORWARD_ROW2 para a qual o parâmetro Row aponta ou se nenhuma pilha IPv6 estiver localizada no computador local e AF_INET6 tiver sido especificada para a família de endereços no membro DestinationPrefix.

Outros

Use a função FormatMessage para obter a cadeia de caracteres de mensagem para o erro retornado.

Comentários

O função GetIpForwardEntry2 é usado para recuperar uma entrada de estrutura MIB_IPFORWARD_ROW2.

Na entrada, o driver deve inicializar os seguintes membros da estrutura de MIB_IPFORWARD_ROW2 para a qual o parâmetro Row aponta.

  • DestinationPrefix
    Defina como um prefixo e uma família de endereços IPv4 ou IPv6 válidos.

  • NextHop
    Defina como um endereço e uma família IPv4 ou IPv6 válidos.

  • InterfaceLuid ou InterfaceIndex
    Esses membros são usados na ordem listada anteriormente. Portanto, se InterfaceLuid for especificado, esse membro será usado para determinar a interface. Se nenhum valor foi definido para o membro InterfaceLuid (o valor desse membro foi definido como zero), o membro InterfaceIndex será usado em seguida para determinar a interface.

Na saída, quando a chamada é bem-sucedida, GetIpForwardEntry2 recupera as outras propriedades para a entrada de rota IP e preenche a estrutura de MIB_IPFORWARD_ROW2 para a qual o parâmetro Linha aponta.

O deslocamento da métrica de rota especificado no Metric membro da estrutura de MIB_IPFORWARD_ROW2 que o parâmetro Row aponta representa apenas parte da métrica de rota completa. A métrica completa é uma combinação dessa métrica de rota adicionada à métrica de interface especificada na Métrica membro da estrutura MIB_IPINTERFACE_ROW da interface associada. Um driver pode recuperar a métrica da interface chamando a funçãoGetIpInterfaceEntry.

Seu driver pode chamar o função GetIpForwardTable2 para enumerar as entradas de rota IP em um computador local.

Requerimentos

Plataforma de destino

Universal

Versão

Disponível no Windows Vista e versões posteriores dos sistemas operacionais Windows.

Cabeçalho

Netioapi.h (inclui Netioapi.h)

Biblioteca

Netio.lib

IRQL

< DISPATCH_LEVEL

Ver também

CreateIpForwardEntry2

DeleteIpForwardEntry2

GetBestRoute2

GetIpForwardTable2

GetIpInterfaceEntry

InitializeIpForwardEntry

MIB_IPFORWARD_ROW2

MIB_IPFORWARD_TABLE2

MIB_IPINTERFACE_ROW

NotifyRouteChange2

SetIpForwardEntry2