作为设置请求,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 标志。
微型端口驱动程序可以设置多播地址列表可以包含的多播地址数的限制。 若要指定多播地址的最大数目,微型端口驱动程序将 MaxMulticastListSize 传递给 NdisMSetMiniportAttributes 函数 NDIS_MINIPORT_ADAPTER_GENERAL_ATTRIBUTES 结构的成员。 对于基于 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