Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Функция 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 |