Objets transactionnels

Les objets transactionnels représentent les transactions. Un client transactionnel crée une transaction, effectue un travail et valide ou restaure la transaction.

KTM fournit un ensemble de routines d’objets de transaction que les clients transactionnels en mode noyau peuvent appeler. KTM fournit également un ensemble similaire de routines en mode utilisateur que les applications en mode utilisateur peuvent appeler. Pour plus d’informations sur les routines en mode utilisateur, consultez les Microsoft Windows SDK.

KTM crée un objet de transaction lorsqu’un client appelle ZwCreateTransaction. Le client peut appeler ZwCommitTransaction ou ZwRollbackTransaction pour valider ou restaurer la transaction.

Les composants TPS peuvent appeler ZwOpenTransaction pour ouvrir des handles supplémentaires à un objet de transaction.

Les clients ferment leurs handles aux objets de transaction en appelant ZwClose. Si le dernier handle est fermé avant la validation de l’objet de transaction, KTM envoie TRANSACTION_NOTIFY_ROLLBACK notifications à tous les gestionnaires de ressources qui ont une inscription pour la transaction.

Le système d’exploitation supprime l’objet une fois que le dernier handle est fermé et que KTM a libéré toutes ses références à l’objet.