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