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


Функция 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 минифильтра, связанного с операцией ввода-вывода.

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

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

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

Требования

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

См. также

FLT_CALLBACK_DATA

FLT_IO_PARAMETER_BLOCK

FltAdjustDeviceStackSizeForIoRedirection

FltIsIoRedirectionAllowed