EthQueryGlobalFilterAddresses

This function is called by the NIC driver to query the Ethernet filter library database for a list of multicast addresses associated with the network interface card.

At a Glance

Header file: Ndis.h
Windows CE versions: 2.0 and later

Syntax

VOID EthQueryGlobalFilterAddresses( OUT PNDIS_STATUS Status,
IN PETH_FILTER
Filter, IN UINT SizeOfArray,
OUT PUINT
NumberOfAddresses,
IN OUT CHAR
AddressArray[][ETH_LENGTH_OF_ADDRESS] );

Parameters

Status
Points to a caller-supplied variable in which this function returns the status of the query operation. Possible values are the following:
Filter
Pointer to a previously created and initialized filter library database.
SizeOfArray
Specifies the byte count for the 2-D array to hold the addresses.
NumberOfAddresses
Pointer to the caller-supplied variable in which this function returns the number of addresses that it writes to the array.
AddressArray[][ETH_LENGTH_OF_ADDRESS]
Specifies the 2-D caller-supplied array in which this function returns addresses currently associated with the network interface card.

Remarks

The NIC driver calls this function before it alters 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 uses the ETH_NUMBER_OF_GLOBAL_FILTER_ADDRESSES macro to obtain the number of multicast addresses to be retrieved.

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