estructura FWPS_CALLOUT3 (fwpsk.h)
La estructura FWPS_CALLOUT3 define los datos necesarios para que un controlador de llamada registre una llamada con el motor de filtro.
Sintaxis
typedef struct FWPS_CALLOUT3_ {
GUID calloutKey;
UINT32 flags;
FWPS_CALLOUT_CLASSIFY_FN3 classifyFn;
FWPS_CALLOUT_NOTIFY_FN3 notifyFn;
FWPS_CALLOUT_FLOW_DELETE_NOTIFY_FN0 flowDeleteFn;
} FWPS_CALLOUT3;
Miembros
calloutKey
Una llamada definida por el controlador GUID que identifica de forma única la llamada.
flags
Marcas que especifican parámetros específicos de la llamada. Las marcas posibles son:
Valor | Significado |
---|---|
FWP_CALLOUT_FLAG_CONDITIONAL_ON_FLOW 0x00000001 |
Un controlador de llamada puede especificar esta marca al registrar una llamada que se agregará en una capa que admita flujos de datos. Si se especifica esta marca, el motor de filtro llama a la del controlador de llamada clasifiqueFn3 función de llamada solo si hay un contexto asociado al flujo de datos. Un controlador de llamada asocia un contexto a un flujo de datos llamando a la función FwpsFlowAssociateContext0. |
FWP_CALLOUT_FLAG_ALLOW_OFFLOAD 0x00000002 |
Un controlador de llamada especifica esta marca para indicar que la función de llamada clasifiqueFn3 función de llamada no se ve afectada al descargar el procesamiento de datos de red para descargar tarjetas de interfaz de red (NIC) compatibles con la descarga. Si no se especifica esta marca, la descarga del procesamiento de datos de red está deshabilitada para todo el tráfico procesado por los filtros que especifican la llamada para la acción del filtro. |
FWP_CALLOUT_FLAG_ENABLE_COMMIT_ADD_NOTIFY 0x00000004 |
Un controlador de llamada especifica esta marca para indicar que puede recibir notificaciones sobre objetos y filtros que se agregan dentro de una transacción. El motor de filtro envía la notificación después de confirmar la transacción. |
FWP_CALLOUT_FLAG_ALLOW_MID_STREAM_INSPECTION 0x00000008 |
Un controlador de llamada especifica esta marca para indicar que puede realizar una inspección dinámica de flujos de datos en el nivel de flujo. Consulte inspección de flujos. |
FWP_CALLOUT_FLAG_ALLOW_RECLASSIFY 0x00000010 |
Un controlador de llamada especifica esta marca para que se registre a sí misma cuando se vuelva a clasificar una operación de socket existente. |
FWP_CALLOUT_FLAG_RESERVED1 0x00000020 |
Reservado para uso del sistema. Los controladores de llamada deben omitir esta marca. |
FWP_CALLOUT_FLAG_ALLOW_RSC 0x00000040 |
Un controlador de llamada especifica esta marca para indicar que la llamada admite la fusión de segmentos de recepción TCP (RSC) con paquetes grandes de hasta 64 K. Si no se especifica esta marca y se registra una llamada, RSC se deshabilita para todo el tráfico procesado por los filtros que especifican la llamada para la acción del filtro. |
FWP_CALLOUT_FLAG_ALLOW_L2_BATCH_CLASSIFY 0x00000080 |
Un controlador de llamada especifica esta marca al registrar una llamada que se agregará en la capa 2 para indicar que su clasificarFn3 función de llamada puede clasificar varias estructuras NET_BUFFER_LIST encadenadas. Para obtener más información, consulta Using Layer 2 Filtering. precaución: Si un controlador de llamada establece esta marca, no puede usar las siguientes funciones para modificar NET_BUFFER_LISTs. • fwpsReferenceNetBufferList0 • fwpsDereferenceNetBufferList0 • fwpsAllocateCloneNetBufferList0 • fwpsFreeCloneNetBufferList0 Con este conjunto de marcas, fwpsAllocateCloneNetBufferList0 siempre devolverá un error INVALID_PARAMETER. Esto puede provocar que un controlador de llamada de terceros no administre el recuento de referencias de NET_BUFFER_LISTs, lo que hace que las operaciones de envío y recepción se detengan. |
FWP_CALLOUT_FLAG_ALLOW_USO 0x00000100 |
Un controlador de llamada especifica esta marca para indicar que la llamada admite la descarga de segmentación UDP (USO) con paquetes mayores que el MTU del medio de red. Si no se especifica esta marca y se registra una llamada, USO se deshabilita para todo el tráfico procesado por los filtros que especifican la llamada para la acción del filtro. Nota: La versión más antigua en la que se admite esta marca es Windows Insider Preview, versión 10.0.25876. |
FWP_CALLOUT_FLAG_ALLOW_URO 0x00000200 |
Un controlador de llamada especifica esta marca para indicar que la llamada admite la descarga de recepción UDP (URO) con paquetes grandes de hasta 64 000. Si no se especifica esta marca y se registra una llamada, URO se deshabilita para todo el tráfico procesado por los filtros que especifican la llamada para la acción del filtro. Nota: Si se especifica esta marca, las llamadas no deben clonar ni volver a expulsar paquetes URO de entrada. |
classifyFn
Puntero a la función de llamada clasifiqueFn3 función de llamada. El motor de filtro llama a esta función siempre que la llamada procese los datos de red.
notifyFn
Puntero a la función de notifyFn3 del controlador de llamada. El motor de filtro llama a esta función para notificar al controlador de llamada los eventos asociados a la llamada.
flowDeleteFn
Puntero a la función de llamada flowDeleteFn del controlador de llamada. El motor de filtro llama a esta función cada vez que finaliza un flujo de datos que está procesando la llamada.
Si un controlador de llamada no asocia un contexto a los flujos de datos que procesa la llamada, este miembro debe establecerse en NULL.
Observaciones
Un controlador de llamada pasa un puntero a una estructura de FWPS_CALLOUT3 inicializada al FwpsCalloutRegister3 función cuando registra una llamada con el motor de filtro.
Una llamada puede establecer la marca FWP_CALLOUT_FLAG_CONDITIONAL_ON_FLOW solo para las conexiones en las que el controlador está interesado en realizar inspecciones de flujo. Esta llamada se omitirá en todas las demás conexiones. El rendimiento se mejorará y el controlador no tendrá que mantener datos de estado innecesarios.
FWPS_CALLOUT3 es la versión específica de FWPS_CALLOUT. Consulta nombres Version-Independent DEL PMA y destinatarios de versiones específicas de Windows para obtener más información.
Requisitos
Requisito | Valor |
---|---|
cliente mínimo admitido | Disponible a partir de Windows 8. |
encabezado de |
fwpsk.h |
Consulte también
- FWPS_CALLOUT0
- FWPS_CALLOUT1
- FWPS_CALLOUT2
-
FwpsCalloutRegister3 - clasificarFn3
- flowDeleteFn
- notifyFn3
- usar de filtrado de capa 2