Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Когда подпрограмма предварительного вызова или рабочая подпрограмма драйвера минифильтра возвращает операцию ввода-вывода диспетчеру фильтров, диспетчер фильтров отправляет операцию драйверам минифильтров ниже текущего драйвера минифильтра в стеке экземпляров минифильтра, а также устаревшим фильтрам и файловой системе для дальнейшей обработки.
Подпрограмма обратного вызова перед выполнением драйвера минифильтра возвращает операцию ввода-вывода диспетчеру фильтров для дальнейшей обработки, возвращая одно из следующих значений состояния:
FLT_PREOP_SUCCESS_NO_CALLBACK (все виды операций)
FLT_PREOP_SUCCESS_WITH_CALLBACK (для всех типов операций)
FLT_PREOP_SYNCHRONIZE (только операции ввода-вывода на основе IRP)
Заметка Хотя FLT_PREOP_SYNCHRONIZE следует возвращать только для операций ввода-вывода на основе IRP, можно вернуть это значение состояния для других типов операций. Если он возвращается для операции ввода-вывода, которая не является операцией ввода-вывода на основе IRP, диспетчер фильтров обрабатывает это возвращаемое значение, как если бы это было FLT_PREOP_SUCCESS_WITH_CALLBACK.
Кроме того, рабочая процедура для операции, которая была отложена в подпрограмме обратного вызова предоперации, возвращает операцию I/O диспетчеру фильтров, передав одно из предыдущих значений статуса в параметре CallbackStatus при вызове FltCompletePendedPreOperation, чтобы возобновить обработку для отложенной операции I/O.
В этом разделе приведено следующее:
Возврат FLT_PREOP_SUCCESS_WITH_CALLBACK