MgmAddGroupMembershipEntry 函式 (mgm.h)
MgmAddGroupMembershipEntry 函式會通知多播群組管理員,指定介面上的指定群組有新的接收者。 接收者可以藉由指定來源範圍來限制接收多播數據的一組來源。
當多播路由通訊協定收到介面上多播群組接收者的通知時,會呼叫此函式。 通訊協議必須呼叫此函式,以便透過介面轉送多播數據。
語法
DWORD MgmAddGroupMembershipEntry(
[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_JOIN_ALERT_CALLBACK 回呼,以通知其他路由通訊協定有指定群組的新接收者。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | 都不支援 |
最低支援的伺服器 | Windows 2000 Server [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | mgm.h |
程式庫 | Rtm.lib |
Dll | Rtm.dll |