Compartir a través de


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

El motor de filtro llama a la función de llamada classifyFn2 de una llamada cada vez que la llamada va a procesar los datos.

NotaclassifyFn2 es la versión específica de classifyFn usada en Windows 8 y versiones posteriores. Para obtener más información, consulte NOMBRES de PMA Version-Independent y versiones específicas de destino de Windows . Para Windows 7, classifyFn1 está disponible. Para Windows Vista, classifyFn0 está disponible.

 

Sintaxis

FWPS_CALLOUT_CLASSIFY_FN2 FwpsCalloutClassifyFn2;

void FwpsCalloutClassifyFn2(
  [in]                const FWPS_INCOMING_VALUES0 *inFixedValues,
  [in]                const FWPS_INCOMING_METADATA_VALUES0 *inMetaValues,
  [in, out, optional] void *layerData,
  [in, optional]      const void *classifyContext,
  [in]                const FWPS_FILTER2 *filter,
  [in]                UINT64 flowContext,
  [in, out]           FWPS_CLASSIFY_OUT0 *classifyOut
)
{...}

Parámetros

[in] inFixedValues

Puntero a una estructura de FWPS_INCOMING_VALUES0 . Esta estructura contiene los valores de cada uno de los campos de datos de la capa que se va a filtrar.

[in] inMetaValues

Puntero a un FWPS_INCOMING_METADATA_VALUES0 estructura. Esta estructura contiene los valores de cada uno de los campos de metadatos de la capa que se va a filtrar.

[in, out, optional] layerData

Puntero a una estructura que describe los datos sin procesar de la capa que se filtran. Este parámetro puede ser NULL, en función de la capa que se filtre y de las condiciones en las que se llame a la función de llamada classifyFn2 . Para la capa de secuencia, este parámetro apunta a un FWPS_STREAM_CALLOUT_IO_PACKET0 estructura. Para todas las demás capas, este parámetro apunta a una estructura de NET_BUFFER_LIST si no es NULL.

[in, optional] classifyContext

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

[in] filter

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

[in] 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 filtros en una capa de filtrado que no admite flujos de datos, la función de llamada classifyFn2 debe omitir este parámetro.

[in, out] classifyOut

Puntero a una estructura de FWPS_CLASSIFY_OUT0 que recibe los datos que la función de llamada classifyFn2 devuelve al autor de la llamada.

Valor devuelto

None

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 función de llamada classifyFn2 de una llamada con datos que se van a procesar cada vez que todas las condiciones de prueba son verdaderas para un filtro en el motor de filtros que especifica la llamada para la acción del filtro.

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

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

    Esta función es esencialmente idéntica a la versión anterior, classifyFn1. Sin embargo, el parámetro filter apunta a la estructura FWPS_FILTER2 actualizada y el parámetro layerData es opcional.

Requisitos

Requisito Value
Cliente mínimo compatible Disponible a partir de Windows 8.
Plataforma de destino Windows
Encabezado fwpsk.h (incluya Fwpsk.h)
IRQL <= DISPATCH_LEVEL

Consulte también

Asociación de contexto con un Data Flow

Funciones de llamada del controlador de llamada

Registro de datos

FWPS_CLASSIFY_OUT0

FWPS_FILTER2

FWPS_INCOMING_METADATA_VALUES0

FWPS_INCOMING_VALUES0

FwpsCalloutRegister2

FwpsReferenceNetBufferList0

NET_BUFFER_LIST

Ejemplos de modificación de paquetes

Registro de llamadas con el motor de filtros

Uso de una llamada para la inspección profunda de datos de Stream

Uso de una llamada para la inspección profunda

classifyFn

classifyFn0

classifyFn1