EthFilterAdjust

NDIS_STATUS
    EthFilterAdjust(
        IN PETH_FILTER  Filter,
        IN NDIS_HANDLE  NdisFilterHandle,
        IN PNDIS_REQUEST  NdisRequest,
        IN UINT  FilterClasses,
        IN BOOLEAN  Set
        );

EthFilterAdjust is called by a NIC driver to adjust an Ethernet filter library database.

Parameters

Filter
Points to a previously created and initialized filter library database.
NdisFilterHandle
Specifies the handle that the filter library associates with the binding filter.
NdisRequest
Points to the request structure that this function passes to a NIC driver action function.
FilterClasses
Specifies a bitmap of filter classes that this function adds and deletes.
Set
Specifies TRUE if changes do not result from the closing of the binding. This function does not use Set but passes it to a NIC driver action function.

Return Value

EthFilterAdjust can return the following status codes:

NDIS_STATUS_PENDING
NDIS_STATUS_RESET_IN_PROGRESS
NDIS_STATUS_SUCCESS

Comments

EthFilterAdjust calls a NIC driver’s function if no binding has used a particular filter class and at least one binding starts using that class. The function also calls an action function for the reverse situation. If the NIC driver action function returns a status code that indicates neither pending nor success, EthFilterAdjust restores the filter library database to its original state.

The NIC driver must be holding the filter library spinlock when it calls this function.

Callers of EthFilterAdjust run at IRQL DISPATCH_LEVEL.