NtRollforwardTransactionManager-Funktion (wdm.h)
Die ZwRollforwardTransactionManager-Routine initiiert Wiederherstellungsvorgänge für alle laufenden Transaktionen, die einem angegebenen Transaktions-Manager zugewiesen sind.
Syntax
__kernel_entry NTSYSCALLAPI NTSTATUS NtRollforwardTransactionManager(
[in] HANDLE TransactionManagerHandle,
[in, optional] PLARGE_INTEGER TmVirtualClock
);
Parameter
[in] TransactionManagerHandle
Ein Handle für ein Transaktions-Manager-Objekt , das durch einen vorherigen Aufruf von ZwCreateTransactionManager oder ZwOpenTransactionManager abgerufen wurde. Das Handle muss TRANSACTIONMANAGER_RECOVER Zugriff auf das Objekt haben.
[in, optional] TmVirtualClock
Ein Zeiger auf einen wert der virtuellen Uhr. Dieser Parameter ist optional und kann NULL sein. Weitere Informationen zu diesem Parameter finden Sie im abschnitt Hinweise.
Rückgabewert
ZwRollforwardTransactionManager gibt STATUS_SUCCESS zurück, wenn der Vorgang erfolgreich ist. Andernfalls gibt diese Routine möglicherweise einen der folgenden Werte zurück:
Rückgabecode | Beschreibung |
---|---|
|
Das angegebene Handle ist kein Handle für ein Transaktions-Manager-Objekt. |
|
Ein Objekthandle ist ungültig. |
|
Der Aufrufer hat keinen entsprechenden Zugriff auf das Transaktions-Manager-Objekt. |
|
Das angegebene Transaktions-Manager-Objekt verfügt nicht über eine Protokolldatei, sodass die Wiederherstellung nicht verfügbar ist. |
|
Das angegebene Transaktions-Manager-Objekt befindet sich in einem unerwarteten Zustand. |
Die Routine gibt möglicherweise andere NTSTATUS-Werte zurück.
Hinweise
Mit der ZwRollforwardTransactionManager-Routine werden alle protokollierten Aktivitäten wiederhergestellt, die KTM in der Protokolldatei des Transaktions-Managers findet, bis hin zum virtuellen Taktwert, den der TmVirtualClock-Parameter bereitstellt.
Ihre Komponente kann die Protokolldatei inkrementell durchlaufen, indem Sie ZwRollforwardTransactionManager wiederholt aufruft und den VirtualClock-Parameter vor jedem Aufruf auf einen höheren Wert festlegt.
Wenn der TmVirtualClock-ParameterNULL ist, entspricht das Aufrufen von ZwRollforwardTransactionManager dem Aufrufen von ZwRecoverTransactionManager.
Weitere Informationen zu Wiederherstellungsvorgängen finden Sie unter Behandeln von Wiederherstellungsvorgängen.
NtRollforwardTransactionManager und ZwRollforwardTransactionManager sind zwei Versionen derselben Windows Native System Services-Routine. Die NtRollforwardTransactionManager-Routine im Windows-Kernel ist für Kernelmodustreiber nicht direkt zugänglich. Kernelmodustreiber können jedoch indirekt auf diese Routine zugreifen, indem sie die ZwRollforwardTransactionManager-Routine aufrufen.
Bei Aufrufen von Kernelmodustreibern können sich die NtXxx - und ZwXxx-Versionen einer Windows Native System Services-Routine anders verhalten, da sie Eingabeparameter verarbeiten und interpretieren. Weitere Informationen zur Beziehung zwischen den Nt Xxx- und ZwXxx-Versionen einer Routine finden Sie unter Verwenden von Nt- und Zw-Versionen der Systemdienstroutinen.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Verfügbar in Windows Vista und späteren Windows-Versionen. |
Zielplattform | Universell |
Header | wdm.h (einschließlich Wdm.h, Ntddk.h, Ntifs.h) |
Bibliothek | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |
DDI-Complianceregeln | HwStorPortProhibitedDIs, PowerIrpDDis |