Поделиться через


Функция FltReuseCallbackData (fltkernel.h)

Программа FltReuseCallbackData повторно инициализирует структуру данных обратного вызова, чтобы ее можно было повторно использовать.

Синтаксис

VOID FLTAPI FltReuseCallbackData(
  [in, out] PFLT_CALLBACK_DATA CallbackData
);

Параметры

[in, out] CallbackData

Указатель на структуру обратного вызова (FLT_CALLBACK_DATA) для повторного использование. Эта структура должна быть выделена предыдущим вызовом FltAllocateCallbackData. Этот параметр является обязательным и не может быть null.

Возвращаемое значение

Никакой

Замечания

FltReuseCallbackData повторно инициализирует структуру данных обратного вызова (FLT_CALLBACK_DATA), чтобы ее можно было использовать в новой операции ввода-вывода. FltReuseCallbackData не изменяет поле TargetInstance или поле TargetFileObject блока параметров структуры данных обратного вызова.

Подпрограмма FltReuseCallbackData освобождает любую цепочку MDL, связанную с предоставленным объектом callbackData CallbackData. Указатель на цепочку MDL, связанную с объектом FLT_CALLBACK_DATA, будет недопустимым после вызова FltReuseCallbackData для этого объекта.

Использование FltReuseCallbackData для повторного использования структуры данных обратного вызова быстрее, чем освобождение структуры и выделение нового.

Драйвер минифильтра должен использовать FltReuseCallbackData только в структуре данных обратного вызова, которая ранее был выделен драйвером минифильтра с FltAllocateCallbackData и используется в вызове FltPerformSynchronousIo или FltPerformAsynchronousIo.

Если структура данных обратного вызова использовалась для асинхронного ввода-вывода, драйвер минифильтра не должен вызывать FltReuseCallbackData до тех пор, пока CallbackRoutine, указанный в вызове FltPerformAsynchronousIo.

В частности, драйвер минифильтра не должен использовать эту подпрограмму для любых структур данных обратного вызова, не выделенных самим драйвером минифильтра.

Требования

Требование Ценность
целевая платформа Всеобщий
заголовка fltkernel.h (include Fltkernel.h)
библиотеки FltMgr.lib
DLL Fltmgr.sys
IRQL <= APC_LEVEL

См. также

FLT_CALLBACK_DATA

FltAllocateCallbackData

FltFreeCallbackData

FltPerformAsynchronousIo

FltPerformSynchronousIo

FltReissueSynchronousIo