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

Vedi anche

FLT_CALLBACK_DATA

FltAllocateCallbackData

FltFreeCallbackData

FltPerformAsynchronousIo

FltPerformSynchronousIo

FltReissueSynchronousIo