структура 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) |