Функция FltPerformSynchronousIo (fltkernel.h)

Драйвер минифильтра вызывает FltPerformSynchronousIo для запуска синхронной операции ввода-вывода после вызова FltAllocateCallbackData для выделения структуры данных обратного вызова для операции.

Синтаксис

VOID FLTAPI FltPerformSynchronousIo(
  [in, out] PFLT_CALLBACK_DATA CallbackData
);

Параметры

[in, out] CallbackData

Указатель на структуру данных обратного вызова (FLT_CALLBACK_DATA), выделенную предыдущим вызовом FltAllocateCallbackData. Этот параметр является обязательным и не может иметь значение NULL. Вызывающий объект отвечает за освобождение этой структуры, когда она больше не нужна путем вызова FltFreeCallbackData.

Возвращаемое значение

None

Remarks

Драйвер минифильтра вызывает FltPerformSynchronousIo для запуска синхронной операции ввода-вывода.

Драйверы минифильтра могут инициировать только операции ввода-вывода на основе IRP. Они не могут инициировать операции обратного вызова быстрого ввода-вывода или фильтра файловой системы (FSFilter).

FltPerformSynchronousIo отправляет операцию ввода-вывода только в экземпляры драйвера минифильтра, подключенные под экземпляром-инициатором (указанный в параметре Экземпляра к FltAllocateCallbackData), и файловой системе. Драйверы минифильтра, подключенные к указанному экземпляру, не получают операцию ввода-вывода.

Драйверы минифильтра должны использовать FltPerformSynchronousIo только в тех случаях, когда нельзя использовать следующие подпрограммы:

FltClose

FltCreateFile

FltQueryInformationFile

FltQueryVolumeInformation

FltReadFile

FltSetInformationFile

FltSetVolumeInformation

FltTagFile

FltUntagFile

FltWriteFile

После возврата FltPerformSynchronousIo вызывающий объект может повторно выполнить операцию ввода-вывода, вызвав FltReissueSynchronousIo. Кроме того, вызывающий объект может освободить структуру данных обратного вызова (FLT_CALLBACK_DATA), вызвав FltFreeCallbackData или подготовив ее к повторному использованию, вызвав FltReuseCallbackData.

Требования

Требование Значение
Целевая платформа Универсальное
Верхняя часть fltkernel.h (включая Fltkernel.h)
Библиотека FltMgr.lib
DLL Fltmgr.sys
IRQL <= APC_LEVEL

См. также раздел

FLT_CALLBACK_DATA

FltAllocateCallbackData

FltClose

FltCreateFile

FltFreeCallbackData

FltPerformAsynchronousIo

FltQueryInformationFile

FltQueryVolumeInformation

FltReadFile

FltReissueSynchronousIo

FltReuseCallbackData

FltSetInformationFile

FltSetVolumeInformation

FltTagFile

FltUntagFile

FltWriteFile