PFLT_INSTANCE_SETUP_CALLBACK función de devolución de llamada (fltkernel.h)
Un controlador de minifiltro puede registrar una rutina de tipo PFLT_INSTANCE_SETUP_CALLBACK como rutina InstanceSetupCallback del controlador de minifiltro.
Sintaxis
PFLT_INSTANCE_SETUP_CALLBACK PfltInstanceSetupCallback;
NTSTATUS PfltInstanceSetupCallback(
[in] PCFLT_RELATED_OBJECTS FltObjects,
[in] FLT_INSTANCE_SETUP_FLAGS Flags,
[in] DEVICE_TYPE VolumeDeviceType,
[in] FLT_FILESYSTEM_TYPE VolumeFilesystemType
)
{...}
Parámetros
[in] FltObjects
Puntero a una estructura 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 indican por qué se está adjuntando la instancia. Uno o varios de los siguientes:
Marca | Significado |
---|---|
FLTFL_INSTANCE_SETUP_AUTOMATIC_ATTACHMENT (0x00000001) | La instancia se adjunta automáticamente. El controlador de minifiltro se acaba de cargar y se está adjuntando a todos los volúmenes existentes o se está adjuntando a un volumen recién montado. |
FLTFL_INSTANCE_SETUP_MANUAL_ATTACHMENT (0x00000002) | La instancia se está adjuntando manualmente porque una aplicación en modo de usuario ha llamado FilterAttach o FilterAttachAtAltitude, o porque un componente en modo kernel ha llamado FltAttachVolume o FltAttachVolumeAtAltitude |
FLTFL_INSTANCE_SETUP_NEWLY_MOUNTED_VOLUME (0x00000004) | La instancia se adjunta automáticamente a un volumen recién montado. |
FLTFL_INSTANCE_SETUP_DETACHED_VOLUME (0x00000008) | La instancia se está adjuntando a un volumen desasociado. Es posible, en algunos sistemas de archivos (como FAT y CDFS, que usan algunas unidades multimedia extraíbles) para volver a adjuntar un volumen después de que se haya desasociado. Un volumen se desasocia si no tiene ninguna pila de almacenamiento asociada. Un volumen en este estado suele ser un volumen desmontado que todavía tiene archivos abiertos. |
FLTFL_INSTANCE_SETUP_DEV_VOLUME (0x00000010) | La instancia de se adjunta a un volumen con formato de volumen de desarrollador. Los filtros del sistema de archivos pueden habilitar optimizaciones que no requieren que un administrador confíe en el volumen en un equipo determinado. Disponible a partir de Windows 11, versión 22H2, actualización de septiembre. |
FLTFL_INSTANCE_SETUP_TRUSTED_VOLUME (0x00000020) | Indica que un administrador de una máquina determinada tiene confianza en este volumen y está dispuesto a habilitar optimizaciones como no tener filtros antivirus asociados al volumen. Esta información se conserva en el registro en una máquina determinada. Los filtros del sistema de archivos pueden usar esto para habilitar las optimizaciones que requieren que un administrador confíe en el volumen en un equipo determinado. Disponible a partir de Windows 11, versión 22H2, actualización de septiembre. |
[in] VolumeDeviceType
Tipo de dispositivo del volumen del sistema de archivos. Debe ser una de las siguientes:
- FILE_DEVICE_CD_ROM_FILE_SYSTEM (0x00000002)
- FILE_DEVICE_DISK_FILE_SYSTEM (0x00000008)
- FILE_DEVICE_NETWORK_FILE_SYSTEM (0x00000014)
[in] VolumeFilesystemType
Tipo de sistema de archivos del volumen. Los valores posibles se muestran en FLT_FILESYSTEM_TYPE.
Valor devuelto
Esta rutina de devolución de llamada devuelve STATUS_SUCCESS o un valor NTSTATUS como el siguiente:
Código devuelto | Descripción |
---|---|
STATUS_FLT_DO_NOT_ATTACH | Devolver este valor impide que la instancia del controlador de minifiltro se adjunte al volumen especificado. Se trata de un código de error. |
Comentarios
Nota
No realice ninguna sincronización de subprocesos ni comunicación entre procesos en la implementación de PFLT_INSTANCE_SETUP_CALLBACK . La realización de estas operaciones puede provocar condiciones de interbloqueo.
Cuando un controlador de minifiltro se registra a sí mismo llamando a FltRegisterFilter desde su rutina DriverEntry , puede registrar una rutina de tipo PFLT_INSTANCE_SETUP_CALLBACK como la rutina InstanceSetupCallback del controlador de minifiltro.
Para registrar la rutina InstanceSetupCallback , el controlador de minifiltro almacena la dirección de una rutina de tipo PFLT_INSTANCE_SETUP_CALLBACK en el miembro InstanceSetupCallback de la estructura FLT_REGISTRATION que el controlador de minifiltro pasa como parámetro Registration de FltRegisterFilter.
El administrador de filtros llama a esta rutina en la primera operación después de montar un nuevo volumen.
El administrador de filtros llama a esta rutina para permitir que el controlador de minifiltro responda a una solicitud de datos adjuntos automática o manual. Si esta rutina devuelve un código NTSTATUS de error o advertencia, la instancia del controlador de minifiltro no se adjunta al volumen especificado. De lo contrario, la instancia del controlador de minifiltro se adjunta al volumen especificado.
Requisitos
Requisito | Value |
---|---|
Plataforma de destino | Escritorio |
Encabezado | fltkernel.h (incluya Fltkernel.h) |
IRQL | PASSIVE_LEVEL |
Consulte también
PFLT_INSTANCE_QUERY_TEARDOWN_CALLBACK