Funzione FltDeleteFileContext (fltkernel.h)
La routine FltDeleteFileContext recupera ed elimina un contesto di file impostato da un determinato driver minifilter per un determinato file.
Sintassi
NTSTATUS FLTAPI FltDeleteFileContext(
[in] PFLT_INSTANCE Instance,
[in] PFILE_OBJECT FileObject,
[out] PFLT_CONTEXT *OldContext
);
Parametri
[in] Instance
Puntatore dell'istanza opaca per il chiamante. Questo parametro è obbligatorio e non può essere NULL.
[in] FileObject
Puntatore a oggetti file per il file. Questo parametro è obbligatorio e non può essere NULL.
[out] OldContext
Puntatore a una variabile allocata dal chiamante che riceve l'indirizzo del contesto eliminato. Se non viene trovato alcun contesto corrispondente, questa variabile riceve NULL_CONTEXT. Questo parametro è facoltativo e può essere NULL. Per altre informazioni su questo parametro, vedere la sezione Osservazioni seguente.
Valore restituito
FltDeleteFileContext restituisce STATUS_SUCCESS o un valore NTSTATUS appropriato, ad esempio uno dei seguenti:
Codice restituito | Descrizione |
---|---|
STATUS_NOT_FOUND | Non è stato trovato alcun contesto corrispondente. Si tratta di un codice di errore. |
STATUS_NOT_SUPPORTED | I contesti di file non sono supportati per questo file. Si tratta di un codice di errore. |
Commenti
Per altre informazioni sui contesti, vedere Informazioni sui contesti minifilter.
Poiché i contesti vengono conteggiati dai riferimenti, non è in genere necessario per un driver minifilter chiamare una routine come FltDeleteFileContext o FltDeleteContext per eliminare in modo esplicito un contesto.
Un driver minifilter chiama FltDeleteFileContext per recuperare ed eliminare un contesto di file impostato in precedenza per un file chiamando FltSetFileContext.
Se il parametro OldContext è NULL nell'input e viene trovato un contesto di file corrispondente, FltDeleteFileContext rilascia il riferimento aggiunto dalla chiamata precedente del driver minifilter a FltSetFileContext. Il contesto eliminato viene in genere liberato immediatamente, a meno che non vi sia un riferimento in sospeso, ad esempio perché il contesto è ancora in uso da un altro thread.
Se il parametro OldContext non è NULL e viene trovato e restituito un contesto di file corrispondente, il chiamante è responsabile del rilascio del riferimento aggiunto da FltSetFileContext. Per rilasciare questo riferimento, il driver minifilter deve chiamare FltReleaseContext nel contesto di file eliminato appena possibile dopo aver eseguito la pulizia necessaria.
Per allocare un nuovo contesto, chiamare FltAllocateContext.
Per determinare se i contesti di file sono supportati per un determinato file, chiamare FltSupportsFileContexts o FltSupportsFileContextsEx.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows Vista e versioni successive |
Piattaforma di destinazione | Universale |
Intestazione | fltkernel.h (include Fltkernel.h) |
Libreria | FltMgr.lib |
IRQL | <= APC_LEVEL |