Compartilhar via


estrutura IPV6_MREQ (ws2ipdef.h)

A estrutura ipv6_mreq fornece informações de grupo multicast para endereços IPv6.

Sintaxe

typedef struct ipv6_mreq {
  IN6_ADDR ipv6mr_multiaddr;
  ULONG    ipv6mr_interface;
} IPV6_MREQ, *PIPV6_MREQ;

Membros

ipv6mr_multiaddr

O endereço do grupo multicast IPv6.

ipv6mr_interface

O índice de interface da interface local na qual o grupo multicast deve ser unido ou descartado. Se esse membro especificar um índice de interface 0, a interface multicast padrão será usada.

Comentários

A estrutura ipv6_mreq é usada com endereços IPv6. A estrutura ipv6_mreq é usada com as opções de soquete IPV6_ADD_MEMBERSHIP, IPV6_DROP_MEMBERSHIP, IPV6_JOIN_GROUP e IPV6_LEAVE_GROUP . As opções de soquete IPV6_JOIN_GROUP e IPV6_ADD_MEMBERSHIP são definidas como as mesmas. As opções de soquete IPV6_LEAVE_GROUP e IPV6_DROP_MEMBERSHIP são definidas como as mesmas.

No Windows Vista e posteriores, um conjunto de opções de soquete está disponível para programação multicast que dá suporte a endereços IPv6 e IPv4. Essas opções de soquete são independentes de IP e podem ser usadas no IPv6 e no IPv4. Essas opções independentes de IP usam o GROUP_REQ e as estruturas de GROUP_SOURCE_REQ e são as opções de soquete preferenciais para programação multicast no Windows Vista e posterior.

A estrutura ipv6_mreq é o equivalente IPv6 da estrutura de ip_mreq baseada em IPv4.

A função GetAdaptersAddresses pode ser usada para obter informações de índice de interface necessárias para o membro ipv6mr_interface .

A estrutura ipv6_mreq e as opções de soquete de nível IPPROTO_IPV6 que usam essa estrutura só são válidas em soquetes brutos e datagramas (o tipo de soquete deve ser SOCK_DGRAM ou SOCK_RAW).

É recomendável que um índice de interface IPv6 local sempre seja especificado no membro ipv6mr_interface da estrutura ipv6_mreq , em vez de usar a interface padrão. Isso é particularmente importante em computadores com vários adaptadores de rede e vários endereços IPv6 públicos.

A interface padrão usada para multicast IPv6 é determinada pela pilha de rede no Windows. No Windows Vista e posterior, um aplicativo pode determinar a interface padrão usada para multicast IPv6 usando a função GetIpForwardTable2 para recuperar a tabela de roteamento IPv6. O adaptador de rede com o menor valor para a métrica de roteamento para um endereço multicast IPv6 de destino (o bloco de endereços IPv6 FF00::/8) é a interface padrão para multicast IPv6. A tabela de roteamento também pode ser exibida no prompt de comando com o seguinte comando:

imprimir rota

A opção de soquete IPV6_MULTICAST_IF pode ser usada para definir a interface padrão para enviar pacotes multicast IPv6. Essa opção de soquete não altera a interface padrão usada para receber pacotes multicast IPv6.

Um aplicativo multicast IPv6 típico usaria a opção de soquete IPV6_ADD_MEMBERSHIP ou IPV6_JOIN_GROUP com a estrutura ipv6_mreq para unir um grupo multicast e escutar pacotes multicast em uma interface específica. A opção IPV6_MULTICAST_IF soquete seria usada para definir a interface para enviar pacotes multicast IPv6 para o grupo multicast. O cenário mais comum seria um aplicativo multicast que escuta e envia na mesma interface para um grupo multicast. Vários soquetes podem ser usados por um aplicativo multicast com um soquete para escuta e um ou mais soquetes para envio.

No Microsoft Software Development Kit do Windows (SDK do Windows) (SDK) lançado para Windows Vista e posterior, a organização de arquivos de cabeçalho foi alterada e a estrutura ipv6_mreq é definida no arquivo de cabeçalho Ws2ipdef.h, que é incluído automaticamente no arquivo de cabeçalho Ws2tcpip.h. Os arquivos de cabeçalho Ws2ipdef.h nunca devem ser usados diretamente.

Nota A estrutura derivada PIP6_MREQ só é definida na SDK do Windows lançada com o Windows Vista e posterior. O GROUP_REQ e as estruturas de GROUP_SOURCE_REQ e são as opções de soquete preferenciais para programação multicast no Windows Vista e posterior.
 

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows XP [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2003 [somente aplicativos da área de trabalho]
Cabeçalho ws2ipdef.h (include Ws2tcpip.h)

Confira também

GROUP_REQ

GROUP_SOURCE_REQ

Getadaptersaddresses

GetIpForwardTable2

Opções de soquete IPPROTO_IPV6

Programação multicast

Opções de soquete

ip_mreq