Função SetIpForwardEntry2
A função SetIpForwardEntry2 define as propriedades de uma entrada de rota IP em um computador local.
Sintaxe
NETIOAPI_API SetIpForwardEntry2(
_In_ const MIB_IPFORWARD_ROW2 *Route
);
Parâmetros
- Rota [em]
Um ponteiro para uma entrada de estrutura MIB_IPFORWARD_ROW2 para uma entrada de rota IP. O driver deve definir o membro DestinationPrefix da estrutura MIB_IPFORWARD_ROW2 como um prefixo e família de destino IP válidos, definir o membro NextHop de MIB_IPFORWARD_ROW2 para um endereço IP e família válidos e especificar o membro InterfaceLuid ou o membro InterfaceIndex de MIB_IPFORWARD_ROW2.
Valor retornado
SetIpForwardEntry2 retornará STATUS_SUCCESS se a função for bem-sucedida.
Se a função falhar, SetIpForwardEntry2 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. Esse erro será retornado se um ponteiro NULL for passado no parâmetro Route, se o membro DestinationPrefix da estrutura MIB_IPFORWARD_ROW2 para a qual o parâmetro Route aponta não tiver sido especificado, se o membro NextHop da estrutura MIB_IPFORWARD_ROW2 não tiver sido especificado ou se os membros InterfaceLuid e InterfaceIndex da estrutura MIB_IPFORWARD_ROW2 não forem especificados. |
STATUS_NOT_FOUND | Não foi possível encontrar a interface especificado. Esse erro será retornado se a função não puder localizar a interface de rede especificada pelo membro InterfaceLuid ou InterfaceIndex da estrutura MIB_IPFORWARD_ROW2 para a qual o parâmetro Route aponta. |
Outras | Use a função FormatMessage para obter a cadeia de caracteres de mensagem para o erro retornado. |
Comentários
A função SetIpForwardEntry2 é usada para definir as propriedades de uma entrada de rota IP existente em um computador local.
O driver deve inicializar os seguintes membros da estrutura 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.PróximoSalto
Defina como um endereço IPv4 ou IPv6 válido e uma família.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.
O deslocamento da métrica de rota especificado no membro Metric da estrutura MIB_IPFORWARD_ROW2 para a qual o parâmetro Route aponta representa apenas parte da métrica de rota completa. A métrica completa é uma combinação desse deslocamento de métrica de rota adicionado à métrica de interface especificada no membro Métrica da estrutura MIB_IPINTERFACE_ROW da interface associada. Um driver pode recuperar a métrica de interface chamando a função GetIpInterfaceEntry.
SetIpForwardEntry2 ignora os membros Age e Origin da estrutura MIB_IPFORWARD_ROW2 para a qual o parâmetro Row aponta. Esses membros são definidos pela pilha de rede e não podem ser alterados usando a função SetIpForwardEntry2 .
A função SetIpForwardEntry2 falhará se os membros DestinationPrefix e NextHop da estrutura MIB_IPFORWARD_ROW2 que o parâmetro Route aponta para não corresponder a uma entrada de rota IP na interface especificada.
Requisitos
Plataforma de destino |
Universal |
Versão |
Disponível no Windows Vista e em versões posteriores dos sistemas operacionais Windows. |
Cabeçalho |
Netioapi.h (incluir Netioapi.h) |
Biblioteca |
Netio.lib |
IRQL |
< DISPATCH_LEVEL |