Filter Module Status Indications
Filter drivers can supply a FilterStatus function that NDIS calls when an underlying driver reports status. Filter drivers can also initiate status indications.
The following figure illustrates a filtered status indication.
NDIS calls a filter driver's FilterStatus function, after an underlying driver calls a status indication function (NdisMIndicateStatusEx or NdisFIndicateStatus). For more information about how to indicate status from a miniport driver, see Adapter Status Indications.
A filter driver calls NdisFIndicateStatus in its FilterStatus function, to pass on a filtered status indication to overlying drivers. A filter driver can filter out status indications (by not calling NdisFIndicateStatus) or modify the indicated status before it calls NdisFIndicateStatus.
To originate status indications, filter drivers call NdisFIndicateStatus without a prior call to FilterStatus.
In this case, the filter driver should set the SourceHandle member to the handle that NDIS passed to the NdisFilterHandle parameter of the FilterAttach function. If the status indication is associated with an OID request, the filter driver can set the DestinationHandle and RequestId members so that NDIS can provide the status indication to a specific protocol binding.
After a filter driver calls NdisFIndicateStatus, NDIS calls the status function (ProtocolStatusEx or FilterStatus) of the next overlying driver.