共用方式為


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 的子網掩碼。 dwSourceAddrdwSourceMask 參數會一起使用,以定義從中停止接收多播數據的來源範圍。

如果 為 dwSourceAddr 指定零,則為此參數指定零, (通配符接收者) 。

[in] dwGroupAddr

指定要停止接收數據的多播群組。 指定零以停止接收所有群組, (通配符接收者) ;否則,請指定群組的IP位址。

若要指定群組位址的範圍,請使用 dwGroupAddr 指定群組位址,並使用 dwGroupMask 指定子網掩碼。

[in] dwGroupMask

指定對應至 dwGroupAddr 的子網掩碼。 dwGroupAddrdwGroupMask 參數會一起使用來定義多播群組的範圍。

如果 為 dwGroupAddr 指定零,則為此參數指定零, (通配符接收者) 。

[in] dwIfIndex

指定要刪除群組成員資格的介面。 指定群組的多播數據不再透過這個介面轉送。

[in] dwIfNextHopIPAddr

指定對應至 dwIfIndex 所指定索引之下一個躍點的位址。 dwIfIndexdwIfNextHopIPAddr 參數可唯一識別點對多點介面上的下一個躍點。 點對多點介面是一個連接,其中一個介面會連線到多個網路。 點對多點介面的範例包括非廣播多個存取 (NBMA) 介面,以及所有撥號用戶端連線的內部介面。

對於廣播介面 (例如乙太網路介面) 或點對點介面,這些介面只由 dwIfIndex 的值識別,請指定零。

[in] dwFlags

指定移除群組成員資格時必須進行的任何其他處理。 有效值為:

意義
MGM_JOIN_STATE_FLAG
拿掉指定來源和群組的群組成員資格。 更新指定來源群組的任何轉送專案,以反映群組成員資格中的這項變更。
MGM_FORWARD_STATE
從對應至指定來源和群組之轉送項目的傳出介面清單中移除指定的介面。

傳回值

如果函式成功,傳回值會NO_ERROR。

如果函式失敗,傳回值就是下列其中一個錯誤碼。

意義
ERROR_CAN_NOT_COMPLETE
無法完成此函式的呼叫。
ERROR_INVALID_PARAMETER
通訊協定的句柄無效,或介面是由另一個通訊協定所擁有。
ERROR_NOT_FOUND
找不到指定的介面。
 
 

備註

此版本的 MGM API 僅支援通配符來源或特定來源,而不是一系列的來源。 相同的限制適用於群組 (亦即,不允許) 群組範圍。

呼叫此函式時,多播群組管理員可能會叫用 PMGM_PRUNE_ALERT_CALLBACK 回呼,以通知其他路由通訊協定,指定群組沒有更多接收者。

規格需求

需求
最低支援的用戶端 都不支援
最低支援的伺服器 Windows 2000 Server [僅限傳統型應用程式]
目標平台 Windows
標頭 mgm.h
程式庫 Rtm.lib
Dll Rtm.dll

另請參閱

MgmAddGroupMembershipEntry

PMGM_PRUNE_ALERT_CALLBACK