Fonction FltGetNewSystemBufferAddress (fltkernel.h)

La fonction FltGetNewSystemBufferAddress récupère la mémoire tampon AssociatedIrp.SystemBuffer, que le système de fichiers a allouée. La routine post-rappel d’un pilote de minifiltre appelle cette fonction.

Syntaxe

PVOID FLTAPI FltGetNewSystemBufferAddress(
  [in] PFLT_CALLBACK_DATA CallbackData
);

Paramètres

[in] CallbackData

Pointeur vers une structure FLT_CALLBACK_DATA qui représente une opération d’E/S.

Valeur retournée

Si la mémoire tampon AssociatedIrp.SystemBuffer a été allouée par le système de fichiers, FltGetNewSystemBufferAddress retourne un pointeur vers cette mémoire tampon ; sinon, il retourne NULL.

Remarques

La routine post-rappel d’un pilote minifiltre appelle la fonction FltGetNewSystemBufferAddress pour récupérer un pointeur vers la mémoire tampon AssociatedIrp.SystemBuffer allouée par le système de fichiers. Un pilote de minifiltre doit appeler cette fonction uniquement lorsque l’indicateur FLTFL_CALLBACK_DATA_NEW_SYSTEM_BUFFER est défini dans CallbackData.Flags.

Lorsque le système de fichiers alloue sa propre mémoire tampon AssociatedIrp.SystemBuffer, Filter Manager définit l’indicateur FLTFL_CALLBACK_DATA_NEW_SYSTEM_BUFFER. Cela indique au minifiltre que la mémoire tampon qu’il a reçue lors de la préopération n’est pas celle qui contient les données lues à partir du système de fichiers.

Si l’indicateur FLTFL_CALLBACK_DATA_NEW_SYSTEM_BUFFER n’est pas défini, cette routine retourne null.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Disponible dans Microsoft Windows 7 et versions ultérieures du système d’exploitation Windows.
Plateforme cible Universal
En-tête fltkernel.h (inclure Fltkernel.h)
Bibliothèque Fltmgr.lib
DLL Fltmgr.sys
IRQL <= DISPATCH_LEVEL

Voir aussi

FLT_CALLBACK_DATA