Fonction NtRollforwardTransactionManager (wdm.h)
La routine ZwRollforwardTransactionManager lance des opérations de récupération pour toutes les transactions en cours qui sont attribuées à un gestionnaire de transactions spécifié.
Syntaxe
__kernel_entry NTSYSCALLAPI NTSTATUS NtRollforwardTransactionManager(
[in] HANDLE TransactionManagerHandle,
[in, optional] PLARGE_INTEGER TmVirtualClock
);
Paramètres
[in] TransactionManagerHandle
Handle d’un objet de gestionnaire de transactions obtenu par un appel précédent à ZwCreateTransactionManager ou ZwOpenTransactionManager. Le handle doit avoir TRANSACTIONMANAGER_RECOVER accès à l’objet.
[in, optional] TmVirtualClock
Pointeur vers une valeur d’horloge virtuelle. Ce paramètre est facultatif et peut être NULL. Pour plus d’informations sur ce paramètre, consultez la section Remarques suivante.
Valeur retournée
ZwRollforwardTransactionManager 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 de gestionnaire de transactions. |
|
Un handle d’objet n’est pas valide. |
|
L’appelant n’a pas l’accès approprié à l’objet gestionnaire de transactions. |
|
L’objet gestionnaire de transactions spécifié n’a pas de fichier journal. La récupération n’est donc pas disponible. |
|
L’objet gestionnaire de transactions spécifié est dans un état inattendu. |
La routine peut retourner d’autres valeurs NTSTATUS.
Remarques
La routine ZwRollforwardTransactionManager récupère toutes les activités journalisées que KTM trouve dans le fichier journal du gestionnaire de transactions, jusqu’à et y compris la valeur d’horloge virtuelle que le paramètre TmVirtualClock fournit.
Votre composant peut parcourir le fichier journal de manière incrémentielle en appelant ZwRollforwardTransactionManager de façon répétitive et en définissant le paramètre VirtualClock sur une valeur plus élevée avant chaque appel.
Si le paramètre TmVirtualClock a la valeur NULL, appeler ZwRollforwardTransactionManager équivaut à appeler ZwRecoverTransactionManager.
Pour plus d’informations sur les opérations de récupération, consultez Gestion des opérations de récupération.
NtRollforwardTransactionManager et ZwRollforwardTransactionManager sont deux versions de la même routine Windows Native System Services. La routine NtRollforwardTransactionManager dans le noyau Windows n’est pas directement accessible aux pilotes en mode noyau. Toutefois, les pilotes en mode noyau peuvent accéder indirectement à cette routine en appelant la routine ZwRollforwardTransactionManager .
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 plus récentes de Windows. |
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