Função MgmAddGroupMembershipEntry (mgm.h)
A função MgmAddGroupMembershipEntry notifica o gerenciador de grupo multicast de que há novos receptores para os grupos especificados na interface especificada. Os receptores podem restringir o conjunto de fontes das quais devem receber dados multicast especificando um intervalo de origem.
Um protocolo de roteamento multicast chama essa função quando é notificado de que há receptores para um grupo multicast em uma interface. O protocolo deve chamar essa função para que os dados multicast possam ser encaminhados por meio de uma interface.
Sintaxe
DWORD MgmAddGroupMembershipEntry(
[in] HANDLE hProtocol,
[in] DWORD dwSourceAddr,
[in] DWORD dwSourceMask,
[in] DWORD dwGroupAddr,
[in] DWORD dwGroupMask,
[in] DWORD dwIfIndex,
[in] DWORD dwIfNextHopIPAddr,
[in] DWORD dwFlags
);
Parâmetros
[in] hProtocol
Manipule para o protocolo obtido de uma chamada anterior para MgmRegisterMProtocol.
[in] dwSourceAddr
Especifica o endereço de origem do qual receber dados multicast. Especifique zero para receber dados de todas as fontes (um receptor curinga para um grupo); caso contrário, especifique o endereço IP da rede de origem ou de origem.
Para especificar um intervalo de endereços de origem, especifique a rede de origem usando dwSourceAddr e especifique uma máscara de sub-rede usando dwSourceMask.
[in] dwSourceMask
Especifica a máscara de sub-rede que corresponde a dwSourceAddr. Os parâmetros dwSourceAddr e dwSourceMask são usados juntos para definir um intervalo de fontes das quais receber dados multicast.
Especifique zero para esse parâmetro se zero tiver sido especificado para dwSourceAddr (um receptor curinga).
[in] dwGroupAddr
Especifica o grupo multicast para o qual receber dados. Especifique zero para receber todos os grupos (um receptor curinga); caso contrário, especifique o endereço IP do grupo.
Para especificar um intervalo de endereços de grupo, especifique o endereço do grupo usando dwGroupAddr e especifique uma máscara de sub-rede usando dwGroupMask.
[in] dwGroupMask
Especifica a máscara de sub-rede que corresponde a dwGroupAddr. Os parâmetros dwGroupAddr e dwGroupMask são usados juntos para definir um intervalo de grupos multicast.
Especifique zero para esse parâmetro se zero tiver sido especificado para dwGroupAddr (um receptor curinga).
[in] dwIfIndex
Especifica a interface na qual adicionar a associação de grupo. Os dados multicast para os grupos especificados serão encaminhados por essa interface.
[in] dwIfNextHopIPAddr
Especifica o endereço do próximo salto que corresponde ao índice especificado por dwIfIndex. Os parâmetros dwIfIndex e dwIfNextHopIPAddr identificam exclusivamente um próximo salto em interfaces ponto a ponto. Uma interface ponto a ponto é uma conexão em que uma interface se conecta a várias redes. Exemplos de interfaces ponto a multipoint incluem interfaces NBMA (acesso múltiplo não difundido) e a interface interna na qual todos os clientes discados se conectam.
Para interfaces de difusão (como interfaces Ethernet) ou interfaces ponto a ponto, que são identificadas apenas pelo valor de dwIfIndex, especifique zero.
[in] dwFlags
Especifica qualquer processamento adicional que deve ocorrer quando a associação ao grupo é adicionada. Os valores válidos são:
Retornar valor
Se a função for bem-sucedida, o valor retornado será NO_ERROR.
Se a função falhar, o valor retornado será um dos seguintes códigos de erro.
Valor | Significado |
---|---|
|
Não foi possível concluir a chamada para essa função. |
|
Identificador inválido para o protocolo. |
|
Memória insuficiente para concluir esta operação. |
Comentários
Esta versão da API MGM dá suporte apenas a fontes curinga ou fontes específicas, não a uma variedade de fontes. A mesma restrição se aplica a grupos, ou seja, nenhum intervalo de grupo é permitido.
Quando essa função é chamada, o gerenciador de grupo multicast pode invocar o retorno de chamada PMGM_JOIN_ALERT_CALLBACK para notificar outros protocolos de roteamento de que há novos receptores para o grupo especificado.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Nenhum compatível |
Servidor mínimo com suporte | Windows 2000 Server [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | mgm.h |
Biblioteca | Rtm.lib |
DLL | Rtm.dll |