Partager via


Fonction NtRecoverEnlistment (wdm.h)

La routine ZwRecoverEnlistment lance une opération de récupération pour la transaction associée à une inscription spécifiée.

Syntaxe

__kernel_entry NTSYSCALLAPI NTSTATUS NtRecoverEnlistment(
  [in]           HANDLE EnlistmentHandle,
  [in, optional] PVOID  EnlistmentKey
);

Paramètres

[in] EnlistmentHandle

Handle d’un objet d’inscription obtenu par un appel précédent à ZwCreateEnlistment ou ZwOpenEnlistment. Le handle doit avoir ENLISTMENT_RECOVER accès à l’objet.

[in, optional] EnlistmentKey

Pointeur vers la valeur de clé d’inscription que le gestionnaire de ressources a précédemment spécifié comme paramètre EnlistmentKey pour ZwCreateEnlistment. Ce paramètre est facultatif et peut être NULL si le gestionnaire de ressources n’a pas fourni de clé d’inscription lorsqu’il a appelé ZwCreateEnlistment.

Valeur de retour

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

Retourner le code 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_TRANSACTION_REQUEST_NOT_VALID
La transaction ou son inscription n’est pas dans l’état correct.
STATUS_PENDING
KTM a ajouté une notification de validation, de restauration ou de doute à la file d’attente de notification du gestionnaire de ressources et le gestionnaire de ressources n’utilise pas de routine de rappel ResourceManagerNotification.
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

Une fois qu’un gestionnaire de ressources appelle ZwRecoverEnlistment, KTM remet un TRANSACTION_NOTIFY_COMMIT, un TRANSACTION_NOTIFY_ROLLBACK ou TRANSACTION_NOTIFY_INDOUBT notification pour l’inscription. Par conséquent, sauf si le gestionnaire de ressources utilise une routine de rappel ResourceManagerNotification, il doit immédiatement appeler ZwGetNotificationResourceManager si ZwRecoverEnlistment retourne STATUS_SUCCESS ou STATUS_PENDING.

Pour plus d’informations sur ZwRecoverEnlistment, consultez Gestion des opérations de récupération.

NtRecoverEnlistment et ZwRecoverEnlistment 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, Ntddk.h, Ntifs.h)
bibliothèque NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL
règles de conformité DDI HwStorPortProhibitedDDIs, PowerIrpDDis

Voir aussi

ResourceManagerNotification

TmRecoverEnlistment

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

ZwCreateEnlistment

ZwGetNotificationResourceManager

ZwOpenEnlistment