PMGM_PRUNE_ALERT_CALLBACK回调函数 (mgm.h)

PMGM_PRUNE_ALERT_CALLBACK回调是对路由协议的调用,以通知协议接收方不再存在于其他路由协议拥有的接口上。

语法

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

参数

[in] dwSourceAddr

指定要从中停止接收多播数据的源地址。 零表示停止接收来自组) (通配符接收器的所有源的数据;否则, dwSourceAddr 的值是源或源网络的 IP 地址。

若要指定源地址范围,多播组管理器使用 dwSourceAddr 指定源网络,并使用 dwSourceMask 指定子网掩码。

[in] dwSourceMask

指定与 dwSourceAddr 对应的子网掩码。 dwSourceAddrdwSourceMask 参数一起使用,用于定义停止接收多播数据的源范围。

如果多播组管理器也为 dwSourceAddr (通配符接收器) 指定零,则多播组管理器为此参数指定零。

[in] dwGroupAddr

指定要停止接收数据的多播组。 零表示停止接收通配符接收器) (所有组的数据;否则, dwGroupAddr 的值是组的 IP 地址。

若要指定组地址范围,多播组管理器使用 dwGroupAddr 指定组地址,并使用 dwGroupMask 指定子网掩码。

[in] dwGroupMask

指定对应于 dwGroupAddr 的子网掩码。 dwGroupAddrdwGroupMask 参数一起使用来定义一系列多播组。

如果多播组管理器也为 dwGroupAddr (通配符接收器) 指定零,则多播组管理器为此参数指定零。

[in] dwIfIndex

指定要停止接收多播数据的接口。

[in] dwIfNextHopAddr

指定与 dwIfIndex 指定的索引相对应的下一跃点的地址。 dwIfIndexdwIfNextHopIPAddr 参数唯一标识点到多点接口上的下一跃点。 点到多点接口是一个接口连接到多个网络的连接。 点到多点接口的示例包括非广播多访问 (NBMA) 接口和所有拨号客户端连接的内部接口。

对于广播接口 (,例如以太网接口) 或点到点接口(仅由 dwIfIndex 的值标识),请指定零。

[in] bMemberDelete

指定调用回调是因为客户端调用 MgmAddGroupMembershipEntry (多播组管理器将此参数设置为 TRUE) ,还是因为多播组管理器将此参数设置为 FALSE) (创建或更新 MFE。

[in, out] pdwTimeout

输入时, pdwTimeout 指向 DWORD 大小的内存位置。

如果 bMemberDeleteFALSE,则此参数可用于指定相应的 MFE 应在多播转发缓存中保留多长时间。 如果客户端未指定值,则默认值为 900 秒。

在输出时, pdwTimeout 接收此 MFE 的超时值(以秒为单位)。

返回值

RRAS 不期望应用程序返回任何特定值;RRAS 将忽略返回的任何值。

注解

多播组管理器将 bMemberDelete 参数设置为 TRUE,如果客户端为 (s、g) 、 (、g) 或 (、*) 项 (即组成员身份更改) ,则调用此回调。

如果 MFE 的传出接口列表发生更改,多播组管理器会将 bMemberDelete 参数设置为 FALSE 。 此更改通常发生在与 MFE 对应的组的成员身份更改时。

多播路由协议可以使用 bMemberDelete 参数来区分对组成员身份的更改和对 MFE 的更改。

接收此回调时路由协议执行的操作特定于协议。 如果协议规范指示这是正确的行为,则 如果 bMemberDelete 参数设置为 FALSE,则协议可能会忽略回调。

调用 MgmDeleteGroupMembershipEntry 时,多播组管理器使用此回调通知其他多播组管理器客户端指定源和组不再有接收方。

多播组管理器使用以下规则来确定何时为通配符 (*、g) 联接调用此回调:

  • 如果要删除第二个客户端 (的最终接口,也就是说,当只有单个客户端的接口保持) 时,多播组管理器将调用该剩余客户端 的PMGM_PRUNE_ALERT_CALLBACK 回调。
  • 如果要删除最后一个客户端 (,即当没有其他接口保留) 时,将为向多播组管理器注册的所有其他客户端调用此回调。
多播组管理器使用以下规则来确定何时为特定于源的 (、g) 联接调用此回调:
  • 当收到组 (、g) 的特定于源的修剪时,多播组管理器仅为拥有源“s”的传入接口的客户端调用 PMGM_PRUNE_ALERT_CALLBACK 回调。
此版本的多播组管理器 API 仅支持通配符源 (*、g) 或特定源 (、g) ,而不是一系列源。 相同的限制适用于组 (即,不允许) 组范围。

要求

要求
最低受支持的客户端 无受支持的版本
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 mgm.h

另请参阅

PMGM_CREATION_ALERT_CALLBACK