OID_802_3_ADD_MULTICAST_ADDRESS

作为设置请求,NDIS 和过量协议驱动程序使用 OID_802_3_ADD_MULTICAST_ADDRESS OID 请求将802.3 多播地址添加到微型端口适配器的多播地址列表。 多播地址是6个字节的数组。 添加地址后,该地址可接收多播数据包。

版本信息

Windows Vista

NDIS 6.0 和更高版本的微型端口驱动程序
未请求。

注解

NDIS_OID_REQUEST结构的InformationBuffer成员包含6个字节的地址,该地址将添加到多播地址列表。

OID_802_3_ADD_MULTICAST_ADDRESS OID 请求只能添加一个地址。 要添加多个地址,过量驱动程序必须发出多个 OID_802_3_ADD_MULTICAST_ADDRESS OID 请求。

NDIS 微型端口驱动程序不会直接接收此 OID 请求。 相反,NDIS 会将每个 OID_802_3_ADD_MULTICAST_ADDRESS 序列和 OID_802_3_DELETE_MULTICAST_ADDRESS oid 请求合并为单个 OID_802_3_MULTICAST_LIST OID 请求,并将其发送到微型端口驱动程序。

要接收多播数据包,过量驱动程序必须使用 OID_GEN_CURRENT_PACKET_FILTER OID 来设置数据包筛选器 NDIS_PACKET_TYPE_MULTICAST 标志。

小型端口驱动程序可以对多播地址列表可以包含的多路广播地址设置限制。 若要指定最大多播地址数,微型端口驱动程序将设置它传递给NdisMSetMiniportAttributes函数的NDIS_MINIPORT_ADAPTER_GENERAL_ATTRIBUTES结构的MaxMulticastListSize成员。 对于基于 NDIS 6.0 之前的 NDIS 版本的微型端口驱动程序,NDIS 通过发送 OID_802_3_MAXIMUM_LIST_SIZE OID 请求来查询多播地址的最大数目。 如果 OID_802_3_ADD_MULTICAST_ADDRESS 请求超出此限制,NDIS 将返回 NDIS_STATUS_MULTICAST_FULL

若要删除以前添加的多播地址,请使用 OID_802_3_DELETE_MULTICAST_ADDRESS OID 发出 set 请求。 过量驱动程序可以多次添加给定的多播地址。 如果 NDIS 成功执行了给定多播地址的第一个 add 请求,NDIS 将成功对该地址的所有后续添加请求。 若要删除多次添加的多播地址,则过量驱动程序必须删除地址,使其添加地址的次数相同。

要求

标头

Ntddndis (包含 Ndis .h)

请参阅

NDIS_MINIPORT_ADAPTER_GENERAL_ATTRIBUTES

NDIS_OID_REQUEST

NdisMSetMiniportAttributes

OID_802_3_DELETE_MULTICAST_ADDRESS

OID_802_3_MAXIMUM_LIST_SIZE

OID_802_3_MULTICAST_LIST

OID_GEN_CURRENT_PACKET_FILTER