OID_802_3_DELETE_MULTICAST_ADDRESS
As a set request, NDIS and overlying protocol drivers use the OID_802_3_DELETE_MULTICAST_ADDRESS OID to delete a previously added multicast address from the multicast address list of a miniport adapter. The multicast address is an array of 6 bytes. Deleting an address disables that address so that it can no longer receive multicast packets.
Version Information
NDIS 6.0 and later miniport drivers
Not requested.
Remarks
The InformationBuffer member of the NDIS_OID_REQUEST structure contains the 6-byte address to be deleted from the multicast address list.
The OID_802_3_DELETE_MULTICAST_ADDRESS OID request can delete only one address. To delete more than one address, the protocol driver must issue multiple OID_802_3_DELETE_MULTICAST_ADDRESS OID requests.
NDIS miniport drivers do not receive this OID request directly. Instead, NDIS consolidates each sequence of OID_802_3_ADD_MULTICAST_ADDRESS and OID_802_3_DELETE_MULTICAST_ADDRESS OID requests into a single OID_802_3_MULTICAST_LIST OID request.
To replace or delete the entire multicast list, the protocol driver can use the OID_802_3_MULTICAST_LIST OID request.
To add an address to the list, the protocol driver can use the OID_802_3_ADD_MULTICAST_ADDRESS OID request.
The overlying protocol driver can add a given multicast address multiple times by sending multiple OID_802_3_ADD_MULTICAST_ADDRESS OID requests. 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 more than once, the overlying driver must delete the address the same number of times that it added the address.
Return status codes
The miniport driver's MiniportOidRequest function returns one of the following values for this request:
Term | Description |
---|---|
NDIS_STATUS_SUCCESS |
The miniport driver completed the request successfully. |
NDIS_STATUS_PENDING |
The miniport driver will complete the request asynchronously. After the miniport driver has completed all processing, it must succeed the request by calling the NdisMOidRequestComplete function, passing NDIS_STATUS_SUCCESS for the Status parameter. |
NDIS_STATUS_NOT_ACCEPTED |
The miniport driver is resetting. |
NDIS_STATUS_REQUEST_ABORTED |
The miniport driver stopped processing the request. For example, NDIS called the MiniportResetEx function. |
Requirements
Header |
Ntddndis.h (include Ndis.h) |