Partilhar via


Função GetMulticastIpAddressTable

O função GetMulticastIpAddressTable recupera a tabela de endereços IP de 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 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. 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.

Valor de retorno

GetMulticastIpAddressTable retorna 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. 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

Não foram encontradas entradas de endereço IP anycast, conforme especificado no parâmetro da família.

STATUS_NOT_SUPPORTED

A solicitação não é suportada. Este erro é retornado se nenhuma pilha IPv4 estiver localizada no computador local e AF_INET foi especificada no parâmetro Família ou se nenhuma pilha IPv6 estiver localizada no computador local e AF_INET6 foi especificada no parâmetro Família. 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 GetMulticastIpAddressTable do enumera os endereços IP de multicast em um computador local e retorna essas informações em uma estrutura MIB_MULTICASTIPADDRESS_TABLE.

GetMulticastIpAddressTable retorna as entradas de endereço IP de multicast em uma estrutura de MIB_MULTICASTIPADDRESS_TABLE no buffer para o qual o parâmetro Table aponta. A estrutura MIB_MULTICASTIPADDRESS_TABLE contém uma contagem de entrada 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 são mais necessárias, seu driver deve liberar a memória chamando FreeMibTable.

O driver deve inicializar o parâmetro Família para AF_INET, AF_INET6 ou AF_UNSPEC.

Observe que a estrutura de MIB_MULTICASTIPADDRESS_TABLE retornada para a qual o parâmetro Tabela aponta pode conter preenchimento para alinhamento entre o membro NumEntries e a primeira entrada de matriz MIB_MULTICASTIPADDRESS_ROW na Tabela membro 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.

Requerimentos

Plataforma de destino

Universal

Versão

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

Cabeçalho

Netioapi.h (inclui Netioapi.h)

Biblioteca

Netio.lib

IRQL

< DISPATCH_LEVEL

Ver também

GetMulticastIpAddressEntry

MIB_MULTICASTIPADDRESS_ROW

MIB_MULTICASTIPADDRESS_TABLE