функция обратного вызова FWPS_VSWITCH_FILTER_ENGINE_REORDER_CALLBACK0 (fwpsk.h)
Модуль фильтрации вызывает функцию выноски vSwitchFilterEngineReorderNotifyRn (FWPS_VSWITCH_FILTER_ENGINE_REORDER_CALLBACK0), чтобы уведомить драйвер выноски о событиях, связанных с переупорядочением подсистемы фильтров виртуального коммутатора.
Синтаксис
FWPS_VSWITCH_FILTER_ENGINE_REORDER_CALLBACK0 FwpsVswitchFilterEngineReorderCallback0;
NTSTATUS FwpsVswitchFilterEngineReorderCallback0(
[in, optional] void *notifyContext,
[in] void *completionContext,
[in] BOOLEAN isInRequiredPosition,
[in] const NDIS_ENUM_FILTERS *vSwitchExtensionLwfList
)
{...}
Параметры
[in, optional] notifyContext
Указатель на контекст, предоставляемый драйвером выноски. Драйвер передал этот указатель на параметр notifyContext функции FwpsvSwitchEventsSubscribe0 . Этот параметр является необязательным и может иметь значение NULL.
[in] completionContext
Указатель на контекст завершения, предоставляемый драйвером выноски. Этот параметр является необязательным и может иметь значение NULL.
[in] isInRequiredPosition
Значение BOOLEAN, которое имеет значение TRUE, если фильтр находится в требуемой позиции в стеке фильтров, или FALSE, если это не так.
[in] vSwitchExtensionLwfList
Структура NDIS_ENUM_FILTERS , указывающая список драйверов фильтров NDIS расширения виртуального коммутатора.
Возвращаемое значение
Выноска
FWPS_VSWITCH_FILTER_ENGINE_REORDER_CALLBACK0 функция возвращает один из следующих кодов NTSTATUS.
Код возврата | Описание |
---|---|
|
Драйвер выноски принимает уведомление от подсистемы фильтров. |
|
Произошла ошибка. |
Комментарии
Драйвер выноски регистрирует
Функция vSwitchFilterEngineReorderNotifyRn путем вызова
функция FwpsvSwitchEventsSubscribe0 .
По умолчанию расширение виртуального коммутатора МПП позиционируется как первое расширение фильтрации при входе виртуального коммутатора. (Таким образом, это также последнее расширение на выходе виртуального коммутатора. Обычно это лучшее положение, так как расширение ПППП может перехватывать пакеты до того, как другие расширения смогут изменять их при входе. Кроме того, расширение МПП может перехватывать пакеты после того, как все изменения пакетов будут выполнены на исходящем трафике.
Тем не менее, так как администратор может изменить порядок любых расширений виртуальных коммутаторов того же класса, расширение МПП может быть упорядочено вне позиции по умолчанию. После изменения порядка фильтры клиента МПП можно обойти и, возможно, потребуется настроить.
Если обратный вызов vSwitchFilterEngineReorderNotifyRn зарегистрирован, драйвер выноски получает уведомление о переупорядочении виртуального коммутатора. Драйвер выноски получает структуру NDIS_ENUM_FILTERS с упорядоченным списком текущих расширений виртуального коммутатора в параметре vSwitchExtensionLwfList .
Если расширения виртуального коммутатора переупорядочены, расширение МПП приостанавливается (см. раздел FilterPause) и перезапускается (см. раздел FilterRestart). При вызове FILTERRestart в ПППП драйвер фильтра вызывает функцию NdisEnumerateFilterModules , чтобы получить упорядоченный список фильтров расширения виртуального коммутатора. Если расширение МПП не находится в положении по умолчанию, драйвер фильтра уведомляет драйверы выносок.
Драйвер выноски не может возвращать STATUS_PENDING из vSwitchFilterEngineReorderNotifyRn.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Доступно начиная с Windows 8. |
Целевая платформа | Windows |
Header | fwpsk.h (включая Fwpsk.h) |
IRQL | <= DISPATCH_LEVEL |
См. также раздел
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по