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.
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