NDIS_STATUS
MacChangeEthAddresses(
IN UINT OldAddressCount,
IN CHAR OldAddresses[][ETH_LENGTH_OF_ADDRESS],
IN UINT NewAddressCount,
IN CHAR NewAddresses[][ETH_LENGTH_OF_ADDRESS],
IN NDIS_HANDLE MacBindingHandle,
IN PNDIS_REQUEST NdisRequest,
IN BOOLEAN Set
);
MacChangeEthAddresses is a NIC driver action function the Ethernet filter library calls when the multicast address list changes.
MacChangeEthAddresses can return the following status codes:
NDIS_STATUS_PENDING
NDIS_STATUS_RESET_IN_PROGRESS
NDIS_STATUS_SUCCESS
The NIC driver supplied the entry point for MacChangeEthAddresses when it called EthCreateFilter to set up the Ethernet filter database.
EthChangeFilterAddresses, which the NIC driver calls after it acquires the filter database spin lock, actually calls MacChangeEthAddresses only after checking the current multicast address list for all bound protocols and determining that it requires changes.
If MacChangeEthAddresses returns anything other than NDIS_STATUS_SUCCESS or NDIS_STATUS_PENDING, EthChangeFilterAddresses discards any changes this function made to the multicast address list.
MacChangeEthAddresses runs at IRQL DISPATCH_LEVEL.
EthChangeFilterAddresses, EthCreateFilter, MacAddAdapter, NdisAcquireSpinLock