struttura FWPS_STREAM_CALLOUT_IO_PACKET0 (fwpsk.h)
La struttura FWPS_STREAM_CALLOUT_IO_PACKET0 descrive i dati passati dal motore di filtro alla funzione di callout classifyFn di un callout durante il filtro di un flusso di dati.
Sintassi
typedef struct FWPS_STREAM_CALLOUT_IO_PACKET0_ {
FWPS_STREAM_DATA0 *streamData;
SIZE_T missedBytes;
UINT32 countBytesRequired;
SIZE_T countBytesEnforced;
FWPS_STREAM_ACTION_TYPE streamAction;
} FWPS_STREAM_CALLOUT_IO_PACKET0;
Members
streamData
Puntatore a una struttura FWPS_STREAM_DATA0 che descrive la parte del flusso di dati disponibile per la funzione di callout del driver di classificazioneFn per l'elaborazione.
missedBytes
Numero di byte nel flusso di dati mancante dall'ultima chiamata della funzione callout del driver callout del callout. Questo membro è diverso da zero se un filtro di peso maggiore nel motore di filtro ha impedito alla funzione di callout del driver di callout del callout di callout di elaborare una parte del flusso di dati.
countBytesRequired
Valore impostato dalla funzione di callout classifyFn di un callout di un callout. Questo valore specifica il numero di byte aggiuntivi di dati del flusso richiesti dalla funzione di callout se imposta il membro streamAction su FWPS_STREAM_ACTION_NEED_MORE_DATA. Il motore di filtro attende fino a quando non riceve almeno questo numero di byte aggiuntivi di dati di flusso prima di chiamare di nuovo la funzione callout del driver callout del callout.
Se la funzione di callout classifyFn di un callout imposta il membro streamAction su un valore diverso da FWPS_STREAM_ACTION_NEED_MORE_DATA, deve impostare questo membro su zero.
countBytesEnforced
Valore impostato dalla funzione di callout classifyFn di un callout di un callout. Questo valore specifica il numero di byte iniziali di dati nella parte del flusso di dati in cui viene elaborata l'azione specificata dal membro streamAction o dall'azione restituita dalla funzione di callout. Tutti i dati rimanenti nel buffer di flusso verranno passati di nuovo al driver di callout alla successiva chiamata del motore di filtro alla funzione callout del driver di callout classifyFn del driver.
streamAction
Valore FWPS_STREAM_ACTION_TYPE impostato da una funzione callout classifyFn del callout che specifica l'azione da applicare al flusso di dati. Questa azione è indipendente dall'azione restituita dalla funzione callout. La funzione di callout classifyFn di un callout di un callout imposta questo membro su uno dei seguenti:
FWPS_STREAM_ACTION_NONE
Non è necessaria alcuna azione specifica del flusso.
FWPS_STREAM_ACTION_ALLOW_CONNECTION
Indica che tutti i segmenti di dati futuri appartenenti a un flusso sono consentiti. In questo caso, il WFP smette di classificare i segmenti di dati nel callout e tenta di eseguire l'offload del flusso nell'hardware in modo che non venga generato alcun sovraccarico di ispezione.
FWPS_STREAM_ACTION_NEED_MORE_DATA
La funzione callout richiede più dati di flusso.
FWPS_STREAM_ACTION_DROP_CONNECTION
La connessione al flusso deve essere eliminata. La funzione callout classifyFn di un callout di un callout deve impostare il membro streamAction su questo valore solo se il membro action.type della struttura FWPS_FILTER0 che il motore di filtro passato alla funzione di callout del driver classifyFn del callout contiene il valore FWP_ACTION_CALLOUT_UNKNOWN. Se la funzione di callout classifyFn di un callout imposta il membro streamAction su questo valore quando il membro action.type della struttura FWPS_FILTER0 contiene il valore FWP_ACTION_CALLOUT_INSPECTION, la connessione non verrà eliminata.
FWPS_STREAM_ACTION_DEFER
L'elaborazione dei dati del flusso verrà posticipata fino a quando il driver callout chiama la funzione FwpsStreamContinue0 . Questa azione può essere impostata solo per un flusso di dati in ingresso.
Se si rinvia un flusso di dati in ingresso, lo stack di rete smetterà di riconoscere i dati ricevuti dal mittente. Ciò comporterà una riduzione delle dimensioni della finestra TCP scorrevole. Un driver di callout può usare questo comportamento per implementare il controllo del flusso per rallentare la frequenza dei dati in ingresso.
Il valore FWPS_STREAM_ACTION_TYPE_MAX è un valore massimo a scopo di test.
Se la funzione di callout classifyFn di un callout di un callout imposta questo membro su un valore diverso da FWPS_STREAM_ACTION_NONE, l'azione restituita dalla funzione callout viene ignorata dal motore di filtro.
Commenti
Il motore di filtro passa un puntatore a una struttura FWPS_STREAM_CALLOUT_IO_PACKET0 alla funzione di callout classifyFn di un callout di callout come parametro layerData durante il filtro di un flusso di dati.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Disponibile a partire da Windows Vista. |
Intestazione | fwpsk.h (include Fwpsk.h) |