PFLT_INSTANCE_QUERY_TEARDOWN_CALLBACK función de devolución de llamada (fltkernel.h)
Un controlador de minifiltro puede registrar una rutina de tipo PFLT_INSTANCE_QUERY_TEARDOWN_CALLBACK como rutina de del controlador de minifiltro InstanceQueryTeardownCallback.
Sintaxis
PFLT_INSTANCE_QUERY_TEARDOWN_CALLBACK PfltInstanceQueryTeardownCallback;
NTSTATUS PfltInstanceQueryTeardownCallback(
[in] PCFLT_RELATED_OBJECTS FltObjects,
[in] FLT_INSTANCE_QUERY_TEARDOWN_FLAGS Flags
)
{...}
Parámetros
[in] FltObjects
Puntero a una estructura de FLT_RELATED_OBJECTS que contiene punteros opacos para los objetos relacionados con la operación actual.
[in] Flags
Máscara de bits de marcas que describen por qué se llamó a la rutina de devolución de llamada de anulación de la consulta de instancia determinada. Actualmente no hay marcas definidas.
Valor devuelto
Esta rutina de devolución de llamada devuelve STATUS_SUCCESS o un valor de NTSTATUS, como uno de los siguientes:
Código devuelto | Descripción |
---|---|
|
Devolver este valor de estado impide que la instancia del controlador de minifiltro se desasocie. Se trata de un código de error. |
Observaciones
Cuando un controlador de minifiltro se registra llamando a FltRegisterFilter desde su rutina de DriverEntry, puede registrar una rutina de tipo PFLT_INSTANCE_QUERY_TEARDOWN_CALLBACK como la rutina del controlador de minifiltro InstanceQueryTeardownCallback.
Para registrar la rutina InstanceQueryTeardownCallback, el controlador de minifiltro almacena la dirección de una rutina de tipo PFLT_INSTANCE_QUERY_TEARDOWN_CALLBACK en el InstanceQueryTeardownCallback miembro de la estructura FLT_REGISTRATION que pasa el controlador de minifiltro como parámetro Registration de FltRegisterFilter.
El administrador de filtros llama a esta rutina para permitir que el controlador de minifiltro responda a una solicitud de desasociación manual. Esta solicitud se recibe cuando una aplicación en modo de usuario llama a FilterDetach o un componente en modo kernel llama a FltDetachVolume.
No se llama a esta rutina para las solicitudes de desasociación automáticas o obligatorias, por ejemplo, cuando el controlador de minifiltro se descarga o se desmonta un volumen.
Si esta rutina devuelve un error o una advertencia código NTSTATUS, como STATUS_FLT_DO_NOT_DETACH, la instancia del controlador de minifiltro no se desasocia del volumen. De lo contrario, la instancia está desasociada.
Si un controlador de minifiltro no define una rutina de InstanceQueryTeardownCallback, sus instancias no se pueden desasociar manualmente llamando a FilterDetach o FltDetachVolume.
Requisitos
Requisito | Valor |
---|---|
de la plataforma de destino de | Escritorio |
encabezado de | fltkernel.h (incluya Fltkernel.h) |
irQL | PASSIVE_LEVEL |