FddiQueryGlobalFilterLongAddresses

VOID
    FddiQueryGlobalFilterLongAddresses(
        OUT PNDIS_STATUS  Status,
        IN PFDDI_FILTER  Filter,
        IN UINT  SizeOfArray,
        OUT PUINT  NumberOfAddresses,
        IN OUT CHAR  AddressArray[][FDDI_LENGTH_OF_LONG_ADDRESS]
        );

FddiQueryGlobalFilterLongAddresses is called by the NIC driver to query the FDDI filter library database for a list of multicast long addresses associated with the network interface card.

Parameters

Status
Points to a caller-supplied variable in which this function returns the status of the query operation. Possible values are:

NDIS_STATUS_FAILURE
NDIS_STATUS_SUCCESS

Filter
Points to a previously created and initialized filter library database.
SizeOfArray
Specifies the byte count for the two-dimensional array that contains the addresses.
NumberOfAddresses
Points to the caller-supplied variable in which this function returns the number of multicast long addresses that it writes to the array.
AddressArray[][FDDI_LENGTH_OF_LONG_ADDRESS]
Specifies the two-dimensional, caller-supplied array in which this function writes multicast long addresses currently associated with the network interface card.

Comments

The NIC driver calls FddiQueryGlobalFilterLongAddresses before it alters hardware registers on the network interface card to effect filtering. The timing of the call is important if a binding has altered the multicast address list. Before calling this function, the NIC driver calls FDDI_NUMBER_OF_GLOBAL_FILTER_LONG_ADDRESSES to obtain the number of multicast long addresses to be retrieved.

A caller must be holding the database spin lock to call FddiQueryGlobalFilterLongAddresses, so the driver is running at IRQL DISPATCH_LEVEL.

See Also

FDDI_NUMBER_OF_GLOBAL_FILTER_LONG_ADDRESSES