Compartir a través de


PFLT_COMPLETED_ASYNC_IO_CALLBACK función de devolución de llamada (fltkernel.h)

Un controlador de minifiltro que inicia una operación asincrónica de E/S puede especificar una rutina de tipo PFLT_COMPLETED_ASYNC_IO_CALLBACK rutina a la que se llamará cuando se complete la operación.

Sintaxis

PFLT_COMPLETED_ASYNC_IO_CALLBACK PfltCompletedAsyncIoCallback;

void PfltCompletedAsyncIoCallback(
  [in] PFLT_CALLBACK_DATA CallbackData,
  [in] PFLT_CONTEXT Context
)
{...}

Parámetros

[in] CallbackData

Puntero a la estructura de datos de devolución de llamada para la operación de E/S.

[in] Context

Puntero de contexto que el controlador de minifiltro pasó como parámetro a FltPerformAsynchronousIo, FltReadFileo FltWriteFile.

Valor devuelto

Ninguno

Observaciones

Cuando un controlador de minifiltro llama a FltPerformAsynchronousIo, FltReadFile o FltWriteFile para iniciar una operación de E/S asincrónica, el controlador de minifiltro puede especificar opcionalmente una rutina de devolución de llamada a la que se llamará cuando se complete la operación de E/S. Para ello, se especifica una rutina de tipo PFLT_COMPLETED_ASYNC_IO_CALLBACK para el parámetro CallbackRoutine.

Cuando se completa la operación de E/S, se llama a esta rutina de devolución de llamada en un contexto de subproceso arbitrario, en IRQL <= DISPATCH_LEVEL.

Dado que se puede llamar a la rutina PFLT_COMPLETED_ASYNC_IO_CALLBACK en irQL DISPATCH_LEVEL, está sujeta a las siguientes restricciones:

  • No puede llamar de forma segura a ninguna rutina en modo kernel que requiera un IRQL inferior.
  • Las estructuras de datos usadas en esta rutina deben asignarse desde un grupo no paginado.
  • No se puede hacer paginable.
  • No puede adquirir recursos, exclusión mutua o exclusión mutua rápida. Sin embargo, puede adquirir bloqueos de giro.

Requisitos

Requisito Valor
de la plataforma de destino de Escritorio
encabezado de fltkernel.h (incluya Fltkernel.h)
irQL Consulte la sección Comentarios.

Consulte también

FLT_CALLBACK_DATA

FltPerformAsynchronousIo

FltReadFile

FltWriteFile