Compartir a través de


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.

Consulte también

FLT_CALLBACK_DATA

FltCbdqInitialize

FltCompletePendedPostOperation

FltQueueDeferredIoWorkItem

PFLT_PRE_OPERATION_CALLBACK