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


OID_NIC_SWITCH_ENUM_VPORTS

Сверхуровневый драйвер или приложение пользовательского режима выдает запрос метода идентификатора объекта (OID) OID_NIC_SWITCH_ENUM_VPORTS для получения массива. Каждый элемент в массиве задает атрибуты виртуального порта (VPort), созданного в сетевом коммутаторе сетевого адаптера.

После успешного возврата из этого запроса OID элемент InformationBuffer структуры NDIS_OID_REQUEST содержит указатель на буфер, содержащий следующее:

  • Структура NDIS_NIC_SWITCH_VPORT_INFO_ARRAY , определяющая количество элементов в массиве.

  • Массив структур NDIS_NIC_SWITCH_VPORT_INFO . Каждая из этих структур содержит сведения о VPort на сетевом коммутаторе сетевого адаптера.

    Примечание Если на сетевом адаптере не созданы виртуальные порты, драйвер устанавливает для элемента NumElements структуры NDIS_NIC_SWITCH_VPORT_INFO_ARRAY значение 0 и NDIS_NIC_SWITCH_VPORT_INFO структуры не возвращаются.

Комментарии

Избыточные драйверы и приложения в пользовательском режиме выдают запросы OID OID_NIC_SWITCH_ENUM_VPORTS для перечисления виртуальных портов, выделенных на коммутаторе сетевого адаптера.

Прежде чем драйвер или приложение отправляет запрос OID, он должен инициализировать структуру NDIS_NIC_SWITCH_VPORT_INFO_ARRAY , которая передается вместе с запросом. При инициализации структуры NDIS_NIC_SWITCH_VPORT_INFO_ARRAY драйвер или приложение должны следовать следующим рекомендациям:

  • Если флаг NDIS_NIC_SWITCH_VPORT_INFO_ARRAY_ENUM_ON_SPECIFIC_SWITCH установлен в элементе Flags , возвращаются сведения обо всех виртуальных портах, созданных на указанном коммутаторе сетевой карты. Переключатель сетевого адаптера задается элементом SwitchId этой структуры.

    Примечание Начиная с Windows Server 2012 интерфейс SR-IOV поддерживает только коммутатор сетевой карты по умолчанию на сетевом адаптере. Независимо от флагов, установленных в элементе Flags , параметру SwitchId необходимо задать значение NDIS_DEFAULT_SWITCH_ID.

  • Если флаг NDIS_NIC_SWITCH_VPORT_INFO_ARRAY_ENUM_ON_SPECIFIC_FUNCTION установлен в элементе Flags , возвращаются сведения обо всех виртуальных портах, подключенных к указанной физической функции PCI Express (PCIe) или виртуальной функции (VF) сетевого адаптера. PF или VF задается элементом AttachedFunctionId этой структуры.

    Если для элемента AttachedFunctionId задано значение NDIS_PF_FUNCTION_ID, возвращаются сведения обо всех VPort, включая VPort по умолчанию, подключенных к PF сетевого адаптера. Если для элемента AttachedFunctionId задан допустимый идентификатор VF, сведения возвращаются для всех виртуальных портов в указанный VF.

    Примечание Начиная с Windows Server 2012 к VF можно подключить только один неотложимый VPort. Однако к PF можно подключить несколько виртуальных портов (включая VPort по умолчанию).

  • Если для элемента Flags задано значение 0, возвращаются сведения обо всех виртуальных портах, подключенных к PF или VF на сетевом адаптере. В этом случае значения SwitchId и AttachedFunctionId игнорируются.

Дополнительные сведения см. в разделе Перечисление виртуальных портов в сетевом адаптере.

Коды состояния возврата

NDIS обрабатывает запрос метода OID OID_NIC_SWITCH_ENUM_VPORTS для драйверов минипорта. Драйверы не будут выдавать этот запрос OID.

Когда NDIS обрабатывает запрос OID_NIC_SWITCH_ENUM_VPORTS, он возвращает один из следующих кодов состояния:

Код состояния Описание

NDIS_STATUS_SUCCESS

Запрос OID успешно завершен.

NDIS_STATUS_NOT_SUPPORTED

Драйвер мини-порта либо не поддерживает интерфейс SR-IOV( с одним корневым интерфейсом виртуализации ввода-вывода), либо не поддерживает его использование.

NDIS_STATUS_INVALID_PARAMETER

Один или несколько членов структуры NDIS_NIC_SWITCH_VF_INFO_ARRAY имеют недопустимые значения.

NDIS_STATUS_INVALID_LENGTH

Буфер сведений был слишком коротким. NDIS задает значение DATA. METHOD_INFORMATION. Элемент BytesNeeded в NDIS_OID_REQUEST структуру до минимального требуемого размера буфера.

NDIS_STATUS_FAILURE

Сбой запроса по другим причинам.

Требования

Версия

Поддерживается в NDIS 6.30 и более поздних версиях.

Заголовок

Ntddndis.h (включая Ndis.h)

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


NDIS_NIC_SWITCH_VPORT_INFO

NDIS_NIC_SWITCH_VPORT_INFO_ARRAY

NDIS_OID_REQUEST

OID_NIC_SWITCH_CREATE_SWITCH

OID_NIC_SWITCH_PARAMETERS