структура FWPS_FILTER0 (fwpstypes.h)
Структура FWPS_FILTER0 определяет фильтр во время выполнения в подсистеме фильтров. FWPS_FILTER2 доступно. Для Windows 7 доступна FWPS_FILTER1 .
Синтаксис
typedef struct FWPS_FILTER0_ {
UINT64 filterId;
FWP_VALUE0 weight;
UINT16 subLayerWeight;
UINT16 flags;
UINT32 numFilterConditions;
FWPS_FILTER_CONDITION0 *filterCondition;
FWPS_ACTION0 action;
UINT64 context;
FWPM_PROVIDER_CONTEXT0 *providerContext;
} FWPS_FILTER0;
Члены
filterId
Идентификатор времени выполнения, который идентифицирует фильтр в подсистеме фильтров.
weight
Структура FWP_VALUE0 , содержащая значение, указывающее важность фильтра по отношению к другим фильтрам в подсистеме фильтров. Сначала вызываются фильтры с более высоким весовым значением. Тип данных, указанный в структуре FWP_VALUE0 , — FWP_UINT64 или FWP_EMPTY. Если тип данных, указанный в структуре FWP_VALUE0 , FWP_EMPTY, подсистема фильтрации автоматически назначает вес фильтру в зависимости от того, насколько конкретный фильтр проверяет данные по сравнению с другими фильтрами в подсистеме фильтров.
subLayerWeight
Значение типа , указывающее важность подслоя фильтра по отношению к другим вложенным слоям в подсистеме фильтрации. Сначала вызываются фильтры, расположенные в подслое с более высоким значением subLayerWeight .
flags
Флаги, указывающие действия, которые функция выноски classifyFn0 должна выполнять при обработке сетевых данных. Возможные флаги:
Значение | Значение |
---|---|
FWPS_FILTER_FLAG_CLEAR_ACTION_RIGHT | Этот флаг указывает функции выноски classifyFn0 на то, что она всегда должна очищать флаг FWPS_RIGHT_ACTION_WRITE при возврате FWP_ACTION_BLOCK или FWP_ACTION_PERMIT для предлагаемого действия. Если этот флаг не задан, функция выноски classifyFn0 в выноске должна очищать флаг FWPS_RIGHT_ACTION_WRITE только при возвращении FWP_ACTION_BLOCK для предлагаемого действия. |
FWPS_FILTER_FLAG_PERMIT_IF_CALLOUT_UNREGISTERED | Этот флаг указывает функции выноски classifyFn0 выноски, что если выноска не зарегистрирована, выноска должна рассматриваться как фильтр разрешений. |
numFilterConditions
Число FWPS_FILTER_CONDITION0 структур в массиве, на который указывает элемент filterCondition . Этот элемент может быть равен нулю.
filterCondition
Указатель на массив FWPS_FILTER_CONDITION0 структур. Эти структуры определяют условия фильтрации во время выполнения для фильтра. Если элемент numFilterConditions равен нулю, этот указатель будет иметь значение NULL.
action
Структура FWPS_ACTION0 , указывающая действие, которое должен выполнить фильтр, если все условия фильтрации фильтра выполняются.
context
Значение контекста, связанное с фильтром. Выноска может задать этот элемент так, чтобы он указывал на структуру контекста, предоставляемую драйвером выноски, из функции выноски notifyFn0 драйвера выноски при добавлении фильтра в подсистему фильтрации. Эта контекстная структура, которая является непрозрачной для подсистемы фильтров, может использоваться функцией выноски classifyFn0 драйвера выноски для сохранения любых данных или сведений о состоянии драйвера между вызовами подсистемы фильтрации функции выноски classifyFn0 .
providerContext
Указатель на контекст поставщика, который имеет формат структуры FWPM_PROVIDER_CONTEXT0 . Если фильтр использует выноску и в ней установлен флаг FWPM_CALLOUT_FLAG_USES_PROVIDER_CONTEXT, этот элемент будет содержать контекст поставщика из соответствующей структуры FWPM_FILTER0 . В противном случае этот параметр имеет значение NULL.
Комментарии
Модуль фильтрации передает указатель на структуру FWPS_FILTER0 функции выноски notifyFn0 и classifyFn0 .
Действие фильтра выполняется только в том случае, если выполняются все условия фильтрации фильтра. Если в фильтре не указаны условия фильтрации, то указанное действие выполняется всегда.
Член ProviderContext предоставляет драйверу выноски механизм получения контекстов поставщика без вызова базового механизма фильтрации (BFE).
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Доступно начиная с Windows Vista. |
Верхняя часть | fwpstypes.h (включая Fwpsk.h) |
См. также раздел
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по