Compartir a través de


estructura FWPS_FILTER1 (fwpstypes.h)

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

Sintaxis

typedef struct FWPS_FILTER1_ {
  UINT64                 filterId;
  FWP_VALUE0             weight;
  UINT16                 subLayerWeight;
  UINT16                 flags;
  UINT32                 numFilterConditions;
  FWPS_FILTER_CONDITION0 *filterCondition;
  FWPS_ACTION0           action;
  UINT64                 context;
  FWPM_PROVIDER_CONTEXT1 *providerContext;
} FWPS_FILTER1;

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 classifyFn1 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 de 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 de 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 filtro de permiso.

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 notifyFn1 del controlador de llamada cuando el filtro se agrega 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 de clasifiqueFn1 del controlador para conservar cualquier información de estado o datos específicos del controlador entre las llamadas por el motor de filtro a la función de llamada clasifiqueFn1 del controlador de llamada.

providerContext

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

Comentarios

El motor de filtros pasa un puntero a una estructura de FWPS_FILTER1 a las funciones de llamada notifyFn1 y classifyFn1 .

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

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 7.
Encabezado fwpstypes.h (include Fwpsk.h)

Consulte también

FWPM_CALLOUT0

FWPM_FILTER0

FWPM_PROVIDER_CONTEXT1

FWPS_ACTION0

FWPS_FILTER0

FWPS_FILTER2

FWPS_FILTER_CONDITION0

FWP_VALUE0

classifyFn1

notifyFn1