Partager via


Fonction FltPerformSynchronousIo (fltkernel.h)

Un pilote de minifiltre appelle FltPerformSynchronousIo pour lancer une opération d’E/S synchrone après avoir appelé FltAllocateCallbackData pour allouer une structure de données de rappel pour l’opération.

Syntaxe

VOID FLTAPI FltPerformSynchronousIo(
  [in, out] PFLT_CALLBACK_DATA CallbackData
);

Paramètres

[in, out] CallbackData

Pointeur vers une structure de données de rappel (FLT_CALLBACK_DATA) allouée par un appel précédent à FltAllocateCallbackData. Ce paramètre est obligatoire et ne peut pas avoir la valeur NULL. L’appelant est chargé de libérer cette structure lorsqu’elle n’est plus nécessaire en appelant FltFreeCallbackData.

Valeur de retour

None

Remarques

Un pilote de minifiltre appelle FltPerformSynchronousIo pour lancer une opération d’E/S synchrone.

Les pilotes de minifiltre peuvent uniquement lancer des opérations d’E/S basées sur IRP. Ils ne peuvent pas lancer d’opérations de rappel rapides d’E/S ou de filtre de système de fichiers (FSFilter).

FltPerformSynchronousIo envoie l’opération d’E/S uniquement aux instances de pilote de minifiltre attachées sous le instance de lancement (spécifié dans le paramètre Instance à FltAllocateCallbackData) et au système de fichiers. Les pilotes de minifiltre attachés au-dessus du instance spécifiés ne reçoivent pas l’opération d’E/S.

Les pilotes de minifiltre doivent utiliser FltPerformSynchronousIo uniquement dans les cas où des routines telles que les suivantes ne peuvent pas être utilisées :

FltClose

FltCreateFile

FltQueryInformationFile

FltQueryVolumeInformation

FltReadFile

FltSetInformationFile

FltSetVolumeInformation

FltTagFile

FltUntagFile

FltWriteFile

Une fois FltPerformSynchronousIo retourné, l’appelant peut rééditer l’opération d’E/S en appelant FltReissueSynchronousIo. L’appelant peut également libérer la structure des données de rappel (FLT_CALLBACK_DATA) en appelant FltFreeCallbackData ou en la préparant à être réutilisées en appelant FltReuseCallbackData.

Configuration requise

Condition requise Valeur
Plateforme cible Universal
En-tête fltkernel.h (inclure Fltkernel.h)
Bibliothèque FltMgr.lib
DLL Fltmgr.sys
IRQL <= APC_LEVEL

Voir aussi

FLT_CALLBACK_DATA

FltAllocateCallbackData

FltClose

FltCreateFile

FltFreeCallbackData

FltPerformAsynchronousIo

FltQueryInformationFile

FltQueryVolumeInformation

FltReadFile

FltReissueSynchronousIo

FltReuseCallbackData

FltSetInformationFile

FltSetVolumeInformation

FltTagFile

FltUntagFile

FltWriteFile