CreateEnlistment, fonction (ktmw32.h)

Crée une inscription, définit son état initial et ouvre un handle pour l’inscription avec l’accès spécifié.

Syntaxe

HANDLE CreateEnlistment(
  [in, optional] LPSECURITY_ATTRIBUTES lpEnlistmentAttributes,
  [in]           HANDLE                ResourceManagerHandle,
  [in]           HANDLE                TransactionHandle,
  [in]           NOTIFICATION_MASK     NotificationMask,
  [in, optional] DWORD                 CreateOptions,
  [in, optional] PVOID                 EnlistmentKey
);

Paramètres

[in, optional] lpEnlistmentAttributes

Pointeur vers une structure de SECURITY_ATTRIBUTES qui contient les attributs de sécurité du gestionnaire d’inscription. Spécifiez NULL pour obtenir les attributs par défaut.

[in] ResourceManagerHandle

Handle au gestionnaire de ressources (RM) à inscrire.

[in] TransactionHandle

Handle de la transaction dans laquelle le RM s’inscrit.

[in] NotificationMask

Notifications demandées par ce RM pour le paramètre TransactionHandle . Pour obtenir la liste des valeurs valides, consultez NOTIFICATION_MASK.

[in, optional] CreateOptions

Instructions d’inscription facultatives.

Valeur Signification
ENLISTMENT_SUPERIOR
1
Inscrivez-vous en tant que gestionnaire de transactions supérieur.

[in, optional] EnlistmentKey

Pointeur vers une structure définie par l’utilisateur utilisée par le RM qui est retourné lorsqu’une notification est envoyée dans la structure TRANSACTION_NOTIFICATION . Ceci est généralement utilisé pour associer une structure privée à cette transaction spécifique.

Valeur retournée

Si la fonction réussit, la valeur de retour est un handle de l’inscription.

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

Windows Vista : Toute tentative de s’inscrire pendant la phase de pré-préparation ou ultérieure échoue.

Si vous ne spécifiez pas dans votre masque de notification que vous acceptez une demande de validation monophase, KTM effectue toujours une opération de validation en deux phases.

Gardez à l’esprit les règles de notification suivantes lors de l’inscription dans des transactions :

  • Le RM doit toujours demander une notification de restauration.
  • Si les demandes RM préparent la notification, elles doivent également demander une notification de validation.
  • Si le RM demande une opération de validation monophase, il doit également spécifier les notifications de préparation et de validation.
  • La seule fois où un RM n’est pas nécessaire pour demander des notifications de validation est lorsqu’il demande au moins une paire de notifications de préparation et de restauration.

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

CommitComplete

CommitEnlistment

Fonctions du gestionnaire de transactions du noyau

NOTIFICATION_MASK

OpenEnlistment

TRANSACTION_NOTIFICATION