estructura de FWPS_STREAM_CALLOUT_IO_PACKET0 (fwpsk.h)
La estructura de FWPS_STREAM_CALLOUT_IO_PACKET0 describe los datos pasados por el motor de filtros a la función de llamada classifyFn de una llamada al filtrar un flujo de datos.
Sintaxis
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;
Miembros
streamData
Puntero a una estructura de FWPS_STREAM_DATA0 que describe la parte del flujo de datos disponible para la función de llamada classifyFn del controlador de llamada para su procesamiento.
missedBytes
Número de bytes del flujo de datos que faltan desde la última vez que se llamó a la función de llamada classifyFn del controlador de llamada. Este miembro es distinto de cero si un filtro de peso mayor en el motor de filtros impedía que la función de llamada del controlador de llamada clasifiqueFn procese una parte del flujo de datos.
countBytesRequired
Valor establecido por la función de llamada classifyFn de una llamada. Este valor especifica cuántos bytes adicionales de datos de flujo requieren la función de llamada si establece el miembro streamAction en FWPS_STREAM_ACTION_NEED_MORE_DATA. El motor de filtros espera hasta que recibe al menos estos muchos bytes adicionales de datos de flujo antes de llamar de nuevo a la función de llamada clasifique del controlador de llamadaFn.
Si la función de llamada classifyFn de una llamada establece el miembro streamAction en un valor distinto de FWPS_STREAM_ACTION_NEED_MORE_DATA, debe establecer este miembro en cero.
countBytesEnforced
Valor establecido por la función de llamada classifyFn de una llamada. Este valor especifica el número de bytes iniciales de datos en la parte del flujo de datos que se está procesando a la que se aplica la acción especificada por el miembro streamAction o por la acción devuelta por la función de llamada. Los datos restantes del búfer de secuencia se pasarán de nuevo al controlador de llamada la próxima vez que el motor de filtros llame a la función de llamada clasifique el controlador de llamadaFn.
streamAction
Valor de FWPS_STREAM_ACTION_TYPE establecido por la función de llamada classifyFn de una llamada que especifica la acción que se va a aplicar al flujo de datos. Esta acción es independiente de la acción devuelta por la función de llamada. La función de llamada classifyFn de una llamada establece este miembro en uno de los siguientes elementos:
FWPS_STREAM_ACTION_NONE
No se requiere ninguna acción específica de la secuencia.
FWPS_STREAM_ACTION_ALLOW_CONNECTION
Indica que se permiten todos los segmentos de datos futuros que pertenecen a un flujo. En este caso, EL PMA deja de clasificar los segmentos de datos en la llamada e intenta descargar el flujo al hardware de modo que no se produzca más sobrecarga de inspección.
FWPS_STREAM_ACTION_NEED_MORE_DATA
La función de llamada requiere más datos de flujo.
FWPS_STREAM_ACTION_DROP_CONNECTION
Se debe quitar la conexión de flujo. La función de llamada classifyFn de una llamada solo debe establecer el miembro streamAction en este valor si el miembro action.type de la estructura FWPS_FILTER0 que el motor de filtro pasó a la función de llamada classifyFn del controlador de llamada contiene el valor FWP_ACTION_CALLOUT_UNKNOWN. Si la función de llamada classifyFn de una llamada establece el miembro streamAction en este valor cuando el miembro action.type de la estructura FWPS_FILTER0 contiene el valor FWP_ACTION_CALLOUT_INSPECTION, la conexión no se quitará.
FWPS_STREAM_ACTION_DEFER
El procesamiento de los datos de flujo se aplazará hasta que el controlador de llamada llame a la función FwpsStreamContinue0 . Esta acción solo se puede establecer para un flujo de datos entrante.
Aplazar un flujo de datos entrante hará que la pila de red deje de reconocer los datos recibidos del remitente. Esto provocará una reducción del tamaño de la ventana TCP deslizante. Un controlador de llamada puede usar este comportamiento para implementar el control de flujo para ralentizar la velocidad de datos entrante.
El valor de FWPS_STREAM_ACTION_TYPE_MAX es un valor máximo para fines de prueba.
Si la función de llamada classifyFn de una llamada establece este miembro en un valor distinto de FWPS_STREAM_ACTION_NONE, el motor de filtros omite la acción devuelta por la función de llamada.
Comentarios
El motor de filtros pasa un puntero a una estructura de FWPS_STREAM_CALLOUT_IO_PACKET0 a la función de llamada classifyFn de una llamada como parámetro layerData al filtrar un flujo de datos.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Disponible a partir de Windows Vista. |
Encabezado | fwpsk.h (incluya Fwpsk.h) |