Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Ein Enlistment-Objekt stellt die Auflistung eines Ressourcenmanagers für eine Transaktion dar. Bevor ein Ressourcenmanager Benachrichtigungen zu den Ereignissen einer Transaktion empfangen kann, muss der Ressourcenmanager ZwCreateEnlistment aufrufen, um eine Enlistung für die Transaktion zu erstellen.
KTM stellt eine Reihe von Enlistment-Objektroutinen bereit, die vom Kernelmodus-Ressourcenmanager aufgerufen werden können. KTM bietet auch einen ähnlichen Satz von Benutzermodusroutinen, die Benutzermodusanwendungen aufrufen können. Weitere Informationen zu den Benutzermodusroutinen finden Sie im Microsoft Windows SDK.
KTM erstellt ein Enlistment-Objekt, wenn ein Ressourcenmanager ZwCreateEnlistment aufruft, um in einer Transaktion einzulisten, die der Ressourcenmanager empfangen hat (in der Regel von einem Transaktionsclient).
TPS-Komponenten können ZwOpenEnlistment aufrufen, um zusätzliche Handles für ein Enlistment-Objekt zu öffnen. Die meisten TPS-Designs erfordern jedoch keine zusätzlichen offenen Griffe.
Ressourcenmanager schließen ihre Handles zum Auflisten von Objekten durch Aufrufen von ZwClose. Wenn das letzte Handle geschlossen wird, bevor das zugeordnete Transaktionsobjekt abgeschlossen wurde, sendet KTM TRANSACTION_NOTIFY_ROLLBACK-Benachrichtigungen an alle Ressourcenmanager, die über eine Einbindung für die Transaktion verfügen.
Das Betriebssystem löscht das Objekt, nachdem der letzte Handle geschlossen wurde, und KTM hat alle Verweise auf das Objekt freigegeben.