OID_802_3_ADD_MULTICAST_ADDRESS
作为设置请求,NDIS 和覆盖协议驱动程序使用 OID_802_3_ADD_MULTICAST_ADDRESS OID 请求将 802.3 多播地址添加到微型端口适配器的多播地址列表。 多播地址是 6 个字节的数组。 添加地址使该地址能够接收多播数据包。
版本信息
注解
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 发出设置请求。 覆盖驱动程序可以多次添加给定的多播地址。 如果 NDIS 成功执行给定多播地址的第一个添加请求,则 NDIS 将成功针对该地址的所有后续添加请求。 若要删除多次添加的多播地址,覆盖驱动程序必须删除该地址的次数与添加该地址的次数相同。
要求
标头 |
Ntddndis.h (包括 Ndis.h) |
另请参阅
NDIS_MINIPORT_ADAPTER_GENERAL_ATTRIBUTES