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 GetIpInterfaceTable recupera as entradas da interface IP em um computador local.
Sintaxe
NETIOAPI_API GetIpInterfaceTable(
_In_ ADDRESS_FAMILY Family,
_Out_ PMIB_IPINTERFACE_TABLE *Table
);
Parâmetros
Família [in]
A família de endereços de interfaces IP a serem recuperadas.Os valores possíveis para a família de endereços estão listados no arquivo de cabeçalho Winsock2.h. Observe que os valores para a família de endereços AF_ e as constantes da família PF_ protocolo são idênticos (por exemplo, AF_INET e PF_INET), portanto, você pode usar qualquer constante.
No Windows Vista e versões posteriores dos sistemas operacionais Windows, os valores possíveis para o parâmetro da família são definidos no arquivo de cabeçalho Ws2def.h. Observe que o arquivo de cabeçalho Ws2def.h é incluído automaticamente no Netioapi.h e você nunca deve usar Ws2def.h diretamente.
Os seguintes valores são atualmente suportados para a família de endereços:
AF_INET
A família de endereços IPv4.AF_INET6
A família de endereços IPv6.AF_UNSPEC
A família de endereços não é especificada. Quando esse valor é especificado, a função GetIpInterfaceTable retorna a tabela de interface IP que contém entradas IPv4 e IPv6.
Tabela [out]
Um ponteiro para um buffer que recebe a tabela de entradas da interface IP em uma estrutura MIB_IPINTERFACE_TABLE.
Valor de retorno
GetIpInterfaceTable retorna STATUS_SUCCESS se a função for bem-sucedida.
Se a função falhar, GetIpInterfaceTable 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 Tabela ou se o parâmetro Família não tiver sido especificado como AF_INET, AF_INET6 ou AF_UNSPEC. |
| STATUS_NOT_ENOUGH_MEMORY | Recursos de memória insuficientes estão disponíveis para concluir a operação. |
| STATUS_NOT_FOUND | Nenhuma entrada de interface IP, conforme especificado no parâmetro Family, foi encontrada. |
| STATUS_NOT_SUPPORTED | A função não é suportada. Este erro é retornado quando o transporte IP especificado no parâmetro Address não está configurado no computador local. Este erro também é retornado em versões do Windows onde esta função não é suportada. |
| Outros | Use a função FormatMessage para obter a cadeia de caracteres de mensagem para o erro retornado. |
Comentários
A função GetIpInterfaceTable enumera as interfaces IP em um computador local e retorna essas informações em uma estrutura MIB_IPINTERFACE_TABLE.
GetIpInterfaceTable retorna entradas de interface IP em uma estrutura de MIB_IPINTERFACE_TABLE no buffer para o qual o parâmetro Tabela aponta. A estrutura MIB_IPINTERFACE_TABLE contém uma contagem de entrada de interface IP e uma matriz de estruturas de MIB_IPINTERFACE_ROW para cada entrada de interface IP. Quando essas estruturas retornadas não são mais necessárias, o driver deve liberar a memória chamando a funçãoFreeMibTable.
O driver deve inicializar o parâmetro Family para AF_INET ou AF_INET6.
Observe que a estrutura de MIB_IPINTERFACE_TABLE retornada para a qual o parâmetro Table aponta pode conter preenchimento para alinhamento entre o membro NumEntries e a primeira entrada de matriz MIB_IPINTERFACE_ROW na Table membro da estrutura MIB_IPINTERFACE_TABLE. O preenchimento para alinhamento também pode estar presente entre as entradas da matriz MIB_IPINTERFACE_ROW. Qualquer acesso a uma entrada de matriz MIB_IPINTERFACE_ROW deve pressupor que o preenchimento possa existir.