Partager via


FltRetainSwappedBufferMdlAddress, fonction (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 minifilter.

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

Aucun

Remarques

Lorsqu’un pilote minifilter échange dans une nouvelle mémoire tampon dans une routine de rappel de préopération (PFLT_PRE_OPERATION_CALLBACK), le Gestionnaire de filtre libère automatiquement le MDL de la mémoire tampon lorsque la routine de rappel correspondante (PFLT_POST_OPERATION_CALLBACK) retourne.

Le pilote minifilter peut empêcher le Gestionnaire de filtres de libérer le MDL en appelant FltRetainSwappedBufferMdlAddress de la routine de rappel de postopé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 postopératoire.

Exigences

Exigence Valeur
plateforme cible Universel
d’en-tête fltkernel.h (include 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