Функция FltGetNewSystemBufferAddress (fltkernel.h)

Функция FltGetNewSystemBufferAddress извлекает буфер AssociatedIrp.SystemBuffer, выделенный файловой системой. Подпрограмма после обратного вызова драйвера мини-фильтра вызывает эту функцию.

Синтаксис

PVOID FLTAPI FltGetNewSystemBufferAddress(
  [in] PFLT_CALLBACK_DATA CallbackData
);

Параметры

[in] CallbackData

Указатель на структуру FLT_CALLBACK_DATA, представляющую операцию ввода-вывода.

Возвращаемое значение

Если буфер AssociatedIrp.SystemBuffer был выделен файловой системой, FltGetNewSystemBufferAddress возвращает указатель на этот буфер; в противном случае возвращается NULL.

Замечания

Подпрограмма обратного вызова мини-фильтра драйвера функция FltGetNewSystemBufferAddress для получения указателя на буфер AssociatedIrp.SystemBuffer, выделенный файловой системой. Драйвер мини-фильтра должен вызывать эту функцию, только если флаг FLTFL_CALLBACK_DATA_NEW_SYSTEM_BUFFER установлен в CallbackData.Flags.

Если файловая система выделяет свой собственный буфер AssociatedIrp.SystemBuffer, диспетчер фильтров установит флаг FLTFL_CALLBACK_DATA_NEW_SYSTEM_BUFFER. Это сигнализирует минифильтру, что буфер, полученный в предварительной операции, не является тем, который содержит данные, считываемые из файловой системы.

Если флаг FLTFL_CALLBACK_DATA_NEW_SYSTEM_BUFFER не задан, эта подпрограмма возвращает NULL.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Доступно в Microsoft Windows 7 и более поздних версиях операционной системы Windows.
целевая платформа Всеобщий
заголовка fltkernel.h (include Fltkernel.h)
библиотеки Fltmgr.lib
DLL Fltmgr.sys
IRQL <= DISPATCH_LEVEL

См. также

FLT_CALLBACK_DATA