Skip to content

Latest commit

 

History

History
85 lines (58 loc) · 3.2 KB

nf-fltkernel-fltretainswappedbuffermdladdress.md

File metadata and controls

85 lines (58 loc) · 3.2 KB
UID title description old-location tech.root ms.date keywords ms.keywords req.header req.include-header req.target-type req.target-min-winverclnt req.target-min-winversvr req.kmdf-ver req.umdf-ver req.ddi-compliance req.unicode-ansi req.idl req.max-support req.namespace req.assembly req.type-library req.lib req.dll req.irql targetos req.typenames f1_keywords topic_type api_type api_location api_name
NF:fltkernel.FltRetainSwappedBufferMdlAddress
FltRetainSwappedBufferMdlAddress function (fltkernel.h)
FltRetainSwappedBufferMdlAddress prevents the Filter Manager from freeing the memory descriptor list (MDL) for a buffer that was swapped in by a minifilter driver.
ifsk\fltretainswappedbuffermdladdress.htm
ifsk
04/16/2018
FltRetainSwappedBufferMdlAddress function
FltApiRef_p_to_z_3832baaa-37bc-47cc-9df4-12c92fd0ddd8.xml, FltRetainSwappedBufferMdlAddress, FltRetainSwappedBufferMdlAddress function [Installable File System Drivers], fltkernel/FltRetainSwappedBufferMdlAddress, ifsk.fltretainswappedbuffermdladdress
fltkernel.h
Fltkernel.h
Universal
FltMgr.lib
Fltmgr.sys
Any level
Windows
FltRetainSwappedBufferMdlAddress
fltkernel/FltRetainSwappedBufferMdlAddress
APIRef
kbSyntax
DllExport
fltmgr.sys
FltRetainSwappedBufferMdlAddress

FltRetainSwappedBufferMdlAddress function

-description

FltRetainSwappedBufferMdlAddress prevents the Filter Manager from freeing the memory descriptor list (MDL) for a buffer that was swapped in by a minifilter driver.

-parameters

-param CallbackData [in]

Pointer to the callback data structure for the operation.

-remarks

When a minifilter driver swaps in a new buffer in a preoperation callback (PFLT_PRE_OPERATION_CALLBACK) routine, the Filter Manager automatically frees the buffer's MDL when the corresponding postoperation (PFLT_POST_OPERATION_CALLBACK) callback routine returns.

The minifilter driver can prevent the Filter Manager from freeing the MDL by calling FltRetainSwappedBufferMdlAddress from the postoperation callback routine.

After calling FltRetainSwappedBufferMdlAddress, the caller is responsible for freeing the MDL by calling a routine such as IoFreeMdl.

FltRetainSwappedBufferMdlAddress can only be called from a postoperation callback routine.

-see-also

FltDecodeParameters

FltGetSwappedBufferMdlAddress

IoFreeMdl

PFLT_POST_OPERATION_CALLBACK

PFLT_PRE_OPERATION_CALLBACK