FWP_MATCH_TYPE enumeração (fwptypes.h)

O FWP_MATCH_TYPE tipo enumerado especifica diferentes tipos de correspondência permitidos em condições de filtro.

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;

Constantes

 
FWP_MATCH_EQUAL
Valor: 0
Testa se o valor é igual ao valor da condição.

Todos os tipos de dados dão suporte a FWP_MATCH_EQUAL.
FWP_MATCH_GREATER
Testa se o valor é maior que o valor da condição.

Somente tipos de dados classificáveis dão suporte a FWP_MATCH_GREATER. Os tipos de dados classificáveis consistem em todos os tipos inteiros, FWP_BYTE_ARRAY16_TYPE, FWP_BYTE_BLOB_TYPE e FWP_UNICODE_STRING_TYPE.
FWP_MATCH_LESS
Testa se o valor é menor que o valor da condição.

Somente tipos de dados classificáveis dão suporte a FWP_MATCH_LESS.
FWP_MATCH_GREATER_OR_EQUAL
Testa se o valor é maior ou igual ao valor da condição.

Somente tipos de dados classificáveis dão suporte a FWP_MATCH_GREATER_OR_EQUAL.
FWP_MATCH_LESS_OR_EQUAL
Testa se o valor é menor ou igual ao valor da condição.

Somente tipos de dados classificáveis dão suporte a FWP_MATCH_LESS_OR_EQUAL.
FWP_MATCH_RANGE
Testa se o valor está dentro de um determinado intervalo de valores de condição.

Somente tipos de dados classificáveis dão suporte a FWP_MATCH_RANGE.
FWP_MATCH_FLAGS_ALL_SET
Testa se todos os sinalizadores estão definidos.

Somente tipos de dados inteiros sem sinal dão suporte a FWP_MATCH_FLAGS_ALL_SET.
FWP_MATCH_FLAGS_ANY_SET
Testa se algum sinalizador está definido.

Somente tipos de dados inteiros sem sinal dão suporte a FWP_MATCH_FLAGS_ANY_SET.
FWP_MATCH_FLAGS_NONE_SET
Testa se nenhum sinalizador está definido.

Somente tipos de dados inteiros sem sinal dão suporte a FWP_MATCH_FLAGS_NONE_SET.
FWP_MATCH_EQUAL_CASE_INSENSITIVE
Testa se o valor é igual ao valor da condição. O teste diferencia maiúsculas de minúsculas.

Somente o tipo de dados FWP_UNICODE_STRING_TYPE dá suporte a FWP_MATCH_EQUAL_CASE_INSENSITIVE.
FWP_MATCH_NOT_EQUAL
Testa se o valor não é igual ao valor da condição.

Somente tipos de dados classificáveis dão suporte a FWP_MATCH_NOT_EQUAL.
Nota Disponível somente no Windows 7 e no Windows Server 2008 R2.

 
FWP_MATCH_PREFIX
Este sinalizador tem um nome enganoso. Ele testa se o valor termina com o valor da condição, ou seja, o sufixo, não o prefixo.

Os tipos FWP_BYTE_BLOB_TYPE (quando contém uma cadeia de caracteres) e FWP_UNICODE_STRING_TYPE dão suporte a esse tipo de correspondência.
FWP_MATCH_NOT_PREFIX
Este sinalizador tem um nome enganoso. Ele testa se o valor não termina com o valor da condição, ou seja, ele verifica o sufixo, não o prefixo.

Os tipos FWP_BYTE_BLOB_TYPE (quando contém uma cadeia de caracteres) e FWP_UNICODE_STRING_TYPE dão suporte a esse tipo de correspondência.
FWP_MATCH_TYPE_MAX
Valor máximo para fins de teste. Não confie nesse valor no código, pois ele pode mudar quando você recompila com um SDK mais recente.

Comentários

Em geral, o tipo de dados de valor e o tipo de dados de condição de filtro devem ser os mesmos. O BFE (Mecanismo de Filtragem Base) não executa nenhuma conversão de dados. Por exemplo, um valor FWP_UINT32 não pode ser comparado com um valor FWP_UINT16.

As exceções a essa regra são as seguintes.

  • Um campo FWP_UINT32 que contém um endereço IPv4 pode ser comparado com um valor FWP_V4_ADDR_MASK.
  • Um campo FWP_BYTE_ARRAY16_TYPE que contém um endereço IPv6 pode ser comparado com um valor FWP_V6_ADDR_MASK.
  • Um campo FWP_TOKEN_INFORMATION_TYPE pode ser comparado com um valor FWP_SECURITY_DESCRIPTOR_TYPE ao adicionar filtros.
  • Um campo FWP_TOKEN_ACCESS_INFORMATION_TYPE pode ser comparado com um valor FWP_SECURITY_DESCRIPTOR_TYPE ao adicionar filtros.
  • Um campo FWP_TOKEN_INFORMATION_TYPE pode ser comparado com um valor FWP_SID ao enumerar.
  • Um campo FWP_TOKEN_ACCESS_INFORMATION_TYPE pode ser comparado com um valor FWP_SID ao enumerar.

Requisitos

   
Cliente mínimo com suporte Windows Vista [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2008 [somente aplicativos da área de trabalho]
Cabeçalho fwptypes.h

Confira também

Estruturas de API da Plataforma de Filtragem do Windows