Transaktionsobjekte
Transaktionsobjekte stellen Transaktionen dar. Ein Transaktionsclient erstellt eine Transaktion, führt einige Arbeit aus, und der committ die Transaktion oder führt ein Rollback aus.
KTM bietet eine Reihe von Transaktionsobjektroutinen, die Kernelmodus-Transaktionsclients aufrufen können. KTM bietet auch eine ähnliche Reihe von Benutzermodusroutinen, die Benutzermodusanwendungen aufrufen können. Weitere Informationen zu den Benutzermodusroutinen finden Sie im Microsoft Windows SDK.
KTM erstellt ein Transaktionsobjekt, wenn ein Client ZwCreateTransaction aufruft. Der Client kann entweder ZwCommitTransaction oder ZwRollbackTransaction aufrufen, um die Transaktion zu committen oder ein Rollback auszuführen.
TPS-Komponenten können ZwOpenTransaction aufrufen, um zusätzliche Handles für ein Transaktionsobjekt zu öffnen.
Clients schließen ihre Handles für Transaktionsobjekte, indem sie ZwClose aufrufen. Wenn das letzte Handle geschlossen wird, bevor das Transaktionsobjekt committet wurde, sendet KTM TRANSACTION_NOTIFY_ROLLBACK Benachrichtigungen an alle Ressourcenmanager, die über eine Registrierung für die Transaktion verfügen.
Das Betriebssystem löscht das Objekt, nachdem das letzte Handle geschlossen wurde und KTM alle Verweise auf das Objekt freigegeben hat.