CreateTransaction, fonction (ktmw32.h)
Crée un objet de transaction.
Syntaxe
HANDLE CreateTransaction(
[in, optional] LPSECURITY_ATTRIBUTES lpTransactionAttributes,
[in, optional] LPGUID UOW,
[in, optional] DWORD CreateOptions,
[in, optional] DWORD IsolationLevel,
[in, optional] DWORD IsolationFlags,
[in, optional] DWORD Timeout,
[in, optional] LPWSTR Description
);
Paramètres
[in, optional] lpTransactionAttributes
Pointeur vers une structure SECURITY_ATTRIBUTES qui détermine si le handle retourné peut être hérité par les processus enfants. Si ce paramètre a la valeur NULL, le handle ne peut pas être hérité.
Le membre lpSecurityDescriptor de la structure spécifie un descripteur de sécurité pour le nouvel événement. Si lpTransactionAttributes a la valeur NULL, l’objet obtient un descripteur de sécurité par défaut. Les listes de contrôle d’accès (ACL) dans le descripteur de sécurité par défaut pour une transaction proviennent du jeton principal ou d’emprunt d’identité du créateur.
[in, optional] UOW
Réservé. Doit être égal à zéro (0).
[in, optional] CreateOptions
Toutes les instructions de transaction facultatives.
Valeur | Signification |
---|---|
|
La transaction ne peut pas être distribuée. |
[in, optional] IsolationLevel
Réservés au; spécifiez zéro (0).
[in, optional] IsolationFlags
Réservés au; spécifiez zéro (0).
[in, optional] Timeout
Intervalle de délai d’attente, en millisecondes. Si une valeur différente de zéro est spécifiée, la transaction est abandonnée lorsque l’intervalle s’écoule si elle n’a pas déjà atteint l’état préparé.
Spécifiez zéro (0) ou INFINITE pour fournir un délai d’attente infini.
[in, optional] Description
Description lisible par l’utilisateur de la transaction.
Valeur retournée
Si la fonction réussit, la valeur de retour est un handle pour la transaction.
Si la fonction échoue, la valeur de retour est INVALID_HANDLE_VALUE. Pour obtenir des informations détaillées sur l’erreur, appelez la fonction GetLastError.
La liste suivante identifie les codes d’erreur possibles :
Remarques
Utilisez la fonction CloseHandle pour fermer le handle de transaction. Si le dernier handle de transaction est fermé avant qu’un client appelle la fonction CommitTransaction avec le handle de transaction, KTM annule la transaction.
Si la transaction peut avoir besoin d’être promotable dans une transaction distribuée, vous devez accorder au DTC (Distributed Transaction Coordinator) des droits d’accès pour s’inscrire dans la transaction. Pour ce faire, le paramètre lpTransactionAttributes doit contenir une entrée de contrôle d’accès avec le SID du DTC (S-1-5-80-2818357584-3387065753-400039393942-3429278282-138088443) et le droit TRANSACTION_ENLIST. Pour plus d’informations, consultez Distributed Transaction Coordinator and Access Control Components.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows Vista |
Serveur minimal pris en charge | Windows Server 2008 |
Plateforme cible | Windows |
En-tête | ktmw32.h |
Bibliothèque | KtmW32.lib |
DLL | KtmW32.dll |
Voir aussi
Coordinateur de transactions distribuées