estrutura FWPS_CLASSIFY_OUT0 (fwpstypes.h)

A estrutura FWPS_CLASSIFY_OUT0 define os dados retornados ao chamador da função de texto explicativo classifyFn de um texto explicativo.

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

Sintaxe

typedef struct FWPS_CLASSIFY_OUT0_ {
  FWP_ACTION_TYPE actionType;
  UINT64          outContext;
  UINT64          filterId;
  UINT32          rights;
  UINT32          flags;
  UINT32          reserved;
} FWPS_CLASSIFY_OUT0;

Membros

actionType

Um valor FWP_ACTION_TYPE que especifica a ação sugerida a ser tomada conforme determinado pela função de texto explicativo classifyFn do driver de texto explicativo. Um driver de texto explicativo define essa variável como um dos seguintes valores:

FWP_ACTION_BLOCK

Bloqueie a transmissão ou o recebimento dos dados.

FWP_ACTION_CONTINUE

Passe a decisão de bloquear ou permitir que os dados sejam transmitidos ou recebidos para o próximo filtro no mecanismo de filtro.

FWP_ACTION_NONE

Não execute nenhuma ação nos dados.

FWP_ACTION_NONE_NO_MATCH

Não execute nenhuma ação nos dados porque eles não correspondem aos tipos de dados de filtro enumerados.

FWP_ACTION_PERMIT

Permitir que os dados sejam transmitidos ou recebidos.

O acesso de gravação a esse membro é controlado pelo sinalizador FWPS_RIGHT_ACTION_WRITE no membro de direitos . Se o sinalizador FWPS_RIGHT_ACTION_WRITE estiver definido, um driver de texto explicativo poderá gravar qualquer um dos valores acima para esse membro. Se o sinalizador FWPS_RIGHT_ACTION_WRITE não estiver definido, um driver de texto explicativo não deverá gravar para esse membro, a menos que esteja vetando uma ação FWP_ACTION_PERMIT que foi retornada anteriormente por um filtro de peso mais alto no mecanismo de filtro. Nessa situação, um driver explicativo define esse membro como FWP_ACTION_BLOCK.

outContext

Reservado para uso do sistema. Os drivers de texto explicativo não devem usar esse membro.

filterId

Reservado para uso do sistema. Os drivers de texto explicativo não devem usar esse membro.

rights

Sinalizadores que controlam o acesso de gravação aos outros membros dentro dessa estrutura. Os possíveis sinalizadores são:

FWPS_RIGHT_ACTION_WRITE

Se esse sinalizador for definido, um driver de texto explicativo poderá gravar no membro actionType dessa estrutura. Se esse sinalizador não estiver definido, um driver de texto explicativo só poderá gravar no membro actionType dessa estrutura se estiver vetando uma ação FWP_ACTION_PERMIT que foi retornada anteriormente por um filtro de peso mais alto no mecanismo de filtro.

flags

Sinalizadores que afetam a ação executada nos dados. Os possíveis sinalizadores são:

FWPS_CLASSIFY_OUT_FLAG_ABSORB

Os dados bloqueados devem ser removidos silenciosamente sem nenhum registro em log ou auditoria de eventos. Normalmente, isso é usado para modificação de pacotes em que o pacote original deve ser absorvido e o pacote modificado deve ser processado posteriormente.

Esse sinalizador é aplicável nas seguintes camadas quando o membro actionType é definido como FWP_ACTION_BLOCK:

FWPS_LAYER_INBOUND_MAC_FRAME_NATIVE
FWPS_LAYER_OUTBOUND_MAC_FRAME_NATIVE
FWPS_LAYER_INBOUND_MAC_FRAME_ETHERNET
FWPS_LAYER_OUTBOUND_MAC_FRAME_ETHERNET
FWPS_LAYER_INGRESS_VSWITCH_ETHERNET
FWPS_LAYER_EGRESS_VSWITCH_ETHERNET
FWPS_LAYER_INBOUND_IPPACKET_V4
FWPS_LAYER_INBOUND_IPPACKET_V6
FWPS_LAYER_OUTBOUND_IPPACKET_V4
FWPS_LAYER_OUTBOUND_IPPACKET_V6
FWPS_LAYER_INBOUND_TRANSPORT_V4
FWPS_LAYER_INBOUND_TRANSPORT_V6
FWPS_LAYER_OUTBOUND_TRANSPORT_V4
FWPS_LAYER_OUTBOUND_TRANSPORT_V6
FWPS_LAYER_INBOUND_ICMP_ERROR_V4
FWPS_LAYER_INBOUND_ICMP_ERROR_V6
FWPS_LAYER_OUTBOUND_ICMP_ERROR_V4
FWPS_LAYER_OUTBOUND_ICMP_ERROR_V6
FWPS_LAYER_DATAGRAM_DATA_V4
FWPS_LAYER_DATAGRAM_DATA_V6
FWPS_LAYER_STREAM_PACKET_V4
FWPS_LAYER_STREAM_PACKET_V6
FWPS_LAYER_ALE_AUTH_RECV_ACCEPT_V4
FWPS_LAYER_ALE_AUTH_RECV_ACCEPT_V6
FWPS_LAYER_ALE_AUTH_CONNECT_V4
FWPS_LAYER_ALE_AUTH_CONNECT_V6

Também é possível definir esse sinalizador nas camadas FWPS_LAYER_ALE_FLOW_ESTABLISHED_V4 e FWPS_LAYER_ALE_FLOW_ESTABLISHED_V6. Mas isso não é aconselhável, pois essas camadas destinam-se a associar contexto a fluxos.

Se esse sinalizador não estiver definido, uma ação de bloqueio estará sujeita ao log de eventos normal e à auditoria.

FWPS_CLASSIFY_OUT_FLAG_BUFFER_LIMIT_REACHED

O mecanismo de filtro define esse sinalizador quando o buffer de dados do mecanismo de filtro para dados de fluxo está cheio. Isso poderá ocorrer se a função de texto explicativo classifyFn de um texto explicativo solicitar repetidamente mais dados definindo o membro streamAction da estrutura de FWPS_STREAM_CALLOUT_IO_PACKET0 como FWPS_STREAM_ACTION_NEED_MORE_DATA até que o limite do buffer seja atingido. Se esse sinalizador estiver definido, a função de texto explicativo classifyFn do driver de texto explicativo deverá permitir ou bloquear todos os dados de fluxo.

Esse sinalizador só é aplicável nas camadas de fluxo.

FWPS_CLASSIFY_OUT_FLAG_NO_MORE_DATA

Stream dados foram solicitados depois que o fluxo foi desconectado.

reserved

Reservado para uso do sistema. Os drivers de texto explicativo não devem usar esse membro.

Comentários

O mecanismo de filtro passa um ponteiro para uma estrutura FWPS_CLASSIFY_OUT0 para a função de texto explicativo classifyFn de um texto explicativo. Um driver de texto explicativo usa essa estrutura para retornar dados ao chamador.

Requisitos

Requisito Valor
Cliente mínimo com suporte Disponível a partir do Windows Vista.
Cabeçalho fwpstypes.h (incluem Fwpsk.h, Fwpmtypes.h, Fwpmk.h)

Confira também

FWPS_STREAM_CALLOUT_IO_PACKET0

Identificadores de camada de filtragem em tempo de execução

classifyFn