PMGM_CREATION_ALERT_CALLBACK fonction de rappel (mgm.h)
Le rappel PMGM_CREATION_ALERT_CALLBACK est un appel dans un protocole de routage. Cet appel détermine le sous-ensemble d’interfaces appartenant au protocole de routage sur lequel un paquet de multidiffusion à partir d’une nouvelle source doit être transféré.
Lorsqu’un paquet envoyé à partir d’une nouvelle source, ou destiné à un nouveau groupe, arrive sur une interface, le gestionnaire de groupe de multidiffusion crée un nouvel environnement MFE. Le gestionnaire de groupes de multidiffusion appelle ensuite ce rappel vers les protocoles de routage qui ont des interfaces sortantes dans ce nouveau MFE. Un protocole de routage peut choisir de désactiver le transfert de données de la source vers le groupe sur des interfaces spécifiques.
Syntaxe
PMGM_CREATION_ALERT_CALLBACK PmgmCreationAlertCallback;
DWORD PmgmCreationAlertCallback(
[in] DWORD dwSourceAddr,
[in] DWORD dwSourceMask,
[in] DWORD dwGroupAddr,
[in] DWORD dwGroupMask,
[in] DWORD dwInIfIndex,
[in] DWORD dwInIfNextHopAddr,
[in] DWORD dwIfCount,
[in, out] PMGM_IF_ENTRY pmieOutIfList
)
{...}
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 (un 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 groupes 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 groupes de multidiffusion spécifie zéro pour ce paramètre s’il a également spécifié zéro pour dwSourceAddr (récepteur de caractères génériques).
[in] dwGroupAddr
Spécifie le groupe de multidiffusion auquel les données sont destinées. Zéro indique que tous les groupes sont reçus (un 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 groupes de multidiffusion spécifie zéro pour ce paramètre s’il a également spécifié zéro pour dwGroupAddr (récepteur de caractères génériques).
[in] dwInIfIndex
Spécifie l’interface sur laquelle les données de multidiffusion de la source doivent arriver.
[in] dwInIfNextHopAddr
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] dwIfCount
Spécifie le nombre d’interfaces dans la mémoire tampon pointées par pmieOutIfList.
[in, out] pmieOutIfList
Lors de l’entrée, pointeur vers une mémoire tampon qui contient l’ensemble d’interfaces appartenant au protocole sur lequel les données seront transférées.
Lors de la sortie, le client peut définir le membre bIsEnabled de la structure MGM_IF_ENTRY correspondante sur FALSE pour empêcher le transfert sur l’une de ses interfaces. Un client peut ne pas être obligé d’empêcher le transfert ; un tel client accepterait la valeur par défaut de bIsEnabled.
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.
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 |