Función FltCompletePendedPreOperation (fltkernel.h)
FltCompletePendedPreOperation reanuda el procesamiento de una operación de E/S que se ha incrustado en una rutina de devolución de llamada de preoperación del controlador de minifiltro (PFLT_PRE_OPERATION_CALLBACK).
Sintaxis
VOID FLTAPI FltCompletePendedPreOperation(
PFLT_CALLBACK_DATA CallbackData,
[in] FLT_PREOP_CALLBACK_STATUS CallbackStatus,
[in, optional] PVOID Context
);
Parámetros
CallbackData
Puntero a la estructura de datos de devolución de llamada (FLT_CALLBACK_DATA) para la operación de E/S. Este parámetro es obligatorio y no puede ser NULL.
[in] CallbackStatus
Valor de estado que devuelve el controlador de minifiltro para esta operación de E/S. No se puede FLT_PREOP_PENDING, FLT_PREOP_SYNCHRONIZE ni FLT_PREOP_DISALLOW_FASTIO. Debe ser uno de los siguientes valores de FLT_PREOP_CALLBACK_STATUS. Para obtener más información sobre el efecto de estos valores, vea la sección Comentarios de la entrada de referencia para PFLT_PRE_OPERATION_CALLBACK.
Valor | Significado |
---|---|
FLT_PREOP_COMPLETE | El controlador de minifiltro está completando la operación de E/S. El Administrador de filtros no envía la operación de E/S a ningún controlador de minifiltro debajo del autor de la llamada o al sistema de archivos. El Administrador de filtros solo llama a las rutinas de devolución de llamada de postoperación (PFLT_POST_OPERATION_CALLBACK) de los controladores de minifiltro por encima del autor de la llamada. |
FLT_PREOP_SUCCESS_NO_CALLBACK | El controlador de minifiltro devuelve el control de la operación de E/S al Administrador de filtros. El Administrador de filtros no llama a la devolución de llamada posterior a la operación, si existe, durante la finalización de E/S. |
FLT_PREOP_SUCCESS_WITH_CALLBACK | El controlador de minifiltro devuelve el control de la operación de E/S al Administrador de filtros. El Administrador de filtros llama a la devolución de llamada posterior a la operación durante la finalización de E/S. |
[in, optional] Context
Si FLT_PREOP_SUCCESS_WITH_CALLBACK se especifica para CallbackStatus, este parámetro es un puntero de contexto opcional que se pasará a la rutina de devolución de llamada posterior a la operación. Si FLT_PREOP_COMPLETE o FLT_PREOP_SUCCESS_NO_CALLBACK se especifica para CallbackStatus, este parámetro debe ser NULL.
Valor devuelto
None
Observaciones
Cuando una rutina de devolución de llamada (PFLT_PRE_OPERATION_CALLBACK) de un controlador minifiltro publica una operación de E/S en una cola de trabajo y devuelve FLT_PREOP_PENDING, el Administrador de filtros deja de procesar la operación. Cuando la operación se elimina y procesa finalmente, el controlador de minifiltro debe llamar a FltCompletePendedPreOperation para devolver la operación al Administrador de filtros, que luego reanuda el procesamiento según lo indicado por el controlador de minifiltro especificado por el controlador de minifiltro.
Si el parámetro CallbackStatus es FLT_PREOP_COMPLETE, se puede llamar a FltCompletePendedPreOperation en IRQL <= DISPATCH_LEVEL. De lo contrario, los autores de llamadas de FltCompletePendedPreOperation deben ejecutarse en IRQL <= APC_LEVEL.
Requisitos
Requisito | Value |
---|---|
Plataforma de destino | Universal |
Encabezado | fltkernel.h (incluya Fltkernel.h) |
Library | FltMgr.lib |
IRQL | vea la sección Comentarios. |