Partager via


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
TRANSACTION_DO_NOT_PROMOTE
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

commitTransaction

coordinateur de transactions distribuées

fonctions du gestionnaire de transactions du noyau

rollbackTransaction

SECURITY_ATTRIBUTES

SetTransactionInformation