Compartilhar via


estrutura FWPM_FILTER0 (fwpmtypes.h)

A estrutura FWPM_FILTER0 armazena o estado associado a um filtro.

Sintaxe

typedef struct FWPM_FILTER0_ {
  GUID                   filterKey;
  FWPM_DISPLAY_DATA0     displayData;
  UINT32                 flags;
  GUID                   *providerKey;
  FWP_BYTE_BLOB          providerData;
  GUID                   layerKey;
  GUID                   subLayerKey;
  FWP_VALUE0             weight;
  UINT32                 numFilterConditions;
  FWPM_FILTER_CONDITION0 *filterCondition;
  FWPM_ACTION0           action;
  union {
    UINT64 rawContext;
    GUID   providerContextKey;
  };
  GUID                   *reserved;
  UINT64                 filterId;
  FWP_VALUE0             effectiveWeight;
} FWPM_FILTER0;

Membros

filterKey

Identifica exclusivamente a sessão.

Se o GUID for inicializado como zero na chamada para FwpmFilterAdd0, o BFE (Mecanismo de Filtragem Base) gerará um.

displayData

Uma estrutura FWPM_DISPLAY_DATA0 que contém anotações legíveis por humanos associadas ao filtro. O membro de nome da estrutura FWPM_DISPLAY_DATA0 é necessário.

flags

Uma combinação dos valores a seguir.

Sinalizador de filtro Significado
**FWPM_FILTER_FLAG_NONE**
Padrão.
**FWPM_FILTER_FLAG_PERSISTENT**
O filtro é persistente, ou seja, ele sobrevive em toda a parada/início da BFE.
**Observação** Esse sinalizador não pode ser definido junto com **FWPM_FILTER_FLAG_BOOTTIME**.
 
**FWPM_FILTER_FLAG_BOOTTIME**
O filtro é imposto no momento da inicialização, mesmo antes do início do BFE.
**Observação** Este sinalizador não pode ser definido junto com **FWPM_FILTER_FLAG_PERSISTENT**.
 
**FWPM_FILTER_FLAG_HAS_PROVIDER_CONTEXT**
O filtro faz referência a um contexto de provedor.
**FWPM_FILTER_FLAG_CLEAR_ACTION_RIGHT**
Desmarque a ação de filtro corretamente.
**FWPM_FILTER_FLAG_PERMIT_IF_CALLOUT_UNREGISTERED**
Se o texto explicativo não estiver registrado, o filtro será tratado como um filtro de permissão.
**Observação** Esse sinalizador só poderá ser definido se o tipo **action** for **FWP_ACTION_CALLOUT_TERMINATING** ou **FWP_ACTION_CALLOUT_UNKNOWN**.
 
**FWPM_FILTER_FLAG_DISABLED**
O filtro está desabilitado. Os filtros de um provedor são desabilitados quando o BFE é iniciado se o provedor não tem nenhum nome de serviço do Windows associado ou se o serviço associado não está definido como inicialização automática.
**Observação** Esse sinalizador não pode ser definido ao adicionar novos filtros. Ele só pode ser retornado pela BFE ao obter ou enumerar filtros.
 
**FWPM_FILTER_FLAG_INDEXED**
O filtro é indexado para ajudar a habilitar uma pesquisa mais rápida durante a classificação.
**Observação** Disponível somente em Windows 8 e Windows Server 2012.
 

providerKey

GUID opcional do provedor de política que gerencia esse filtro. Consulte Identificadores de provedor internos para obter uma lista de provedores de política predefinidos.

providerData

Uma estrutura FWP_BYTE_BLOB que contém dados opcionais específicos do provedor usados pelos provedores para armazenar informações de contexto adicionais com o objeto .

layerKey

GUID da camada em que o filtro reside. Consulte Filtrando identificadores de camada para obter uma lista de valores possíveis.

subLayerKey

GUID da subcaminho em que o filtro reside. Consulte Filtrando identificadores de Sub-Layer para obter uma lista de subcaminhos internos.

Se isso for definido como IID_NULL, o filtro será adicionado ao subcaminho padrão.

weight

Uma estrutura FWP_VALUE0 que especifica o peso do filtro. O peso indica a prioridade do filtro, em que pesos com maior número têm prioridades mais altas (e serão avaliados antes de filtros com menor peso).

Os valores de tipo possíveis para peso são os seguintes.

Tipo **weight** Significado
**FWP_UINT64**
A BFE usará o valor fornecido como o peso do filtro.
**FWP_UINT8**
0–15
A BFE usará o valor fornecido como um índice de intervalo de peso e calculará o peso do filtro nesse intervalo. Confira Filtrar Atribuição de Peso para obter mais informações.
**FWP_EMPTY**
A BFE atribuirá automaticamente um peso com base nas condições de filtro.

Consulte Filtrar identificadores de peso para constantes internas que podem ser usadas para calcular o peso do filtro.

numFilterConditions

Número de condições de filtro.

filterCondition

Matriz de estruturas FWPM_FILTER_CONDITION0 que contêm todas as condições de filtragem. Tudo deve ser verdadeiro para que a ação seja executada. Em outras palavras, as condições são avaliadas usando o operador AND. Se nenhuma condição for especificada, a ação será sempre executada.

**Observação** No Windows 7 e no Windows Server 2008 R2, condições consecutivas com o mesmo fieldKey serão avaliadas usando o operador OR.
 

action

Uma estrutura FWPM_ACTION0 que especifica a ação a ser executada se todas as condições de filtro forem verdadeiras.

rawContext

Disponível quando o filtro não tem informações de contexto do provedor, ou seja, os sinalizadores não contêm FWPM_FILTER_FLAG_HAS_PROVIDER_CONTEXT. Consulte Filtrar identificadores de contexto para obter uma lista de valores possíveis internos.

O rawContext é colocado "como está" no membro de contexto da estrutura de FWPS_FILTER0 correspondente, que está documentada no WDK.

providerContextKey

Disponível quando o filtro tem informações de contexto do provedor, ou seja, os sinalizadores contêm FWPM_FILTER_FLAG_HAS_PROVIDER_CONTEXT. Consulte Identificadores de contexto de provedor internos para obter uma lista de contextos predefinidos do provedor de políticas.

O LUID do contexto do provedor especificado pelo providerContextKey é usado para preencher o membro de contexto da estrutura de FWPS_FILTER0 correspondente, que está documentada no WDK.

reserved

Reservado para uso do sistema.

filterId

LUID identificando o filtro. Esse também é o LUID da estrutura de FWPS_FILTER0 correspondente, que está documentada no WDK.

effectiveWeight

Uma estrutura FWP_VALUE0 que contém o peso atribuído a FWPS_FILTER0, que está documentado no WDK.

Comentários

Os dez primeiros membros dessa estrutura contêm informações fornecidas ao adicionar objetos.

Os últimos membros, filterId e effectiveWeight, fornecem informações adicionais ao obter/enumerar objetos.

FWPM_FILTER0 é uma implementação específica de FWPM_FILTER. Consulte Nomes de Version-Independent WFP e Direcionamento de versões específicas do Windows para obter mais informações.

Requisitos

Requisito Valor
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 fwpmtypes.h

Confira também

FWPM_ACTION0

FWPM_DISPLAY_DATA0

FWPM_FILTER_CONDITION0

FWP_VALUE0

Atribuição de peso de filtro

Filtrar identificadores de peso

Estruturas de API da Plataforma de Filtragem do Windows