Compartir a través de


FWPS_CALLOUT_NOTIFY_FN0 función de devolución de llamada (fwpsu.h)

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

Nota

notifyFn0 es la versión específica de notifyFn que se usa en Windows Vista y versiones posteriores. Para obtener más información, consulta Nombres independientes de la versión del PMA y versiones específicas de Windows como destino. Para Windows 8, notifyFn2 está disponible. Para Windows 7, notifyFn1 está disponible.

Sintaxis

FWPS_CALLOUT_NOTIFY_FN0 FwpsCalloutNotifyFn0;

NTSTATUS FwpsCalloutNotifyFn0(
  FWPS_CALLOUT_NOTIFY_TYPE notifyType,
  const GUID *filterKey,
  FWPS_FILTER0 *filter
)
{...}

Parámetros

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. Un valor máximo para fines de prueba.

filterKey

Puntero al identificador de administración del filtro, según lo especificado por 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.

filter

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

La función de llamada notifyFn0 de una llamada puede establecer el miembro de contexto de esta estructura para que apunte a una estructura de contexto proporcionada por el controlador de llamada cuando se agrega el filtro 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 classifyFn0 puede usarse 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.

La función de llamada notifyFn0 de una llamada puede limpiar cualquier contexto asociado al filtro cuando se elimina el filtro del motor de filtros.

Valor devuelto

La función notifyFn0 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 está 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 filtro mediante una llamada a la función FwpsCalloutRegister0 .

El motor de filtro llama a la función de llamada notifyFn0 de una llamada para notificar al controlador de llamada los eventos asociados a la llamada. Si la función de llamada notifyFn0 del controlador de llamada no reconoce el tipo de notificación que se pasa en el parámetro notifyType , omite la notificación y devuelve STATUS_SUCCESS.

Si un controlador de llamada registra una llamada con el motor de filtro después de los filtros que especifican la llamada para la acción del filtro ya se ha agregado al motor de filtros, el motor de filtros no llama a la función de llamada notifyFn0 del controlador de llamada para notificar a la llamada sobre cualquiera de los filtros existentes. El motor de filtros llama a la función de llamada notifyFn0 del controlador de llamada para notificar a 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 de llamada notifyFn0 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 filtro y la llamada debe saber sobre cada filtro del motor de filtros que especifica 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 aquellos que especifican la llamada para la acción del filtro. Consulta 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 de llamada notifyFn0 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.

Requisitos

Requisito Valor
Header fwpsu.h