FltReuseCallbackData-Funktion (fltkernel.h)
Die FltReuseCallbackData Routine reitialisiert eine Rückrufdatenstruktur so, dass sie wiederverwendet werden kann.
Syntax
VOID FLTAPI FltReuseCallbackData(
[in, out] PFLT_CALLBACK_DATA CallbackData
);
Parameter
[in, out] CallbackData
Zeigen Sie auf die rückrufdaten (FLT_CALLBACK_DATA) Struktur, die wiederverwendet werden soll. Diese Struktur muss durch einen vorherigen Aufruf von FltAllocateCallbackData-zugewiesen worden sein. Dieser Parameter ist erforderlich und kann nicht NULL-werden.
Rückgabewert
Nichts
Bemerkungen
FltReuseCallbackData eine Rückrufdatenstruktur (FLT_CALLBACK_DATA) neu initialisiert, sodass sie in einem neuen E/A-Vorgang verwendet werden kann. FltReuseCallbackData ändert nicht das TargetInstance-Feld Feld oder das TargetFileObject Feld des I/O-Parameterblocks der Rückrufdatenstruktur.
Die FltReuseCallbackData Routine gibt jede MDL- Kette frei, die dem angegebenen CallbackData--Objekt zugeordnet ist. Ein Zeiger auf eine MDL-Kette, die einem FLT_CALLBACK_DATA-Objekt zugeordnet ist, ist nach einem Aufruf von FltReuseCallbackData- für dieses Objekt ungültig.
Die Verwendung von FltReuseCallbackData- zum Wiederverwenden einer Rückrufdatenstruktur ist schneller als das Freigeben der Struktur und Zuweisung einer neuen Struktur.
Ein Minifiltertreiber sollte FltReuseCallbackData nur für eine Rückrufdatenstruktur verwenden, die der Minifiltertreiber zuvor FltAllocateCallbackData zugeordnet und in einem Aufruf von FltPerformSynchronousIo oder FltPerformAsynchronousIoverwendet wurde.
Wenn die Rückrufdatenstruktur für asynchrone E/A-Vorgänge verwendet wurde, sollte der Minifiltertreiber nicht FltReuseCallbackData aufrufen, bis die im Aufruf von FltPerformAsynchronousIo angegebene CallbackRou tine aufgerufen wird.
Insbesondere sollte ein Minifiltertreiber diese Routine nicht für Rückrufdatenstrukturen verwenden, die nicht vom Minifiltertreiber selbst zugeordnet werden.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform- | Universal |
Header- | fltkernel.h (include Fltkernel.h) |
Library | FltMgr.lib |
DLL- | Fltmgr.sys |
IRQL- | <= APC_LEVEL |