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