[c/win32][vista] exemple d'utilisation des transactions.

Description

Yop à tous,

Voici un programme qui ne sert à rien en tant que tel, mais sont but est de montré comment créer et utiliser les transactions.

Qu'est ce qu'une transaction ? : C'est un objet kernel qui permet de régrouper plusieurs instructions et de valider leur actions uniquement lorsque l'on fait un commit. Elles sont gérées par l'infrastructure KTM (Kernel Transaction Management).

A quoi elles servent ? : A rendre les applications plus sécurisée, plus fiable. Imaginez (comme dans cet exemple) que vous avez codé un programme qui crée des clefs dans la bdr et que on le sais pour quel raison il survient une erreur , dans ce cas vous pouvez soit annuler ces actions ou revenir en arrière dans votre programme.

Remarque : Ce programme montre l'utilisation de transaction dans le cadre de la bdr, mais ce n'est pas le seul domaine de présence des transactions, elles sont aussi présentent dans les fichiers (CreateFileTransacted, DeleteFileTransacted , CopyFileTransacted , ... ) , ... .

Remarque bis : Toute les APIs concernant les transactions à cet adresse :
http://msdn.microsoft.com/en-us/library/aa366273(VS.85).aspx . Je pense que le code est assez clair et ne nécéssite pas plus amples précisions.

Programme : Si vous cliquez sur le bouton "Go", vous pouvez aller voir dans la bdr, et vous verez que les clefs n'ont pas encore été crées. Cliquez sur le bouton "Commit" ce qui valide la transaction et vous verez que ho magie! les clef ont été crées. Le bouton "Cancel" fait un Rollback complet de la transaction, en gros il l'annule. Si vous faite un commit après vous aurrez une erreur ;).

Source / Exemple :


// Voir le .zip

Conclusion :


Ce programme n'a pas d'utilité en soit. Ces juste pour montrer l'existence des transactions.

J'attend vos commentaires bon ou mauvais avec impatience ^^

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.