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) |