OID_802_3_ADD_MULTICAST_ADDRESS (Compact 2013)
3/26/2014
As a set request, NDIS and overlying drivers use this OID to add a multicast address to the multicast address list of a miniport adapter. Adding an address enables reception of network data for that address. Each 802.3 address is an array of six bytes.
Remarks
If a miniport driver does not support this OID, the driver should return NDIS_STATUS_NOT_SUPPORTED. A miniport driver that supports this OID must also support the OIDOID_802_3_DELETE_MULTICAST_ADDRESS OID.
To receive multicast packets, the overlying driver must use the OID_GEN_CURRENT_PACKET_FILTER OID to set the packet filter NDIS_PACKET_TYPE_MULTICAST flag.
The overlying driver must also specify a list of multicast addresses. To specify the list, set the OID_802_3_MULTICAST_LIST OID or make multiple set requests with OID_802_3_ADD_MULITCAST_ADDRESS.
The miniport driver can set a limit on the number of multicast addresses that can be enabled simultaneously. To specify the maximum number of multicast addresses, set the MaxMulticastListSize member of the NDIS_MINIPORT_ADAPTER_GENERAL_ATTRIBUTES structure that the miniport driver passes to the NdisMSetMiniportAttributes function. For miniport drivers that are based on NDIS versions before NDIS 6.0, NDIS queries the maximum number of multicast addresses by sending an OID_802_3_MAXIMUM_LIST_SIZE OID request. NDIS returns NDIS_STATUS_MULTICAST_FULL if an OID_802_3_ADD_MULITCAST_ADDRESS request exceeds this limit.
To delete a previously added multicast address, make a set request with the OID_802_3_DELETE_MULTICAST_ADDRESS OID. The overlying driver can add a given multicast address multiple times. If NDIS succeeds the first add request for a given multicast address, NDIS will succeed all subsequent add requests for that address. To delete a multicast address that was added multiple times, the overlying driver must delete the address the same number of times that it added the address.
NDIS sends the miniport driver one request to set a given address for an adapter, regardless of the number of add requests that NDIS receives from overlying drivers.
Requirements
Header |
ntddndis.h |
See Also
Reference
NDIS 6.0 IEEE 802.3 OIDs
NDIS_MINIPORT_ADAPTER_GENERAL_ATTRIBUTES
NdisMSetMiniportAttributes
OID_802_3_DELETE_MULTICAST_ADDRESS
OID_802_3_MAXIMUM_LIST_SIZE
OID_802_3_MULTICAST_LIST
OID_GEN_CURRENT_PACKET_FILTER