Freigeben über


FltIsIoRedirectionAllowedForOperation-Funktion (fltkernel.h)

Die FltIsIoRedirectionAllowedForOperation Routine bestimmt, ob E/A von der Filterinstanz umgeleitet werden kann, die der angegebenen FLT_CALLBACK_DATA Struktur zugeordnet ist, an die angegebene Filterinstanz.

Syntax

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

Parameter

[in] Data

Eine FLT_CALLBACK_DATA Struktur, die den E/A-Vorgang darstellt.

[in] TargetInstance

Eine Filterinstanz im Zielgerätestapel.

[out] RedirectionAllowedThisIo

Ein Wert von TRUE, wenn diese E/A-Funktion durch Ändern der referenzierten Filterinstanz an den Zielgerätestapel umgeleitet werden kann.

[out, optional] RedirectionAllowedAllIo

Dieser optionale Parameter weist den Wert TRUE auf, wenn alle E/A-Vorgänge an den Gerätestapel, an den der E/A-Vorgang ausgegeben wird, an das Zielgerät umgeleitet werden können, indem die referenzierte Filterinstanz geändert wird, andernfalls FALSE.

Rückgabewert

Ein NTSTATUS-Wert von STATUS_SUCCESS für Erfolg oder STATUS_NOT_SUPPORTED, wenn die Umleitung nicht unterstützt wird.

Bemerkungen

Ein E/A-Vorgang ist einer FLT_CALLBACK_DATA Struktur zugeordnet. Diese Struktur enthält einen Verweis auf ein PFLT_IO_PARAMETER_BLOCK-Objekt, das einen Verweis auf die FLT_INSTANCE des minifilters enthält, der dem E/A-Vorgang zugeordnet ist.

Wenn RedirectionAllowedTRUEist, kann der Minifilter E/A umleiten, indem er diese Instanz zu einer neuen Zielinstanz ändert.

Wenn RedirectionAllowedFALSE-ist, muss der Minifilter ein neues Rückrufdatenobjekt zuordnen, um I/O im Zielstapel auszuweisen oder FltAdjustDeviceStackSizeForIoRedirection die Größe des Quellgerätestapels zu erhöhen.

Hinweis Minifilter sollten den Verweis auf die FLT_INSTANCE nicht ändern, bevor sichergestellt wird, dass die Umleitung auf diese Weise erfolgen kann. Verwenden Sie FltIsIoRedirectionAllowedForOperation oder FltIsIoRedirectionAllowed.
 

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Verfügbar in Windows 7 und höheren Versionen des Windows-Betriebssystems.
Zielplattform- Universal
Header- fltkernel.h (include FltKernel.h)
Library FltMgr.lib
DLL- Fltmgr.sys
IRQL- <=DISPATCH_LEVEL

Siehe auch

FLT_CALLBACK_DATA

FLT_IO_PARAMETER_BLOCK

FltAdjustDeviceStackSizeForIoRedirection

FltIsIoRedirectionAllowed