Fonction FltDeleteTransactionContext (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 de 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’a pas la valeur NULL et ne pointe pas vers NULL_CONTEXT, l’appelant est responsable d’appeler FltReleaseContext pour libérer ce contexte lorsqu’il n’est plus nécessaire.

Valeur retournée

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

Code de retour Description
STATUS_FLT_DELETING_OBJECT L’instance spécifiée est en cours de démolir. 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 de minifiltre.

Étant donné que les contextes sont comptabilisés en référence, il n’est généralement pas nécessaire pour un pilote de minifiltre d’appeler une routine telle que FltDeleteTransactionContext pour supprimer explicitement un contexte.

Un pilote de minifiltre appelle FltDeleteTransactionContext pour supprimer un contexte d’une transaction et marquer le contexte de suppression. Le contexte est généralement libéré immédiatement, sauf s’il y a une référence en suspens (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.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows Vista et versions ultérieures
Plateforme cible Universal
En-tête fltkernel.h (inclure Fltkernel.h)
Bibliothèque FltMgr.lib
IRQL <= APC_LEVEL

Voir aussi

FltAllocateContext

FltDeleteContext

FltCommitComplete

FltEnlistInTransaction

FltGetTransactionContext

FltPrePrepareComplete

FltPrepareComplete

FltReleaseContext

FltRollbackComplete

FltRollbackEnlistment

FltSetTransactionContext