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

Voir aussi

FltDecodeParameters

FltGetSwappedBufferMdlAddress

IoFreeMdl

PFLT_POST_OPERATION_CALLBACK

PFLT_PRE_OPERATION_CALLBACK