The FltIsIoRedirectionAllowed routine determines whether I/O can be redirected from the specified source filter instance to another specified filter instance.
NTSTATUS FLTAPI FltIsIoRedirectionAllowed( PFLT_INSTANCE SourceInstance, PFLT_INSTANCE TargetInstance, PBOOLEAN RedirectionAllowed );
The filter instance on the source device stack.
The filter instance on the target device stack.
A value of TRUE if all I/O to the source device stack can be redirected to the target device stack by changing the filter instance referenced, otherwise FALSE.
An NTSTATUS value of STATUS_SUCCESS for success or STATUS_NOT_SUPPORTED if redirection is not supported.
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.
|Windows version||Available in Windows 7 and later versions of the Windows operating system.|
|Header||fltkernel.h (include FltKernel.h)|