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


Управление сведениями о состоянии функции настраиваемого коммутатора

Интерфейс расширяемого коммутатора Hyper-V использует следующий идентификатор объекта (OID) для запроса пользовательских сведений о состоянии расширяемого коммутатора. Эта информация называется сведениями о состоянии функции коммутатора .

OID_SWITCH_FEATURE_STATUS_QUERY
Этот запрос метода OID выдается пограничным протоколом расширяемого коммутатора, чтобы получить сведения о состоянии пользовательской функции для указанного свойства коммутатора.

После успешного завершения запроса метода OID член структуры NDIS_OID_REQUESTInformationBuffer содержит указатель на буфер. Этот буфер содержит следующие данные:

  • Структура NDIS_SWITCH_FEATURE_STATUS_PARAMETERS, указывающая возвращаемые сведения о состоянии настраиваемой функции.

    Примечание Для состояния пользовательской функции для элемента FeatureStatusType задано значение NdisSwitchPropertyTypeCustom.

  • Структура NDIS_SWITCH_FEATURE_STATUS_CUSTOM, содержащая сведения о состоянии настраиваемого свойства, назначенного порту расширяемого коммутатора.

    Когда протокольный интерфейс расширяемого коммутатора инициирует запрос OID_SWITCH_FEATURE_STATUS_QUERY, он устанавливает значения FeatureStatusCustomBufferLength и FeatureStatusCustomBufferOffset в позицию внутри элемента InformationBuffer, который расширение может использовать для возвращения информации о состоянии функции.

Расширение расширяемого коммутатора должно соответствовать этим рекомендациям при получении запроса метода OID OID_SWITCH_FEATURE_STATUS_QUERY:

  • Расширение должно обрабатывать запрос OID, если он управляет состоянием функции настраиваемого расширяемого коммутатора, соответствующего FeatureStatusId члену структуры NDIS_SWITCH_FEATURE_STATUS_PARAMETERS.

  • Если расширение обрабатывает запрос метода OID, он должен вернуть сведения о состоянии функции, соответствующие параметрам, заданным структурой NDIS_SWITCH_FEATURE_STATUS_PARAMETERS.

    Если буфер состояния компонента слишком мал, расширение должно завершить запрос OID с NDIS_STATUS_INVALID_LENGTH. Расширение должно задать DATA.SET_INFORMATION.BytesNeeded в структуре NDIS_OID_REQUEST на минимальный необходимый размер буфера.

    В противном случае расширение должно вернуть сведения о состоянии функции и завершить запрос OID с помощью NDIS_STATUS_SUCCESS.

  • Если расширение не управляет состоянием функции расширяемого коммутатора, необходимо вызвать NdisFOidRequest для пересылки запроса OID вниз стека расширяемого драйвера коммутатора.

    Дополнительные сведения о переадресации запросов OID см. в фильтрации запросов OID в драйвере фильтра NDIS.

Дополнительные сведения о том, как определить и зарегистрировать сведения о состоянии функции переключения, см. в пользовательского параметра.