mgmDeleteGroupMembershipEntry 函式 (mgm.h)
MgmDeleteGroupMembershipEntry 函式會通知多播群組管理員,指定的介面上沒有其他接收者存在。
多播路由通訊協定會在通知介面上沒有多播群組的接收者之後呼叫此函式。 通訊協議必須呼叫此函式,以停止透過介面轉送多播數據。
語法
DWORD MgmDeleteGroupMembershipEntry(
[in] HANDLE hProtocol,
[in] DWORD dwSourceAddr,
[in] DWORD dwSourceMask,
[in] DWORD dwGroupAddr,
[in] DWORD dwGroupMask,
[in] DWORD dwIfIndex,
[in] DWORD dwIfNextHopIPAddr,
[in] DWORD dwFlags
);
參數
[in] hProtocol
處理從先前呼叫 MgmRegisterMProtocol 取得的通訊協定。
[in] dwSourceAddr
指定要停止接收多播數據的來源位址。 指定零以停止接收來自所有來源的數據, (群組的通配符接收者) ;否則,請指定來源或來源網路的IP位址。
若要指定來源位址的範圍,請使用 dwSourceAddr 指定來源網路,並使用 dwSourceMask 指定子網掩碼。
[in] dwSourceMask
指定對應至 dwSourceAddr 的子網掩碼。 dwSourceAddr 和 dwSourceMask 參數會一起使用,以定義從中停止接收多播數據的來源範圍。
如果 為 dwSourceAddr 指定零,則為此參數指定零, (通配符接收者) 。
[in] dwGroupAddr
指定要停止接收數據的多播群組。 指定零以停止接收所有群組, (通配符接收者) ;否則,請指定群組的IP位址。
若要指定群組位址的範圍,請使用 dwGroupAddr 指定群組位址,並使用 dwGroupMask 指定子網掩碼。
[in] dwGroupMask
指定對應至 dwGroupAddr 的子網掩碼。 dwGroupAddr 和 dwGroupMask 參數會一起使用來定義多播群組的範圍。
如果 為 dwGroupAddr 指定零,則為此參數指定零, (通配符接收者) 。
[in] dwIfIndex
指定要刪除群組成員資格的介面。 指定群組的多播數據不再透過這個介面轉送。
[in] dwIfNextHopIPAddr
指定對應至 dwIfIndex 所指定索引之下一個躍點的位址。 dwIfIndex 和 dwIfNextHopIPAddr 參數可唯一識別點對多點介面上的下一個躍點。 點對多點介面是一個連接,其中一個介面會連線到多個網路。 點對多點介面的範例包括非廣播多個存取 (NBMA) 介面,以及所有撥號用戶端連線的內部介面。
對於廣播介面 (例如乙太網路介面) 或點對點介面,這些介面只由 dwIfIndex 的值識別,請指定零。
[in] dwFlags
指定移除群組成員資格時必須進行的任何其他處理。 有效值為:
值 | 意義 |
---|---|
|
拿掉指定來源和群組的群組成員資格。 更新指定來源群組的任何轉送專案,以反映群組成員資格中的這項變更。 |
|
從對應至指定來源和群組之轉送項目的傳出介面清單中移除指定的介面。 |
傳回值
如果函式成功,傳回值會NO_ERROR。
如果函式失敗,傳回值就是下列其中一個錯誤碼。
值 | 意義 |
---|---|
|
無法完成此函式的呼叫。 |
|
通訊協定的句柄無效,或介面是由另一個通訊協定所擁有。 |
|
找不到指定的介面。 |
備註
此版本的 MGM API 僅支援通配符來源或特定來源,而不是一系列的來源。 相同的限制適用於群組 (亦即,不允許) 群組範圍。
呼叫此函式時,多播群組管理員可能會叫用 PMGM_PRUNE_ALERT_CALLBACK 回呼,以通知其他路由通訊協定,指定群組沒有更多接收者。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | 都不支援 |
最低支援的伺服器 | Windows 2000 Server [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | mgm.h |
程式庫 | Rtm.lib |
Dll | Rtm.dll |