PMGM_JOIN_ALERT_CALLBACK fonction de rappel (mgm.h)
Le rappel PMGM_JOIN_ALERT_CALLBACK est un appel à un protocole de routage pour informer le protocole que de nouveaux récepteurs sont présents pour un ou plusieurs groupes sur des interfaces appartenant à d’autres protocoles de routage. Une fois qu’un protocole de routage reçoit ce rappel, il doit commencer à transférer les données de multidiffusion pour la source et le groupe spécifiés.
Syntaxe
PMGM_JOIN_ALERT_CALLBACK PmgmJoinAlertCallback;
DWORD PmgmJoinAlertCallback(
[in] DWORD dwSourceAddr,
[in] DWORD dwSourceMask,
[in] DWORD dwGroupAddr,
[in] DWORD dwGroupMask,
[in] BOOL bMemberUpdate
)
{...}
Paramètres
[in] dwSourceAddr
Spécifie l’adresse source à partir de laquelle les données de multidiffusion ont été reçues. Zéro indique que les données sont reçues de toutes les sources (récepteur générique pour un groupe) ; sinon, la valeur de dwSourceAddr est l’adresse IP du réseau source ou source.
Pour spécifier une plage d’adresses sources, le gestionnaire de groupe de multidiffusion spécifie le réseau source à l’aide de dwSourceAddr et spécifie 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.
Le gestionnaire de groupe de multidiffusion spécifie zéro pour ce paramètre s’il a également spécifié zéro pour dwSourceAddr (récepteur générique).
[in] dwGroupAddr
Spécifie le groupe de multidiffusion pour lequel les données sont destinées. Zéro indique que tous les groupes sont reçus (récepteur générique) ; sinon, la valeur de dwGroupAddr est l’adresse IP du groupe.
Pour spécifier une plage d’adresses de groupe, le gestionnaire de groupe de multidiffusion spécifie l’adresse de groupe à l’aide de dwGroupAddr et spécifie 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.
Le gestionnaire de groupe de multidiffusion spécifie zéro pour ce paramètre s’il a également spécifié zéro pour dwGroupAddr (récepteur générique).
[in] bMemberUpdate
Spécifie si le rappel a été appelé parce que mgmAddGroupMembershipEntry a été appelé par un client (le gestionnaire de groupe de multidiffusion définit ce paramètre sur TRUE) ou parce qu’un MFE a été créé ou mis à jour (le gestionnaire de groupe de multidiffusion définit ce paramètre sur FALSE).
Valeur retournée
RRAS ne s’attend pas à ce que l’application retourne une valeur spécifique ; toute valeur retournée est ignorée par RRAS.
Remarques
Le gestionnaire de groupe de multidiffusion définit le paramètre bMemberUpdate sur TRUE et appelle ce rappel si un client appelle la fonction MgmAddGroupMembershipEntry pour une entrée (s, g), (, g) ou (, *) (autrement dit, l’appartenance au groupe a changé).
Le gestionnaire de groupe de multidiffusion définit le paramètre bMemberUpdate sur FALSE si la liste d’interface sortante d’un MFE change. Ce changement se produit généralement pour une modification de l’appartenance au groupe correspondant à l’environnement MFE.
Un protocole de routage multidiffusion peut utiliser le paramètre bMemberUpdate pour faire la distinction entre les modifications apportées à l’appartenance au groupe et les modifications apportées à l’environnement MFE.
L’action effectuée par le protocole de routage lors de la réception de ce rappel est spécifique au protocole. Le protocole peut ignorer le rappel si le paramètre bMemberUpdate est défini sur FALSE, si la spécification du protocole indique qu’il s’agit du comportement correct.
Lorsque MgmAddGroupMembershipEntry est appelé, le gestionnaire de groupe de multidiffusion utilise ce rappel pour informer les autres clients du gestionnaire de groupe de multidiffusion qu’il existe des récepteurs pour la source et le groupe spécifiés.
Le gestionnaire de groupe de multidiffusion utilise les règles suivantes pour déterminer quand appeler ce rappel pour les jointures génériques (*, g) :
- S’il s’agit du premier client à informer le gestionnaire de groupe de multidiffusion qu’il existe des récepteurs sur une interface pour un groupe, le gestionnaire de groupe de multidiffusion appelle le rappel PMGM_JOIN_ALERT_CALLBACK à tous les autres clients inscrits.
- S’il s’agit du deuxième client à informer le gestionnaire de groupe de multidiffusion qu’il existe des récepteurs sur une interface pour un groupe, le gestionnaire de groupe de multidiffusion appelle ce rappel au premier client pour rejoindre le groupe.
Le gestionnaire de groupe de multidiffusion utilise la règle suivante pour déterminer quand appeler ce rappel pour les jointures spécifiques à la source (s, g) :
- S’il s’agit du premier client à informer le gestionnaire de groupe de multidiffusion qu’il existe des récepteurs sur une interface pour une source et un groupe, le gestionnaire de groupe de multidiffusion appelle le rappel PMGM_JOIN_ALERT_CALLBACK uniquement pour le client propriétaire de l’interface entrante vers la source « s ».
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 |