struttura FWPS_CALLOUT3 (fwpsk.h)
La struttura FWPS_CALLOUT3 definisce i dati necessari per un driver callout per registrare un callout con il motore di filtro.
Sintassi
typedef struct FWPS_CALLOUT3_ {
GUID calloutKey;
UINT32 flags;
FWPS_CALLOUT_CLASSIFY_FN3 classifyFn;
FWPS_CALLOUT_NOTIFY_FN3 notifyFn;
FWPS_CALLOUT_FLOW_DELETE_NOTIFY_FN0 flowDeleteFn;
} FWPS_CALLOUT3;
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 |
---|---|
FWP_CALLOUT_FLAG_CONDITIONAL_ON_FLOW 0x00000001 |
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 del callout classifyFn3 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. |
FWP_CALLOUT_FLAG_ALLOW_OFFLOAD 0x00000002 |
Un driver callout specifica questo flag per indicare che il driver del callout classifyFn3 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. |
FWP_CALLOUT_FLAG_ENABLE_COMMIT_ADD_NOTIFY 0x00000004 |
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. |
FWP_CALLOUT_FLAG_ALLOW_MID_STREAM_INSPECTION 0x00000008 |
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. |
FWP_CALLOUT_FLAG_ALLOW_RECLASSIFY 0x00000010 |
Un driver callout specifica questo flag da registrare per essere chiamato quando un'operazione socket esistente viene riclassificata. |
FWP_CALLOUT_FLAG_RESERVED1 0x00000020 |
Riservato per l'uso del sistema. I driver callout devono ignorare questo flag. |
FWP_CALLOUT_FLAG_ALLOW_RSC 0x00000040 |
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. |
FWP_CALLOUT_FLAG_ALLOW_L2_BATCH_CLASSIFY 0x00000080 |
Un driver callout specifica questo flag durante la registrazione di un callout che verrà aggiunto al livello 2, per indicare che il relativo classifyFn3 funzione callout può classificare più strutture di NET_BUFFER_LIST concatenati. 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. • FwpsReferenceNetBufferList0 • FwpsDereferenceNetBufferList0 • FwpsAllocateCloneNetBufferList0 • FwpsFreeCloneNetBufferList0 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. |
FWP_CALLOUT_FLAG_ALLOW_USO 0x00000100 |
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. |
FWP_CALLOUT_FLAG_ALLOW_URO 0x00000200 |
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 classificareFn3 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 notifyFn3. 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 di callout passa un puntatore a una struttura di
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.
FWPS_CALLOUT3 è la versione specifica di FWPS_CALLOUT. Per altre informazioni, vedere nomi Version-Independent WFP e selezione di versioni specifiche di Windows.
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Disponibile a partire da Windows 8. |
intestazione |
fwpsk.h |