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)

Vedi anche

FWPS_STREAM_DATA0

FwpsStreamContinue0

Tipi di callout

classifyFn