Partager via


Fonction NtPrePrepareEnlistment (wdm.h)

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

Syntaxe

__kernel_entry NTSYSCALLAPI NTSTATUS NtPrePrepareEnlistment(
  [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

ZwPrePrepareEnlistment 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_PREPREPARE_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 ZwPrePrepareEnlistment.

Les appelants de ZwPrePrepareEnlistment doivent s’inscrire pour recevoir des notifications TRANSACTION_NOTIFY_PREPREPARE_COMPLETE.

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

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

NtPrepareEnlistment et ZwPrepareEnlistment 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

TmPrePrepareEnlistment

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

ZwCreateEnlistment

ZwOpenEnlistment