Partager via


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 n’appelle pas ce rappel pour les jointures ultérieures au 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 ».
Cette version de l’API Gestionnaire de groupe multidiffusion prend uniquement en charge les sources génériques (*, g) ou des sources spécifiques (s, g), et non une plage de sources. La même restriction s’applique aux groupes (autrement dit, aucune plage de groupes n’est autorisée).

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