Функция FltRetainSwappedBufferMdlAddress (fltkernel.h)
FltRetainSwappedBufferMdlAddress не позволяет диспетчеру фильтров освободить список дескрипторов памяти (MDL) для буфера, который был переключен в драйвере минифильтра.
Синтаксис
void FltRetainSwappedBufferMdlAddress(
[in] PFLT_CALLBACK_DATA CallbackData
);
Параметры
[in] CallbackData
Указатель на структуру данных обратного вызова для операции.
Возвращаемое значение
None
Remarks
Когда драйвер минифильтра переключается в новом буфере в процедуре обратного вызова перед операции (PFLT_PRE_OPERATION_CALLBACK), диспетчер фильтров автоматически освобождает MDL буфера при возвращении соответствующей подпрограммы обратного вызова после операции (PFLT_POST_OPERATION_CALLBACK).
Драйвер минифильтра может запретить диспетчеру фильтров освободить MDL, вызвав FltRetainSwappedBufferMdlAddress из подпрограммы обратного вызова после операции.
После вызова FltRetainSwappedBufferMdlAddress вызывающий объект отвечает за освобождение MDL путем вызова подпрограммы, такой как IoFreeMdl.
FltRetainSwappedBufferMdlAddress можно вызвать только из подпрограммы обратного вызова после операции.
Требования
Требование | Значение |
---|---|
Целевая платформа | Универсальное |
Верхняя часть | fltkernel.h (включая Fltkernel.h) |
Библиотека | FltMgr.lib |
DLL | Fltmgr.sys |
IRQL | Любой уровень |
См. также раздел
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по