estructura FLT_REGISTRATION (fltkernel.h)
La estructura FLT_REGISTRATION se pasa como parámetro a FltRegisterFilter.
Sintaxis
typedef struct _FLT_REGISTRATION {
USHORT Size;
USHORT Version;
FLT_REGISTRATION_FLAGS Flags;
const FLT_CONTEXT_REGISTRATION *ContextRegistration;
const FLT_OPERATION_REGISTRATION *OperationRegistration;
PFLT_FILTER_UNLOAD_CALLBACK FilterUnloadCallback;
PFLT_INSTANCE_SETUP_CALLBACK InstanceSetupCallback;
PFLT_INSTANCE_QUERY_TEARDOWN_CALLBACK InstanceQueryTeardownCallback;
PFLT_INSTANCE_TEARDOWN_CALLBACK InstanceTeardownStartCallback;
PFLT_INSTANCE_TEARDOWN_CALLBACK InstanceTeardownCompleteCallback;
PFLT_GENERATE_FILE_NAME GenerateFileNameCallback;
PFLT_NORMALIZE_NAME_COMPONENT NormalizeNameComponentCallback;
PFLT_NORMALIZE_CONTEXT_CLEANUP NormalizeContextCleanupCallback;
PFLT_TRANSACTION_NOTIFICATION_CALLBACK TransactionNotificationCallback;
PFLT_NORMALIZE_NAME_COMPONENT_EX NormalizeNameComponentExCallback;
PFLT_SECTION_CONFLICT_NOTIFICATION_CALLBACK SectionNotificationCallback;
} FLT_REGISTRATION, *PFLT_REGISTRATION;
Miembros
Size
Tamaño, en bytes, de la estructura FLT_REGISTRATION. Los controladores de minifiltro deben establecer este miembro en tamaño de(FLT_REGISTRATION).
Version
Nivel de revisión de la estructura FLT_REGISTRATION. Los controladores de minifiltro deben establecer este miembro en FLT_REGISTRATION_VERSION.
Flags
Máscara de bits de marcas de registro de minifiltro. Este miembro puede ser NULL o una combinación de lo siguiente.
ContextRegistration
Matriz de longitud variable de FLT_CONTEXT_REGISTRATION estructuras, una para cada tipo de contexto que usa el minifiltro. El último elemento de la matriz debe ser {FLT_CONTEXT_END}. Este miembro es opcional y puede ser null.
OperationRegistration
Matriz de longitud variable de estructuras de FLT_OPERATION_REGISTRATION, una para cada tipo de E/S para la que el minifiltro registra la preoperación (PFLT_PRE_OPERATION_CALLBACK) y las rutinas de devolución de llamada (PFLT_POST_OPERATION_CALLBACK). El último elemento de la matriz debe ser {IRP_MJ_OPERATION_END}. Este miembro es opcional y puede ser null.
FilterUnloadCallback
Puntero a una rutina de tipo PFLT_FILTER_UNLOAD_CALLBACK que se va a registrar como rutina del minifiltro FilterUnloadCallback rutina. Este miembro es opcional y puede ser null. Tenga en cuenta que si se especifica NULL para esta rutina, el filtro nunca se puede descargar.
InstanceSetupCallback
Puntero a una rutina de tipo PFLT_INSTANCE_SETUP_CALLBACK que se va a registrar como rutina de InstanceSetupCallback del minifiltro. Este miembro es opcional y puede ser null. Tenga en cuenta que si se especifica NULL para esta rutina, los datos adjuntos siempre se realizan.
InstanceQueryTeardownCallback
Puntero a una rutina de tipo PFLT_INSTANCE_QUERY_TEARDOWN_CALLBACK que se va a registrar como rutina de InstanceQueryTeardownCallback del minifiltro. Este miembro es opcional y puede ser null. Tenga en cuenta que si se especifica NULL para esta rutina, las instancias nunca se desasociarán manualmente.
InstanceTeardownStartCallback
Puntero a una rutina de tipo PFLT_INSTANCE_TEARDOWN_CALLBACK que se va a registrar como la rutina de InstanceTeardownStartCallback del minifiltro. Este miembro es opcional y puede ser null.
InstanceTeardownCompleteCallback
Puntero a una rutina de tipo PFLT_INSTANCE_TEARDOWN_CALLBACK que se va a registrar como rutina InstanceTeardownCompleteCallback del minifiltro rutina. Este miembro es opcional y puede ser null.
GenerateFileNameCallback
Puntero a una rutina de tipo PFLT_GENERATE_FILE_NAME que se va a registrar como rutina de GenerateFileNameCallback del minifiltro. Este miembro es opcional y puede ser null.
NormalizeNameComponentCallback
Puntero a una rutina de tipo PFLT_NORMALIZE_NAME_COMPONENT que se va a registrar como rutina NormalizeNameComponentCallback del minifiltro rutina. Este miembro es opcional y puede ser null.
NormalizeContextCleanupCallback
Puntero a una rutina de tipo PFLT_NORMALIZE_CONTEXT_CLEANUP que se va a registrar como rutina del minifiltro NormalizeContextCleanupCallback rutina. Este miembro es opcional y puede ser null.
TransactionNotificationCallback
(Solo Windows Vista y versiones posteriores). Puntero a una rutina de tipo PFLT_TRANSACTION_NOTIFICATION_CALLBACK que se va a registrar como rutina del minifiltro TransactionNotificationCallback rutina. Este miembro es opcional y puede ser null.
NormalizeNameComponentExCallback
(Solo Windows Vista y versiones posteriores). Puntero a una rutina de tipo PFLT_NORMALIZE_NAME_COMPONENT_EX que se va a registrar como rutina del controlador de minifiltro NormalizeNameComponentExCallback rutina. Este miembro es opcional y puede ser null.
En comparación con la rutina de devolución de llamada NormalizeNameComponentCallback, la rutina de devolución de llamada NormalizeNameComponentExCallback admite un parámetro de objeto de archivo adicional, fileObject (de tipo PFILE_OBJECT). Un controlador de minifiltro puede usar este parámetro para adquirir información adicional, como la proporcionada por la estructura de TXN_PARAMETER_BLOCK.
Un controlador de minifiltro puede establecer simultáneamente los miembros NormalizeNameComponentCall back y NormalizeNameComponentExCallback en miembros null; Sin embargo, un controlador de minifiltro de proveedor de nombres debe registrar una NormalizeNameComponentCallback o NormalizeNameComponentExCallback rutina de devolución de llamada, o ambas. Por ejemplo, un controlador de minifiltro de proveedor de nombres que no tiene ningún uso para el parámetro FileObject adicional puede establecer la rutina de devolución de llamada NormalizeNameComponentExCall back para NULL y proporcionar solo una rutina de devolución de llamada NormalizeNameComponentCall back.
Un controlador de minifiltro puede proporcionar una devolución de llamada NormalizeNameComponentCallback y una devolución de llamada NormalizeNameComponentExCallback. En este caso, a partir de Windows Vista, el administrador de filtros usará solo la NormalizeNameComponentExCallback devolución de llamada; para los sistemas operativos Windows anteriores a Windows Vista, el administrador de filtros usará solo la NormalizeNameComponentCallback devolución de llamada. Esto permite que el mismo archivo binario del controlador de minifiltro se ejecute en todas las versiones del sistema operativo.
SectionNotificationCallback
Puntero a una rutina de tipo PFLT_SECTION_CONFLICT_NOTIFICATION_CALLBACK registrarse como rutina SectionNotificationCallback del minifiltro rutina. Este miembro es opcional y puede ser null. Esta devolución de llamada se llama para recibir notificaciones de errores de E/S para las secciones creadas con FltCreateSectionForDatascan.
Observaciones
La estructura FLT_REGISTRATION se usa para proporcionar información sobre un minifiltro del sistema de archivos, como una FilterUnloadCallback (PFLT_FILTER_UNLOAD_CALLBACK) rutina y preoperación (PFLT_PRE_OPERATION_CALLBACK) y rutinas de devolución de llamada (PFLT_POST_OPERATION_CALLBACK) al administrador de filtros. El minifiltro pasa un puntero a esta estructura como el parámetro Registration a FltRegisterFilter.
Requisitos
Requisito | Valor |
---|---|
encabezado de | fltkernel.h (incluya Fltkernel.h) |
Consulte también
PFLT_INSTANCE_QUERY_TEARDOWN_CALLBACK
PFLT_INSTANCE_TEARDOWN_CALLBACK
PFLT_NORMALIZE_CONTEXT_CLEANUP