An overlying driver issues an OID method request of OID_RECEIVE_FILTER_PARAMETERS to obtain the current configuration parameters of a filter on a network adapter.
The InformationBuffer member of the NDIS_OID_REQUEST structure contains a pointer to an NDIS_RECEIVE_FILTER_PARAMETERS structure. NDIS uses the FilterId member in the input structure to identify the filter.
After a successful return from the OID method request, the InformationBuffer member of the NDIS_OID_REQUEST structure contains a pointer to a buffer. This buffer is formatted to contain the following:
An NDIS_RECEIVE_FILTER_PARAMETERS structure that specifies the parameters for an NDIS receive filter.
An array of NDIS_RECEIVE_FILTER_FIELD_PARAMETERS structures that specifies the filter test criterion for a field in a network packet header.
NDIS receive filters are used in the following NDIS interfaces:
Overlying drivers issue OID method requests of OID_RECEIVE_FILTER_PARAMETERS to obtain the configuration parameters for a receive filter that was set on a network adapter. This includes a receive filter that was set on a VMQ receive queue or SR-IOV virtual port (VPort), as well as a packet coalescing filter that was downloaded to the miniport driver.
NDIS handles the OID request of OID_RECEIVE_FILTER_PARAMETERS for miniport drivers, and returns one of the following status codes:
The request completed successfully. The InformationBuffer points to an NDIS_RECEIVE_FILTER_PARAMETERS structure.
The request is pending completion. NDIS passes the final status code and results to the OID request completion handler of the caller after the request is complete.
The overlying driver or application provided an invalid filter identifier. A filter identifier is not valid if it is zero or if it specifies an undefined filter.
The information buffer was too short. NDIS sets the DATA.QUERY_INFORMATION.BytesNeeded member in the NDIS_OID_REQUEST structure to the minimum buffer size that is required.
The request failed for other reasons.
|Supported in NDIS 6.20 and later.|