Partager via


Fonction MgmAddGroupMembershipEntry (mgm.h)

La fonction MgmAddGroupMembershipEntry avertit le gestionnaire de groupes de multidiffusion qu’il existe de nouveaux récepteurs pour les groupes spécifiés sur l’interface spécifiée. Les récepteurs peuvent restreindre l’ensemble des sources à partir desquelles ils doivent recevoir des données de multidiffusion en spécifiant une plage de sources.

Un protocole de routage multidiffusion appelle cette fonction lorsqu’il est averti qu’il existe des récepteurs pour un groupe de multidiffusion sur une interface. Le protocole doit appeler cette fonction afin que les données de multidiffusion puissent être transférées sur une interface.

Syntaxe

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
);

Paramètres

[in] hProtocol

Gérez le protocole obtenu à partir d’un appel précédent à MgmRegisterMProtocol.

[in] dwSourceAddr

Spécifie l’adresse source à partir de laquelle recevoir des données de multidiffusion. Spécifiez zéro pour recevoir les données de toutes les sources (un récepteur générique pour un groupe) ; sinon, spécifiez l’adresse IP du réseau source ou source.

Pour spécifier une plage d’adresses sources, spécifiez le réseau source à l’aide de dwSourceAddr et spécifiez un masque de sous-réseau à l’aide de dwSourceMask.

[in] dwSourceMask

Spécifie le masque de sous-réseau qui correspond à dwSourceAddr. Les paramètres dwSourceAddr et dwSourceMask sont utilisés ensemble pour définir une plage de sources à partir desquelles recevoir des données de multidiffusion.

Spécifiez zéro pour ce paramètre si zéro a été spécifié pour dwSourceAddr (récepteur de caractères génériques).

[in] dwGroupAddr

Spécifie le groupe de multidiffusion pour lequel recevoir des données. Spécifiez zéro pour recevoir tous les groupes (un récepteur générique) ; sinon, spécifiez l’adresse IP du groupe.

Pour spécifier une plage d’adresses de groupe, spécifiez l’adresse de groupe à l’aide de dwGroupAddr et spécifiez un masque de sous-réseau à l’aide de dwGroupMask.

[in] dwGroupMask

Spécifie le masque de sous-réseau qui correspond à dwGroupAddr. Les paramètres dwGroupAddr et dwGroupMask sont utilisés ensemble pour définir une plage de groupes de multidiffusion.

Spécifiez zéro pour ce paramètre si zéro a été spécifié pour dwGroupAddr (récepteur de caractères génériques).

[in] dwIfIndex

Spécifie l’interface sur laquelle ajouter l’appartenance au groupe. Les données de multidiffusion pour les groupes spécifiés sont transférées sur cette interface.

[in] dwIfNextHopIPAddr

Spécifie l’adresse du tronçon suivant qui correspond à l’index spécifié par dwIfIndex. Les paramètres dwIfIndex et dwIfNextHopIPAddr identifient de manière unique un tronçon suivant sur les interfaces point à multipoint. Une interface de point à multipoint est une connexion par laquelle une interface se connecte à plusieurs réseaux. Parmi les exemples d’interfaces point à multipoint, citons les interfaces NBMA (Non Broadcast Multiple Access) et l’interface interne à laquelle tous les clients d’accès à distance se connectent.

Pour les interfaces de diffusion (telles que les interfaces Ethernet) ou point à point, qui sont identifiées uniquement par la valeur de dwIfIndex, spécifiez zéro.

[in] dwFlags

Spécifie tout traitement supplémentaire qui doit avoir lieu lors de l’ajout de l’appartenance au groupe. Les valeurs autorisées sont :

Valeur Signification
MGM_JOIN_STATE_FLAG
Ajoutez l’appartenance au groupe pour la source et le groupe spécifiés. Mettez à jour toutes les entrées de transfert pour le groupe source spécifié afin de refléter cette modification dans l’appartenance au groupe.
MGM_FORWARD_STATE
Ajoutez l’interface spécifiée à la liste des interfaces sortantes pour l’entrée de transfert qui correspond à la source et au groupe spécifiés.

Valeur retournée

Si la fonction réussit, la valeur de retour est NO_ERROR.

Si la fonction échoue, la valeur de retour est l’un des codes d’erreur suivants.

Valeur Signification
ERROR_CAN_NOT_COMPLETE
Impossible de terminer l’appel à cette fonction.
ERROR_INVALID_PARAMETER
Handle non valide pour le protocole.
ERROR_NOT_ENOUGH_MEMORY
Mémoire insuffisante pour effectuer cette opération.
 
 

Remarques

Cette version de l’API MGM prend en charge uniquement les sources génériques ou des sources spécifiques, et non une plage de sources. La même restriction s’applique aux groupes, c’est-à-dire qu’aucune plage de groupes n’est autorisée.

Lorsque cette fonction est appelée, le gestionnaire de groupes de multidiffusion peut appeler le rappel PMGM_JOIN_ALERT_CALLBACK pour informer d’autres protocoles de routage qu’il existe de nouveaux récepteurs pour le groupe spécifié.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Aucun pris en charge
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
Plateforme cible Windows
En-tête mgm.h
Bibliothèque Rtm.lib
DLL Rtm.dll

Voir aussi

MgmDeleteGroupMembershipEntry

PMGM_JOIN_ALERT_CALLBACK