Compartir a través de


FWPS_CALLOUT_CLASSIFY_FN3 función de devolución de llamada (fwpsk.h)

Versión 3 de la función de devolución de llamada invocada durante la clasificación cuando coincide un filtro de llamada. La diferencia es que esta devolución de llamada devuelve una estructura FWPS_FILTER3.

Sintaxis

FWPS_CALLOUT_CLASSIFY_FN3 FwpsCalloutClassifyFn3;

void FwpsCalloutClassifyFn3(
  const FWPS_INCOMING_VALUES0 *inFixedValues,
  const FWPS_INCOMING_METADATA_VALUES0 *inMetaValues,
  void *layerData,
  const void *classifyContext,
  const FWPS_FILTER3 *filter,
  UINT64 flowContext,
  FWPS_CLASSIFY_OUT0 *classifyOut
)
{...}

Parámetros

inFixedValues

Puntero a una estructura FWPS_INCOMING_VALUES0. Esta estructura contiene los valores de cada uno de los campos de datos en la capa que se está filtrando.

inMetaValues

Puntero a una estructura FWPS_INCOMING_METADATA_VALUES0. Esta estructura contiene los valores de cada uno de los campos de metadatos en la capa que se está filtrando.

layerData

Puntero a una estructura que describe los datos sin procesar en la capa que se está filtrando. Este parámetro puede ser NULL, en función de la capa que se filtra y de las condiciones en las que se llama a la función de llamada clasifiqueFn3. Para la capa de flujo, este parámetro apunta a una estructura de FWPS_STREAM_CALLOUT_IO_PACKET0. Para todas las demás capas, este parámetro apunta a una estructura de NET_BUFFER_LIST si no se NULL.

classifyContext

Puntero a los datos de contexto asociados al controlador de llamada por el motor de filtro.

filter

Puntero a una estructura FWPS_FILTER3. Esta estructura describe el filtro que especifica la llamada para la acción del filtro.

flowContext

Variable con tipo UINT64 que contiene el contexto asociado al flujo de datos. Si no hay ningún contexto asociado al flujo de datos, este parámetro es cero. Si la llamada se agrega al motor de filtro en una capa de filtrado que no admite flujos de datos, el clasifiqueFn3 función de llamada debe omitir este parámetro.

classifyOut

Puntero a una estructura de FWPS_CLASSIFY_OUT0 que recibe los datos que el clasifiqueFn3 función de llamada vuelva al autor de la llamada.

Valor devuelto

Ninguno

Observaciones

Un controlador de llamada registra las funciones de llamada de una llamada con el motor de filtros llamando a la función FwpsCalloutRegister2.

El motor de filtros llama a la clasifiqueFn3 función de llamada con datos que se van a procesar siempre que todas las condiciones de prueba sean verdaderas para un filtro en el motor de filtros que especifica la llamada para la acción del filtro.

La función de llamada clasifiqueFn1 debe borrar la marca FWPS_RIGHT_ACTION_WRITE en los derechos de miembro de la estructura FWPS_CLASSIFY_OUT0 en cualquiera de las situaciones siguientes:

  • Cuando el clasifiqueFn1 función de llamada establece el miembro actionType de la estructura de FWPS_CLASSIFY_OUT0 en FWP_ACTION_BLOCK.
  • Cuando el clasifiqueFn1 función de llamada establece el miembro actionType de la estructura de FWPS_CLASSIFY_OUT0 en FWP_ACTION_PERMIT y la marca FWPS_FILTER_FLAG_CLEAR_ACTION_RIGHT se establece en el miembro flags de la estructura FWPS_FILTER3.
  • Cuando una llamada ha indicado que pretende modificar la lista de búferes net clonados estableciendo el parámetro intendToModify en TRUE en una llamada a la función FwpsReferenceNetBufferList0.

Requisitos

Requisito Valor
cliente mínimo admitido Disponible a partir de Windows Vista.
encabezado de fwpsk.h
irQL <= DISPATCH_LEVEL

Consulte también