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
[in, optional] CreateOptions
Toutes les instructions d’inscription facultatives.
Valeur | Signification |
---|---|
|
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 |