структура 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
- редакции = 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 |