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 la clé d’inscription que le gestionnaire de ressources a précédemment spécifiée en tant que paramètre EnlistmentKey vers 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 retournée
ZwRecoverEnlistment retourne STATUS_SUCCESS si l’opération réussit. Sinon, cette routine peut retourner l’une des valeurs suivantes :
Code de retour | Description |
---|---|
|
Le handle spécifié n’est pas un handle pour un objet d’inscription. |
|
Le handle d’objet n’est pas valide. |
|
La transaction ou son inscription n’est pas dans l’état correct. |
|
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 . |
|
L’appelant n’a pas l’accès approprié à l’objet d’inscription. |
La routine peut retourner d’autres valeurs NTSTATUS.
Remarques
Après qu’un gestionnaire de ressources a appelé ZwRecoverEnlistment, KTM remet une notification TRANSACTION_NOTIFY_COMMIT, TRANSACTION_NOTIFY_ROLLBACK ou TRANSACTION_NOTIFY_INDOUBT pour l’inscription. Par conséquent, à moins que 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 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, Ntddk.h, Ntifs.h) |
Bibliothèque | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |
Règles de conformité DDI | HwStorPortProhibitedDDIs, PowerIrpDDis |
Voir aussi
Utilisation des versions Nt et Zw des routines natives des services système natifs