estructura FWPS_CLASSIFY_OUT0 (fwpstypes.h)

La estructura FWPS_CLASSIFY_OUT0 define los datos que se devuelven al autor de la llamada de la función de llamada classifyFn de una llamada.

NotaFWPS_CLASSIFY_OUT0 es una versión específica de FWPS_CLASSIFY_OUT. Para obtener más información, consulte NOMBRES de PMA Version-Independent y versiones específicas de destino de Windows .
 

Sintaxis

typedef struct FWPS_CLASSIFY_OUT0_ {
  FWP_ACTION_TYPE actionType;
  UINT64          outContext;
  UINT64          filterId;
  UINT32          rights;
  UINT32          flags;
  UINT32          reserved;
} FWPS_CLASSIFY_OUT0;

Miembros

actionType

Valor de FWP_ACTION_TYPE que especifica la acción sugerida que se debe realizar según lo determinado por la función de llamada de la función de llamada clasifiqueFn del controlador de llamada. Un controlador de llamada establece esta variable en uno de los valores siguientes:

FWP_ACTION_BLOCK

Impedir que los datos se transmitan o reciban.

FWP_ACTION_CONTINUE

Pase la decisión de bloquear o permitir que los datos se transmitan o reciban al siguiente filtro del motor de filtros.

FWP_ACTION_NONE

No realice ninguna acción en los datos.

FWP_ACTION_NONE_NO_MATCH

No realice ninguna acción en los datos porque no coincide con los tipos de datos de filtro enumerados.

FWP_ACTION_PERMIT

Permitir que los datos se transmitan o reciban.

El acceso de escritura a este miembro se controla mediante la marca FWPS_RIGHT_ACTION_WRITE en el miembro de derechos . Si se establece la marca FWPS_RIGHT_ACTION_WRITE , un controlador de llamada puede escribir cualquiera de los valores anteriores en este miembro. Si no se establece la marca de FWPS_RIGHT_ACTION_WRITE , un controlador de llamada no debe escribir en este miembro a menos que esté vetando una acción de FWP_ACTION_PERMIT que previamente devolvió un filtro de peso mayor en el motor de filtros. En tal situación, un controlador de llamada establece este miembro en FWP_ACTION_BLOCK.

outContext

Reservado para uso del sistema. Los controladores de llamada no deben usar este miembro.

filterId

Reservado para uso del sistema. Los controladores de llamada no deben usar este miembro.

rights

Marcas que controlan el acceso de escritura a los demás miembros de esta estructura. Las marcas posibles son:

FWPS_RIGHT_ACTION_WRITE

Si se establece esta marca, un controlador de llamada puede escribir en el miembro actionType de esta estructura. Si no se establece esta marca, un controlador de llamada solo puede escribir en el miembro actionType de esta estructura si está vetando una acción de FWP_ACTION_PERMIT que previamente devolvió un filtro de peso mayor en el motor de filtros.

flags

Marcas que afectan a la acción realizada en los datos. Las marcas posibles son:

FWPS_CLASSIFY_OUT_FLAG_ABSORB

Los datos bloqueados se quitarán silenciosamente sin ningún registro de eventos ni auditoría. Esto se usa normalmente para la modificación de paquetes donde el paquete original se va a absorber y el paquete modificado se va a procesar aún más.

Esta marca se aplica en las capas siguientes cuando el miembro actionType se establece en FWP_ACTION_BLOCK:

FWPS_LAYER_INBOUND_MAC_FRAME_NATIVE
FWPS_LAYER_OUTBOUND_MAC_FRAME_NATIVE
FWPS_LAYER_INBOUND_MAC_FRAME_ETHERNET
FWPS_LAYER_OUTBOUND_MAC_FRAME_ETHERNET
FWPS_LAYER_INGRESS_VSWITCH_ETHERNET
FWPS_LAYER_EGRESS_VSWITCH_ETHERNET
FWPS_LAYER_INBOUND_IPPACKET_V4
FWPS_LAYER_INBOUND_IPPACKET_V6
FWPS_LAYER_OUTBOUND_IPPACKET_V4
FWPS_LAYER_OUTBOUND_IPPACKET_V6
FWPS_LAYER_INBOUND_TRANSPORT_V4
FWPS_LAYER_INBOUND_TRANSPORT_V6
FWPS_LAYER_OUTBOUND_TRANSPORT_V4
FWPS_LAYER_OUTBOUND_TRANSPORT_V6
FWPS_LAYER_INBOUND_ICMP_ERROR_V4
FWPS_LAYER_INBOUND_ICMP_ERROR_V6
FWPS_LAYER_OUTBOUND_ICMP_ERROR_V4
FWPS_LAYER_OUTBOUND_ICMP_ERROR_V6
FWPS_LAYER_DATAGRAM_DATA_V4
FWPS_LAYER_DATAGRAM_DATA_V6
FWPS_LAYER_STREAM_PACKET_V4
FWPS_LAYER_STREAM_PACKET_V6
FWPS_LAYER_ALE_AUTH_RECV_ACCEPT_V4
FWPS_LAYER_ALE_AUTH_RECV_ACCEPT_V6
FWPS_LAYER_ALE_AUTH_CONNECT_V4
FWPS_LAYER_ALE_AUTH_CONNECT_V6

También es posible establecer esta marca en las capas de FWPS_LAYER_ALE_FLOW_ESTABLISHED_V4 y FWPS_LAYER_ALE_FLOW_ESTABLISHED_V6. Pero no se recomienda hacerlo, ya que estas capas están diseñadas para asociar contexto con flujos.

Si no se establece esta marca, una acción de bloqueo estará sujeta a la auditoría y el registro de eventos normales.

FWPS_CLASSIFY_OUT_FLAG_BUFFER_LIMIT_REACHED

El motor de filtro establece esta marca cuando el búfer de datos del motor de filtro para los datos de flujo está lleno. Esto puede ocurrir si la función de llamada classifyFn de una llamada solicita repetidamente más datos estableciendo el miembro streamAction de la estructura de FWPS_STREAM_CALLOUT_IO_PACKET0 en FWPS_STREAM_ACTION_NEED_MORE_DATA hasta que se alcance el límite del búfer. Si se establece esta marca, la función de llamada classifyFn del controlador de llamada debe permitir o bloquear todos los datos de la secuencia.

Esta marca solo se aplica en las capas de flujo.

FWPS_CLASSIFY_OUT_FLAG_NO_MORE_DATA

Stream datos se solicitaron después de desconectar la secuencia.

reserved

Reservado para uso del sistema. Los controladores de llamada no deben usar este miembro.

Comentarios

El motor de filtros pasa un puntero a una estructura de FWPS_CLASSIFY_OUT0 a la función de llamada classifyFn de una llamada. Un controlador de llamada usa esta estructura para devolver datos al autor de la llamada.

Requisitos

Requisito Value
Cliente mínimo compatible Disponible a partir de Windows Vista.
Encabezado fwpstypes.h (incluya Fwpsk.h, Fwpmtypes.h, Fwpmk.h)

Consulte también

FWPS_STREAM_CALLOUT_IO_PACKET0

Identificadores de capa de filtrado en tiempo de ejecución

classifyFn