перечисление 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 |