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 I/O della struttura dei dati di callback.
La routine FltReuseCallbackData libera qualsiasi catena 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 alla liberazione della struttura e all'allocazione di una nuova struttura.
Un driver minifilter deve usare FltReuseCallbackData solo su una struttura di dati di callback allocata in precedenza dal driver minifilter con FltAllocateCallbackData e usato 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 callbackRoutine specificato nella chiamata a FltPerformAsynchronousIo .
In particolare, un driver minifilter non deve usare questa routine per le strutture di dati di callback non allocate dal driver minifilter stesso.
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Universale |
Intestazione | fltkernel.h (include Fltkernel.h) |
Libreria | FltMgr.lib |
DLL | Fltmgr.sys |
IRQL | <= APC_LEVEL |