Compartilhar via


Função ZwRollforwardTransactionManager (wdm.h)

A rotina ZwRollforwardTransactionManager inicia operações de recuperação para todas as transações em andamento atribuídas a um gerenciador de transações especificado.

Sintaxe

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

Parâmetros

[in] TransactionManagerHandle

Um identificador para um objeto do gerenciador de transações que foi obtido por uma chamada anterior para ZwCreateTransactionManager ou ZwOpenTransactionManager. O identificador deve ter TRANSACTIONMANAGER_RECOVER acesso ao objeto .

[in, optional] TmVirtualClock

Um ponteiro para um valor de relógio virtual. Esse parâmetro é opcional e pode ser NULL. Para obter mais informações sobre esse parâmetro, consulte a seção Comentários a seguir.

Retornar valor

ZwRollforwardTransactionManager retornará STATUS_SUCCESS se a operação for bem-sucedida. Caso contrário, essa rotina pode retornar um dos seguintes valores:

Código de retorno Descrição
STATUS_OBJECT_TYPE_MISMATCH
O identificador especificado não é um identificador para um objeto do gerenciador de transações.
STATUS_INVALID_HANDLE
Um identificador de objeto é inválido.
STATUS_ACCESS_DENIED
O chamador não tem acesso apropriado ao objeto do gerenciador de transações.
STATUS_TM_VOLATILE
O objeto do gerenciador de transações especificado não tem um arquivo de log, portanto, a recuperação não está disponível.
STATUS_UNSUCCESSFUL
O objeto do gerenciador de transações especificado está em um estado inesperado.
 

A rotina pode retornar outros valores NTSTATUS.

Comentários

A rotina ZwRollforwardTransactionManager recupera todas as atividades registradas que o KTM encontra no arquivo de log do gerenciador de transações, até e incluindo o valor do relógio virtual fornecido pelo parâmetro TmVirtualClock .

Seu componente pode percorrer o arquivo de log incrementalmente chamando ZwRollforwardTransactionManager repetidamente e definindo o parâmetro VirtualClock como um valor mais alto antes de cada chamada.

Se o parâmetro TmVirtualClock for NULL, chamar ZwRollforwardTransactionManager será equivalente a chamar ZwRecoverTransactionManager.

Para obter mais informações sobre operações de recuperação, consulte Manipulando operações de recuperação.

NtRollforwardTransactionManager e ZwRollforwardTransactionManager são duas versões da mesma rotina do Windows Native System Services. A rotina NtRollforwardTransactionManager no kernel do Windows não está diretamente acessível para drivers no modo kernel. No entanto, os drivers no modo kernel podem acessar essa rotina indiretamente chamando a rotina ZwRollforwardTransactionManager .

Para chamadas de drivers de modo kernel, as versões NtXxx e ZwXxx de uma rotina do Windows Native System Services podem se comportar de forma diferente na maneira como lidam e interpretam parâmetros de entrada. Para obter mais informações sobre a relação entre as versões NtXxx e ZwXxx de uma rotina, consulte Using Nt and Zw Versions of the Native System Services Routines.

Requisitos

Requisito Valor
Cliente mínimo com suporte Disponível no Windows Vista e versões posteriores do Windows.
Plataforma de Destino Universal
Cabeçalho wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
Biblioteca NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL
Regras de conformidade da DDI HwStorPortProhibitedDDIs(storport), PowerIrpDDis(wdm)

Confira também

TmRecoverTransactionManager

Usando versões Nt e Zw das rotinas de serviços do sistema nativo

ZwCreateTransactionManager

ZwOpenTransactionManager

ZwRecoverTransactionManager