NDIS_PD_CAPABILITIES 结构 (ntddndis.h)

此结构指示提供程序的 PD 功能。

语法

typedef struct _NDIS_PD_CAPABILITIES {
  NDIS_OBJECT_HEADER Header;
  ULONG              Flags;
  ULONG              MaximumTxPartialBufferCount;
  ULONG              MaximumRxPartialBufferCount;
  UCHAR              RxFilterContextWidth;
  ULONG              CapabilityFlags;
  ULONG              MaxNumberOfRxQueues;
  ULONG              MaxNumberOfTxQueues;
  ULONG              MaxNumberOfRxQueuesForDefaultVport;
  ULONG              MaxNumberOfTxQueuesForDefaultVport;
  ULONG              MaxNumberOfRxQueuesPerNonDefaultVport;
  ULONG              MaxNumberOfTxQueuesPerNonDefaultVport;
  ULONG              ExactMatchProfileArrayOffset;
  ULONG              ExactMatchProfileArrayNumElements;
  ULONG              ExactMatchProfileArrayElementSize;
  ULONG              WildcardMatchProfileArrayOffset;
  ULONG              WildcardMatchProfileArrayNumElements;
  ULONG              WildcardMatchProfileArrayElementSize;
  ULONG              MinimumModerationInterval;
  ULONG              MaximumModerationInterval;
  ULONG              ModerationIntervalGranularity;
  ULONG              MaxRxQueueSize;
  ULONG              MaxTxQueueSize;
} NDIS_PD_CAPABILITIES;

成员

Header

NDIS_PD_CAPABILITIES 结构的NDIS_OBJECT_HEADER结构。 按如下所示设置此结构的成员:

  • 类型 = NDIS_OBJECT_TYPE_DEFAULT
  • 修订 = NDIS_PD_CAPABILITIES_REVISION_1
  • 大小 = NDIS_SIZEOF_PD_CAPABILITIES_REVISION_1

Flags

此成员是保留的,必须设置为 0。

MaximumTxPartialBufferCount

提供程序支持的最大部分传输 PD_BUFFER 链长度。

MaximumRxPartialBufferCount

提供程序支持的最大部分接收 PD_BUFFER 链长度。

RxFilterContextWidth

提供程序支持的筛选器上下文宽度。 提供程序最多可以支持 64 位的宽度。

CapabilityFlags

包含提供程序支持的其他功能的标志。

标志 描述
NDIS_PD_CAPS_RECEIVE_FILTER_COUNTERS_SUPPORTED 此标志指示提供程序支持使用作为NDIS_PD_COUNTER枚举一部分的 PDCounterTypeReceiveFilter 类型创建计数器

MaxNumberOfRxQueues

提供程序支持的最大接收队列数。 这仅与 NdisPDAllocateQueue 例程创建的队列相关,因此此数字对于客户端不准确,因为客户端可以使用 NdisPDOnRssReceiveQueues 请求 PD 模式访问) 的其他预先存在的 RSS 队列 (在 NdisPDAllocateQueue 例程中未考虑。

如果提供程序仅支持客户端使用 NdisPDOnRssReceiveQueues 例程将预先存在的 RSS 队列置于 PD 模式,则提供程序可以将此值设置为 0。

MaxNumberOfTxQueues

提供程序可以使用 NdisPDAllocateQueue 例程创建的最大传输队列数。 提供程序不得将此值设置为 0。

MaxNumberOfRxQueuesForDefaultVport

提供程序支持的默认虚拟端口的最大接收队列数。

MaxNumberOfTxQueuesForDefaultVport

提供程序支持的默认虚拟端口的最大传输队列数。

MaxNumberOfRxQueuesPerNonDefaultVport

提供程序为非默认虚拟端口支持的最大接收队列数。

MaxNumberOfTxQueuesPerNonDefaultVport

提供程序为非默认虚拟端口支持的最大传输队列数。

ExactMatchProfileArrayOffset

NDIS_GFP_EXACT_MATCH_PROFILE 结构的数组的数组偏移量。

ExactMatchProfileArrayNumElements

NDIS_GFP_EXACT_MATCH_PROFILE 结构的数组的元素数。

ExactMatchProfileArrayElementSize

NDIS_GFP_EXACT_MATCH_PROFILE 结构的数组的元素数。

WildcardMatchProfileArrayOffset

NDIS_GFP_WILDCARD_MATCH_PROFILE 结构的数组的数组偏移量。

WildcardMatchProfileArrayNumElements

NDIS_GFP_WILDCARD_MATCH_PROFILE 结构的数组的元素数。

WildcardMatchProfileArrayElementSize

NDIS_GFP_WILDCARD_MATCH_PROFILE 结构的数组的元素数。

MinimumModerationInterval

MaximumModerationInterval

ModerationIntervalGranularity

MaxRxQueueSize

MaxTxQueueSize

注解

此结构必须在 8 字节边界上对齐。

如果提供程序具有支持最大 N 队列数的灵活实现,其中任何队列都可以灵活地用作 Rx 或 Tx 队列,则提供程序应为 MaxNumberOfRxQueues 和 MaxNumberOfTxQueues 值播发 ~N/2,因为客户端通常会创建匹配数量的 Rx 和 Tx 队列。

如果提供程序可以在虚拟端口之间灵活分区 Rx 或 Tx 队列,则可以将 NDIS_PD_QUEUE_COUNT_DYNAMIC 用于虚拟端口特定的最大计数。

要求

要求
最低受支持的客户端 Windows 10
最低受支持的服务器 Windows Server 2016
标头 ntddndis.h (包括 Ndis.h)

另请参阅

NDIS_OBJECT_HEADER