OID_PACKET_COALESCING_FILTER_MATCH_COUNT

NDIS issues an OID query request of OID_PACKET_COALESCING_FILTER_MATCH_COUNT to obtain the number of packets that were cached, or coalesced, on the network adapter. The network adapter coalesces received packets if the adapter is enabled for NDIS packet coalescing and the packet matches a receive filter.

The InformationBuffer member of the NDIS_OID_REQUEST structure contains a pointer to a caller-allocated ULONG64 variable. Before a successful return from the query request, the driver updates the ULONG64 variable with the number of packets that have matched receive filters on the network adapter.

Remarks

Starting with NDIS 6.30, drivers that support NDIS packet coalescing must support OID query requests of OID_PACKET_COALESCING_FILTER_MATCH_COUNT.

Note  Drivers that support the single root I/O virtualization (SR-IOV) or virtual machine queue (VMQ) interfaces are not required to support OID query requests of this OID.

A miniport driver that supports packet coalescing must increment a ULONG64 counter for each received packet that was coalesced on the network adapter. Packets are coalesced if they match a receive filter, which overlying drivers download to the miniport driver through OID method requests of OID_RECEIVE_FILTER_SET_FILTER.

The driver returns the value of this counter when it handles an OID query request of OID_PACKET_COALESCING_FILTER_MATCH_COUNT.

The miniport driver must not clear the counter after it handles the OID query request of OID_PACKET_COALESCING_FILTER_MATCH_COUNT. The miniport driver must only clear the counter if the following conditions are true:

  • The miniport driver handles an OID set request of OID_PNP_SET_POWER to resume to a full-power state of NdisDeviceStateD0.

  • NDIS calls the miniport driver's MiniportResetEx function to reset the underlying network adapter.

For more information about packet coalescing, see NDIS Packet Coalescing.

Return status codes

The miniport driver returns one of the following status codes for the OID method request of OID_PACKET_COALESCING_FILTER_MATCH_COUNT:

NDIS_STATUS_SUCCESS
The OID request completed successfully.

NDIS_STATUS_INVALID_LENGTH
The information buffer was too short. The driver sets the DATA.SET_INFORMATION.BytesNeeded member in the NDIS_OID_REQUEST structure to the minimum buffer size that is required.

NDIS_STATUS_FAILURE
The request failed for other reasons.

Requirements

Version

Supported in NDIS 6.30 and later.

Header

Ntddndis.h (include Ndis.h)

See also

MiniportResetEx

NDIS_OID_REQUEST

OID_PNP_SET_POWER

OID_RECEIVE_FILTER_SET_FILTER