共用方式為


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設定要求。

針對設定要求,NDIS_OID_REQUEST結構的InformationBuffer成員包含多播地址清單做為位址陣列。

  • 每個位址都是 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

OID_802_3_DELETE_MULTICAST_ADDRESS

OID_802_3_MAXIMUM_LIST_SIZE

OID_GEN_CURRENT_PACKET_FILTER