Partager via


CreateEnlistment, fonction (ktmw32.h)

Crée une inscription, définit son état initial et ouvre un handle à 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 SECURITY_ATTRIBUTES qui contient les attributs de sécurité pour le gestionnaire d’inscription. Spécifiez NULL pour obtenir les attributs par défaut.

[in] ResourceManagerHandle

Handle vers le gestionnaire de ressources (RM) à inscrire.

[in] TransactionHandle

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

[in] NotificationMask

Les notifications que ce RM demande pour le paramètre de TransactionHandle . Pour obtenir la liste des valeurs valides, consultez NOTIFICATION_MASK.

[in, optional] CreateOptions

Toutes les 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 rm qui est retournée lorsqu’une notification est envoyée dans la structure TRANSACTION_NOTIFICATION. Cette opération est généralement utilisée pour associer une structure privée à cette transaction spécifique.

Valeur de retour

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’erreur étendues, appelez la fonction GetLastError.

La liste suivante identifie les codes d’erreur possibles :

Remarques

Windows Vista : toute tentative d’inscription 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 en phase unique, 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 les transactions :

  • Le RM doit toujours demander une notification de restauration.
  • Si les demandes RM préparent la notification, elle doit également demander une notification de validation.
  • Si rm demande une opération de validation en phase unique, 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, c’est quand il demande au moins une paire de notifications de préparation et de restauration.

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

CommitComplete

CommitEnlistment

fonctions du gestionnaire de transactions du noyau

NOTIFICATION_MASK

OpenEnlistment

TRANSACTION_NOTIFICATION