Share via


Rilevamento Per-File contesto in un driver di filtro del file system legacy

Nota

Per garantire un'affidabilità e prestazioni ottimali, usare i driver minifilter del file system con il supporto di Gestione filtri anziché i driver di filtro del file system legacy. Per convertire il driver legacy in un driver minifilter, vedere Linee guida per la conversione dei driver di filtro legacy.

Un driver di filtro del file system legacy può registrare le informazioni di contesto per un file associando un oggetto FSRTL_PER_FILE_CONTEXT a una struttura di informazioni di contesto definita dall'utente.

Nota

Non tutti i file system supportano oggetti contesto per file. Per determinare se un file è associato a un file system che li supporta, usare la macro FsRtlSupportsPerFileContexts .

Utilizzare la macro FsRtlInitPerFileContext per inizializzare l'oggetto FSRTL_PER_FILE_CONTEXT. Utilizzare quindi la routine FsRtlInsertPerFileContext per associare il file a un oggetto contesto arbitrario.

Utilizzare la macro FsRtlGetPerFileContextPointer per ottenere un puntatore utilizzato dal pacchetto della libreria di runtime del file system (FSRTL) per tenere traccia dei contesti di file.

Un driver di filtro può utilizzare la routine FsRtlLookupPerFileContext per trovare un oggetto contesto di file associato a un file. La routine può specificare il proprietario di una struttura o di un'istanza di una struttura per restringere la ricerca.

Il driver di filtro può rimuovere un oggetto contesto usando FsRtlRemovePerFileContext. La routine può specificare il proprietario di una struttura o di un'istanza di una struttura per restringere la ricerca.

Nota

Utilizzare solo la routine FsRtlRemovePerFileContext per rimuovere gli oggetti di contesto mentre il file è ancora aperto. Non confonderlo con FsRtlTeardownPerFileContexts.

I file system chiamano FsRtlTeardownPerFileContexts per liberare tutti i contesti di filtro ancora associati a una struttura di blocchi di controllo per file che stanno rimuovendo. La routine FsRtlTeardownPerFileContexts chiama la routine FreeCallback specificata nell'oggetto FSRTL_PER_FILE_CONTEXT per ogni contesto di filtro.