Partager via


PFLT_TRANSACTION_NOTIFICATION_CALLBACK fonction de rappel (fltkernel.h)

Un pilote minifilter peut inscrire une routine de type PFLT_TRANSACTION_NOTIFICATION_CALLBACK comme routine TransactionNotificationCallback.

Syntaxe

PFLT_TRANSACTION_NOTIFICATION_CALLBACK PfltTransactionNotificationCallback;

NTSTATUS PfltTransactionNotificationCallback(
  [in] PCFLT_RELATED_OBJECTS FltObjects,
  [in] PFLT_CONTEXT TransactionContext,
  [in] ULONG NotificationMask
)
{...}

Paramètres

[in] FltObjects

Pointeur vers une structure FLT_RELATED_OBJECTS qui contient des pointeurs opaques pour les objets liés à l’opération actuelle.

[in] TransactionContext

Pointeur vers le contexte de transaction du pilote minifilter.

[in] NotificationMask

Spécifie le type de notifications que le gestionnaire de filtres envoie au pilote minifilter, comme l’une des valeurs suivantes.

Valeur Signification
TRANSACTION_NOTIFY_COMMIT Cette notification est envoyée lorsque la transaction est validée.
TRANSACTION_NOTIFY_COMMIT_FINALIZE Pour Windows Vista SP1 et versions ultérieures, cette notification est envoyée lorsque la transaction est entièrement validée (autrement dit, lorsque tous les gestionnaires de ressources associés à la transaction, tels que TxF, ont validé).
TRANSACTION_NOTIFY_PREPARE Cette notification est envoyée lorsque la transaction entre dans la phase de préparation à la validation.
TRANSACTION_NOTIFY_PREPREPARE Cette notification est envoyée lorsque la transaction entre dans la phase de pré-préparation pour la validation.
TRANSACTION_NOTIFY_ROLLBACK Cette notification est envoyée lorsque la transaction est restaurée ou abandonnée.

Valeur de retour

La routine PFLT_TRANSACTION_NOTIFICATION_CALLBACK retourne l’une des valeurs NTSTATUS suivantes :

Retourner le code Description
STATUS_SUCCESS
Le renvoi de cette valeur d’état indique que le pilote minifilter est terminé avec la transaction. Il s’agit d’un code de réussite.
STATUS_PENDING
Le renvoi de cette valeur d’état indique que le pilote minifilter n’est pas encore terminé avec la transaction. Il s’agit d’un code de réussite.

Remarques

Lorsqu’un pilote minifilter s’inscrit lui-même en appelant FltRegisterFilter à partir de sa routine DriverEntry, il peut inscrire une routine de type PFLT_TRANSACTION_NOTIFICATION_CALLBACK comme routine de TransactionNotificationCallback du minifilter.

Pour inscrire la routine TransactionNotificationCallback, le pilote minifilter stocke l’adresse d’une routine de type PFLT_TRANSACTION_NOTIFICATION_CALLBACK dans le membre TransactionNotificationCallback de la structure FLT_REGISTRATION que le pilote minifilter transmet en tant que paramètre Registration de FltRegisterFilter.

Le gestionnaire de filtre appelle cette routine pour informer le pilote minifilter de l’état d’une transaction dans laquelle le pilote minifilter est inscrit.

Si le pilote minifilter retourne STATUS_PENDING de cette routine de rappel, il doit éventuellement appeler l’une des routines suivantes pour indiquer qu’elle a terminé le traitement de la notification :

FltCommitComplete

FltPrepareComplete

FltPrePrepareComplete

FltRollbackComplete

Exigences

Exigence Valeur
client minimum pris en charge La routine PFLT_TRANSACTION_NOTIFICATION_CALLBACK est disponible sur Windows Vista et versions ultérieures.
plateforme cible Bureau
d’en-tête fltkernel.h (include Fltkernel.h)
IRQL PASSIVE_LEVEL

Voir aussi

FLT_REGISTRATION

FLT_RELATED_OBJECTS

FltCommitComplete

FltPrePrepareComplete

FltPrepareComplete

FltRegisterFilter

FltRollbackComplete