Función FwpmBfeStateSubscribeChanges0 (fwpmk.h)
La función FwpmBfeStateSubscribeChanges0 registra una función de devolución de llamada a la que se llama cada vez que hay un cambio en el estado del motor de filtro.
Advertencia
No llame a fwpmBfeStateUnsubscribeChanges0 desde la función de devolución de llamada que pasó en el parámetro callback. Si lo hace, puede provocar un interbloqueo.
Sintaxis
NTSTATUS FwpmBfeStateSubscribeChanges0(
[in, out] void *deviceObject,
[in] FWPM_SERVICE_STATE_CHANGE_CALLBACK0 callback,
[in, optional] void *context,
[out] HANDLE *changeHandle
);
Parámetros
[in, out] deviceObject
Puntero a un objeto de dispositivo creado anteriormente por el controlador de llamada. Para obtener más información sobre cómo un controlador de llamada crea un objeto de dispositivo, consulte Creación de un objeto de dispositivo.
[in] callback
Puntero a una función de devolución de llamada de cambio de estado de servicio proporcionada por el controlador. El motor de filtro llama a esta función siempre que haya un cambio en el estado del motor de filtro.
Una función de devolución de llamada de cambio de estado de servicio se declara de la manera siguiente.
VOID NTAPI
callback(
IN OUT void *context,
IN FWPM_SERVICE_STATE newState
);
Contexto
Puntero que se pasó en el parámetro Context de
newState
Nuevo estado del motor de filtro. Este parámetro contiene uno de los siguientes valores:
FWPM_SERVICE_STOPPED
El motor de filtro no se está ejecutando.
FWPM_SERVICE_START_PENDING
El motor de filtro se está iniciando.
FWPM_SERVICE_STOP_PENDING
El motor de filtro se está deteniendo.
FWPM_SERVICE_RUNNING
El motor de filtro se está ejecutando.
[in, optional] context
Puntero a un contexto proporcionado por el controlador de llamada que se pasa a la función de devolución de llamada especificada en el parámetro Callback.
[out] changeHandle
Puntero a una variable que recibe un identificador asociado al registro de la función de devolución de llamada. Un controlador de llamada pasa este identificador al FwpmBfeStateUnsubscribeChanges0 función para anular el registro de la función de devolución de llamada.
Valor devuelto
La función FwpmBfeStateSubscribeChanges0 devuelve uno de los siguientes códigos NTSTATUS:
Código devuelto | Descripción |
---|---|
STATUS_SUCCESS | La función de devolución de llamada se registró correctamente. |
otros códigos NTSTATUS | Error. |
Observaciones
Un controlador de llamada llama a la función FwpmBfeStateSubscribeChanges0 para registrar una función de devolución de llamada a la que se llama cada vez que hay un cambio en el estado del motor de filtro.
Por ejemplo, un controlador de llamada no puede abrir una sesión en el motor de filtros llamando a la función FwpmEngineOpen0 a menos que el motor de filtro se esté ejecutando actualmente. Un controlador de llamada puede usar la notificación de FWPM_SERVICE_RUNNING para abrir una sesión en el motor de filtro para que pueda realizar llamadas a las otras funciones de administración de la plataforma de filtrado de Windows . Del mismo modo, un controlador de llamada puede usar la notificación de FWPM_SERVICE_STOP_PENDING para realizar cualquier limpieza antes de que se detenga el motor de filtro.
Un controlador de llamada debe llamar a fwpmBfeStateSubscribeChanges0 antes de llamar a la función FwpmBfeStateGet0 para recuperar el estado actual del motor de filtro. Una vez que la llamada a FwpmBfeStateSubscribeChanges0 devuelve, el controlador de llamada puede llamar a fwpmBfeStateGet0 en cualquier momento.
Un controlador de llamada debe anular el registro de la función de devolución de llamada llamando al FwpmBfeStateUnsubscribeChanges0 función antes de que se pueda descargar el controlador de llamada.
fwpmBfeStateSubscribeChanges0 es una versión específica de FwpmBfeStateSubscribeChanges. Consulta nombres Version-Independent DEL PMA y destinatarios de versiones específicas de Windows para obtener más información.
Requisitos
Requisito | Valor |
---|---|
cliente mínimo admitido | Disponible a partir de Windows Vista. |
de la plataforma de destino de |
Universal |
encabezado de |
fwpmk.h (incluya Fwpmk.h) |
biblioteca de |
Fwpkclnt.lib |
irQL | PASSIVE_LEVEL |