Функция 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

См. также раздел

FLT_CALLBACK_DATA

FltAllocateCallbackData

FltFreeCallbackData

FltPerformAsynchronousIo

FltPerformSynchronousIo

FltReissueSynchronousIo