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 |
---|---|
|
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. |
|
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 :
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 |