Objetos do Gerenciador de Transações
A main finalidade do objeto do gerenciador de transações é criar e manter um fluxo de log CLFS (Common Log File System) que o KTM usa para registrar status informações sobre transações.
O objeto do gerenciador de transações também contém um valor de relógio virtual que o KTM mantém e usa para sequenciar informações no fluxo de log do objeto.
O KTM fornece um conjunto de rotinas de objeto do gerenciador de transações que os componentes TPS 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.
A KTM cria um objeto do gerenciador de transações quando um gerenciador de recursos chama ZwCreateTransactionManager. Normalmente, cada gerenciador de recursos em um TPS cria um objeto do gerenciador de transações. Mas você também pode criar um TPS no qual vários gerenciadores de recursos compartilham um único objeto do gerenciador de transações.
Os componentes TPS podem abrir identificadores adicionais para um objeto do gerenciador de transações existente chamando ZwOpenTransactionManager. Por exemplo, se o TPS tiver vários gerenciadores de recursos que compartilham um único objeto do gerenciador de transações, um gerenciador de recursos chamará ZwCreateTransactionManager e, em seguida, passará o GUID do objeto para os outros gerenciadores de recursos para que eles possam chamar ZwOpenTransactionManager.
Os gerenciadores de recursos fecham seus identificadores para objetos do gerenciador de transações chamando ZwClose.
O sistema operacional exclui o objeto depois que o último identificador é fechado e a KTM libera todas as suas referências ao objeto.