Overlying drivers issue OID query requests of OID_RECEIVE_FILTER_HARDWARE_CAPABILITIES to obtain the receive filtering hardware capabilities of a network adapter.
NDIS receive filters are used in the following NDIS interfaces:
The NDIS_RECEIVE_FILTER_CAPABILITIES structure contains information about the receive filtering hardware capabilities of a network adapter. These capabilities can include hardware capabilities that are currently disabled by INF file settings or through the Advanced properties page.
Note All the receive filtering hardware capabilities of a network adapter are returned through an OID query request of OID_RECEIVE_FILTER_HARDWARE_CAPABILITIES, regardless of whether a capability is enabled or disabled.
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:
The driver initializes an NDIS_RECEIVE_FILTER_CAPABILITIES structure with the receive filtering hardware capabilities.
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.
NDIS handles the OID query request of OID_RECEIVE_FILTER_HARDWARE_CAPABILITIES for miniport drivers, and returns one of the following status codes:
The request completed successfully. The InformationBuffer points to an NDIS_RECEIVE_FILTER_CAPABILITIES 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 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.
The network adapter does not support receive filtering.
The request failed for other reasons.
|Supported in NDIS 6.20 and later.|