перечисление FWP_MATCH_TYPE (fwptypes.h)

Перечислимый тип FWP_MATCH_TYPE указывает различные типы соответствия, разрешенные в условиях фильтра.

Синтаксис

typedef enum FWP_MATCH_TYPE_ {
  FWP_MATCH_EQUAL = 0,
  FWP_MATCH_GREATER,
  FWP_MATCH_LESS,
  FWP_MATCH_GREATER_OR_EQUAL,
  FWP_MATCH_LESS_OR_EQUAL,
  FWP_MATCH_RANGE,
  FWP_MATCH_FLAGS_ALL_SET,
  FWP_MATCH_FLAGS_ANY_SET,
  FWP_MATCH_FLAGS_NONE_SET,
  FWP_MATCH_EQUAL_CASE_INSENSITIVE,
  FWP_MATCH_NOT_EQUAL,
  FWP_MATCH_PREFIX,
  FWP_MATCH_NOT_PREFIX,
  FWP_MATCH_TYPE_MAX
} FWP_MATCH_TYPE;

Константы

 
FWP_MATCH_EQUAL
Значение: 0
Проверяет, равно ли значение условию.

Все типы данных поддерживают FWP_MATCH_EQUAL.
FWP_MATCH_GREATER
Проверяет, больше ли значение условия.

Только сортируемые типы данных поддерживают FWP_MATCH_GREATER. Сортируемые типы данных состоят из всех целочисленных типов, FWP_BYTE_ARRAY16_TYPE, FWP_BYTE_BLOB_TYPE и FWP_UNICODE_STRING_TYPE.
FWP_MATCH_LESS
Проверяет, меньше ли значение условия.

Только сортируемые типы данных поддерживают FWP_MATCH_LESS.
FWP_MATCH_GREATER_OR_EQUAL
Проверяет, больше ли значение условия или равно ей.

Только сортируемые типы данных поддерживают FWP_MATCH_GREATER_OR_EQUAL.
FWP_MATCH_LESS_OR_EQUAL
Проверяет, меньше ли значение условия или равно ей.

Только сортируемые типы данных поддерживают FWP_MATCH_LESS_OR_EQUAL.
FWP_MATCH_RANGE
Проверяет, находится ли значение в заданном диапазоне значений условий.

Только сортируемые типы данных поддерживают FWP_MATCH_RANGE.
FWP_MATCH_FLAGS_ALL_SET
Проверяет, установлены ли все флаги.

Только целые типы данных без знака поддерживают FWP_MATCH_FLAGS_ALL_SET.
FWP_MATCH_FLAGS_ANY_SET
Проверяет, установлены ли какие-либо флаги.

FWP_MATCH_FLAGS_ANY_SET поддерживают только целые типы данных без знака.
FWP_MATCH_FLAGS_NONE_SET
Проверяет, не заданы ли флаги.

Только целочисленные типы данных без знака поддерживают FWP_MATCH_FLAGS_NONE_SET.
FWP_MATCH_EQUAL_CASE_INSENSITIVE
Проверяет, равно ли значение условию. При проверке регистр не учитывается.

Только тип данных FWP_UNICODE_STRING_TYPE поддерживает FWP_MATCH_EQUAL_CASE_INSENSITIVE.
FWP_MATCH_NOT_EQUAL
Проверяет, не равно ли значение условия.

Только сортируемые типы данных поддерживают FWP_MATCH_NOT_EQUAL.
Примечание Доступно только в Windows 7 и Windows Server 2008 R2.

 
FWP_MATCH_PREFIX
Имя этого флага вводит в заблуждение. Он проверяет, заканчивается ли значение условия, т. е. суффиксом, а не префиксом.

Типы FWP_BYTE_BLOB_TYPE (если они содержат строку), и FWP_UNICODE_STRING_TYPE поддерживают этот тип соответствия.
FWP_MATCH_NOT_PREFIX
Имя этого флага вводит в заблуждение. Он проверяет, не заканчивается ли значение условия, т. е. проверяет суффикс, а не префикс.

Типы FWP_BYTE_BLOB_TYPE (если они содержат строку), и FWP_UNICODE_STRING_TYPE поддерживают этот тип соответствия.
FWP_MATCH_TYPE_MAX
Максимальное значение для целей тестирования. Не полагайтесь на это значение в коде, так как оно может измениться при повторной компиляции с новым пакетом SDK.

Комментарии

Как правило, тип данных значения и тип данных условия фильтра должны быть одинаковыми. Базовый модуль фильтрации (BFE) не выполняет преобразование данных. Например, значение FWP_UINT32 нельзя сравнить со значением FWP_UINT16.

Исключениями из этого правила являются следующие.

  • Поле FWP_UINT32, содержащее IPv4-адрес, можно сравнить со значением FWP_V4_ADDR_MASK.
  • Поле FWP_BYTE_ARRAY16_TYPE, содержащее IPv6-адрес, можно сравнить с FWP_V6_ADDR_MASK значением.
  • При добавлении фильтров можно сравнить поле FWP_TOKEN_INFORMATION_TYPE со значением FWP_SECURITY_DESCRIPTOR_TYPE.
  • Поле FWP_TOKEN_ACCESS_INFORMATION_TYPE можно сравнить со значением FWP_SECURITY_DESCRIPTOR_TYPE при добавлении фильтров.
  • Поле FWP_TOKEN_INFORMATION_TYPE можно сравнить с FWP_SID значением при перечислении.
  • Поле FWP_TOKEN_ACCESS_INFORMATION_TYPE можно сравнить с FWP_SID значением при перечислении.

Требования

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

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

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