Compartir a través de


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.

Consulte también

FLT_CALLBACK_DATA

FltCbdqInitialize

fltCompletePendedPostOperation

FltQueueDeferredIoWorkItem

PFLT_PRE_OPERATION_CALLBACK