Supporto di contesti minifilter
Gestione filtri offre supporto che consente ai driver minifilter di associare contesti agli oggetti per mantenere lo stato tra operazioni di I/O. Gli oggetti che possono includere contesti includono file, volumi, istanze, flussi, handle di flusso e transazioni. Per informazioni sui dettagli sull'implementazione del minifilter, vedere Informazioni sui contesti minifilter .
I file system di terze parti devono usare la struttura di FSRTL_ADVANCED_FCB_HEADER (anziché la struttura di FSRTL_COMMON_FCB_HEADER ) per funzionare correttamente con i contesti di flusso e di flusso.
I contesti possono essere allocati da un pool di pagine o non a pagine, ad eccezione dei contesti del volume, che devono essere allocati dal pool non a pagina.
I contesti vengono liberati automaticamente quando sono stati rilasciati tutti i riferimenti in sospeso. Se il driver minifilter definisce una routine di callback di pulizia del contesto, il gestore filtri chiama la routine prima che il contesto venga liberato.
Gestione filtri si occupa dell'eliminazione di contesti quando l'oggetto associato viene eliminato, quando un'istanza viene scollegata e quando il driver minifilter viene scaricato.
I contesti non sono supportati per i file di paging o durante le operazioni seguenti:
Elaborazione preliminare per la creazione di richieste
Elaborazione della postperazione per le richieste di chiusura
Elaborazione delle richieste di IRP_MJ_NETWORK_QUERY_OPEN
Vedere l'esempio CTX per un esempio di driver minifilter che usa contesti.
Routine di supporto di Gestione filtri per la gestione del contesto
La gestione filtri offre molte routine di supporto del contesto di supporto per minifilter:
Creazione e registrazione di contesti:
Impostazione dei contesti:
Esecuzione di query sui contesti:
Recupero e riferimento ai contesti:
Rilascio ed eliminazione di contesti: