PMGM_JOIN_ALERT_CALLBACK回呼函式 (mgm.h)
PMGM_JOIN_ALERT_CALLBACK回呼是路由通訊協定的呼叫,可通知通訊協定,讓其他路由通訊協定所擁有的介面上有一或多個群組的新接收者。 一旦路由通訊協定收到此回呼,它應該就會開始轉送指定來源和群組的多播數據。
語法
PMGM_JOIN_ALERT_CALLBACK PmgmJoinAlertCallback;
DWORD PmgmJoinAlertCallback(
[in] DWORD dwSourceAddr,
[in] DWORD dwSourceMask,
[in] DWORD dwGroupAddr,
[in] DWORD dwGroupMask,
[in] BOOL bMemberUpdate
)
{...}
參數
[in] dwSourceAddr
指定接收多播數據的來源位址。 零表示從所有來源接收數據, (群組的通配符接收者) ;否則, dwSourceAddr 的值是來源或來源網路的IP位址。
若要指定來源位址的範圍,多播群組管理員會使用 dwSourceAddr 指定來源網路,並使用 dwSourceMask 指定子網掩碼。
[in] dwSourceMask
指定對應至 dwSourceAddr 的子網掩碼。 dwSourceAddr 和 dwSourceMask 參數會一起使用,以定義接收多播數據的來源範圍。
如果多播群組管理員也針對 dwSourceAddr (通配符接收器) 指定零,則此參數會指定零。
[in] dwGroupAddr
指定數據目的地的多播群組。 零表示在通配符接收者) (收到所有群組;否則, dwGroupAddr 的值是群組的IP位址。
若要指定群組位址的範圍,多播群組管理員會使用 dwGroupAddr 指定群組位址,並使用 dwGroupMask 指定子網掩碼。
[in] dwGroupMask
指定對應至 dwGroupAddr 的子網掩碼。 dwGroupAddr 和 dwGroupMask 參數會一起使用來定義多播群組的範圍。
如果多播群組管理員也為 dwGroupAddr 指定零, (通配符接收者) ,則此參數會指定零。
[in] bMemberUpdate
指定是否因為多播群組管理員呼叫 MgmAddGroupMembershipEntry 而叫用回呼, (多播群組管理員將此參數設定為 TRUE) ,或因為多播群組管理員建立或更新 MFE, (多播群組管理員將此參數設定為 FALSE) 。
傳回值
RRAS 不預期應用程式會傳回任何特定值;RRAS 會忽略傳回的任何值。
備註
多播群組管理員會將 bMemberUpdate 參數設定為 TRUE,如果客戶端針對 (s、g) 、g (、g) 或 (、*) 專案 (呼叫 MgmAddGroupMembershipEntry 函式,則會叫用此回呼,也就是群組成員資格已變更) 。
如果 MFE 的傳出介面清單變更,多播群組管理員會將 bMemberUpdate 參數設定為 FALSE 。 此變更通常是針對對應至 MFE 之群組成員資格的變更所發生。
多播路由通訊協定可以使用 bMemberUpdate 參數來區分群組成員資格的變更和 MFE 的變更。
收到此回呼時,路由通訊協定所採取的動作是通訊協定特定的。 如果 bMemberUpdate 參數設定為 FALSE,如果通訊協議規格指出這是正確的行為,通訊協定可能會忽略回呼。
呼叫 MgmAddGroupMembershipEntry 時,多播群組管理員會使用此回呼來通知其他多播群組管理員用戶端有指定來源和群組的接收者。
多播群組管理員會使用下列規則來判斷何時叫用通配符 (*、g) 聯結的回呼:
- 如果這是通知多播群組管理員的第一個用戶端,表示群組介面上有接收者,多播群組管理員會叫用 PMGM_JOIN_ALERT_CALLBACK回 呼給所有其他已註冊的用戶端。
- 如果這是第二個用戶端,通知多播群組管理員在群組的介面上有接收者,多播群組管理員會叫用此回呼給第一個用戶端以加入群組。
多播群組管理員會使用下列規則來判斷何時要針對來源特定 (s、g) 聯結叫用此回呼:
- 如果這是通知多播群組管理員的第一個用戶端,來源和群組的介面上有接收者,多播群組管理員只會針對擁有傳入介面的用戶端叫用 PMGM_JOIN_ALERT_CALLBACK 回呼,以指向來源 “s”。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | 都不支援 |
最低支援的伺服器 | Windows 2000 Server [僅限桌面應用程式] |
目標平台 | Windows |
標頭 | mgm.h |