Objetos de transação

Objetos de transação representam transações. Um cliente transacional cria uma transação, executa algum trabalho e confirma ou reverte a transação.

O KTM fornece um conjunto de rotinas de objeto de transação que os clientes transacionais no modo kernel podem chamar. A KTM também fornece um conjunto semelhante de rotinas de modo de usuário que os aplicativos do modo de usuário podem chamar. Para obter mais informações sobre as rotinas do modo de usuário, consulte o SDK do Microsoft Windows.

KTM cria um objeto de transação quando um cliente chama ZwCreateTransaction. O cliente pode chamar ZwCommitTransaction ou ZwRollbackTransaction para confirmar ou reverter a transação.

Os componentes TPS podem chamar ZwOpenTransaction para abrir identificadores adicionais para um objeto de transação.

Os clientes fecham seus identificadores para objetos de transação chamando ZwClose. Se o último identificador for fechado antes que o objeto de transação tenha sido confirmado, a KTM enviará TRANSACTION_NOTIFY_ROLLBACK notificações a todos os gerenciadores de recursos que têm uma inscrição para a transação.

O sistema operacional exclui o objeto depois que o último identificador é fechado e a KTM libera todas as suas referências ao objeto.