Поделиться через


структура FWPM_FILTER0 (fwpmtypes.h)

В структуре FWPM_FILTER0 хранится состояние, связанное с фильтром.

Синтаксис

typedef struct FWPM_FILTER0_ {
  GUID                   filterKey;
  FWPM_DISPLAY_DATA0     displayData;
  UINT32                 flags;
  GUID                   *providerKey;
  FWP_BYTE_BLOB          providerData;
  GUID                   layerKey;
  GUID                   subLayerKey;
  FWP_VALUE0             weight;
  UINT32                 numFilterConditions;
  FWPM_FILTER_CONDITION0 *filterCondition;
  FWPM_ACTION0           action;
  union {
    UINT64 rawContext;
    GUID   providerContextKey;
  };
  GUID                   *reserved;
  UINT64                 filterId;
  FWP_VALUE0             effectiveWeight;
} FWPM_FILTER0;

Члены

filterKey

Уникально идентифицирует сеанс.

Если guid инициализирован равным нулю в вызове FwpmFilterAdd0, модуль базовой фильтрации (BFE) создаст его.

displayData

Структура FWPM_DISPLAY_DATA0 , содержащая доступные для чтения заметки, связанные с фильтром. Имя членаструктуры FWPM_DISPLAY_DATA0 является обязательным.

flags

Сочетание следующих значений.

Флаг фильтра Значение
**FWPM_FILTER_FLAG_NONE**
По умолчанию.
**FWPM_FILTER_FLAG_PERSISTENT**
Фильтр является постоянным, то есть он сохраняется при остановке или запуске BFE.
**Примечание** Этот флаг нельзя установить вместе с **FWPM_FILTER_FLAG_BOOTTIME**.
 
**FWPM_FILTER_FLAG_BOOTTIME**
Фильтр применяется во время загрузки, даже до запуска BFE.
**Примечание** Этот флаг нельзя установить вместе с **FWPM_FILTER_FLAG_PERSISTENT**.
 
**FWPM_FILTER_FLAG_HAS_PROVIDER_CONTEXT**
Фильтр ссылается на контекст поставщика.
**FWPM_FILTER_FLAG_CLEAR_ACTION_RIGHT**
Снимите флажок действие фильтра вправо.
**FWPM_FILTER_FLAG_PERMIT_IF_CALLOUT_UNREGISTERED**
Если выноска не зарегистрирована, фильтр обрабатывается как фильтр разрешений.
**Примечание** Этот флаг можно установить, только если тип **action** — **FWP_ACTION_CALLOUT_TERMINATING** или **FWP_ACTION_CALLOUT_UNKNOWN**.
 
**FWPM_FILTER_FLAG_DISABLED**
Фильтр отключен. Фильтры поставщика отключаются при запуске BFE, если у поставщика нет связанного имени службы Windows или если для связанной службы не задан автоматический запуск.
**Примечание** Этот флаг не может быть установлен при добавлении новых фильтров. Он может быть возвращен BFE только при получении или перечислении фильтров.
 
**FWPM_FILTER_FLAG_INDEXED**
Фильтр индексируется для ускорения поиска во время классификации.
**Примечание** Доступно только в Windows 8 и Windows Server 2012.
 

providerKey

Необязательный идентификатор GUID поставщика политики, который управляет этим фильтром. Список стандартных поставщиков политик см. в разделе Встроенные идентификаторы поставщиков.

providerData

Структура FWP_BYTE_BLOB , содержащая необязательные данные поставщика, используемые поставщиками для хранения дополнительных контекстных сведений с объектом .

layerKey

GUID слоя, в котором находится фильтр. Список возможных значений см. в статье Фильтрация идентификаторов слоев .

subLayerKey

GUID подслоя, в котором находится фильтр. Список встроенных вложенных слоев см. в разделе Фильтрация идентификаторов Sub-Layer .

Если для этого параметра задано значение IID_NULL, фильтр добавляется в подслой по умолчанию.

weight

Структура FWP_VALUE0 , указывающая вес фильтра. Вес указывает приоритет фильтра, где весовые коэффициенты с более высокими номерами имеют более высокие приоритеты (и будут оцениваться перед фильтрами с более низким весом).

Возможные значения типа для веса :

**вес** тип Значение
**FWP_UINT64**
BFE будет использовать предоставленное значение в качестве веса фильтра.
**FWP_UINT8**
0–15
BFE будет использовать предоставленное значение в качестве индекса диапазона веса и вычислить вес фильтра в этом диапазоне. Дополнительные сведения см. в разделе Назначение веса фильтра .
**FWP_EMPTY**
BFE автоматически назначит вес на основе условий фильтра.

Дополнительные сведения о встроенных константах, которые можно использовать для вычисления веса фильтра, см. в разделе Идентификаторы веса фильтра.

numFilterConditions

Количество условий фильтра.

filterCondition

Массив FWPM_FILTER_CONDITION0 структур, содержащих все условия фильтрации. Для выполнения действия все должно быть верным. Другими словами, условия оцениваются с помощью оператора AND. Если условия не указаны, действие выполняется всегда.

**Примечание** В Windows 7 и Windows Server 2008 R2 последовательные условия с одинаковым fieldKey будут оцениваться с помощью оператора OR.
 

action

Структура FWPM_ACTION0 , указывающая действие, выполняемое при выполнении всех условий фильтра.

rawContext

Доступно, если фильтр не содержит сведений о контексте поставщика, то есть флаги не содержат FWPM_FILTER_FLAG_HAS_PROVIDER_CONTEXT. Список встроенных возможных значений см. в статье Фильтрация идентификаторов контекста .

RawContext помещается "как есть" в элемент контекста соответствующей структуры FWPS_FILTER0, которая задокументирована в WDK.

providerContextKey

Доступно, если фильтр содержит сведения о контексте поставщика, то есть флаги содержат FWPM_FILTER_FLAG_HAS_PROVIDER_CONTEXT. Список стандартных контекстов поставщика см. в разделе Встроенные идентификаторы контекста поставщика политик.

LUID контекста поставщика, заданного параметром providerContextKey , используется для заполнения элемента контекста соответствующей структуры FWPS_FILTER0 , которая задокументирована в WDK.

reserved

Зарезервировано для системного использования.

filterId

LUID, определяющий фильтр. Это также LUID соответствующей структуры FWPS_FILTER0 , которая задокументирована в WDK.

effectiveWeight

Структура FWP_VALUE0 , содержащая вес, назначенный FWPS_FILTER0, который задокументирован в WDK.

Комментарии

Первые десять элементов этой структуры содержат сведения, предоставляемые при добавлении объектов.

Последние элементы, filterId и effectiveWeight, предоставляют дополнительные сведения при получении или перечислении объектов.

FWPM_FILTER0 — это конкретная реализация FWPM_FILTER. Дополнительные сведения см. в разделах Имена Version-Independent и Выбор конкретных версий Windows .

Требования

Требование Значение
Минимальная версия клиента Windows Vista [только классические приложения]
Минимальная версия сервера Windows Server 2008 [только классические приложения]
Верхняя часть fwpmtypes.h

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

FWPM_ACTION0

FWPM_DISPLAY_DATA0

FWPM_FILTER_CONDITION0

FWP_VALUE0

Назначение весов фильтрам

Идентификаторы веса фильтра

Структуры API платформы фильтрации Windows