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