Partager via


Fonction FltReuseCallbackData (fltkernel.h)

La routine FltReuseCallbackData réinitialise une structure de données de rappel afin qu’elle puisse être réutilisée.

Syntaxe

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

Paramètres

[in, out] CallbackData

Pointeur vers la structure de données de rappel (FLT_CALLBACK_DATA) à réutiliser. Cette structure doit avoir été allouée par un appel précédent à FltAllocateCallbackData. Ce paramètre est obligatoire et ne peut pas être NULL.

Valeur de retour

None

Remarques

FltReuseCallbackData réinitialise une structure de données de rappel (FLT_CALLBACK_DATA) afin qu’elle puisse être utilisée dans une nouvelle opération d’E/S. FltReuseCallbackData ne modifie pas le champ TargetInstance ou le champ TargetFileObject du bloc de paramètres d’E/S de la structure de données de rappel.

La routine FltReuseCallbackData libère toute chaîne MDL associée à l’objet CallbackData fourni. Un pointeur vers une chaîne MDL associée à un objet FLT_CALLBACK_DATA ne sera pas valide après un appel à FltReuseCallbackData pour cet objet.

L’utilisation de FltReuseCallbackData pour réutiliser une structure de données de rappel est plus rapide que de libérer la structure et d’en allouer une nouvelle.

Un pilote minifilter doit utiliser FltReuseCallbackData uniquement sur une structure de données de rappel que le pilote minifilter a précédemment allouée avec FltAllocateCallbackData et utilisée dans un appel à FltPerformSynchronousIo ou FltPerformAsynchronousIo.

Si la structure de données de rappel a été utilisée pour les E/S asynchrones, le pilote minifilter ne doit pas appeler FltReuseCallbackData tant que la CallbackRoutine spécifiée dans l’appel à FltPerformAsynchronousIo n’est pas appelée.

En particulier, un pilote minifilter ne doit pas utiliser cette routine pour les structures de données de rappel non allouées par le pilote minifilter lui-même.

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

FltFreeCallbackData

FltPerformAsynchronousIo

FltPerformSynchronousIo

FltReissueSynchronousIo