Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
A função CreateIpForwardEntry2 cria uma nova entrada de rota IP em um computador local.
Sintaxe
NETIOAPI_API CreateIpForwardEntry2(
_In_ const MIB_IPFORWARD_ROW2 *Row
);
Parâmetros
-
Linha [in]
Um ponteiro para uma entrada de estrutura MIB_IPFORWARD_ROW2 para uma entrada de rota IP.
Valor de retorno
CreateIpForwardEntry2 retorna STATUS_SUCCESS se a função for bem-sucedida.
Se a função falhar, CreateIpForwardEntry2 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:
Este erro é retornado se um ponteiro de NULL é passado no parâmetro de linha, o DestinationPrefix membro da estrutura de MIB_IPFORWARD_ROW2 apontado pelo parâmetro Row não foi especificado, o NextHop membro da estrutura MIB_IPFORWARD_ROW2 não foi especificado, ou ambos InterfaceLuid e InterfaceIndex membros da estrutura MIB_IPFORWARD_ROW2 não foram especificados. Esse erro também será retornado se o membro do PreferredLifetime especificado na estrutura MIB_IPFORWARD_ROW2 for maior que o membro ValidLifetime ou se o SitePrefixLength na estrutura MIB_IPFORWARD_ROW2 for maior do que o comprimento do prefixo especificado no membro DestinationPrefix. |
| STATUS_NOT_FOUND | A interface especificada não pôde ser encontrada. Este erro é retornado se a função não conseguir encontrar a interface de rede especificada pelo InterfaceLuid ou InterfaceIndex membro da estrutura de MIB_IPNET_ROW2 para a qual o parâmetro Row aponta. |
| STATUS_NOT_SUPPORTED | A solicitação não é suportada. Este erro é retornado se a interface especificada não suportar rotas. 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. |
| ERROR_OBJECT_ALREADY_EXISTS | O objeto já existe. Este erro é retornado se o DestinationPrefix membro da estrutura de MIB_IPFORWARD_ROW2 para a qual o parâmetro Row aponta for uma duplicata de uma entrada de rota IP existente na interface especificada pelo InterfaceLuid ou InterfaceIndex membro da estrutura MIB_IPFORWARD_ROW2. |
| Outros | Use a função FormatMessage para obter a cadeia de caracteres de mensagem para o erro retornado. |
Comentários
A função CreateIpForwardEntry2 é usada para adicionar uma nova entrada de endereço IP vizinho em um computador local. Use a funçãoInitializeIpForwardEntry para inicializar os membros de uma entrada de estrutura MIB_IPFORWARD_ROW2 com valores padrão. Um driver pode alterar os membros na entrada MIB_IPFORWARD_ROW2 que deseja modificar e, em seguida, chamar CreateIpForwardEntry2.
O driver deve inicializar os seguintes membros da estrutura de MIB_IPFORWARD_ROW2 para a qual o parâmetro Row aponta:
Defina DestinationPrefix como um prefixo de endereço IPv4 ou IPv6 válido.
Defina NextHop para um endereço IPv4 ou IPv6 válido e família.
Defina InterfaceLuid ou InterfaceIndex para o valor LUID ou índice da interface.
Os membros InterfaceLuid e InterfaceIndex são usados na ordem listada anteriormente. Portanto, se o InterfaceLuid for especificado, esse membro será usado para determinar a interface na qual adicionar a entrada de rota IP. 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 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 desse deslocamento da 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.
O Age e Origin membros da estrutura de MIB_IPFORWARD_ROW2 para a qual o parâmetro Row aponta são ignorados quando a função CreateIpForwardEntry2 é chamada. Esses membros são definidos pela pilha de rede e não podem ser definidos usando a função CreateIpForwardEntry2.
A função CreateIpForwardEntry2 falhará se o DestinationPrefix e NextHop membros da estrutura de MIB_IPFORWARD_ROW2 para a qual o parâmetro Row aponta são uma duplicata de uma entrada de rota IP existente na interface especificada no InterfaceLuid ou InterfaceIndex membros.