FltRollbackComplete, fonction (fltkernel.h)
La routine FltRollbackComplete reconnaît une notification TRANSACTION_NOTIFY_ROLLBACK.
Syntaxe
NTSTATUS FLTAPI FltRollbackComplete(
[in] PFLT_INSTANCE Instance,
[in] PKTRANSACTION Transaction,
[in, optional] PFLT_CONTEXT TransactionContext
);
Paramètres
[in] Instance
Pointeur d’instance opaque pour l’appelant.
[in] Transaction
Pointeur de transaction opaque pour la transaction.
[in, optional] TransactionContext
Pointeur vers le contexte de transaction du pilote minifilter.
Valeur de retour
FltRollbackComplete retourne STATUS_SUCCESS ou une valeur NTSTATUS appropriée, par exemple :
Retourner le code | Description |
---|---|
|
Le pilote minifilter n’a pas défini de contexte sur la transaction. Il s’agit d’un code d’erreur. |
Remarques
Un pilote minifilter inscrit dans une transaction peut recevoir une notification TRANSACTION_NOTIFY_ROLLBACK lorsque la transaction est en cours de restauration ou d’abandon. Pour envoyer la notification au pilote minifilter, le gestionnaire de filtre appelle le transactionNotificationCallback du pilote minifilter routine. Le pilote minifilter reconnaît cette notification de l’une des deux manières suivantes :
- La routine TransactionNotificationCallback du pilote minifilter effectue tout traitement nécessaire et retourne STATUS_SUCCESS. Dans ce cas, le pilote minifilter n’appelle pas FltRollbackComplete.
- Le pilote minifilter TransactionNotificationCallback la routine publie tout traitement nécessaire sur un thread de travail et retourne STATUS_PENDING. Après avoir effectué le traitement de façon asynchrone, la routine de travail du pilote minifilter doit appeler FltRollbackComplete pour indiquer qu’il a terminé ce traitement. Si la routine de travail du pilote minifilter n’appelle pas fltRollbackComplete, l’opération de restauration ou d’abandon des transactions ne peut pas être effectuée par le gestionnaire de transactions du noyau.
Pour vous inscrire dans une transaction, appelez FltEnlistInTransaction.
Pour allouer un nouveau contexte de transaction, appelez FltAllocateContext.
Pour récupérer un contexte de transaction, appelez FltGetTransactionContext.
Pour supprimer un contexte de transaction, appelez FltDeleteTransactionContext ou FltDeleteContext.
Pour définir un contexte de transaction, appelez FltSetTransactionContext.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Cette routine est disponible sur Windows Vista et versions ultérieures. |
plateforme cible | Universel |
d’en-tête | fltkernel.h (include Fltkernel.h) |
bibliothèque | Fltmgr.lib |
DLL | Fltmgr.sys |
IRQL | PASSIVE_LEVEL |