Funzione FltDeleteTransactionContext (fltkernel.h)

La routine FltDeleteTransactionContext rimuove un contesto da una determinata transazione e contrassegna il contesto per l'eliminazione.

Sintassi

NTSTATUS FLTAPI FltDeleteTransactionContext(
  [in]            PFLT_INSTANCE Instance,
  [in]            PKTRANSACTION Transaction,
  [out, optional] PFLT_CONTEXT  *OldContext
);

Parametri

[in] Instance

Puntatore dell'istanza opaca per il chiamante.

[in] Transaction

Puntatore di transazione opaco per la transazione il cui contesto viene eliminato.

[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

FltDeleteTransactionContext restituisce STATUS_SUCCESS o un valore NTSTATUS appropriato, ad esempio:

Codice restituito Descrizione
STATUS_FLT_DELETING_OBJECT L'istanza specificata viene distrutta. 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 vengono conteggiati dai riferimenti, non è in genere necessario per un driver minifilter chiamare una routine come FltDeleteTransactionContext per eliminare in modo esplicito un contesto.

Un driver minifilter chiama FltDeleteTransactionContext per rimuovere un contesto da una transazione 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 recuperare un contesto di transazione, chiamare FltGetTransactionContext.

Per impostare un contesto di transazione, chiamare FltSetTransactionContext.

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

Vedi anche

FltAllocateContext

FltDeleteContext

FltCommitComplete

FltEnlistInTransaction

FltGetTransactionContext

FltPrepareComplete

FltPrepareComplete

FltReleaseContext

FltRollbackComplete

FltRollbackEnlistment

FltSetTransactionContext