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
这是传输队列的传输队列计数器的句柄,也是接收队列的接收队列计数器。在队列创建期间,客户端可以选择提供计数器句柄。 在这种情况下,根据队列类型,提供程序必须更新计数器值,因为队列上发生活动。 客户端负责仅在队列关闭后关闭计数器句柄。
对于客户端未直接创建的队列(例如 RSS 接收使用 NdisPDOnRssReceiveQueues例程获取的队列),提供程序必须始终具有与队列关联的计数器句柄。 也就是说,对于给定的一组 RSS 接收队列,提供程序必须为每个接收队列具有一个专用接收队列计数器。
言论
此结构必须在 8 字节边界上对齐。
要求
要求 | 价值 |
---|---|
最低支持的客户端 | Windows 10 |
支持的最低服务器 | Windows Server 2016 |
标头 | ndis.h |