Compartir a través de


FWPS_FILTER0 estructura (fwpstypes.h)

La estructura FWPS_FILTER0 define un filtro en tiempo de ejecución en el motor de filtros. FWPS_FILTER2 está disponible. Para Windows 7, FWPS_FILTER1 está disponible.

Sintaxis

typedef struct FWPS_FILTER0_ {
  UINT64                 filterId;
  FWP_VALUE0             weight;
  UINT16                 subLayerWeight;
  UINT16                 flags;
  UINT32                 numFilterConditions;
  FWPS_FILTER_CONDITION0 *filterCondition;
  FWPS_ACTION0           action;
  UINT64                 context;
  FWPM_PROVIDER_CONTEXT0 *providerContext;
} FWPS_FILTER0;

Miembros

filterId

Identificador en tiempo de ejecución que identifica el filtro en el motor de filtros.

weight

Estructura FWP_VALUE0 que contiene un valor que especifica la importancia del filtro en relación con otros filtros del motor de filtros. Los filtros con un valor de peso mayor se invocan primero. El tipo de datos especificado en la estructura FWP_VALUE0 es FWP_UINT64 o FWP_EMPTY. Si el tipo de datos especificado en la estructura de FWP_VALUE0 es FWP_EMPTY, el motor de filtros asigna automáticamente un peso al filtro en función de cómo especifica el filtro comprueba los datos en comparación con los otros filtros del motor de filtros.

subLayerWeight

Valor que especifica la importancia de la subcapa del filtro en relación con las otras subcapas del motor de filtros. Los filtros que se encuentran en una subcapa con un valor de subLayerWeight superior se invocan primero.

flags

Marcas que especifican acciones que la función de llamada classifyFn0 de una llamada debe realizar al procesar los datos de red. Las marcas posibles son:

Valor Significado
FWPS_FILTER_FLAG_CLEAR_ACTION_RIGHT Esta marca indica a la función de llamada classifyFn0 de una llamada que siempre debe borrar la marca FWPS_RIGHT_ACTION_WRITE cuando devuelve FWP_ACTION_BLOCK o FWP_ACTION_PERMIT para la acción sugerida. Si no se establece esta marca, la función de llamada classifyFn0 de una llamada solo debe borrar la marca FWPS_RIGHT_ACTION_WRITE cuando devuelve FWP_ACTION_BLOCK para la acción sugerida.
FWPS_FILTER_FLAG_PERMIT_IF_CALLOUT_UNREGISTERED Esta marca indica a la función de llamada classifyFn0 de una llamada que, si la llamada no está registrada, la llamada debe tratarse como un filtro de permiso.
FWPS_FILTER_FLAG_OR_CONDITIONS Hay varias condiciones para el mismo campo. OR semántica aplicada.
FWPS_FILTER_FLAG_HAS_SECURITY_REALM_PROVIDER_CONTEXT El filtro hace referencia a un contexto de proveedor para el identificador de dominio de seguridad de IPsec.
FWPS_FILTER_FLAG_SILENT_MODE El filtro está en modo silencioso.
FWPS_FILTER_FLAG_IPSEC_NO_ACQUIRE_INITIATE No inicie la adquisición de IPsec si el paquete coincide con una directiva de IPsec desde un filtro con esta marca.
FWPS_FILTER_FLAG_RESERVED0 Reservado para uso del sistema.
FWPS_FILTER_FLAG_RESERVED1 Reservado para uso del sistema.
FWPS_FILTER_FLAG_RESERVED2 Reservado para uso del sistema.

numFilterConditions

Número de estructuras de FWPS_FILTER_CONDITION0 de la matriz a las que apunta el miembro filterCondition . Este miembro puede ser cero.

filterCondition

Puntero a una matriz de estructuras de FWPS_FILTER_CONDITION0 . Estas estructuras definen las condiciones de filtrado en tiempo de ejecución para el filtro. Si el miembro numFilterConditions es cero, este puntero será NULL.

action

Estructura FWPS_ACTION0 que especifica la acción que debe realizar el filtro si se cumplen todas las condiciones de filtrado del filtro.

context

Valor de contexto asociado al filtro. Una llamada puede establecer este miembro para que apunte a una estructura de contexto proporcionada por el controlador de llamada desde dentro de la función de llamada notifyFn0 del controlador de llamada cuando se agrega el filtro al motor de filtros. Esta estructura de contexto, que es opaca para el motor de filtro, se puede usar mediante la función de llamada classifyFn0 del controlador de llamada para conservar cualquier información de estado o datos específicos del controlador entre llamadas por el motor de filtro a la función de llamada classifyFn0 del controlador de llamada.

providerContext

Puntero al contexto del proveedor, que tiene el formato de estructura FWPM_PROVIDER_CONTEXT0 . Si el filtro usa una llamada y la llamada tiene establecida la marca FWPM_CALLOUT_FLAG_USES_PROVIDER_CONTEXT, este miembro contendrá el contexto del proveedor de la estructura FWPM_FILTER0 correspondiente. De lo contrario, este parámetro es NULL.

Comentarios

El motor de filtros pasa un puntero a una estructura de FWPS_FILTER0 a las funciones de llamada notifyFn0 y classifyFn0 .

La acción de un filtro solo se realiza si se cumplen todas las condiciones de filtrado del filtro. Si no se especifica ninguna condición de filtrado en el filtro, siempre se realiza la acción especificada.

El miembro ProviderContext proporciona un mecanismo para que un controlador de llamada recupere contextos de proveedor sin llamar al motor de filtrado base (BFE).

Requisitos

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

Consulte también

FWPM_CALLOUT0

FWPM_FILTER0

FWPM_PROVIDER_CONTEXT0

FWPS_ACTION0

FWPS_FILTER1

FWPS_FILTER2

FWPS_FILTER_CONDITION0

FWP_VALUE0

classifyFn0

notifyFn0