Перечисление сетевых коммутаторов в сетевом адаптере
Переопределяющий драйвер или пользовательское приложение может получить список всех коммутаторов сетевого адаптера, созданных в сетевом адаптере, поддерживающем виртуализацию ввода-вывода с одним корнем (SR-IOV). Драйвер или приложение отправляет запрос идентификатора объекта (OID) OID_NIC_SWITCH_ENUM_SWITCHES для получения этого списка.
После успешного возврата из этого запроса OID элемент InformationBuffer структуры NDIS_OID_REQUEST содержит указатель на буфер, содержащий следующее:
Структура NDIS_NIC_SWITCH_INFO_ARRAY , определяющая количество элементов в массиве.
Массив структур NDIS_NIC_SWITCH_INFO . Каждая из этих структур содержит сведения об одном коммутаторе сетевой карты, созданном в сетевом адаптере.
Примечание Если сетевой адаптер не имеет коммутаторов сетевой карты, драйвер устанавливает для элемента NumElementsструктуры NDIS_NIC_SWITCH_INFO_ARRAY значение 0 и NDIS_NIC_SWITCH_INFO структуры не возвращаются.
Примечание Начиная с Windows Server 2012 интерфейс SR-IOV поддерживает только один коммутатор сетевого адаптера. Этот параметр называется коммутатором сетевой карты по умолчанию, на который ссылается идентификатор NDIS_DEFAULT_SWITCH_ID.
NDIS обрабатывает запрос OID_NIC_SWITCH_ENUM_SWITCHES для водителей минипорта. NDIS возвращает сведения из внутреннего кэша данных, которые он хранит, из следующих источников:
Стандартизированные параметры SR-IOV ключевое слово в реестре. Дополнительные сведения об этих ключевых словах см. в разделе Стандартизированные ключевые слова INF для SR-IOV.
Запросы OID OID_NIC_SWITCH_CREATE_SWITCH и OID_NIC_SWITCH_PARAMETERS.
Примечание NDIS также предоставляет перечисление параметров в элементе NicSwitchArray в структурах NDIS_BIND_PARAMETERS и NDIS_FILTER_ATTACH_PARAMETERS . Таким образом, для получения этих сведений не требуется выполнять OID_NIC_SWITCH_ENUM_SWITCHES запросов на превышение протокола и фильтров.