Поделиться через


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

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

Синтаксис

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

Параметры

[in, out] CallbackData

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

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

Никакой

Замечания

Драйвер минифильтра вызывает 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 (include 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