共用方式為


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 模式存取,不會計入 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 佇列,提供者應該針對 MaxNumberOfTxQueues 值公告 ~N/2,因為用戶端通常會建立相符的 Rx 和 Tx 隊列數目。

如果提供者可以在虛擬埠之間彈性分割 Rx 或 Tx 佇列,則可以針對虛擬埠特定的最大計數使用NDIS_PD_QUEUE_COUNT_DYNAMIC。

規格需求

需求
最低支援的用戶端 Windows 10
最低支援的伺服器 Windows Server 2016
標頭 ntddndis.h (包括 Ndis.h)

另請參閱

NDIS_OBJECT_HEADER