Partager via


FltPerformSynchronousIo, fonction (fltkernel.h)

Un pilote minifilter 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 être NULL. L’appelant est chargé de libérer cette structure lorsqu’elle n’est plus nécessaire en appelant FltFreeCallbackData.

Valeur de retour

Aucun

Remarques

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

Les pilotes minifilter ne peuvent lancer que des opérations d’E/S basées sur IRP. Ils ne peuvent pas lancer des 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 minifilter attachées sous l’instance de lancement (spécifiée dans le paramètre Instance à FltAllocateCallbackData) et au système de fichiers. Les pilotes Minifilter attachés au-dessus de l’instance spécifiée ne reçoivent pas l’opération d’E/S.

Les pilotes minifilter doivent utiliser FltPerformSynchronousIo uniquement dans les cas où les 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éémettre 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ée en appelant FltReuseCallbackData.

Exigences

Exigence Valeur
plateforme cible Universel
d’en-tête fltkernel.h (include 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