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)结构,以便可以在新的 I/O作中使用。 FltReuseCallbackData 不会更改回调数据块 I/O 参数块的 TargetInstance 字段或 TargetFileObject 字段。

FltReuseCallbackData 例程释放与提供的 CallbackData 对象关联的任何 MDL 链。 调用该对象的 FltReuseCallbackData 后,指向与 FLT_CALLBACK_DATA 对象关联的 MDL 链的指针将无效。

使用 FltReuseCallbackData 重复使用回调数据结构比释放结构和分配新结构要快。

微型筛选器驱动程序应仅在以前使用 FltAllocateCallbackData 分配的回调数据结构上使用 FltReuseCallbackData,并在调用 FltPerformSynchronousIoFltPerformAsynchronousIo时使用。

如果回调数据结构用于异步 I/O,则微型筛选器驱动程序不应调用 FltReuseCallbackData,直到调用 FltPerformAsynchronousIo 中指定的 CallbackRoutine

具体而言,微型筛选器驱动程序不应将此例程用于微型筛选器驱动程序本身未分配的任何回调数据结构。

要求

要求 价值
目标平台 普遍
标头 fltkernel.h (包括 Fltkernel.h)
FltMgr.lib
DLL Fltmgr.sys
IRQL <= APC_LEVEL

另请参阅

FLT_CALLBACK_DATA

FltAllocateCallbackData

FltFreeCallbackData

FltPerformAsynchronousIo

FltPerformSynchronousIo

FltReissueSynchronousIo