Partager via


Fonction NtPrepareEnlistment (wdm.h)

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

Syntaxe

__kernel_entry NTSYSCALLAPI NTSTATUS NtPrepareEnlistment(
  [in]           HANDLE         EnlistmentHandle,
  [in, optional] PLARGE_INTEGER TmVirtualClock
);

Paramètres

[in] EnlistmentHandle

Handle d’un objet d’inscription obtenu par un appel précédent à ZwCreateEnlistment ou ZwOpenEnlistment. L’objet doit représenter un 'inscription supérieure et le handle doit avoir ENLISTMENT_SUPERIOR_RIGHTS accès à l’objet.

[in, optional] TmVirtualClock

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

Valeur de retour

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

Retourner le code 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_OBJECT_TYPE_MISMATCH
Le handle spécifié n’est pas un handle pour un objet d’inscription.
STATUS_INVALID_HANDLE
Le handle d’objet n’est pas valide.
STATUS_ACCESS_DENIED
L’appelant n’a pas l’accès approprié à l’objet d’inscription.
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.
 

La routine peut retourner d’autres valeurs NTSTATUS .

Remarques

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

La routine ZwPrepareEnlistment entraîne l’envoi de notifications TRANSACTION_NOTIFY_PREPARE à tous les gestionnaires de ressources inscrits dans la transaction.

Les appelants de ZwPrepareEnlistment doivent s’inscrire pour recevoir des notifications TRANSACTION_NOTIFY_PREPARE_COMPLETE.

Pour plus d’informations sur ZwPrepareEnlistment, consultez Création d’un de gestionnaire de transactions supérieur et gestion des opérations de validation.

NtPrePrepareEnlistment et ZwPrePrepareEnlistment sont deux versions de la même routine Windows Native System Services.

Pour les appels à partir de pilotes en mode noyau, les versions NtXxx et ZwXxx d’une routine Windows Native System Services peuvent se comporter différemment de la façon dont elles gèrent et interprètent les paramètres d’entrée. Pour plus d’informations sur la relation entre les versions NtXxx et ZwXxx d’une routine, consultez Using Nt and Zw Versions of the Native System Services Routines.

Exigences

Exigence Valeur
client minimum pris en charge Disponible dans Windows Vista et versions ultérieures du système d’exploitation.
plateforme cible Universel
d’en-tête wdm.h (include Wdm.h, Ntifs.h)
bibliothèque NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL
règles de conformité DDI HwStorPortProhibitedDDIs, PowerIrpDDis

Voir aussi

TmPrepareEnlistment

à l’aide de versions Nt et Zw des routines natives des services système

ZwCreateEnlistment

ZwOpenEnlistment