FWP_MATCH_TYPE enumeration (fwptypes.h)

The FWP_MATCH_TYPE enumerated type specifies different match types allowed in filter conditions.

Syntax

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;

Constants

 
FWP_MATCH_EQUAL
Value: 0
Tests whether the value is equal to the condition value.

All data types support FWP_MATCH_EQUAL.
FWP_MATCH_GREATER
Tests whether the value is greater than the condition value.

Only sortable data types support FWP_MATCH_GREATER. Sortable data types consist of all integer types, FWP_BYTE_ARRAY16_TYPE, FWP_BYTE_BLOB_TYPE, and FWP_UNICODE_STRING_TYPE.
FWP_MATCH_LESS
Tests whether the value is less than the condition value.

Only sortable data types support FWP_MATCH_LESS.
FWP_MATCH_GREATER_OR_EQUAL
Tests whether the value is greater than or equal to the condition value.

Only sortable data types support FWP_MATCH_GREATER_OR_EQUAL.
FWP_MATCH_LESS_OR_EQUAL
Tests whether the value is less than or equal to the condition value.

Only sortable data types support FWP_MATCH_LESS_OR_EQUAL.
FWP_MATCH_RANGE
Tests whether the value is within a given range of condition values.

Only sortable data types support FWP_MATCH_RANGE.
FWP_MATCH_FLAGS_ALL_SET
Tests whether all flags are set.

Only unsigned integer data types support FWP_MATCH_FLAGS_ALL_SET.
FWP_MATCH_FLAGS_ANY_SET
Tests whether any flags are set.

Only unsigned integer data types support FWP_MATCH_FLAGS_ANY_SET.
FWP_MATCH_FLAGS_NONE_SET
Tests whether no flags are set.

Only unsigned integer data types support FWP_MATCH_FLAGS_NONE_SET.
FWP_MATCH_EQUAL_CASE_INSENSITIVE
Tests whether the value is equal to the condition value. The test is case insensitive.

Only the FWP_UNICODE_STRING_TYPE data type supports FWP_MATCH_EQUAL_CASE_INSENSITIVE.
FWP_MATCH_NOT_EQUAL
Tests whether the value is not equal to the condition value.

Only sortable data types support FWP_MATCH_NOT_EQUAL.
Note  Available only in Windows 7 and Windows Server 2008 R2.

 
FWP_MATCH_PREFIX
This flag has a misleading name. It tests whether the value ends with the condition value, i.e. it the suffix, not the prefix.

The types FWP_BYTE_BLOB_TYPE (when it contains a string) and FWP_UNICODE_STRING_TYPE support this match type.
FWP_MATCH_NOT_PREFIX
This flag has a misleading name. It tests whether the value does not end with the condition value, i.e. it checks the suffix, not the prefix.

The types FWP_BYTE_BLOB_TYPE (when it contains a string) and FWP_UNICODE_STRING_TYPE support this match type.
FWP_MATCH_TYPE_MAX
Maximum value for testing purposes. Do not rely on this value in code, as it may change when you recompile with a newer SDK.

Remarks

In general, the value data type and the filter condition data type must be the same. The Base Filtering Engine (BFE) does not perform any data conversion. For example, an FWP_UINT32 value cannot be compared with an FWP_UINT16 value.

Exceptions to this rule are as follows.

  • An FWP_UINT32 field that contains an IPv4 address can be compared with an FWP_V4_ADDR_MASK value.
  • An FWP_BYTE_ARRAY16_TYPE field that contains an IPv6 address can be compared with an FWP_V6_ADDR_MASK value.
  • An FWP_TOKEN_INFORMATION_TYPE field can be compared with an FWP_SECURITY_DESCRIPTOR_TYPE value when adding filters.
  • An FWP_TOKEN_ACCESS_INFORMATION_TYPE field can be compared with an FWP_SECURITY_DESCRIPTOR_TYPE value when adding filters.
  • An FWP_TOKEN_INFORMATION_TYPE field can be compared with an FWP_SID value when enumerating.
  • An FWP_TOKEN_ACCESS_INFORMATION_TYPE field can be compared with an FWP_SID value when enumerating.

Requirements

Requirement Value
Minimum supported client Windows Vista [desktop apps only]
Minimum supported server Windows Server 2008 [desktop apps only]
Header fwptypes.h

See also

Windows Filtering Platform API Structures