Функция 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 только в тех случаях, когда нельзя использовать следующие подпрограммы:
После возврата FltPerformSynchronousIo вызывающий объект может повторно выполнить операцию ввода-вывода, вызвав FltReissueSynchronousIo. Кроме того, вызывающий объект может освободить структуру данных обратного вызова (FLT_CALLBACK_DATA), вызвав FltFreeCallbackData или подготовив ее к повторному использованию, вызвав FltReuseCallbackData.
Требования
Требование | Значение |
---|---|
Целевая платформа | Универсальное |
Верхняя часть | fltkernel.h (включая Fltkernel.h) |
Библиотека | FltMgr.lib |
DLL | Fltmgr.sys |
IRQL | <= APC_LEVEL |