Compartilhar via


função de retorno de chamada FWPS_CALLOUT_CLASSIFY_FN0 (fwpsk.h)

O mecanismo de filtro chama a função de texto explicativo classifyFn0 de um texto explicativo sempre que há dados a serem processados pelo texto explicativo.

ObservaçãoclassifyFn0 é a versão específica de classifyFn usada no Windows Vista e posterior. Consulte Nomes de Version-Independent WFP e Direcionamento de versões específicas do Windows para obter mais informações. Para Windows 8, classifyFn2 está disponível. Para o Windows 7, classifyFn1 está disponível.
 

Sintaxe

FWPS_CALLOUT_CLASSIFY_FN0 FwpsCalloutClassifyFn0;

void FwpsCalloutClassifyFn0(
  [in]      const FWPS_INCOMING_VALUES0 *inFixedValues,
  [in]      const FWPS_INCOMING_METADATA_VALUES0 *inMetaValues,
  [in, out] void *layerData,
  [in]      const FWPS_FILTER0 *filter,
  [in]      UINT64 flowContext,
  [in, out] FWPS_CLASSIFY_OUT0 *classifyOut
)
{...}

Parâmetros

[in] inFixedValues

Um ponteiro para uma estrutura FWPS_INCOMING_VALUES0 . Essa estrutura contém os valores de cada um dos campos de dados na camada que está sendo filtrada.

[in] inMetaValues

Um ponteiro para um FWPS_INCOMING_METADATA_VALUES0 estrutura. Essa estrutura contém os valores de cada um dos campos de metadados na camada que está sendo filtrada.

[in, out] layerData

Um ponteiro para uma estrutura que descreve os dados brutos na camada que está sendo filtrada. Esse parâmetro pode ser NULL, dependendo da camada que está sendo filtrada e das condições sob as quais a função de texto explicativo classifyFn0 é chamada. Para a camada de fluxo, esse parâmetro aponta para um FWPS_STREAM_CALLOUT_IO_PACKET0 estrutura. Para todas as outras camadas, esse parâmetro aponta para uma estrutura NET_BUFFER_LIST se não for NULL.

[in] filter

Um ponteiro para uma estrutura FWPS_FILTER0 . Essa estrutura descreve o filtro que especifica o texto explicativo para a ação do filtro.

[in] flowContext

Uma variável do tipo UINT64 que contém o contexto associado ao fluxo de dados. Se nenhum contexto estiver associado ao fluxo de dados, esse parâmetro será zero. Se o texto explicativo for adicionado ao mecanismo de filtro em uma camada de filtragem que não dá suporte a fluxos de dados, a função de texto explicativo classifyFn0 deverá ignorar esse parâmetro.

[in, out] classifyOut

Um ponteiro para uma estrutura FWPS_CLASSIFY_OUT0 que recebe todos os dados que a função de texto explicativo classifyFn0 retorna ao chamador.

Retornar valor

Nenhum

Comentários

Um driver de texto explicativo registra as funções de texto explicativo de um texto explicativo com o mecanismo de filtro chamando a função FwpsCalloutRegister0 .

O mecanismo de filtro chama a função de texto explicativo classifyFn0 de um texto explicativo com dados a serem processados sempre que todas as condições de teste forem verdadeiras para um filtro no mecanismo de filtro que especifica o texto explicativo para a ação do filtro.

A função de texto explicativo classifyFn0 de um texto explicativo deve limpar o sinalizador FWPS_RIGHT_ACTION_WRITE no membro de direitos da estrutura FWPS_CLASSIFY_OUT0 em qualquer uma das seguintes situações:

  • Quando a função de texto explicativo classifyFn0 define o membro actionType da estrutura FWPS_CLASSIFY_OUT0 como FWP_ACTION_BLOCK.
  • Quando a função de texto explicativo classifyFn0 define o membro actionType da estrutura FWPS_CLASSIFY_OUT0 como FWP_ACTION_PERMIT e o sinalizador FWPS_FILTER_FLAG_CLEAR_ACTION_RIGHT é definido no membro Flags da estrutura FWPS_FILTER0 .
  • Quando um texto explicativo indica que pretende modificar a lista de buffers de rede de clone definindo o parâmetro intendToModify como TRUE em uma chamada para a função FwpsReferenceNetBufferList0 .

Requisitos

Requisito Valor
Cliente mínimo com suporte Disponível a partir do Windows Vista.
Plataforma de Destino Windows
Cabeçalho fwpsk.h (inclua Fwpsk.h)
IRQL <= DISPATCH_LEVEL

Confira também

Associando Contexto a um Fluxo de Dados

Funções de texto explicativo do driver de texto explicativo

Log de dados

FWPS_CALLOUT0

FWPS_CLASSIFY_OUT0

FWPS_FILTER0

FWPS_INCOMING_METADATA_VALUES0

FWPS_INCOMING_VALUES0

FwpsCalloutRegister0

FwpsCalloutRegister1

FwpsReferenceNetBufferList0

NET_BUFFER_LIST

Exemplos de modificação de pacote

Registrando textos explicativos com o mecanismo de filtro

Usando um texto explicativo para inspeção profunda de dados de Stream

Usando um texto explicativo para inspeção profunda

classifyFn

classifyFn1

classifyFn2