FWP_MATCH_TYPE (Compact 2013)

3/26/2014

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

Syntax

typedef enum FWP_MATCH_TYPE_ {
  FWP_MATCH_EQUAL,
  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_TYPE_MAX 
} FWP_MATCH_TYPE;

Constants

  • FWP_MATCH_EQUAL
    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_TYPE_MAX
    Maximum value for testing purposes.

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

Header

fwpmu.h

See Also

Reference

WFP Shared Types

Other Resources

Windows Filtering Platform