Freigeben über


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
STATUS_OBJECT_TYPE_MISMATCH
Das angegebene Handle ist kein Handle für ein Transaktions-Manager-Objekt.
STATUS_INVALID_HANDLE
Ein Objekthandle ist ungültig.
STATUS_ACCESS_DENIED
Der Aufrufer hat keinen entsprechenden Zugriff auf das Transaktions-Manager-Objekt.
STATUS_TM_VOLATILE
Das angegebene Transaktions-Manager-Objekt verfügt nicht über eine Protokolldatei, sodass die Wiederherstellung nicht verfügbar ist.
STATUS_UNSUCCESSFUL
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

Weitere Informationen

TmRecoverTransactionManager

Verwenden von Nt- und Zw-Versionen der Systemdienstroutinen

ZwCreateTransactionManager

ZwOpenTransactionManager

ZwRecoverTransactionManager