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


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 равным нулю, и не возвращаются 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 задан в элементе Флаги, сведения возвращаются для всех виртуальных портов, подключенных к указанной физической функции PCI Express (PCIe) или виртуальной функции (VF) сетевого адаптера. PF или VF указывается элементом AttachedFunctionId этой структуры.

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

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

  • Если для элемента флаги задано нулевое значение, данные возвращаются для всех виртуальных портов, подключенных к 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 (include 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