структура 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)

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

FWPM_CALLOUT0

FWPM_FILTER0

FWPM_PROVIDER_CONTEXT0

FWPS_ACTION0

FWPS_FILTER1

FWPS_FILTER2

FWPS_FILTER_CONDITION0

FWP_VALUE0

classifyFn0

notifyFn0