Partager via


FltDeleteTransactionContext, fonction (fltkernel.h)

La routine FltDeleteTransactionContext supprime un contexte d’une transaction donnée et marque le contexte de suppression.

Syntaxe

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

Paramètres

[in] Instance

Pointeur d’instance opaque pour l’appelant.

[in] Transaction

Pointeur de transaction opaque pour la transaction dont le contexte est supprimé.

[out, optional] OldContext

Pointeur vers une variable allouée par l’appelant qui reçoit l’adresse du contexte supprimé. Ce paramètre est facultatif et peut être NULL. Si OldContext n’est pas NULL et ne pointe pas vers NULL_CONTEXT, l’appelant est chargé d’appeler FltReleaseContext pour libérer ce contexte lorsqu’il n’est plus nécessaire.

Valeur de retour

FltDeleteTransactionContext retourne STATUS_SUCCESS ou une valeur NTSTATUS appropriée, par exemple :

Retourner le code Description
STATUS_FLT_DELETING_OBJECT Le d’instance spécifié est détruit. Il s’agit d’un code d’erreur.
STATUS_NOT_FOUND Aucun contexte correspondant n’a été trouvé. Il s’agit d’un code d’erreur.

Remarques

Pour plus d’informations sur les contextes, consultez À propos des contextes minifilter.

Étant donné que les contextes sont comptabilisés par référence, il n’est généralement pas nécessaire qu’un pilote minifilter appelle une routine telle que FltDeleteTransactionContext pour supprimer explicitement un contexte.

Un pilote minifilter appelle FltDeleteTransactionContext pour supprimer un contexte d’une transaction et marquer le contexte à supprimer. Le contexte est généralement libéré immédiatement, sauf s’il existe une référence en attente sur celui-ci (par exemple, parce que le contexte est toujours utilisé par un autre thread).

Pour allouer un nouveau contexte, appelez FltAllocateContext.

Pour récupérer un contexte de transaction, appelez FltGetTransactionContext.

Pour définir un contexte de transaction, appelez FltSetTransactionContext.

Exigences

Exigence Valeur
client minimum pris en charge Windows Vista et versions ultérieures
plateforme cible Universel
d’en-tête fltkernel.h (include Fltkernel.h)
bibliothèque FltMgr.lib
IRQL <= APC_LEVEL

Voir aussi

FltAllocateContext

fltDeleteContext

FltCommitComplete

FltEnlistInTransaction

FltGetTransactionContext

FltPrePrepareComplete

FltPrepareComplete

FltReleaseContext

FltRollbackComplete

FltRollbackEnlistment

FltSetTransactionContext