FWPS_CALLOUT_NOTIFY_FN0 función de devolución de llamada (fwpsk.h)
El motor de filtros llama a la función de llamada notifyFn0 de una llamada para notificar al controlador de llamada los eventos asociados a la llamada.
Sintaxis
FWPS_CALLOUT_NOTIFY_FN0 FwpsCalloutNotifyFn0;
NTSTATUS FwpsCalloutNotifyFn0(
[in] FWPS_CALLOUT_NOTIFY_TYPE notifyType,
[in] const GUID *filterKey,
[in] FWPS_FILTER0 *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.
[in] 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 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 clasificaFn0 puede usar 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 classifyFn0.
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 |
---|---|
|
El controlador de llamada acepta la notificación del motor de filtro. |
|
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 FwpsCalloutRegister0 .
El motor de filtros 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 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 de llamada notifyFn0 del controlador de llamada para notificar 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 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 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 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 | Value |
---|---|
Cliente mínimo compatible | Disponible a partir de Windows Vista. |
Plataforma de destino | Windows |
Encabezado | fwpsk.h (incluya Fwpsk.h) |
IRQL | <= DISPATCH_LEVEL |