Partager via


FltReuseCallbackData, fonction (fltkernel.h)

La FltReuseCallbackData routine 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 des 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

Aucun

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 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 n’est 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 la libération de la structure et l’allocation d’une nouvelle structure.

Un pilote minifilter doit utiliser FltReuseCallbackData uniquement sur une structure de données de rappel que le pilote minifilter précédemment alloué avec FltAllocateCallbackData et utilisé 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 jusqu’à ce que le CallbackRoutine spécifié dans l’appel à FltPerformAsynchronousIo est appelé.

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.

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

FltFreeCallbackData

FltPerformAsynchronousIo

FltPerformSynchronousIo

FltReissueSynchronousIo