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 est NULL, le handle ne peut pas être hérité.
Le lpSecurityDescriptor membre de la structure spécifie un descripteur de sécurité pour le nouvel événement. Si lpTransactionAttributes est 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é; spécifiez zéro (0).
[in, optional] IsolationFlags
Réservé; 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 s’il 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 de retour
Si la fonction réussit, la valeur de retour est un handle de la transaction.
Si la fonction échoue, la valeur de retour est INVALID_HANDLE_VALUE. Pour obtenir des informations d’erreur étendues, 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 restaure la transaction.
Si la transaction peut avoir besoin d’être promotable à une transaction distribuée, vous devez accorder aux droits d’accès DTC (Distributed Transaction Coordinator) 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 de DTC (S-1-5-80-28183575)84-3387065753-4000393942-342927828-13808443) et le TRANSACTION_ENLIST droit. Pour plus d’informations, consultez Distributed Transaction Coordinator et Access Control Components.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Windows Vista |
serveur minimum pris en charge | Windows Server 2008 |
plateforme cible | Windows |
d’en-tête | ktmw32.h |
bibliothèque | KtmW32.lib |
DLL | KtmW32.dll |
Voir aussi
coordinateur de transactions distribuées