Función ZwRollforwardTransactionManager (wdm.h)

La rutina ZwRollforwardTransactionManager inicia operaciones de recuperación para todas las transacciones en curso asignadas a un administrador de transacciones especificado.

Sintaxis

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

Parámetros

[in] TransactionManagerHandle

Identificador de un objeto de administrador de transacciones obtenido por una llamada anterior a ZwCreateTransactionManager o ZwOpenTransactionManager. El identificador debe tener TRANSACTIONMANAGER_RECOVER acceso al objeto .

[in, optional] TmVirtualClock

Puntero a un valor de reloj virtual. Este parámetro es opcional y puede ser NULL. Para obtener más información sobre este parámetro, vea la siguiente sección Comentarios.

Valor devuelto

ZwRollforwardTransactionManager devuelve STATUS_SUCCESS si la operación se realiza correctamente. De lo contrario, esta rutina podría devolver uno de los siguientes valores:

Código devuelto Descripción
STATUS_OBJECT_TYPE_MISMATCH
El identificador especificado no es un identificador para un objeto de administrador de transacciones.
STATUS_INVALID_HANDLE
Un identificador de objeto no es válido.
STATUS_ACCESS_DENIED
El autor de la llamada no tiene el acceso adecuado al objeto del administrador de transacciones.
STATUS_TM_VOLATILE
El objeto de administrador de transacciones especificado no tiene un archivo de registro, por lo que la recuperación no está disponible.
STATUS_UNSUCCESSFUL
El objeto de administrador de transacciones especificado está en un estado inesperado.
 

La rutina podría devolver otros valores NTSTATUS.

Comentarios

La rutina ZwRollforwardTransactionManager recupera toda la actividad registrada que KTM encuentra en el archivo de registro del administrador de transacciones, hasta el valor del reloj virtual que proporciona el parámetro TmVirtualClock .

El componente puede recorrer el archivo de registro de forma incremental llamando a ZwRollforwardTransactionManager de forma repetitiva y estableciendo el parámetro VirtualClock en un valor mayor antes de cada llamada.

Si el parámetro TmVirtualClock es NULL, llamar a ZwRollforwardTransactionManager equivale a llamar a ZwRecoverTransactionManager.

Para obtener más información sobre las operaciones de recuperación, consulte Control de operaciones de recuperación.

NtRollforwardTransactionManager y ZwRollforwardTransactionManager son dos versiones de la misma rutina de Windows Native System Services. La rutina NtRollforwardTransactionManager del kernel de Windows no es directamente accesible para los controladores en modo kernel. Sin embargo, los controladores en modo kernel pueden acceder a esta rutina indirectamente llamando a la rutina ZwRollforwardTransactionManager .

En el caso de las llamadas desde controladores en modo kernel, las versiones NtXxx y ZwXxx de una rutina de Windows Native System Services pueden comportarse de forma diferente en la forma en que controlan e interpretan los parámetros de entrada. Para obtener más información sobre la relación entre las versiones NtXxx y ZwXxx de una rutina, vea Using Nt and Zw Versions of the Native System Services Routines.

Requisitos

Requisito Value
Cliente mínimo compatible Disponible en Windows Vista y versiones posteriores de Windows.
Plataforma de destino Universal
Encabezado wdm.h (incluya Wdm.h, Ntddk.h, Ntifs.h)
Library NtosKrnl.lib
Archivo DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL
Reglas de cumplimiento de DDI HwStorPortProhibitedDIs(storport), PowerIrpDDis(wdm)

Consulte también

TmRecoverTransactionManager

Uso de las versiones Nt y Zw de las rutinas nativas de System Services

ZwCreateTransactionManager

ZwOpenTransactionManager

ZwRecoverTransactionManager