Compartilhar via


Função CreateIpNetEntry2

A função CreateIpNetEntry2 cria uma nova entrada de endereço IP vizinho no computador local.

Sintaxe

NETIOAPI_API CreateIpNetEntry2(
  _In_ const MIB_IPNET_ROW2 *Row
);

Parâmetros

  • linha [in]
    Um ponteiro para uma entrada de estrutura MIB_IPNET_ROW2 para uma entrada de rota IP.

Valor de retorno

CreateIpNetEntry2 retornará STATUS_SUCCESS se a função for bem-sucedida.

Se a função falhar, CreateIpNetEntry2 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 ocorrer um dos seguintes itens:

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

  • O Address membro da estrutura MIB_IPNET_ROW2 à qual o parâmetro linha não foi definido como um endereço IPv4 ou IPv6 unicast, anycast ou multicast válido.

  • Os membros PhysicalAddress e PhysicalAddressLength da estrutura MIB_IPNET_ROW2 não foram definidos como um endereço físico válido.

  • Os membros InterfaceLuid e InterfaceIndex da estrutura MIB_IPNET_ROW2 não foram especificados.

  • Um endereço de loopback foi passado no membro endereço.

STATUS_NOT_FOUND

Não foi possível encontrar a interface especificada. Esse erro será retornado se a função não puder encontrar a interface de rede especificada pelo InterfaceLuid ou membro interfaceIndex da estrutura MIB_IPNET_ROW2 à qual o parâmetro linha aponta.

STATUS_NOT_SUPPORTED

Não há suporte para a solicitação. Esse erro será retornado se nenhuma pilha IPv4 estiver localizada no computador local e um endereço IPv4 tiver sido especificado no Address membro da estrutura MIB_IPNET_ROW2 que o parâmetro Row aponta ou se nenhuma pilha IPv6 estiver localizada no computador local e um endereço IPv6 tiver sido especificado no membro endereço.

ERROR_OBJECT_ALREADY_EXISTS

O objeto já existe. Esse erro será retornado se o de Endereço membro da estrutura MIB_IPNET_ROW2 à qual o parâmetro Linha aponta for uma duplicata de um endereço IP vizinho existente na interface especificada pelo interfaceLuid ou membro InterfaceIndex da estrutura MIB_IPNET_ROW2.

Outros

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

Observações

O driver deve inicializar os seguintes membros da estrutura de MIB_IPNET_ROW2 para os quais o parâmetro linha aponta para:

  • Defina o Address membro para um endereço IPv4 ou IPv6 de IPv4 ou IPv6 válido.

  • Defina os membros PhysicalAddress e PhysicalAddressLeng th na estrutura MIB_IPNET_ROW2 como um endereço físico válido.

  • Defina InterfaceLuid ou InterfaceIndex com o LUID ou o valor de í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 o endereço IP unicast. Se nenhum valor tiver sido definido para o membro InterfaceLuid (o valor desse membro foi definido como zero), o membro InterfaceIndex será usado em seguida para determinar a interface.

A função CreateIpNetEntry2 falhará se o endereço IP que é passado no endereço membro da estrutura MIB_IPNET_ROW2 à qual o parâmetro Row aponta ser uma duplicata de um endereço IP vizinho existente na interface.

Requisitos

Plataforma de destino

Universal

Versão

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

Cabeçalho

Netioapi.h (inclua Netioapi.h)

Biblioteca

Netio.lib

IRQL

< DISPATCH_LEVEL

Consulte também

DeleteIpNetEntry2

FlushIpNetTable2

GetIpNetEntry2

GetIpNetTable2

MIB_IPNET_ROW2

MIB_IPNET_TABLE2

ResolveIpNetEntry2

SetIpNetEntry2