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:

FltClose

FltCreateFile

FltQueryInformationFile

FltQueryVolumeInformation

FltReadFile

FltSetInformationFile

FltSetVolumeInformation

FltTagFile

FltUntagFile

FltWriteFile

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

Consulte también

FLT_CALLBACK_DATA

FltAllocateCallbackData

FltClose

FltCreateFile

FltFreeCallbackData

FltPerformAsynchronousIo

FltQueryInformationFile

FltQueryVolumeInformation

FltReadFile

FltReissueSynchronousIo

FltReuseCallbackData

FltSetInformationFile

FltSetVolumeInformation

FltTagFile

FltUntagFile

FltWriteFile