структура FWPS_FILTER2 (fwpstypes.h)

Доступен FWPS_FILTER0.

Синтаксис

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)

См. также раздел

FWPM_FILTER0

FWPM_PROVIDER_CONTEXT2

FWPS_ACTION0

FWPS_FILTER0

FWPS_FILTER1

FWPS_FILTER_CONDITION0

FWP_VALUE0

classifyFn2

notifyFn2