OID_RECEIVE_FILTER_CURRENT_CAPABILITIES

Overlying drivers issue OID query requests of OID_RECEIVE_FILTER_CURRENT_CAPABILITIES to obtain the currently enabled receive filtering capabilities of a network adapter.

After a successful return from the OID query request, the InformationBuffer member of the NDIS_OID_REQUEST structure contains a pointer to an NDIS_RECEIVE_FILTER_CAPABILITIES structure.

Remarks

NDIS receive filters are used in the following NDIS interfaces:

Starting with NDIS 6.20, miniport drivers register the currently enabled receive filtering hardware capabilities of the network adapter when its MiniportInitializeEx function is called. Miniport drivers register these capabilities by following these steps:

  1. The driver initializes an NDIS_RECEIVE_FILTER_CAPABILITIES structure with the currently enabled receive filtering hardware capabilities.

  2. The driver initializes an NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES structure and sets the CurrentReceiveFilterCapabilities member to a pointer to the NDIS_RECEIVE_FILTER_CAPABILITIES structure.

  3. The miniport driver calls the NdisMSetMiniportAttributes function and sets the MiniportAttributes parameter to a pointer to an NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES structure.

Overlying protocol and filter drivers do not have to issue OID query requests of OID_RECEIVE_FILTER_CURRENT_CAPABILITIES. NDIS provides the currently enabled receive filtering capabilities to these drivers in the following way:

  • NDIS provides the currently enabled receive filtering capabilities of an underlying network adapter to overlying protocol drivers in the ReceiveFilterCapabilities member of the NDIS_BIND_PARAMETERS structure during the bind operation.

  • NDIS provides the currently enabled receive filtering capabilities of an underlying network adapter to overlying filter drivers in the ReceiveFilterCapabilities member of the NDIS_FILTER_ATTACH_PARAMETERS structure during the attach operation.

Return status codes

NDIS handles the OID query request of OID_RECEIVE_FILTER_CURRENT_CAPABILITIES for miniport drivers, and returns one of the following status codes:

NDIS_STATUS_SUCCESS
The request completed successfully. The InformationBuffer points to an NDIS_RECEIVE_FILTER_CAPABILITIES structure.

NDIS_STATUS_PENDING
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 has completed.

NDIS_STATUS_INVALID_LENGTH
The information buffer was too short. NDIS set the DATA.QUERY_INFORMATION.BytesNeeded member in the NDIS_OID_REQUEST structure to the minimum buffer size that is required.

NDIS_STATUS_NOT_SUPPORTED
The network adapter does not support receive filtering.

NDIS_STATUS_FAILURE
The request failed for other reasons.

Requirements

Version

Supported in NDIS 6.20 and later.

Header

Ntddndis.h (include Ndis.h)

See also

NDIS_BIND_PARAMETERS

NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES

NDIS_OID_REQUEST

NDIS_RECEIVE_FILTER_CAPABILITIES