PFLT_FILTER_UNLOAD_CALLBACK función de devolución de llamada (fltkernel.h)
Un controlador de minifiltro puede registrar una rutina de tipo PFLT_FILTER_UNLOAD_CALLBACK como rutina FilterUnloadCallback del controlador de minifiltro.
Sintaxis
PFLT_FILTER_UNLOAD_CALLBACK PfltFilterUnloadCallback;
NTSTATUS PfltFilterUnloadCallback(
FLT_FILTER_UNLOAD_FLAGS Flags
)
{...}
Parámetros
Flags
Máscara de bits de marcas que describen la solicitud de descarga. Este parámetro puede ser NULL o lo siguiente:
Marca | Significado |
---|---|
FLTFL_FILTER_UNLOAD_MANDATORY | El administrador de filtros establece esta marca para indicar que la operación de descarga es obligatoria. |
Valor devuelto
Esta rutina de devolución de llamada devuelve STATUS_SUCCESS o un valor NTSTATUS como el siguiente:
Código de retorno | Descripción |
---|---|
STATUS_FLT_DO_NOT_DETACH | Si la operación de descarga no es obligatoria, devolver este valor de estado impide que se descargue el controlador de minifiltro. Se trata de un código de error. |
Comentarios
Cuando un controlador de minifiltro se registra a sí mismo llamando a FltRegisterFilter, puede registrar una rutina FilterUnloadCallback . Para registrar esta rutina de devolución de llamada, el controlador de minifiltro almacena la dirección de una rutina de tipo PFLT_FILTER_UNLOAD_CALLBACK en el campo FilterUnloadCallback de la estructura FLT_REGISTRATION que el controlador de minifiltro pasa como parámetro a FltRegisterFilter.
Los controladores de minifiltro no son necesarios para registrar una rutina FilterUnloadCallback . Sin embargo, se recomienda encarecidamente registrar una rutina de descarga. Si un controlador de minifiltro no registra una rutina FilterUnloadCallback , no se puede descargar.
Cuando un controlador de minifiltro registra una rutina FilterUnloadCallback :
El administrador de filtros llama a la rutina FilterUnloadCallback para notificar al controlador de minifiltro que el administrador de filtros está a punto de descargar el controlador de minifiltro.
Si la operación de descarga no es obligatoria y la rutina FilterUnloadCallback devuelve un código NTSTATUS de error o advertencia, como STATUS_FLT_DO_NOT_DETACH, el controlador de minifiltro no se descarga. De lo contrario, se descarga el controlador de minifiltro.
Si la marca FLTFL_FILTER_UNLOAD_MANDATORY se establece en el parámetro Flags , la operación de descarga es obligatoria y el controlador de minifiltro no puede impedir que se descargue.
Consulte Cuando se llama a la rutina FilterUnloadCallback para obtener más información sobre las posibles causas de descarga y el proceso de descarga del controlador de minifiltro.
Requisitos
Requisito | Value |
---|---|
Plataforma de destino | Escritorio |
Encabezado | fltkernel.h (incluya Fltkernel.h) |
IRQL | PASSIVE_LEVEL |