FltIsIoRedirectionAllowedForOperation 函数 (fltkernel.h)

FltIsIoRedirectionAllowedForOperation 例程确定是否可以将 I/O 从与指定 FLT_CALLBACK_DATA 结构关联的筛选器实例重定向到指定的筛选器实例。

语法

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

参数

[in] Data

表示 I/O作的 FLT_CALLBACK_DATA 结构。

[in] TargetInstance

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

[out] RedirectionAllowedThisIo

如果可以通过更改引用的筛选器实例,将此 I/O 重定向到目标设备堆栈,则值为 TRUE

[out, optional] RedirectionAllowedAllIo

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

返回值

如果不支持重定向,则为STATUS_SUCCESS NTSTATUS 值,或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

FltIsIoRedirectionAllowed