FWPS_CALLOUT_CLASSIFY_FN3 funzione di callback (fwpsk.h)
La versione 3 della funzione di callback richiamata durante la classificazione quando un filtro callout corrisponde. La differenza consiste nel fatto che questo callback restituisce una struttura FWPS_FILTER3.
Sintassi
FWPS_CALLOUT_CLASSIFY_FN3 FwpsCalloutClassifyFn3;
void FwpsCalloutClassifyFn3(
const FWPS_INCOMING_VALUES0 *inFixedValues,
const FWPS_INCOMING_METADATA_VALUES0 *inMetaValues,
void *layerData,
const void *classifyContext,
const FWPS_FILTER3 *filter,
UINT64 flowContext,
FWPS_CLASSIFY_OUT0 *classifyOut
)
{...}
Parametri
inFixedValues
Puntatore a una struttura FWPS_INCOMING_VALUES0. Questa struttura contiene i valori per ognuno dei campi dati a livello filtrato.
inMetaValues
Puntatore a una struttura FWPS_INCOMING_METADATA_VALUES0. Questa struttura contiene i valori per ognuno dei campi di metadati a livello filtrato.
layerData
Puntatore a una struttura che descrive i dati non elaborati a livello filtrato. Questo parametro potrebbe essere NULL, a seconda del livello filtrato e delle condizioni in cui viene chiamata la funzione callout classificareFn3. Per il livello flusso, questo parametro punta a una struttura FWPS_STREAM_CALLOUT_IO_PACKET0. Per tutti gli altri livelli, questo parametro punta a una struttura NET_BUFFER_LIST se non è NULL.
classifyContext
Puntatore ai dati di contesto associati al driver callout dal motore di filtro.
filter
Puntatore a una struttura FWPS_FILTER3. Questa struttura descrive il filtro che specifica il callout per l'azione del filtro.
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 classifyFn3 funzione callout deve ignorare questo parametro.
classifyOut
Puntatore a una struttura di FWPS_CLASSIFY_OUT0 che riceve tutti i dati restituiti dal classifyFn3 funzione callout al chiamante.
Valore restituito
Nessuno
Osservazioni
Un driver callout registra le funzioni callout di un callout con il motore di filtro chiamando la funzione FwpsCalloutRegister2.
Il motore di filtro chiama un callout classifyFn3 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 classifyFn1 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 il classifyFn1 funzione callout imposta il membro actionType della struttura FWPS_CLASSIFY_OUT0 su FWP_ACTION_BLOCK.
- Quando la funzione di callout classifyFn1 imposta il membro 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_FILTER3.
- 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. |
intestazione |
fwpsk.h |
IRQL | <= DISPATCH_LEVEL |