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. |