Funzione FltDeleteVolumeContext (fltkernel.h)

FltDeleteVolumeContext rimuove un contesto impostato da un determinato driver minifilter per un determinato volume e contrassegna il contesto per l'eliminazione.

Sintassi

NTSTATUS FLTAPI FltDeleteVolumeContext(
  [in]            PFLT_FILTER  Filter,
  [in]            PFLT_VOLUME  Volume,
  [out, optional] PFLT_CONTEXT *OldContext
);

Parametri

[in] Filter

Puntatore di filtro opaco per il chiamante.

[in] Volume

Puntatore al volume opaco per il volume.

[out, optional] 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 a FltReleaseContext per rilasciare questo contesto quando non è più necessario.

Valore restituito

FltDeleteVolumeContext restituisce STATUS_SUCCESS o un valore NTSTATUS appropriato, ad esempio uno dei seguenti:

Codice restituito Descrizione
STATUS_FLT_DELETING_OBJECT Il volume 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.

Commenti

Per altre informazioni sui contesti, vedere Informazioni sui contesti minifilter.

Poiché i contesti sono conteggiati dai riferimenti, non è in genere necessario per un driver minifilter chiamare una routine come FltDeleteVolumeContext per eliminare in modo esplicito un contesto.

Un driver minifilter chiama FltDeleteVolumeContext per rimuovere un contesto da un volume 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 volume, chiamare FltGetVolumeContext.

Per impostare un contesto di volume, chiamare FltSetVolumeContext.

Requisiti

Requisito Valore
Piattaforma di destinazione Universale
Intestazione fltkernel.h (include Fltkernel.h)
Libreria FltMgr.lib
IRQL <= APC_LEVEL

Vedi anche

FltAllocateContext

FltDeleteContext

FltGetVolumeContext

FltReleaseContext

FltSetVolumeContext