Función FwpsCalloutRegister2 (fwpsk.h)
La función FwpsCalloutRegister2 registra una llamada con el motor de filtro.
Sintaxis
NTSTATUS FwpsCalloutRegister2(
[in, out] void *deviceObject,
[in] const FWPS_CALLOUT2 *callout,
[out, optional] UINT32 *calloutId
);
Parámetros
[in, out] deviceObject
Puntero a un objeto de dispositivo creado previamente 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] callout
Puntero a una estructura FWPS_CALLOUT2 constante que contiene los datos necesarios para registrar la llamada con el motor de filtros.
[out, optional] calloutId
Puntero a una variable con tipo UINT32 que recibe un identificador en tiempo de ejecución que identifica la llamada en el motor de filtro. El controlador de llamada pasa este identificador a la función FwpsCalloutUnregisterById0 al anular el registro de la llamada del motor de filtro. Si un controlador de llamada filtra un flujo de datos, también pasa este identificador a las funciones FwpsFlowAssociateContext0 y FwpsFlowRemoveContext0 . Si un controlador de llamada inserta datos en flujos de datos, también pasa este identificador a la función FwpsStreamInjectAsync0 . El motor de filtro también pasa este identificador a la función de llamada flowDeleteFn del controlador de llamada. Este parámetro es opcional y puede ser NULL.
Valor devuelto
La función FwpsCalloutRegister2 devuelve uno de los siguientes códigos NTSTATUS.
Código devuelto | Descripción |
---|---|
|
La llamada se registró correctamente con el motor de filtro. |
|
No se pudo registrar la llamada con el motor de filtro. Una llamada ya está registrada en el motor de filtro con un identificador idéntico al GUID especificado en el miembro calloutKey de la estructura de FWPS_CALLOUT2 a la que apunta el parámetro callout . |
|
Se produjo un error. |
Comentarios
Un controlador de llamada llama a la función FwpsCalloutRegister2 para registrar una llamada con el motor de filtro. Un controlador de llamada puede registrar una llamada con el motor de filtro en cualquier momento, incluso si el motor de filtro no se está ejecutando actualmente.
Una llamada y filtros que especifican la llamada para la acción del filtro se puede agregar al motor de filtros antes de que un controlador de llamada registre la llamada con el motor de filtro. En esta situación, los filtros con un tipo de acción de FWP_ACTION_CALLOUT_TERMINATING o FWP_ACTION_CALLOUT_UNKNOWN se tratan como FWP_ACTION_BLOCK y los filtros con un tipo de acción de FWP_ACTION_CALLOUT_INSPECTION se omiten hasta que la llamada se registra con el motor de filtros.
Un controlador de llamada anula el registro de una llamada del motor de filtros mediante una llamada a Función FwpsCalloutUnregisterById0 o la Función FwpsCalloutUnregisterByKey0 . No se puede descargar un controlador de llamada hasta que todas las llamadas que se registraron anteriormente con el motor de filtro se han anulado correctamente el registro.
Esta función es esencialmente idéntica a la versión anterior , FwpsCalloutRegister1. La única diferencia es la estructura de FWPS_CALLOUT2 actualizada a la que apunta el parámetro callout .
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Disponible a partir de Windows 8. |
Plataforma de destino | Universal |
Encabezado | fwpsk.h (incluya Fwpsk.h) |
Library | Fwpkclnt.lib |
IRQL | PASSIVE_LEVEL |
Consulte también
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de