OID_802_3_MULTICAST_LIST
作為設定要求,NDIS 和過度配置通訊協定驅動程式會使用 OID_802_3_MULTICAST_LIST OID 要求來取代迷你埠適配卡上目前的多播地址清單。 如果清單中有位址,該位址會啟用以接收多播封包。
作為查詢要求,NDIS 和通訊協定驅動程式會使用 OID_802_3_MULTICAST_LIST OID 要求來取得目前的多播位址清單。
NDIS 會處理迷你埠驅動程式的OID_802_3_MULTICAST_LIST查詢要求,因此迷你埠驅動程序永遠不會收到這些查詢要求。
支援多播位址清單的迷你埠驅動程序必須支援OID_802_3_MULTICAST_LIST設定要求。
針對設定要求,InformationBufferNDIS_OID_REQUEST 結構的成員會包含多播位址清單做為位址陣列。
- 每個位址都是6個字節的陣列。
- InformationBufferLength 成員包含 InformationBuffer 陣列的長度,以位元組為單位。
- 如果 InformationBuffer 成員清單中有重複的位址,NDIS 會在傳送OID_802_3_MULTICAST_LIST集要求給迷你埠驅動程式之前移除重複位址。
- 如果 InformationBufferLength 成員為零,迷你埠驅動程序必須清除多播通訊地址清單。
- 如果 InformationBufferLength 成員大於零,迷你埠驅動程式必須將任何現有的多播位址清單取代為 InformationBuffer 成員中的清單。
迷你埠配接器的多播位址清單是由系結至迷你埠配接器的所有通訊協定驅動程序共用。 NDIS 可控制此清單的存取權。 如果多個通訊協定驅動程式嘗試同時修改清單,NDIS 會將要求合併成單一OID_802_3_MULTICAST_LIST集要求,而該要求會傳送至迷你埠驅動程式。
初始化迷你埠配接器時,它會重設 NIC,讓多播地址清單為零。 NDIS 也會初始化封包篩選器,使其不允許通訊協定驅動程式接收多播封包。
若要接收多播封包,通訊協定驅動程式稍後必須執行下列其中一項:
- 設定封包篩選條件以包含 NDIS_PACKET_TYPE_MULTICAST 旗標。 您可以隨時取消此旗標來停用多播封包接收。 通訊協定驅動程式啟用多播封包接收的順序並不重要。 如需詳細資訊,請參閱 OID_GEN_CURRENT_PACKET_FILTER OID 要求。
- 設定封包篩選器以包含 NDIS_PACKET_TYPE_ALL_MULTICAST 旗標,以啟用所有多播封包,並自行執行篩選。
迷你埠驅動程式可以設定多播位址清單可以包含的多播位址數目限制。 如果通訊協定驅動程式超過此限制,或指定無效的多播位址,NDIS 會傳回 NDIS_STATUS_MULTICAST_FULL。
對於查詢要求,NDIS 會傳回多播位址清單,此清單是所有通訊協定系結之所有多播位址清單的聯集。
要求
頁眉 |
Ntddndis.h (包括 Ndis.h) |
另請參閱
OID_802_3_ADD_MULTICAST_ADDRESS