структура NDIS_PD_QUEUE_PARAMETERS (ndis.h)
Эта структура используется для хранения параметров очереди передачи или получения при вызове любой подпрограммы очереди.
Синтаксис
typedef struct _NDIS_PD_QUEUE_PARAMETERS {
NDIS_OBJECT_HEADER Header;
ULONG Flags;
NDIS_PD_QUEUE_TYPE QueueType;
ULONG QueueSize;
ULONG ReceiveDataLength;
GROUP_AFFINITY Affinity;
ULONG TrafficClassId;
ULONG MaximumPartialBufferCount;
NDIS_PD_COUNTER_HANDLE CounterHandle;
} NDIS_PD_QUEUE_PARAMETERS;
Члены
Header
Структура NDIS_OBJECT_HEADER для структуры NDIS_PD_CONFIG . Задайте элементы этой структуры следующим образом:
- Тип = NDIS_OBJECT_TYPE_DEFAULT
- Revision = NDIS_PD_QUEUE_PARAMETERS_REVISION_1
- Размер = NDIS_SIZEOF_PD_QUEUE_PARAMETERS_REVISION_1
Flags
Этот элемент зарезервирован и должен иметь значение 0 от поставщика.
QueueType
Тип очереди. Дополнительные сведения см. в разделе NDIS_PD_QUEUE_TYPE.
QueueSize
Максимальное количество PD_BUFFER структур, которые может содержать эта очередь, всегда равно числу формы (2^k)-1 (63, 127, 255, 511, 1023 и т. д.). Это поддается эффективной арифметике циклических индексов.
ReceiveDataLength
Минимальная длина PD_BUFFER данных.
Affinity
Сходство процессора — это указание поставщику для оптимизации производительности. Платформа будет в основном обрабатывать очередь на процессорах, указанных этой маской. Поставщик должен задать это значение для ядра процессора, производного от таблицы косвенного обращения, настроенной из OID_GEN_RECEIVE_SCALE_PARAMETERS
TrafficClassId
MaximumPartialBufferCount
Для очередей передачи это максимальное количество частичных структур PD_BUFFER , которые клиент может связать в цепочку для формирования одного пакета L2. Это значение должно быть равно значению MaximumTxPartialBufferCount в структуре NDIS_PD_CAPABILITIES .
Для очередей получения это максимальное число частичных структур PD_BUFFER , которые поставщик может связать в цепочку, чтобы сформировать один большой пакет L2 с RSC. Оно должно быть меньше или равно значению MaximumRxPartialBufferCount в структуре NDIS_PD_CAPABILITIES .
CounterHandle
Это дескриптор счетчика очереди передачи для очередей передачи и счетчик очереди получения для очередей получения. Во время создания очереди клиент может дополнительно предоставить дескриптор счетчика. В этом случае и в зависимости от типа очереди поставщик должен обновлять значения счетчиков по мере выполнения действий в очереди. Клиент отвечает за закрытие дескриптора счетчика только после закрытия очереди.
Для очередей, которые непосредственно не создаются клиентом, например очереди получения RSS, полученные с помощью подпрограммы NdisPDOnRssReceiveQueues, поставщик всегда должен иметь связанный дескриптор счетчика с очередью. То есть для заданного набора очередей получения RSS поставщик должен иметь один выделенный счетчик очереди получения для каждой очереди получения.
Комментарии
Эта структура должна быть выровнена по 8-байтовой границе.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 10 |
Минимальная версия сервера | Windows Server 2016 |
Верхняя часть | ndis.h |