NDIS_PD_QUEUE_PARAMETERS 结构 (ndis.h)
此结构用于在调用任何队列例程时保存传输或接收队列的参数。
语法
typedef struct _NDIS_PD_QUEUE_PARAMETERS {
NDIS_OBJECT_HEADER Header;
ULONG Flags;
NDIS_PD_QUEUE_TYPE QueueType;
ULONG QueueSize;
ULONG ReceiveDataLength;
GROUP_AFFINITY Affinity;
ULONG TrafficClassId;
ULONG MaximumPartialBufferCount;
NDIS_PD_COUNTER_HANDLE CounterHandle;
} NDIS_PD_QUEUE_PARAMETERS;
成员
Header
NDIS_PD_CONFIG 结构的NDIS_OBJECT_HEADER结构。 按如下所示设置此结构的成员:
- 类型 = NDIS_OBJECT_TYPE_DEFAULT
- 修订 = NDIS_PD_QUEUE_PARAMETERS_REVISION_1
- 大小 = NDIS_SIZEOF_PD_QUEUE_PARAMETERS_REVISION_1
Flags
此成员是保留成员,提供程序必须将其设置为 0。
QueueType
队列的类型。 有关详细信息,请参阅 NDIS_PD_QUEUE_TYPE。
QueueSize
此队列可以容纳的最大 PD_BUFFER 结构数量始终等于 2^k () -1 (63、127、255、511、1023 等 ) 形式的数字。 这适用于高效的循环索引算术。
ReceiveDataLength
最小 PD_BUFFER 数据长度。
Affinity
处理器相关性是针对性能优化的提供程序的提示。 平台将主要处理此掩码指示的处理器上的队列。 提供程序必须将此值设置为派生自从 OID_GEN_RECEIVE_SCALE_PARAMETERS
TrafficClassId
MaximumPartialBufferCount
对于传输队列,这是允许客户端链接在一起形成单个 L2 数据包的部分 PD_BUFFER 结构的最大数目。 此值必须等于 NDIS_PD_CAPABILITIES 结构中的 MaximumTxPartialBufferCount 值。
对于接收队列,这是允许提供程序链接在一起以使用 RSC 形成单个大型 L2 数据包的部分 PD_BUFFER 结构的最大数目。 这必须小于或等于 NDIS_PD_CAPABILITIES 结构中的 MaximumRxPartialBufferCount 值。
CounterHandle
这是传输队列的传输队列计数器的句柄,以及用于接收队列的接收队列计数器。在创建队列期间,客户端可以选择提供计数器句柄。 在这种情况下,提供程序必须在队列上发生活动时更新计数器值,具体取决于队列类型。 客户端仅负责在队列关闭后关闭计数器句柄。
对于不是由客户端直接创建的队列(例如使用 NdisPDOnRssReceiveQueues例程获取的 RSS 接收队列),提供程序必须始终具有与队列关联的计数器句柄。 也就是说,对于一组给定的 RSS 接收队列,提供程序必须为每个接收队列设置一个专用的接收队列计数器。
注解
此结构必须在 8 字节边界上对齐。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 10 |
最低受支持的服务器 | Windows Server 2016 |
标头 | ndis.h |