Oggetti di integrazione

Un oggetto di integrazione rappresenta l'integrazione di un gestore risorse in una transazione. Prima che un gestore di risorse possa ricevere notifiche sugli eventi di una transazione, il gestore delle risorse deve chiamare ZwCreateEnlistment per creare un'integrazione alla transazione.

KTM fornisce un set di routine dell'oggetto di integrazione che i gestori di risorse in modalità kernel possono chiamare. KTM fornisce anche un set simile di routine in modalità utente che le applicazioni in modalità utente possono chiamare. Per altre informazioni sulle routine in modalità utente, vedere la Microsoft Windows SDK.

KTM crea un oggetto di integrazione quando un gestore risorse chiama ZwCreateEnlistment per l'integrazione in una transazione ricevuta dal gestore risorse (in genere da un client transazionale).

I componenti TPS possono chiamare ZwOpenEnlistment per aprire handle aggiuntivi a un oggetto di integrazione. Ma la maggior parte delle progettazioni TPS non richiede handle aperti aggiuntivi.

I responsabili delle risorse chiudono gli handle per integrare gli oggetti chiamando ZwClose. Se l'ultimo handle viene chiuso prima del commit dell'oggetto transazione associato, KTM invia TRANSACTION_NOTIFY_ROLLBACK notifiche a tutti i gestori di risorse che dispongono di un'integrazione per la transazione.

Il sistema operativo elimina l'oggetto dopo la chiusura dell'ultimo handle e KTM ha rilasciato tutti i relativi riferimenti all'oggetto.