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

Подпрограмма FltIsIoRedirectionAllowedForOperation определяет, можно ли перенаправлять операции ввода-вывода из экземпляра фильтра, связанного с указанной структурой FLT_CALLBACK_DATA , в указанный экземпляр фильтра.

Синтаксис

NTSTATUS FLTAPI FltIsIoRedirectionAllowedForOperation(
  [in]            PFLT_CALLBACK_DATA Data,
  [in]            PFLT_INSTANCE      TargetInstance,
  [out]           PBOOLEAN           RedirectionAllowedThisIo,
  [out, optional] PBOOLEAN           RedirectionAllowedAllIo
);

Параметры

[in] Data

Структура FLT_CALLBACK_DATA , представляющая операцию ввода-вывода.

[in] TargetInstance

Экземпляр фильтра в стеке целевого устройства.

[out] RedirectionAllowedThisIo

Значение TRUE , если этот ввод-вывод можно перенаправить в стек целевого устройства путем изменения указанного экземпляра фильтра.

[out, optional] RedirectionAllowedAllIo

Этот необязательный параметр имеет значение TRUE , если все операции ввода-вывода к стеку устройств, в который выполняется операция ввода-вывода, могут быть перенаправлены на целевое устройство путем изменения экземпляра фильтра, на который ссылается ссылка, в противном случае — FALSE.

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

Значение NTSTATUS STATUS_SUCCESS для успешного выполнения или STATUS_NOT_SUPPORTED, если перенаправление не поддерживается.

Комментарии

Операция ввода-вывода связана со структурой FLT_CALLBACK_DATA . Эта структура содержит ссылку на объект PFLT_IO_PARAMETER_BLOCK , который содержит ссылку на FLT_INSTANCE минифильтра, связанного с операцией ввода-вывода.

Если параметр RedirectionAllowed имеет значение TRUE, мини-фильтр может перенаправить ввод-вывод, изменив этот экземпляр на новый целевой экземпляр.

Если redirectionAllowed имеет значение FALSE, минифильтр должен выделить новый объект данных обратного вызова для выдачи ввода-вывода в целевом стеке или вызвать FltAdjustDeviceStackSizeForIoRedirection , чтобы увеличить размер стека исходного устройства.

Примечание Минифильтры не должны изменять ссылку на FLT_INSTANCE перед проверкой возможности перенаправления таким образом. Используйте FltIsIoRedirectionAllowedForOperation или FltIsIoRedirectionAllowed.
 

Требования

Требование Значение
Минимальная версия клиента Доступно в Windows 7 и более поздних версиях операционной системы Windows.
Целевая платформа Универсальное
Верхняя часть fltkernel.h (включая FltKernel.h)
Библиотека FltMgr.lib
DLL Fltmgr.sys
IRQL <=DISPATCH_LEVEL

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

FLT_CALLBACK_DATA

FLT_IO_PARAMETER_BLOCK

FltAdjusteviceStackSizeForIoRedirection

FltIsIoRedirectionAllowed