FddiQueryOpenFilterLongAddresses

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

FddiQueryOpenFilterLongAddresses is called by the NIC driver to query the FDDI filter library for a list of multicast long addresses associated with a binding.

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.

NdisFilterHandle

Specifies the handle that the filter library associates with the binding filter.

SizeOfArray

Specifies the byte count for the two-dimensional array to contain the multicast long 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 binding.

Comments

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

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

See Also

FddiNumberOfOpenFilterLongAddresses