NDIS_RECEIVE_QUEUE_INFO structure (ntddndis.h)
The NDIS_RECEIVE_QUEUE_INFO structure contains information about a receive queue on a network adapter.
Syntax
typedef struct _NDIS_RECEIVE_QUEUE_INFO {
NDIS_OBJECT_HEADER Header;
ULONG Flags;
NDIS_RECEIVE_QUEUE_TYPE QueueType;
NDIS_RECEIVE_QUEUE_ID QueueId;
NDIS_RECEIVE_QUEUE_GROUP_ID QueueGroupId;
NDIS_RECEIVE_QUEUE_OPERATIONAL_STATE QueueState;
GROUP_AFFINITY ProcessorAffinity;
ULONG NumSuggestedReceiveBuffers;
ULONG MSIXTableEntry;
ULONG LookaheadSize;
NDIS_VM_NAME VmName;
NDIS_QUEUE_NAME QueueName;
ULONG NumFilters;
ULONG InterruptCoalescingDomainId;
} NDIS_RECEIVE_QUEUE_INFO, *PNDIS_RECEIVE_QUEUE_INFO;
Members
Header
The type, revision, and size of the NDIS_RECEIVE_QUEUE_INFO 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_QUEUE_INFO structure, the driver must set the Revision member of Header to one of the following values:
NDIS_RECEIVE_QUEUE_INFO_REVISION_2
Added additional members for NDIS 6.30.
Set the Size member to NDIS_SIZEOF_RECEIVE_QUEUE_INFO_REVISION_2.
NDIS_RECEIVE_QUEUE_INFO_REVISION_1
Original version for NDIS 6.20.
Set the Size member to NDIS_SIZEOF_RECEIVE_QUEUE_INFO_REVISION_1.
Flags
A ULONG value that contains a bitwise OR of flags. This member is reserved for NDIS.
QueueType
An NDIS_RECEIVE_QUEUE_TYPE enumeration value that specifies the type of the receive queue.
QueueId
An NDIS_RECEIVE_QUEUE_ID type value that contains a receive queue identifier. This identifier is an integer value 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.
QueueGroupId
This member is reserved for NDIS.
QueueState
An NDIS_RECEIVE_QUEUE_OPERATIONAL_STATE enumeration value that specifies the operational state of the receive queue.
ProcessorAffinity
A GROUP_AFFINITY bitmap that specifies the CPU that the queue has affinity with. For example, setting bit 0 indicates that CPU 0 is used, setting bit 1 indicates that CPU 1 is used, and so on. Because a VM queue is associated with one CPU, all receive indications for the queue are handled on that processor.
NumSuggestedReceiveBuffers
A ULONG value that contains a suggested value for the number of receive buffers that the network adapter should use to support the queue. This number can be adjusted relative to the resources that the miniport driver has available or in proportion to the number that the network adapter uses for other queues. For example, the actual number of receive buffers could be double or half of this suggested value.
MSIXTableEntry
A ULONG value that contains the MSI-X table entry index for the queue.
LookaheadSize
A ULONG value for the size, in bytes, of the lookahead size requirement for this queue. A network adapter that supports lookahead in VM queues splits a received packet at an offset that is equal to or greater than the requested lookahead size and uses DMA to transfer the lookahead data and the post-lookahead data to separate shared memory segments.
VmName
An NDIS_VM_NAME value that contains the user-friendly description of the virtual machine.
QueueName
An NDIS_QUEUE_NAME value that contains the user-friendly description of the queue.
NumFilters
A ULONG value that specifies the number of receive filters that have been configured on the network adapter.
InterruptCoalescingDomainId
A ULONG value that is reserved for use by NDIS. This value is used for informational purposes by the miniport driver.
Remarks
The NDIS_RECEIVE_QUEUE_INFO structure is used with the NDIS_RECEIVE_QUEUE_INFO_ARRAY structure for the OID_RECEIVE_FILTER_ENUM_QUEUES OID that enumerates receive queues on a network adapter.
With a successful return from the OID_RECEIVE_FILTER_ENUM_QUEUES, NDIS provides an NDIS_RECEIVE_QUEUE_INFO_ARRAY structure that defines the properties of the receive queue array. Each element in the array is an NDIS_RECEIVE_QUEUE_INFO structure.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Supported in NDIS 6.20 and later. |
Header | ntddndis.h (include Ndis.h) |
See also
NDIS_RECEIVE_QUEUE_OPERATIONAL_STATEOID_RECEIVE_FILTER_CLEAR_FILTER