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

Un controlador de minifiltro que inicia una operación de E/S asincrónica 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, FltReadFile o FltWriteFile.

Valor devuelto

None

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 que se llamará cuando se complete la operación de E/S. Esto se hace especificando 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.
  • Todas las estructuras de datos usadas en esta rutina deben asignarse desde un grupo no paginado.
  • No se puede hacer paginable.
  • No puede adquirir recursos, exclusiones mutuas ni exclusiones mutuas rápidas. Sin embargo, puede adquirir bloqueos de giro.

Requisitos

Requisito Value
Plataforma de destino Escritorio
Encabezado fltkernel.h (incluya Fltkernel.h)
IRQL vea la sección Comentarios.

Consulte también

FLT_CALLBACK_DATA

FltPerformAsynchronousIo

FltReadFile

FltWriteFile