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.
- 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".
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 |