FltRetainSwappedBufferMdlAddress-Funktion (fltkernel.h)
FltRetainSwappedBufferMdlAddress verhindert, dass der Filter-Manager die Speicherbeschreibungsliste (MDL) für einen Puffer freigibt, der von einem Minifiltertreiber ausgetauscht wurde.
Syntax
void FltRetainSwappedBufferMdlAddress(
[in] PFLT_CALLBACK_DATA CallbackData
);
Parameter
[in] CallbackData
Zeigen Sie auf die Rückrufdatenstruktur für den Vorgang.
Rückgabewert
Nichts
Bemerkungen
Wenn ein Minifiltertreiber in einem neuen Puffer in einer Preoperation-Rückrufroutine (PFLT_PRE_OPERATION_CALLBACK) wechselt, gibt der Filter-Manager die MDL des Puffers automatisch frei, wenn die entsprechende Postoperation (PFLT_POST_OPERATION_CALLBACK) Rückrufroutine zurückgibt.
Der Minifiltertreiber kann verhindern, dass der Filter-Manager die MDL freigibt, indem FltRetainSwappedBufferMdlAddress aus der Postoperation-Rückrufroutine aufgerufen wird.
Nach dem Aufrufen FltRetainSwappedBufferMdlAddressist der Anrufer dafür verantwortlich, die MDL durch Aufrufen einer Routine wie IoFreeMdlfreizusprechen.
FltRetainSwappedBufferMdlAddress kann nur aus einer Postoperation-Rückrufroutine aufgerufen werden.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform- | Universal |
Header- | fltkernel.h (include Fltkernel.h) |
Library | FltMgr.lib |
DLL- | Fltmgr.sys |
IRQL- | Beliebige Ebene |