NDIS_RECEIVE_QUEUE_INFO 结构 (ntddndis.h)

NDIS_RECEIVE_QUEUE_INFO 结构包含有关网络适配器上的接收队列的信息。

语法

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;

成员

Header

NDIS_RECEIVE_QUEUE_INFO 结构的类型、修订版本和大小。 此成员的格式设置为 NDIS_OBJECT_HEADER 结构。

微型端口驱动程序必须将 HeaderType 成员设置为NDIS_OBJECT_TYPE_DEFAULT。 若要指定 NDIS_RECEIVE_QUEUE_INFO 结构的版本,驱动程序必须将 HeaderRevision 成员设置为以下值之一:

NDIS_RECEIVE_QUEUE_INFO_REVISION_2

为 NDIS 6.30 添加了其他成员。

注意此结构的修订版 2 仅在 Windows Server 2012 及更高版本的 Windows Server 上受支持。

Size 成员设置为 NDIS_SIZEOF_RECEIVE_QUEUE_INFO_REVISION_2

NDIS_RECEIVE_QUEUE_INFO_REVISION_1

NDIS 6.20 的原始版本。

Size 成员设置为 NDIS_SIZEOF_RECEIVE_QUEUE_INFO_REVISION_1

Flags

包含标志的按位 ORULONG 值。 此成员是为 NDIS 保留的。

QueueType

一个NDIS_RECEIVE_QUEUE_TYPE枚举值,该值指定接收队列的类型。

QueueId

包含接收队列标识符 NDIS_RECEIVE_QUEUE_ID 类型值。 此标识符是介于零和网络适配器支持的队列数之间的整数值。 值 NDIS_DEFAULT_RECEIVE_QUEUE_ID 指定默认接收队列。

QueueGroupId

此成员是为 NDIS 保留的。

QueueState

一个NDIS_RECEIVE_QUEUE_OPERATIONAL_STATE枚举值,该值指定接收队列的操作状态。

ProcessorAffinity

一个GROUP_AFFINITY位图,指定队列与之关联的 CPU。 例如,设置位 0 表示使用 CPU 0,设置位 1 表示使用 CPU 1,依此。 由于 VM 队列与一个 CPU 相关联,因此队列的所有接收指示都在该处理器上处理。

NumSuggestedReceiveBuffers

一个 ULONG 值,该值包含网络适配器应用于支持队列的接收缓冲区数的建议值。 此数字可以相对于微型端口驱动程序可用的资源进行调整,也可以与网络适配器用于其他队列的数量成比例进行调整。 例如,接收缓冲区的实际数目可以是此建议值的两倍或一半。

MSIXTableEntry

包含队列的 MSI-X 表条目索引的 ULONG 值。

LookaheadSize

此队列的查找大小要求的大小(以字节为单位)的 ULONG 值。 在 VM 队列中支持 lookahead 的网络适配器在等于或大于所请求的查找标头大小的偏移量处拆分接收的数据包,并使用 DMA 传输查找头数据和后视头数据来分隔共享内存段。

注意 从 NDIS 6.30 开始,不再支持将数据包拆分为单独的观察缓冲区。 此成员的值必须设置为零。

VmName

一个NDIS_VM_NAME值,该值包含虚拟机的用户友好说明。

QueueName

包含队列的用户友好说明 的NDIS_QUEUE_NAME 值。

NumFilters

一个 ULONG 值,该值指定在网络适配器上配置的接收筛选器数。

注意 从 NDIS 6.30 开始,微型端口驱动程序必须为网络适配器上设置的当前接收筛选器数维护计数器。 每次通过 OID_RECEIVE_FILTER_SET_FILTER 的 OID 集请求设置接收筛选器时,驱动程序都必须递增计数器。 每次通过OID_RECEIVE_FILTER_CLEAR_FILTER的 OID 集请求清除接收筛选器时,驱动程序还必须递减计数器。

InterruptCoalescingDomainId

保留供 NDIS 使用的 ULONG 值。 此值由微型端口驱动程序用于提供信息。

注解

NDIS_RECEIVE_QUEUE_INFO 结构与 的NDIS_RECEIVE_QUEUE_INFO_ARRAY 结构 OID_RECEIVE_FILTER_ENUM_QUEUES 枚举网络适配器上的接收队列的 OID。

OID_RECEIVE_FILTER_ENUM_QUEUES成功返回后,NDIS 提供定义接收队列数组属性 的NDIS_RECEIVE_QUEUE_INFO_ARRAY 结构。 数组中的每个元素都是 NDIS_RECEIVE_QUEUE_INFO 结构。

要求

要求
最低受支持的客户端 在 NDIS 6.20 及更高版本中受支持。
标头 ntddndis.h (包括 Ndis.h)

另请参阅

NDIS_OBJECT_HEADER

NDIS_RECEIVE_QUEUE_INFO_ARRAY

NDIS_RECEIVE_QUEUE_OPERATIONAL_STATE

NDIS_RECEIVE_QUEUE_TYPE

OID_RECEIVE_FILTER_CLEAR_FILTER

OID_RECEIVE_FILTER_ENUM_QUEUES

OID_RECEIVE_FILTER_SET_FILTER