NDIS_RECEIVE_FILTER_INFO_ARRAY structure (ntddndis.h)

The NDIS_RECEIVE_FILTER_INFO_ARRAY structure specifies a list of receive filters that are currently configured on a miniport driver.

NDIS receive filters are used in the following NDIS interfaces:

Syntax

typedef struct _NDIS_RECEIVE_FILTER_INFO_ARRAY {
  NDIS_OBJECT_HEADER       Header;
  NDIS_RECEIVE_QUEUE_ID    QueueId;
  ULONG                    FirstElementOffset;
  ULONG                    NumElements;
  ULONG                    ElementSize;
  ULONG                    Flags;
  NDIS_NIC_SWITCH_VPORT_ID VPortId;
} NDIS_RECEIVE_FILTER_INFO_ARRAY, *PNDIS_RECEIVE_FILTER_INFO_ARRAY;

Members

Header

The type, revision, and size of the NDIS_RECEIVE_FILTER_INFO_ARRAY structure. This member is formatted as an NDIS_OBJECT_HEADER structure.

The miniport driver must set the Type member of Header to NDIS_OBJECT_TYPE_DEFAULT. To specify the version of the NDIS_RECEIVE_FILTER_INFO_ARRAY structure, the driver must set the Revision member of Header to the following value:

NDIS_SIZEOF_RECEIVE_FILTER_INFO_ARRAY_REVISION_2

Added members for NDIS 6.30.

Set the Size member to NDIS_SIZEOF_RECEIVE_FILTER_INFO_ARRAY_REVISION_2.

NDIS_SIZEOF_RECEIVE_FILTER_INFO_ARRAY_REVISION_1

Original version for NDIS 6.20.

Set the Size member to NDIS_SIZEOF_RECEIVE_FILTER_INFO_ARRAY_REVISION_1.

QueueId

A receive queue identifier. This identifier is an integer between zero and the number of queues that the network adapter supports. A value of NDIS_DEFAULT_RECEIVE_QUEUE_ID specifies the default receive queue.

Note  Miniport drivers that support NDIS packet coalescing or SR-IOV interface must set the QueueId member to NDIS_DEFAULT_RECEIVE_QUEUE_ID.
 

FirstElementOffset

The offset, in bytes, to the first element in an array of elements that follow this structure. The offset is measured from the start of the NDIS_RECEIVE_FILTER_INFO_ARRAY structure up to the beginning of the first element. Each element in the array is an NDIS_RECEIVE_FILTER_INFO structure.

Note  If NumElements is set to zero, this member is ignored.
 

NumElements

The number of elements in the array.

ElementSize

The size, in bytes, of each element in the array.

Flags

A bitwise OR of the following flags:

NDIS_RECEIVE_FILTER_INFO_ARRAY_VPORT_ID_SPECIFIED

If this flag is set, information is requested about receive filters that are configured on the virtual port (VPort) specified by the VPortId member.

Note  This flag is only valid for the SR-IOV interface.
 

VPortId

The virtual port (VPort) identifier on which receive filters are being queried. The VPort identifier must be one of the following values:

  • The identifier of a VPort that was previously allocated through an OID method request of OID_NIC_SWITCH_CREATE_VPORT.

  • A value of NDIS_DEFAULT_VPORT_ID that specifies the default VPort on the NIC switch.
A NIC switch is supported by network adapters for the SR-IOV interface. The NIC switch can be configured to have one or more VPorts.
Note  The VPortId member is only valid if the NDIS_RECEIVE_FILTER_INFO_ARRAY_VPORT_ID_SPECIFIED flag is set in Flags.
 

Remarks

The NDIS_RECEIVE_FILTER_INFO_ARRAY structure is used in the OID request of OID_RECEIVE_FILTER_ENUM_FILTERS. This OID request enumerates the receive filters on a VMQ or SR-IOV receive queue. Each element in the array that follows the NDIS_RECEIVE_FILTER_INFO_ARRAY structure is an NDIS_RECEIVE_FILTER_INFO structure.

Requirements

Requirement Value
Minimum supported client Supported in NDIS 6.20 and later.
Header ntddndis.h (include Ndis.h)

See also

NDIS_OBJECT_HEADER

NDIS_RECEIVE_FILTER_INFO

OID_NIC_SWITCH_CREATE_VPORT

OID_RECEIVE_FILTER_ENUM_FILTERS