Поделиться через


структура 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_OBJECT_HEADER для структуры NDIS_PD_CAPABILITIES . Задайте элементы этой структуры следующим образом:

  • Тип = NDIS_OBJECT_TYPE_DEFAULT
  • Revision = NDIS_PD_CAPABILITIES_REVISION_1
  • Размер = NDIS_SIZEOF_PD_CAPABILITIES_REVISION_1

Flags

Этот элемент зарезервирован и должен иметь значение 0.

MaximumTxPartialBufferCount

Максимальное число частичных передач PD_BUFFER длины цепочки, поддерживаемой поставщиком.

MaximumRxPartialBufferCount

Максимальное частичное получение PD_BUFFER длина цепочки, поддерживаемая поставщиком.

RxFilterContextWidth

Ширина контекста фильтра, которую поддерживает поставщик. Поставщик может поддерживать ширину до 64 бит.

CapabilityFlags

Флаги, содержащие дополнительные возможности, поддерживаемые поставщиком.

Flag Описание
NDIS_PD_CAPS_RECEIVE_FILTER_COUNTERS_SUPPORTED Этот флаг указывает, что поставщик поддерживает создание счетчиков с типом PDCounterTypeReceiveFilter , который является частью перечисления NDIS_PD_COUNTER .

MaxNumberOfRxQueues

Максимальное количество очередей получения, поддерживаемых поставщиком. Это относится только к очередям, созданным подпрограммой NdisPDAllocateQueue , поэтому это число не является точным для клиента, так как дополнительные существующие очереди RSS (которые клиент может запрашивать доступ в режиме PD с помощью NdisPDOnRssReceiveQueues) не учитываются в подпрограмме NdisPDAllocateQueue .

Поставщики могут задать для этого значения значение 0, если только клиенты могут переводить существующие очереди RSS в режим PD с помощью подпрограммы NdisPDOnRssReceiveQueues .

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 (включая Ndis.h)

См. также раздел

NDIS_OBJECT_HEADER