PMGM_RPF_CALLBACK mgm.h (回呼函式)
PMGM_RPF_CALLBACK回呼是路由通訊協定的呼叫,以判斷指定的封包是否已在正確的介面上收到。
從新來源收到封包或以新群組為目標時,就會叫用此回呼。 多播群組管理員會將此回呼叫用至擁有連入介面至來源的路由通訊協定。
語法
PMGM_RPF_CALLBACK PmgmRpfCallback;
DWORD PmgmRpfCallback(
[in] DWORD dwSourceAddr,
[in] DWORD dwSourceMask,
[in] DWORD dwGroupAddr,
[in] DWORD dwGroupMask,
[in, out] PDWORD pdwInIfIndex,
[in, out] PDWORD pdwInIfNextHopAddr,
[in, out] PDWORD pdwUpStreamNbr,
[in] DWORD dwHdrSize,
[in] PBYTE pbPacketHdr,
[in, out] PBYTE pbRoute
)
{...}
參數
[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, out] pdwInIfIndex
在輸入時, DWORD 大小的記憶體位置指標會根據路由表的多播檢視,指定預期從來源接收數據的介面索引。
在輸出時, pdwInIfIndex 會指向包含通訊協定預期接收封包之介面索引的 DWORD 大小記憶體位置。 介面索引在輸出上可能會與輸入上指定的索引不同。
[in, out] pdwInIfNextHopAddr
在輸入時, pdwInIfNextHopAddr 會指定對應至 dwIfIndex 所指定索引的下一個躍點位址。
dwIfIndex 和 dwIfNextHopIPAddr 參數可唯一識別點對多點介面上的下一個躍點。 點對多點介面是一個連接,其中一個介面會連線到多個網路。 點對多點介面的範例包括非廣播多重存取 (NBMA) 介面,以及所有撥號用戶端連線的內部介面。
對於廣播介面 (,例如乙太網路介面) 或點對點介面,只有 dwIfIndex 的值識別,請指定零。
輸出時, pdwInIfNextHopAddr 會指向對應至 pdwInIfIndex 的下一個躍點。
[in, out] pdwUpStreamNbr
在輸入時, pdwUpStreamNbr 會指向 DWORD 值,指定直接上游鄰近來源, (在路由表) 的多播檢視中找到來源。
輸出時, pdwUpStreamNbr 可能已經由通訊協定修改。 此參數僅供參考之用。
[in] dwHdrSize
指定 pbPacketHdr 所指向緩衝區的大小,以位元組為單位。
[in] pbPacketHdr
緩衝區的指標,其中包含封包的IP標頭,包括IP選項和數據片段。 檢查封包標頭內容的通訊協定會使用此參數。
[in, out] pbRoute
在輸入時, pbRoute 會指向包含來源路由的緩衝區。 緩衝區包含 RTM_DEST_INFO 結構。
在輸出時, pbRoute 會指向緩衝區,其中包含通訊協定用來判斷來源介面的路由。
傳回值
RRAS 不預期應用程式會傳回任何特定值;RRAS 會忽略傳回的任何值。
備註
建立 MFE 時會叫用此回呼。 收到來自新多播來源或目的地為新群組的數據時,就會建立 MFE。
多播群組管理員會將此回呼叫用至擁有連入介面至來源的路由通訊協定。 多播群組管理員會在路由表的多播檢視中查閱多播數據的來源,以判斷介面。 這個介面不一定與實際接收數據的介面相同;如果在錯誤的介面上收到多播數據,就會發生此狀況。
叫用此回呼時,如果路由通訊協議行為要求它從另一個介面接收群組的數據,路由通訊協定就可以變更傳入介面。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | 都不支援 |
最低支援的伺服器 | Windows 2000 Server [僅限桌面應用程式] |
目標平台 | Windows |
標頭 | mgm.h |
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應