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 SetIpInterfaceEntry define as propriedades de uma interface IP em um computador local.
Sintaxe
NETIOAPI_API SetIpInterfaceEntry(
_Inout_ PMIB_IPINTERFACE_ROW Row
);
Parâmetros
-
Linha [entrada, saída]
Um ponteiro para uma entrada de estrutura MIB_IPINTERFACE_ROW para uma interface. Na entrada, o driver deve definir o membro Family do MIB_IPINTERFACE_ROW como AF_INET6 ou AF_INET e o driver deve especificar o membro InterfaceLuid ou o InterfaceIndex membro do MIB_IPINTERFACE_ROW. Em um retorno bem-sucedido, o InterfaceLuid membro do MIB_IPINTERFACE_ROW é preenchido se o InterfaceIndex membro da entrada MIB_IPINTERFACE_ROW foi especificado.
Valor de retorno
SetIpInterfaceEntry retornará STATUS_SUCCESS se a função for bem-sucedida.
Se a função falhar, SetIpInterfaceEntry 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 um ponteiro de NULL for passado no parâmetro Row, o Family membro da estrutura de MIB_IPINTERFACE_ROW para o qual o parâmetro Row aponta não foi especificado como AF_INET ou AF_INET6, ou ambos InterfaceLuid e InterfaceIndex membros da estrutura MIB_IPINTERFACE_ROW não foram especificados. |
| 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_IPINTERFACE_ROW para a qual o parâmetro Row aponta. |
| Outros | Use a função FormatMessage para obter a cadeia de caracteres de mensagem para o erro retornado. |
Comentários
Seu driver deve usar a funçãoInitializeIpInterfaceEntry para inicializar os campos de uma entrada de estrutura MIB_IPINTERFACE_ROW com valores padrão. Um driver pode alterar os campos na entrada MIB_IPINTERFACE_ROW que deseja modificar e, em seguida, chamar a função SetIpInterfaceEntry.
Na entrada, o driver deve inicializar os seguintes membros da estrutura de MIB_IPINTERFACE_ROW para a qual o parâmetro Row aponta.
para famílias
Defina como AF_INET ou AF_INET6.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, o InterfaceLuid membro da estrutura de MIB_IPINTERFACE_ROW para a qual o parâmetro Row aponta é preenchido se o InterfaceIndex foi especificado.
SetIpInterfaceEntry ignora o MaxReassemblySize, MinRouterAdvertisementInterval, MaxRouterAdvertisementInterval, Connected, SupportsWakeUpPatterns, SupportsNeighborDiscovery, SupportsRouterDiscovery, ReachableTime, TransmitOffloade ReceiveOffload membros da estrutura de MIB_IPINTERFACE_ROW 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 SetIpInterfaceEntry.
O acesso simultâneo não privilegiado a várias redes de diferentes requisitos de segurança cria uma falha de segurança e permite que um driver sem privilégios retransmita acidentalmente dados entre as duas redes. Um exemplo típico é o acesso simultâneo a uma rede virtual privada (VPN) e à Internet. Os sistemas operacionais Windows Server 2003 e Windows XP usam um modelo de host fraco, onde o Serviço de Acesso Remoto (RAS) impede esse acesso simultâneo aumentando a métrica de rota de todas as rotas padrão em outras interfaces. Portanto, todo o tráfego é roteado através da interface VPN, interrompendo outra conectividade de rede.
No Windows Vista e versões posteriores dos sistemas operacionais Windows, por padrão, um modelo de host forte é usado. Se um endereço IP de origem for especificado na pesquisa de rota usando a funçãoGetBestRoute2, a pesquisa de rota será restrita à interface do endereço IP de origem. A modificação da métrica de rota pelo RAS não tem efeito porque a lista de rotas potenciais nem sequer tem a rota para a interface VPN, que permite o tráfego para a Internet. Seu driver pode usar o DisableDefaultRoutes membro da estrutura MIB_IPINTERFACE_ROW para desativar usando a rota padrão em uma interface. Os clientes VPN podem usar esse membro como uma medida de segurança para restringir o túnel dividido quando o túnel dividido não é exigido pelo cliente VPN. Um cliente VPN pode chamar o função SetIpInterfaceEntry para definir o membro DisableDefaultRoutes para TRUE quando necessário. Um cliente VPN pode consultar o estado atual do membro DisableDefaultRoutes chamando a funçãoGetIpInterfaceEntry.