FWPS_CALLOUT2 struttura (fwpsk.h)
La struttura FWPS_CALLOUT2 definisce i dati necessari per un driver di 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;
Members
calloutKey
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 di 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 è specificato, il motore di filtro chiama la funzione di callout del driver di calloutfn2 solo se è presente un contesto associato al flusso di dati. Un driver di callout associa un contesto a un flusso di dati chiamando la funzione FwpsFlowAssociateContext0 . |
|
Un driver callout specifica questo flag per indicare che la funzione di callout del driver di classificazioneFn2 non è influenzata dall'offload di dati di rete per offload delle schede di interfaccia di rete (NIC). Se questo flag non è specificato, l'offload dell'elaborazione dati di rete è disabilitato per tutto il traffico elaborato da tutti i filtri che specificano il callout per l'azione del filtro. |
|
Un driver di 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 di callout specifica questo flag per indicare che può eseguire l'ispezione dinamica dei flussi di dati a livello di flusso. Vedere Stream Ispezione. |
|
Un driver di callout specifica questo flag da registrare per essere chiamato quando viene riclassificata un'operazione socket esistente. |
|
Riservato per l'utilizzo nel sistema. I driver di callout devono ignorare questo flag. |
|
Un driver callout specifica questo flag per indicare che il callout supporta il raggruppamento del segmento di ricezione TCP con pacchetti di grandi dimensioni fino a 64K. Se questo flag non è specificato e viene registrato un callout, RSC è disabilitato per tutto il traffico elaborato da tutti i filtri che specificano il callout per l'azione del filtro. |
|
Un driver di callout specifica questo flag durante la registrazione di un callout che verrà aggiunto al livello 2, per indicare che la funzione di callout di ClassificaFn2 può classificare più strutture di NET_BUFFER_LIST concatenati. Per altre informazioni, vedere Uso del filtro livello 2.
Attenzione
Se un driver di callout imposta questo flag, non può usare le funzioni seguenti per modificare NET_BUFFER_LISTs.
Con questo set di flag, FwpsAllocateCloneNetBufferList0 restituirà sempre un errore di INVALID_PARAMETER . Questo può causare in modo imprevisto un driver callout di terze parti non riesce a gestire il numero di riferimenti di NET_BUFFER_LISTs, causando l'arresto delle operazioni di invio e ricezione. |
|
Un driver di callout specifica questo flag per indicare che il callout supporta l'offload di segmentazione UDP (USO) con pacchetti più grandi dell'MTU del supporto di rete. Se questo flag non è 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 più 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 (URO) di ricezione UDP con pacchetti di grandi dimensioni fino a 64K. Se questo flag non è 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 viene specificato, i callout non devono clonare e reiniettare pacchetti URO in ingresso. |
classifyFn
Puntatore alla funzione di callout del driver di classificazioneFn2 . Il motore di filtro chiama questa funzione ogni volta che sono presenti dati di rete da elaborare dal callout.
notifyFn
Puntatore alla funzione notifyFn2 del driver del callout. Il motore di filtro chiama questa funzione per notificare al driver callout eventi associati al callout.
flowDeleteFn
Puntatore alla funzione di callout del driver flowDeleteFn . Il motore di filtro chiama questa funzione ogni volta che viene terminato un flusso di dati che viene elaborato dal callout.
Se un driver di callout non associa un contesto ai flussi di dati che il callout elabora, questo membro deve essere impostato su NULL.
Commenti
Un driver di 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 di FWP_CALLOUT_FLAG_CONDITIONAL_ON_FLOW solo per le connessioni in cui il driver è interessato a eseguire controlli di flusso. Questo callout verrà ignorato in tutte le altre connessioni. Le prestazioni saranno migliorate e il driver non dovrà mantenere 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 i flag aggiuntivi sono disponibili per i driver di callout da impostare.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Disponibile a partire da Windows 8. |
Intestazione | fwpsk.h (includere Fwpsk.h) |