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

El motor de filtro llama a la función de llamada notifyFn2 de una llamada para notificar al controlador de llamada los eventos asociados a la llamada.

NotanotifyFn2 es la versión específica de notifyFn 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, notifyFn1 está disponible. Para Windows Vista, notifyFn0 está disponible.

 

Sintaxis

FWPS_CALLOUT_NOTIFY_FN2 FwpsCalloutNotifyFn2;

NTSTATUS FwpsCalloutNotifyFn2(
  [in]      FWPS_CALLOUT_NOTIFY_TYPE notifyType,
  [in]      const GUID *filterKey,
  [in, out] FWPS_FILTER2 *filter
)
{...}

Parámetros

[in] notifyType

Valor que indica el tipo de notificación que el motor de filtros envía a la llamada. Los valores válidos para este parámetro son:

FWPS_CALLOUT_NOTIFY_ADD_FILTER

Se agrega un filtro al motor de filtros que especifica la llamada para la acción del filtro.

FWPS_CALLOUT_NOTIFY_DELETE_FILTER

Se elimina un filtro del motor de filtros que especifica la llamada para la acción del filtro.

FWPS_CALLOUT_NOTIFY_TYPE_MAX

Valor máximo para fines de prueba.

[in] filterKey

Puntero al identificador de administración del filtro, tal y como especifica la aplicación o el controlador que agrega o elimina el filtro. Debe ser NULL si el parámetro notifyType está establecido en FWPS_CALLOUT_NOTIFY_DELETE_FILTER. Para obtener más información, vea la sección Comentarios que se muestra más adelante.

[in, out] filter

Puntero a una estructura de FWPS_FILTER2 . Esta estructura describe el filtro que se va a agregar o eliminar del motor de filtros.

Una función notifyFn2 del controlador de llamada puede establecer el miembro Context de esta estructura para que apunte a una estructura de contexto proporcionada por el controlador de llamada cuando el filtro se agrega al motor de filtros. Esta estructura de contexto es opaca para el motor de filtro y la función de llamada del controlador de llamada clasifiqueFn2 puede usarse para conservar cualquier información de estado o datos específicos del controlador entre las llamadas por el motor de filtro al controlador de llamada.
función de llamada classifyFn2.

Una función notifyFn2 del controlador de llamada puede limpiar cualquier contexto asociado al filtro cuando se elimina el filtro del motor de filtros.

Valor devuelto

Una función notifyFn2 de una llamada devuelve uno de los siguientes códigos NTSTATUS.

Código devuelto Descripción
STATUS_SUCCESS
El controlador de llamada acepta la notificación del motor de filtro.
Otros códigos de estado
Se produjo un error. Si el parámetro notifyType es FWPS_CALLOUT_NOTIFY_ADD_FILTER, el filtro no se agregará al motor de filtros. Si el parámetro notifyType está FWPS_CALLOUT_NOTIFY_DELETE_FILTER, el filtro se eliminará del motor de filtros.

Comentarios

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 una función notifyFn2 del controlador de llamada para notificar al controlador de llamada los eventos asociados a la llamada. Si la función notifyFn2 del controlador de llamada no reconoce el tipo de notificación que se pasa en el parámetro notifyType , debe omitir la notificación y devolver STATUS_SUCCESS.

Si un controlador de llamada registra una llamada con el motor de filtro después de que los filtros que especifiquen la llamada para la acción del filtro ya se han agregado al motor de filtros, el motor de filtros no llama a la función notifyFn2 del controlador de llamada para notificar a la llamada sobre cualquiera de los filtros existentes. El motor de filtros llama a la función notifyFn2 del controlador de llamada para notificar la llamada cuando se agregan nuevos filtros que especifican la llamada para la acción del filtro al motor de filtros. En esta situación, es posible que no se llame a la función notifyFn2 de una llamada para cada filtro del motor de filtros que especifique la llamada para la acción del filtro. Si un controlador de llamada registra una llamada después de iniciar el motor de filtros y la llamada debe conocer todos los filtros del motor de filtros que especifican la llamada para la acción del filtro, el controlador de llamada debe llamar a las funciones de administración adecuadas para enumerar todos los filtros del motor de filtros y ordenar por la lista resultante de filtros para buscar los que especifican la llamada para la acción del filtro. Consulte Llamar a otras funciones de plataforma de filtrado de Windows para obtener más información sobre cómo llamar a estas funciones.

Cuando se elimina un filtro que especifica una llamada para la acción del filtro del motor de filtros, el motor de filtros llama a la función notifyFn2 del controlador de llamada y pasa FWP_CALLOUT_NOTIFY_DELETE_FILTER en el parámetro notifyType y NULL en el parámetro filterKey . Para obtener más información, consulte Procesamiento de llamadas de notificación.

Esta función es esencialmente idéntica a la versión anterior, notifyFn1. La única diferencia es la estructura de FWPS_FILTER2 actualizada a la que apunta el parámetro de filtro .

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

Funciones de llamada del controlador de llamada

FWPS_FILTER2

FwpsCalloutRegister2

notifyFn

notifyFn0

notifyFn1