Функция FltReuseCallbackData (fltkernel.h)
Подпрограмма FltReuseCallbackData повторно инициализирует структуру данных обратного вызова, чтобы ее можно было использовать повторно.
Синтаксис
VOID FLTAPI FltReuseCallbackData(
[in, out] PFLT_CALLBACK_DATA CallbackData
);
Параметры
[in, out] CallbackData
Указатель на структуру данных обратного вызова (FLT_CALLBACK_DATA), которые необходимо использовать повторно. Эта структура должна быть выделена при предыдущем вызове Метода FltAllocateCallbackData. Этот параметр является обязательным и не может иметь значение NULL.
Возвращаемое значение
None
Remarks
FltReuseCallbackData повторно инициализирует структуру данных обратного вызова (FLT_CALLBACK_DATA), чтобы их можно было использовать в новой операции ввода-вывода. FltReuseCallbackData не изменяет поле TargetInstance или поле TargetFileObject блока параметров ввода-вывода структуры данных обратного вызова.
Подпрограмма FltReuseCallbackData освобождает любую цепочку MDL , связанную с предоставленным объектом CallbackData . Указатель на цепочку MDL, связанную с объектом FLT_CALLBACK_DATA , будет недопустимым после вызова FltReuseCallbackData для этого объекта.
Использование FltReuseCallbackData для повторного использования структуры данных обратного вызова быстрее, чем освобождение структуры и выделение новой структуры.
Драйвер минифильтра должен использовать FltReuseCallbackData только в структуре данных обратного вызова, которая ранее была выделена драйвером минифильтра с помощью FltAllocateCallbackData и использовалась при вызове FltPerformSynchronousIo или FltPerformAsynchronousIo.
Если структура данных обратного вызова использовалась для асинхронного ввода-вывода, драйвер минифильтра не должен вызывать FltReuseCallbackData , пока не будет вызван callbackRoutine , указанный в вызове FltPerformAsynchronousIo .
В частности, драйвер минифильтра не должен использовать эту процедуру для структур данных обратного вызова, не выделенных самим драйвером минифильтра.
Требования
Требование | Значение |
---|---|
Целевая платформа | Универсальное |
Верхняя часть | fltkernel.h (включая Fltkernel.h) |
Библиотека | FltMgr.lib |
DLL | Fltmgr.sys |
IRQL | <= APC_LEVEL |
См. также раздел
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по