Función FltCompletePendedPreOperation (fltkernel.h)
FltCompletePendedPreOperation reanuda el procesamiento de una operación de E/S que se ha pendido 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 necesario 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 de postoperación correspondiente, 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 de postoperación correspondiente durante la finalización de E/S. |
[in, optional] Context
Si se especifica FLT_PREOP_SUCCESS_WITH_CALLBACK para CallbackStatus, este parámetro es un puntero de contexto opcional que se pasará a la rutina de devolución de llamada de postoperación correspondiente. Si se especifica FLT_PREOP_COMPLETE o FLT_PREOP_SUCCESS_NO_CALLBACK para callbackStatus, este parámetro debe ser NULL.
Valor devuelto
Ninguno
Observaciones
Cuando una devolución de llamada de preoperación del controlador de minifiltro (PFLT_PRE_OPERATION_CALLBACK) 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 finalmente se desqueue y procese, 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 dirigido por el CallbackStatus especificado por el controlador de minifiltro.
Si se FLT_PREOP_COMPLETE FLT_PREOP_COMPLETE el parámetro CallbackStatus CallbackStatus, 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 | Valor |
---|---|
de la plataforma de destino de | Universal |
encabezado de | fltkernel.h (incluya Fltkernel.h) |
biblioteca de | FltMgr.lib |
irQL | Consulte la sección Comentarios. |