Funzione FltDeleteStreamHandleContext (fltkernel.h)
FltDeleteStreamHandleContext rimuove un contesto impostato da una determinata istanza del driver minifilter per un handle di flusso specificato e contrassegna il contesto per l'eliminazione.
Sintassi
NTSTATUS FLTAPI FltDeleteStreamHandleContext(
[in] PFLT_INSTANCE Instance,
[in] PFILE_OBJECT FileObject,
[out] PFLT_CONTEXT *OldContext
);
Parametri
[in] Instance
Puntatore a istanze opache per l'istanza del driver minifilter il cui contesto deve essere rimosso dall'elenco di contesti collegati all'handle di flusso.
[in] FileObject
Puntatore a un oggetto file per il flusso di file.
[out] OldContext
Puntatore a una variabile allocata dal chiamante che riceve l'indirizzo del contesto eliminato. Questo parametro è facoltativo e può essere NULL. Se OldContext non è NULL e non punta a NULL_CONTEXT, il chiamante è responsabile della chiamata FltReleaseContext per rilasciare questo contesto quando non è più necessario.
Valore restituito
FltDeleteStreamHandleContext restituisce STATUS_SUCCESS o un valore NTSTATUS appropriato, ad esempio uno dei seguenti:
Codice restituito | Descrizione |
---|---|
STATUS_FLT_DELETING_OBJECT | Il dell'istanza di specificato viene eliminato. Si tratta di un codice di errore. |
STATUS_NOT_FOUND | Non è stato trovato alcun contesto corrispondente. Si tratta di un codice di errore. |
STATUS_NOT_SUPPORTED | Il file system non supporta i contesti per flusso per questo handle del flusso di file. Si tratta di un codice di errore. |
Osservazioni
Per altre informazioni sui contesti, vedere Informazioni sui contesti del minifiltro.
Poiché i contesti vengono conteggiati, in genere non è necessario che un driver minifiltro chiami una routine, ad esempio FltDeleteStreamHandleContext per eliminare in modo esplicito un contesto.
Un driver minifilter chiama FltDeleteStreamHandleContext per rimuovere un contesto da un handle di flusso e contrassegnare il contesto per l'eliminazione. Il contesto 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).
Per allocare un nuovo contesto, chiamare FltAllocateContext.
Per ottenere un contesto di flusso, chiamare FltGetStreamHandleContext.
Per impostare un contesto di flusso, chiamare FltSetStreamHandleContext.
Fabbisogno
Requisito | Valore |
---|---|
piattaforma di destinazione | Universale |
intestazione | fltkernel.h (include Fltkernel.h) |
libreria | FltMgr.lib |
dll | Fltmgr.sys |
IRQL | <= APC_LEVEL |