FltIsIoRedirectionAllowed 函数 (fltkernel.h)

FltIsIoRedirectionAllowed 例程确定是否可以将 I/O 从指定的源筛选器实例重定向到另一个指定的筛选器实例。

语法

NTSTATUS FLTAPI FltIsIoRedirectionAllowed(
  [in]  PFLT_INSTANCE SourceInstance,
  [in]  PFLT_INSTANCE TargetInstance,
  [out] PBOOLEAN      RedirectionAllowed
);

参数

[in] SourceInstance

源设备堆栈上的筛选器实例。

[in] TargetInstance

目标设备堆栈上的筛选器实例。

[out] RedirectionAllowed

如果源设备堆栈的所有 I/O 都可以通过更改引用的筛选器实例来重定向到目标设备堆栈,则值为 TRUE,否则 FALSE

返回值

如果不支持重定向,则 NTSTATUS 值为 STATUS_SUCCESS,如果不支持重定向,则为STATUS_NOT_SUPPORTED。

言论

I/O作与 FLT_CALLBACK_DATA 结构相关联。 该结构包含对 PFLT_IO_PARAMETER_BLOCK 对象的引用,该对象包含对与 I/O作关联的微筛选器FLT_INSTANCE的引用。

如果 RedirectAllowedTRUE,则微型筛选器可以通过将该实例更改为新的目标实例来重定向 I/O。

如果 重定向FALSE,则微筛选器需要分配新的回调数据对象以在目标堆栈上发出 I/O,或调用 FltAdjustDeviceStackSizeForIoRedirection 以增加源设备堆栈的大小。

注意 微型筛选器不应修改对FLT_INSTANCE的引用,然后才能验证是否可以这样进行重定向。 使用 FltIsIoRedirectionAllowedForOperationFltIsIoRedirectionAllowed
 

要求

要求 价值
最低支持的客户端 在 Windows 7 及更高版本的 Windows作系统中可用。
目标平台 普遍
标头 fltkernel.h (包括 FltKernel.h)
FltMgr.lib
DLL Fltmgr.sys
IRQL <=DISPATCH_LEVEL

另请参阅

FLT_CALLBACK_DATA

FLT_IO_PARAMETER_BLOCK

FltAdjustDeviceStackSizeForIoRedirection

FltIsIoRedirectionAllowedForOperation