Función FltPerformSynchronousIo (fltkernel.h)
Un controlador de minifiltro llama a FltPerformSynchronousIo para iniciar una operación de E/S sincrónica después de llamar a FltAllocateCallbackData para asignar una estructura de datos de devolución de llamada para la operación.
Sintaxis
VOID FLTAPI FltPerformSynchronousIo(
[in, out] PFLT_CALLBACK_DATA CallbackData
);
Parámetros
[in, out] CallbackData
Puntero a una estructura de datos de devolución de llamada (FLT_CALLBACK_DATA) asignada por una llamada anterior a FltAllocateCallbackData. Este parámetro es obligatorio y no puede ser NULL. El autor de la llamada es responsable de liberar esta estructura cuando ya no es necesario llamando a FltFreeCallbackData.
Valor devuelto
None
Observaciones
Un controlador minifiltro llama a FltPerformSynchronousIo para iniciar una operación de E/S sincrónica.
Los controladores de minifiltro solo pueden iniciar operaciones de E/S basadas en IRP. No pueden iniciar operaciones de devolución de llamada de E/S rápidas o de filtro del sistema de archivos (FSFilter).
FltPerformSynchronousIo envía la operación de E/S solo a las instancias del controlador de minifiltro adjuntas debajo de la instancia de inicio (especificada en el parámetro Instance a FltAllocateCallbackData) y al sistema de archivos. Los controladores de minifiltro conectados encima de la instancia especificada no reciben la operación de E/S.
Los controladores minifiltros deben usar FltPerformSynchronousIo solo en los casos en los que no se pueden usar rutinas como las siguientes:
Después de que FltPerformSynchronousIo devuelva, el autor de la llamada puede volver a emitir la operación de E/S llamando a FltReissueSynchronousIo. Como alternativa, el autor de la llamada puede liberar la estructura de datos de devolución de llamada (FLT_CALLBACK_DATA) mediante una llamada a FltFreeCallbackData o prepararla para reutilizarla llamando a FltReuseCallbackData.
Requisitos
Requisito | Value |
---|---|
Plataforma de destino | Universal |
Encabezado | fltkernel.h (incluya Fltkernel.h) |
Library | FltMgr.lib |
Archivo DLL | Fltmgr.sys |
IRQL | <= APC_LEVEL |