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 此标志指示提供程序支持使用 PDCounterTypeReceiveFilter 类型创建计数器,该类型是 NDIS_PD_COUNTER 枚举的一部分

MaxNumberOfRxQueues

提供程序支持的最大接收队列数。 这仅与 NdisPDAllocateQueue 例程创建的队列相关, 因此,此数字对于客户端不准确,因为其他预先存在的 RSS 队列(客户端可以请求 PD 模式访问以使用 NdisPDOnRssReceiveQueues)不会在 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 队列,则提供程序应播发 ~N/2 作为 MaxNumberOfRxQueues 和 MaxNumberOfTxQueues 值,因为客户端通常会创建匹配数量的 Rx 和 Tx 队列。

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

要求

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

另请参阅

NDIS_OBJECT_HEADER