PMGM_PRUNE_ALERT_CALLBACK función de devolución de llamada (mgm.h)

La devolución de llamada PMGM_PRUNE_ALERT_CALLBACK es una llamada a un protocolo de enrutamiento para notificar al protocolo que los receptores ya no están presentes en las interfaces que pertenecen a otros protocolos de enrutamiento.

Sintaxis

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
)
{...}

Parámetros

[in] dwSourceAddr

Especifica la dirección de origen desde la que dejar de recibir datos de multidifusión. Cero indica dejar de recibir datos de todos los orígenes (un receptor comodín para un grupo); de lo contrario, el valor de dwSourceAddr es la dirección IP de la red de origen o de origen.

Para especificar un intervalo de direcciones de origen, el administrador de grupos de multidifusión especifica la red de origen mediante dwSourceAddr y especifica una máscara de subred mediante dwSourceMask.

[in] dwSourceMask

Especifica la máscara de subred que corresponde a dwSourceAddr. Los parámetros dwSourceAddr y dwSourceMask se usan juntos para definir un intervalo de orígenes desde los que dejar de recibir datos de multidifusión.

El administrador de grupos de multidifusión especifica cero para este parámetro si también especificó cero para dwSourceAddr (un receptor de caracteres comodín).

[in] dwGroupAddr

Especifica el grupo de multidifusión para el que se detendrá la recepción de datos. Cero indica dejar de recibir datos para todos los grupos (un receptor comodín); de lo contrario, el valor de dwGroupAddr es la dirección IP del grupo.

Para especificar un intervalo de direcciones de grupo, el administrador de grupos de multidifusión especifica la dirección de grupo mediante dwGroupAddr y especifica una máscara de subred mediante dwGroupMask.

[in] dwGroupMask

Especifica la máscara de subred que corresponde a dwGroupAddr. Los parámetros dwGroupAddr y dwGroupMask se usan juntos para definir un intervalo de grupos de multidifusión.

El administrador de grupos de multidifusión especifica cero para este parámetro si también especificó cero para dwGroupAddr (un receptor con caracteres comodín).

[in] dwIfIndex

Especifica la interfaz en la que se detendrá la recepción de datos de multidifusión.

[in] dwIfNextHopAddr

Especifica la dirección del próximo salto que corresponde al índice especificado por dwIfIndex. Los parámetros dwIfIndex y dwIfNextHopIPAddr identifican de forma única un próximo salto en interfaces de punto a punto. Una interfaz de punto a punto es una conexión en la que una interfaz se conecta a varias redes. Entre los ejemplos de interfaces de punto a punto se incluyen interfaces de acceso múltiple (NBMA) que no son de difusión y la interfaz interna en la que se conectan todos los clientes de acceso telefónico.

En el caso de las interfaces de difusión (como interfaces Ethernet) o interfaces de punto a punto, que solo se identifican mediante el valor de dwIfIndex, especifique cero.

[in] bMemberDelete

Especifica si se invocó la devolución de llamada porque un cliente llamó a MgmAddGroupMembershipEntry (el administrador de grupos de multidifusión establece este parámetro en TRUE), o porque se creó o actualizó una MFE (el administrador del grupo de multidifusión establece este parámetro en FALSE).

[in, out] pdwTimeout

En la entrada, pdwTimeout apunta a una ubicación de memoria de tamaño DWORD.

Si bMemberDelete es FALSE, este parámetro se puede usar para especificar cuánto tiempo debe permanecer el MFE correspondiente en la memoria caché de reenvío de multidifusión. Si el cliente no especifica un valor, el valor predeterminado es 900 segundos.

En la salida, pdwTimeout recibe el valor de tiempo de espera, en segundos, para este MFE.

Valor devuelto

RRAS no espera que la aplicación devuelva ningún valor específico; RRAS omite cualquier valor devuelto.

Comentarios

El administrador de grupos de multidifusión establece el parámetro bMemberDelete en TRUE e invoca esta devolución de llamada si un cliente llama a la función MgmDeleteGroupMembershipEntry para una entrada (s, g), (, g) o (, *) (es decir, cambia la pertenencia a grupos).

El administrador de grupos de multidifusión establece el parámetro bMemberDelete enFALSE si cambia la lista de interfaces salientes de un MFE. Este cambio suele producirse para un cambio en la pertenencia al grupo correspondiente a la MFE.

Un protocolo de enrutamiento de multidifusión puede usar el parámetro bMemberDelete para distinguir entre los cambios en la pertenencia a grupos y los cambios en MFE.

La acción realizada por el protocolo de enrutamiento cuando se recibe esta devolución de llamada es específica del protocolo. El protocolo puede omitir la devolución de llamada si el parámetro bMemberDelete está establecido en FALSE, si la especificación del protocolo indica que este es el comportamiento correcto.

Cuando se llama a MgmDeleteGroupMembershipEntry , el administrador de grupos de multidifusión usa esta devolución de llamada para notificar a otros clientes del administrador de grupos de multidifusión que no hay más receptores para el origen y el grupo especificados.

El administrador de grupos de multidifusión usa las reglas siguientes para determinar cuándo invocar esta devolución de llamada para combinaciones con caracteres comodín (*, g):

  • Si se quita la interfaz final del segundo al último cliente (es decir, cuando solo permanecen interfaces para un solo cliente), el administrador del grupo de multidifusión invoca la devolución de llamada PMGM_PRUNE_ALERT_CALLBACK a ese cliente restante.
  • Si se quita la interfaz final del último cliente (es decir, cuando no permanece ninguna otra interfaz), se invoca esta devolución de llamada para todos los demás clientes registrados con el administrador de grupos de multidifusión.
El administrador de grupos de multidifusión usa la siguiente regla para determinar cuándo invocar esta devolución de llamada para combinaciones específicas del origen (s, g):
  • Cuando se recibe una eliminación específica del origen para un grupo (s, g), el administrador de grupos de multidifusión invoca el PMGM_PRUNE_ALERT_CALLBACK devolución de llamada solo para el cliente que posee la interfaz entrante hacia el origen "s".
Esta versión de la API del Administrador de grupos de multidifusión solo admite orígenes comodín (*, g) o orígenes específicos (s, g), no un intervalo de orígenes. La misma restricción se aplica a los grupos (es decir, no se permiten intervalos de grupos).

Requisitos

Requisito Value
Cliente mínimo compatible No se admite ninguno
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado mgm.h

Consulte también

PMGM_CREATION_ALERT_CALLBACK