struttura FWPS_CALLOUT2 (fwpsk.h)
La struttura FWPS_CALLOUT2 definisce i dati necessari per un driver callout per registrare un callout con il motore di filtro.
Sintassi
typedef struct FWPS_CALLOUT2_ {
GUID calloutKey;
UINT32 flags;
FWPS_CALLOUT_CLASSIFY_FN2 classifyFn;
FWPS_CALLOUT_NOTIFY_FN2 notifyFn;
FWPS_CALLOUT_FLOW_DELETE_NOTIFY_FN0 flowDeleteFn;
} FWPS_CALLOUT2;
Membri
calloutKey
Un GUID definito dal driver di callout che identifica in modo univoco il callout.
flags
Flag che specificano parametri specifici del callout. I flag possibili sono:
Valore | Significato |
---|---|
|
Un driver callout può specificare questo flag durante la registrazione di un callout che verrà aggiunto a un livello che supporta i flussi di dati. Se questo flag viene specificato, il motore di filtro chiama il driver callout classifyFn2 funzione callout solo se al flusso di dati è associato un contesto. Un driver callout associa un contesto a un flusso di dati chiamando la funzione FwpsFlowAssociateContext0. |
|
Un driver callout specifica questo flag per indicare che il driver del callout classifyFn2 funzione callout non è interessato dall'offload dell'elaborazione dei dati di rete alle schede di interfaccia di rete con supporto per l'offload. Se questo flag non viene specificato, l'offload dell'elaborazione dati di rete viene disabilitato per tutto il traffico elaborato da tutti i filtri che specificano il callout per l'azione del filtro. |
|
Un driver callout specifica questo flag per indicare che può ricevere notifiche su oggetti e filtri aggiunti all'interno di una transazione. Il motore di filtro invia la notifica dopo il commit della transazione. |
|
Un driver callout specifica questo flag per indicare che può eseguire l'ispezione dinamica dei flussi di dati a livello di flusso. Vedere flusso di ispezione. |
|
Un driver callout specifica questo flag da registrare per essere chiamato quando un'operazione socket esistente viene riclassificata. |
|
Riservato per l'uso del sistema. I driver callout devono ignorare questo flag. |
|
Un driver callout specifica questo flag per indicare che il callout supporta l'unione del segmento di ricezione TCP (RSC) con pacchetti di grandi dimensioni fino a 64K. Se questo flag non viene specificato e viene registrato un callout, RSC viene disabilitato per tutto il traffico elaborato da tutti i filtri che specificano il callout per l'azione del filtro. |
|
Un driver callout specifica questo flag durante la registrazione di un callout che verrà aggiunto al livello 2, per indicare che il relativo classificareFn2 funzione callout può classificare più strutture concatenati NET_BUFFER_LIST. Per altre informazioni, vedere Uso del filtro di livello 2.
attenzione
Se un driver callout imposta questo flag, non può utilizzare le funzioni seguenti per modificare NET_BUFFER_LISTs.
Con questo flag impostato, FwpsAllocateCloneNetBufferList0 restituirà sempre un errore di INVALID_PARAMETER. Ciò potrebbe causare un errore imprevisto di un driver callout di terze parti di gestire il numero di riferimenti di NET_BUFFER_LISTs, causando l'arresto delle operazioni di invio e ricezione. |
|
Un driver callout specifica questo flag per indicare che il callout supporta l'offload di segmentazione UDP (USO) con pacchetti di dimensioni maggiori rispetto all'MTU del supporto di rete. Se questo flag non viene specificato e viene registrato un callout, l'uso viene disabilitato per tutto il traffico elaborato da tutti i filtri che specificano il callout per l'azione del filtro. Nota: La versione meno recente in cui è supportato questo flag è Windows Insider Preview, versione 10.0.25876. |
|
Un driver callout specifica questo flag per indicare che il callout supporta l'offload di ricezione UDP (URO) con pacchetti di grandi dimensioni fino a 64K. Se questo flag non viene specificato e viene registrato un callout, l'URO viene disabilitato per tutto il traffico elaborato da tutti i filtri che specificano il callout per l'azione del filtro. Nota: Se questo flag è specificato, i callout non devono clonare e reiniettare pacchetti URO in ingresso. |
classifyFn
Puntatore al driver del callout classificareFn2 funzione callout. Il motore di filtro chiama questa funzione ogni volta che sono presenti dati di rete da elaborare dal callout.
notifyFn
Puntatore alla funzione del driver del callout notifyFn2. Il motore di filtro chiama questa funzione per notificare al driver callout gli eventi associati al callout.
flowDeleteFn
Puntatore alla funzione callout del driver flowDeleteFn. Il motore di filtro chiama questa funzione ogni volta che viene terminato un flusso di dati elaborato dal callout.
Se un driver callout non associa un contesto ai flussi di dati elaborati dal callout, questo membro deve essere impostato su NULL.
Osservazioni
Un driver callout passa un puntatore a una struttura di FWPS_CALLOUT2 inizializzata alla funzione FwpsCalloutRegister2 quando registra un callout con il motore di filtro.
Un callout può impostare il flag FWP_CALLOUT_FLAG_CONDITIONAL_ON_FLOW solo per le connessioni su cui il driver è interessato a eseguire ispezioni del flusso. Questo callout verrà ignorato in tutte le altre connessioni. Le prestazioni saranno migliorate e il driver non dovrà gestire i dati sullo stato non necessari.
Questa struttura è essenzialmente identica alla versione precedente, FWPS_CALLOUT1. Le uniche differenze sono che i membri di questa versione archiviano le versioni aggiornate dei puntatori di funzione callout e sono disponibili flag aggiuntivi per i driver callout da impostare.
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Disponibile a partire da Windows 8. |
intestazione | fwpsk.h (include Fwpsk.h) |