Partager via


Fonction TmPrepareEnlistment (wdm.h)

La routine TmPrepareEnlistment lance l’opération de préparation pour la transaction d’inscription spécifiée.

Syntaxe

NTSTATUS TmPrepareEnlistment(
  [in] PKENLISTMENT   Enlistment,
  [in] PLARGE_INTEGER TmVirtualClock
);

Paramètres

[in] Enlistment

Pointeur vers un objet d’inscription. Votre composant peut recevoir ce pointeur en tant qu’entrée dans une routine de rappel ResourceManagerNotification . Votre composant peut également appeler ObReferenceObjectByHandle et fournir le handle d’objet fourni par un appel précédent à ZwCreateEnlistment, TmCreateEnlistment ou ZwOpenEnlistment .

[in] TmVirtualClock

Pointeur vers une valeur d’horloge virtuelle. Ce paramètre est facultatif et peut être NULL.

Valeur retournée

TmPrepareEnlistment retourne STATUS_SUCCESS si l’opération réussit. Sinon, cette routine peut retourner l’une des valeurs suivantes :

Code de retour Description
STATUS_ENLISTMENT_NOT_SUPERIOR
L’appelant n’est pas un gestionnaire de transactions supérieur pour l’inscription.
STATUS_TRANSACTION_RESPONSE_NOT_ENLISTED
L’appelant ne s’est pas inscrit pour recevoir TRANSACTION_NOTIFY_PREPARE_COMPLETE notifications.
STATUS_TRANSACTION_REQUEST_NOT_VALID
La transaction de l’inscription n’est pas dans un état qui lui permet d’entrer dans la phase de préparation.
STATUS_ACCESS_DENIED
L’appelant n’a pas l’accès approprié à l’objet d’inscription.
 

La routine peut retourner d’autres valeurs NTSTATUS.

Remarques

La routine TmPrepareEnlistment est une version basée sur un pointeur de la routine ZwPrepareEnlistment .

Seuls les gestionnaires de transactions supérieurs peuvent appeler TmPrepareEnlistment.

Pour plus d’informations sur l’utilisation des routines TmXxx de KTM au lieu des routines ZwXxx , consultez Utilisation des routines TmXxx.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Disponible dans Windows Vista et les versions ultérieures du système d’exploitation.
Plateforme cible Universal
En-tête wdm.h (inclure Wdm.h, Ntddk.h, Ntifs.h)
Bibliothèque NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL

Voir aussi

ObReferenceObjectByHandle

ResourceManagerNotification

TmCreateEnlistment

ZwCreateEnlistment

ZwOpenEnlistment

ZwPrepareEnlistment