Funzione FltAllocateCallbackDataEx (fltkernel.h)
La routine FltAllocateCallbackDataEx alloca una struttura di dati di callback e può preallocare memoria per strutture aggiuntive che un driver minifilter può usare per avviare una richiesta di I/O.
Sintassi
NTSTATUS FLTAPI FltAllocateCallbackDataEx(
[in] PFLT_INSTANCE Instance,
[in/optional] PFILE_OBJECT FileObject,
[in] FLT_ALLOCATE_CALLBACK_DATA_FLAGS Flags,
[out] PFLT_CALLBACK_DATA *RetNewCallbackData
);
Parametri
[in] Instance
Puntatore dell'istanza opaca all'istanza del driver minifilter che avvia l'operazione di I/O. Questo parametro è obbligatorio e non può essere NULL.
[in/optional] FileObject
Puntatore a un oggetto file da utilizzare nell'operazione di I/O. Questo parametro è facoltativo e può essere NULL. Impostare FileObject su NULL se si tratta di un'operazione CREATE.
[in] Flags
Valore zero o il flag seguente: FLT_ALLOCATE_CALLBACK_DATA_PREALLOCATE_ALL_MEMORY
Se questo flag è impostato, la routine prealloca tutta la memoria necessaria dal gestore filtri per utilizzare strutture aggiuntive in una richiesta di I/O.
[out] RetNewCallbackData
Puntatore a una variabile allocata dal chiamante che riceve l'indirizzo dei dati di callback appena allocati FLT_CALLBACK_DATA struttura.
Valore restituito
La routine FltAllocateCallbackDataEx restituisce STATUS_SUCCESS in caso di esito positivo o STATUS_INSUFFICIENT_RESOURCES se la routine ha rilevato un errore di allocazione del pool durante il tentativo di allocare la struttura dei dati di callback o se il flag FLT_ALLOCATE_CALLBACK_DATA_PREALLOCATE_ALL_MEMORY è impostato e non è stato possibile allocare memoria aggiuntiva.
Commenti
Se il flag FLT_ALLOCATE_CALLBACK_DATA_PREALLOCATE_ALL_MEMORY è impostato, la routine alloca tutta la memoria necessaria per l'uso di strutture di gestione filtri aggiuntive in una richiesta di I/O successiva. L'uso di questo flag consente a un minifilter di preallocare una o più strutture di dati di callback da usare per l'emissione di richieste di I/O in condizioni di memoria insufficiente o in situazioni in cui il ripristino da un errore di allocazione di memoria potrebbe essere complicato.
Nota
La memoria allocata aggiuntiva è destinata all'uso da parte del gestore filtri. Il file system o altri filtri possono comunque non riuscire la richiesta di I/O a causa di una condizione di memoria insufficiente.
Importante
I commenti per FltAllocateCallbackData si applicano anche a FltAllocateCallbackDataEx . Esaminare tali informazioni per selezionare la routine corretta per la progettazione.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Disponibile in Windows 7 e versioni successive del sistema operativo Windows. |
Piattaforma di destinazione | Universale |
Intestazione | fltkernel.h (include FltKernel.h) |
Libreria | FltMgr.lib |
IRQL | <= APC_LEVEL |