Funzione FltReuseCallbackData (fltkernel.h)
La routine FltReuseCallbackData reinizializza una struttura di dati di callback in modo che possa essere riutilizzata.
Sintassi
VOID FLTAPI FltReuseCallbackData(
[in, out] PFLT_CALLBACK_DATA CallbackData
);
Parametri
[in, out] CallbackData
Puntatore alla struttura dei dati di callback (FLT_CALLBACK_DATA) da riutilizzare. Questa struttura deve essere stata allocata da una chiamata precedente a FltAllocateCallbackData. Questo parametro è obbligatorio e non può essere NULL.
Valore restituito
Nessuno
Osservazioni
FltReuseCallbackData reinizializza una struttura di dati di callback (FLT_CALLBACK_DATA) in modo che possa essere usata in una nuova operazione di I/O. FltReuseCallbackData non modifica il campo TargetInstance o il campo TargetFileObject del blocco di parametri di I/O della struttura dei dati di callback.
La routine FltReuseCallbackData libera qualsiasi catena di MDL associata all'oggetto callbackData fornito. Un puntatore a una catena MDL associata a un oggetto FLT_CALLBACK_DATA non sarà valido dopo una chiamata a FltReuseCallbackData per tale oggetto.
L'uso di FltReuseCallbackData per riutilizzare una struttura di dati di callback è più veloce rispetto a liberare la struttura e allocarne una nuova.
Un driver minifilter deve usare FltReuseCallbackData solo su una struttura di dati di callback allocata in precedenza dal driver minifilter con FltAllocateCallbackData e usata in una chiamata a FltPerformSynchronousIo o FltPerformAsynchronousIo.
Se la struttura dei dati di callback è stata usata per l'I/O asincrona, il driver minifilter non deve chiamare FltReuseCallbackData finché non viene chiamato il CallbackRoutine specificato nella chiamata a FltPerformAsyncHronousIo.
In particolare, un driver minifiltro non deve usare questa routine per le strutture di dati di callback non allocate dal driver minifilter stesso.
Fabbisogno
Requisito | Valore |
---|---|
piattaforma di destinazione | Universale |
intestazione | fltkernel.h (include Fltkernel.h) |
libreria | FltMgr.lib |
dll | Fltmgr.sys |
IRQL | <= APC_LEVEL |