Partager via


Objets Du gestionnaire de transactions

L’objectif main de l’objet de gestionnaire de transactions est de créer et de gérer un flux de journaux CLFS (Common Log File System) que KTM utilise pour enregistrer status informations sur les transactions.

L’objet gestionnaire de transactions contient également une valeur d’horloge virtuelle que KTM gère et utilise pour séquencer les informations dans le flux de journal de l’objet.

KTM fournit un ensemble de routines d’objets de gestionnaire de transactions que les composants TPS en mode noyau peuvent appeler. KTM fournit également un ensemble similaire de routines en mode utilisateur que les applications en mode utilisateur peuvent appeler. Pour plus d’informations sur les routines en mode utilisateur, consultez la Microsoft Windows SDK.

KTM crée un objet de gestionnaire de transactions lorsqu’un gestionnaire de ressources appelle ZwCreateTransactionManager. En règle générale, chaque gestionnaire de ressources dans un TPS crée un objet de gestionnaire de transactions. Mais vous pouvez également concevoir un TPS dans lequel plusieurs gestionnaires de ressources partagent un seul objet de gestionnaire de transactions.

Les composants TPS peuvent ouvrir des handles supplémentaires à un objet de gestionnaire de transactions existant en appelant ZwOpenTransactionManager. Par exemple, si votre TPS a plusieurs gestionnaires de ressources qui partagent un seul objet de gestionnaire de transactions, un gestionnaire de ressources appelle ZwCreateTransactionManager , puis transmet le GUID de l’objet aux autres gestionnaires de ressources afin qu’ils puissent appeler ZwOpenTransactionManager.

Les gestionnaires de ressources ferment leurs handles aux objets du gestionnaire de transactions en appelant ZwClose.

Le système d’exploitation supprime l’objet une fois le dernier handle fermé et KTM a libéré toutes ses références à l’objet.