Fonction FltRetainSwappedBufferMdlAddress (fltkernel.h)
FltRetainSwappedBufferMdlAddress empêche le Gestionnaire de filtres de libérer la liste de descripteurs de mémoire (MDL) pour une mémoire tampon qui a été échangée par un pilote de minifiltre.
Syntaxe
void FltRetainSwappedBufferMdlAddress(
[in] PFLT_CALLBACK_DATA CallbackData
);
Paramètres
[in] CallbackData
Pointeur vers la structure de données de rappel pour l’opération.
Valeur de retour
None
Remarques
Lorsqu’un pilote de minifiltre échange dans une nouvelle mémoire tampon dans une routine de rappel de préopération (PFLT_PRE_OPERATION_CALLBACK), le Gestionnaire de filtres libère automatiquement la MDL de la mémoire tampon lorsque la routine de rappel de post-opération (PFLT_POST_OPERATION_CALLBACK) correspondante est retournée.
Le pilote de minifiltre peut empêcher le Gestionnaire de filtres de libérer le MDL en appelant FltRetainSwappedBufferMdlAddress à partir de la routine de rappel post-opération.
Après avoir appelé FltRetainSwappedBufferMdlAddress, l’appelant est chargé de libérer le MDL en appelant une routine telle que IoFreeMdl.
FltRetainSwappedBufferMdlAddress ne peut être appelé qu’à partir d’une routine de rappel post-opération.
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Universal |
En-tête | fltkernel.h (inclure Fltkernel.h) |
Bibliothèque | FltMgr.lib |
DLL | Fltmgr.sys |
IRQL | N’importe quel niveau |