FddiCreateFilter

BOOLEAN
    FddiCreateFilter(
        IN UINT  MaximumMulticastLongAddresses,
        IN UINT  MaximumMulticastShortAddresses,
        IN FDDI_ADDRESS_CHANGE  AddressChangeAction,
        IN FDDI_FILTER_CHANGE  FilterChangeAction,
        IN FDDI_DEFERRED_CLOSE  CloseAction,
        IN PUCHAR  AdapterLongAddress,
        IN PUCHAR  AdapterShortAddress,
        IN PNDIS_SPIN_LOCK  Lock,
        OUT PFDDI_FILTER  *Filter
        );

FddiCreateFilter is called by the NIC driver. It creates and initializes an FDDI filter library database associated with one network interface card.

Parameters

MaximumMulticastLongAddresses
Specifies the maximum number of multicast long addresses to be supported by the filter.
MaximumMulticastShortAddresses
Specifies the maximum number of multicast short addresses to be supported by the filter.
AddressChangeAction
Specifies the address of the caller’s MacChangeFddiAddresses function, which the FDDI filter library calls when a change occurs in the list of multicast addresses that the network interface card enables.
FilterChangeAction
Specifies the address of the caller’s MacChangeFilter function, which the FDDI filter library calls when a binding sets or clears a particular filter class. The binding must be the first or only binding using the filter class.
CloseAction
Specifies the address of the caller’s MacCloseAction function, which the FDDI filter library calls if a binding closes while it is indicating incoming data through NdisIndicateReceive.
AdapterLongAddress
Points to the long network address of the network interface card.
AdapterShortAddress
Points to the short network address of the network interface card.
Lock
Points to an initialized spin lock that the driver holds when it requires exclusive access to the filter library database.
Filter
Points to a calling function location to which this function writes a pointer to the created filter.

Return Value

FddiCreateFilter returns TRUE if it creates the FDDI filter library database successfully.

Comments

The NIC driver uses the FDDI filter library to filter received network packets. Using the destination address of a received packet, the filter library determines the protocol driver bindings that receive indications for the packet.

Callers of FddiCreateFilter run at IRQL PASSIVE_LEVEL.

See Also

FddiDeleteFilter, MacChangeFddiAddresses, MacChangeFilter, MacCloseAction, NdisAllocateSpinLock, NdisIndicateReceive