BOOLEAN TrCreateFilter( IN TR_ADDRESS_CHANGE AddressChangeAction, IN TR_GROUP_CHANGE GroupChangeAction, IN TR_FILTER_CHANGE FilterChangeAction, IN TR_DEFERRED_CLOSE CloseAction, IN PUCHAR AdapterAddress, IN PNDIS_SPIN_LOCK Lock, OUT PTR_FILTER *Filter ); Routine Description: This routine is used to create and initialize the filter database. Arguments: AddressChangeAction - Action routine to call when the ORing together of the functional address desired by all the bindings had changed. GroupChangeAction - Action routine to call when the group address desired by all the bindings had changed. FilterChangeAction - 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 a TR_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.