Функция 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, выделенный файловой системой. Драйвер минифильтра должен вызывать эту функцию, только если в CallbackData.Flags установлен флаг FLTFL_CALLBACK_DATA_NEW_SYSTEM_BUFFER.
Когда файловая система выделяет собственный буфер AssociatedIrp.SystemBuffer, диспетчер фильтров установит флаг FLTFL_CALLBACK_DATA_NEW_SYSTEM_BUFFER. Это сигнализирует минифильтру о том, что буфер, полученный в ходе предварительной операции, не является буфером, в который считываются данные из файловой системы.
Если флаг FLTFL_CALLBACK_DATA_NEW_SYSTEM_BUFFER не задан, эта подпрограмма возвращает значение NULL.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Доступно в Microsoft Windows 7 и более поздних версиях операционной системы Windows. |
Целевая платформа | Универсальное |
Верхняя часть | fltkernel.h (включая Fltkernel.h) |
Библиотека | Fltmgr.lib |
DLL | Fltmgr.sys |
IRQL | <= DISPATCH_LEVEL |
См. также раздел
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по