PFLT_TRANSACTION_NOTIFICATION_CALLBACK fonction de rappel (fltkernel.h)
Un pilote minifilter peut inscrire une routine de type PFLT_TRANSACTION_NOTIFICATION_CALLBACK en tant que 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 en cours.
[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 en cours de validation. |
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 (c’est-à-dire lorsque tous les gestionnaires de ressources associés à la transaction, tels que TxF, l’ont validée). |
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éparation préalable à la validation. |
TRANSACTION_NOTIFY_ROLLBACK | Cette notification est envoyée lorsque la transaction est restaurée ou abandonnée. |
Valeur retournée
La routine PFLT_TRANSACTION_NOTIFICATION_CALLBACK retourne l’une des valeurs NTSTATUS suivantes :
Code de retour | Description |
---|---|
|
Le renvoi de cette valeur status indique que le pilote minifilter a terminé la transaction. Il s’agit d’un code de réussite. |
|
Le renvoi de cette valeur status 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 en tant que routine 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 comme paramètre Registration de FltRegisterFilter.
Le gestionnaire de filtres appelle cette routine pour informer le pilote minifilter de la status d’une transaction dans laquelle le pilote minifilter est inscrit.
Si le pilote minifilter retourne STATUS_PENDING de cette routine de rappel, il doit appeler l’une des routines suivantes pour indiquer qu’il a terminé de traiter la notification :
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | La routine PFLT_TRANSACTION_NOTIFICATION_CALLBACK est disponible sur Windows Vista et versions ultérieures. |
Plateforme cible | Desktop (Expérience utilisateur) |
En-tête | fltkernel.h (inclure Fltkernel.h) |
IRQL | PASSIVE_LEVEL |