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
  );

Routine Description:

	The ChangeFilterAddress routine will call an action
	routine when the overall multicast address list for the adapter
	has changed.

	If the action routine returns a value other than pending or
	success then this routine has no effect on the multicast address
	list for the open or for the adapter as a whole.

	NOTE: THIS ROUTINE ASSUMES THAT THE LOCK IS HELD.

Arguments:

	Filter - A pointer to the filter database.

	NdisFilterHandle - Pointer to the open.

	NdisRequest - If it is necessary to call the action routine,
	this will be passed to it.

	AddressCount - The number of elements (addresses,
	not bytes) in MulticastAddressList.

	Addresses - The new multicast address list for this
	binding. This is a sequence of ETH_LENGTH_OF_ADDRESS byte
	addresses, with no padding between them.

	Set - A boolean that determines whether the multicast addresses
	are being adjusted due to a set or because of a close. (The filtering
	routines don't care, the MAC might.)

Return Value:

	If it calls the action routine then it will return the
	status returned by the action routine.  If the status
	returned by the action routine is anything other than
	NDIS_STATUS_SUCCESS or NDIS_STATUS_PENDING the filter database
	will be returned to the state it was in upon entrance to this
	routine.

	If the action routine is not called this routine will return
	the following statum:

	NDIS_STATUS_SUCCESS - If the new packet filters doesn't change
	the combined mask of all bindings packet filters.