Condividi tramite


Funzione NtRollforwardTransactionManager (wdm.h)

La routine ZwRollforwardTransactionManager avvia le operazioni di ripristino per tutte le transazioni in corso assegnate a un gestore transazioni specificato.

Sintassi

__kernel_entry NTSYSCALLAPI NTSTATUS NtRollforwardTransactionManager(
  [in]           HANDLE         TransactionManagerHandle,
  [in, optional] PLARGE_INTEGER TmVirtualClock
);

Parametri

[in] TransactionManagerHandle

Handle a un oggetto di gestione transazioni ottenuto da una chiamata precedente a ZwCreateTransactionManager o ZwOpenTransactionManager. L'handle deve avere TRANSACTIONMANAGER_RECOVER accesso all'oggetto.

[in, optional] TmVirtualClock

Puntatore a un valore di orologio virtuale. Questo parametro è facoltativo e può essere NULL. Per altre informazioni su questo parametro, vedere la sezione Osservazioni seguenti.

Valore restituito

ZwRollforwardTransactionManager restituisce STATUS_SUCCESS se l'operazione ha esito positivo. In caso contrario, questa routine potrebbe restituire uno dei valori seguenti:

Codice restituito Descrizione
STATUS_OBJECT_TYPE_MISMATCH
L'handle specificato non è un handle per un oggetto transaction manager.
STATUS_INVALID_HANDLE
Un handle oggetto non è valido.
STATUS_ACCESS_DENIED
Il chiamante non dispone dell'accesso appropriato all'oggetto gestione transazioni.
STATUS_TM_VOLATILE
L'oggetto gestione transazioni specificato non dispone di un file di log, pertanto il ripristino non è disponibile.
STATUS_UNSUCCESSFUL
L'oggetto gestione transazioni specificato è in uno stato imprevisto.
 

La routine potrebbe restituire altri valori NTSTATUS.

Commenti

La routine ZwRollforwardTransactionManager recupera tutte le attività registrate rilevate da KTM nel file di log di Gestione transazioni, fino al valore dell'orologio virtuale fornito dal parametro TmVirtualClock .

Il componente può attraversare il file di log in modo incrementale chiamando ZwRollforwardTransactionManager in modo ripetitivo e impostando il parametro VirtualClock su un valore superiore prima di ogni chiamata.

Se il parametro TmVirtualClock è NULL, la chiamata di ZwRollforwardTransactionManager equivale a chiamare ZwRecoverTransactionManager.

Per altre informazioni sulle operazioni di ripristino, vedere Gestione delle operazioni di ripristino.

NtRollforwardTransactionManager e ZwRollforwardTransactionManager sono due versioni della stessa routine di Windows Native System Services. La routine NtRollforwardTransactionManager nel kernel di Windows non è accessibile direttamente ai driver in modalità kernel. Tuttavia, i driver in modalità kernel possono accedere a questa routine indirettamente chiamando la routine ZwRollforwardTransactionManager .

Per le chiamate dai driver in modalità kernel, le versioni NtXxx e ZwXxx di una routine di Windows Native System Services possono comportarsi in modo diverso nel modo in cui gestiscono e interpretano i parametri di input. Per altre informazioni sulla relazione tra le versioni NtXxx e ZwXxx di una routine, vedere Uso di nt e zw versioni delle routine di Servizi di sistema nativo.

Requisiti

Requisito Valore
Client minimo supportato Disponibile in Windows Vista e versioni successive di Windows.
Piattaforma di destinazione Universale
Intestazione wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
Libreria NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL
Regole di conformità DDI HwStorPortProhibitedDDIs, PowerIrpDDis

Vedi anche

TmRecoverTransactionManager

Uso di nt e zw versioni delle routine di Servizi di sistema nativo

ZwCreateTransactionManager

ZwOpenTransactionManager

ZwRecoverTransactionManager