FltIsIoRedirectionAllowedForOperation function (fltkernel.h)
The FltIsIoRedirectionAllowedForOperation routine determines whether I/O can be redirected from the filter instance associated with the specified FLT_CALLBACK_DATA structure to the specified filter instance.
Syntax
NTSTATUS FLTAPI FltIsIoRedirectionAllowedForOperation(
[in] PFLT_CALLBACK_DATA Data,
[in] PFLT_INSTANCE TargetInstance,
[out] PBOOLEAN RedirectionAllowedThisIo,
[out, optional] PBOOLEAN RedirectionAllowedAllIo
);
Parameters
[in] Data
An FLT_CALLBACK_DATA structure representing the I/O operation.
[in] TargetInstance
A filter instance on the target device stack.
[out] RedirectionAllowedThisIo
A value of TRUE if this I/O can be redirected to the target device stack by changing the filter instance referenced.
[out, optional] RedirectionAllowedAllIo
This optional parameter has a value of TRUE if all I/O to the device stack to which the I/O operation is issued can be redirected to the target device by changing the filter instance referenced, otherwise FALSE.
Return value
An NTSTATUS value of STATUS_SUCCESS for success or STATUS_NOT_SUPPORTED if the redirection is not supported.
Remarks
An I/O operation is associated with a FLT_CALLBACK_DATA structure. That structure contains a reference to a PFLT_IO_PARAMETER_BLOCK object, which contains a reference to the FLT_INSTANCE of the minifilter associated with the I/O operation.
If RedirectionAllowed is TRUE, the minifilter can redirect I/O by changing that instance to a new target instance.
If RedirectionAllowed is FALSE, the minifilter needs to allocate a new callback data object to issue I/O on the target stack or call FltAdjustDeviceStackSizeForIoRedirection to increase the size of the source device stack.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Available in Windows 7 and later versions of the Windows operating system. |
Target Platform | Universal |
Header | fltkernel.h (include FltKernel.h) |
Library | FltMgr.lib |
DLL | Fltmgr.sys |
IRQL | <=DISPATCH_LEVEL |