Condividi tramite


PMGM_PRUNE_ALERT_CALLBACK funzione di callback (mgm.h)

Il callback PMGM_PRUNE_ALERT_CALLBACK è una chiamata a un protocollo di routing per notificare al protocollo che i ricevitori non sono più presenti nelle interfacce di proprietà di altri protocolli di routing.

Sintassi

PMGM_PRUNE_ALERT_CALLBACK PmgmPruneAlertCallback;

DWORD PmgmPruneAlertCallback(
  [in]      DWORD dwSourceAddr,
  [in]      DWORD dwSourceMask,
  [in]      DWORD dwGroupAddr,
  [in]      DWORD dwGroupMask,
  [in]      DWORD dwIfIndex,
  [in]      DWORD dwIfNextHopAddr,
  [in]      BOOL bMemberDelete,
  [in, out] PDWORD pdwTimeout
)
{...}

Parametri

[in] dwSourceAddr

Specifica l'indirizzo di origine da cui interrompere la ricezione di dati multicast. Zero indica di interrompere la ricezione di dati da tutte le origini (un ricevitore con caratteri jolly per un gruppo); in caso contrario, il valore di dwSourceAddr è l'indirizzo IP della rete di origine o di origine.

Per specificare un intervallo di indirizzi di origine, gestione gruppi multicast specifica la rete di origine tramite dwSourceAddr e specifica una subnet mask tramite dwSourceMask.

[in] dwSourceMask

Specifica la subnet mask che corrisponde a dwSourceAddr. I parametri dwSourceAddr e dwSourceMask vengono usati insieme per definire un intervallo di origini da cui interrompere la ricezione di dati multicast.

Il gestore gruppi multicast specifica zero per questo parametro se è stato specificato anche zero per dwSourceAddr (un ricevitore con caratteri jolly).

[in] dwGroupAddr

Specifica il gruppo multicast per cui interrompere la ricezione dei dati. Zero indica di interrompere la ricezione dei dati per tutti i gruppi (un ricevitore con caratteri jolly); in caso contrario, il valore di dwGroupAddr è l'indirizzo IP del gruppo.

Per specificare un intervallo di indirizzi di gruppo, gestione gruppi multicast specifica l'indirizzo del gruppo tramite dwGroupAddr e specifica una subnet mask tramite dwGroupMask.

[in] dwGroupMask

Specifica la subnet mask che corrisponde a dwGroupAddr. I parametri dwGroupAddr e dwGroupMask vengono usati insieme per definire un intervallo di gruppi multicast.

Gestione gruppi multicast specifica zero per questo parametro se è stato specificato anche zero per dwGroupAddr (ricevitore con caratteri jolly).

[in] dwIfIndex

Specifica l'interfaccia in cui interrompere la ricezione di dati multicast.

[in] dwIfNextHopAddr

Specifica l'indirizzo dell'hop successivo che corrisponde all'indice specificato da dwIfIndex. I parametri dwIfIndex e dwIfNextHopIPAddr identificano in modo univoco un hop successivo sulle interfacce da punto a più punti. Un'interfaccia da punto a punto è una connessione in cui un'interfaccia si connette a più reti. Esempi di interfacce da punto a più punti includono interfacce di accesso multiplo (NBMA) non broadcast e l'interfaccia interna in cui si connettono tutti i client di connessione remota.

Per le interfacce di trasmissione (ad esempio interfacce Ethernet) o interfacce da punto a punto, identificate solo dal valore di dwIfIndex, specificano zero.

[in] bMemberDelete

Specifica se il callback è stato richiamato perché MgmAddGroupMembershipEntry è stato chiamato da un client (il gestore del gruppo multicast imposta questo parametro su TRUE) o perché è stato creato o aggiornato un MFE (il gestore del gruppo multicast imposta questo parametro su FALSE).

[in, out] pdwTimeout

In input pdwTimeout punta a una posizione di memoria di dimensioni DWORD.

Se bMemberDelete è FALSE, questo parametro può essere usato per specificare per quanto tempo il MFE corrispondente deve rimanere nella cache di inoltro multicast. Se il client non specifica un valore, il valore predefinito è 900 secondi.

Nell'output pdwTimeout riceve il valore di timeout, espresso in secondi, per questa MFE.

Valore restituito

RRAS non prevede che l'applicazione restituisca alcun valore specifico; qualsiasi valore restituito viene ignorato da RRAS.

Commenti

Il gestore del gruppo multicast imposta il parametro bMemberDelete su TRUE e richiama questo callback se un client chiama la funzione MgmDeleteGroupMembershipEntry per una voce (s, g), (, g) o (, *), ovvero l'appartenenza al gruppo cambia.

Il gestore del gruppo multicast imposta il parametro bMemberDelete su FALSE se viene modificato l'elenco di interfacce in uscita per un MFE. Questa modifica si verifica in genere per una modifica dell'appartenenza al gruppo corrispondente a MFE.

Un protocollo di routing multicast può usare il parametro bMemberDelete per distinguere tra le modifiche apportate all'appartenenza al gruppo e le modifiche apportate a MFE.

L'azione eseguita dal protocollo di routing quando questo callback viene ricevuto è specifico del protocollo. Il protocollo può ignorare il callback se il parametro bMemberDelete è impostato su FALSE, se la specifica del protocollo indica che si tratta del comportamento corretto.

Quando viene chiamato MgmDeleteGroupMembershipEntry , il gestore del gruppo multicast usa questo callback per notificare ad altri client di gestione gruppi multicast che non ci sono più ricevitori per l'origine e il gruppo specificati.

Gestione gruppi multicast usa le regole seguenti per determinare quando richiamare questo callback per i join con caratteri jolly (*, g):

  • Se l'interfaccia finale viene rimossa per il secondo client, ovvero quando le interfacce per un singolo client rimangono, il gestore del gruppo multicast richiama il callback PMGM_PRUNE_ALERT_CALLBACK a quel client rimanente.
  • Se l'interfaccia finale viene rimossa per l'ultimo client ,ovvero quando non rimangono altre interfacce, questo callback viene richiamato per tutti gli altri client registrati con gestione gruppi multicast.
Gestione gruppi multicast usa la regola seguente per determinare quando richiamare questo callback per join specifici dell'origine (s, g):
  • Quando viene ricevuta un'eliminazione specifica dell'origine per un gruppo (s, g), il gestore del gruppo multicast richiama il callback PMGM_PRUNE_ALERT_CALLBACK solo per il client che possiede l'interfaccia in ingresso verso l'origine "s".
Questa versione dell'API Gestione gruppi multicast supporta solo origini con caratteri jolly (*, g) o origini specifiche (s, g), non un intervallo di origini. La stessa restrizione si applica ai gruppi ( ovvero non sono consentiti intervalli di gruppi).

Requisiti

Requisito Valore
Client minimo supportato Nessuno supportato
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione mgm.h

Vedi anche

PMGM_CREATION_ALERT_CALLBACK