FltGetNewSystemBufferAddress 函数 (fltkernel.h)
FltGetNewSystemBufferAddress 函数检索文件系统已分配的 AssociatedIrp.SystemBuffer 缓冲区。 微筛选器驱动程序的后回调例程调用此函数。
PVOID FLTAPI FltGetNewSystemBufferAddress(
[in] PFLT_CALLBACK_DATA CallbackData
);
[in] CallbackData
指向表示 I/O 操作 的FLT_CALLBACK_DATA 结构的指针。
如果 AssociatedIrp.SystemBuffer 缓冲区由文件系统分配, 则 FltGetNewSystemBufferAddress 返回指向此缓冲区的指针;否则返回 NULL。
微筛选器驱动程序的回调后例程调用 FltGetNewSystemBufferAddress 函数,以检索指向文件系统已分配的 AssociatedIrp.SystemBuffer 缓冲区的指针。 仅当 在 CallbackData.Flags 中设置了FLTFL_CALLBACK_DATA_NEW_SYSTEM_BUFFER标志时,微筛选器驱动程序才应调用此函数。
当文件系统分配自己的 AssociatedIrp.SystemBuffer 缓冲区时,筛选器管理器将设置FLTFL_CALLBACK_DATA_NEW_SYSTEM_BUFFER标志。 这向微筛选器发出信号,表明他们在预操作中收到的缓冲区不是从文件系统读取数据的缓冲区。
如果未设置FLTFL_CALLBACK_DATA_NEW_SYSTEM_BUFFER标志,则此例程返回 NULL。
要求 | 值 |
---|---|
最低受支持的客户端 | 在 Microsoft Windows 7 及更高版本的 Windows 操作系统中可用。 |
目标平台 | 通用 |
标头 | fltkernel.h (包括 Fltkernel.h) |
Library | Fltmgr.lib |
DLL | Fltmgr.sys |
IRQL | <= DISPATCH_LEVEL |