Partager via


Fonction NtCommitEnlistment (wdm.h)

La routine ZwCommitEnlistment lance l’opération de validation pour la transaction d’inscription spécifiée.

Syntaxe

__kernel_entry NTSYSCALLAPI NTSTATUS NtCommitEnlistment(
  [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 une 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 retournée

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

Code de retour Description
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_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_COMMIT_COMPLETE notifications.
STATUS_TRANSACTION_REQUEST_NOT_VALID
La transaction de l’inscription n’est pas dans un état qui lui permet d’être validée.
STATUS_TRANSACTION_NOT_ACTIVE
L’opération de validation de cette transaction a déjà été démarrée.
STATUS_TRANSACTION_ALREADY_ABORTED
La transaction ne peut pas être validée, car elle a été restaurée.
 

La routine peut retourner d’autres valeurs NTSTATUS.

Remarques

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

Les appelants de ZwCommitEnlistment doivent s’inscrire pour recevoir TRANSACTION_NOTIFY_COMMIT_COMPLETE notifications.

La routine ZwCommitEnlistment oblige KTM à envoyer des notifications TRANSACTION_NOTIFY_COMMIT à tous les gestionnaires de ressources qui se sont inscrits dans la transaction.

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

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 dans 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 Utilisation des versions Nt et Zw des routines des services système natifs.

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, Ntifs.h)
Bibliothèque NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL
Règles de conformité DDI HwStorPortProhibitedDDIs, PowerIrpDDis

Voir aussi

TmCommitEnlistment

Utilisation des versions Nt et Zw des routines natives des services système natifs

ZwCreateEnlistment

ZwOpenEnlistment