BOOLEAN
EthCreateFilter(
  IN  UINT MaximumMulticastAddresses,
  IN  ETH_ADDRESS_CHANGE AddressChangeAction,
  IN  ETH_FILTER_CHANGE FilterChangeAction,
  IN  ETH_DEFERRED_CLOSE CloseAction,
  IN  PUCHAR AdapterAddress,
  IN  PNDIS_SPIN_LOCK Lock,
  OUT PETH_FILTER *Filter
  );

Routine Description:

	This routine is used to create and initialize the filter database.

Arguments:

	MaximumMulticastAddresses - The maximum number of multicast addresses
	that the MAC will support.

	AddressChangeAction - Action routine to call when the list of
	multicast addresses the card must enable has changed.

	ChangeAction - Action routine to call when a binding sets or clears
	a particular filter class and it is the first or only binding using
	the filter class.

	CloseAction - This routine is called if a binding closes while
	it is being indicated to via NdisIndicateReceive.  It will be
	called upon return from NdisIndicateReceive.

	AdapterAddress - the address of the adapter associated with this filter
	database.

	Lock - Pointer to the lock that should be held when mutual exclusion
	is required.

	Filter - A pointer to an ETH_FILTER.  This is what is allocated and
	created by this routine.

Return Value:

	If the function returns false then one of the parameters exceeded
	what the filter was willing to support.