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 |