NDIS_STATUS
EthChangeFilterAddresses(
IN PETH_FILTER Filter,
IN NDIS_HANDLE NdisFilterHandle,
IN PNDIS_REQUEST NdisRequest,
IN UINT AddressCount,
IN CHAR Addresses[][ETH_LENGTH_OF_ADDRESS],
IN BOOLEAN Set
);
EthChangeFilterAddresses is called by a NIC driver to attempt to change the multicast address list for a binding filter in the Ethernet filter library database.
EthChange FilterAddresses can return the following status codes:
NDIS_STATUS_MULTICAST_FULL
NDIS_STATUS_PENDING
NDIS_STATUS_SUCCESS
If EthChangeFilterAddresses does not change the multicast address list for a binding filter, it has no effect on the filter address list or the multicast address list for the MIC. If this function does change the filter address list, it calls a NIC driver action function and waits for it to return. If the action function returns a status code that indicates neither pending nor success, EthChangeFilterAddresses restores the filter library database to its original state.
A caller must be holding the database spin lock to call EthChangeFilterAddresses, so the driver is running at IRQL DISPATCH_LEVEL.