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.

NotaFWPS_CALLOUT2 è la versione specifica di FWPS_CALLOUT usata in Windows 8 e versioni successive. Per altre informazioni , vedere Nomi Version-Independent WFP e Versioni specifiche di Windows . Per Windows 7 è disponibile FWPS_CALLOUT1 . Per Windows Vista, è disponibile FWPS_CALLOUT0 .

 

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
FWP_CALLOUT_FLAG_CONDITIONAL_ON_FLOW
0x00000001
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 .
FWP_CALLOUT_FLAG_ALLOW_OFFLOAD
0x00000002
Un driver di callout specifica questo flag per indicare che la funzione di callout del driver di classificazioneFn2 non è influenzata dall'offload di dati di rete per l'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.
FWP_CALLOUT_FLAG_ENABLE_COMMIT_ADD_NOTIFY
0x00000004
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.
FWP_CALLOUT_FLAG_ALLOW_MID_STREAM_INSPECTION
0x00000008
Un driver di callout specifica questo flag per indicare che può eseguire l'ispezione dinamica dei flussi di dati a livello di flusso. Vedere Ispezione del flusso.
FWP_CALLOUT_FLAG_ALLOW_RECLASSIFY
0x00000010
Un driver di callout specifica questo flag da registrare per essere chiamato quando viene riclassificata un'operazione socket esistente.
FWP_CALLOUT_FLAG_RESERVED1
0x00000020
Riservato per l'utilizzo nel sistema. I driver di callout devono ignorare questo flag.
FWP_CALLOUT_FLAG_ALLOW_RSC
0x00000040
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.
FWP_CALLOUT_FLAG_ALLOW_L2_BATCH_CLASSIFY
0x00000080
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.

FWP_CALLOUT_FLAG_ALLOW_USO
0x00000100
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.
FWP_CALLOUT_FLAG_ALLOW_URO
0x00000200
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.

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

   
Client minimo supportato Disponibile a partire da Windows 8.
Intestazione fwpsk.h (includere Fwpsk.h)

Vedi anche

FWPS_CALLOUT0

FWPS_CALLOUT1

FwpsCalloutRegister2

Uso del filtro livello 2

classificazioneFn2

flowDeleteFn

notificaFn2