Condividi tramite


FWPS_CALLOUT_CLASSIFY_FN0 funzione di callback (fwpsk.h)

Il motore di filtro chiama il callout classificareFn0 funzione callout ogni volta che sono presenti dati da elaborare dal callout.

NotaclassifyFn0 è la versione specifica di classifyFn usata in Windows Vista e versioni successive. Per altre informazioni, vedere nomi Version-Independent WFP e selezione di versioni specifiche di Windows. Per Windows 8 è disponibile classifyFn2. Per Windows 7, è disponibile classifyFn1.
 

Sintassi

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
)
{...}

Parametri

[in] inFixedValues

Puntatore a una struttura FWPS_INCOMING_VALUES0. Questa struttura contiene i valori per ognuno dei campi dati a livello filtrato.

[in] inMetaValues

Puntatore a un oggetto FWPS_INCOMING_METADATA_VALUES0 struttura. Questa struttura contiene i valori per ognuno dei campi di metadati a livello filtrato.

[in, out] layerData

Puntatore a una struttura che descrive i dati non elaborati a livello filtrato. Questo parametro può essere NULL, a seconda del livello filtrato e delle condizioni in cui viene chiamata la funzione callout classificaFn0. Per il livello flusso, questo parametro punta a un FWPS_STREAM_CALLOUT_IO_PACKET0 struttura. Per tutti gli altri livelli, questo parametro punta a una struttura NET_BUFFER_LIST se non è NULL.

[in] filter

Puntatore a una struttura FWPS_FILTER0. Questa struttura descrive il filtro che specifica il callout per l'azione del filtro.

[in] flowContext

Variabile tipizzata UINT64 che contiene il contesto associato al flusso di dati. Se al flusso di dati non è associato alcun contesto, questo parametro è zero. Se il callout viene aggiunto al motore di filtro a un livello di filtro che non supporta i flussi di dati, il classifyFn0 funzione callout deve ignorare questo parametro.

[in, out] classifyOut

Puntatore a una struttura di FWPS_CLASSIFY_OUT0 che riceve tutti i dati restituiti dal classifyFn0 funzione callout al chiamante.

Valore restituito

Nessuno

Osservazioni

Un driver callout registra le funzioni di callout di un callout con il motore di filtro chiamando la funzione fwpsCalloutRegister0.

Il motore di filtro chiama un callout classifyFn0 funzione callout con dati da elaborare ogni volta che tutte le condizioni di test sono vere per un filtro nel motore di filtro che specifica il callout per l'azione del filtro.

Un callout classifyFn0 funzione callout deve cancellare il flag di FWPS_RIGHT_ACTION_WRITE nei diritti di membro della struttura FWPS_CLASSIFY_OUT0 in una delle situazioni seguenti:

  • Quando la funzione callout classifyFn0 imposta il membro actionType della struttura FWPS_CLASSIFY_OUT0 su FWP_ACTION_BLOCK.
  • Quando la funzione callout classifyFn0 imposta il membro actionType actionType della struttura FWPS_CLASSIFY_OUT0 su FWP_ACTION_PERMIT e il flag FWPS_FILTER_FLAG_CLEAR_ACTION_RIGHT viene impostato nel membro flag della struttura FWPS_FILTER0.
  • Quando un callout ha indicato che intende modificare l'elenco di buffer net clone impostando il parametro intendToModify su TRUE in una chiamata alla funzione FwpsReferenceNetBufferList0.

Fabbisogno

Requisito Valore
client minimo supportato Disponibile a partire da Windows Vista.
piattaforma di destinazione Finestre
intestazione fwpsk.h (include Fwpsk.h)
IRQL <= DISPATCH_LEVEL

Vedere anche

Associare il contesto a un flusso di dati

funzioni callout del driver callout

di registrazione dei dati

FWPS_CALLOUT0

FWPS_CLASSIFY_OUT0

FWPS_FILTER0

FWPS_INCOMING_METADATA_VALUES0

FWPS_INCOMING_VALUES0

FwpsCalloutRegister0

FwpsCalloutRegister1

FwpsReferenceNetBufferList0

NET_BUFFER_LIST

esempi di modifica dei pacchetti

registrazione dei callout con il motore di filtro

Uso di un callout per l'ispezione approfondita dei dati di flusso

Uso di un callout per un'ispezione approfondita

classificareFn

classifyFn1

classifyFn2