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,并在调用 FltPerformSynchronousIo 或 FltPerformAsynchronousIo时使用。
如果回调数据结构用于异步 I/O,则微型筛选器驱动程序不应调用 FltReuseCallbackData,直到调用 FltPerformAsynchronousIo 中指定的 CallbackRoutine。
具体而言,微型筛选器驱动程序不应将此例程用于微型筛选器驱动程序本身未分配的任何回调数据结构。
要求
要求 | 价值 |
---|---|
目标平台 | 普遍 |
标头 | fltkernel.h (包括 Fltkernel.h) |
库 | FltMgr.lib |
DLL | Fltmgr.sys |
IRQL | <= APC_LEVEL |