структура NDIS_RSS_SET_INDIRECTION_ENTRY (ntddndis.h)
Предупреждение
Некоторые сведения в этом разделе относятся к предварительно выпущенной продукции, которая может быть существенно изменена до его коммерческого выпуска. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
ВЕРСИЯ RSSv2 доступна только в Windows 10 версии 1803.
Структура NDIS_RSS_SET_INDIRECTION_ENTRY представляет команду для задания одной записи таблицы косвенного обращения. Он содержится в структуре NDIS_RSS_SET_INDIRECTION_ENTRIES , которая используется в OID OID_GEN_RSS_SET_INDIRECTION_TABLE_ENTRIES . OID_GEN_RSS_SET_INDIRECTION_TABLE_ENTRIES — это синхронный OID для RSS версии 2 (RSSv2).
Синтаксис
typedef struct _NDIS_RSS_SET_INDIRECTION_ENTRY {
NDIS_NIC_SWITCH_ID SwitchId;
NDIS_NIC_SWITCH_VPORT_ID VPortId;
ULONG Flags;
USHORT IndirectionTableIndex;
PROCESSOR_NUMBER TargetProcessorNumber;
NDIS_STATUS EntryStatus;
} NDIS_RSS_SET_INDIRECTION_ENTRY, *PNDIS_RSS_SET_INDIRECTION_ENTRY;
Члены
SwitchId
Значение NDIS_NIC_SWITCH_ID, представляющее коммутатор сетевой карты, в котором находится VPort.
Идентификатор коммутатора — это целое число от нуля до числа коммутаторов, поддерживаемых сетевым адаптером. Значение NDIS_DEFAULT_SWITCH_ID указывает на коммутатор сетевого адаптера по умолчанию.
Это поле должно иметь значение 0 в собственном случае RSS.
VPortId
Значение NDIS_NIC_SWITCH_VPORT_ID, представляющее идентификатор VPort.
Это поле должно иметь значение 0 в собственном случае RSS.
Flags
Значение ULONG , содержащее побитовое ИЛИ флагов. Этот элемент квалифифициирует сведения в этой структуре.
Возможны следующие флаги:
IndirectionTableIndex
Хэш-индекс ITE, который в настоящее время указывает на текущий ЦП и изменяется таким образом, чтобы он указывал на другой процессор. Если таблица косвенного обращения неактивна (RSS отключена), драйвер мини-порта должен отслеживать обновления записей таблицы косвенного обращения, чтобы иметь правильную таблицу косвенного обращения при включении RSS.
TargetProcessorNumber
Целевой номер процессора, на который ИТ-приложение должно указывать после завершения. Драйвер мини-порта должен успешно переместится с текущего на текущий процессор.
EntryStatus
Код NDIS_STATUS, указывающий состояние операции перемещения для этой записи. Так как NDIS_RSS_SET_INDIRECTION_ENTRY используется в контексте синхронного вызова OID, драйвер мини-порта не может возвращать NDIS_STATUS_PENDING для этого элемента.
Чтобы упростить реализацию драйверов минипорта, протокол верхнего уровня инициализирует это поле для NDIS_STATUS_PENDING. Драйверы минипорта должны перезаписывать NDIS_STATUS_PENDING кодом состояния NDIS успешно или неудачно. Если верхний слой обнаруживает, что это поле по-прежнему NDIS_STATUS_PENDING после завершения OID_GEN_RSS_SET_INDIRECTION_TABLE_ENTRIES OID, это вызовет системную ошибку проверка и указывает на то, что драйвер минипорта неисправен.
Важно!
Все NDIS_RSS_SET_INDIRECTION_ENTRY структуры в группе, содержащиеся в структуре NDIS_RSS_SET_INDIRECTION_ENTRIES , должны быть помечены тем же параметром EntryStatus.
Если при выполнении этой команды перемещения возникает ошибка, задайте для параметра EntryStatus один из следующих кодов состояния для этого условия ошибки:
Код состояния | Условие ошибки |
---|---|
NDIS_STATUS_INVALID_PARAMETER |
|
NDIS_STATUS_INVALID_PORT_STATE | VPort не активирован или находится в другом состоянии, которое не позволяет принимать идентификаторы OID RSSv2. |
NDIS_STATUS_NOT_ACCEPTED | Недопустимый ЦП субъекта. |
NDIS_STATUS_INVALID_DATA | Для активного параметра рулевого управления новый процессор не является частью набора процессоров RSS адаптера. Обратите внимание, что неактивные параметры необходимо отслеживать только. Они проверяются позже, во время перехода состояния RSS (в положение включено или выключено). |
NDIS_STATUS_NO_QUEUES | Группа записей команд завершается ошибкой "количество очередей" проверка для VPort, указанного этой группой. |
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Поддерживается в NDIS 6.80 и более поздних версиях. |
Верхняя часть | ntddndis.h (включая Ndis.h) |
См. также раздел
NDIS_RSS_SET_INDIRECTION_ENTRIES
OID_GEN_RSS_SET_INDIRECTION_TABLE_ENTRIES