Condividi tramite


struttura FWPS_STREAM_CALLOUT_IO_PACKET0 (fwpsk.h)

La struttura FWPS_STREAM_CALLOUT_IO_PACKET0 descrive i dati passati dal motore di filtro a un callout classificareFn funzione callout durante il filtro di un flusso di dati.

NotaFWPS_STREAM_CALLOUT_IO_PACKET0 è una versione specifica di FWPS_STREAM_CALLOUT_IO_PACKET. Per altre informazioni, vedere nomi Version-Independent WFP e selezione di versioni specifiche di Windows.
 

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;

Membri

streamData

Puntatore a una struttura FWPS_STREAM_DATA0 che descrive la parte del flusso di dati disponibile per il driver del callout classificareFn funzione callout per l'elaborazione.

missedBytes

Numero di byte nel flusso di dati mancante dall'ultima chiamata del driver di callout classificareFn funzione callout. Questo membro è diverso da zero se un filtro di peso superiore nel motore di filtro ha impedito alla funzione di callout del driver di callout di callout di chiamareFn di elaborare una parte del flusso di dati.

countBytesRequired

Valore impostato da un callout classificareFn funzione callout. Questo valore specifica il numero di byte aggiuntivi di dati del flusso richiesti dalla funzione 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 nuovamente la funzione di callout del driver callout del callout del callout.

Se la funzione di callout classifyFn 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 da un callout classificareFn funzione callout. Questo valore specifica il numero di byte iniziali di dati nella parte del flusso di dati in fase di elaborazione a cui si applica l'azione specificata dal membro streamAction o dall'azione restituita dalla funzione callout. Tutti i dati rimanenti nel buffer di flusso verranno passati nuovamente al driver callout alla successiva chiamata del motore di filtro alla funzione callout del driver di callout classifyFn.

streamAction

Valore FWPS_STREAM_ACTION_TYPE impostato da un callout classifyFn funzione 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 sono consentiti tutti i segmenti di dati futuri appartenenti a un flusso. In questo caso, il WFP smette di classificare i segmenti di dati al callout e tenta di scaricare il flusso sull'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. Il callout classifyFn funzione callout deve impostare il membro streamAction su questo valore se il membro action.type della struttura di FWPS_FILTER0 che il motore di filtro passato alla funzione di callout del driver 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 smette di riconoscere i dati ricevuti dal mittente. Ciò comporterà una riduzione delle dimensioni della finestra TCP scorrevole. Un driver callout può usare questo comportamento per implementare il controllo del flusso per rallentare la velocità dei dati in ingresso.

Il valore FWPS_STREAM_ACTION_TYPE_MAX è un valore massimo a scopo di test.

Se un callout classifyFn funzione 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.

Osservazioni

Il motore di filtro passa un puntatore a una struttura FWPS_STREAM_CALLOUT_IO_PACKET0 a un callout classificareFn funzione callout come parametro layerData durante il filtro di un flusso di dati.

Fabbisogno

Requisito Valore
client minimo supportato Disponibile a partire da Windows Vista.
intestazione fwpsk.h (include Fwpsk.h)

Vedere anche

FWPS_STREAM_DATA0

FwpsStreamContinue0

tipi di callout

classificareFn