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


структура NDIS_RECEIVE_QUEUE_INFO (ntddndis.h)

Структура NDIS_RECEIVE_QUEUE_INFO содержит сведения об очереди получения в сетевом адаптере.

Синтаксис

typedef struct _NDIS_RECEIVE_QUEUE_INFO {
  NDIS_OBJECT_HEADER                   Header;
  ULONG                                Flags;
  NDIS_RECEIVE_QUEUE_TYPE              QueueType;
  NDIS_RECEIVE_QUEUE_ID                QueueId;
  NDIS_RECEIVE_QUEUE_GROUP_ID          QueueGroupId;
  NDIS_RECEIVE_QUEUE_OPERATIONAL_STATE QueueState;
  GROUP_AFFINITY                       ProcessorAffinity;
  ULONG                                NumSuggestedReceiveBuffers;
  ULONG                                MSIXTableEntry;
  ULONG                                LookaheadSize;
  NDIS_VM_NAME                         VmName;
  NDIS_QUEUE_NAME                      QueueName;
  ULONG                                NumFilters;
  ULONG                                InterruptCoalescingDomainId;
} NDIS_RECEIVE_QUEUE_INFO, *PNDIS_RECEIVE_QUEUE_INFO;

Члены

Header

Тип, редакция и размер структуры NDIS_RECEIVE_QUEUE_INFO . Этот элемент отформатирован как структура NDIS_OBJECT_HEADER .

Драйвер мини-порта должен задать для элемента Typeзаголовка значение NDIS_OBJECT_TYPE_DEFAULT. Чтобы указать версию структуры NDIS_RECEIVE_QUEUE_INFO , драйвер должен задать для элемента Revisionзаголовка одно из следующих значений:

NDIS_RECEIVE_QUEUE_INFO_REVISION_2

Добавлены дополнительные члены для NDIS 6.30.

Примечание Версия 2 этой структуры поддерживается только в Windows Server 2012 и более поздних версиях Windows Server.

Задайте для элемента Размерзначение NDIS_SIZEOF_RECEIVE_QUEUE_INFO_REVISION_2.

NDIS_RECEIVE_QUEUE_INFO_REVISION_1

Исходная версия для NDIS 6.20.

Задайте для элемента Размерзначение NDIS_SIZEOF_RECEIVE_QUEUE_INFO_REVISION_1.

Flags

Значение ULONG , содержащее побитовое ИЛИ флагов. Этот элемент зарезервирован для NDIS.

QueueType

Значение перечисления NDIS_RECEIVE_QUEUE_TYPE , указывающее тип очереди получения.

QueueId

Значение типа NDIS_RECEIVE_QUEUE_ID , содержащее идентификатор очереди получения. Этот идентификатор представляет собой целочисленное значение от нуля до количества очередей, поддерживаемых сетевым адаптером. Значение NDIS_DEFAULT_RECEIVE_QUEUE_ID указывает очередь получения по умолчанию.

QueueGroupId

Этот элемент зарезервирован для NDIS.

QueueState

Значение перечисления NDIS_RECEIVE_QUEUE_OPERATIONAL_STATE , указывающее рабочее состояние очереди получения.

ProcessorAffinity

Точечный рисунок GROUP_AFFINITY , указывающий ЦП, с которым связана очередь. Например, задание бита 0 означает, что используется ЦП 0, значение бита 1 — использование ЦП 1 и т. д. Так как очередь виртуальных машин связана с одним ЦП, все признаки получения очереди обрабатываются на этом процессоре.

NumSuggestedReceiveBuffers

Значение ULONG , содержащее предлагаемое значение для количества буферов приема, которые сетевой адаптер должен использовать для поддержки очереди. Это число можно настроить относительно ресурсов, доступных драйверу мини-порта, или пропорционально количеству, которое сетевой адаптер использует для других очередей. Например, фактическое количество буферов приема может быть в два раза или половину от этого предлагаемого значения.

MSIXTableEntry

Значение ULONG , содержащее индекс записи таблицы MSI-X для очереди.

LookaheadSize

Значение ULONG для размера (в байтах) требования к размеру lookahead для этой очереди. Сетевой адаптер, поддерживающий lookahead в очередях виртуальных машин, разделяет полученный пакет со смещением, равным или превышающим запрошенный размер lookahead, и использует DMA для передачи данных lookahead и данных после просмотра в отдельные сегменты общей памяти.

Примечание Начиная с версии NDIS 6.30 разделение данных пакетов на отдельные буферы lookahead больше не поддерживается. Значение этого элемента должно быть равно нулю.

VmName

Значение NDIS_VM_NAME , содержащее понятное описание виртуальной машины.

QueueName

Значение NDIS_QUEUE_NAME , содержащее понятное описание очереди.

NumFilters

Значение ULONG, указывающее количество фильтров приема, настроенных на сетевом адаптере.

Примечание Начиная с версии NDIS 6.30 драйвер мини-порта должен поддерживать счетчик для текущего количества фильтров приема, установленных на сетевом адаптере. Драйвер должен увеличивать счетчик каждый раз, когда фильтр получения устанавливается с помощью запроса на набор OID OID_RECEIVE_FILTER_SET_FILTER. Драйвер также должен уменьшать счетчик каждый раз, когда фильтр получения очищается с помощью запроса на набор OID OID_RECEIVE_FILTER_CLEAR_FILTER.

InterruptCoalescingDomainId

Значение ULONG, зарезервированное для использования NDIS. Это значение используется драйвером мини-порта в информационных целях.

Комментарии

Структура NDIS_RECEIVE_QUEUE_INFO используется с NDIS_RECEIVE_QUEUE_INFO_ARRAY структуры для OID_RECEIVE_FILTER_ENUM_QUEUES OID, который перечисляет очереди получения в сетевом адаптере.

При успешном возвращении из OID_RECEIVE_FILTER_ENUM_QUEUES NDIS предоставляет структуру NDIS_RECEIVE_QUEUE_INFO_ARRAY , которая определяет свойства массива очереди получения. Каждый элемент в массиве является NDIS_RECEIVE_QUEUE_INFO структурой.

Требования

Требование Значение
Минимальная версия клиента Поддерживается в NDIS 6.20 и более поздних версиях.
Верхняя часть ntddndis.h (включая Ndis.h)

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

NDIS_OBJECT_HEADER

NDIS_RECEIVE_QUEUE_INFO_ARRAY

NDIS_RECEIVE_QUEUE_OPERATIONAL_STATE

NDIS_RECEIVE_QUEUE_TYPE

OID_RECEIVE_FILTER_CLEAR_FILTER

OID_RECEIVE_FILTER_ENUM_QUEUES

OID_RECEIVE_FILTER_SET_FILTER