Função GetMulticastIpAddressTable
A função GetMulticastIpAddressTable recupera a tabela de endereços IP multicast em um computador local.
Sintaxe
NETIOAPI_API GetMulticastIpAddressTable(
_In_ ADDRESS_FAMILY Family,
_Out_ PMIB_MULTICASTIPADDRESS_TABLE *Table
);
Parâmetros
Família [in]
A família de endereços a ser recuperada.Os valores possíveis para a família de endereços sã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 de protocolos PF_ são idênticos (por exemplo, AF_INET e PF_INET), para que você possa usar qualquer constante.
No Windows Vista e versões posteriores dos sistemas operacionais Windows, os valores possíveis para o parâmetro Family são definidos no arquivo de cabeçalho Ws2def.h. Observe que o arquivo de cabeçalho Ws2def.h é incluído automaticamente em Netioapi.h e você nunca deve usar o Ws2def.h diretamente.
No momento, há suporte para os seguintes valores para a família de endereços:
AF_INET
A família de endereços IPv4. Quando esse valor é especificado, essa função retorna a tabela de endereços IP multicast que contém apenas entradas IPv4.AF_INET6
A família de endereços IPv6. Quando esse valor é especificado, essa função retorna a tabela de endereços IP multicast que contém apenas entradas IPv6.AF_UNSPEC
A família de endereços não é especificada. Quando esse valor é especificado, essa função retorna a tabela de endereços IP multicast que contém entradas IPv4 e IPv6.
Tabela [out]
Um ponteiro para uma estrutura MIB_MULTICASTIPADDRESS_TABLE que contém uma tabela de entradas de endereço IP anycast no computador local.
Retornar valor
GetMulticastIpAddressTable retornará STATUS_SUCCESS se a função for bem-sucedida.
Se a função falhar, GetMulticastIpAddressTable 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 Table ou o parâmetro Family 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 endereço IP anycast, conforme especificado no parâmetro Family , foi encontrada. |
STATUS_NOT_SUPPORTED | A solicitação não terá suporte. Esse erro será retornado se nenhuma pilha IPv4 estiver localizada no computador local e AF_INET tiver sido especificado no parâmetro Family ou se nenhuma pilha IPv6 estiver localizada no computador local e AF_INET6 tiver sido especificada no parâmetro Family . Esse erro também é retornado em versões do Windows em que essa função não tem suporte. |
Outros | Use a função FormatMessage para obter a cadeia de caracteres de mensagem para o erro retornado. |
Comentários
A função GetMulticastIpAddressTable enumera os endereços IP multicast em um computador local e retorna essas informações em uma estrutura MIB_MULTICASTIPADDRESS_TABLE .
GetMulticastIpAddressTable retorna as entradas de endereço IP multicast em uma estrutura MIB_MULTICASTIPADDRESS_TABLE no buffer para o qual o parâmetro Table aponta. A estrutura MIB_MULTICASTIPADDRESS_TABLE contém uma contagem de entradas de endereço IP multicast e uma matriz de estruturas de MIB_MULTICASTIPADDRESS_ROW para cada entrada de endereço IP multicast. Quando essas estruturas retornadas não forem mais necessárias, o driver deverá liberar a memória chamando FreeMibTable.
O driver deve inicializar o parâmetro Family para AF_INET, AF_INET6 ou AF_UNSPEC.
Observe que a estrutura de MIB_MULTICASTIPADDRESS_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_MULTICASTIPADDRESS_ROW no membro Table da estrutura MIB_MULTICASTIPADDRESS_TABLE. O preenchimento para alinhamento também pode estar presente entre as entradas da matriz MIB_MULTICASTIPADDRESS_ROW. Qualquer acesso a uma entrada de matriz MIB_MULTICASTIPADDRESS_ROW deve pressupor que o preenchimento possa existir.
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 |