Partager via


Fonction FltIsIoRedirectionAllowedForOperation (fltkernel.h)

La routine FltIsIoRedirectionAllowedForOperation détermine si les E/S peuvent être redirigées du filtre instance associé à la structure de FLT_CALLBACK_DATA spécifiée vers le filtre instance spécifié.

Syntaxe

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

Paramètres

[in] Data

Structure FLT_CALLBACK_DATA représentant l’opération d’E/S.

[in] TargetInstance

Un filtre instance sur la pile d’appareils cible.

[out] RedirectionAllowedThisIo

Valeur TRUE si cette E/S peut être redirigée vers la pile d’appareils cible en modifiant le filtre instance référencé.

[out, optional] RedirectionAllowedAllIo

Ce paramètre facultatif a la valeur TRUE si toutes les E/S de la pile d’appareils à laquelle l’opération d’E/S est émise peuvent être redirigées vers l’appareil cible en modifiant le filtre instance référencé, sinon FALSE.

Valeur retournée

Valeur NTSTATUS de STATUS_SUCCESS de réussite ou de STATUS_NOT_SUPPORTED si la redirection n’est pas prise en charge.

Remarques

Une opération d’E/S est associée à une structure FLT_CALLBACK_DATA . Cette structure contient une référence à un objet PFLT_IO_PARAMETER_BLOCK , qui contient une référence à la FLT_INSTANCE du minifiltre associé à l’opération d’E/S.

Si RedirectionAllowed a la valeur TRUE, le minifiltre peut rediriger les E/S en remplaçant cette instance par une nouvelle instance cible.

Si RedirectionAllowed a la valeur FALSE, le minifiltre doit allouer un nouvel objet de données de rappel pour émettre des E/S sur la pile cible ou appeler FltAdjustDeviceStackSizeForIoRedirection pour augmenter la taille de la pile d’appareils source.

Note Les minifiltres ne doivent pas modifier la référence au FLT_INSTANCE avant de vérifier que la redirection peut être effectuée de cette façon. Utilisez FltIsIoRedirectionAllowedForOperation ou FltIsIoRedirectionAllowed.
 

Configuration requise

Condition requise Valeur
Client minimal pris en charge Disponible dans Windows 7 et versions ultérieures du système d’exploitation Windows.
Plateforme cible Universal
En-tête fltkernel.h (incluez FltKernel.h)
Bibliothèque FltMgr.lib
DLL Fltmgr.sys
IRQL <=DISPATCH_LEVEL

Voir aussi

FLT_CALLBACK_DATA

FLT_IO_PARAMETER_BLOCK

FltAdjustDeviceStackSizeForIoRedirection

FltIsIoRedirectionAllowed